Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
3891629 to
3cbb63b
Compare
Signed-off-by: Max Goltzsche <max.goltzsche@kubermatic.com>
3cbb63b to
9dce366
Compare
There was a problem hiding this comment.
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.
examples/kubermatic-playground-setup/scripts/route53-modify-record.sh
Outdated
Show resolved
Hide resolved
examples/kubermatic-playground-setup/scripts/route53-modify-record.sh
Outdated
Show resolved
Hide resolved
…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>
2a92bbe to
c7be908
Compare
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?: