Skip to content

Commit ea1f096

Browse files
committed
automations for basic preview tasks
WIP: IDP not working, yet
1 parent 21b7230 commit ea1f096

File tree

3 files changed

+56
-6
lines changed

3 files changed

+56
-6
lines changed

.devcontainer/devcontainer.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@
1212
],
1313
"remoteEnv": {
1414
"GIT_EDITOR": "code --wait",
15-
"KUBE_EDITOR": "code --wait"
15+
"KUBE_EDITOR": "code --wait",
16+
"PREVIEW_ENV_DEV_SA_KEY_PATH": "/home/gitpod/.config/gcloud/preview-environment-dev-sa.json"
1617
},
1718
"features": {
1819
"ghcr.io/devcontainers/features/docker-in-docker:2": {

.gitpod/automations.yaml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
tasks:
2+
setup-workspace:
3+
name: setup workspace
4+
triggeredBy:
5+
- postEnvironmentStart
6+
command: |
7+
export PREVIEW_ENV_DEV_SA_KEY_PATH="/home/gitpod/.config/gcloud/preview-environment-dev-sa.json"
8+
leeway run dev/preview:configure-workspace
9+
leeway run dev/preview/previewctl:install
10+
preview-create:
11+
name: create preview
12+
dependsOn:
13+
- setup-workspace
14+
triggeredBy:
15+
- manual
16+
command: |
17+
export PREVIEW_ENV_DEV_SA_KEY_PATH="/home/gitpod/.config/gcloud/preview-environment-dev-sa.json"
18+
previewctl create
19+
preview-delete:
20+
name: delete preview
21+
dependsOn:
22+
- setup-workspace
23+
triggeredBy:
24+
- manual
25+
command: |
26+
export PREVIEW_ENV_DEV_SA_KEY_PATH="/home/gitpod/.config/gcloud/preview-environment-dev-sa.json"
27+
previewctl delete
28+
services:
29+
preview-update-kubectx:
30+
name: update kubectx
31+
# trigger:
32+
# - onStart
33+
# dependsOn:
34+
# - setup-workspace
35+
# TODO(gpl): would be great if we could depend on a task - or use "gitpod auto task start setup-workspace --wait"
36+
commands:
37+
start: |
38+
leeway run dev/preview/previewctl:install
39+
previewctl install-context --watch

dev/preview/workflow/preview/configure-workspace.sh

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,23 @@ if [ -z "${PREVIEW_ENV_DEV_SA_KEY_PATH:-}" ]; then
1919
fi
2020

2121
if [ -f "/usr/local/gitpod/config/initial-spec.json" ]; then
22+
# gcloud iam workload-identity-pools create-cred-config \
23+
# projects/184212049955/locations/global/workloadIdentityPools/app-gitpod/providers/app-gitpod-provider \
24+
# --service-account=preview-environmnet-dev@gitpod-dev-preview.iam.gserviceaccount.com \
25+
# --service-account-token-lifetime-seconds=1h \
26+
# --output-file="${PREVIEW_ENV_DEV_SA_KEY_PATH}" \
27+
# --executable-command='gitpod-new idp token --audience="//iam.googleapis.com/projects/184212049955/locations/global/workloadIdentityPools/app-gitpod/providers/app-gitpod-provider" --gcloud' \
28+
# --executable-timeout-millis=5000
29+
2230
gcloud iam workload-identity-pools create-cred-config \
23-
projects/184212049955/locations/global/workloadIdentityPools/gitpod-next/providers/gitpod-next-provider \
31+
projects/184212049955/locations/global/workloadIdentityPools/app-gitpod/providers/app-gitpod-provider \
2432
--service-account=preview-environmnet-dev@gitpod-dev-preview.iam.gserviceaccount.com \
25-
--service-account-token-lifetime-seconds=1h \
26-
--output-file="${PREVIEW_ENV_DEV_SA_KEY_PATH}" \
27-
--executable-command='node /workspace/gitpod/dev/next-oidc/oidc.js' \
28-
--executable-timeout-millis=5000
33+
--subject-token-type="urn:ietf:params:oauth:token-type:jwt" \
34+
--credential-source-type="json" \
35+
--executable-command='gitpod-new idp token --audience="//iam.googleapis.com/projects/184212049955/locations/global/workloadIdentityPools/app-gitpod/providers/app-gitpod-provider" --gcloud' \
36+
--executable-timeout-millis=5000 \
37+
--executable-output-file="/tmp/gcloud-oidc.json" \
38+
--output-file="${PREVIEW_ENV_DEV_SA_KEY_PATH}"
2939
elif [[ -n "${PREVIEW_ENV_DEV_CRED:-}" ]]; then
3040
echo "${PREVIEW_ENV_DEV_CRED}" >"${PREVIEW_ENV_DEV_SA_KEY_PATH}"
3141
fi

0 commit comments

Comments
 (0)