diff --git a/docs/deploy-guide/deploy-repo.md b/docs/deploy-guide/deploy-repo.md new file mode 100644 index 000000000..a5baec34a --- /dev/null +++ b/docs/deploy-guide/deploy-repo.md @@ -0,0 +1,39 @@ +# Deploy Repository + +The deployment repository will contain configuration related to your deployment. +Some of these items may be Kubernetes manifests or custom resources which will +be consumed by different tools. It is recommended that one Deploy Repository +is used per Management environment (NEED BETTER WORD HERE??), see [Introduction](./index.md) for information +on what this is. + +The layout of this repo will be something like: + +```shell +. +├── management # (1) +│   ├── helm-configs # (2) +│   └── manifests # (3) +├── iad3-prod # (4) +│   ├── flavors -> ../flavors/prod # (5) +│   ├── helm-configs +│   └── manifests +├── iad3-staging # (6) +│   ├── flavors -> ../flavors/nonprod # (7) +│   ├── helm-configs +│   └── manifests +├── global-prod # (8) +│   ├── helm-configs +│   └── manifests +└── flavors +    ├── nonprod +    └── prod +``` + +1. This contains data which the cluster labeled as `management` will consume. +2. helm `values.yaml` files per application/component will be here for `management`. +3. Any kubernetes manifests per application/component will be here for `management`. +4. This contains data which the cluster labeled as `iad3-prod` will consume. +5. The definitions of the hardware flavors that this cluster, which later you will see maps to a region will use. +6. This contains data which the cluster labeled as `iad3-staging` will consume. +7. The definitions of the hardware flavors that this cluster, which later you will see maps to a region will use. Notice it is different than staging. +8. The cluster labeled as `global-prod` will have resources consumed here. diff --git a/docs/deploy-guide/getting-started.md b/docs/deploy-guide/getting-started.md new file mode 100644 index 000000000..4f1ab2fdb --- /dev/null +++ b/docs/deploy-guide/getting-started.md @@ -0,0 +1,21 @@ +# Getting Started + +You will need to have available a number of local utilities, +a clone of this repo and another Git repo which will be referred to +as the deploy repo. You will also need at least once Kubernetes +cluster available to you, while multiple clusters are the advisable +approach for any production or deployment at scale as the [Introduction](./index.md) +mentions. + +Embracing [GitOps][gitops] and declarative configuration, we will need to have +some items available before we begin. + +1. A Git repo that you'll be able to commit to and that you'll be able to provide +read-only credentials to the tooling to fetch data from. Something like +[GitHub Deploy Keys][gh-deploy-keys] will work. +2. A DNS zone under which you can create multiple DNS entries. You can use a service +like [sslip.io](https://sslip.io) for test purposes. +3. The ability to get SSL certificates for these domains via cert-manager. + +[gitops]: +[gh-deploy-keys]: diff --git a/mkdocs.yml b/mkdocs.yml index 62793f5b6..d4e73f76a 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -113,6 +113,8 @@ nav: - 'Deployment Guide': - deploy-guide/index.md - Quick Start: deploy-guide/gitops-install.md + - deploy-guide/getting-started.md + - deploy-guide/deploy-repo.md - deploy-guide/auth.md - deploy-guide/extra-regions.md - deploy-guide/external-argocd.md