Overview
This guide walks through adding a new service to the platform. You’ll create the application code, Dockerfile, Kubernetes manifests, and CI/CD configuration.Create the Service
1
Create the service directory
2
Add your application code
Create your application. For example, a Go service:Create
cmd/main.go:3
Create a Dockerfile
Create
Dockerfile:4
Create mise.toml for service configuration
Create
mise.toml:5
Test locally
Create ECR Repository
Add the new repository to the ECR configuration:1
Add repository to the list
Edit
terraform/live/shared/<REGION>/ecr-repositories/main.tf and add your service to the local.repos list:2
Apply the Terraform change
Commit and open a PR. The Terramate workflow will run a preview, and once merged, the ECR repository will be created.Alternatively, apply directly:
Create Kubernetes Manifests
Choose your preferred templating approach. The kit demonstrates three options.- Helm (Recommended)
- Kustomize
Create a Helm chart in Chart.yaml:values.yaml:templates/deployment.yaml:Add additional templates for Service, Ingress, etc.
kubernetes/src/services/my-new-service/:Add mise Tasks for Rendering
Createkubernetes/src/services/my-new-service/mise.toml:
Register with ArgoCD
Add the service to the ArgoCD services app-of-apps:1
Add to services values
Edit
kubernetes/src/argocd/services/values.yaml:2
Render ArgoCD manifests
Add to CI/CD
1
Add path filter
Edit
.github/utils/file-filters.yaml:2
Add to workflow inputs
Edit Also update
.github/workflows/ci-build-push.yml:.github/workflows/gitops-update-manifests.yml.Test Locally
1
Add to Tilt
Edit Create
kubernetes/src/services/Tiltfile to include your new service:kubernetes/src/services/my-new-service/Tiltfile following the pattern of existing services.2
Start Tilt
3
Verify the service
Access via the sslip.io URL or port-forward:
Deploy to Staging
1
Commit and push
2
Monitor the deployment
- Watch the CI workflow build the image
- Watch the GitOps workflow update manifests
- Check ArgoCD for the new Application
Next Steps
- Managing Secrets - Add secrets for your service
- Database Operations - Add a database if needed
- Observability - Configure metrics and tracing