Feb 2024 deployment changes #105

Closed
opened 2024-02-03 00:35:08 +00:00 by CJ_Clippy · 16 comments
Owner

We made some changes to the code repos. We are now using a monorepo.

This changes how we have to deploy. We usually do git push dokku main to push futureporn-next.

There are some unknowns. We need to figure out how to deploy using this new paradigm.

  • implement next-prod Dockerfile target.
  • ensure next-prod contains app.json
  • figure out how to git push next package from the monorepo
  • figure out how to git push strap package from the monorepo
  • Figure out how to get a dev cluster
  • Figure out how to get a dev registry
  • Figure out if we still need docker-compose for dev or if there is a better k8s way
  • Figure out how to deploy to VKE
  • backup
  • upgrade strapi
  • deploy to production using helm

If any problems deploying futureporn-next, we will revert to previously used known good git commit 86b2b7625f64b3f970d74be56ca9a02a6da79fe4

We made some changes to the code repos. We are now using a monorepo. This changes how we have to deploy. We usually do `git push dokku main` to push futureporn-next. There are some unknowns. We need to figure out how to deploy using this new paradigm. * [x] implement next-prod Dockerfile target. * [ ] ~~ensure next-prod contains app.json~~ * [ ] ~~figure out how to `git push` next package from the monorepo~~ * [ ] ~~figure out how to `git push` strap package from the monorepo~~ * [x] Figure out how to get a dev cluster * [x] Figure out how to get a dev registry * [x] Figure out if we still need docker-compose for dev or if there is a better k8s way * [x] Figure out how to deploy to VKE * [ ] backup * [ ] upgrade strapi * [ ] deploy to production using helm If any problems deploying `futureporn-next`, we will revert to previously used known good git commit `86b2b7625f64b3f970d74be56ca9a02a6da79fe4`
CJ_Clippy added the
Chore
label 2024-02-03 00:35:08 +00:00
Author
Owner

today I learned k3d
clusters and registries

today I learned k3d clusters and registries
Author
Owner

today I learned about k3d ingress
today I learned about helm

today I learned about k3d ingress today I learned about helm
Author
Owner

I think the play here is to deprecate docker-compose in favor of k3d + helm

k3d runs the temporary dev cluster, helm deploys the containers

when deploying to dev we specify devvalues.yaml and the local k3d cluster
when deploying to prod we specify prodvalues.yaml and the prod VKE cluster

this way both envs are very similar which is very good

I think the play here is to deprecate docker-compose in favor of k3d + helm k3d runs the temporary dev cluster, helm deploys the containers when deploying to dev we specify devvalues.yaml and the local k3d cluster when deploying to prod we specify prodvalues.yaml and the prod VKE cluster this way both envs are very similar which is very good
Author
Owner

Today I deployed a static html test app to a local k3d cluster using helm.
Next step is to deploy a more complex test app to a local k3d cluster
After that, deploy it to a production VKE

Today I deployed a static html test app to a local k3d cluster using helm. Next step is to deploy a more complex test app to a local k3d cluster After that, deploy it to a production VKE
Author
Owner

today I am burnt out

today I am burnt out
Author
Owner

today I solved a kubernetes env issue preventing Skaffold from deploying

today I solved a kubernetes env issue preventing Skaffold from deploying
Author
Owner

today I ditched Skaffold in favor of Tilt. Tilt education in progress.

today I ditched Skaffold in favor of Tilt. Tilt education in progress.
Author
Owner
today I wrote a project update https://www.patreon.com/posts/futureporn-2024-98500447
Author
Owner

today I am burnt out

today I am burnt out
Author
Owner

Today I learned more about Tilt, Kubernetes, Kubernetes Ingress & ingress controller, Hashicorp Vault

Today I learned more about Tilt, Kubernetes, Kubernetes Ingress & ingress controller, Hashicorp Vault
Author
Owner

Yesterday I made some test deploys of fp and Vault to VKE. Discovered that Vault's persistent volume claims weren't being fulfilled on kubernetes v1.29.1+1. The PVCs were however fulfilled on v1.27.10+1.

Yesterday I made some test deploys of fp and Vault to VKE. Discovered that Vault's persistent volume claims weren't being fulfilled on kubernetes v1.29.1+1. The PVCs were however fulfilled on v1.27.10+1.
Author
Owner

Today I contemplated the meaning of life. Then I learned more about running Vault on Kubernetes. (btw, eating grilled cheese sandwiches while watching Zentreya makes an S tier day)

Today I contemplated the meaning of life. Then I learned more about running Vault on Kubernetes. (btw, eating grilled cheese sandwiches while watching Zentreya makes an S tier day)
Author
Owner

Today I learned about k9s (amazing) and began setting Vault autounseal using AWS key management system. Ran into troubles with pod scheduling weirdness. Have yet to identify the cause

Today I learned about k9s (amazing) and began setting Vault autounseal using AWS key management system. Ran into troubles with pod scheduling weirdness. Have yet to identify the cause
Author
Owner

Kubernetes is cancelled due to time constraints. I'll re-explore at a later date.

Kubernetes is cancelled due to time constraints. I'll re-explore at a later date.
Author
Owner

Un-cancelled. The monorepo + dokku deploy is full of problems that don't exist if I use kubernetes. Let's look at pros & cons.

dokku + monorepo pros

  • git deployment
  • familiar

dokku + monorepo cons

  • does not scale to more than one remote
  • secrets management must be set on each remote host
  • configurations are adhoc, not backed up
  • every package (8+) needs it's own git remote
  • there is no easy one click to deploy everything
  • can't run certain types of apps such as helm charts (windmill)
  • pet

kubernetes pros

  • industry standard
  • good for teams
  • configurations are declared in code, versioned
  • infrastructure as code
  • centralized secrets management
  • cost savings vs. fly.io
  • tooling. (k9s, Tiltfile, helmfile, minikube, etc.)
  • livestock

kubernets cons

  • complex
  • learning curve
  • time consuming

I have to keep going. I had a setback due to emotional burnout but I won't give up. "the best way is through."

Un-cancelled. The monorepo + dokku deploy is full of problems that don't exist if I use kubernetes. Let's look at pros & cons. ## dokku + monorepo pros * git deployment * familiar ## dokku + monorepo cons * does not scale to more than one remote * secrets management must be set on each remote host * configurations are adhoc, not backed up * every package (8+) needs it's own git remote * there is no easy one click to deploy everything * can't run certain types of apps such as helm charts (windmill) * pet ## kubernetes pros * industry standard * good for teams * configurations are declared in code, versioned * infrastructure as code * centralized secrets management * cost savings vs. fly.io * tooling. (k9s, Tiltfile, helmfile, minikube, etc.) * livestock ## kubernets cons * complex * learning curve * time consuming I have to keep going. I had a setback due to emotional burnout but I won't give up. "the best way is through."
Author
Owner

I did not migrate to Kubernetes, but I'm closing this because I've adopted a hybrid approach.

I am learning Kubernetes and getting more confident with it. I am using helm charts in development but yet not production.

I'm deploying to production with dokku.

The monorepo is adapted to be able to deploy to dokku and kubernetes.

I did not migrate to Kubernetes, but I'm closing this because I've adopted a hybrid approach. I am learning Kubernetes and getting more confident with it. I am using helm charts in development but yet not production. I'm deploying to production with dokku. The monorepo is adapted to be able to deploy to dokku and kubernetes.
Sign in to join this conversation.
No description provided.