Setup your GitHub repository
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 GitHub 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.
Prepare AWS credentials
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.
Generate SSH keys
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
.
Setup GitHub Secrets
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
)
Commit and push the content to GitHub repository
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
Enjoy automated pipeline delivery
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.