Chapter 6

The repo includes a complete working demo.

The demo installs Kratix Promises, generates a profile from Go source, validates an API contract, provisions Redis and S3, and deploys the workload with Cilium policies.

Prerequisite AWS admin Secret

Needed before S3 provisioning platform README
kubectl -n kratix-platform-system create secret generic aws-admin-credentials \
  --from-literal=ACCESS_KEY_ID=<aws-access-key-id> \
  --from-literal=SECRET_ACCESS_KEY=<aws-secret-access-key>

Run path

From the repository root
platform/scripts/00-check-prereqs.sh
platform/scripts/01-install-kratix.sh
platform/scripts/02-use-ghcr-images.sh
platform/scripts/03-install-promises.sh
platform/scripts/04-deploy-catalog-and-provider.sh
platform/scripts/05-rc-deploy.sh
platform/scripts/06-smoke-test.sh

What should happen

  1. 1
    Generator emits profileAPI, Redis, and S3 Conditions are discovered from source and SDK metadata.
  2. 2
    Adapter validates APIThe declared `GET /todos/{id}` operation is checked against the catalog OpenAPI document.
  3. 3
    Promises fulfill dependenciesRedis runs in-cluster; S3Bucket creates real AWS S3 and IAM credentials.
  4. 4
    Workload receives env and policyDeployment env refs and Cilium policies are rendered from provider outputs.

Breaking contract check

The adapter should fail before writing the Deployment
platform/scripts/07-demo-breaking-change.sh