{"id":13577940,"url":"https://github.com/MartinHeinz/tekton-kickstarter","last_synced_at":"2025-04-05T15:31:56.907Z","repository":{"id":101433246,"uuid":"338792652","full_name":"MartinHeinz/tekton-kickstarter","owner":"MartinHeinz","description":"Templates, scripts and samples for quickly building CI/CD with Tekton.","archived":false,"fork":false,"pushed_at":"2023-01-06T10:03:57.000Z","size":747,"stargazers_count":46,"open_issues_count":2,"forks_count":10,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-11-05T15:48:25.875Z","etag":null,"topics":["cd","ci","cicd","kubernetes","pipeline","tekton","tekton-pipelines"],"latest_commit_sha":null,"homepage":"","language":"Makefile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MartinHeinz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2021-02-14T11:44:41.000Z","updated_at":"2024-10-27T20:54:19.000Z","dependencies_parsed_at":null,"dependency_job_id":"c71fd705-d208-4cef-b0b8-b24c0a876e31","html_url":"https://github.com/MartinHeinz/tekton-kickstarter","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MartinHeinz%2Ftekton-kickstarter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MartinHeinz%2Ftekton-kickstarter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MartinHeinz%2Ftekton-kickstarter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MartinHeinz%2Ftekton-kickstarter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MartinHeinz","download_url":"https://codeload.github.com/MartinHeinz/tekton-kickstarter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247358958,"owners_count":20926331,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["cd","ci","cicd","kubernetes","pipeline","tekton","tekton-pipelines"],"created_at":"2024-08-01T15:01:25.555Z","updated_at":"2025-04-05T15:31:51.893Z","avatar_url":"https://github.com/MartinHeinz.png","language":"Makefile","funding_links":["https://ko-fi.com/K3K6F4XN6"],"categories":["Makefile"],"sub_categories":[],"readme":"# Tekton CI/CD Kickstarter\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"cover.png\" alt=\"Cover Image\"\u003e\u003c/img\u003e\n\u003c/p\u003e\n\nScripts, configs and resources for quick and easy setup of Tekton Pipelines.\n\n-----\n\nIf you find this useful, you can support me on Ko-Fi (Donations are always appreciated, but never required):\n\n[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/K3K6F4XN6)\n\n## Blog Posts - More Information About This Repo\n\nYou can find more information about this project/repository and how to use it in following blog post:\n\n- [Cloud Native CI/CD with Tekton  -  Laying The Foundation](https://martinheinz.dev/blog/45)\n- [Cloud Native CI/CD with Tekton - Building Custom Tasks](https://martinheinz.dev/blog/47)\n\n## Prerequisites\n\n- `jq`\n- `kubectl`\n- `kind`\n\nAlso recommended:\n\n- `tkn`\n- `yamllint`\n\n## Setting Up\n\n- Populate variables in `.env`\n- Run `make secrets` and verify generated secret values in `./misc/secrets.yaml`\n- Run `make` to deploy core components (KinD cluster, Pipelines, Tasks, Triggers, Event listener Ingress)\n    - Event listener Ingress is available at `localhost/`. You can test sample pipeline with:\n    \n```shell\n~ $ curl -H 'X-GitHub-Event: push' \\\n    -H 'Content-Type: application/json' \\\n    -d '{\n      \"repository\": {\"ssh_url\": \"git@github.com:kelseyhightower/nocode.git\"},\n      \"head_commit\": {\"id\": \"6c073b08f7987018cbb2cb9a5747c84913b3608e\", \"message\": \"add style guide\"},\n      \"ref\": \"refs/heads/master\"\n    }' \\\n    localhost\n\n~ $ kubectl get pr\nNAME           SUCCEEDED   REASON    STARTTIME   COMPLETIONTIME\ndeploy-nd8r5   Unknown     Running   10s        \n\n~ $ kubectl get tr\nNAME                                      SUCCEEDED   REASON      STARTTIME   COMPLETIONTIME\ndeploy-nd8r5-build-sngns                  True        Succeeded   2m5s        113s\ndeploy-nd8r5-clean-z7hww                  True        Succeeded   112s        104s\ndeploy-nd8r5-deploy-bnq65                 True        Succeeded   113s        106s\ndeploy-nd8r5-dive-nt9fd                   True        Succeeded   113s        103s\ndeploy-nd8r5-fetch-repository-9s8q8       True        Succeeded   2m14s       2m5s\ndeploy-nd8r5-generate-build-id-9lfcq      True        Succeeded   2m22s       2m16s\ndeploy-nd8r5-get-application-name-jfn57   True        Succeeded   2m22s       2m15s\ndeploy-nd8r5-healthcheck-68thd            True        Succeeded   105s        2m15s\ndeploy-nd8r5-notify-f8gha                 True        Succeeded   2m15s       2m20s\n```\n\n- Optionally deploy dashboard with `make dashboard`\n    - This also creates Ingress - dashboard is available at `localhost/dashboard/` (URL must include trailing `/`)\n\n## Layout\n\nLayout of files in the project:\n```\ntekton-kickstarter\n├── config                     - Tekton Pipelines configurations - Defaults for Tasks and Pipelines + Feature flags\n├── dashboard                  - Resources for Tekton Dashboard - Ingress\n├── kind                       - Custom configuration for KinD cluster for local development\n├── Makefile                   - Make targets for simple provisioning and setup\n├── misc                       - Miscellaneous configuration files, such as ServiceAccounts, RBAC, Secrets (SSH keys, Docker) or Quotas\n|\n├── pipelines                  - Actuals pipelines, one pipeline per file + test for each\n│   └── pipeline-name          - Directory containing pipeline\n│       ├── pipeline-name.yaml - File containing Pipeline\n│       └── tests              - Directory with files for testing\n│           ├── resources.yaml - Resources required for testing, e.g. PVC, Deployment\n│           └── run.yaml       - PipelineRun(s) that performs the test\n|\n├── tasks                      - Custom or remotely retrieved Tasks and ClusterTasks\n│   ├── catalog.yaml           - List of Tasks retrieved from remote registries (e.g. Tekton catalog)\n│   └── task-name              - Other custom Task\n|     ├── task-name.yaml       - File containing Task or ClusterTask\n|     └── tests                - Directory with files for testing\n|         ├── resources.yaml   - Resources required for testing, e.g. PVC, Deployment\n|         └── run.yaml         - TaskRun(s) that performs the test\n|\n└── triggers  - Tekton Triggers files\n    ├── cron  - Cron-based pipeline triggers and CronJobs to generate events\n    └── http  - HTTP-based pipeline triggers and Ingress/Route to make it reachable\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMartinHeinz%2Ftekton-kickstarter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FMartinHeinz%2Ftekton-kickstarter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMartinHeinz%2Ftekton-kickstarter/lists"}