As a developer of GC Notify, I want to consolidate all kubernetes code to helmfile so that it is easier to maintain and provides previews of changes when doing pull requests. Hasura is currently in Kustomize.
WHY are we building?
Increased flexibility when coding for environments
Standardization
Ability to do "diff" commands on environments
WHAT are we building?
All Kustomize code must be ported to helmfile:
System Tools
[ ] Hasura
[ ] Prometheus/Cloudwatch Agent
[ ] ALB Ingress Controller
[ ] Metrics Server
[ ] IPV4 Deployment
[ ] Cert Manager
[ ] Karpenter
[ ] Kube State Metrics
[ ] K8s Event Logger
[ ] AWS Auth
[ ] Fluentbit
Notify Components
[x] Notify Admin
[x] Notify API
[ ] Notify Documentation
[ ] Notify Document Download
[ ] Notify Celeries
The Github Deployment Workflows Must Be Re-Worked
[ ] Determine how to manage individual releases of components
[ ] Update all github actions to follow this method
[ ] Remove the global helmfile plan/apply in staging and prod
VALUE created by our solution
We will be better able to control the deployments to environments
We will be able to dynamically create new environments
Less code maintenance
Keeps code DRY
Acceptance Criteria
[ ] The kustomization folders are no longer required in manifests
[ ] Deployment of a new environment can be done entirely with helmfile
[ ] The helmfile code is written in a way that allows creating new environments dynamically
[ ] All Github actions workflows are updated appropriately
Description
As a developer of GC Notify, I want to consolidate all kubernetes code to helmfile so that it is easier to maintain and provides previews of changes when doing pull requests. Hasura is currently in Kustomize.
WHY are we building?
WHAT are we building?
All Kustomize code must be ported to helmfile:
System Tools
Notify Components
The Github Deployment Workflows Must Be Re-Worked
VALUE created by our solution
We will be better able to control the deployments to environments We will be able to dynamically create new environments Less code maintenance Keeps code DRY
Acceptance Criteria
QA Steps