Skip to content

Catapult web

Victor Cuadrado Juan edited this page Mar 11, 2020 · 8 revisions

Catapult web

Catapult has a simple web interface which can be used to deploy and connect to remote clusters by using a web terminal. It works by polling the EKCP api.

It can be deployed with:

$> EKCP_HOST=ip:port make module-extra-catapult-web

Catapult will create two docker containers, one for the webui, and one for syncing the data with EKCP (catapult-sync and catapult-web).

Step by step instruction

Deploy EKCP

Catapult-web needs an EKCP API to poll data about available kubernetes clusters. You can deploy EKCP following the instruction on the EKCP wiki

$> git clone https://github.com/mudler/ekcp
$> cd ekcp

Pick a KUBEHOST (your listening host/port) and a DOMAIN (optionally, or just use default)

$> vim docker-compose.yml

Start EKCP:

$> docker-compose up -d

Deploy catapult-web

Pull catapult locally, and use the same KUBEHOST you configured in the previous step, and run inside catapult:

EKCP_HOST=ip:port make module-extra-catapult-web

After the building is done, you can access with your browser to the Catapult-web dashboard on http://127.0.0.1:7060.

Add a cluster to catapult-web

You can either create new kind clusters with the EKCP dashboard or reuse existing cluster, by uploading the kubeconfig to the EKCP api.

To import a kubeconfig file you can:

curl -d "name=test&kubeconfig=$(base64 kubeconfig)" -X POST http://EKCP_HOST/api/v1/cluster/insert

To create a new kind cluster:

curl -d "name=test" -X POST http://EKCP_HOST:8030/new

You can also deploy SCF automatically with kind: catapult-web reads a Deployment file, that you can post from the form present for deployments.

After some sync time, the cluster will pop up in the catapult-web dashboard.