uselagoon / remote-controller

A group of controllers for handling Lagoon builds and tasks in Kubernetes or Openshift
5 stars 1 forks source link

Support for Environment and Project IDs #41

Closed shreddedbacon closed 3 years ago

shreddedbacon commented 3 years ago

The main reason for this PR is to be able to provide Lagoon with the environment and/or project IDs so that the correct environment is updated in Lagoon. This is mainly because of environment names being made DNS compliant in Kubernetes, and Lagoon not being able to correctly find what it needs to update the environments correctly. eg: feature/env-1 gets converted to feature-env-1 when provided to the controller, and on completion this is sent back to Lagoon, but Lagoon is expecting to see feature/env-1. Instead now it will prefer the environment ID.

Namespaces now will also get labelled with these IDs, and namespace patching is done on every deploy now. This is to ensure namespace labels are always up to date, and this allows us to update labels or add new labels in the future.

This can be merged and released prior to the core Lagoon fix being implemented.