Quickstart
Prerequisites
Section titled “Prerequisites”Before you begin, ensure you have:
- Go 1.24+ installed
- Terraform installed
- Minikube installed and running
- A GitHub Personal Access Token with
reposcope -
GITHUB_TOKENenvironment variable set
Step 1: Install CAKD & CAKD Agent
Section titled “Step 1: Install CAKD & CAKD Agent”Install the cakd CLI and cakd-agent into your Go bin path:
go install github.com/nguyentin05/cakd-platform/cmd/cakd@latestgo install github.com/nguyentin05/cakd-platform/cmd/cakd-agent@latestStep 2: Create your platform.yaml
Section titled “Step 2: Create your platform.yaml”Create platform.yaml in your working directory. This minimal example is valid against the schema shown in the repository.
apiVersion: platform.dev/v1alpha1kind: Projectmetadata: name: my-first-project owner: my-teamservices: - name: api language: java-spring-boot languageVersion: "21" projectBuild: gradle-project packaging: jarStep 3: Bootstrap your project
Section titled “Step 3: Bootstrap your project”Run the create pipeline to generate project files, provision a GitHub repository via the Terraform Bridge, push the generated code, and register an ArgoCD application.
cakd create -f platform.yaml:::tip Expected output You will see progress logs for each step of the pipeline, followed by a summary:
Step 1/5: Scaffold...Step 2/5: Infra...Step 3/5: VersionControl...Step 4/5: Deploy...Step 5/5: Notify...
═══════════════════════════════════════════════Project created successfully!Repository: https://github.com/your-organization/my-first-projectLocal code: out/my-first-projectDeployment: Managed by ArgoCD (GitOps)═══════════════════════════════════════════════:::
Step 4: Start the Alert & Diagnostics Agent
Section titled “Step 4: Start the Alert & Diagnostics Agent”If you want real-time diagnostics, run the agent after setting a webhook receiver (Discord):
export DISCORD_WEBHOOK_URL="https://discord.com/api/webhooks/..."cakd-agent:::tip Expected agent output :::
Step 5: Verify the result
Section titled “Step 5: Verify the result”Confirm the project folder exists and ArgoCD has the application registered:
ls -F out/my-first-project/kubectl get app my-first-project -n argocdWhat was created
Section titled “What was created”- A local project under
out/{project-name}populated by the template engine. - A GitHub repository provisioned via the Terraform Bridge and pushed by the VCS provider.
- An ArgoCD Application registered in your cluster to deploy the project.