cakd create
Overview
Section titled “Overview”The cakd create command bootstraps a new cloud-native project. It reads platform.yaml, generates project files, provisions a GitHub repository via the Terraform Bridge, pushes the generated code, and registers an ArgoCD Application.
cakd create [flags]| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--file | -f | string | platform.yaml | Path to platform.yaml. |
--force | "" | bool | false | Force overwrite existing project directory. |
How It Works
Section titled “How It Works”- The
platform.yamlfile is read from the specified path. - The configuration is parsed and validated through a three-phase pipeline: structure validation, defaults injection, and logic validation.
- A project context is prepared, which includes determining the output directory (e.g.,
./out/{project-name}). If the directory already exists and--forceis not set, the command fails. - The following sequential pipeline steps are executed:
- Scaffold: Scaffolds the base
projectand renders CAKD templates into the output directory. - Infra: Provisions infrastructure (e.g., a GitHub repository via the
Terraform Bridge) and retrieves outputs. - Version Control: Initializes git, commits generated files, and pushes them to the provisioned repository.
- Deploy: Registers the ArgoCD application using the generated manifest.
- Notify: Performs any final notification actions.
- Scaffold: Scaffolds the base
- Upon successful completion, a summary is printed, detailing the newly created
project’s git repository location, local code path, and deployment mode.
Examples
Section titled “Examples”Basic usage
Section titled “Basic usage”cakd create -f platform.yamlOverwrite an existing project
Section titled “Overwrite an existing project”cakd create -f platform.yaml --force