Commit ae078a7
feat(agent): three-axis env inheritance via [agent.clear_env]
Replaces the flat [agent].inherit_env allow-list with a structured
[agent.clear_env] table that supports both allow-list and deny-list
filtering plus an enabled toggle.
Decision tree:
if enabled (default true):
if allow_list non-empty -> only those keys pass through
elif deny_list non-empty -> all process env passes EXCEPT deny_list
else -> nothing inherited (pure secure default)
else:
full process env inherited; both lists ignored (escape hatch)
Use case: AWS-IRSA / web-identity workloads where k8s auto-injects many
AWS_* env vars. Listing every benign one in an allow-list is brittle;
deny_list = ["DISCORD_BOT_TOKEN", ...] is a much better fit.
Helm values structure:
agents.<name>.clearEnv:
enabled: true
allowList: []
denyList: []
BREAKING CHANGE (beta): agents.<name>.inheritEnv is removed. Migration:
inheritEnv: ["A", "B"] -> clearEnv.allowList: ["A", "B"]
The helm template hard-fails with a migration message if the legacy key
is encountered. TOML config users: rename `inherit_env = [...]` to
`[agent.clear_env]\nallow_list = [...]`.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 1fd36df commit ae078a7
6 files changed
Lines changed: 296 additions & 48 deletions
File tree
- charts/openab
- templates
- tests
- src
- acp
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
106 | 106 | | |
107 | 107 | | |
108 | 108 | | |
109 | | - | |
110 | | - | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
111 | 126 | | |
112 | 127 | | |
113 | 128 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
143 | 143 | | |
144 | 144 | | |
145 | 145 | | |
146 | | - | |
| 146 | + | |
147 | 147 | | |
148 | | - | |
| 148 | + | |
149 | 149 | | |
150 | 150 | | |
151 | 151 | | |
152 | 152 | | |
153 | 153 | | |
154 | | - | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
155 | 174 | | |
156 | | - | |
| 175 | + | |
157 | 176 | | |
158 | 177 | | |
159 | 178 | | |
160 | | - | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
60 | 60 | | |
61 | 61 | | |
62 | 62 | | |
63 | | - | |
64 | | - | |
65 | | - | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
66 | 68 | | |
67 | | - | |
68 | | - | |
69 | | - | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
70 | 96 | | |
71 | 97 | | |
72 | 98 | | |
| |||
0 commit comments