{"id":20976328,"url":"https://github.com/paradoxinversion/k8s-keptn","last_synced_at":"2026-04-17T05:34:44.946Z","repository":{"id":41117255,"uuid":"508075586","full_name":"paradoxinversion/k8s-keptn","owner":"paradoxinversion","description":null,"archived":false,"fork":false,"pushed_at":"2022-08-12T19:26:54.000Z","size":99,"stargazers_count":0,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-31T23:55:04.617Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/paradoxinversion.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-06-27T22:08:37.000Z","updated_at":"2022-06-27T22:09:34.000Z","dependencies_parsed_at":"2022-07-13T12:20:30.898Z","dependency_job_id":null,"html_url":"https://github.com/paradoxinversion/k8s-keptn","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/paradoxinversion/k8s-keptn","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paradoxinversion%2Fk8s-keptn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paradoxinversion%2Fk8s-keptn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paradoxinversion%2Fk8s-keptn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paradoxinversion%2Fk8s-keptn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/paradoxinversion","download_url":"https://codeload.github.com/paradoxinversion/k8s-keptn/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paradoxinversion%2Fk8s-keptn/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31917099,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T18:22:33.417Z","status":"online","status_checked_at":"2026-04-17T02:00:06.879Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-19T04:52:49.464Z","updated_at":"2026-04-17T05:34:44.905Z","avatar_url":"https://github.com/paradoxinversion.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# K8s with Keptn\r\n\r\nThis repository seeks to reduce the amount of labor required to set up Keptn with Continuous Delivery and Multistage Deployment on a k8s cluster. There are two main scripts: `create-vm.ps1` and `k8s-keptn-cluster-setup.sh`.\r\n\r\n# Prerequisites\r\n\r\n## __Operating System__\r\n\r\nWindows 10+ on Intel or AMD Architecture (Scripts are currently __untested__ on other systems/architectures)\r\n\r\n## Software\r\n\r\n### __Multipass__\r\nDownload \u0026 Install [Multipass](https://multipass.run)\r\n\r\n### __Powershell__\r\n\r\nWe'll be running commands in [Powershell](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell?view=powershell-7.2), so that should be installed on your machine and running as __Administrator__\r\n\r\n# Run the Scripts\r\n\r\n\u003e The following steps were taken and code was created on a Windows 10 PC with the latest version of Multipass as of 6/28/2022.\r\n\r\n\u003e You will need administrator access in your Windows environment\r\n\r\nRunning these scripts will take place in a Powershell with Administrator privileges. On Windows 10, Powershell can be opened by typing \"Windows Powershell\" (or \"Powershell\") into the search bar, then right clicking the entry, and left clicking __Run As Administrator__ in the context menu.\r\n\r\n## create-vm.ps1\r\n\r\nParameters\r\n\r\n```\r\nVM_NAME [DEBUG]\r\n```\r\n\r\nUsage\r\n\r\n```\r\n.\\create-vm.ps1 -VM_NAME \"k8s\" [-DEBUG True]\r\n```\r\n\r\nThis script handles creation of a multipass VM with baseline resources required for a Keptn installation. VM is launched with: the name $VM_NAME, 4 CPUs, 16G of memory, 20G of disk space on a bridged ethernet connection. \r\n\r\nWe can confirm the VM has been properly created by running `multipass list`. Outptut should include our vm name and IPv4 address for the cluster. This is important, as we'll be binding/ingressing on this port.\r\n\r\n```sh\r\nName                    State             IPv4             Image\r\nk8s                     Running           172.24.152.27    Ubuntu 20.04 LTS\r\n                                          10.0.0.114\r\n```\r\n\r\nWe can enter our new VM by running `multipass shell k8s` in Powershell.\r\n\r\n## remove-vm.ps1\r\n\r\nParameters\r\n\r\n```\r\nVM_NAME\r\n```\r\n\r\nUsage\r\n\r\n```\r\n.\\remove -vm.ps1 -VM_NAME \"k8s\"\r\n```\r\n\r\nThis script stops and deletes a virtual machine, then purges all deleted instances from multipass.\r\n\r\n# Prepare the VM\r\n\r\n\u003e After running create-vm.ps1, run `multipass shell \u003cvm-name\u003e`\r\n\r\n\u003e You should be in the home folder of your VM\r\n\r\n```\r\ngit clone https://github.com/paradoxinversion/k8s-keptn.git\r\nsudo chmod +x -R ./k8s-keptn\r\ncd ./k8s-keptn\r\n```\r\nProceed with `setup-cluster.sh`\r\n\r\n## setup-cluster.sh\r\n\r\nUsage\r\n\r\n```\r\n. ./setup-cluster.sh\r\n```\r\n\r\nThis script handles download and install of kubectl and k3s cluster. It should be run first. This script and others will add environment variables to your linux environment.\r\n\r\n## setup-helm.sh\r\n\r\nUsage\r\n\r\n```\r\n. ./setup-helm.sh\r\n```\r\n\r\nThis script downloads and installs helm 3. Helm will be required to package helm charts for our microservices.\r\n\r\n## setup-istio-cli.sh\r\n\r\nUsage\r\n\r\n```\r\n. ./setup-istio-cli.sh\r\n```\r\n\r\nThis script downloads istio and exports istioctl. It then installs istio into the cluster.\r\n\r\n## setup-keptn\r\n\r\nUsage\r\n\r\n```\r\n. ./setup-keptn.sh\r\n```\r\n\r\nThis script installs the keptn control and execution plane into the cluster.\r\n\r\n## configure-istio\r\n\r\nUsage\r\n\r\n```\r\n. ./configure-istio.sh\r\n```\r\n\r\nThis script configures ingress for keptn and a public gateway for deployed applications via istio.\r\n\r\n## authenticate-keptn.sh\r\n\r\nUsage\r\n\r\n```\r\n. ./authenticate-keptn.sh\r\n```\r\n\r\nThis script authenticates the keptn cli and removes credentialing from the keptn bridge for demo purposes.\r\n\r\n## create-project.sh\r\n\r\nParameters\r\n\r\n```\r\nPROJECTNAME [SHIPYARD]\r\n```\r\n\r\nUsage\r\n\r\n```\r\n. ./create-project.sh demo [./custom/path/to/shipyard.yaml]\r\n```\r\n\r\nThis script creates a keptn project.\r\n\r\n## create-service.sh\r\n\r\nParameters\r\n\r\n```\r\nPROJECTNAME SERVICENAME HELM_CHART_VERSION\r\n```\r\n\r\nUsage\r\n\r\n```\r\n. ./create-service demo demo-svc 0.1.0\r\n```\r\n\r\nThis script checks for a helm chart definition at `./charts/$SERVICENAME` and fails early if it does not exists. It then checks for a helm chart at `./$SERVICENAME-$HELM_CHART_VERSION.tgz` and removes it if it exists. The chart is then packaged at that location, a keptn service is created, and the helm chart is applied via `keptn add-resource`.\r\n\r\n## setup-jmeter.sh\r\n\r\nParameters\r\n\r\n```\r\nKEPTN_PROJECT KEPTN_SERVICE KEPTN_STAGE\r\n```\r\n\r\nUsage\r\n\r\n```\r\n. ./setup-jmeter.sh demo demo-svc hardening\r\n```\r\n\r\nThis script adds jmeter resources `jmeter.conf.yaml`, `basiccheck.jmx`, and `load.jmx` via `keptn add-resource` to the supplied project, service, and stage.\r\n\r\n# Support\r\n\r\n__Please note, there will likely be limited support for this repository. It's intended to make my personal and professional life easier, while being a starting point for other folks. Feel free to fork, but don't expect requests to be managed in a timely fashion__\r\n\r\n# Acknlowedgements\r\n\r\nKeptn's examples and demos have been a great help pulling together the scripts needed to make a one-shot setup.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparadoxinversion%2Fk8s-keptn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fparadoxinversion%2Fk8s-keptn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparadoxinversion%2Fk8s-keptn/lists"}