The goal of the setup is to put the downloaded directory structure into your GitHub repository, so let’s get started with creating a fresh repository for this purpose and then setup the GitHub Secrets before pushing the code to the repository.
Create a new repository on GitHub manually or using GitHub CLI.
Also prepare an Access token for GitHub which will be used for GitOps tool bootstrap.
Login to AWS console and create your access keys under IAM or using
AWS CLI aws iam create-access-key.
Credentials should be static and do not utilize any tools like aws-iam-authenticator because they are also stored as secret in your Kubernetes cluster.
SSH public/private key-pair is used for accessing the cluster nodes. You can generate these keys locally and you will need to set them inside the GitHub Secrets below.
You can use following command to generate the keys:
ssh-keygen -t rsa -b 4096 -C "admin@kubermatic.com"
You will be prompted to provide a key location, e.g. k8s_rsa.
Go to your GitHub repository under Settings -> Secrets and setup following secrets:
AWS_ACCESS_KEY_ID with value of AccessKeyId from above stepAWS_SECRET_ACCESS_KEY with value of SecretAccessKey from above stepSOPS_AGE_SECRET_KEY with value of generated AGE secret key (see secrets.md file)TOKEN_GITHUB with value of GitHub access token from above stepSSH_PRIVATE_KEY with value of private SSH key (e.g. k8s_rsa)SSH_PUBLIC_KEY with value of public SSH key (e.g. k8s_rsa.pub)Now it’s time to push the generated structure in your repository.
Example:
git init
git checkout -b main
git add .
git commit -m "Initial setup for KKP on Autopilot"
git remote add origin git@github.com:<GITHUB_OWNER>/<GITHUB_REPOSITORY>
git push -u origin main
At this point, GitHub Workflow should be triggered and you can watch it in the Actions menu on your repository. After all steps are complete, it may still take a few minutes to reconcile the required state (as the Flux is delivering additional steps independently).

Congratulations, now it’s time to login to your KKP and create your first user cluster!

See the details about creating User Cluster in Kubermatic Kubernetes Platform documentation.