Skip to content

Commit

Permalink
docs: start to break up and define the deployment
Browse files Browse the repository at this point in the history
Start to break up the docs from the quick start into each component step
so that it's more clear how things are intended to be deployed.
  • Loading branch information
cardoe committed Dec 10, 2024
1 parent 9166f39 commit 49b0fa3
Show file tree
Hide file tree
Showing 3 changed files with 62 additions and 0 deletions.
39 changes: 39 additions & 0 deletions docs/deploy-guide/deploy-repo.md
Original file line number Diff line number Diff line change
@@ -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.
21 changes: 21 additions & 0 deletions docs/deploy-guide/getting-started.md
Original file line number Diff line number Diff line change
@@ -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]: <https://about.gitlab.com/topics/gitops/>
[gh-deploy-keys]: <https://docs.github.com/en/authentication/connecting-to-github-with-ssh/managing-deploy-keys#set-up-deploy-keys>
2 changes: 2 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 49b0fa3

Please sign in to comment.