Explore the Generated Bundle

As you have finished the steps in the Wizard, you have the kkp-generated-bundle.zip file available on your file system.

Let’s unzip it and take a look at the structure.

.
├── .gitignore
├── .github                     # if GitHub was used as Git provider
│   └── workflows
│       └── kkp.yaml
├── .gitlab-ci.yml              # if GitLab was used as Git provider
├── bitbucket-pipelines.yml     # if Bitbucket was used as Git provider
├── README-local-github.md      # if GitHub was used as Git provider
├── README-local-gitlab.md      # if GitLab was used as Git provider
├── README-local-bitbucket.md   # if Bitbucket was used as Git provider
├── README.md
├── flux
│   └── clusters
│       ├── master
│       │   ├── iap
│       │   │   └── iap.yaml
│       │   ├── kube-system
│       │   │   └── s3-exporter.yaml
│       │   ├── kubermatic
│       │   │   ├── kubermatic-git-source.yaml
│       │   │   ├── kubermatic-setting.yaml
│       │   │   ├── project.yaml
│       │   │   ├── seed.yaml
│       │   │   ├── sops-kustomization.yaml
│       │   │   ├── user.yaml
│       │   │   └── userprojectbinding.yaml
│       │   ├── minio
│       │   │   └── minio.yaml
│       │   └── monitoring
│       │       ├── alertmanager.yaml
│       │       ├── blackbox-exporter.yaml
│       │       ├── grafana.yaml
│       │       ├── karma.yaml
│       │       ├── kube-state-metrics.yaml
│       │       ├── node-exporter.yaml
│       │       └── prometheus.yaml
│       └── master-sops
│           └── kubermatic
│               └── preset.yaml
├── kubeone
│   ├── addons
│   │   ├── 00_kubermatic-ns.yaml
│   │   └── 01_kubermatic-sc.yaml
│   └── kubeone.yaml
├── kubermatic
│   ├── cluster-issuer.yaml
│   ├── kubermatic-configuration.yaml
│   └── values.yaml
├── secrets.md
└── terraform
    └── aws                  # if AWS was used as Cloud provider, other providers are omitted from structure
        ├── README.md
        ├── dns
        │   ├── main.tf
        │   ├── terraform.tfvars
        │   ├── variables.tf
        │   └── versions.tf
        ├── main.tf
        ├── output.tf
        ├── setup_terraform_backend.sh
        ├── terraform.tfvars
        ├── variables.tf
        └── versions.tf

There are following directories and files:

  • .github/workflows - includes CI/CD jobs for automatic provisioning of cluster and KKP installation (if GitHub was selected as the Git provider).
  • .gitlab-ci.yml - includes CI/CD jobs for automatic provisioning of cluster and KKP installation (if GitLab was selected as the Git provider).
  • bitbucket-pipelines.yml - includes CI/CD jobs for automatic provisioning of cluster and KKP installation (if Bitbucket was selected as the Git provider).
  • flux - includes Kubernetes resources organized by namespaces which are delivered to your Kubernetes cluster by the Flux GitOps tool. There are 2 subdirectories master and master-sops. First one includes plain Kubernetes resources and second one the Kubernetes resources with some encrypted values (they are treated in special way using decryption provider with Flux).
  • kubeone - includes kubeone.yaml definition and addons (k8s resources created in your cluster after provisioning). In the addons directory, you will find namespaces and storage class for Kubermatic components (used in next steps).
  • kubermatic - includes Kubermatic configuration and values file for Helm chart configuration. Keep in mind that Kubernetes Secret with these values is also created in your Kubernetes cluster as we later on use it for installation of additional charts with GitOps tool.
  • terraform - includes Terraform modules for provisioning of your cloud provider resources to bootstrap a Kubernetes cluster (with KubeOne).
  • secrets.md - includes sensitive information about Age secret key which was used for encryption of all sensitive values, generated password of your user and other details which should not be EVER committed to your Git repository (it’s defined in .gitignore). These values will only need to be set in your pipeline secrets / variables according to the next steps (see the example content below)
  • README.md - includes high-level information about the structure, tools and steps to follow
  • README-local-(github|gitlab).md - includes the step-by-step instructions if you would like to validate the whole installation manually instead of using the automated delivery pipeline by GitHub or GitLab

Example content of secrets.md file