Jim Rigsbee
2020-02-26 a88031495958d4341fb4782e2ba8ababc7303e2f
README.adoc
@@ -1,24 +1,66 @@
== Overview
Ansible Agnostic Deployer, referred to from now on as *AgnosticD*, is a 2 Phase deployer for building and deploying both Cloud Infrastructure *AND* and OpenShift based  deployments.
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 cloud deployments from simple basic infrastructures, aka _"a bunch of Linux and Windows VMs in the cloud*_ through to fully configured applications for example load balancers connected to app servers connected to databases connected to...
For OpenShift it can deploy both empty, but fully configured, Highly Available clusters through to the latest and greatest buzz word compliant MicroServices Distributed Application Architectures...
*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.
image::docs/images/agnosticd_things_it-does.png[width=100%]
=== Make your first Deployment
=== Getting Started
Check out this link:https://www.youtube.com/watch?v=lfHYwXJhKB0[Video Introduction to deploying with Ansible AgnosticD]!
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.
Get started and use agnosticd to deploy on OpenStack with  link:docs/First_OSP_Env_walkthrough.adoc[First OSP Environment Walkthrough].
* `./docs/` Start here
* `./ansible` The execution environment
* `./ansible/main.yml` The entry point for a deployment
* `./ansible/configs` Home to the _configs_ to deploy
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:
* link:./ansible/configs/just-some-nodes-eample/[Just some nodes] - Simple, multi-cloud.
* 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.
* 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
=== 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.
* 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_a_config.adoc[Creating a Config]
* link:docs/Creating_a_cloud_deployer.adoc[Creating a Cloud Deployer]
* 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]