Skip to content
/ build Public
forked from shipwright-io/build

[ Proposal ] An API to build images on Kubernetes with diverse strategies

License

Notifications You must be signed in to change notification settings

LiYa-Xu/build

 
 

Repository files navigation

Work in Progress

The build Kubernetes API

Codenamed build-v2

An API to build container-images on Kubernetes using popular strategies and tools like source-to-image, buildpack-v3, kaniko, jib and buildah, in an extensible way.

Dependencies

Dependency Supported versions
Kubernetes v1.15.*, v1.16.*, v1.17.*
Tekton v0.11.*

How

The following are the build strategies supported by this operator, out-of-the-box:

Users have the option to define their own BuildStrategy or ClusterBuildStrategy resources and make them available for consumption via the Build resource.

Operator Resources

This operator ships four CRDs :

  • The BuildStragegy CRD and the ClusterBuildStrategy CRD is used to register a strategy.
  • The Build CRD is used to define a build configuration.
  • The BuildRun CRD is used to start the actually image build using a registered strategy.

Read the Docs

Version Docs Examples
HEAD Docs @ HEAD Examples @ HEAD

Examples

Examples of Build resource using the example strategies shipped with this operator.

Try it!

apiVersion: build.dev/v1alpha1
kind: Build
metadata:
  name: kaniko-golang-build
  namespace: build-examples
spec:
  source:
    url: https://github.com/sbose78/taxi
    contextDir: .
  strategy:
    name: kaniko
    kind: ClusterBuildStrategy
  dockerfile: Dockerfile
  output:
    image: image-registry.openshift-image-registry.svc:5000/build-examples/taxi-app
apiVersion: build.dev/v1alpha1
kind: BuildRun
metadata:
  name: kaniko-golang-buildrun
  namespace: build-examples
spec:
  buildRef:
    name: kaniko-golang-build
  serviceAccount:
    generate: true

Development


Roadmap

Build Strategies Support

Build Strategy Alpha Beta GA
Source-to-Image
Buildpacks-v3-heroku ☑️
Buildpacks-v3 ☑️
Kaniko ☑️
Buildah ☑️

Features

Feature Alpha Beta GA
Private Git Repos ☑️
Private Output Image Registry ☑️
Private Builder Image Registry ☑️
Cluster scope BuildStrategy ☑️
Runtime Base Image ⚪️
Binary builds
Image Caching
ImageStreams support
Entitlements

About

[ Proposal ] An API to build images on Kubernetes with diverse strategies

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 91.5%
  • Shell 6.2%
  • Makefile 1.8%
  • Dockerfile 0.5%