Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Declarative deployment #123

Open
6 tasks done
nazar-pc opened this issue May 2, 2023 · 6 comments
Open
6 tasks done

Declarative deployment #123

nazar-pc opened this issue May 2, 2023 · 6 comments

Comments

@nazar-pc
Copy link
Member

nazar-pc commented May 2, 2023

Currently we deploy things imperatively: running scripts that modify state such that it takes desired shape. This works, but it is problematic because we can't revert changes, can't ensure state is exactly what we expect it to be and use tools designed for infrastructure creation to do so.

What we want instead is declarative deployments:

  • Likely some kind of template, in case of k8s it would be Helm chart with some variables
  • Then instantiation of the template with variables filled in, environment variables and secrets configured in it
  • When developer wants to instantiate something, they just send a pull request, when pull request is merged, something like Argo CD will apply necessary changes to make sure deployment matches what was defined in the repository exactly
  • Destruction then is as simple as reverting a pull request

For this to work we need to pick a tool for declarative deployment, key storage solution and have some templates (ideally with readme) that the rest of the team can work with somewhat autonomously.

Tasks

@DaMandal0rian
Copy link
Contributor

#143 adds argocd manager to kubernetes cluster as an addon with terraform

@DaMandal0rian
Copy link
Contributor

argocd now installed in cluster

Image

@DaMandal0rian
Copy link
Contributor

@DaMandal0rian
Copy link
Contributor

DaMandal0rian commented Apr 30, 2024

Next agenda:

  • Now i need to test these deployments in the cluster and connect it to argocd to manage the deployments when change is made to the path it tracks.
  • Need to add secrets configs since sensitive info can't be used in configmaps, will look at how to have this injected from Vault. Likely solution i will use is https://github.com/kubernetes-sigs/secrets-store-csi-driver which gets the secrets from vault and mounts it as a CSI volume.
  • Then i will add the secrets config to the statefulset manifests

@DaMandal0rian
Copy link
Contributor

Latest fix for domain validation and argocd environments.
https://github.com/subspace/infra/pull/315/files

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Todo
Development

No branches or pull requests

2 participants