1
0
mirror of https://github.com/tektoncd/catalog.git synced 2024-11-21 05:55:35 +00:00
catalog/task/makisu/0.1
vinamra28 1c7fd558fd Deprecate tasks which are using PipelineResources
few Tasks still uses PipelineResources which is no longer available
in latest version of pipelines hence marking them as deprecated

Signed-off-by: vinamra28 <jvinamra776@gmail.com>
2023-09-27 12:52:25 +01:00
..
makisu.yaml Deprecate tasks which are using PipelineResources 2023-09-27 12:52:25 +01:00
README.md [TEP-0110] Update Tekton Catalog installation instructions 2022-08-16 16:25:52 +01:00

makisu

This Task builds source into a container image using uber's makisu tool.

Makisu is a fast and flexible Docker image build tool designed for unprivileged containerized environments such as Mesos or Kubernetes.

Create the registry configuration

makisu uses a registry configuration which should be stored as a secret in Kubernetes.

Create a registry.yaml containing your user and password for the Docker hub (or configure a different registry). Keep in mind that the secret must exist in the same namespace as the build runs.

For example:

index.docker.io:
  .*:
    security:
      tls:
        client:
          disabled: false
      basic:
        username: ""
        password: ""
kubectl --namespace default create secret generic docker-registry-config --from-file=./registry.yaml

Install the Task

kubectl apply -f https://api.hub.tekton.dev/v1/resource/tekton/task/makisu/0.1/raw

Parameters

  • CONTEXTPATH: The path to the build context (default: /workspace)
  • PUSH_REGISTRY: The Registry to push the image to (default: index.docker.io)
  • REGISTRY_SECRET: Secret containing information about the used regsitry (default: docker-registry-config)

Workspaces

  • source: A Workspace containing the source to build.

Resources

Outputs

  • image: An image-type PipelineResource specify the image that should be built.

Platforms

The Task can be run on linux/amd64 platform.

Usage

This TaskRun runs the Task to fetch a Git repo, and build and push a container image using makisu.

In this example, the Git repo being built is expected to have a Dockerfile at the root of the repository.

Docker Registry

apiVersion: tekton.dev/v1beta1
kind: TaskRun
metadata:
  name: example-run
spec:
  taskRef:
    name: makisu
  workspaces:
  - name: source
    persistentVolumeClaim:
      claimName: my-source
  resource:
    outputs:
    - name: image
      resourceSpec:
        type: image
        params:
        - name: url
          value: gcr.io/my-repo/my-image

Other Registries

The PUSH_REGISTRY must match the name of the registry specified in the registry.yaml

apiVersion: tekton.dev/v1beta1
kind: TaskRun
metadata:
  name: example-run-gcr
spec:
  taskRef:
    name: makisu
  params:
  - name: PUSH_REGISTRY # must match the registry in the secret
    value: eu.gcr.io
  - name: REGISTRY_SECRET
    value: gcr-registry-config
  workspaces:
  - name: source
    persistentVolumeClaim:
      claimName: my-source
  resources:
    outputs:
    - name: image
      resourceSpec:
        type: image
        params:
        - name: url
          value: gcr.io/my-repo/my-image