Catapult
$> git clone https://github.com/SUSE/catapult.git && cd catapult
$> make all
This will start a local Kind cluster
and deploy kubecf on top of it. Remove everything with make clean.
Next, check the First steps wiki page
or do:
$> make help
$> make help-all
Description
Catapult is a CI implementation for KubeCF,
SCF &
Stratos,
designed from the ground-up to work locally. This allows iterating and using it
for manual tests and development of the products, in addition to running it in
your favourite CI scheduler (Concourse, Gitlab…).
Catapult supports several k8s backends: can create CaaSP4, GKE, EKS clusters on its
own, and you can bring your own cluster with the "imported" backend.
It is implemented as a little lifecycle manager (a finite state machine), written
with Makefiles and Bash scripts.
The deployments achieved with Catapult are not production ready; don't expect
them to be in the future either. They are for developing and testing.
It also contains some goodies to aid in development and testing deployments (see
make module-extra-*).
To use it in a CI, like travis, see for example:
- .travis.yml on this
repository, to CI Catapult itself - kubecf post-publish
Documentation
For now, all documentation is in the project wiki.
Contributing
Please run catapult's linting, unit tests, integration tests, etc for a full TDD
experience, as PRs are gated through them (see "build status" label):
$> make catapult-tests
Debug catapult with DEBUG_MODE=true.
You can get your local development for SCF
or KubeCF, with all needed catapult deps, with:
$> docker run -v /var/run/docker.sock:/var/run/docker.sock -ti --rm splatform/catapult:latest dind
Check out Run in Docker
page on the wiki for more options.