Skip to main content

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.

Add mise Tasks for Rendering

Create kubernetes/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 .github/workflows/ci-build-push.yml:
Also update .github/workflows/gitops-update-manifests.yml.

Test Locally

1

Add to Tilt

Edit kubernetes/src/services/Tiltfile to include your new service:
Create 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

  1. Watch the CI workflow build the image
  2. Watch the GitOps workflow update manifests
  3. Check ArgoCD for the new Application

Next Steps