├── .github ├── ISSUE_TEMPLATE │ ├── bug-report.yaml │ ├── enhancement.yaml │ └── lab-proposal.yaml ├── PULL_REQUEST_TEMPLATE.md ├── labeler.yml └── workflows │ ├── module-test.yaml │ ├── pr.yaml │ ├── publish-content.yaml │ ├── publish-snapshot.yaml │ ├── release.yaml │ ├── test-aiml.yaml │ ├── test-automation.yaml │ ├── test-autoscaling.yaml │ ├── test-cleanup.yaml │ ├── test-cloudformation.yaml │ ├── test-fundamentals.yaml │ ├── test-introduction.yaml │ ├── test-networking.yaml │ ├── test-observability.yaml │ ├── test-security.yaml │ ├── test-troubleshooting.yaml │ └── test-util-ci.yml ├── .gitignore ├── .markdownlint.json ├── .mergify.yml ├── .pre-commit-config.yaml ├── .prettierignore ├── .prettierrc ├── .spelling ├── .yarn └── releases │ └── yarn-4.9.2.cjs ├── .yarnrc.yml ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── Makefile ├── NOTICE ├── README.md ├── cluster ├── cdk │ └── .gitkeep ├── eksctl │ └── cluster.yaml └── terraform │ ├── eks.tf │ ├── main.tf │ ├── providers.tf │ ├── variables.tf │ └── vpc.tf ├── cspell.config.yaml ├── devenv.lock ├── devenv.nix ├── devenv.yaml ├── direnvrc ├── docs ├── authoring_content.md ├── automated_tests.md ├── cluster_requirements.md ├── eks_version_upgrades.md ├── faq.md ├── images │ ├── browser-window.png │ ├── console-button.png │ ├── eks.png │ ├── terminal-window.png │ ├── yaml-annotations.png │ └── yaml-plain.png ├── releases.md ├── reviewer_checklist.md ├── style_guide.md └── ui_components.md ├── governance ├── model.md ├── steering.md ├── tenets.md └── working-groups │ ├── .gitkeep │ ├── automation │ └── .gitkeep │ ├── autoscaling │ └── .gitkeep │ ├── cost-optimization │ └── .gitkeep │ ├── infra │ └── .gitkeep │ ├── networking │ └── .gitkeep │ ├── observability │ └── .gitkeep │ └── security │ └── .gitkeep ├── hack ├── build-ide-cfn.sh ├── create-infrastructure.sh ├── deploy-ide-cfn.sh ├── destroy-ide-cfn.sh ├── destroy-infrastructure.sh ├── exec.sh ├── find-dangling-resources.sh ├── lib │ ├── common-env.sh │ ├── filter.yml │ ├── generate-aws-creds.sh │ ├── kubectl-version.sh │ └── terraform-context.sh ├── pre-provision-resources.sh ├── publish-content.sh ├── publish-snapshot.sh ├── run-tests.sh ├── shell.sh ├── update-iam-role.sh ├── upgrade-k8s.sh └── validate-terraform.sh ├── lab ├── Dockerfile ├── bin │ ├── awshttp │ ├── delete-all-and-wait-if-crd-exists │ ├── delete-all-if-crd-exists │ ├── delete-environment │ ├── delete-nodegroup │ ├── reset-environment │ ├── uninstall-helm-chart │ ├── update-ide │ ├── use-cluster │ └── wait-for-lb ├── cfn │ └── eks-workshop-vscode-cfn.yaml ├── iam │ ├── iam-role-cfn.yaml │ └── policies │ │ ├── base.yaml │ │ ├── ec2.yaml │ │ ├── iam.yaml │ │ ├── labs1.yaml │ │ ├── labs2.yaml │ │ ├── labs3.yaml │ │ ├── labs4.yaml │ │ ├── ssm.yaml │ │ └── troubleshoot.yaml └── scripts │ ├── banner.sh │ ├── entrypoint.sh │ ├── installer.sh │ └── setup.sh ├── link-check-config.json ├── manifests ├── .workshop │ └── terraform │ │ ├── base.tf │ │ ├── lab.tf │ │ ├── lab │ │ └── vars.tf │ │ └── outputs.tf ├── base-application │ ├── assets │ │ ├── configMap.yaml │ │ ├── deployment.yaml │ │ ├── kustomization.yaml │ │ ├── namespace.yaml │ │ ├── service.yaml │ │ └── serviceAccount.yaml │ ├── carts │ │ ├── configMap.yaml │ │ ├── deployment-db.yaml │ │ ├── deployment.yaml │ │ ├── kustomization.yaml │ │ ├── namespace.yaml │ │ ├── service-db.yaml │ │ ├── service.yaml │ │ └── serviceAccount.yaml │ ├── catalog │ │ ├── configMap.yaml │ │ ├── deployment.yaml │ │ ├── kustomization.yaml │ │ ├── namespace.yaml │ │ ├── secrets.yaml │ │ ├── service-mysql.yaml │ │ ├── service.yaml │ │ ├── serviceAccount.yaml │ │ └── statefulset-mysql.yaml │ ├── checkout │ │ ├── configMap.yaml │ │ ├── deployment-redis.yaml │ │ ├── deployment.yaml │ │ ├── kustomization.yaml │ │ ├── namespace.yaml │ │ ├── service-redis.yaml │ │ ├── service.yaml │ │ └── serviceAccount.yaml │ ├── kustomization.yaml │ ├── orders │ │ ├── configMap.yaml │ │ ├── deployment-mysql.yaml │ │ ├── deployment.yaml │ │ ├── kustomization.yaml │ │ ├── namespace.yaml │ │ ├── secrets.yaml │ │ ├── service-mysql.yaml │ │ ├── service.yaml │ │ └── serviceAccount.yaml │ ├── other │ │ ├── configMap.yaml │ │ ├── kustomization.yaml │ │ └── namespace.yaml │ ├── rabbitmq │ │ ├── generated.yaml │ │ ├── kustomization.yaml │ │ └── namespace.yaml │ └── ui │ │ ├── configMap.yaml │ │ ├── deployment.yaml │ │ ├── kustomization.yaml │ │ ├── namespace.yaml │ │ ├── service.yaml │ │ └── serviceAccount.yaml └── modules │ ├── aiml │ ├── chatbot │ │ ├── .workshop │ │ │ ├── cleanup.sh │ │ │ └── terraform │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ └── vars.tf │ │ ├── gradio-mistral │ │ │ ├── gradio-ui.yaml │ │ │ └── kustomization.yaml │ │ ├── gradio │ │ │ ├── gradio-ui.yaml │ │ │ └── kustomization.yaml │ │ ├── nodepool │ │ │ ├── kustomization.yaml │ │ │ ├── nodepool-trn1.yaml │ │ │ └── nodepool-x86.yaml │ │ └── ray-service-neuron-mistral-chatbot │ │ │ ├── kustomization.yaml │ │ │ ├── mistral1.py │ │ │ └── ray_service_mistral.yaml │ └── inferentia │ │ ├── .workshop │ │ ├── cleanup.sh │ │ └── terraform │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ └── vars.tf │ │ ├── base │ │ ├── kustomization.yaml │ │ ├── namespace.yaml │ │ └── serviceaccount.yaml │ │ ├── compiler │ │ ├── compiler.yaml │ │ ├── kustomization.yaml │ │ └── trace.py │ │ ├── inference │ │ ├── inference.py │ │ ├── inference.yaml │ │ └── kustomization.yaml │ │ └── nodepool │ │ ├── kustomization.yaml │ │ └── nodepool.yaml │ ├── automation │ ├── controlplanes │ │ ├── ack │ │ │ ├── .workshop │ │ │ │ ├── cleanup.sh │ │ │ │ ├── manifests │ │ │ │ │ ├── kustomization.yaml │ │ │ │ │ └── nlb.yaml │ │ │ │ └── terraform │ │ │ │ │ ├── main.tf │ │ │ │ │ ├── outputs.tf │ │ │ │ │ ├── templates │ │ │ │ │ └── nlb.yaml │ │ │ │ │ └── vars.tf │ │ │ ├── app │ │ │ │ ├── carts-serviceAccount.yaml │ │ │ │ ├── config.properties │ │ │ │ └── kustomization.yaml │ │ │ └── dynamodb │ │ │ │ ├── dynamodb-create.yaml │ │ │ │ └── kustomization.yaml │ │ └── crossplane │ │ │ ├── .workshop │ │ │ ├── cleanup.sh │ │ │ └── terraform │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ ├── providers │ │ │ │ └── aws-upbound │ │ │ │ │ ├── controller-config.yaml │ │ │ │ │ ├── provider-config.yaml │ │ │ │ │ └── provider.yaml │ │ │ │ ├── templates │ │ │ │ ├── crossplane.yaml │ │ │ │ └── nlb.yaml │ │ │ │ └── vars.tf │ │ │ ├── app │ │ │ ├── carts-serviceAccount.yaml │ │ │ ├── config.properties │ │ │ └── kustomization.yaml │ │ │ ├── compositions │ │ │ ├── claim │ │ │ │ └── claim.yaml │ │ │ └── composition │ │ │ │ ├── definition.yaml │ │ │ │ ├── kustomization.yaml │ │ │ │ └── table.yaml │ │ │ └── managed │ │ │ ├── kustomization.yaml │ │ │ └── table.yaml │ └── gitops │ │ ├── argocd │ │ ├── .workshop │ │ │ ├── cleanup.sh │ │ │ └── terraform │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ └── vars.tf │ │ ├── app-of-apps │ │ │ ├── Chart.yaml │ │ │ ├── templates │ │ │ │ ├── _application.yaml │ │ │ │ └── application.yaml │ │ │ └── values.yaml │ │ ├── apps-kustomization │ │ │ ├── assets │ │ │ │ └── kustomization.yaml │ │ │ ├── carts │ │ │ │ └── kustomization.yaml │ │ │ ├── catalog │ │ │ │ └── kustomization.yaml │ │ │ ├── checkout │ │ │ │ └── kustomization.yaml │ │ │ ├── orders │ │ │ │ └── kustomization.yaml │ │ │ ├── other │ │ │ │ └── kustomization.yaml │ │ │ ├── rabbitmq │ │ │ │ └── kustomization.yaml │ │ │ └── ui │ │ │ │ ├── deployment-patch.yaml │ │ │ │ └── kustomization.yaml │ │ ├── kustomization.yaml │ │ ├── update-application │ │ │ ├── deployment-patch.yaml │ │ │ ├── kustomization.yaml │ │ │ └── kustomization.yaml.example │ │ └── values.yaml │ │ └── flux │ │ ├── .workshop │ │ ├── cleanup.sh │ │ └── terraform │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ └── vars.tf │ │ ├── apps-kustomization.yaml │ │ ├── buildspec-manifest.yml │ │ ├── buildspec.yml │ │ ├── ci-ingress │ │ ├── ingress.yaml │ │ └── kustomization.yaml │ │ ├── flux-kustomization.yaml │ │ ├── imagepolicy.yaml │ │ ├── imagerepository.yaml │ │ ├── imageupdateautomation.yaml │ │ └── ui-kustomization.yaml │ ├── autoscaling │ ├── compute │ │ ├── cluster-autoscaler │ │ │ ├── .workshop │ │ │ │ ├── cleanup.sh │ │ │ │ └── terraform │ │ │ │ │ ├── main.tf │ │ │ │ │ ├── outputs.tf │ │ │ │ │ └── vars.tf │ │ │ ├── deployment.yaml │ │ │ └── kustomization.yaml │ │ ├── karpenter │ │ │ ├── .workshop │ │ │ │ ├── cleanup.sh │ │ │ │ └── terraform │ │ │ │ │ ├── main.tf │ │ │ │ │ ├── outputs.tf │ │ │ │ │ └── vars.tf │ │ │ ├── nodepool │ │ │ │ ├── kustomization.yaml │ │ │ │ ├── nodeclass.yaml │ │ │ │ └── nodepool.yaml │ │ │ └── scale │ │ │ │ ├── deployment.yaml │ │ │ │ └── kustomization.yaml │ │ └── overprovisioning │ │ │ ├── scale │ │ │ ├── deployment.yaml │ │ │ └── kustomization.yaml │ │ │ └── setup │ │ │ ├── deployment-pause.yaml │ │ │ ├── kustomization.yaml │ │ │ ├── priorityclass-default.yaml │ │ │ └── priorityclass-pause.yaml │ └── workloads │ │ ├── cpa │ │ ├── .workshop │ │ │ ├── cleanup.sh │ │ │ └── terraform │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ └── vars.tf │ │ └── values.yaml │ │ ├── hpa │ │ ├── deployment.yaml │ │ ├── hpa.yaml │ │ └── kustomization.yaml │ │ └── keda │ │ ├── .workshop │ │ ├── cleanup.sh │ │ └── terraform │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ └── vars.tf │ │ ├── creating-ingress │ │ └── ingress.yaml │ │ └── scaledobject │ │ ├── kustomization.yaml │ │ └── scaledobject.yaml │ ├── exposing │ ├── ingress │ │ ├── .workshop │ │ │ ├── cleanup.sh │ │ │ └── terraform │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ └── vars.tf │ │ ├── creating-ingress │ │ │ ├── ingress.yaml │ │ │ └── kustomization.yaml │ │ ├── external-dns │ │ │ ├── ingress.yaml │ │ │ └── kustomization.yaml │ │ └── multiple-ingress │ │ │ ├── ingress-catalog.yaml │ │ │ ├── ingress-ui.yaml │ │ │ └── kustomization.yaml │ └── load-balancer │ │ ├── .workshop │ │ ├── cleanup.sh │ │ └── terraform │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ └── vars.tf │ │ ├── ip-mode │ │ ├── kustomization.yaml │ │ └── nlb.yaml │ │ └── nlb │ │ ├── kustomization.yaml │ │ └── nlb.yaml │ ├── fundamentals │ ├── affinity │ │ ├── checkout-redis │ │ │ ├── checkout-redis.yaml │ │ │ ├── checkout.yaml │ │ │ └── kustomization.yaml │ │ └── checkout │ │ │ ├── checkout.yaml │ │ │ └── kustomization.yaml │ ├── fargate │ │ ├── .workshop │ │ │ ├── cleanup.sh │ │ │ └── terraform │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ └── vars.tf │ │ ├── enabling │ │ │ ├── deployment.yaml │ │ │ └── kustomization.yaml │ │ ├── scaling │ │ │ ├── deployment.yaml │ │ │ └── kustomization.yaml │ │ └── sizing │ │ │ ├── deployment.yaml │ │ │ └── kustomization.yaml │ ├── mng │ │ ├── graviton │ │ │ ├── .workshop │ │ │ │ ├── cleanup.sh │ │ │ │ └── terraform │ │ │ │ │ ├── main.tf │ │ │ │ │ ├── outputs.tf │ │ │ │ │ └── vars.tf │ │ │ ├── nodegroup.yaml │ │ │ ├── nodeselector-w-toleration │ │ │ │ ├── deployment.yaml │ │ │ │ └── kustomization.yaml │ │ │ └── nodeselector-wo-toleration │ │ │ │ ├── deployment.yaml │ │ │ │ └── kustomization.yaml │ │ └── spot │ │ │ ├── .workshop │ │ │ ├── cleanup.sh │ │ │ └── terraform │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ └── vars.tf │ │ │ └── deployment │ │ │ ├── deployment.yaml │ │ │ └── kustomization.yaml │ └── storage │ │ ├── ebs │ │ ├── .workshop │ │ │ ├── cleanup.sh │ │ │ └── terraform │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ └── vars.tf │ │ ├── deployment.yaml │ │ ├── kustomization.yaml │ │ ├── service-mysql.yaml │ │ └── statefulset-mysql.yaml │ │ ├── efs │ │ ├── .workshop │ │ │ ├── cleanup.sh │ │ │ └── terraform │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ ├── preprovision │ │ │ │ ├── main.tf │ │ │ │ └── vars.tf │ │ │ │ └── vars.tf │ │ ├── deployment │ │ │ ├── deployment.yaml │ │ │ ├── efspvclaim.yaml │ │ │ └── kustomization.yaml │ │ └── storageclass │ │ │ ├── efsstorageclass.yaml │ │ │ └── kustomization.yaml │ │ ├── fsxn │ │ ├── .workshop │ │ │ ├── cleanup.sh │ │ │ └── terraform │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ ├── preprovision │ │ │ │ ├── main.tf │ │ │ │ └── vars.tf │ │ │ │ ├── values.yaml │ │ │ │ └── vars.tf │ │ ├── backend │ │ │ ├── fsxn-backend-nas.yaml │ │ │ └── kustomization.yaml │ │ ├── deployment │ │ │ ├── deployment.yaml │ │ │ ├── fsxnpvclaim.yaml │ │ │ └── kustomization.yaml │ │ └── storageclass │ │ │ └── fsxnstorageclass.yaml │ │ ├── fsxz │ │ ├── .workshop │ │ │ ├── cleanup.sh │ │ │ └── terraform │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ └── vars.tf │ │ ├── deployment-vol │ │ │ ├── fsxz-vol-pvc.yaml │ │ │ ├── kustomization.yaml │ │ │ └── vol-deployment.yaml │ │ └── storageclass-vol │ │ │ ├── fsxz-vol-sc.yaml │ │ │ └── kustomization.yaml │ │ └── s3 │ │ ├── .workshop │ │ ├── cleanup.sh │ │ └── terraform │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ └── vars.tf │ │ └── deployment │ │ ├── deployment.yaml │ │ ├── kustomization.yaml │ │ └── s3pvclaim.yaml │ ├── introduction │ ├── helm │ │ ├── .workshop │ │ │ ├── cleanup.sh │ │ │ └── terraform │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ └── vars.tf │ │ └── values.yaml │ └── kustomize │ │ ├── deployment.yaml │ │ └── kustomization.yaml │ ├── networking │ ├── custom-networking │ │ ├── .workshop │ │ │ ├── cleanup.sh │ │ │ └── terraform │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ └── vars.tf │ │ ├── provision │ │ │ ├── eniconfigs.yaml │ │ │ └── kustomization.yaml │ │ └── sampleapp │ │ │ ├── checkout.yaml │ │ │ └── kustomization.yaml │ ├── eks-hybrid-nodes │ │ ├── .workshop │ │ │ ├── cleanup.sh │ │ │ └── terraform │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ └── vars.tf │ │ ├── cilium-bgp.yaml │ │ ├── cilium-values.yaml │ │ ├── deployment.yaml │ │ ├── kustomize │ │ │ ├── deployment.yaml │ │ │ ├── ingress.yaml │ │ │ ├── kustomization.yaml │ │ │ ├── namespace.yaml │ │ │ └── service.yaml │ │ ├── kyverno │ │ │ ├── policy.yaml │ │ │ └── values.yaml │ │ └── nodeconfig.yaml │ ├── network-policies │ │ ├── .workshop │ │ │ ├── cleanup.sh │ │ │ └── terraform │ │ │ │ ├── main.tf │ │ │ │ └── vars.tf │ │ ├── apply-network-policies │ │ │ ├── allow-catalog-ingress-db.yaml │ │ │ ├── allow-catalog-ingress-webservice.yaml │ │ │ ├── allow-order-ingress-fail-debug.yaml │ │ │ ├── allow-order-ingress-success-debug.yaml │ │ │ ├── allow-ui-egress.yaml │ │ │ └── default-deny.yaml │ │ └── setup │ │ │ ├── ingress.yaml │ │ │ └── kustomization.yaml │ ├── prefix │ │ ├── deployment-pause.yaml │ │ └── kustomization.yaml │ ├── securitygroups-for-pods │ │ ├── .workshop │ │ │ ├── cleanup.sh │ │ │ └── terraform │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ ├── preprovision │ │ │ │ ├── main.tf │ │ │ │ └── vars.tf │ │ │ │ └── vars.tf │ │ ├── rds │ │ │ ├── catalog-configMap.yaml │ │ │ ├── kustomization.yaml │ │ │ ├── nlb.yaml │ │ │ └── secrets.yaml │ │ └── sg │ │ │ ├── kustomization.yaml │ │ │ └── policy.yaml │ └── vpc-lattice │ │ ├── .workshop │ │ ├── cleanup.sh │ │ └── terraform │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ └── vars.tf │ │ ├── abtesting │ │ ├── delete-deployment-redis.yaml │ │ ├── delete-service-redis.yaml │ │ ├── deploymentv2.yaml │ │ ├── kustomization.yaml │ │ ├── nlb.yaml │ │ └── servicev2.yaml │ │ ├── controller │ │ ├── eks-workshop-gw.yaml │ │ ├── gatewayclass.yaml │ │ └── kustomization.yaml │ │ ├── routes │ │ └── checkout-route.yaml │ │ ├── target-group-policy │ │ ├── kustomization.yaml │ │ ├── target-group-policy-v2.yaml │ │ └── target-group-policy.yaml │ │ └── ui │ │ ├── configmap.yaml │ │ └── kustomization.yaml │ ├── observability │ ├── container-insights │ │ ├── .workshop │ │ │ ├── cleanup.sh │ │ │ └── terraform │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ └── vars.tf │ │ ├── adot-deployment │ │ │ ├── kustomization.yaml │ │ │ └── opentelemetrycollector.yaml │ │ └── adot │ │ │ ├── clusterrole.yaml │ │ │ ├── clusterrolebinding.yaml │ │ │ ├── kustomization.yaml │ │ │ ├── opentelemetrycollector.yaml │ │ │ └── serviceaccount.yaml │ ├── kubecost │ │ ├── .workshop │ │ │ ├── cleanup.sh │ │ │ └── terraform │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ └── vars.tf │ │ └── values.yaml │ ├── logging │ │ ├── cluster │ │ │ └── .workshop │ │ │ │ └── cleanup.sh │ │ └── pods │ │ │ └── .workshop │ │ │ └── terraform │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ └── vars.tf │ ├── opensearch │ │ ├── .workshop │ │ │ ├── cleanup.sh │ │ │ └── terraform │ │ │ │ ├── lambda │ │ │ │ └── logs-to-opensearch.js │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ ├── preprovision │ │ │ │ ├── main.tf │ │ │ │ └── vars.tf │ │ │ │ └── vars.tf │ │ ├── config │ │ │ ├── events-exporter-values.yaml │ │ │ └── fluentbit-values.yaml │ │ ├── opensearch-dashboards.ndjson │ │ └── scenarios │ │ │ └── events │ │ │ ├── base │ │ │ ├── kustomization.yaml │ │ │ ├── namespace.yaml │ │ │ ├── scenario-a.yaml │ │ │ ├── scenario-b.yaml │ │ │ └── scenario-c.yaml │ │ │ └── fix │ │ │ └── kustomization.yaml │ ├── oss-metrics │ │ ├── .workshop │ │ │ ├── cleanup.sh │ │ │ └── terraform │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ └── vars.tf │ │ └── adot │ │ │ ├── clusterrole.yaml │ │ │ ├── clusterrolebinding.yaml │ │ │ ├── kustomization.yaml │ │ │ ├── opentelemetrycollector.yaml │ │ │ └── serviceaccount.yaml │ └── resiliency │ │ ├── .workshop │ │ ├── cleanup.sh │ │ └── terraform │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ └── vars.tf │ │ ├── high-availability │ │ └── config │ │ │ ├── kustomization.yaml │ │ │ └── scale_and_affinity_patch.yaml │ │ └── scripts │ │ ├── AZ-verify-clusters.sh │ │ ├── create-blueprint.sh │ │ ├── get-pods-by-az.sh │ │ ├── node-failure.sh │ │ ├── pod-failure.sh │ │ ├── testing.sh │ │ └── verify-cluster.sh │ ├── security │ ├── Guardduty │ │ └── mount │ │ │ └── privileged-pod-example.yaml │ ├── cam │ │ ├── .workshop │ │ │ ├── cleanup.sh │ │ │ └── terraform │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ └── vars.tf │ │ └── rbac │ │ │ ├── kustomization.yaml │ │ │ ├── role.yaml │ │ │ └── rolebinding.yaml │ ├── eks-pod-identity │ │ ├── .workshop │ │ │ ├── cleanup.sh │ │ │ └── terraform │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ └── vars.tf │ │ └── dynamo │ │ │ ├── carts-configMap.yaml │ │ │ ├── config.properties │ │ │ └── kustomization.yaml │ ├── irsa │ │ ├── .workshop │ │ │ └── terraform │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ └── vars.tf │ │ ├── dynamo │ │ │ ├── carts-configMap.yaml │ │ │ ├── config.properties │ │ │ └── kustomization.yaml │ │ └── service-account │ │ │ ├── carts-serviceAccount.yaml │ │ │ └── kustomization.yaml │ ├── kyverno │ │ ├── .workshop │ │ │ ├── cleanup.sh │ │ │ └── terraform │ │ │ │ ├── main.tf │ │ │ │ └── vars.tf │ │ ├── baseline-policy │ │ │ └── baseline-policy.yaml │ │ ├── images │ │ │ └── restrict-registries.yaml │ │ └── simple-policy │ │ │ ├── add-labels-mutation-policy.yaml │ │ │ ├── require-labels-policy.yaml │ │ │ └── ui-labeled │ │ │ ├── deployment.yaml │ │ │ └── kustomization.yaml │ ├── pss-psa │ │ ├── base │ │ │ └── kustomization.yaml │ │ ├── baseline-namespace │ │ │ ├── deployment.yaml │ │ │ ├── kustomization.yaml │ │ │ └── namespace.yaml │ │ ├── baseline-workload │ │ │ ├── kustomization.yaml │ │ │ └── namespace.yaml │ │ ├── privileged-workload │ │ │ ├── deployment.yaml │ │ │ └── kustomization.yaml │ │ ├── restricted-namespace │ │ │ ├── kustomization.yaml │ │ │ └── namespace.yaml │ │ └── restricted-workload │ │ │ ├── deployment.yaml │ │ │ ├── kustomization.yaml │ │ │ └── namespace.yaml │ ├── sealed-secrets │ │ ├── .workshop │ │ │ └── cleanup.sh │ │ ├── deployment.yaml │ │ ├── kustomization.yaml │ │ └── new-catalog-db.yaml │ └── secrets-manager │ │ ├── .workshop │ │ ├── cleanup.sh │ │ └── terraform │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ └── vars.tf │ │ ├── cluster-secret-store.yaml │ │ ├── external-secrets │ │ ├── deployment.yaml │ │ ├── external-secret.yaml │ │ └── kustomization.yaml │ │ ├── mounting-secrets │ │ ├── deployment.yaml │ │ ├── kustomization.yaml │ │ └── serviceaccount.yaml │ │ └── secret-provider-class.yaml │ └── troubleshooting │ ├── alb │ ├── .workshop │ │ ├── cleanup.sh │ │ └── terraform │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ ├── template │ │ │ ├── break.sh │ │ │ └── other_issue.json │ │ │ └── vars.tf │ ├── creating-alb │ │ ├── fix_ingress │ │ │ ├── ingress.yaml │ │ │ └── kustomization.yaml │ │ ├── fix_ui │ │ │ ├── kustomization.yaml │ │ │ └── service.yaml │ │ ├── ingress.yaml │ │ ├── kustomization.yaml │ │ └── service.yaml │ └── files │ │ └── iam_issue_service_account_role.yaml │ ├── dns │ └── .workshop │ │ ├── cleanup.sh │ │ ├── lab-setup.sh │ │ └── terraform │ │ ├── lab-setup.sh │ │ ├── main.tf │ │ ├── outputs.tf │ │ └── vars.tf │ ├── pod │ └── .workshop │ │ ├── cleanup.sh │ │ └── terraform │ │ ├── deployment_crash.yaml.tpl │ │ ├── deployment_image.yaml │ │ ├── deployment_permissions.yaml.tpl │ │ ├── main.tf │ │ ├── outputs.tf │ │ └── vars.tf │ └── workernodes │ ├── .workshop │ ├── cleanup.sh │ └── terraform │ │ ├── main.tf │ │ ├── outputs.tf │ │ └── vars.tf │ └── yaml │ ├── configmaps-new.yaml │ ├── configmaps.yaml │ ├── daemonset.yaml │ ├── deployment.yaml │ ├── metrics-server.yaml │ ├── namespace.yaml │ └── priority-class.yaml ├── mdlint └── aws-arn-rule.js ├── netlify.toml ├── package.json ├── releaser ├── index.js └── package.json ├── renovate.json ├── templates └── lab-manifests │ └── .workshop │ ├── cleanup.sh │ └── terraform │ ├── main.tf │ ├── outputs.tf │ └── vars.tf ├── testing ├── Dockerfile ├── run.sh └── util │ ├── .dockerignore │ ├── .gitignore │ ├── .npmignore │ ├── README.md │ ├── package-lock.json │ ├── package.json │ ├── src │ ├── cli.ts │ └── lib │ │ ├── gatherer │ │ └── gatherer.ts │ │ ├── markdownsh.ts │ │ └── shell │ │ └── shell.ts │ ├── test-content │ ├── _index.md │ ├── basics │ │ ├── _index.md │ │ ├── empty.md │ │ ├── expect-error.md │ │ ├── introduction.md │ │ ├── multiline.md │ │ └── tests │ │ │ └── hook-expect-error.sh │ └── hooks │ │ ├── _index.md │ │ ├── introduction.md │ │ └── tests │ │ ├── hook-suite.sh │ │ └── hook-test.sh │ ├── tests │ ├── fixtures │ │ └── basic │ │ │ ├── a.md │ │ │ ├── b.md │ │ │ ├── empty │ │ │ ├── block.md │ │ │ └── index.md │ │ │ ├── ignoreme.yml │ │ │ ├── index.md │ │ │ └── nested │ │ │ └── index.md │ ├── gatherer.test.ts │ └── markdownsh.test.ts │ ├── tsconfig.build.json │ └── tsconfig.json ├── website ├── .gitignore ├── .kustomize-env ├── README.md ├── babel.config.js ├── docs │ ├── aiml │ │ ├── chatbot │ │ │ ├── _category_.json │ │ │ ├── add-mistral.md │ │ │ ├── index.md │ │ │ ├── mistral.md │ │ │ ├── nodepool.md │ │ │ ├── setup.md │ │ │ ├── tests │ │ │ │ └── hook-suite.sh │ │ │ └── using.md │ │ ├── genai-platform-aiml-delivery │ │ │ └── index.md │ │ ├── index.md │ │ └── inferentia │ │ │ ├── _category_.json │ │ │ ├── assets │ │ │ ├── CreateModel.webp │ │ │ └── Inference.webp │ │ │ ├── compile.md │ │ │ ├── index.md │ │ │ ├── inference.md │ │ │ ├── karpenter.md │ │ │ ├── tests │ │ │ └── hook-suite.sh │ │ │ └── wrapup.md │ ├── automation │ │ ├── controlplanes │ │ │ ├── _category_.json │ │ │ ├── ack │ │ │ │ ├── assets │ │ │ │ │ ├── ack-desired-current-ddb.webp │ │ │ │ │ ├── cart-items-present.webp │ │ │ │ │ └── eks-workshop-ddb.webp │ │ │ │ ├── configure-application.md │ │ │ │ ├── how-it-works.md │ │ │ │ ├── index.md │ │ │ │ ├── introduction.md │ │ │ │ ├── provision-resources.md │ │ │ │ └── tests │ │ │ │ │ └── hook-suite.sh │ │ │ ├── crossplane │ │ │ │ ├── assets │ │ │ │ │ ├── Crossplane-desired-current-ddb.webp │ │ │ │ │ ├── cart-items-present.webp │ │ │ │ │ ├── claim-architecture-drawing.webp │ │ │ │ │ ├── ddb-claim-architecture.webp │ │ │ │ │ └── eks-workshop-crossplane.webp │ │ │ │ ├── compositions │ │ │ │ │ ├── claims.md │ │ │ │ │ ├── creating-a-composition.md │ │ │ │ │ ├── index.md │ │ │ │ │ └── testing.md │ │ │ │ ├── configure-application.md │ │ │ │ ├── how-it-works.md │ │ │ │ ├── index.md │ │ │ │ ├── resources.md │ │ │ │ └── tests │ │ │ │ │ ├── hook-suite.sh │ │ │ │ │ └── hook-table.sh │ │ │ └── index.md │ │ ├── gitops │ │ │ ├── _category_.json │ │ │ ├── argocd │ │ │ │ ├── access_argocd.md │ │ │ │ ├── app-of-apps │ │ │ │ │ ├── assets │ │ │ │ │ │ ├── argocd-app-of-apps.webp │ │ │ │ │ │ ├── argocd-ui-app-of-apps.webp │ │ │ │ │ │ ├── argocd-ui-apps-synced.webp │ │ │ │ │ │ └── argocd-ui-apps-unknown.webp │ │ │ │ │ ├── deploy_applications.md │ │ │ │ │ ├── index.md │ │ │ │ │ ├── setup.md │ │ │ │ │ ├── tests │ │ │ │ │ │ ├── hook-deploy.sh │ │ │ │ │ │ └── hook-update.sh │ │ │ │ │ └── update_applications.md │ │ │ │ ├── assets │ │ │ │ │ ├── argo-cd-architecture.webp │ │ │ │ │ ├── argocd-deploy-application.webp │ │ │ │ │ ├── argocd-ui-insync-apps.webp │ │ │ │ │ ├── argocd-ui-insync.webp │ │ │ │ │ ├── argocd-ui-outofsync-apps.webp │ │ │ │ │ ├── argocd-ui-outofsync.webp │ │ │ │ │ ├── argocd-ui.webp │ │ │ │ │ └── argocd-update-application.webp │ │ │ │ ├── cleanup │ │ │ │ │ └── index.md.remove │ │ │ │ ├── cluster_bootstrap.md │ │ │ │ ├── codecommit.md │ │ │ │ ├── deploy_application.md │ │ │ │ ├── index.md │ │ │ │ ├── tests │ │ │ │ │ ├── hook-deploy.sh │ │ │ │ │ ├── hook-install.sh │ │ │ │ │ ├── hook-suite.sh │ │ │ │ │ └── hook-update.sh │ │ │ │ └── update_application.md │ │ │ ├── flux │ │ │ │ ├── assets │ │ │ │ │ ├── ci-eks-gitops.webp │ │ │ │ │ ├── ci-multi-arch.webp │ │ │ │ │ ├── ci-start.webp │ │ │ │ │ ├── ci.drawio │ │ │ │ │ ├── ecr.webp │ │ │ │ │ ├── ui-after.webp │ │ │ │ │ └── ui-before.webp │ │ │ │ ├── ci.md │ │ │ │ ├── cluster_bootstrap.md │ │ │ │ ├── codecommit.md │ │ │ │ ├── deploy_application.md │ │ │ │ ├── index.md │ │ │ │ └── tests │ │ │ │ │ ├── hook-flux-deployment.sh │ │ │ │ │ └── hook-suite.sh │ │ │ └── index.md │ │ └── index.md │ ├── autoscaling │ │ ├── compute │ │ │ ├── _category_.json │ │ │ ├── cluster-autoscaler │ │ │ │ ├── index.md │ │ │ │ ├── install.md │ │ │ │ ├── overprovisioning │ │ │ │ │ ├── how-it-works.md │ │ │ │ │ ├── index.md │ │ │ │ │ ├── scaling.md │ │ │ │ │ ├── setting-up.md │ │ │ │ │ └── tests │ │ │ │ │ │ ├── hook-overprovisioning-scale.sh │ │ │ │ │ │ └── hook-overprovisioning-setup.sh │ │ │ │ ├── test-ca.md │ │ │ │ └── tests │ │ │ │ │ ├── hook-ca-pod-scaleout.sh │ │ │ │ │ └── hook-suite.sh │ │ │ ├── index.md │ │ │ └── karpenter │ │ │ │ ├── assets │ │ │ │ └── karpenter-diagram.webp │ │ │ │ ├── configure.md │ │ │ │ ├── consolidation.md │ │ │ │ ├── further.md │ │ │ │ ├── index.md │ │ │ │ ├── node-provisioning.md │ │ │ │ ├── setup-provisioner.md │ │ │ │ └── tests │ │ │ │ ├── hook-grep.sh │ │ │ │ ├── hook-karpenter-deployment.sh │ │ │ │ ├── hook-karpenter-remove.sh │ │ │ │ └── hook-suite.sh │ │ ├── index.md │ │ └── workloads │ │ │ ├── _category_.json │ │ │ ├── cluster-proportional-autoscaler │ │ │ ├── assets │ │ │ │ └── cpa.webp │ │ │ ├── autoscaling-coredns-usecase.md │ │ │ ├── index.md │ │ │ ├── install.md │ │ │ └── tests │ │ │ │ ├── hook-cpa-install.sh │ │ │ │ ├── hook-cpa-pod-scaleout.sh │ │ │ │ └── hook-suite.sh │ │ │ ├── horizontal-pod-autoscaler │ │ │ ├── assets │ │ │ │ └── hpa.webp │ │ │ ├── configure-hpa.md │ │ │ ├── index.md │ │ │ ├── metric-server.md │ │ │ ├── test-hpa.md │ │ │ └── tests │ │ │ │ ├── hook-hpa-pod-scaleout.sh │ │ │ │ └── hook-suite.sh │ │ │ ├── index.md │ │ │ └── keda │ │ │ ├── configure-keda.md │ │ │ ├── index.md │ │ │ ├── install-keda.md │ │ │ ├── test-keda.md │ │ │ ├── tests │ │ │ ├── hook-keda-pod-scaleout.sh │ │ │ ├── hook-suite.sh │ │ │ └── hook-validate-ingress.sh │ │ │ └── validate-ingress.md │ ├── cleanup │ │ └── index.md │ ├── fundamentals │ │ ├── cluster-upgrades │ │ │ └── index.md │ │ ├── exposing │ │ │ ├── _category_.json │ │ │ ├── aws-lb-controller.md │ │ │ ├── index.md │ │ │ ├── ingress │ │ │ │ ├── adding-ingress.md │ │ │ │ ├── assets │ │ │ │ │ ├── multiple-ingress-lb.webp │ │ │ │ │ ├── multiple-ingress-listener.webp │ │ │ │ │ ├── multiple-ingress-rules.webp │ │ │ │ │ └── web-ui.webp │ │ │ │ ├── external-dns.md │ │ │ │ ├── index.md │ │ │ │ ├── introduction.md │ │ │ │ ├── multiple-ingress.md │ │ │ │ └── tests │ │ │ │ │ ├── hook-add-ingress.sh │ │ │ │ │ ├── hook-dns-curl.sh │ │ │ │ │ ├── hook-dns-logs.sh │ │ │ │ │ ├── hook-multiple-ingress.sh │ │ │ │ │ └── hook-suite.sh │ │ │ └── loadbalancer │ │ │ │ ├── adding-lb.md │ │ │ │ ├── assets │ │ │ │ ├── ip-mode.webp │ │ │ │ └── ui-nlb-instance.webp │ │ │ │ ├── index.md │ │ │ │ ├── introduction.md │ │ │ │ ├── ip-mode.md │ │ │ │ └── tests │ │ │ │ ├── hook-add-lb.sh │ │ │ │ └── hook-suite.sh │ │ ├── fargate │ │ │ ├── assets │ │ │ │ └── fargate.webp │ │ │ ├── enabling.md │ │ │ ├── index.md │ │ │ ├── scaling.md │ │ │ ├── scheduling.md │ │ │ ├── sizing.md │ │ │ └── tests │ │ │ │ ├── hook-enabling.sh │ │ │ │ └── hook-suite.sh │ │ ├── index.md │ │ ├── managed-node-groups │ │ │ ├── _category_.json │ │ │ ├── assets │ │ │ │ └── managed-node-groups.webp │ │ │ ├── basics │ │ │ │ ├── adding-nodes │ │ │ │ │ ├── index.md │ │ │ │ │ └── tests │ │ │ │ │ │ ├── hook-add-node.sh │ │ │ │ │ │ └── hook-wait-node.sh │ │ │ │ ├── affinity │ │ │ │ │ └── index.md │ │ │ │ ├── assets │ │ │ │ │ └── added-nodes.webp │ │ │ │ ├── index.md │ │ │ │ ├── tests │ │ │ │ │ └── hook-suite.sh │ │ │ │ └── upgrades │ │ │ │ │ └── index.md │ │ │ ├── graviton │ │ │ │ ├── assets │ │ │ │ │ ├── eks-graviton.drawio │ │ │ │ │ ├── eks-graviton.webp │ │ │ │ │ └── instance-type-name.webp │ │ │ │ ├── configuring-graviton.md │ │ │ │ ├── index.md │ │ │ │ ├── scheduling-graviton.md │ │ │ │ └── tests │ │ │ │ │ ├── hook-configure-taints.sh │ │ │ │ │ ├── hook-pending-pod.sh │ │ │ │ │ └── hook-suite.sh │ │ │ ├── index.md │ │ │ └── spot │ │ │ │ ├── assets │ │ │ │ └── managed-spot-arch.webp │ │ │ │ ├── create-spot-capacity.md │ │ │ │ ├── index.md │ │ │ │ ├── instance-diversification.md │ │ │ │ ├── spot-workload.md │ │ │ │ └── tests │ │ │ │ └── hook-suite.sh │ │ └── storage │ │ │ ├── _category_.json │ │ │ ├── ebs │ │ │ ├── assets │ │ │ │ ├── ebsVolumeScrenshot.webp │ │ │ │ ├── mysql-ebs.webp │ │ │ │ └── mysql-emptydir.webp │ │ │ ├── ebs-csi-driver.md │ │ │ ├── index.md │ │ │ ├── statefulset-with-ebs.md │ │ │ ├── statefulset.md │ │ │ └── tests │ │ │ │ ├── hook-check-pvc.sh │ │ │ │ ├── hook-pod-delete.sh │ │ │ │ └── hook-suite.sh │ │ │ ├── efs │ │ │ ├── assets │ │ │ │ ├── assets-efs.webp │ │ │ │ ├── assets-emptydir.webp │ │ │ │ └── efsfilesystemscreenshort.webp │ │ │ ├── deployment-with-efs.md │ │ │ ├── deployments.md │ │ │ ├── efs-csi-driver.md │ │ │ ├── index.md │ │ │ └── tests │ │ │ │ ├── hook-efs-deployment.sh │ │ │ │ └── hook-suite.sh │ │ │ ├── fsx-for-netapp-ontap │ │ │ ├── assets │ │ │ │ ├── assets-emptydir.webp │ │ │ │ └── assets-fsxn.webp │ │ │ ├── deployment-with-fsxn.md │ │ │ ├── deployments.md │ │ │ ├── fsxn-csi-driver.md │ │ │ ├── index.md │ │ │ └── tests │ │ │ │ ├── hook-efs-deployment.sh │ │ │ │ └── hook-suite.sh │ │ │ ├── fsx-for-openzfs │ │ │ ├── assets │ │ │ │ ├── assets-emptydir.webp │ │ │ │ └── assets-fsxz.webp │ │ │ ├── deployment-with-fsxz.md │ │ │ ├── ephemeral-container-storage.md │ │ │ ├── fsxz-csi-driver.md │ │ │ ├── index.md │ │ │ └── tests │ │ │ │ └── hook-suite.sh │ │ │ ├── index.md │ │ │ └── mountpoint-s3 │ │ │ ├── 10-ephemeral-container-storage.md │ │ │ ├── 20-introduction-to-mountpoint-for-amazon-s3.md │ │ │ ├── 30-persistent-object-storage-with-mountpoint-for-amazon-s3.md │ │ │ ├── assets │ │ │ ├── assets-emptydir.webp │ │ │ └── assets-s3.webp │ │ │ └── index.md │ ├── index.md │ ├── introduction │ │ ├── assets │ │ │ ├── cloud9-arn.webp │ │ │ ├── cloud9-environments.webp │ │ │ ├── environment.webp │ │ │ ├── lab-icon.webp │ │ │ ├── menu.webp │ │ │ ├── search.webp │ │ │ ├── terminal-open.webp │ │ │ ├── terminal.webp │ │ │ └── vscode-copy-paste.webp │ │ ├── getting-started │ │ │ ├── about.md │ │ │ ├── assets │ │ │ │ ├── architecture.webp │ │ │ │ ├── catalog-microservice.webp │ │ │ │ ├── cloud9-files-base.webp │ │ │ │ ├── cloud9-files-initial.webp │ │ │ │ ├── cloud9-files-modules.webp │ │ │ │ ├── cloud9-files.webp │ │ │ │ ├── home.webp │ │ │ │ └── microservices.webp │ │ │ ├── finish.md │ │ │ ├── first.md │ │ │ ├── index.md │ │ │ ├── microservices.md │ │ │ └── packaging-application.md │ │ ├── helm │ │ │ ├── index.md │ │ │ └── tests │ │ │ │ ├── hook-install.sh │ │ │ │ ├── hook-replicas.sh │ │ │ │ └── hook-suite.sh │ │ ├── index.md │ │ ├── kustomize │ │ │ └── index.md │ │ ├── navigating-labs.md │ │ └── setup │ │ │ ├── .notest │ │ │ ├── assets │ │ │ ├── cloud9.webp │ │ │ ├── content-link.webp │ │ │ ├── event-code.webp │ │ │ ├── lab-icon.webp │ │ │ ├── menu.webp │ │ │ ├── openconsole.webp │ │ │ ├── review-and-join.webp │ │ │ ├── search.webp │ │ │ ├── visual-studio-01.png │ │ │ ├── visual-studio-02.png │ │ │ ├── vscode-splash.webp │ │ │ ├── workshop-event-page.webp │ │ │ ├── workshop-studio-06.png │ │ │ ├── workshop-studio-home.webp │ │ │ └── ws-studio-login.webp │ │ │ ├── aws-event.md │ │ │ ├── index.md │ │ │ └── your-account │ │ │ ├── assets │ │ │ ├── acknowledge-iam.webp │ │ │ ├── cloud9-splash.webp │ │ │ ├── cloudshell.webp │ │ │ ├── create-stack.webp │ │ │ ├── delete-stack.webp │ │ │ ├── outputs.webp │ │ │ ├── terminal-open.webp │ │ │ ├── terminal.webp │ │ │ ├── vscode-outputs.webp │ │ │ ├── vscode-password-retrieve.webp │ │ │ ├── vscode-password-visible.webp │ │ │ ├── vscode-password.webp │ │ │ └── vscode-splash.webp │ │ │ ├── cleanup.md │ │ │ ├── index.md │ │ │ ├── using-eksctl.md │ │ │ └── using-terraform.md │ ├── misc │ │ ├── assets │ │ │ ├── cloud9-arn.webp │ │ │ ├── cloud9-environments.webp │ │ │ ├── cloud9-error.webp │ │ │ └── environment.webp │ │ ├── cloud9-access.md │ │ ├── major-upgrade.md │ │ └── migrating.md │ ├── networking │ │ ├── eks-hybrid-nodes │ │ │ ├── assets │ │ │ │ └── lab_environment.png │ │ │ ├── cloud-bursting.md │ │ │ ├── connect-hybrid-node.md │ │ │ ├── index.md │ │ │ └── routing-traffic.md │ │ ├── index.md │ │ ├── vpc-cni │ │ │ ├── _category_.json │ │ │ ├── custom-networking │ │ │ │ ├── assets │ │ │ │ │ ├── custom-networking-intro.webp │ │ │ │ │ └── vpc-secondary-networking.webp │ │ │ │ ├── configure-vpc-cni.md │ │ │ │ ├── deploy-sample-application.md │ │ │ │ ├── index.md │ │ │ │ ├── provision-new-node-group.md │ │ │ │ ├── tests │ │ │ │ │ └── hook-suite.sh │ │ │ │ └── vpc.md │ │ │ ├── index.md │ │ │ ├── network-policies │ │ │ │ ├── debug.md │ │ │ │ ├── egress.md │ │ │ │ ├── index.md │ │ │ │ ├── ingress.md │ │ │ │ ├── setup.md │ │ │ │ └── tests │ │ │ │ │ └── hook-suite.sh │ │ │ ├── prefix │ │ │ │ ├── assets │ │ │ │ │ ├── prefix_flow.webp │ │ │ │ │ └── prefix_subnets.webp │ │ │ │ ├── configure.md │ │ │ │ ├── consume.md │ │ │ │ ├── index.md │ │ │ │ └── tests │ │ │ │ │ └── hook-suite.sh │ │ │ └── security-groups-for-pods │ │ │ │ ├── add-sg.md │ │ │ │ ├── assets │ │ │ │ └── overview.webp │ │ │ │ ├── index.md │ │ │ │ ├── inspecting-pod.md │ │ │ │ ├── introduction.md │ │ │ │ ├── tests │ │ │ │ └── hook-suite.sh │ │ │ │ └── using-rds.md │ │ └── vpc-lattice │ │ │ ├── assets │ │ │ ├── checkout1.webp │ │ │ ├── checkout2.webp │ │ │ ├── checkoutroute.webp │ │ │ ├── examplecheckout.webp │ │ │ ├── fundamentals-mapping.webp │ │ │ ├── latticecheckout.webp │ │ │ ├── latticeprefix.webp │ │ │ ├── preview-app.webp │ │ │ ├── servicenetwork.webp │ │ │ ├── shippingoptions.webp │ │ │ └── vpc_lattice_building_blocks.webp │ │ │ ├── configuring-routes.md │ │ │ ├── gateway-api-controller.md │ │ │ ├── index.md │ │ │ ├── service-network.md │ │ │ ├── setup.md │ │ │ ├── testing-routing.md │ │ │ └── tests │ │ │ ├── hook-route.sh │ │ │ └── hook-suite.sh │ ├── observability │ │ ├── assets │ │ │ ├── cloud-native-architecture.webp │ │ │ └── oss-architecture.webp │ │ ├── cleanup │ │ │ └── tests │ │ │ │ └── hook-suite.sh │ │ ├── container-insights │ │ │ ├── assets │ │ │ │ ├── container-insights-metrics-console.webp │ │ │ │ ├── cw-dashboard.webp │ │ │ │ ├── dashboard-edit-metrics.webp │ │ │ │ ├── dashboard-metrics.webp │ │ │ │ ├── query1.webp │ │ │ │ └── query2.webp │ │ │ ├── collect-metrics-adot-ci.md │ │ │ ├── index.md │ │ │ ├── logs-insights.md │ │ │ ├── tests │ │ │ │ ├── hook-deploy-adot-ci.sh │ │ │ │ ├── hook-install.sh │ │ │ │ ├── hook-metrics.sh │ │ │ │ └── hook-suite.sh │ │ │ └── visualize-application-metrics-cloudwatch.md │ │ ├── high-availability │ │ │ ├── 01-scale.md │ │ │ ├── 02-pod-failure.md │ │ │ ├── 03-node-failure-no-fis.md │ │ │ ├── 04-node-failure-partial-fis.md │ │ │ ├── 05-node-failure-complete-fis.md │ │ │ ├── 06-az-setup.md │ │ │ ├── 07-az-failure.md │ │ │ ├── index.md │ │ │ └── tests │ │ │ │ └── hook-suite.sh │ │ ├── index.md │ │ ├── kubecost │ │ │ ├── amp.md │ │ │ ├── assets │ │ │ │ ├── AWS-AMP-integ-architecture.webp │ │ │ │ ├── aggregate-by-deployment.webp │ │ │ │ ├── cloud9.webp │ │ │ │ ├── controllers.webp │ │ │ │ ├── costallocation-filter.webp │ │ │ │ ├── costallocation-label.webp │ │ │ │ ├── costallocation.webp │ │ │ │ ├── namespace.webp │ │ │ │ ├── orders.webp │ │ │ │ ├── overview.webp │ │ │ │ └── team.webp │ │ │ ├── costallocation.md │ │ │ ├── index.md │ │ │ ├── introduction.md │ │ │ └── tests │ │ │ │ └── hook-suite.sh │ │ ├── logging │ │ │ ├── _category_.json │ │ │ ├── cluster-logging │ │ │ │ ├── assets │ │ │ │ │ ├── log-insights-group.webp │ │ │ │ │ ├── log-insights-initial.webp │ │ │ │ │ ├── log-insights-query.webp │ │ │ │ │ ├── logging-cluster-control-plane-logging-tab.webp │ │ │ │ │ ├── logging-cluster-cw-loggroup.webp │ │ │ │ │ ├── logging-cluster-cw-logstream.webp │ │ │ │ │ ├── logging-cluster-enable-control-plane-logging.webp │ │ │ │ │ ├── logging-cluster-enable-logging.webp │ │ │ │ │ ├── logging-cluster-logging-tab.webp │ │ │ │ │ └── logging-cluster-observability-tab.webp │ │ │ │ ├── enable-eks-logging.md │ │ │ │ ├── index.md │ │ │ │ ├── log-insights.md │ │ │ │ ├── tests │ │ │ │ │ ├── hook-cluster-logging.sh │ │ │ │ │ └── hook-suite.sh │ │ │ │ └── verify-logs.md │ │ │ ├── index.md │ │ │ └── pod-logging │ │ │ │ ├── assets │ │ │ │ ├── fluentbit-architecture.webp │ │ │ │ ├── log-group.webp │ │ │ │ ├── log-streams.webp │ │ │ │ └── logs.webp │ │ │ │ ├── fluent-bit-cloudwatch.md │ │ │ │ ├── fluentbit-setup.md │ │ │ │ ├── index.md │ │ │ │ └── tests │ │ │ │ ├── hook-desc-cm.sh │ │ │ │ ├── hook-get-all.sh │ │ │ │ ├── hook-pods-log.sh │ │ │ │ └── hook-suite.sh │ │ ├── open-source-metrics │ │ │ ├── accessing-grafana.md │ │ │ ├── adot.md │ │ │ ├── amp-ws.md │ │ │ ├── application-metrics.md │ │ │ ├── assets │ │ │ │ ├── amg12.webp │ │ │ │ ├── amgws.webp │ │ │ │ ├── dashboard.webp │ │ │ │ ├── datasource.webp │ │ │ │ ├── editPanel.webp │ │ │ │ ├── grafana-login.webp │ │ │ │ ├── order-service-metrics-dashboard.webp │ │ │ │ ├── promqlQuery.webp │ │ │ │ ├── query.webp │ │ │ │ ├── retailMetrics.webp │ │ │ │ ├── totalOrderPrice.webp │ │ │ │ ├── totalOrders.webp │ │ │ │ ├── totalusage.webp │ │ │ │ └── watchCount.webp │ │ │ ├── index.md │ │ │ ├── kubernetes-dashboards.md │ │ │ └── tests │ │ │ │ ├── hook-check-grafana.sh │ │ │ │ ├── hook-deploy-adot.sh │ │ │ │ ├── hook-install.sh │ │ │ │ └── hook-suite.sh │ │ ├── opensearch │ │ │ ├── access-opensearch.md │ │ │ ├── assets │ │ │ │ ├── eks-control-plane-logs-dashboard.webp │ │ │ │ ├── eks-control-plane-logs-detail.webp │ │ │ │ ├── eks-control-plane-logs-overview.webp │ │ │ │ ├── eks-control-plane-logs-scheduler.webp │ │ │ │ ├── eks-events-overview.webp │ │ │ │ ├── eks-pod-logs-overview.webp │ │ │ │ ├── events-dashboard.webp │ │ │ │ ├── events-debug.webp │ │ │ │ ├── events-detail.webp │ │ │ │ ├── opensearch-confirm-1.webp │ │ │ │ ├── opensearch-confirm-2.webp │ │ │ │ ├── opensearch-dashboard-launch.webp │ │ │ │ ├── opensearch-login.webp │ │ │ │ ├── pod-logging-dashboard.webp │ │ │ │ ├── pod-logging-detail.webp │ │ │ │ ├── scenario-a.webp │ │ │ │ ├── scenario-b.webp │ │ │ │ └── scenario-c.webp │ │ │ ├── control-plane-logs.md │ │ │ ├── events.md │ │ │ ├── index.md │ │ │ ├── pod-logs.md │ │ │ └── tests │ │ │ │ ├── hook-cluster-logging.sh │ │ │ │ └── hook-suite.sh │ │ └── resource-view │ │ │ ├── addon_view.md │ │ │ ├── index.md │ │ │ ├── observability_view.md │ │ │ ├── tests │ │ │ └── hook-suite.sh │ │ │ └── workloads-view │ │ │ ├── _category_.json │ │ │ ├── auth_authz_view.md │ │ │ ├── cluster_view.md │ │ │ ├── extensions_view.md │ │ │ ├── index.md │ │ │ ├── policy_view.md │ │ │ ├── secret_config_view.md │ │ │ ├── service_view.md │ │ │ └── storage_view.md │ ├── security │ │ ├── amazon-eks-pod-identity │ │ │ ├── assets │ │ │ │ ├── error.webp │ │ │ │ └── success.webp │ │ │ ├── index.md │ │ │ ├── introduction.md │ │ │ ├── tests │ │ │ │ ├── hook-enable-dynamo.sh │ │ │ │ ├── hook-enable-pod-identity.sh │ │ │ │ ├── hook-pod-logs.sh │ │ │ │ └── hook-suite.sh │ │ │ ├── understanding.md │ │ │ ├── use-pod-identity.md │ │ │ ├── using-dynamo.md │ │ │ └── verifying-dynamo.md │ │ ├── assets │ │ │ ├── managed-nodegroups.webp │ │ │ └── selfmanaged-nodegroups.webp │ │ ├── cluster-access-management │ │ │ ├── assets │ │ │ │ └── cam-workflow.webp │ │ │ ├── associating-policies.md │ │ │ ├── index.md │ │ │ ├── kubernetes-rbac.md │ │ │ ├── managing.md │ │ │ ├── migrating.md │ │ │ ├── tests │ │ │ │ └── hook-suite.sh │ │ │ └── understanding.md │ │ ├── guardduty │ │ │ ├── assets │ │ │ │ ├── eksprotection.webp │ │ │ │ ├── findings.webp │ │ │ │ ├── gd_enable.webp │ │ │ │ ├── gd_getstart.webp │ │ │ │ └── runtime-coverage.webp │ │ │ ├── cleanup.md │ │ │ ├── enabling.md │ │ │ ├── index.md │ │ │ ├── log-monitoring │ │ │ │ ├── admin-default-sa.md │ │ │ │ ├── assets │ │ │ │ │ ├── admin-access-sa.webp │ │ │ │ │ ├── exec-finding.webp │ │ │ │ │ ├── exposed-dashboard.webp │ │ │ │ │ ├── finding-action.webp │ │ │ │ │ ├── finding-details.webp │ │ │ │ │ ├── investigate.webp │ │ │ │ │ ├── privileged-container.webp │ │ │ │ │ └── sensitive-mount.webp │ │ │ │ ├── exposed_dashboard.md │ │ │ │ ├── index.md │ │ │ │ ├── privileged_container_mount.md │ │ │ │ └── unsafe-kube-system.md │ │ │ ├── runtime-monitoring │ │ │ │ ├── assets │ │ │ │ │ ├── binary-execution.webp │ │ │ │ │ ├── crypto-runtime.webp │ │ │ │ │ └── reverse-shell.webp │ │ │ │ ├── crypto-runtime.md │ │ │ │ └── index.md │ │ │ └── tests │ │ │ │ └── hook-suite.sh │ │ ├── iam-roles-for-service-accounts │ │ │ ├── add_irsa.md │ │ │ ├── assets │ │ │ │ ├── error.webp │ │ │ │ ├── oidc.webp │ │ │ │ └── success.webp │ │ │ ├── index.md │ │ │ ├── introduction.md │ │ │ ├── tests │ │ │ │ ├── hook-enable-dynamo.sh │ │ │ │ ├── hook-pod-logs.sh │ │ │ │ └── hook-suite.sh │ │ │ ├── understanding.md │ │ │ ├── using-dynamo.md │ │ │ └── verifying-dynamo.md │ │ ├── index.md │ │ ├── kyverno │ │ │ ├── assets │ │ │ │ ├── .gitkeep │ │ │ │ ├── aws-logo.webp │ │ │ │ └── ky-arch.webp │ │ │ ├── baseline-pss.md │ │ │ ├── creating-policy.md │ │ │ ├── index.md │ │ │ ├── reports.md │ │ │ ├── restricting-images.md │ │ │ └── tests │ │ │ │ ├── hook-reports.sh │ │ │ │ └── hook-suite.sh │ │ ├── pod-security-standards │ │ │ ├── assets │ │ │ │ ├── k8s-admission-controllers.webp │ │ │ │ └── using-pss-psa.webp │ │ │ ├── baseline.md │ │ │ ├── index.md │ │ │ ├── privileged.md │ │ │ ├── restricted.md │ │ │ └── tests │ │ │ │ ├── hook-baseline-deploy-no-changes.sh │ │ │ │ ├── hook-baseline-deploy-with-changes.sh │ │ │ │ ├── hook-baseline-namespace-no-labels.sh │ │ │ │ ├── hook-baseline-namespace.sh │ │ │ │ ├── hook-privileged-deploy-with-changes.sh │ │ │ │ ├── hook-privileged-namespace-no-labels.sh │ │ │ │ ├── hook-restricted-deploy-no-changes.sh │ │ │ │ ├── hook-restricted-deploy-with-changes.sh │ │ │ │ ├── hook-restricted-namespace-no-labels.sh │ │ │ │ ├── hook-restricted-namespace.sh │ │ │ │ └── hook-suite.sh │ │ └── secrets-management │ │ │ ├── _category_.json │ │ │ ├── exploring-secrets.md │ │ │ ├── index.md │ │ │ ├── sealed-secrets │ │ │ ├── index.md │ │ │ ├── installing-sealed-secrets.md │ │ │ ├── managing-sealing-keys.md │ │ │ ├── sealing-secrets.md │ │ │ ├── tests │ │ │ │ └── hook-suite.sh │ │ │ └── working.md │ │ │ └── secrets-manager │ │ │ ├── ascp.md │ │ │ ├── assets │ │ │ ├── choose-type.webp │ │ │ ├── configure-secret.webp │ │ │ └── store-new-secret.webp │ │ │ ├── create-secret.md │ │ │ ├── external-secrets.md │ │ │ ├── index.md │ │ │ ├── mounting-secrets.md │ │ │ └── tests │ │ │ ├── hook-install.sh │ │ │ └── hook-suite.sh │ └── troubleshooting │ │ ├── _category_.json │ │ ├── alb │ │ ├── alb_fix_1.md │ │ ├── alb_fix_5.md │ │ ├── alb_fix_7.md │ │ ├── alb_fix_wrapping_up.md │ │ ├── assets │ │ │ ├── IntScen-ALBC-1-2.webp │ │ │ ├── alb-503.webp │ │ │ ├── alb-does-not-exist.webp │ │ │ ├── alb-working.webp │ │ │ └── ingress.webp │ │ ├── index.md │ │ └── tests │ │ │ ├── hook-fix-1.sh │ │ │ ├── hook-fix-5.sh │ │ │ ├── hook-fix-7.sh │ │ │ └── hook-suite.sh │ │ ├── dns │ │ ├── 1-config.md │ │ ├── 2-check-coredns.md │ │ ├── 3-check-kube-dns.md │ │ ├── 4-check-vpc.md │ │ └── index.md │ │ ├── index.md │ │ ├── pod │ │ ├── assets │ │ │ ├── rep-not-found.webp │ │ │ └── repo-found.webp │ │ ├── container_creating.md │ │ ├── index.md │ │ ├── private_image.md │ │ ├── public_image.md │ │ └── tests │ │ │ ├── hook-fix-1.sh │ │ │ ├── hook-fix-2.sh │ │ │ ├── hook-fix-3.sh │ │ │ └── hook-suite.sh │ │ └── workernodes │ │ ├── index.md │ │ ├── one.md │ │ ├── tests │ │ ├── hook-fix-1-1.sh │ │ ├── hook-fix-1-2.sh │ │ ├── hook-fix-2-1.sh │ │ ├── hook-fix-2-2.sh │ │ ├── hook-fix-2-3.sh │ │ ├── hook-fix-3-1.sh │ │ └── hook-suite.sh │ │ ├── three.md │ │ └── two.md ├── docusaurus.config.js ├── netlify-build.sh ├── package.json ├── sidebars.js ├── src │ ├── components │ │ ├── BlueprintsAddon │ │ │ ├── index.tsx │ │ │ └── styles.module.css │ │ ├── BrowserWindow │ │ │ ├── index.tsx │ │ │ └── styles.module.css │ │ ├── ConsoleButton │ │ │ ├── index.tsx │ │ │ └── styles.module.css │ │ ├── HomepageFeatures │ │ │ ├── index.js │ │ │ └── styles.module.css │ │ ├── HomepageVideo │ │ │ ├── index.js │ │ │ └── styles.module.css │ │ ├── Kustomization │ │ │ ├── index.tsx │ │ │ └── styles.module.css │ │ ├── LaunchButton │ │ │ ├── index.tsx │ │ │ └── styles.module.css │ │ ├── Terminal │ │ │ ├── index.tsx │ │ │ └── styles.module.css │ │ └── YamlFile │ │ │ ├── index.tsx │ │ │ └── styles.module.css │ ├── css │ │ └── custom.scss │ ├── pages │ │ ├── index.js │ │ ├── index.module.css │ │ └── markdown-page.md │ ├── remark │ │ ├── code-terminal.js │ │ ├── include-code.js │ │ ├── include-kustomization.js │ │ ├── include-yaml.js │ │ ├── parameters.js │ │ └── time.js │ └── theme │ │ ├── CodeBlock │ │ └── Line │ │ │ ├── index.js │ │ │ └── styles.module.css │ │ ├── DocSidebarItem │ │ ├── Category │ │ │ └── index.js │ │ └── Link │ │ │ ├── index.js │ │ │ └── styles.module.css │ │ ├── Footer │ │ └── index.js │ │ └── MDXComponents.js ├── static │ ├── .nojekyll │ ├── _redirects │ └── img │ │ ├── couch.webp │ │ ├── favicon.png │ │ ├── keda │ │ └── keda-cloudwatch.png │ │ ├── logo.svg │ │ ├── meta.jpg │ │ ├── meta.png │ │ ├── path.webp │ │ ├── resource-view │ │ ├── auth-resources.jpg │ │ ├── auth-sa-detail.jpg │ │ ├── auth-sa-detail.png │ │ ├── auth-sa.jpg │ │ ├── authz-crole-detail.jpg │ │ ├── authz-crole-detail.png │ │ ├── authz-crole.jpg │ │ ├── authz-crole.png │ │ ├── authz-crolebinding-detail.jpg │ │ ├── authz-crolebinding.jpg │ │ ├── autz-index.jpg │ │ ├── autz-index.png │ │ ├── autz-role-detail.jpg │ │ ├── autz-role.jpg │ │ ├── autz-role.png │ │ ├── autz-rolebinding.jpg │ │ ├── cluster-node-detail1.jpg │ │ ├── cluster-node-detail2.jpg │ │ ├── cluster-node-detail3.jpg │ │ ├── cluster-node.jpg │ │ ├── cluster-node.png │ │ ├── cluster-ns.jpg │ │ ├── cluster-ns.png │ │ ├── cluster-resources.jpg │ │ ├── config-configMap.jpg │ │ ├── config-configMap.png │ │ ├── config-configmap-1.jpg │ │ ├── config-configmap-2.jpg │ │ ├── config-configmap-2.png │ │ ├── config-secret-2.jpg │ │ ├── config-secret-2.png │ │ ├── config-secrets-1.jpg │ │ ├── config-secrets.jpg │ │ ├── config-secrets.png │ │ ├── daemonset-detail.jpg │ │ ├── daemonset.jpg │ │ ├── daemonset.png │ │ ├── deployment-detail.jpg │ │ ├── deployment-detail.png │ │ ├── deploymentSet.jpg │ │ ├── deploymentSet.png │ │ ├── eks-overview.jpg │ │ ├── ext-admincontroller.png │ │ ├── ext-crd.jpg │ │ ├── ext-crd.png │ │ ├── ext-mutatingwebhook-detail.jpg │ │ ├── ext-mutatingwebhook-detail.png │ │ ├── ext-mutatingwebhook.jpg │ │ ├── ext-valiatewebhook-detail.jpg │ │ ├── ext-valiatewebhook-detail.png │ │ ├── ext-valiatewebhook.jpg │ │ ├── ext-valiatewebhook.png │ │ ├── filter-pod.jpg │ │ ├── find-add-ons.jpg │ │ ├── observability-view.jpg │ │ ├── pod-detail-raw.jpg │ │ ├── pod-detail-raw.png │ │ ├── pod-detail-structured.jpg │ │ ├── policy-poddisruption-detail.jpg │ │ ├── policy-poddisruption-detail.png │ │ ├── policy-poddisruption.jpg │ │ ├── policy-podsec-detail.jpg │ │ ├── policy-podsec.jpg │ │ ├── policy-podsec.png │ │ ├── replica-set.jpg │ │ ├── role-binding-detail.jpg │ │ ├── role-binding-detail.png │ │ ├── rs-detail.jpg │ │ ├── rs-detail.png │ │ ├── select-add-ons.jpg │ │ ├── service-detail.jpg │ │ ├── service-endpoint-detail.jpg │ │ ├── service-endpoint.jpg │ │ ├── service-endpoint.png │ │ ├── service-endpoint.webp │ │ ├── service-resources.jpg │ │ ├── service-view.jpg │ │ ├── storage-csidrivers.png │ │ ├── storage-csidrivers.webp │ │ ├── storage-csinodes.png │ │ ├── storage-csinodes.webp │ │ ├── storage-pv.png │ │ ├── storage-pv.webp │ │ ├── storage-pvclaim-detail.jpg │ │ ├── storage-pvclaim-detail.png │ │ ├── storage-pvclaim-detail2.jpg │ │ ├── storage-pvclaim-detail3.jpg │ │ ├── storage-pvclaim.jpg │ │ ├── storage-storageclasses.png │ │ ├── storage-storageclasses.webp │ │ ├── storage-volumeattachment.png │ │ ├── storage-volumeattachment.webp │ │ └── view-pods.jpg │ │ ├── sample-app-screens │ │ ├── architecture.webp │ │ ├── chatbot.webp │ │ ├── error-500.webp │ │ ├── gardio_mistral_SS.png │ │ ├── home.webp │ │ └── shopping-cart.webp │ │ ├── self_paced.webp │ │ ├── services │ │ ├── aps.png │ │ ├── cloudwatch.png │ │ ├── codebuild.png │ │ ├── codecommit.png │ │ ├── codepipeline.png │ │ ├── console.png │ │ ├── dynamodb.png │ │ ├── ec2.png │ │ ├── ecr.png │ │ ├── efs.png │ │ ├── eks.png │ │ ├── elb.png │ │ ├── guardduty.png │ │ ├── rds.png │ │ ├── route53.png │ │ ├── vpc-lattice.png │ │ └── vpc.png │ │ └── workshop.webp └── test-durations.json └── yarn.lock /.markdownlint.json: -------------------------------------------------------------------------------- 1 | { 2 | "default": true, 3 | "MD013": false, 4 | "MD014": false, 5 | "MD033": false, 6 | "customRules": ["mdlint/aws-arn-rule.js"] 7 | } 8 | -------------------------------------------------------------------------------- /.mergify.yml: -------------------------------------------------------------------------------- 1 | pull_request_rules: 2 | - name: Automatically approve Renovate PRs 3 | conditions: 4 | - author = renovate[bot] 5 | actions: 6 | review: 7 | type: APPROVE 8 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | .git/ 2 | .vscode 3 | .docusaurus 4 | test-output 5 | dist 6 | lab-timing-data.json 7 | _application.yaml 8 | website/build -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /.yarnrc.yml: -------------------------------------------------------------------------------- 1 | nodeLinker: node-modules 2 | 3 | yarnPath: .yarn/releases/yarn-4.9.2.cjs 4 | -------------------------------------------------------------------------------- /NOTICE: -------------------------------------------------------------------------------- 1 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | -------------------------------------------------------------------------------- /cluster/cdk/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/eks-workshop-v2/fdc959d6eba3766710450eb46060f0f06f49b864/cluster/cdk/.gitkeep -------------------------------------------------------------------------------- /cluster/terraform/main.tf: -------------------------------------------------------------------------------- 1 | locals { 2 | tags = { 3 | created-by = "eks-workshop-v2" 4 | env = var.cluster_name 5 | } 6 | } -------------------------------------------------------------------------------- /devenv.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=https://devenv.sh/devenv.schema.json 2 | inputs: 3 | nixpkgs: 4 | url: github:cachix/devenv-nixpkgs/rolling 5 | 6 | allowUnfree: true -------------------------------------------------------------------------------- /direnvrc: -------------------------------------------------------------------------------- 1 | source_url "https://raw.githubusercontent.com/cachix/devenv/82c0147677e510b247d8b9165c54f73d32dfd899/direnvrc" "sha256-7u4iDd1nZpxL4tCzmPG0dQgC5V+/44Ba+tHkPob1v2k=" 2 | 3 | use devenv 4 | -------------------------------------------------------------------------------- /docs/images/browser-window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/eks-workshop-v2/fdc959d6eba3766710450eb46060f0f06f49b864/docs/images/browser-window.png -------------------------------------------------------------------------------- /docs/images/console-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/eks-workshop-v2/fdc959d6eba3766710450eb46060f0f06f49b864/docs/images/console-button.png -------------------------------------------------------------------------------- /docs/images/eks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/eks-workshop-v2/fdc959d6eba3766710450eb46060f0f06f49b864/docs/images/eks.png -------------------------------------------------------------------------------- /docs/images/terminal-window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/eks-workshop-v2/fdc959d6eba3766710450eb46060f0f06f49b864/docs/images/terminal-window.png -------------------------------------------------------------------------------- /docs/images/yaml-annotations.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/eks-workshop-v2/fdc959d6eba3766710450eb46060f0f06f49b864/docs/images/yaml-annotations.png -------------------------------------------------------------------------------- /docs/images/yaml-plain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/eks-workshop-v2/fdc959d6eba3766710450eb46060f0f06f49b864/docs/images/yaml-plain.png -------------------------------------------------------------------------------- /governance/working-groups/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/eks-workshop-v2/fdc959d6eba3766710450eb46060f0f06f49b864/governance/working-groups/.gitkeep -------------------------------------------------------------------------------- /governance/working-groups/automation/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/eks-workshop-v2/fdc959d6eba3766710450eb46060f0f06f49b864/governance/working-groups/automation/.gitkeep -------------------------------------------------------------------------------- /governance/working-groups/autoscaling/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/eks-workshop-v2/fdc959d6eba3766710450eb46060f0f06f49b864/governance/working-groups/autoscaling/.gitkeep -------------------------------------------------------------------------------- /governance/working-groups/cost-optimization/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/eks-workshop-v2/fdc959d6eba3766710450eb46060f0f06f49b864/governance/working-groups/cost-optimization/.gitkeep -------------------------------------------------------------------------------- /governance/working-groups/infra/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/eks-workshop-v2/fdc959d6eba3766710450eb46060f0f06f49b864/governance/working-groups/infra/.gitkeep -------------------------------------------------------------------------------- /governance/working-groups/networking/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/eks-workshop-v2/fdc959d6eba3766710450eb46060f0f06f49b864/governance/working-groups/networking/.gitkeep -------------------------------------------------------------------------------- /governance/working-groups/observability/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/eks-workshop-v2/fdc959d6eba3766710450eb46060f0f06f49b864/governance/working-groups/observability/.gitkeep -------------------------------------------------------------------------------- /governance/working-groups/security/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/eks-workshop-v2/fdc959d6eba3766710450eb46060f0f06f49b864/governance/working-groups/security/.gitkeep -------------------------------------------------------------------------------- /hack/lib/kubectl-version.sh: -------------------------------------------------------------------------------- 1 | export KUBECTL_VERSION='v1.31.3' 2 | -------------------------------------------------------------------------------- /hack/lib/terraform-context.sh: -------------------------------------------------------------------------------- 1 | terraform_dir="$SCRIPT_DIR/../$terraform_context" 2 | 3 | export ASSUME_ROLE=$(terraform -chdir=$terraform_dir output -raw iam_role_arn) 4 | 5 | TEMP='/tmp/eks-workshop-shell-env' 6 | 7 | terraform -chdir=$terraform_dir output -raw environment_variables > $TEMP 8 | -------------------------------------------------------------------------------- /lab/bin/delete-environment: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -Eeuo pipefail 4 | 5 | reset-environment 6 | 7 | kubectl delete -k /eks-workshop/manifests/base-application > /dev/null 8 | -------------------------------------------------------------------------------- /lab/iam/policies/ssm.yaml: -------------------------------------------------------------------------------- 1 | Version: "2012-10-17" 2 | Statement: 3 | - Effect: Allow 4 | Action: 5 | ssm:CreateActivation 6 | Resource: 7 | - !Sub arn:aws:iam::${AWS::AccountId}:role/${Env}-hybrid-node-role-* -------------------------------------------------------------------------------- /manifests/.workshop/terraform/outputs.tf: -------------------------------------------------------------------------------- 1 | output "environment" { 2 | description = "Evaluated by the IDE shell" 3 | value = <