Skip to content

Latest commit

 

History

History
111 lines (75 loc) · 3.19 KB

README.md

File metadata and controls

111 lines (75 loc) · 3.19 KB

logo

Build StatusLicenseIssues


Introduction

⛵ Shipyard

Opinionated soft multitenancy for GKE.

At a high level, Shipyard is a namespace orchestrator. It aims to configure clusters with IAM & namespace bounded resources so that teams can safely binpack their workloads on the same compute instances. Simply write a yml configuration file and let Shipyard do the rest.

An example of a full shipyard.yml here.

⛵ #SetSail

Installation

To install Shipyard, simply run this command:

curl -s https://get.shipyard.azohra.com | sh

Upgrading Shipyard can be done by re-running the installation command above or by issuing the following command in our cli:

shipyard --upgrade

Here are all the command-line flags for Shipyard (if that's your thing):

Usage: shipyard [flags]

flags:
  -u, --upgrade                  upgrade shipyard to the latest version
  -v, --version                  print the current shipyard version
  -a, --auto                     do not prompt for confirmation
  -y, --yml                      path to a valid shipyard yml [file or url]
  -h, --help                     prints this message

Usage

To run shipyard, simply point to your config file with the -y or --yml flag

shipyard -y config.yml

You can even pass the URL to a remotely stored config file!

shipyard -y https://www.example.com/config.yml

About Configuration Files

Configuration files are used as a blueprint for your GKE cluster and are composed of various resources.

Lets take a look at a config file:

ships:

  uss-gamble: # Complex
    users:
      - {email: [email protected],   role: admin}
      - {email: [email protected],  role: developer}
      - {email: [email protected],    role: viewer}
    helm:
      plugins:
        gcs: https://github.com/nouney/helm-gcs
      chart_repos:
        azohra: gs://azohra-charts-repo
      charts:
        - stable/grafana
        - azohra/strapped
    labels:
      istio-injection: enabled
    clusters:
      - {name: pearl-harbour, project: azohra, region: us-east1}
 
  uss-condor: # Simple
    users:
      - {email: [email protected], role: admin}
    clusters:
      - {name: pearl-harbour, project: azohra, region: us-east1}

The complete list of resources and their usage can be found here.

Contributing

We are open to anyone contributing to this repo. Please ensure you follow the code of conduct.

If you wish to contribute and don't know where to start, check out the issues section for inspiration.

License

Shipyard is licensed under the MIT license.


Made with ❤️ by Azohra