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.

.
├── .github           # if GitHub is used as provider
│   └── workflows
│       └── kkp.yaml
├── .gitignore
├── .gitlab-ci.yml    # if GitLab is used as provider
├── README-local.md
├── 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
│   ├── kubermatic-configuration.yaml
│   └── values.yaml
├── secrets.md
└── terraform
    └── aws
        ├── 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 jobs for automatic provisioning of cluster and KKP installation
  • 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 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
  • 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 encrypting all sensitive values, generated password of your user and other details which should not be EVER committed to your GitHub repository (it’s defined in_ .gitignore_). These values will only need to be set in your GitHub Secrets 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.md - includes the troubleshooting steps if you would like to validate the whole installation manually instead of using the GitHub Actions

Example content of secrets.md file