argoproj / argoproj/argo-workflows

Add namespace and serviceAccount for memoize configMap reference field

Open
#10,012 4 comments 12 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.