Skip to content

Add kubermatic-playground-setup example#156

Open
mgoltzsche wants to merge 5 commits intomasterfrom
add-kubermatic-playground-example
Open

Add kubermatic-playground-setup example#156
mgoltzsche wants to merge 5 commits intomasterfrom
add-kubermatic-playground-example

Conversation

@mgoltzsche
Copy link

@mgoltzsche mgoltzsche commented Mar 10, 2026

What this PR does / why we need it:

Adds the kubermatic-playground-setup example: An example KubeOne & KKP AWS setup for testing purposes that mostly consists of a Makefile, loading the Kubermatic-internal AWS playground credentials from Vault.
So far everything but the MLA stack installation works.

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):

Special notes for your reviewer:

Does this PR introduce a user-facing change?:

NONE

@kubermatic-bot kubermatic-bot added the dco-signoff: yes Denotes that all commits in the pull request have the valid DCO signoff message. label Mar 10, 2026
@kubermatic-bot
Copy link

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign mfahlandt for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@kubermatic-bot kubermatic-bot added the size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. label Mar 10, 2026
@mgoltzsche mgoltzsche force-pushed the add-kubermatic-playground-example branch from 3891629 to 3cbb63b Compare March 10, 2026 17:00
Signed-off-by: Max Goltzsche <max.goltzsche@kubermatic.com>
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new examples/kubermatic-playground-setup example that provisions an AWS-based KubeOne cluster, installs KKP, and automates supporting steps (Vault-sourced credentials, Route53 DNS management, and initial KKP/MLA config scaffolding) for internal playground/testing use.

Changes:

  • Add a Makefile-driven workflow to provision infrastructure (Terraform), create the cluster (KubeOne), install KKP, and manage Route53 DNS.
  • Add Vault login helper scripts to fetch AWS/Route53 credentials and run commands with the resulting environment.
  • Vendor/copy KubeOne AWS Terraform quickstart configs plus KKP seed/preset manifests and MLA example values.

Reviewed changes

Copilot reviewed 22 out of 22 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
examples/kubermatic-playground-setup/README.md Top-level usage guide for creating/upgrading/destroying the playground environment.
examples/kubermatic-playground-setup/Makefile Primary automation entrypoint for Terraform, KubeOne, KKP install, DNS, and MLA-related steps.
examples/kubermatic-playground-setup/.gitignore Ignores generated state/artifacts (tfstate, kubeconfigs, downloaded releases, generated secrets/values).
examples/kubermatic-playground-setup/scripts/with-aws-login.sh Fetch AWS credentials from Vault and execute a child command with exported env vars.
examples/kubermatic-playground-setup/scripts/route53-login.sh Fetch Route53-specific AWS credentials from Vault (intended to be sourced).
examples/kubermatic-playground-setup/scripts/route53-list-records.sh List Route53 zones/records (A/CNAME) using Vault-sourced credentials.
examples/kubermatic-playground-setup/scripts/route53-modify-record.sh UPSERT/DELETE Route53 A/CNAME records using Vault-sourced credentials.
examples/kubermatic-playground-setup/00-terraform/README.md Notes that Terraform configs are copied from the KubeOne examples.
examples/kubermatic-playground-setup/00-terraform/aws/main.tf AWS Terraform resources for VPC subnets, security groups, instances, ELB, IAM, etc.
examples/kubermatic-playground-setup/00-terraform/aws/variables.tf Terraform input variables (mostly from upstream KubeOne example).
examples/kubermatic-playground-setup/00-terraform/aws/output.tf Terraform outputs consumed by KubeOne/Makefile (hosts/workers/api endpoint).
examples/kubermatic-playground-setup/00-terraform/aws/versions.tf Terraform + provider version constraints for the AWS quickstart configs.
examples/kubermatic-playground-setup/00-terraform/aws/userdata_flatcar_upgrades.json Ignition snippet used to disable Flatcar update server when configured.
examples/kubermatic-playground-setup/00-terraform/aws/README.md.in Template input for generated Terraform docs.
examples/kubermatic-playground-setup/00-terraform/aws/README.md Generated Terraform docs for the vendored AWS quickstart config.
examples/kubermatic-playground-setup/10-kubeone/kubeone-cluster.yaml Minimal KubeOne cluster definition for AWS.
examples/kubermatic-playground-setup/20-kkp/README.md Notes about KKP installation file structure and upstream install docs link.
examples/kubermatic-playground-setup/20-kkp/seed.yaml Seed CR used to register the seed and enable usercluster MLA.
examples/kubermatic-playground-setup/20-kkp/preset.example.yaml Preset template to be patched with AWS credentials + VPC ID.
examples/kubermatic-playground-setup/20-kkp/kubermatic-backup-storageclass.yaml StorageClass used for backups/MLA persistence in the example.
examples/kubermatic-playground-setup/20-kkp/mla-seed-values.example.yaml Example seed-MLA values template consumed by Makefile generation.
examples/kubermatic-playground-setup/20-kkp/mla-usercluster-values.example.yaml Example usercluster-MLA values template (intended for generation/use).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

mgoltzsche and others added 4 commits March 12, 2026 12:38
…cord.sh

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Max Goltzsche <mgoltzsche@users.noreply.github.com>
…cord.sh

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Max Goltzsche <mgoltzsche@users.noreply.github.com>
...within the kubermatic-playground-setup

Signed-off-by: Max Goltzsche <mgoltzsche@users.noreply.github.com>
Signed-off-by: Max Goltzsche <mgoltzsche@users.noreply.github.com>
@mgoltzsche mgoltzsche force-pushed the add-kubermatic-playground-example branch from 2a92bbe to c7be908 Compare March 12, 2026 15:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dco-signoff: yes Denotes that all commits in the pull request have the valid DCO signoff message. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants