Skip to main content

Shipwright v0.20 Is Here!

· 4 min read
Shipwright Contributors

We are excited to announce the release of Shipwright v0.20.0! This release brings multi-architecture image build support, improved strategy management, and updates across the Build, CLI, and Operator projects.

Build Updates

Multi-Architecture Output Platforms

A new spec.output.platforms field has been added to Build and BuildRun resources, allowing you to define target OS/architecture combinations for multi-architecture image builds. The BuildRun controller validates platform entries up front and rejects invalid or conflicting configurations before a build starts. This feature requires the controller to run in PipelineRun executor mode (BUILDRUN_EXECUTOR=PipelineRun), building on the execution mode introduced in v0.19.

Build Strategy Improvements

The sample buildpacks build strategies now support configuring insecure registries in a fashion similar to the buildah and source-to-image strategies.

BuildStrategy and ClusterBuildStrategy resources now support Kustomize strategic merge patching for individual build steps by name, so patches no longer replace the entire steps list.

Secret Reconciliation Simplification

You are no longer required to use the build.shipwright.io/referenced.secret=true annotation on Secrets to cause related Builds to be reconciled when a Secret changes. The annotation is without meaning now.

Infrastructure and Dependency Updates

  • Updated to Tekton LTS v1.12.0
  • Increased resource requests and limits for the Ko build strategy to better meet real-world use cases
  • The minimum supported Kubernetes version is now v1.34.0
  • The minimum supported Tekton version is now v1.3.0 (Tekton LTS v1.12.0 is recommended)

Check out the full release notes on GitHub for further details. Note that there are also v0.20.5 and other patch releases that rebuild components to address vulnerabilities in base images and Go standard libraries.

CLI Updates

BuildRun Gather Command

The new shp buildrun gather subcommand collects BuildRun, TaskRun/PipelineRun, Pod, and individual pod log objects for troubleshooting. Use the --output flag to set the destination directory and the --archive flag to compress the output as a .tar.gz archive.

shp buildrun gather my-buildrun --output ./debug --archive

This release also updates user-facing logs to follow a consistent pattern across subcommands.

See the CLI release notes on GitHub for further details.

Operator Update

The operator was upgraded to deploy Shipwright Build v0.20.0 components. It also adds optional Shipwright Triggers support. Set spec.triggers.enable: true on the ShipwrightBuild custom resource to deploy the Triggers controller alongside Shipwright Build.

See the operator release notes on GitHub for details.

Installing Shipwright

Build

  1. Install Tekton LTS v1.12.0:

    kubectl apply --filename https://infra.tekton.dev/tekton-releases/pipeline/previous/v1.12.0/release.yaml
  2. Install v0.20.0 using the release YAML manifest:

    kubectl apply --filename https://github.com/shipwright-io/build/releases/download/v0.20.0/release.yaml --server-side

    curl --silent --location https://raw.githubusercontent.com/shipwright-io/build/v0.20.0/hack/setup-webhook-cert.sh | bash
  3. (Optionally) Install the sample build strategies using the YAML manifest:

    kubectl apply --filename https://github.com/shipwright-io/build/releases/download/v0.20.0/sample-strategies.yaml --server-side

CLI

Windows

curl --silent --fail --location https://github.com/shipwright-io/cli/releases/download/v0.20.0/shp_0.20.0_windows_x86_64.tar.gz | tar xzf - shp.exe
shp version
shp help

Mac

curl --silent --fail --location https://github.com/shipwright-io/cli/releases/download/v0.20.0/shp_0.20.0_macOS_$(uname -m).tar.gz | tar -xzf - -C /usr/local/bin shp
shp version
shp help

Linux

curl --silent --fail --location "https://github.com/shipwright-io/cli/releases/download/v0.20.0/shp_0.20.0_linux_$(uname -m | sed 's/aarch64/arm64/').tar.gz" | sudo tar -xzf - -C /usr/bin shp
shp version
shp help

Operator

To deploy and manage Shipwright Builds in your cluster, first ensure the operator v0.20.0 is installed and running on your cluster. You can follow the instructions on OperatorHub.

To enable optional Shipwright Triggers support, set spec.triggers.enable: true on your ShipwrightBuild resource:

---
apiVersion: operator.shipwright.io/v1alpha1
kind: ShipwrightBuild
metadata:
name: shipwright-operator
spec:
targetNamespace: shipwright-build
triggers:
enable: true

Shipwright v0.19 Is Here!

· 4 min read
Shipwright Contributors

We are excited to announce the release of Shipwright v0.19.0! This release brings meaningful new features for resource management, runtime flexibility, and improved developer experience.

Shipwright v0.17 Is Here!

· 3 min read
Adam Kaplan
Shipwright Maintainer

We are excited to announce the release of Shipwright v0.17.0! This release brings a small set of new features, important fixes, and miscellaneous updates that enhance the Shipwright experience.

Shipwright v0.16 Is Here

· 3 min read
Enrique Encalada
Shipwright Maintainer

We are happy to announce the latest release of Shipwright's main projects - v0.16.0. In this release, besides new features and fixes, we're excited to announce that we've launched a brand new website! It's been redesigned from the ground up to better showcase the project, make it easier to navigate, and help you find everything you need. Special thank you to @rxinui for this core contribution!

Shipwright build scheduler features

· 5 min read
Dylan Orzel
Shipwright Contributor

New Build Scheduler Features

A new set of build scheduling features introduced in v0.15 allows users to specify node selectors, custom schedulers, and tolerations for builds.

These make it easier to schedule builds on clusters with nodes of multiple CPU architectures, use a scheduler that is tuned to a certain workflow, or just more general control of which nodes builds run on.

Shipwright v0.15 Is Here

· 3 min read
Adam Kaplan
Shipwright Maintainer

We are happy to announce the latest release of Shipwright's main projects - v0.15.z. You may have noticed the usual ".0" in the version has been replaced with a ".z" - more on this in a minute!

Building Secure Container images with Shipwright

· 6 min read
Karan Kumar
Shipwright Contributor

Introduction

In the modern software development era, containers have become an essential tool for developers. They offer a consistent environment for applications to run, making it easier to develop, test, and deploy software across different platforms. However, like any other technology, containers are not immune to security vulnerabilities. This is where vulnerability scanning for container images becomes crucial. In this blog, we will discuss how to run vulnerability scanning on container images with Shipwright while building those images.

Before jumping into this feature, let's explain what Shipwright is and why vulnerability scanning is important.

Shipwright v0.13.0 Is Here

· 5 min read
Enrique Encalada
Shipwright Maintainer

Update 2024-07-09: added Operator installation instructions

After months of diligent work, just in time for cdCon 2024, we are releasing our v0.13.0 release. This significant milestone incorporates a bunch of enhancements, features and bug fixes. Here are the key highlights: