blob: 161b303f05da284de37fc99f389d7449f0938b54 [file] [log] [blame]
[
{
"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"
}
]