Skip to content

Commit 7b2fb7d

Browse files
feat: create the vault infrastructure for integration tests (#1432)
1 parent f42b7ea commit 7b2fb7d

File tree

3 files changed

+48
-0
lines changed

3 files changed

+48
-0
lines changed

agent-control/tests/k8s/Tiltfile

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ update_settings ( k8s_upsert_timeout_secs = 150)
55
load('ext://helm_resource', 'helm_repo','helm_resource')
66
load('ext://git_resource', 'git_checkout')
77
load('ext://deployment', 'job_create')
8+
load('ext://helm_remote', 'helm_remote')
89

910
#### Install Flux needed for some integration tests
1011
helm_repo(
@@ -146,3 +147,37 @@ local_resource(
146147
""",
147148
resource_deps=['package-and-upload-local-image-chart'],
148149
)
150+
151+
enable_vault = os.getenv('ENABLE_VAULT', 'false').lower() == 'true'
152+
153+
if enable_vault:
154+
### We create a vault instance reachable at http://127.0.0.1:8200 with a kv1 engine secret with the values from
155+
### data/vault_kv1_secrets.json and a kv2 engine secret with the values from vault_kv2_secrets.json, dev token is root
156+
helm_remote(
157+
'vault',
158+
repo_name='hashicorp',
159+
repo_url='https://helm.releases.hashicorp.com',
160+
set=['server.dev.enabled=true','server.serviceAccount.create=true']
161+
)
162+
163+
# expose the service on localhost:8200
164+
k8s_resource(
165+
workload='vault',
166+
port_forwards=8200
167+
)
168+
169+
local_resource(
170+
'enable_kv1',
171+
cmd="""curl --header "X-Vault-Token: root" --request POST --data '{"type":"kv","options":{"version":1}}' http://127.0.0.1:8200/v1/sys/mounts/kv-v1
172+
""",
173+
resource_deps=['vault'],
174+
)
175+
176+
# kv2 is enabled by default
177+
local_resource(
178+
'populate_vault_v1_v2_secrets',
179+
cmd="""curl --header "X-Vault-Token: root" --request POST --data @data/vault_kv1_secrets.json http://127.0.0.1:8200/v1/kv-v1/my-secret &&
180+
curl --header "X-Vault-Token: root" --request POST --data @data/vault_kv2_secrets.json http://127.0.0.1:8200/v1/secret/data/my-secret
181+
""",
182+
resource_deps=['enable_kv1'],
183+
)
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"foo1": "bar1",
3+
"zip1": "zap1"
4+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"options": {
3+
"cas": 0
4+
},
5+
"data": {
6+
"foo2": "bar2",
7+
"zip2": "zap2"
8+
}
9+
}

0 commit comments

Comments
 (0)