Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide for easily accessible in configuration / secrets #5449

Open
onobc opened this issue Aug 31, 2023 · 2 comments
Open

Provide for easily accessible in configuration / secrets #5449

onobc opened this issue Aug 31, 2023 · 2 comments
Labels
status/need-design Vague so need some proper design

Comments

@onobc
Copy link
Contributor

onobc commented Aug 31, 2023

Examples:

app.xxx.spring.datasource.password=k8sSecret:secretName:secretKey
app.xxx.spring.datasource.password=vault:secretName:secretKey

Router sink in stream apps may want to implement a script and reference the script: app.xxx.router.script=scripts:myStream/router.groovy

We also need a clean way to indicate that the property value is a resource.
Maybe:
app.xxx.spring.datasource.password=#{uri('k8sSecret:secretName:secretKey')}

This implies there will be URL handlers as part of a property configuration that are more specific than the existing of file|https|classpath and more.

This probably belongs in other projects. The dependencies should be included in scdf apps so that our users can benefit from the extra resource loaders.

@onobc onobc added the status/need-design Vague so need some proper design label Aug 31, 2023
@onobc onobc added this to the General Backlog milestone Aug 31, 2023
@onobc
Copy link
Contributor Author

onobc commented Aug 31, 2023

Issue was originally created in Trello board w/ above summary/desc.

Comment from @markpollack:

improve pathway for users to figure out how to store and retrieve secrets with vault and/or config server.
scdf can provide a 'script store' for easy https retrieval. Security implications... any scdf user can see code.?
let's create two github issues.

@corneil
Copy link
Contributor

corneil commented Sep 8, 2023

I would suggest secretKeyRef(<secretName>,<key-name>) and configMapKeyRef(<configMapName>,<key-name>)
examples:

app.xxx.spring.datasource.password=#{secrefKeyRef('scdf-datasource', 'password')}
app.xxx.spring.datasource.url=#{configMapKeyRef('scdf-datasource-info', 'url')}

There may a more standard way of describing k8s resource values or event selectors.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status/need-design Vague so need some proper design
Projects
None yet
Development

No branches or pull requests

2 participants