Skip to content

Creating Initial Infrastructure

having already cloned the infctl-cli see Create a local k3d instance change directory to where this code repository was checked out on your system.

If necessary, re-run scripts/create_k3d_cluster.sh to create a new local cluster or just use one created earlier if you chose not to delete it.

Take a look at pipeline.json.example to familiarize yourself with what we’re about to do next.

This pipeline file will be used by infctl to create a couple of resources to smoke test the cluster.

To run infctl for the first time:

Terminal window
cp base.json.example base.json
cp config.json.example config.json
cp pipeline.json.example pipeline.json

then run the above pipeline file with

Terminal window
infctl --deployment-file pipeline.json

which will look something like this

Terminal window
infctl --deployment-file pipeline.json.
{"time":"2025-07-17T10:56:24.110418886+01:00","level":"INFO","msg":"Project name already exists: hdshd\n"}
{"time":"2025-07-17T10:56:24.110627046+01:00","level":"INFO","msg":"πŸ”„ Running step: ensure inf namespace exists"}
{"time":"2025-07-17T10:56:24.552137383+01:00","level":"INFO","msg":"in k8sCreateNamespace with project: infctl"}
{"time":"2025-07-17T10:56:24.941141859+01:00","level":"INFO","msg":"βœ… Step completed: ensure inf namespace exists"}
{"time":"2025-07-17T10:56:24.941312202+01:00","level":"INFO","msg":"πŸ”„ Running step: create php configmap"}
{"time":"2025-07-17T10:56:24.941344298+01:00","level":"DEBUG","msg":"🐞 Running command: ./scripts/create_php_configmap_ctl.sh"}
{"time":"2025-07-17T10:56:25.769192514+01:00","level":"DEBUG","msg":"RunCommand executed successfully: ./scripts/create_php_configmap_ctl.sh"}
{"time":"2025-07-17T10:56:25.769260959+01:00","level":"DEBUG","msg":"RunCommand output: configmap/php-config created\nNGINX configmap created successfully.\n"}
{"time":"2025-07-17T10:56:25.769297009+01:00","level":"INFO","msg":"βœ… Step completed: create php configmap"}
{"time":"2025-07-17T10:56:25.769309708+01:00","level":"INFO","msg":"πŸ”„ Running step: ensure inf namespace exists\n"}
{"time":"2025-07-17T10:56:26.138647622+01:00","level":"INFO","msg":"k8sNamespaceExists nothing to do - project: infctl eists ..."}
{"time":"2025-07-17T10:56:26.139002888+01:00","level":"INFO","msg":"βœ… Step completed: ensure inf namespace exists\n"}
{"time":"2025-07-17T10:56:26.139033185+01:00","level":"INFO","msg":"πŸ”„ Running step: create php configmap\n"}
{"time":"2025-07-17T10:56:26.139092779+01:00","level":"DEBUG","msg":"🐞 Running command: ./scripts/create_php_configmap_ctl.sh"}
{"time":"2025-07-17T10:56:26.805475502+01:00","level":"DEBUG","msg":"RunCommand executed successfully: ./scripts/create_php_configmap_ctl.sh"}
{"time":"2025-07-17T10:56:26.805522802+01:00","level":"DEBUG","msg":"RunCommand output: configmap/php-config configured\nNGINX configmap created successfully.\n"}
{"time":"2025-07-17T10:56:26.805530251+01:00","level":"INFO","msg":"βœ… Step completed: create php configmap\n"}
{"time":"2025-07-17T10:56:26.805550056+01:00","level":"INFO","msg":"πŸŽ‰ Pipeline setup complete!\n"}