galasa-ecosystem-kubernetes-operator

module
v0.0.0-...-ad98188 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 30, 2021 License: EPL-2.0

README

Galasa Ecosystem Kubernetes Operator

This is the V1ALPHA version of the Kubernetes ecosystem operator.

Requirements are a Kubernetes cluster (version 1.16 or higher) and kubectl on the machine deploying the operator. At the current release, the only way to use the operator is to directly deploy the operator using the YAML provided in this repo.

The operator consists of two components, the CustomResourceDefinition which describes the galasa ecosystem, and the the operator deployment. If you are deploying the operator on a cluster which does not have access to the internet, you can build and host the docker image using the DockerFile in build/DockerFile and your own docker image registry.

First we need to define the CustomeResourceDefinition that describes to the operator what a Galasa ecosystem. This can be done:

kubectl apply -f deploy/crds/galasa.dev_galasaecosystems_crd.yaml

Before deploying the operator, you will have to first define a ServiceAccount and a role+roleBinding that the operator can use to perform any work. In the deploy/ directory you can find the YAML to do this. Once the roles and service accounts are complete you can deploy the operator:

kubectl apply -f deploy/operator.yaml

Example custom resource yamls will be available on galasa.dev, but you can apply one to bring up an ecosystem

This will take a few minutes to install, but the status can found by performing a:

kubectl get GalasaEcosystem

This will also show the bootstrap endpoint, which you can add to your Eclipse Galasa plugin.

Editing the operator

This operator was built using the operator-sdk, so you will need to have that installed before editing.

If any of the CustomResources are edited you will need to run:

operator-sdk generate crds

This needs to be done BEFORE re-applying the CRD to your cluster

If you change any of the Controller or API code, a similar command needs to be run:

operator-sdk generate k8s

Directories

Path Synopsis
cmd
pkg
apis/galasa
Package galasa contains galasa API versions.
Package galasa contains galasa API versions.
apis/galasa/v1alpha1
Package v1alpha1 contains API Schema definitions for the galasa v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=galasa.dev Package v1alpha1 contains API Schema definitions for the galasa v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=galasa.dev
Package v1alpha1 contains API Schema definitions for the galasa v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=galasa.dev Package v1alpha1 contains API Schema definitions for the galasa v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=galasa.dev
cps
ras

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL