cortex-jsonnet
cortex-jsonnet copied to clipboard
When generating YAML resources for kubernetes, only some of them have correct namespace set
Only ingester (blocks), store-gateway and compactor have configured namespace. Other resources don't.
More specifically, these resources have the default namespace
➜ cortex-tanka grep -rnw './manifests' -e 'namespace: default'
./manifests/apps-v1.Deployment-distributor.yaml:5: namespace: default
./manifests/apps-v1.Deployment-query-frontend.yaml:5: namespace: default
./manifests/v1.Service-store-gateway.yaml:7: namespace: default
./manifests/policy-v1beta1.PodDisruptionBudget-store-gateway-pdb.yaml:7: namespace: default
./manifests/policy-v1beta1.PodDisruptionBudget-ingester-pdb.yaml:7: namespace: default
./manifests/v1.Service-distributor.yaml:7: namespace: default
./manifests/apps-v1.StatefulSet-memcached.yaml:5: namespace: default
./manifests/v1.Service-memcached-index-queries.yaml:7: namespace: default
./manifests/apps-v1.Deployment-querier.yaml:5: namespace: default
./manifests/v1.Service-memcached.yaml:7: namespace: default
./manifests/v1.ConfigMap-overrides.yaml:8: namespace: default
./manifests/apps-v1.StatefulSet-memcached-index-queries.yaml:5: namespace: default
./manifests/v1.Service-memcached-frontend.yaml:7: namespace: default
./manifests/v1.ConfigMap-schema-fa9497f5acccafcc3e6019657bdc5eb1.yaml:8: namespace: default
./manifests/v1.Service-query-frontend.yaml:7: namespace: default
./manifests/apps-v1.StatefulSet-memcached-frontend.yaml:5: namespace: default
./manifests/v1.Service-memcached-metadata.yaml:7: namespace: default
./manifests/apps-v1.StatefulSet-memcached-metadata.yaml:5: namespace: default
./manifests/v1.Service-querier.yaml:7: namespace: default
./manifests/v1.Service-query-frontend-discovery.yaml:7: namespace: default
./manifests/v1.Service-ingester.yaml:7: namespace: default
In my opinion, we should omit namespaces from all resources if we can as kubectl/tanka can add them in if required. If we still want _config.namespace
, I'd be tempted to make values that use it handle a null value so that users can opt out if desired.