Skip to content

feat(operator): add support for new secrets watcher support#305

Merged
aviator-app[bot] merged 2 commits intomainfrom
jerod/union-operator-secret-watcher
Apr 9, 2026
Merged

feat(operator): add support for new secrets watcher support#305
aviator-app[bot] merged 2 commits intomainfrom
jerod/union-operator-secret-watcher

Conversation

@xjerod
Copy link
Copy Markdown
Contributor

@xjerod xjerod commented Mar 25, 2026

Adds a platform.union.ai/zone pod label to all Union-owned deployments/daemonsets. Controlplane services get zone: "controlplane" and dataplane services get zone: "dataplane". Affected workloads across both charts:

  • Controlplane: authz, cacheservice, console
  • Dataplane: clusterresourcesync, flyteconnector, imagebuilder, nodeexecutor, nodeobserver, propeller (deployment + webhook)

Adds a new secretsWatcher feature to the union-operator that triggers rolling restarts of deployments when secrets change. Key changes:

  • values.yaml: new config.operator.secretsWatcher block (enabled: false, dryRun: true)
  • configmap.yaml: renders the config into the operator ConfigMap when set
  • serviceaccount.yaml: conditionally adds RBAC (get/list/watch/update/patch on replicasets/deployments) when enabled
  • All dataplane snapshot tests updated to reflect the new RBAC rules

@aviator-app
Copy link
Copy Markdown
Contributor

aviator-app Bot commented Mar 25, 2026

Current Aviator status

Aviator will automatically update this comment as the status of the PR changes.
Comment /aviator refresh to force Aviator to re-examine your PR (or learn about other /aviator commands).

This PR was merged using Aviator.


See the real-time status of this PR on the Aviator webapp.
Use the Aviator Chrome Extension to see the status of your PR within GitHub.

@github-actions github-actions Bot mentioned this pull request Apr 3, 2026
@xjerod xjerod force-pushed the jerod/union-operator-secret-watcher branch from bd35620 to d890f1b Compare April 6, 2026 21:50
@xjerod xjerod requested a review from ctxswitch April 6, 2026 22:03
@xjerod xjerod force-pushed the jerod/union-operator-secret-watcher branch from d890f1b to 5827e6e Compare April 9, 2026 15:26
@aviator-app aviator-app Bot merged commit 2a2f547 into main Apr 9, 2026
5 checks passed
@aviator-app aviator-app Bot deleted the jerod/union-operator-secret-watcher branch April 9, 2026 15:34
@xjerod xjerod mentioned this pull request Apr 9, 2026
aviator-app Bot pushed a commit that referenced this pull request Apr 9, 2026
## Summary                                                                                                                                                   
                                                                                                                                                               
Bump chart version to **2026.4.2** and image tag (appVersion) to **2026.4.5**.                                                                               
  
---                                                                                                                                                          
                
## Helm Chart Changes (since 2026.4.1)

### feat(operator): add support for new secrets watcher (#305)                                                                                               
  
Adds a new secretsWatcher feature to the union-operator that triggers rolling restarts of deployments when secrets change.                                   
                
- **values.yaml**: new `config.operator.secretsWatcher` block (`enabled: false`, `dryRun: true`)                                                             
- **configmap.yaml**: renders the secretsWatcher config into the operator ConfigMap when set
- **serviceaccount.yaml**: conditionally adds RBAC (`get`/`list`/`watch`/`update`/`patch` on replicasets/deployments) when enabled                           
                                                                                                                                                              
**Configuration** — add to your dataplane values override:
                                                                                                                                                              
```yaml         
config:
  operator:
    secretsWatcher:
      enabled: true
      dryRun: false
```

No changes required for existing deployments. The secrets watcher is disabled by default.                                                                    
  
Zone pod labels for all Union-owned workloads (#305)                                                                                                         
                
Adds a platform.union.ai/zone pod label to all Union-owned deployments and daemonsets for improved observability and targeting.

- Controlplane workloads (authz, cacheservice, console) get zone: `controlplane`                                                                             
- Dataplane workloads (clusterresourcesync, flyteconnector, imagebuilder, nodeexecutor, nodeobserver, propeller, propeller-webhook) get zone: `dataplane`
                                                                                                                                                              
---             
Image Changes (2026.4.3 → 2026.4.5)                                                                                                                          
                                    
feat(operator): add secrets watcher module (cloud #15061)
                                                                                                                                                              
Adds a SecretsWatcher to the union-operator that detects Kubernetes secret content changes (via SHA-256 hashing) and triggers rolling restarts of affected
deployments.                                                                                                                                                 
                
- Feature-flagged via `secretsWatcher.enabled` (default: `false`), ships with `dryRun: true`                                                                      
- Prometheus metrics: `deployments_updated`, `secrets_processed`, `errors`

---             
Related PRs
            
- Cloud: #15061
- Helm charts: [#305](#305)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants