argoproj / argoproj/argo-workflows
Add namespace and serviceAccount for memoize configMap reference field
- Dominant language
- Go
- Stars
- 17k
- Forks
- 3.7k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 138
Description
# Summary
When using memoize:
```
memoize:
key: containerRuntimeExecutor
maxAge: "300s"
cache:
configMap:
name: my-cache
key: whalesay-cache
```
from a workflow running in NS "dev-steam", the config-map will be created elsewhere, in controller NS. Which can be dangerous (see https://github.com/argoproj/argo-workflows/issues/5538) and make difficult the debugging.
The cache configMap should be created by default in the workflow NS, using the workflow SA.
Or we could specify NS & SA with new fields.
# Use Cases
Use memoize feature in multi-tenant k8s cluster.
---
**Message from the maintainers**:
Love this enhancement proposal? Give it a 👍. We prioritise the proposals with the most 👍.
Contributor guide
Research direction
Start by tracing the memoize configMap reference handling and how the controller selects the namespace and service account. Compare the current behavior with the requested workflow-namespace default and optional namespace and serviceAccount fields; done means multi-tenant workflows can select or safely default these identities.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, kubernetes
- Domain
- devops, infrastructure
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100