argoproj / argoproj/notifications-engine

Support Secret References in Subscription Recipients

Open
#350 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
334
Forks
217
PR merge metrics
No merged PRs in 30d

Description

Currently we can reference secrets in service configurations using the `$secret-name` syntax, but it is not available for subscription recipients. This makes it difficult to manage recipient information (like private Slack channels or distribution lists) through K8s secrets.

#### Current Behavior
- **Service Configurations**: Support referencing secrets using `$secret-name` syntax.
Example:
```yaml
service.slack: |
token: $slack-token
```
- **Subscriptions**: Do not support secret references. Recipient information (e.g., Slack channels, email distribution lists) must be hardcoded.
Example:
```yaml
subscriptions: |
recipients:
slack: private-channel-name # Hardcoded
email: team-list@company.com # Hardcoded
```

#### Desired Behavior
- Extend secret reference functionality to subscription recipients.
Example:
```yaml
subscriptions: |
recipients:
slack: $slack-channel
email: $team-email
```

#### Use Cases
- Storing private/sensitive recipient information (e.g., Slack channels) in secrets.
- Managing different recipients per environment using secrets.
- Centralizing recipient management alongside other configurations.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating the existing `$secret-name` handling for service configurations and the parsing path for subscription recipients. Trace how Slack and email recipient values are loaded, then verify the desired YAML examples with tests or a local configuration run; done means secret-backed recipient values work for both examples without changing direct values.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, kubernetes
Domain
backend, devops
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.