Tok
2018-12-07 18a9657feb13aa0ce50d0d79761670ea8e7a1d48
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
== 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.
 
*AgnosticD* fully automates these deployments from simple basic infrastructures,
 aka _"a bunch of VMs"*_ through to fully configured deployments 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.
 
=== 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:
 
* 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/ocp-workshop/README.adoc[OCP Workshop] - If a fully
 installed OpenShift Cluster is what you are looking for then take a look here.
 
* link:./ansible/roles/ocp-workload-3scale-multitenant/readme.adoc[OpenShift 3Scale Deployment] - Want to deploy a workload onto your existing OpenShift Cluster? 3Scale is an example of one of around 30 workloads ready to go.
 
=== How AgnosticD Deploys
 
* For OpenShift _Workloads_ *AgnosticD* executes an ansible *role* against an
 existing OpenShift cluster.
 
* _Configs_ each contain 5 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.
 
* `./docs/` Start here
* `./ansible` The execution environment
* `./ansible/main.yml` The entry point for a deployment
* `./ansible/configs` Home to the _configs_ to deploy
 
The Contributors Guides explore the relevant structures in significantly more detail:
 
* link:docs/Creating_a_config.adoc[Creating a Config Guide]
* link:docs/Creating_a_cloud_deployer.adoc[Creating a Cloud Deployer Guide]