Shipa is now for the first time in the Civo Marketplace. If you are unfamiliar with Civo, Civo is a Kubernetes-based cloud provider allowing for the rapid creation of Kubernetes clusters. The engineering efficiency and developer experience that Shipa brings can supercharge your Kubernetes experience on Civo. Now you can spin up a Shipa Control Plane e.g Shipa Self-Managed with a click of a button on Civo Cloud.
Getting Started with Shipa and Civo
The first step to get started is to sign up for a Civo account. Once signed up and signed in, would be a good idea to install the Civo CLI so you can wire the kubectl context with ease. Shipa does install by default an Nginx Ingress Controller on your cluster for the control plane. At the time of this blog, there is a conflict with the number of external IPs that are available to your Civo Cluster if you install the default Traefik Ingress Controller when launching a cluster. Civo will be offering a load balancer service in the near future to alleviate this.
Spin Up a Civo Cluster
Spinning up a Kubernetes cluster on Civo is a breeze.
Can validate the networking and firewall rules in the Shipa documentation to make sure those items are open on your Civo Cluster.
Civo -> Kubernetes -> +Create new cluster
Can name your cluster anything. Recommend to have at least a large instance.
On the Marketplace step, scroll down and select the “Architecture” tab and de-select Traefik.
On the “Management” tab, select Shipa.
Now you are ready to click “Create cluster” and wait for the cluster to initialize. Once initialized, you are now ready to start setting up Shipa.
Accessing the Shipa Dashboard
Once your cluster has initialized, head over to the “Installed Applications” tab and you will now see Shipa.
The Civo Marketplace will wire Shipa’s bootstrap e-mail address to your Civo e-mail address and automatically generate a strong admin bootstrap password. You can access those values by clicking on the “Click to copy” links.
The first step is to install the Shipa CLI.
curl -s https://storage.googleapis.com/shipa-client/install.sh | bash
Next, you will need to get kubectl access to cluster to get the Shipa API address to wire the Shipa CLI. Can leverage the Civo CLI to inject the kubeconfig configuration.
civo kubernetes config myfirstshipa --save kubectl config use-context myfirstshipa
In the wiring section, there are a few terminal commands to wire the Shipa CLI.
Grab the Shipa API Address:
export SHIPA_HOST=$(kubectl --namespace=shipa-system get svc shipa-ingress-nginx -o jsonpath="{.status.loadBalancer.ingress[0].ip}") && if [[ -z $SHIPA_HOST ]]; then export SHIPA_HOST=$(kubectl --namespace=shipa-system get svc shipa-ingress-nginx -o jsonpath="{.status.loadBalancer.ingress[0].hostname}") ; fi
Add as Shipa Target:
shipa target add shipa $SHIPA_HOST --set-current
For the Shipa Login command, you can grab the admin bootstrap e-mail address and admin bootstrap password from the Civo Marketplace UI.
shipa login
Once authenticated, you can run Shipa App List to get the Dashboard URL.
shipa app list
Navigate to the address and you are all set.
Once installed, log in with your bootstrap credentials and you are off to the races leveraging an amazing developer platform. Shipa by default is free, though there is an activation step for admin validation.
Shipa, Your Developer Platform
A goal of platform engineering is to provide rapid availability of infrastructure and a great developer experience. Combining the power of Civo and Shipa together is now easier than ever with the Marketplace integration. The engine behind Shipa, Ketch, is also in the Civo Marketplace. Feel free to take both out for a spin, today!
Cheers,
-Ravi