-
Notifications
You must be signed in to change notification settings - Fork 1
Test fully specifying client config with env var #18
Changes from 7 commits
dc93fd0
eee5c87
24970d3
59b6260
ae28008
3acee95
39c70f7
1b4421e
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,149 @@ | ||||||||||||||||||||||||||||||||||||||||||
| setup() { | ||||||||||||||||||||||||||||||||||||||||||
| bats_load_library bats-support | ||||||||||||||||||||||||||||||||||||||||||
| bats_load_library bats-assert | ||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||
| @test "can create clients with admin cli" { | ||||||||||||||||||||||||||||||||||||||||||
| jmp admin create client test-client-oidc --unsafe --out /dev/null \ | ||||||||||||||||||||||||||||||||||||||||||
| --oidc-username dex:test-client-oidc | ||||||||||||||||||||||||||||||||||||||||||
| jmp admin create client test-client-sa --unsafe --out /dev/null \ | ||||||||||||||||||||||||||||||||||||||||||
| --oidc-username dex:system:serviceaccount:default:test-client-sa | ||||||||||||||||||||||||||||||||||||||||||
| jmp admin create client test-client-legacy --unsafe --save | ||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||
| @test "can create exporters with admin cli" { | ||||||||||||||||||||||||||||||||||||||||||
| jmp admin create exporter test-exporter-oidc --out /dev/null \ | ||||||||||||||||||||||||||||||||||||||||||
| --oidc-username dex:test-exporter-oidc \ | ||||||||||||||||||||||||||||||||||||||||||
| --label example.com/board=oidc | ||||||||||||||||||||||||||||||||||||||||||
| jmp admin create exporter test-exporter-sa --out /dev/null \ | ||||||||||||||||||||||||||||||||||||||||||
| --oidc-username dex:system:serviceaccount:default:test-exporter-sa \ | ||||||||||||||||||||||||||||||||||||||||||
| --label example.com/board=sa | ||||||||||||||||||||||||||||||||||||||||||
| jmp admin create exporter test-exporter-legacy --save \ | ||||||||||||||||||||||||||||||||||||||||||
| --label example.com/board=legacy | ||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||
| @test "can login with oidc" { | ||||||||||||||||||||||||||||||||||||||||||
| jmp config client list | ||||||||||||||||||||||||||||||||||||||||||
| jmp config exporter list | ||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||
| jmp login --client test-client-oidc \ | ||||||||||||||||||||||||||||||||||||||||||
| --endpoint "$ENDPOINT" --namespace default --name test-client-oidc \ | ||||||||||||||||||||||||||||||||||||||||||
| --issuer https://dex.dex.svc.cluster.local:5556 \ | ||||||||||||||||||||||||||||||||||||||||||
| --username test-client-oidc@example.com --password password --unsafe | ||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||
| jmp login --client test-client-sa \ | ||||||||||||||||||||||||||||||||||||||||||
| --endpoint "$ENDPOINT" --namespace default --name test-client-sa \ | ||||||||||||||||||||||||||||||||||||||||||
| --issuer https://dex.dex.svc.cluster.local:5556 \ | ||||||||||||||||||||||||||||||||||||||||||
| --connector-id kubernetes \ | ||||||||||||||||||||||||||||||||||||||||||
| --token $(kubectl create -n default token test-client-sa) --unsafe | ||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||
| jmp login --exporter test-exporter-oidc \ | ||||||||||||||||||||||||||||||||||||||||||
| --endpoint "$ENDPOINT" --namespace default --name test-exporter-oidc \ | ||||||||||||||||||||||||||||||||||||||||||
| --issuer https://dex.dex.svc.cluster.local:5556 \ | ||||||||||||||||||||||||||||||||||||||||||
| --username test-exporter-oidc@example.com --password password | ||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||
| jmp login --exporter test-exporter-sa \ | ||||||||||||||||||||||||||||||||||||||||||
| --endpoint "$ENDPOINT" --namespace default --name test-exporter-sa \ | ||||||||||||||||||||||||||||||||||||||||||
| --issuer https://dex.dex.svc.cluster.local:5556 \ | ||||||||||||||||||||||||||||||||||||||||||
| --connector-id kubernetes \ | ||||||||||||||||||||||||||||||||||||||||||
| --token $(kubectl create -n default token test-exporter-sa) | ||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||
| go run github.com/mikefarah/yq/v4@latest -i ". * load(\"$GITHUB_ACTION_PATH/exporter.yaml\")" \ | ||||||||||||||||||||||||||||||||||||||||||
| /etc/jumpstarter/exporters/test-exporter-oidc.yaml | ||||||||||||||||||||||||||||||||||||||||||
| go run github.com/mikefarah/yq/v4@latest -i ". * load(\"$GITHUB_ACTION_PATH/exporter.yaml\")" \ | ||||||||||||||||||||||||||||||||||||||||||
| /etc/jumpstarter/exporters/test-exporter-sa.yaml | ||||||||||||||||||||||||||||||||||||||||||
| go run github.com/mikefarah/yq/v4@latest -i ". * load(\"$GITHUB_ACTION_PATH/exporter.yaml\")" \ | ||||||||||||||||||||||||||||||||||||||||||
| /etc/jumpstarter/exporters/test-exporter-legacy.yaml | ||||||||||||||||||||||||||||||||||||||||||
|
NickCao marked this conversation as resolved.
|
||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||
| jmp config client list | ||||||||||||||||||||||||||||||||||||||||||
| jmp config exporter list | ||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||
|
NickCao marked this conversation as resolved.
|
||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||
| @test "can run exporters" { | ||||||||||||||||||||||||||||||||||||||||||
| cat <<EOF | bash 3>&- & | ||||||||||||||||||||||||||||||||||||||||||
| while true; do | ||||||||||||||||||||||||||||||||||||||||||
| jmp run --exporter test-exporter-oidc | ||||||||||||||||||||||||||||||||||||||||||
| done | ||||||||||||||||||||||||||||||||||||||||||
| EOF | ||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||
| cat <<EOF | bash 3>&- & | ||||||||||||||||||||||||||||||||||||||||||
| while true; do | ||||||||||||||||||||||||||||||||||||||||||
| jmp run --exporter test-exporter-sa | ||||||||||||||||||||||||||||||||||||||||||
| done | ||||||||||||||||||||||||||||||||||||||||||
| EOF | ||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||
| cat <<EOF | bash 3>&- & | ||||||||||||||||||||||||||||||||||||||||||
| while true; do | ||||||||||||||||||||||||||||||||||||||||||
| jmp run --exporter test-exporter-legacy | ||||||||||||||||||||||||||||||||||||||||||
| done | ||||||||||||||||||||||||||||||||||||||||||
| EOF | ||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||
| kubectl -n default wait --for=condition=Online --for=condition=Registered \ | ||||||||||||||||||||||||||||||||||||||||||
| exporters.jumpstarter.dev/test-exporter-oidc | ||||||||||||||||||||||||||||||||||||||||||
| kubectl -n default wait --for=condition=Online --for=condition=Registered \ | ||||||||||||||||||||||||||||||||||||||||||
| exporters.jumpstarter.dev/test-exporter-sa | ||||||||||||||||||||||||||||||||||||||||||
| kubectl -n default wait --for=condition=Online --for=condition=Registered \ | ||||||||||||||||||||||||||||||||||||||||||
| exporters.jumpstarter.dev/test-exporter-legacy | ||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||
|
NickCao marked this conversation as resolved.
|
||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||
| @test "can specify client config only using environment variables" { | ||||||||||||||||||||||||||||||||||||||||||
| kubectl -n default wait --for=condition=Online --for=condition=Registered \ | ||||||||||||||||||||||||||||||||||||||||||
| exporters.jumpstarter.dev/test-exporter-oidc | ||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||
| JMP_NAMEPSACE=default \ | ||||||||||||||||||||||||||||||||||||||||||
| JMP_NAME=test-exporter-legacy \ | ||||||||||||||||||||||||||||||||||||||||||
| JMP_ENDPOINT=$(kubectl get clients.jumpstarter.dev -n default test-client-legacy -o 'jsonpath={.status.endpoint}') \ | ||||||||||||||||||||||||||||||||||||||||||
| JMP_TOKEN=$(kubectl get secrets -n default test-client-legacy-client -o 'jsonpath={.data.token}' | base64 -d) \ | ||||||||||||||||||||||||||||||||||||||||||
| jmp shell --selector example.com/board=oidc j power on | ||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+89
to
+98
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fix typo in environment variable name and clarify naming convention. There's a typo in the environment variable name that will prevent proper configuration. Apply this diff to fix the typo: - JMP_NAMEPSACE=default \
+ JMP_NAMESPACE=default \Additionally, consider clarifying the naming convention - using 📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||
| @test "can operate on leases" { | ||||||||||||||||||||||||||||||||||||||||||
| kubectl -n default wait --for=condition=Online --for=condition=Registered \ | ||||||||||||||||||||||||||||||||||||||||||
| exporters.jumpstarter.dev/test-exporter-oidc | ||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||
| jmp config client use test-client-oidc | ||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||
| jmp create lease --selector example.com/board=oidc --duration 1d | ||||||||||||||||||||||||||||||||||||||||||
| jmp get leases | ||||||||||||||||||||||||||||||||||||||||||
| jmp get exporters | ||||||||||||||||||||||||||||||||||||||||||
| jmp delete leases --all | ||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||
| @test "can lease and connect to exporters" { | ||||||||||||||||||||||||||||||||||||||||||
| kubectl -n default wait --for=condition=Online --for=condition=Registered \ | ||||||||||||||||||||||||||||||||||||||||||
| exporters.jumpstarter.dev/test-exporter-oidc | ||||||||||||||||||||||||||||||||||||||||||
| kubectl -n default wait --for=condition=Online --for=condition=Registered \ | ||||||||||||||||||||||||||||||||||||||||||
| exporters.jumpstarter.dev/test-exporter-sa | ||||||||||||||||||||||||||||||||||||||||||
| kubectl -n default wait --for=condition=Online --for=condition=Registered \ | ||||||||||||||||||||||||||||||||||||||||||
| exporters.jumpstarter.dev/test-exporter-legacy | ||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||
| jmp shell --client test-client-oidc --selector example.com/board=oidc j power on | ||||||||||||||||||||||||||||||||||||||||||
| jmp shell --client test-client-sa --selector example.com/board=sa j power on | ||||||||||||||||||||||||||||||||||||||||||
| jmp shell --client test-client-legacy --selector example.com/board=legacy j power on | ||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||
|
NickCao marked this conversation as resolved.
|
||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||
| @test "can get crds with admin cli" { | ||||||||||||||||||||||||||||||||||||||||||
| jmp admin get client | ||||||||||||||||||||||||||||||||||||||||||
| jmp admin get exporter | ||||||||||||||||||||||||||||||||||||||||||
| jmp admin get lease | ||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||
| @test "can delete clients with admin cli" { | ||||||||||||||||||||||||||||||||||||||||||
| kubectl -n default get secret test-client-oidc-client | ||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||
| jmp admin delete client test-client-oidc --delete | ||||||||||||||||||||||||||||||||||||||||||
| jmp admin delete client test-client-sa --delete | ||||||||||||||||||||||||||||||||||||||||||
| jmp admin delete client test-client-legacy --delete | ||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||
| run ! kubectl -n default get secret test-client-oidc-client | ||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||
| @test "can delete exporters with admin cli" { | ||||||||||||||||||||||||||||||||||||||||||
| kubectl -n default get secret test-exporter-oidc-exporter | ||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||
| jmp admin delete exporter test-exporter-oidc --delete | ||||||||||||||||||||||||||||||||||||||||||
| jmp admin delete exporter test-exporter-sa --delete | ||||||||||||||||||||||||||||||||||||||||||
| jmp admin delete exporter test-exporter-legacy --delete | ||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||
| run ! kubectl -n default get secret test-exporter-oidc-exporter | ||||||||||||||||||||||||||||||||||||||||||
|
NickCao marked this conversation as resolved.
|
||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||
Uh oh!
There was an error while loading. Please reload this page.