Replicated Ship

Deploy 3rd party applications through modern pipelines.

$ ship init github.com/helm/charts/stable/mysql Reading github.com/helm/charts/stable/mysql ... Determining application type ... Detected application type helm ........................................... Assets are ready to deploy. You can run kustomize build overlays/ship | kubectl apply -f - to deploy the overlaid assets to your cluster.

Replicated Ship enables the operation of third-party applications through modern software deployment pipelines. Replicated Ship is a CLI and configuration tool that prepares workflows to enable deploying and updating of Helm charts, Kubernetes applications and other 3rd-party software.

Reduce operational overhead of maintaining 3rd-party applications

It’s never been easier to configure and deploy 3rd-party k8s applications.

1

Pull in the chart you want

Begin by pulling in the chart from the upstream maintainer which will include the default values.yaml file.

2

Flexible installation

Add your custom values to the values.yaml that make it possible for your application to run.

These values will override the defaults in the upstream chart and your base directory is created.

3

Write your patch file

Patches give you the flexibility to overrite any values from the upstream chart. Say good bye to templating.

4

Let Kustomize do the hard work

Replicated Ship + Kustomize does the heavy lifting to merge your patch, and generate your Kubernetes YAML.

Ship is built to compliment any workflow

Replicated Ship is good for any workflow thanks to three powerful commands.

Ship init

Initialize an application by pulling in the chart and set up the base directory (generally run on a workstation).

  • Can pass in a GitHub repo (any helm, k8s, or knative repos have automatic support OR repo with a ship.yaml).
  • Can pass in a replicated.app URI with customer-id & instance-id for private applications.
  • Generates the state.json as well as base/overlay directories.

Ship watch

Observes an upstream repo or application for updates (best run as a CRD or in a cron type process).

  • Out of the box support for any public GitHub repo.
  • Can pass in a replicated.app URI with customer-id & instance-id for private applications.
  • Exits with status code 0 when an update is available.
  • Can trigger a CI job via a webhook.

Ship update

Pull the latest from the upstream repo, consumes state.json to generate the deployable assets.

  • Out of the box support for any public GitHub repo.
  • Can pass in a replicated.app URI with customer-id & instance-id for private applications.
  • Triggered by Ship watch.
  • Generally preceded by a `clone` and followed by a pull request for review.

Ship + Helm + Kustomize

Replicated ship was built with first-class support for Helm charts designed to automate the “last-mile” of custom configuration via Kustomize. In addition you can now do things like support GitOps in your cluster, provide messaging in your lifecycle and so much more.

Documentation reference

Ship init

Learn how to initialize and configure an application for the first deployment.

Ship watch

After initial configuration, use ship watch to keep an eye out for chages to upsream repos.

Ship update

Used alongside ship watch, your CI/CD pipline can update your app with upstream changes.

Configuration

Replicated Ship has a powerful config tool that gives you the flexibility you need.

Deploying

Performing your first deployment and setting up a workflow to automate your deployments.