Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 18 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,11 +1,18 @@
# node modules
node_modules/

# Production
/build

# Hugo output
resources/
public/
.hugo_build.lock

# Docusaurus Generated files
.docusaurus
.cache-loader

# Supporting tools
bin/

Expand All @@ -26,4 +33,14 @@ hugo.linux
# Temporary lock file while building
.hugo_build.lock
themes/**
.DS_Store
.DS_Store

# Misc
.env.local
.env.development.local
.env.test.local
.env.production.local

npm-debug.log*
yarn-debug.log*
yarn-error.log*
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: missing newline

14 changes: 6 additions & 8 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,20 @@ all: build

.PHONY: build
build: clean ## build the site
hugo -F --minify
yarn build

.PHONY: build-preview
build-preview: clean ## build a preview, with future-dated content allowed.
hugo -F --minify
yarn build

.PHONY: clean
clean: ## clean the build assets
rm -rf public/*
rm -rf build/*

.PHONY: install
install: ## install dependencies
bundle
npm install
hugo mod get
hugo mod graph
yarn

.PHONY: netlify
netlify:
Expand All @@ -32,11 +30,11 @@ netlify-preview: ## build a preview of the site for Netlify

.PHONY: serve
serve: ## serve the content locally for testing
hugo server
yarn start

.PHONY: serve-preview
serve-preview: ## serve the preview content locally for testing
hugo server -F
yarn start

.PHONY: bin-dir
bin-dir: ## Creates a local "bin" directory for helper applications.
Expand Down
27 changes: 12 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,33 +6,30 @@ This repository contains the assets needed to build the Shipwright website and d

## Using this repository

You can run the website locally using the Hugo static site generator.
This website is built using [Docusaurus](https://docusaurus.io/), a modern static website generator.

### Getting Started
### Installation

To use this repository, you need the following installed locally:

* `npm` - this can be obtained by installing [Node.js](https://nodejs.org/en/download/) on your system.
* [Hugo](https://gohugo.io/getting-started/installing/) - be sure to install the **extended version**.
* [Go SDK](https://go.dev/doc/install) v1.21 or higher.
```bash
yarn
```

Once installed, clone the repository and navigate to the directory:
### Local Development

```bash
$ git clone https://github.com/shipwright-io/website.git
$ cd website
yarn start
```

Then install any additional dependencies by running `make install`
This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.

### Running the website locally

To run the website locally, use Hugo's `server` command:
### Build

```bash
$ hugo -t docsy server
yarn build
```

This command generates static content into the `build` directory and can be served using any static contents hosting service.

## Contributing

We are happy to have you join us and contribute to the Shipwright website!
Expand Down
3 changes: 2 additions & 1 deletion api-gen/templates/markdown/gv_list.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@

---
title: {{env "API_GROUP"}} Resources
weight: {{env "API_WEIGHT"}}
sidebar_position: {{env "API_POSITION"}}
description: {{env "API_GROUP"}} Custom Resource Definitions
---

# Packages
Expand Down
Original file line number Diff line number Diff line change
@@ -1,25 +1,24 @@
---
date: 2020-10-21
title: "Introducing Shipwright - Part 1"
linkTitle: "Intro to Shipwright (Part 1)"
description: "A framework for building container images on Kubernetes"
author: "Adam Kaplan ([@adambkaplan](https://github.com/adambkaplan))"
aliases:
- /blog/2020/10/21/introducing-shipwright-part-1
resources:
- src: "**.{png}"
title: "Figure #:counter"
slug: introducing-shipwright-part-1
authors: [adambkaplan]
tags: [shipwright, containers, kubernetes]
---

*Update 2020-11-30: Added link to Part 2 of this series*

What is Shipwright? Which problems does this project try to solve?

In [Part 1](docs/blog/posts/2020-10-21-intro-shipwright-pt1/) of this series, we'll look back at the history of delivering software applications,
In Part 1 of this series, we'll look back at the history of delivering software applications,
and how that has changed in the age of Kubernetes and cloud-native development.

In [Part 2](docs/blog/posts/2020-11-30-intro-shipwright-pt2) of this series, we'll introduce Shipwright and the Build APIs that make it simple to
In [Part 2](/blog/introducing-shipwright-part-2) of this series, we'll introduce Shipwright and the Build APIs that make it simple to
build container images on Kubernetes.

<!-- truncate -->

## Delivering Your Applications - A History

Think back to 2010. If you were a professional software engineer, a hobbyist, or a student, which
Expand All @@ -33,11 +32,7 @@ laptops, and uploading the JAR to our client's SFTP site. After submitting a tic
a change control review with our client's IT department, our software would be released during a
scheduled maintenance window.

{{< figure
src="deploy-java-vm.png"
width="640px"
height="360px"
>}}
![](./deploy-java-vm.png)

For engineers in larger enterprises, this experience should feel familiar. You may have used C#,
C++, or were adventurous and testing Ruby on Rails. Perhaps instead of compiling the application
Expand Down Expand Up @@ -66,11 +61,7 @@ Along the way, we had to learn the intricacies of Docker, assembling our image v
[Dockerfiles](https://docs.docker.com/engine/reference/builder/), and running Python inside a
container.

{{< figure
src="deploy-k8s-image.png"
width="640px"
height="360px"
>}}
![](./deploy-k8s-image.png)

What we could not do was build our applications directly on our Kubernetes clusters. At the time,
the only way to build a container image on "vanilla" Kubernetes was to expose the cluster's Docker
Expand All @@ -90,11 +81,7 @@ tools like [Source-to-Image](https://github.com/openshift/source-to-image) and
source code, without the need to write a Dockerfile. There are even image building tools optimized
for specific programming languages, such as [Jib](https://github.com/GoogleContainerTools/jib).

{{< figure
src="container-tools.png"
width="640px"
height="360px"
>}}
![](./container-tools.png)

When it comes to delivering applications on Kubernetes, there is a wide variety of tooling and
projects available. [Jenkins-X](https://jenkins-x.io/) and [Tekton](https://tekton.dev/) are two
Expand Down
Original file line number Diff line number Diff line change
@@ -1,23 +1,25 @@
---
title: "Introducing Shipwright - Part 2"
linkTitle: "Intro to Shipwright (Part 2)"
description: "A framework for building container images on Kubernetes"
author: "Adam Kaplan ([@adambkaplan](https://github.com/adambkaplan))"
date: 2020-11-30T20:53:58
draft: false
date: 2020-11-30T20:53:58Z
slug: introducing-shipwright-part-2
authors: [adambkaplan]
tags: [shipwright, containers, kubernetes]
---

What is Shipwright? Which problems does this project try to solve?

In [Part 1](docs/blog/posts/2020-10-21-intro-shipwright-pt1/) of this series, we looked back at the history of delivering software applications,
In [Part 1](/blog/introducing-shipwright-part-1) of this series, we looked back at the history of delivering software applications,
and how that has changed in the age of Kubernetes and cloud-native development.

In this post, we'll introduce Shipwright and the Build APIs that make it simple to
build container images on Kubernetes.

<!-- truncate -->

## Recap - From Binaries to Images

Recall in [Part 1](docs/blog/posts/2020-10-21-intro-shipwright-pt1/), developers who moved from
Recall in [Part 1](/blog/introducing-shipwright-part-1), developers who moved from
VM-based deployments to [Kubernetes](https://kubernetes.io/) needed to shift their unit of delivery
from binaries to container images. Teams adopted various tools to accomplish this task, ranging
from [Docker/Moby](https://mobyproject.org/) to [Cloud-Native Buildpacks](https://buildpacks.io/).
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
---
date: 2021-08-02
title: "Gatekeeper Policies with Shipwright"
linkTitle: "Gatekeeper Policies with Shipwright"
description: "Restricting Shipwright to trusted sources using Gatekeeper"
author: "Blair Drummond ([@blairdrummond](https://github.com/blairdrummond))"
resources:
- src: "**.{png}"
title: "Figure #:counter"
slug: gatekeeper-policies-with-shipwright
authors: [blairdrummond]
tags: [shipwright, security, gatekeeper]
---


[Gatekeeper](https://github.com/open-policy-agent/gatekeeper) is a customizable [admission webhook](https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/#what-are-admission-webhooks) for Kubernetes, which allows you to configure [policy](https://www.openpolicyagent.org/docs/latest/policy-language/) over what resources can be created in the cluster. In particular, we can use Gatekeeper to add policy to Shipwright [`Build`](/docs/build/)s. In this example, you can see how you can use a policy to control what source repositories Shipwright is allowed to build, so that you can have more control over what code executes inside your cluster.

[![Gatekeeper](opa.png)](https://github.com/securekubernetes/securekubernetes/blob/master/docs/img/opa.png)
[![Gatekeeper](./opa.png)](https://github.com/securekubernetes/securekubernetes/blob/master/docs/img/opa.png)

<!-- truncate -->

## Only allow builds of allowed sources

Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
---
title: "CD Foundation Welcomes Shipwright"
linkTitle: "CDF Welcomes Shipwright"
author: "Adam Kaplan ([@adambkaplan](https://github.com/adambkaplan))"
date: 2021-08-03T12:34:05-04:00
draft: false
slug: cd-foundation-incubating-project
authors: [adambkaplan]
tags: [shipwright, community, cdf]
---

We are pleased to [announce](https://cd.foundation/blog/2021/08/03/cd-foundation-shipwright-announcement/) that Shipwright is officially an Incubating Project under the Continous Delivery Foundation!

The [Continuous Delivery Foundation (CDF)](https://cd.foundation) seeks to improve the worlds capacity to deliver software with security and speed.
The [Continuous Delivery Foundation (CDF)](https://cd.foundation) seeks to improve the world's capacity to deliver software with security and speed.
Shipwright furthers this mission by making it easy to build cloud native applications on cloud native infrastructure.
The CDF is the upstream home for many other open source projects used to deliver software, such as [Jenkins](https://jenkins.io), [Spinnaker](https://www.spinnaker.io), and [Tekton](https://tekton.dev).
Together, we look forward to empowering develpers and enabling teams to build, test, and deploy their applications with confidence.

<!-- truncate -->

## Shipwright @ cdCon 2021

Shipwright was featured prominently at cdCon 2021 - the CDF's annual developer conference.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
---
title: "Shipwright v0.6.0 Is Here"
date: 2021-10-26T10:30:00-04:00
draft: false
author: "Sascha Schwarze ([@SaschaSchwarze0](https://github.com/SaschaSchwarze0))"
slug: shipwright-v0.6.0-is-here
authors: [saschaschwarze0]
tags: [shipwright, release]
---

It was a long journey, longer than it should have been, but we have finally reached our goal! Shipwright Build v0.6.0, our first release after joining the [Continuous Delivery Foundation](https://cd.foundation/).

The feature list is impressive. It was hard to pick a "Top 3", but here are my choices:

<!-- truncate -->

## Parameterization of Builds

Our API objects; the build strategy that defines the steps to turn source code into a container image, the build where a user configures their container image build, and the build run as an instance of a build; were missing a major capability: parameterization. We defined the available inputs that a user specified in a build. Those were only the minimum: the location of the source code, the name of the strategy and the destination image. Any other customization of the build was not possible, limiting the possible scenarios.
Expand Down Expand Up @@ -68,7 +71,7 @@ A lot of nice stuff, but is that all ? No. 😊 Some other small but still nice

For a full list of updates you can check out the release [change log](https://github.com/shipwright-io/build/releases/tag/v0.6.0).

Now, how to get started? Assuming your Kubernetes cluster is ready, its all done with just these three commands, which install Tekton, Shipwright, and the sample build strategies.
Now, how to get started? Assuming your Kubernetes cluster is ready, it's all done with just these three commands, which install Tekton, Shipwright, and the sample build strategies.

```bash
kubectl apply -f https://storage.googleapis.com/tekton-releases/pipeline/previous/v0.25.0/release.yaml
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
---
title: "Shipwright v0.7.0 Is Here"
date: 2021-12-20T10:00:00-04:00
draft: false
author: "Sascha Schwarze ([@SaschaSchwarze0](https://github.com/SaschaSchwarze0)) and Adam Kaplan ([@adambkaplan](https://github.com/adambkaplan))"
slug: shipwright-v0.7.0-is-here
authors: [saschaschwarze0, adambkaplan]
tags: [shipwright, release]
---

Ready for Christmas? We are, and our v0.7.0 release just made it!

Is it a big thing just like our [previous v0.6.0 release](/blog/2021/10/26/shipwright-v0.6.0-is-here/)? No, but we have still done a couple of nice things:
Is it a big thing just like our [previous v0.6.0 release](/blog/shipwright-v0.6.0-is-here)? No, but we have still done a couple of nice things:

<!-- truncate -->

## What's New

Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
---
title: "Shipwright v0.8.0 Is Here"
date: 2022-02-01T21:36:00-04:00
draft: false
author: "Enrique Encalada ([@qu1queee](https://github.com/qu1queee))"
slug: shipwright-v0.8.0-is-here
authors: [qu1queee]
tags: [shipwright, release]
---

So, you have heard great things about Shipwright last year and you are ready for more? We are starting the year with our [v0.8.0](https://github.com/shipwright-io/build/releases/tag/v0.8.0), and here is a list of the most relevant things you should know.

<!-- truncate -->

## Features

As promised in the [v0.7.0](https://shipwright.io/blog/2021/12/20/shipwright-v0.7.0-is-here/#whats-next-) blog post, we closed last year developing three interesting features.
As promised in the [v0.7.0](/blog/shipwright-v0.7.0-is-here) blog post, we closed last year developing three interesting features.

### Array support in Parameters

Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
---
title: "Shipwright v0.9.0 Is Here"
date: 2022-04-14T14:20:01-04:00
draft: false
author: "Matthias Diester ([@HeavyWombat](https://github.com/HeavyWombat)), Raghav Bhatnagar ([@raghavbhatnagar96](https://github.com/raghavbhatnagar96)), Sascha Schwarze ([@SaschaSchwarze0](https://github.com/SaschaSchwarze0))"
slug: shipwright-v0.9.0-is-here
authors: [heavywombat, raghavbhatnagar96, saschaschwarze0]
tags: [shipwright, release]
---

We are proud to have an Easter present for you: the new Shipwright v0.9.0 release with some really cool features.

<!-- truncate -->

## Features

Interested in what we have for you. Here are three larger items:
Expand Down
Loading