We are using the Kubernetes integration on GitLab.com for our (self-managed) OpenShift cluster, and we typically use 3 stages for customer projects:
We have 2 strategies to deploy those into our cluster:
- dedicated (3 separate namespaces, application labels identical across namespaces)
- shared (a single namespace, application labels different to group resources)
Only “shared” works out for true Kubernetes integration, which includes
- Pod Logs
because for a the Cluster configuration to be complete you have to specify the “Project namespace”, which with the “dedicated” strategy is obviously different for each environment, e.g.
Example source code: https://gitlab.com/appuio/example-django
Is Our Concept So Non-Standard?
Assuming our approach is a straight-forward one why is the “Project namespace” not tied to the environment instead of the cluster? (In fact, this seems to be the case for a “GitLab-managed cluster” according to the docs on deployment variables).
Has this issue ever been discussed? Is there a solution for integrating properly with our “dedicated” strategy? (Not sure whether configuring 3 times the same clusters with a different project namespace will help.)