GoogleContainerTools / GoogleContainerTools/skaffold
[Feature Request] Allow Config Override
- Dominant language
- Go
- Stars
- 15.9k
- Forks
- 1.7k
- Avg merge
- 3d 9h
- Merged PRs (30d)
- 10
Description
Hello Guys,
first of all thank you so much for this amazing tool!
I'd like to suggest a possible advancement in the configuration:
So let's say that I have a Config used by many services.
For example
```
---
apiVersion: skaffold/v2beta29
kind: Config
metadata:
name: postgresql
profiles:
- name: kind-baz
activation:
- kubeContext: kind-baz
deploy:
helm:
releases:
- name: postgres
repo: https://charts.bitnami.com/bitnami
remoteChart: postgresql
wait: true
setValues:
auth.enablePostgresUser: true
auth.postgresPassword: postgres
auth.database: foo
```
Usually I can include this in another config file like so
```
---
apiVersion: skaffold/v2beta29
kind: Config
metadata:
name: minio
requires:
- configs: ["postgresql"]
path: "postgres.yaml"
profiles:
- name: kind-baz
activation:
- kubeContext: kind-baz
deploy:
helm:
releases:
- name: minio
repo: https://charts.bitnami.com/bitnami
remoteChart: minio
wait: true
setValues:
auth.rootUser: myaccesskey
auth.rootPassword: mysecretkey
defaultBuckets: foo-bar
```
This is totally fine but I believe one missing bit is the chance of overriding values in the config.
Something like the following:
```
---
apiVersion: skaffold/v2beta29
kind: Config
metadata:
name: minio
requires:
- configs: ["postgresql"]
path: "postgres.yaml"
overrideValues:
auth.enablePostgresUser: true
auth.postgresPassword: bazinga
auth.database: bazinga
profiles:
- name: kind-baz
activation:
- kubeContext: kind-baz
deploy:
helm:
releases:
- name: minio
repo: https://charts.bitnami.com/bitnami
remoteChart: minio
wait: true
setValues:
auth.rootUser: myaccesskey
auth.rootPassword: mysecretkey
defaultBuckets: foo-bar
```
In this example I've overridden all 3 values because they were already set, but I could potentially never set any default and have skaffold do the overriding job for me.
In this way I could potentially fetch the base Config of postgres from another directory or anorther repository and override only what I need
This would give skaffold more flexibility , unless there is another way to achieve all of this and I'm simply not aware of it.
Wdyt?
Thank you
Contributor guide
Assessment
This issue has not been assessed yet.