Jim Rigsbee
2020-02-26 a88031495958d4341fb4782e2ba8ababc7303e2f
README.adoc
@@ -1,46 +1,66 @@
== Overview
Ansible Agnostic Deployer, AKA *AAD*, AKA *AgnosticD*, is a 2 Phase deployer for building and deploying everything from basic infrastructure to fully configured running application environments running on public Cloud Providers or OpenShift clusters.
Ansible Agnostic Deployer, AKA *AAD*, AKA *AgnosticD*, is a fully automated 2
 Phase deployer for building and deploying everything from basic infrastructure
  to fully configured running application environments running on either public
   Cloud Providers or OpenShift clusters.
*AgnosticD* fully automates these deployments from simple basic infrastructures, aka _"a bunch of VMs"*_ through to fully configured deployemnts of complex applications, OpenShift, Ansible Tower and others.
*AgnosticD* is not an OpenShift Deployer, it is however also a deployer that just happens to be used to deploy a lot of OpenShift, amongst other things.
*AgnosticD* is not an OpenShift Deployer, though it can and does that, it is
 however also a deployer that just happens to be used to deploy a lot of
  OpenShift and OpenShift workloads, amongst other things.
=== Deploy your first "Config"
=== Make your first Deployment
There are many link:./ansible/configs[configs] you can choose from, here are two that you can start with and modify to fit your needs:
Check out this link:https://www.youtube.com/watch?v=lfHYwXJhKB0[Video Introduction to deploying with Ansible AgnosticD]!
If you need a relatively simple environment, which deploys by default just a bunch of Linux hosts ready to be configureds, have a look at: link:./ansible/configs/three-tier-app/README.adoc[Three Tier App]
Get started and use agnosticd to deploy on OpenStack with  link:docs/First_OSP_Env_walkthrough.adoc[First OSP Environment Walkthrough].
If a fully installed OpenShift Cluster is what you are looking for then take a look at link:./ansible/configs/ocp-workshop/README.adoc[OCP Workshop]
There are many link:./ansible/configs[configs] you can choose from, here are three
 that you can start with and modify to fit your needs:
Another option, is deployment of software workloads on an exiting OpenShift, have look at link./link to 3scale workload.
If a fully installed OpenShift Cluster is what you are looking for then take a look at link:./ansible/configs/ocp-workshop/README.adoc[OCP Workshop]
* link:./ansible/configs/just-some-nodes-eample/[Just some nodes] - Simple, multi-cloud.
=== How does AgnosticD Deploy
* link:./ansible/configs/three-tier-app/README.adoc[Three Tier App] - Relatively
 simple environment, which deploys by default just a bunch of Linux hosts ready
  to be configured.
Each _config_ contains 5 playbooks, and supporting files, offering their authors hooks to enable everything from a very simple bare operating system deploy to a fully configured application deploylment.
* link:./ansible/configs/ocp4-workshop/README.adoc[OCP4 Workshop] - If a fully
 installed OpenShift Cluster is what you are looking for then take a look here. There is link:ansible/configs/ocp4-cluster[one for OSP too].
* link:./ansible/roles/ocp-workload-3scale-multitenant/readme.adoc[OpenShift 3Scale
 Deployment] - Want to deploy a workload onto your existing OpenShift Cluster?
  or local instance running on your laptop?  3Scale is an example of one of
   around *30* OpenShift workloads ready to go.
=== How AgnosticD Deploys
* For OpenShift _Workloads_ *AgnosticD* executes an ansible *role* against an
 existing OpenShift cluster. Roles can be found link:./ansible/roles/[here] and
  begin `ocp-workload-*`.
* For _Configs_ each contain 5 deployment playbooks and supporting files executed
 in sequence and combined with a Cloud Provider to deploy basic infrastructure
  through to fully configured applications.
image::docs/images/agnosticd_flow.png[width=100%]
.AgnosticD deployment workflow
=== AgnosticD Deployments
.Examples of typical *AgnosticD* _configs_
image::docs/images/agnosticd_things_it-does.png[width=100%]
=== Getting Started
The accompanying documentation explains how to achieve all this, extend it and add both your own environments, hereafter called _configs_ and a lot lot more.
Well designed _configs_, can be easily abstracted to allow deployment to multiple different Public and Private Clouds including AWS, Azure, and others.
The accompanying documentation explains how to achieve all this, extend it and
 add both your own environments, hereafter called _configs_ and a lot lot more.
Well designed _configs_, can be easily abstracted to allow deployment to multiple
 different Public and Private Clouds including AWS, Azure, and others.
* `./docs/` Start here
* `./ansible` The execution environment
* `./ansible/main.yml` The entry point for a deployment
* `./ansible/configs` Home to the _configs_ to deploy
* link:./docs/[The Documentation Set] Start Here
* link:./ansible/[./ansible] The working ansible directory
** link:./ansible/main.yml[main.yml] The main entry point for `ansible-playbook`
* link:./ansible/roles[Roles directory] Home to the `ocp-workload-*` roles
* link:./ansible/configs[Configs directory] Home to the _Configs_
The Contributors Guides explore the relevant structures in significantly more detail:
* link:docs/Creating_an_OpenShift_Workload.adoc[Creating an OpenShift Workload Guide]
* link:docs/Creating_a_config.adoc[Creating a Config Guide]
* link:docs/Creating_a_cloud_deployer.adoc[Creating a Cloud Deployer Guide]
// * link:docs/Creating_a_cloud_deployer.adoc[Creating a Cloud Deployer Guide]