Create complete cloud-native-lab repository scaffold for CKAD/CKA preparation - #1
Merged
Merged
Conversation
- Root config files: .editorconfig, .gitignore, .markdownlint.json, .shellcheckrc, .yamllint.yml, Makefile, LICENSE, CODE_OF_CONDUCT.md, SECURITY.md, roadmap.md, README.md - .github/: GitHub Actions workflows (markdown-lint, shellcheck, yaml-lint, kubernetes-validation, go-ci), issue templates, CONTRIBUTING.md, pull_request_template.md - certifications/: CKAD README + 5 complete starter labs, CKA README, CKS README - kubernetes-labs/: Full structure + 5 complete starter labs (ConfigMap, Deployment, Job/CronJob, PVC, NetworkPolicy), Kind cluster config, Helm chart, Kustomize base+overlays, stub READMEs for all subdirectories - go-labs/: README + working list-pods Kubernetes client (go.mod, go.sum, main.go) - scripts/: check-prerequisites.sh, create-kind-cluster.sh, delete-kind-cluster.sh, validate-manifests.sh, cleanup.sh (all executable) - docs/: lab-readme-template, kubectl/linux/docker/go cheatsheets, kubernetes troubleshooting guide, cloud-native glossary - linux-labs/, container-labs/ (+ multi-stage Dockerfile), networking-labs/ - observability-labs/, gitops-labs/, security-labs/, cncf-labs/, automation/ - examples/, tests/ with READMEs
Copilot
AI
changed the title
[WIP] Create cloud-native lab repository for CKAD preparation
Create complete cloud-native-lab repository scaffold for CKAD/CKA preparation
Jul 27, 2026
ferreiraad
approved these changes
Jul 27, 2026
ferreiraad
marked this pull request as ready for review
July 27, 2026 11:37
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements the full initial repository scaffold for a long-term cloud-native learning and portfolio workspace covering Kubernetes certifications, Go tooling, observability, GitOps, security, and CNCF technologies. 249 files across the complete directory structure.
Description
Bootstrap a production-quality cloud-native lab repository from an empty shell. Covers the full required structure with working labs, executable scripts, GitHub Actions CI, documentation, and security defaults throughout.
Root Configuration
help,check,cluster-create/delete,validate,lint(markdown/yaml/shell),test,cleanGitHub Actions Workflows
All workflows include
permissions: contents: read(CodeQL-verified):markdown-lint.yml,shellcheck.yml,yaml-lint.yml,kubernetes-validation.yml(kubeconform),go-ci.yml(fmt + vet + test across all modules)Certifications — 5 Complete CKAD Starter Labs
Each lab ships with
namespace.yaml,resources.yaml,validate.sh,cleanup.sh:multi-container-podrolling-updateconfigure-probesconfig-map-and-secretcluster-ip-serviceKubernetes Labs — 5 Complete General Labs
configuration/config-maps/pod-with-config-map— ConfigMap viaenvFromworkloads/deployments/web-deployment— 3-replica nginx with probes, rolling update, rollbackworkloads/cron-jobs/scheduled-task— Job + CronJob with history limits and concurrency policy docsstorage/persistent-volume-claims/basic-pvc— PVC + Pod, dynamic provisioning notesnetworking/network-policies/default-deny— Default-deny + allow policy, CNI enforcement warningCluster, Helm, Kustomize
kubernetes-labs/clusters/kind/kind-config.yaml— 3-node cluster with ingress port mappingskubernetes-labs/helm/charts/sample-web/— Full chart:Chart.yaml,values.yaml,_helpers.tpl, Deployment + Service templates with probes and security contextkubernetes-labs/kustomize/—bases/sample-web+overlays/development(1 replica) +overlays/production(3 replicas, resource patches)Go Labs
go.sumcommitted;go build ./...verified passing.Scripts (all
set -euo pipefail, executable)check-prerequisites.sh— Core (Docker, kubectl, Kind, Git) vs optional (Helm, Kustomize, Go) splitcreate-kind-cluster.sh/delete-kind-cluster.sh— RespectsCLUSTER_NAMEenv var, idempotentvalidate-manifests.sh— kubeconform → server dry-run → client dry-run fallback chaincleanup.sh— Removes temp files only; cluster deletion requiresCLEANUP_CLUSTER=trueDocumentation
docs/templates/lab-readme-template.md— Standard lab structure templatekubectl.md,linux.md,docker.md,go.mddocs/troubleshooting/kubernetes.md— CrashLoopBackOff, Pending, ImagePullBackOff, Service connectivitydocs/glossary/cloud-native-glossary.mdSecurity Defaults Throughout
All Kubernetes manifests enforce:
container-labs/multi-stage-builds/go-app/— distroless runtime, non-root user, static binary.Stub READMEs for All Planned Areas
linux-labs/,container-labs/,networking-labs/,observability-labs/,gitops-labs/,security-labs/,cncf-labs/,automation/,examples/,tests/— all haveREADME.mdwith learning roadmaps or topic context; no empty directories.Type of Change
Lab or Area Affected
Entire repository — initial scaffold covering all root directories, certification labs, Kubernetes general labs, Go example, scripts, docs, and CI workflows.
Checklist
make validate)make lint-shell)make lint-markdown)make lint-yaml)Testing
Original prompt
Create a complete GitHub repository named cloud-native-lab.
The repository will be a long-term, hands-on learning and portfolio workspace focused on cloud-native engineering, Linux Foundation training, CNCF technologies, Kubernetes certifications, automation, observability, security, containers, networking, GitOps, and Go development.
The repository must be structured so that it can initially support CKAD preparation and later expand to CKA, CKS, Kubernetes Operators, Custom Resources, Go tooling, Linux administration, observability, container security, and other CNCF technologies.
Use English for all files, documentation, examples, comments, scripts, and directory names.
Repository purpose
The repository should demonstrate practical cloud-native knowledge through:
The repository should be suitable both for personal study and as a public technical portfolio.
General standards
Use the following conventions throughout the repository:
Use
set -euo pipefailin Bash scripts where appropriate.All Kubernetes examples should use current stable API versions and should avoid deprecated APIs.
Required root structure
Create the following initial structure: