The Shipa Developer Hub

Welcome to the Shipa developer hub. You'll find comprehensive guides and documentation to help you start working with Shipa as quickly as possible, as well as support if you get stuck. Let's jump right in!

Get Started    Changelog

Installing Shipa

Users can install Shipa on any existing Kubernetes cluster (version 1.10.x and newer).

Shipa leverages Helm charts for the install, and it supports both versions, Helm v2, and Helm v3.

Below are the steps required to have Shipa installed in your existing Kubernetes cluster:

πŸ“˜

Helm Chart Download

The Shipa Helm chart can be downloaded using the following link:

https://github.com/shipa-corp/helm-chart

Use the link to install Shipa using the procedures below.

1. Create a namespace where the Shipa services should be installed

NAMESPACE=shipa-system
kubectl create namespace $NAMESPACE

Check for the available Helm version using the following command:

helm version

πŸ“˜

When using Helm 2

If you are using Helm version2, the following commands are required:

  • helm init
  • kubectl create clusterrolebinding kube-system-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:default

2. Clone the Shipa Helm chart

git clone https://github.com/shipa-corp/helm-chart
cd helm-chart

3. Apply the limits to the chosen namespace

kubectl apply -f limits.yaml --namespace=$NAMESPACE

4. Node labeling

To successfully deploy Shipa, at least one Kubernetes node must be available. Resources such as DaemonSets to run busybody/netdata, pods to build platforms, and other resources search for available nodes based on the node’s label.

The following command adds a label to one node or a set of nodes:

kubectl label $(kubectl get nodes -o name) "shipa.io/pool=theonepool" --overwrite

5. Update Helm dependencies

helm dep up

6. Create the values.override.yaml with the Admin user and password that will be used for Shipa

cat > values.override.yaml << EOF
auth:
  adminUser: admin-email-here
  adminPassword: admin-password-here
EOF

7. Install Shipa

helm install . --name=shipa --timeout=1000 --namespace=$NAMESPACE -f values.override.yaml

πŸ“˜

When using Helm v3

If you are running Helm v3, then the command above for Helm v2 should look like the command below:

helm install shipa . --timeout=1000s --namespace=$NAMESPACE -f values.override.yaml

The output of the install should look like the following:

NAME: shipa
LAST DEPLOYED: <Deployment Date>
NAMESPACE: shipa-system
STATUS: deployed
REVISION: 1

🚧

Install time

After executing the Helm install, the install process itself will take several minutes, depending on the Node configuration.

During this process, containers will be created and restarted until all Shipa related services are running successfully.

πŸ“˜

Install completion

When you see the Shipa Dashboard service running, which should be called dashboard-web-1-x, the install is complete.

Networking Access

Shipa creates LoadBalancer services to expose some of the Shipa services, using the following ports:

Port

Service

22

Guardian

5000

Docker Registry

8080

Shipa API over HTTP

8081

Shipa API over HTTPS

πŸ“˜

Static vs Dynamic IPs

By default, during the install, Shipa uses dynamic public IP set by the cloud provider. If preferred, static IP can be used instead by applying the optional parameter below when using Helm install:

--set service.nginx.loadBalancerIP=

Updated about 15 hours ago


Installing Shipa


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.