When cndi create
is called it bootstraps the following files and folders:
-
a
cndi_config.yaml
- this file is the core of your CNDI project, for more details we have a dedicated cndi_config Guide. In short, it contains all of the ingredients for your project. It describes the hardware you will use, the software you will install, and how it should be configured. If you understand this file, you understand CNDI. -
a
.env
file which contains all of your sensitive values that CNDI will use, this includes secret values to be used in your cluster, and credentials to be used during deployment consumed bycndi run
. The syntax of this file is sometimes refered to as dotenv. -
a
./README.md
file that explains how you can use your new project repository, with information about your Template and where it is being deployed -
a
.github/workflows
folder, with a GitHub Action Workflow inside. The workflow is mostly just wrapping thecndi run
command from thecndi
binary executable. As such, if you use a different CI system, you can call thecndi run
command there instead. The workflow is configured to run on every push to themain
branch. -
a
cndi/terraform
folder, containing files that CNDI has generated for terraform which describe the infrastructure to be deployed, which CNDI will apply automatically whencndi run
is executed. -
a
cndi/cluster_manifests
folder, containing Kubernetes manifests that will be applied by ArgoCD in your new cluster when it is up and running. This includes manifests like the 'Ingress', likely already present thecluster_manifests
section of yourcndi_config.yaml
. -
a
cndi/cluster_manifests/applications
folder, which contains a folder for each Application defined in theapplications
section of yourcndi_config.yaml
alongside a number of core applications like cert-manager, external-dns, reloader, and nginx-ingress -
a
.gitginore
file to ensure secret values never get published as source files to your repo