GoogleContainerTools / GoogleContainerTools/skaffold

[Feature Request] Allow Config Override

Open
#7,938 3 comments 1 reaction 0 assignees View on GitHub
area/profiles help wanted kind/feature-request priority/p3
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.