{"id":18806311,"url":"https://github.com/rootfs/knative-build","last_synced_at":"2026-01-08T14:30:16.032Z","repository":{"id":79263657,"uuid":"136658818","full_name":"rootfs/knative-build","owner":"rootfs","description":"A K8s-native Build resource.","archived":false,"fork":false,"pushed_at":"2018-07-16T21:25:11.000Z","size":7230,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-12-29T21:23:09.703Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rootfs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"roadmap-2018.md","authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-06-08T19:33:05.000Z","updated_at":"2018-10-04T15:00:23.000Z","dependencies_parsed_at":null,"dependency_job_id":"3cd5fcff-d0f9-4f67-8bd8-f7147c8db861","html_url":"https://github.com/rootfs/knative-build","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rootfs%2Fknative-build","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rootfs%2Fknative-build/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rootfs%2Fknative-build/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rootfs%2Fknative-build/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rootfs","download_url":"https://codeload.github.com/rootfs/knative-build/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239742416,"owners_count":19689309,"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":[],"created_at":"2024-11-07T22:48:09.834Z","updated_at":"2026-01-08T14:30:15.959Z","avatar_url":"https://github.com/rootfs.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Build CRD\n\nThis repository implements `Build` and `BuildTemplate` custom resources\nfor Kubernetes, and a controller for making them work.\n\nIf you are interested in contributing, see [CONTRIBUTING.md](./CONTRIBUTING.md)\nand [DEVELOPMENT.md](./DEVELOPMENT.md).\n\n## Objective\n\nKubernetes is emerging as the predominant (if not de facto) container\norchestration layer. It is also quickly becoming the foundational layer on top\nof which the ecosystem is building higher-level compute abstractions (PaaS,\nFaaS). In order to increase developer velocity, these higher-level compute\nabstractions typically operate on source, not just containers, which must be\nbuilt.\n\nThis repository provides an implementation of the Build [CRD](\nhttps://kubernetes.io/docs/concepts/api-extension/custom-resources/) that runs\nBuilds on-cluster (by default), because that is the lowest common denominator\nthat we expect users to have available. It is also possible to write a\n[pkg/builder](./pkg/builder) implementation that delegates Builds to hosted\nservices (e.g. [Google Container Builder](./pkg/builder/google)), but these are\ntypically more restrictive.\n\nThis project as it exists today is not a complete standalone product that could\nbe used for CI/CD, but it provides a building block to facilitate the\nexpression of Builds as part of larger systems. It might provide a building\nblock for CI/CD in [the future](./roadmap-2018.md)\n\n## Terminology and Conventions\n\n* [Builds](./builds.md)\n* [Build Templates](./build-templates.md)\n* [Builders](./builder-contract.md)\n* [Authentication](./cmd/creds-init/README.md)\n\n## Getting Started\n\nYou can install the latest release of the Build CRD by running:\n```shell\nkubectl create -f https://storage.googleapis.com/build-crd/latest/release.yaml\n```\n\n### Run your first `Build`\n\nCreate your first `build.yaml`:\n\n```yaml\napiVersion: build.dev/v1alpha1\nkind: Build\nmetadata:\n  name: hello-build\nspec:\n  steps:\n  - name: hello\n    image: busybox\n    args: ['echo', 'hello', 'build']\n```\n\nRun it on your Kubernetes cluster:\n\n```shell\n$ kubectl apply -f build.yaml\nbuild \"hello-build\" created\n```\n\nCheck that it was created:\n\n```shell\n$ kubectl get builds\nNAME          AGE\nhello-build   4s\n```\n\nGet more information about the build:\n\n```shell\n$ kubectl get build hello-build -oyaml\napiVersion: build.dev/v1alpha1\nkind: Build\n...\nstatus:\n  builder: Cluster\n  cluster:\n    namespace: default\n    podName: hello-build-jx4ql\n  conditions:\n  - state: Complete\n    status: \"True\"\n  stepStates:\n  - terminated:\n      reason: Completed\n  - terminated:\n      reason: Completed\n```\n\nThis indicates that the build finished successfully, and that it ran on a\npod named `hello-build-jx4ql` -- your build will run on a pod with a\ndifferent name. Let's dive into that pod!\n\n```shell\n$ kubectl get pod hello-build-jx4ql -oyaml\n...lots of interesting stuff!\n```\n\nHere's a shortcut for getting a build's underlying `podName`:\n\n```shell\n$ kubectl get build hello-build -ojsonpath={.status.cluster.podName}\n```\n\nThe build's underlying pod also contains the build's logs, in an init\ncontainer named after the build step's name. In the case of this example, the\nbuild step's name was `hello`, so the pod will have an init container named\n`build-step-hello` which ran the step.\n\n```shell\n$ kubectl logs $(kubectl get build hello-build -ojsonpath={.status.cluster.podName}) -c build-step-hello\nhello build\n```\n\n:tada:\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frootfs%2Fknative-build","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frootfs%2Fknative-build","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frootfs%2Fknative-build/lists"}