⛵ 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
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
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
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.
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.
Shipyard is licensed under the MIT license.
Made with ❤️ by Azohra