Shipwright Operator
An operator to install and configure Shipwright on Kubernetes clusters.
Installation
The Shipwright operator is designed to be installed with the Operator Lifecycle Manager ("OLM").
Before installation, ensure that OLM has been deployed on your cluster by following the OLM installation instructions.
Once OLM has been deployed, use the following command to install the latest operator release from operatorhub.io:
$ kubectl apply -f https://operatorhub.io/install/shipwright-operator.yaml
OLM Dependencies
When installed via OLM using the provided Shipwright Operator Bundle, the Shipwright operator will ask OLM to deploy the following operators:
- The Tekton operator to deploy and manage Tekton Pipelines.
- The Cert-Manager operator to provision certificates for admission/conversion webhooks.
For this to work, the Shipwright operator must be included in a catalog that includes these other operators.
Usage
To deploy and manage Shipwright Builds in your cluster,
first make sure this operator is installed and running.
Next, create the following:
---
apiVersion: operator.shipwright.io/v1alpha1
kind: ShipwrightBuild
metadata:
name: shipwright-operator
spec:
targetNamespace: shipwright-build
The operator will deploy Shipwright Builds in the provided targetNamespace
.
When .spec.targetNamespace
is not set, the namespace will default to shipwright-build
.
Refer to the ShipwrightBuild documentation for more information about this custom resource.
The operator handles differents environment variables to customize Shiprwright controller installation:
- KO_DATA_PATH : defines the shipwright controller manifest to install
- USE_MANAGED_WEBHOOK_CERTS: defines wether the webook ssl certificate is installed by the operator. It requires cert-manager to be installed in the cluster.
- IMAGE_SHIPWRIGHT_SHIPWRIGHT_BUILD : defines the Shipwright Build Controller Image to use
- IMAGE_SHIPWRIGHT_GIT_CONTAINER_IMAGE: defines the Shipwright Git Container Image to use
- IMAGE_SHIPWRIGHT_IMAGE_PROCESSING_CONTAINER_IMAGE: defines the Shipwright Processing Image to use
- IMAGE_SHIPWRIGHT_BUNDLE_CONTAINER_IMAGE: defines the Shipwright Bundle Image to use
- IMAGE_SHIPWRIGHT_WAITER_CONTAINER_IMAGE: defines the Shipwright Waiter Image to use
- IMAGE_SHIPWRIGHT_SHIPWRIGHT_BUILD_WEBHOOK: defines the Shipwright Build Webhook Image to use
For more information about the function of these images, please consider the Shipwright Build doc https://github.com/shipwright-io/build/blob/main/docs/configuration.md
Contributing
Please review the overall project
Contributing Guide before
submitting bug reports, feature requests, or code.
Want to start hacking on the operator? Refer to the Development Guilde to learn
how to build, test, and deploy the operator.