| [ |
| { |
| "cmd": [], |
| "name": "ensure gcloud" |
| }, |
| { |
| "cmd": [ |
| "cipd", |
| "ensure", |
| "-root", |
| "[START_DIR]/cipd/gcloud", |
| "-ensure-file", |
| "infra/gcloud/${platform} version:266.0.0.chromium0", |
| "-max-threads", |
| "0", |
| "-json-output", |
| "/path/to/tmp/json" |
| ], |
| "infra_step": true, |
| "name": "ensure gcloud.ensure_installed", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_LOG_LINE@json.output@{@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"result\": {@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"\": [@@@", |
| "@@@STEP_LOG_LINE@json.output@ {@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-version:266.0.0.\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"package\": \"infra/gcloud/resolved-platform\"@@@", |
| "@@@STEP_LOG_LINE@json.output@ }@@@", |
| "@@@STEP_LOG_LINE@json.output@ ]@@@", |
| "@@@STEP_LOG_LINE@json.output@ }@@@", |
| "@@@STEP_LOG_LINE@json.output@}@@@", |
| "@@@STEP_LOG_END@json.output@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "remove", |
| "[START_DIR]/cipd/gcloud/bin/gcloud" |
| ], |
| "infra_step": true, |
| "name": "ensure gcloud.remove gcloud wrapper", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "copy", |
| "RECIPE_MODULE[fuchsia::gcloud]/resources/gcloud", |
| "[START_DIR]/cipd/gcloud/bin/gcloud" |
| ], |
| "infra_step": true, |
| "name": "ensure gcloud.copy patched gcloud", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/cipd/gcloud/bin/gcloud", |
| "config", |
| "set", |
| "project", |
| "goma-fuchsia" |
| ], |
| "name": "set gcloud project" |
| }, |
| { |
| "cmd": [ |
| "vpython", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "ensure-directory", |
| "--mode", |
| "0777", |
| "[START_DIR]/config" |
| ], |
| "infra_step": true, |
| "name": "makedirs" |
| }, |
| { |
| "cmd": [ |
| "git", |
| "init" |
| ], |
| "cwd": "[START_DIR]/config", |
| "name": "git init" |
| }, |
| { |
| "cmd": [ |
| "git", |
| "remote", |
| "add", |
| "origin", |
| "https://fuchsia.googlesource.com/infra/config" |
| ], |
| "cwd": "[START_DIR]/config", |
| "name": "git remote" |
| }, |
| { |
| "cmd": [ |
| "git", |
| "fetch", |
| "--tags", |
| "origin", |
| "master" |
| ], |
| "cwd": "[START_DIR]/config", |
| "name": "git fetch" |
| }, |
| { |
| "cmd": [ |
| "git", |
| "checkout", |
| "-f", |
| "FETCH_HEAD" |
| ], |
| "cwd": "[START_DIR]/config", |
| "name": "git checkout" |
| }, |
| { |
| "cmd": [ |
| "git", |
| "rev-parse", |
| "HEAD" |
| ], |
| "cwd": "[START_DIR]/config", |
| "name": "git rev-parse" |
| }, |
| { |
| "cmd": [ |
| "git", |
| "clean", |
| "-f", |
| "-d", |
| "-x" |
| ], |
| "cwd": "[START_DIR]/config", |
| "name": "git clean" |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/cipd/gcloud/bin/gcloud", |
| "deployment-manager", |
| "deployments", |
| "create", |
| "rbe-dev-global-addr", |
| "--config", |
| "[START_DIR]/config/goma/gke-res/rbe-dev/global-addr.yaml" |
| ], |
| "name": "deploy-global-addr" |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/cipd/gcloud/bin/gcloud", |
| "deployment-manager", |
| "deployments", |
| "create", |
| "rbe-dev-storage", |
| "--config", |
| "[START_DIR]/config/goma/gke-res/rbe-dev/storage.yaml" |
| ], |
| "name": "deploy-storage" |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/cipd/gcloud/bin/gcloud", |
| "deployment-manager", |
| "deployments", |
| "create", |
| "rbe-dev", |
| "--config", |
| "[START_DIR]/config/goma/gke/rbe-dev/cluster.yaml" |
| ], |
| "name": "deploy-cluster" |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/cipd/gcloud/bin/gcloud", |
| "compute", |
| "addresses", |
| "describe", |
| "rbe-dev-endpoints-address", |
| "--global", |
| "--format=get(address)" |
| ], |
| "name": "get addr" |
| }, |
| { |
| "cmd": [ |
| "vpython", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "copy", |
| "[START_DIR]/config/goma/endpoints/api_config.yaml.in", |
| "/path/to/tmp/" |
| ], |
| "infra_step": true, |
| "name": "read input template [START_DIR]/config/goma/endpoints/api_config.yaml.in", |
| "~followup_annotations": [ |
| "@@@STEP_LOG_LINE@api_config.yaml.in@@@@", |
| "@@@STEP_LOG_LINE@api_config.yaml.in@type: google.api.Service@@@", |
| "@@@STEP_LOG_LINE@api_config.yaml.in@config_version: 3@@@", |
| "@@@STEP_LOG_LINE@api_config.yaml.in@name: $CLUSTER.endpoints.$PROJECT_ID.cloud.goog@@@", |
| "@@@STEP_LOG_LINE@api_config.yaml.in@title: Goma gRPC API on $CLUSTER@@@", |
| "@@@STEP_LOG_LINE@api_config.yaml.in@apis:@@@", |
| "@@@STEP_LOG_LINE@api_config.yaml.in@- name: devtools_goma.ExecService@@@", |
| "@@@STEP_LOG_LINE@api_config.yaml.in@- name: devtools_goma.FileService@@@", |
| "@@@STEP_LOG_LINE@api_config.yaml.in@- name: devtools_goma.LogService@@@", |
| "@@@STEP_LOG_LINE@api_config.yaml.in@documentation:@@@", |
| "@@@STEP_LOG_LINE@api_config.yaml.in@ summary: >-@@@", |
| "@@@STEP_LOG_LINE@api_config.yaml.in@ Goma gRPC API on $CLUSTER in $PROJECT_ID project.@@@", |
| "@@@STEP_LOG_LINE@api_config.yaml.in@endpoints:@@@", |
| "@@@STEP_LOG_LINE@api_config.yaml.in@- name: $CLUSTER.endpoints.$PROJECT_ID.cloud.goog@@@", |
| "@@@STEP_LOG_LINE@api_config.yaml.in@ target: \"$ADDR\"@@@", |
| "@@@STEP_LOG_END@api_config.yaml.in@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "copy", |
| "\ntype: google.api.Service\nconfig_version: 3\nname: rbe-dev.endpoints.goma-fuchsia.cloud.goog\ntitle: Goma gRPC API on rbe-dev\napis:\n- name: devtools_goma.ExecService\n- name: devtools_goma.FileService\n- name: devtools_goma.LogService\ndocumentation:\n summary: >-\n Goma gRPC API on rbe-dev in goma-fuchsia project.\nendpoints:\n- name: rbe-dev.endpoints.goma-fuchsia.cloud.goog\n target: \"test\"\n", |
| "[CLEANUP]/api_config.yaml" |
| ], |
| "infra_step": true, |
| "name": "write yaml [CLEANUP]/api_config.yaml", |
| "~followup_annotations": [ |
| "@@@STEP_LOG_LINE@api_config.yaml@@@@", |
| "@@@STEP_LOG_LINE@api_config.yaml@type: google.api.Service@@@", |
| "@@@STEP_LOG_LINE@api_config.yaml@config_version: 3@@@", |
| "@@@STEP_LOG_LINE@api_config.yaml@name: rbe-dev.endpoints.goma-fuchsia.cloud.goog@@@", |
| "@@@STEP_LOG_LINE@api_config.yaml@title: Goma gRPC API on rbe-dev@@@", |
| "@@@STEP_LOG_LINE@api_config.yaml@apis:@@@", |
| "@@@STEP_LOG_LINE@api_config.yaml@- name: devtools_goma.ExecService@@@", |
| "@@@STEP_LOG_LINE@api_config.yaml@- name: devtools_goma.FileService@@@", |
| "@@@STEP_LOG_LINE@api_config.yaml@- name: devtools_goma.LogService@@@", |
| "@@@STEP_LOG_LINE@api_config.yaml@documentation:@@@", |
| "@@@STEP_LOG_LINE@api_config.yaml@ summary: >-@@@", |
| "@@@STEP_LOG_LINE@api_config.yaml@ Goma gRPC API on rbe-dev in goma-fuchsia project.@@@", |
| "@@@STEP_LOG_LINE@api_config.yaml@endpoints:@@@", |
| "@@@STEP_LOG_LINE@api_config.yaml@- name: rbe-dev.endpoints.goma-fuchsia.cloud.goog@@@", |
| "@@@STEP_LOG_LINE@api_config.yaml@ target: \"test\"@@@", |
| "@@@STEP_LOG_END@api_config.yaml@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "docker", |
| "pull", |
| "gcr.io/fuchsia-toolchain-images-gcr/frontend:latest" |
| ], |
| "name": "pull docker image gcr.io/fuchsia-toolchain-images-gcr/frontend:latest" |
| }, |
| { |
| "cmd": [ |
| "docker", |
| "create", |
| "gcr.io/fuchsia-toolchain-images-gcr/frontend:latest" |
| ], |
| "name": "docker create" |
| }, |
| { |
| "cmd": [], |
| "name": "copy file from container " |
| }, |
| { |
| "cmd": [ |
| "docker", |
| "cp", |
| ":/opt/goma/etc/service_descriptor.pb", |
| "[CLEANUP]/" |
| ], |
| "name": "copy file from container .copy /opt/goma/etc/service_descriptor.pb", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "docker", |
| "rm", |
| "-fv", |
| "" |
| ], |
| "name": "remove container" |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/cipd/gcloud/bin/gcloud", |
| "endpoints", |
| "services", |
| "deploy", |
| "[CLEANUP]/api_config.yaml", |
| "[CLEANUP]/service_descriptor.pb" |
| ], |
| "name": "gcloud endpoints" |
| }, |
| { |
| "cmd": [ |
| "python", |
| "-u", |
| "RECIPE_MODULE[fuchsia::yaml]/resources/parse_yaml.py", |
| "[START_DIR]/config/goma/gke-res/rbe-dev/storage.yaml" |
| ], |
| "name": "load yaml [START_DIR]/config/goma/gke-res/rbe-dev/storage.yaml", |
| "~followup_annotations": [ |
| "@@@STEP_LOG_LINE@json.output@{@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"region\": \"us-central\"@@@", |
| "@@@STEP_LOG_LINE@json.output@}@@@", |
| "@@@STEP_LOG_END@json.output@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/cipd/gcloud/bin/gcloud", |
| "container", |
| "clusters", |
| "get-credentials", |
| "--project=goma-fuchsia", |
| "--region=us-central", |
| "rbe-dev" |
| ], |
| "name": "get credential for goma-fuchsia" |
| }, |
| { |
| "cmd": [], |
| "name": "install fuchsia/third_party/kubectl" |
| }, |
| { |
| "cmd": [ |
| "vpython", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "ensure-directory", |
| "--mode", |
| "0777", |
| "[CACHE]/cipd/fuchsia/third_party/kubectl/version%3A1.16.1-00" |
| ], |
| "env": { |
| "CLOUDSDK_COMPUTE_REGION": "us-central", |
| "CLOUDSDK_CONTAINER_CLUSTER": "rbe-dev" |
| }, |
| "infra_step": true, |
| "name": "install fuchsia/third_party/kubectl.ensure package directory", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "cipd", |
| "ensure", |
| "-root", |
| "[CACHE]/cipd/fuchsia/third_party/kubectl/version%3A1.16.1-00", |
| "-ensure-file", |
| "fuchsia/third_party/kubectl/${platform} version:1.16.1-00", |
| "-max-threads", |
| "0", |
| "-json-output", |
| "/path/to/tmp/json" |
| ], |
| "env": { |
| "CLOUDSDK_COMPUTE_REGION": "us-central", |
| "CLOUDSDK_CONTAINER_CLUSTER": "rbe-dev" |
| }, |
| "infra_step": true, |
| "name": "install fuchsia/third_party/kubectl.ensure_installed", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_LOG_LINE@json.output@{@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"result\": {@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"\": [@@@", |
| "@@@STEP_LOG_LINE@json.output@ {@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-version:1.16.1-0\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"package\": \"fuchsia/third_party/kubectl/resolved-platform\"@@@", |
| "@@@STEP_LOG_LINE@json.output@ }@@@", |
| "@@@STEP_LOG_LINE@json.output@ ]@@@", |
| "@@@STEP_LOG_LINE@json.output@ }@@@", |
| "@@@STEP_LOG_LINE@json.output@}@@@", |
| "@@@STEP_LOG_END@json.output@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "[CACHE]/cipd/fuchsia/third_party/kubectl/version%3A1.16.1-00/kubectl", |
| "apply", |
| "-f", |
| "[START_DIR]/config/goma/k8s/rbe-dev/goma" |
| ], |
| "env": { |
| "CLOUDSDK_COMPUTE_REGION": "us-central", |
| "CLOUDSDK_CONTAINER_CLUSTER": "rbe-dev" |
| }, |
| "name": "deploy-goma" |
| }, |
| { |
| "cmd": [ |
| "[CACHE]/cipd/fuchsia/third_party/kubectl/version%3A1.16.1-00/kubectl", |
| "annotate", |
| "serviceaccount", |
| "--overwrite", |
| "default", |
| "iam.gke.io/gcp-service-account=rbe-cluster@goma-fuchsia.iam.gserviceaccount.com" |
| ], |
| "env": { |
| "CLOUDSDK_COMPUTE_REGION": "us-central", |
| "CLOUDSDK_CONTAINER_CLUSTER": "rbe-dev" |
| }, |
| "name": "annotate default ksa" |
| }, |
| { |
| "cmd": [ |
| "[CACHE]/cipd/fuchsia/third_party/kubectl/version%3A1.16.1-00/kubectl", |
| "apply", |
| "-f", |
| "[START_DIR]/config/goma/k8s/rbe-dev/backend-config" |
| ], |
| "env": { |
| "CLOUDSDK_COMPUTE_REGION": "us-central", |
| "CLOUDSDK_CONTAINER_CLUSTER": "rbe-dev" |
| }, |
| "name": "deploy-backend-config" |
| }, |
| { |
| "cmd": [ |
| "[CACHE]/cipd/fuchsia/third_party/kubectl/version%3A1.16.1-00/kubectl", |
| "apply", |
| "-f", |
| "[START_DIR]/config/goma/k8s/rbe-dev/ingress" |
| ], |
| "env": { |
| "CLOUDSDK_COMPUTE_REGION": "us-central", |
| "CLOUDSDK_CONTAINER_CLUSTER": "rbe-dev" |
| }, |
| "name": "deploy-ingress" |
| }, |
| { |
| "cmd": [ |
| "[CACHE]/cipd/fuchsia/third_party/kubectl/version%3A1.16.1-00/kubectl", |
| "get", |
| "secret", |
| "nginx-ssl" |
| ], |
| "env": { |
| "CLOUDSDK_COMPUTE_REGION": "us-central", |
| "CLOUDSDK_CONTAINER_CLUSTER": "rbe-dev" |
| }, |
| "name": "kubectl get ngnix secret" |
| }, |
| { |
| "cmd": [ |
| "[CACHE]/cipd/fuchsia/third_party/kubectl/version%3A1.16.1-00/kubectl", |
| "rollout", |
| "restart", |
| "deployment", |
| "auth-server" |
| ], |
| "env": { |
| "CLOUDSDK_COMPUTE_REGION": "us-central", |
| "CLOUDSDK_CONTAINER_CLUSTER": "rbe-dev" |
| }, |
| "name": "reload auth-server" |
| }, |
| { |
| "cmd": [ |
| "[CACHE]/cipd/fuchsia/third_party/kubectl/version%3A1.16.1-00/kubectl", |
| "rollout", |
| "restart", |
| "deployment", |
| "exec-server" |
| ], |
| "env": { |
| "CLOUDSDK_COMPUTE_REGION": "us-central", |
| "CLOUDSDK_CONTAINER_CLUSTER": "rbe-dev" |
| }, |
| "name": "reload exec-server" |
| }, |
| { |
| "cmd": [ |
| "[CACHE]/cipd/fuchsia/third_party/kubectl/version%3A1.16.1-00/kubectl", |
| "rollout", |
| "restart", |
| "deployment", |
| "execlog-server" |
| ], |
| "env": { |
| "CLOUDSDK_COMPUTE_REGION": "us-central", |
| "CLOUDSDK_CONTAINER_CLUSTER": "rbe-dev" |
| }, |
| "name": "reload execlog-server" |
| }, |
| { |
| "cmd": [ |
| "[CACHE]/cipd/fuchsia/third_party/kubectl/version%3A1.16.1-00/kubectl", |
| "rollout", |
| "restart", |
| "deployment", |
| "file-server" |
| ], |
| "env": { |
| "CLOUDSDK_COMPUTE_REGION": "us-central", |
| "CLOUDSDK_CONTAINER_CLUSTER": "rbe-dev" |
| }, |
| "name": "reload file-server" |
| }, |
| { |
| "cmd": [ |
| "[CACHE]/cipd/fuchsia/third_party/kubectl/version%3A1.16.1-00/kubectl", |
| "rollout", |
| "restart", |
| "deployment", |
| "frontend" |
| ], |
| "env": { |
| "CLOUDSDK_COMPUTE_REGION": "us-central", |
| "CLOUDSDK_CONTAINER_CLUSTER": "rbe-dev" |
| }, |
| "name": "reload frontend" |
| }, |
| { |
| "name": "$result" |
| } |
| ] |