/gordo-controller

Kubernetes controller for the Gordo CRD

Primary LanguageRustGNU Affero General Public License v3.0AGPL-3.0

gordo-controller

Gordo controller

CI

Developer manual

Run tests locally

Install and start minikube.

Run k8s API proxy:

kubectl proxy --port=8080

Export necessary env variables:

export KUBERNETES_SERVICE_HOST=localhost
export KUBERNETES_SERVICE_PORT=8080

Build the docker image:

eval $(minikube docker-env)
docker build -f Dockerfile-controller -t equinor/gordo-controller:latest .
kubectl apply -k k8s/base

Run tests:

cargo test --tests -- --test-threads=1

Environment variables

Name Type Description
DEPLOY_IMAGE String Deploy Job docker image. Example: docker.io/gordo/gordo-deploy
DEPLOY_REPOSITORY String Deploy Job docker image without registry. Example: gordo-infrastructure/gordo-deploy
SERVER_PORT Integer HTTP server listening port. Example: 8080
SERVER_HOST String HTTP server listening host. Example: localhost
DOCKER_REGISTRY String Docker registry. Example: ghcr.io
DEFAULT_DEPLOY_ENVIRONMENT HashMap Default gordo's environment variables. Example: {"ARGO_SERVICE_ACCOUNT": "workflow-runner"}
RESOURCES_LABELS HashMap Deploy Job labels. Example: {"app": "gordo_deployment"}
DEPLOY_JOB_RO_FS Boolean Set up .security_context.read_only_root_filesystem for deploy Job if true