[goma] Add goma_gcp_configurator.
This change adds goma_gcp_configurator recipe. It is responsible for
reading goma configurations from a config repo, updating the cluster
configuration files and landing the changes back to the config repo.
Bug: 35512
Test: https://chromium-swarm.appspot.com/task?id=4a014c16a3b38910
https://fuchsia-review.googlesource.com/c/infra/config/+/357701
Change-Id: Icc7dfbba89036f3bc0113e0699f2668683d4c71a
diff --git a/recipe_modules/gerrit/api.py b/recipe_modules/gerrit/api.py
index 037c133..ba3e0d3 100644
--- a/recipe_modules/gerrit/api.py
+++ b/recipe_modules/gerrit/api.py
@@ -168,6 +168,26 @@
test_data=test_data,
)
+ def submit(self, name, change_id, gerrit_host=None, test_data=None):
+ """Submit a change a repository.
+
+ Returns a JSON dict of details regarding the change.
+
+ Args:
+ name (str): The name of the step.
+ change_id (str): A change ID that uniquely defines a change on the host.
+ gerrit_host (str): The Gerrit host to make the query against. Overrides
+ the recipe module's global host property.
+ test_data (recipe_test_api.StepTestData): Test JSON output data for this
+ step.
+ """
+ return self(
+ name=name,
+ subcmd='submit',
+ input_json={'change_id': change_id},
+ gerrit_host=gerrit_host,
+ test_data=test_data)
+
def change_details(self,
name,
change_id,
diff --git a/recipe_modules/gerrit/examples/full.expected/basic.json b/recipe_modules/gerrit/examples/full.expected/basic.json
index 49c75d4..477f4a2 100644
--- a/recipe_modules/gerrit/examples/full.expected/basic.json
+++ b/recipe_modules/gerrit/examples/full.expected/basic.json
@@ -125,6 +125,24 @@
{
"cmd": [
"[START_DIR]/cipd/gerrit/gerrit",
+ "submit",
+ "-host",
+ "https://fuchsia-review.googlesource.com",
+ "-input",
+ "{\"change_id\": \"some id\"}",
+ "-output",
+ "/path/to/tmp/json"
+ ],
+ "name": "submit",
+ "~followup_annotations": [
+ "@@@STEP_LOG_END@json.output (invalid)@@@",
+ "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+ "@@@STEP_LOG_END@json.output (exception)@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[START_DIR]/cipd/gerrit/gerrit",
"change-abandon",
"-host",
"https://fuchsia-review.googlesource.com",
diff --git a/recipe_modules/gerrit/examples/full.py b/recipe_modules/gerrit/examples/full.py
index 6441aab..835d895 100644
--- a/recipe_modules/gerrit/examples/full.py
+++ b/recipe_modules/gerrit/examples/full.py
@@ -51,6 +51,12 @@
ccs=['test2@example.com'],
)
+ # Submit.
+ api.gerrit.submit(
+ 'submit',
+ change_id,
+ )
+
# Abandon.
api.gerrit.abandon('abandon', change_id, message='bad CL')
diff --git a/recipes/goma_gcp_configurator.expected/change id collision.json b/recipes/goma_gcp_configurator.expected/change id collision.json
new file mode 100644
index 0000000..d812725
--- /dev/null
+++ b/recipes/goma_gcp_configurator.expected/change id collision.json
@@ -0,0 +1,1282 @@
+[
+ {
+ "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": [],
+ "name": "configurate goma GCP backend"
+ },
+ {
+ "cmd": [],
+ "name": "configurate goma GCP backend.Remove existing k8s configurations",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "glob",
+ "[START_DIR]/config/goma/k8s/rbe-dev/rbe-dev",
+ "*/*.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.Remove existing k8s configurations.glob existing configurations",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@glob@[START_DIR]/config/goma/k8s/rbe-dev/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/rbe-dev/goma/configmap_nginx-extra-conf.yaml@@@",
+ "@@@STEP_LOG_END@glob@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "remove",
+ "[START_DIR]/config/goma/k8s/rbe-dev/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/rbe-dev/goma/configmap_nginx-extra-conf.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.Remove existing k8s configurations.remove [START_DIR]/config/goma/k8s/rbe-dev/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/rbe-dev/goma/configmap_nginx-extra-conf.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "configurate goma GCP backend.process yamls",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "glob",
+ "[START_DIR]/config/goma/k8s/templates-rbe",
+ "*/*yaml*"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe.glob template dir [START_DIR]/config/goma/k8s/templates-rbe",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@",
+ "@@@STEP_LOG_LINE@glob@[START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.custom.in@@@",
+ "@@@STEP_LOG_LINE@glob@[START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_cmd-cache-server.yaml@@@",
+ "@@@STEP_LOG_END@glob@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe.ensure directory",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe.generate yaml [START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.custom.in",
+ "/path/to/tmp/"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe.generate yaml [START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.read input template [START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.custom.in",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@# Copyright 2020 Google Inc. All Rights Reserved.@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ apiVersion: apps/v1beta2@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ kind: Deployment@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ metadata:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ labels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ annotations:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ imagetag: $IMAGETAG@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ buildtag: $TAG@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ name: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ spec:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ replicas: 2@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ selector:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ matchLabels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ template:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ metadata:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ labels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ spec:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ containers:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - command:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - /opt/goma/bin/auth_server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - --project-id=$PROJECT_ID@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ name: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ image: gcr.io/$CONTAINER_PROJECT_ID/auth-server:$IMAGETAG@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ ports:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - containerPort: 5050@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ protocol: TCP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - containerPort: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ protocol: TCP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ resources:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ limits:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ cpu: 1500m@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ memory: 1500Mi@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ requests:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ cpu: 100m@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ memory: 100Mi@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ # following could be configured by PodPreset?@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ livenessProbe:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ httpGet:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ path: /healthz@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ port: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ scheme: HTTP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ initialDelaySeconds: 3@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ periodSeconds: 5@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ readinessProbe:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ httpGet:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ path: /healthz@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ port: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ scheme: HTTP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ initialDelaySeconds: 3@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ periodSeconds: 5@@@",
+ "@@@STEP_LOG_END@deploy_auth-server.yaml.custom.in@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe.generate yaml [START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.ensure gcloud",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "cipd",
+ "ensure",
+ "-root",
+ "[START_DIR]/cipd/gcloud",
+ "-ensure-file",
+ "infra/gcloud/${platform} version:266.0.0.chromium0",
+ "-json-output",
+ "/path/to/tmp/json"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe.generate yaml [START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.ensure gcloud.ensure_installed",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@5@@@",
+ "@@@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": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe.generate yaml [START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.ensure gcloud.remove gcloud wrapper",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@5@@@"
+ ]
+ },
+ {
+ "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": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe.generate yaml [START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.ensure gcloud.copy patched gcloud",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@5@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[START_DIR]/cipd/gcloud/bin/gcloud",
+ "container",
+ "images",
+ "list-tags",
+ "gcr.io/goma-fuchsia/auth-server",
+ "--filter",
+ "tags: latest",
+ "--limit",
+ "1",
+ "--format=get(digest)"
+ ],
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe.generate yaml [START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.retrieve digest for gcr.io/goma-fuchsia/auth-server",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "# Copyright 2020 Google Inc. All Rights Reserved.\n apiVersion: apps/v1beta2\n kind: Deployment\n metadata:\n labels:\n app: auth-server\n annotations:\n imagetag: latest\n buildtag: 20120514_125321\n name: auth-server\n spec:\n replicas: 2\n selector:\n matchLabels:\n app: auth-server\n template:\n metadata:\n labels:\n app: auth-server\n spec:\n containers:\n - command:\n - /opt/goma/bin/auth_server\n - --project-id=goma-fuchsia\n name: auth-server\n image: gcr.io/goma-fuchsia/auth-server@\n ports:\n - containerPort: 5050\n protocol: TCP\n - containerPort: 8081\n protocol: TCP\n resources:\n limits:\n cpu: 1500m\n memory: 1500Mi\n requests:\n cpu: 100m\n memory: 100Mi\n # following could be configured by PodPreset?\n livenessProbe:\n httpGet:\n path: /healthz\n port: 8081\n scheme: HTTP\n initialDelaySeconds: 3\n periodSeconds: 5\n readinessProbe:\n httpGet:\n path: /healthz\n port: 8081\n scheme: HTTP\n initialDelaySeconds: 3\n periodSeconds: 5",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe.generate yaml [START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.write gke yaml [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@# Copyright 2020 Google Inc. All Rights Reserved.@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ apiVersion: apps/v1beta2@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ kind: Deployment@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ metadata:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ labels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ annotations:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ imagetag: latest@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ buildtag: 20120514_125321@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ name: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ spec:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ replicas: 2@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ selector:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ matchLabels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ template:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ metadata:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ labels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ spec:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ containers:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - command:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - /opt/goma/bin/auth_server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - --project-id=goma-fuchsia@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ name: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ image: gcr.io/goma-fuchsia/auth-server@@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ ports:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - containerPort: 5050@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ protocol: TCP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - containerPort: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ protocol: TCP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ resources:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ limits:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ cpu: 1500m@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ memory: 1500Mi@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ requests:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ cpu: 100m@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ memory: 100Mi@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ # following could be configured by PodPreset?@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ livenessProbe:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ httpGet:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ path: /healthz@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ port: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ scheme: HTTP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ initialDelaySeconds: 3@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ periodSeconds: 5@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ readinessProbe:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ httpGet:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ path: /healthz@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ port: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ scheme: HTTP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ initialDelaySeconds: 3@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ periodSeconds: 5@@@",
+ "@@@STEP_LOG_END@deploy_auth-server.yaml@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe.ensure directory (2)",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "remove",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_cmd-cache-server.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe.remove [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_cmd-cache-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_cmd-cache-server.yaml",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_cmd-cache-server.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe.copy [START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_cmd-cache-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "glob",
+ "[START_DIR]/config/goma/k8s/rbe-dev/templates",
+ "*/*yaml*"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates.glob template dir [START_DIR]/config/goma/k8s/rbe-dev/templates",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@",
+ "@@@STEP_LOG_LINE@glob@[START_DIR]/config/goma/k8s/rbe-dev/templates/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_auth-server.yaml.custom.in@@@",
+ "@@@STEP_LOG_LINE@glob@[START_DIR]/config/goma/k8s/rbe-dev/templates/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_cmd-cache-server.yaml@@@",
+ "@@@STEP_LOG_END@glob@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates.ensure directory",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates.generate yaml [START_DIR]/config/goma/k8s/rbe-dev/templates/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_auth-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[START_DIR]/config/goma/k8s/rbe-dev/templates/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_auth-server.yaml.custom.in",
+ "/path/to/tmp/"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates.generate yaml [START_DIR]/config/goma/k8s/rbe-dev/templates/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_auth-server.yaml.read input template [START_DIR]/config/goma/k8s/rbe-dev/templates/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_auth-server.yaml.custom.in",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@# Copyright 2020 Google Inc. All Rights Reserved.@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ apiVersion: apps/v1beta2@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ kind: Deployment@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ metadata:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ labels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ annotations:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ imagetag: $IMAGETAG@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ buildtag: $TAG@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ name: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ spec:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ replicas: 2@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ selector:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ matchLabels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ template:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ metadata:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ labels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ spec:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ containers:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - command:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - /opt/goma/bin/auth_server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - --project-id=$PROJECT_ID@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ name: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ image: gcr.io/$CONTAINER_PROJECT_ID/auth-server:$IMAGETAG@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ ports:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - containerPort: 5050@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ protocol: TCP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - containerPort: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ protocol: TCP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ resources:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ limits:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ cpu: 1500m@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ memory: 1500Mi@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ requests:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ cpu: 100m@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ memory: 100Mi@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ # following could be configured by PodPreset?@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ livenessProbe:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ httpGet:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ path: /healthz@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ port: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ scheme: HTTP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ initialDelaySeconds: 3@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ periodSeconds: 5@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ readinessProbe:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ httpGet:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ path: /healthz@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ port: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ scheme: HTTP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ initialDelaySeconds: 3@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ periodSeconds: 5@@@",
+ "@@@STEP_LOG_END@deploy_auth-server.yaml.custom.in@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[START_DIR]/cipd/gcloud/bin/gcloud",
+ "container",
+ "images",
+ "list-tags",
+ "gcr.io/goma-fuchsia/auth-server",
+ "--filter",
+ "tags: latest",
+ "--limit",
+ "1",
+ "--format=get(digest)"
+ ],
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates.generate yaml [START_DIR]/config/goma/k8s/rbe-dev/templates/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_auth-server.yaml.retrieve digest for gcr.io/goma-fuchsia/auth-server",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "# Copyright 2020 Google Inc. All Rights Reserved.\n apiVersion: apps/v1beta2\n kind: Deployment\n metadata:\n labels:\n app: auth-server\n annotations:\n imagetag: latest\n buildtag: 20120514_125321\n name: auth-server\n spec:\n replicas: 2\n selector:\n matchLabels:\n app: auth-server\n template:\n metadata:\n labels:\n app: auth-server\n spec:\n containers:\n - command:\n - /opt/goma/bin/auth_server\n - --project-id=goma-fuchsia\n name: auth-server\n image: gcr.io/goma-fuchsia/auth-server@\n ports:\n - containerPort: 5050\n protocol: TCP\n - containerPort: 8081\n protocol: TCP\n resources:\n limits:\n cpu: 1500m\n memory: 1500Mi\n requests:\n cpu: 100m\n memory: 100Mi\n # following could be configured by PodPreset?\n livenessProbe:\n httpGet:\n path: /healthz\n port: 8081\n scheme: HTTP\n initialDelaySeconds: 3\n periodSeconds: 5\n readinessProbe:\n httpGet:\n path: /healthz\n port: 8081\n scheme: HTTP\n initialDelaySeconds: 3\n periodSeconds: 5",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_auth-server.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates.generate yaml [START_DIR]/config/goma/k8s/rbe-dev/templates/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_auth-server.yaml.write gke yaml [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_auth-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@# Copyright 2020 Google Inc. All Rights Reserved.@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ apiVersion: apps/v1beta2@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ kind: Deployment@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ metadata:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ labels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ annotations:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ imagetag: latest@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ buildtag: 20120514_125321@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ name: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ spec:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ replicas: 2@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ selector:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ matchLabels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ template:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ metadata:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ labels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ spec:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ containers:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - command:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - /opt/goma/bin/auth_server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - --project-id=goma-fuchsia@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ name: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ image: gcr.io/goma-fuchsia/auth-server@@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ ports:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - containerPort: 5050@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ protocol: TCP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - containerPort: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ protocol: TCP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ resources:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ limits:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ cpu: 1500m@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ memory: 1500Mi@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ requests:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ cpu: 100m@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ memory: 100Mi@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ # following could be configured by PodPreset?@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ livenessProbe:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ httpGet:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ path: /healthz@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ port: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ scheme: HTTP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ initialDelaySeconds: 3@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ periodSeconds: 5@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ readinessProbe:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ httpGet:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ path: /healthz@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ port: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ scheme: HTTP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ initialDelaySeconds: 3@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ periodSeconds: 5@@@",
+ "@@@STEP_LOG_END@deploy_auth-server.yaml@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates.ensure directory (2)",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "remove",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_cmd-cache-server.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates.remove [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_cmd-cache-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[START_DIR]/config/goma/k8s/rbe-dev/templates/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_cmd-cache-server.yaml",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_cmd-cache-server.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates.copy [START_DIR]/config/goma/k8s/rbe-dev/templates/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_cmd-cache-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "glob",
+ "[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia",
+ "*/*yaml*"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia.glob template dir [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@",
+ "@@@STEP_LOG_LINE@glob@[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_auth-server.yaml.custom.in@@@",
+ "@@@STEP_LOG_LINE@glob@[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_cmd-cache-server.yaml@@@",
+ "@@@STEP_LOG_END@glob@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia.ensure directory",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia.generate yaml [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_auth-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_auth-server.yaml.custom.in",
+ "/path/to/tmp/"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia.generate yaml [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_auth-server.yaml.read input template [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_auth-server.yaml.custom.in",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@# Copyright 2020 Google Inc. All Rights Reserved.@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ apiVersion: apps/v1beta2@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ kind: Deployment@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ metadata:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ labels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ annotations:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ imagetag: $IMAGETAG@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ buildtag: $TAG@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ name: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ spec:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ replicas: 2@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ selector:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ matchLabels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ template:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ metadata:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ labels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ spec:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ containers:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - command:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - /opt/goma/bin/auth_server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - --project-id=$PROJECT_ID@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ name: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ image: gcr.io/$CONTAINER_PROJECT_ID/auth-server:$IMAGETAG@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ ports:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - containerPort: 5050@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ protocol: TCP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - containerPort: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ protocol: TCP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ resources:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ limits:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ cpu: 1500m@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ memory: 1500Mi@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ requests:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ cpu: 100m@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ memory: 100Mi@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ # following could be configured by PodPreset?@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ livenessProbe:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ httpGet:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ path: /healthz@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ port: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ scheme: HTTP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ initialDelaySeconds: 3@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ periodSeconds: 5@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ readinessProbe:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ httpGet:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ path: /healthz@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ port: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ scheme: HTTP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ initialDelaySeconds: 3@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ periodSeconds: 5@@@",
+ "@@@STEP_LOG_END@deploy_auth-server.yaml.custom.in@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[START_DIR]/cipd/gcloud/bin/gcloud",
+ "container",
+ "images",
+ "list-tags",
+ "gcr.io/goma-fuchsia/auth-server",
+ "--filter",
+ "tags: latest",
+ "--limit",
+ "1",
+ "--format=get(digest)"
+ ],
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia.generate yaml [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_auth-server.yaml.retrieve digest for gcr.io/goma-fuchsia/auth-server",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "# Copyright 2020 Google Inc. All Rights Reserved.\n apiVersion: apps/v1beta2\n kind: Deployment\n metadata:\n labels:\n app: auth-server\n annotations:\n imagetag: latest\n buildtag: 20120514_125321\n name: auth-server\n spec:\n replicas: 2\n selector:\n matchLabels:\n app: auth-server\n template:\n metadata:\n labels:\n app: auth-server\n spec:\n containers:\n - command:\n - /opt/goma/bin/auth_server\n - --project-id=goma-fuchsia\n name: auth-server\n image: gcr.io/goma-fuchsia/auth-server@\n ports:\n - containerPort: 5050\n protocol: TCP\n - containerPort: 8081\n protocol: TCP\n resources:\n limits:\n cpu: 1500m\n memory: 1500Mi\n requests:\n cpu: 100m\n memory: 100Mi\n # following could be configured by PodPreset?\n livenessProbe:\n httpGet:\n path: /healthz\n port: 8081\n scheme: HTTP\n initialDelaySeconds: 3\n periodSeconds: 5\n readinessProbe:\n httpGet:\n path: /healthz\n port: 8081\n scheme: HTTP\n initialDelaySeconds: 3\n periodSeconds: 5",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_auth-server.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia.generate yaml [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_auth-server.yaml.write gke yaml [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_auth-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@# Copyright 2020 Google Inc. All Rights Reserved.@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ apiVersion: apps/v1beta2@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ kind: Deployment@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ metadata:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ labels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ annotations:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ imagetag: latest@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ buildtag: 20120514_125321@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ name: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ spec:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ replicas: 2@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ selector:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ matchLabels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ template:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ metadata:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ labels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ spec:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ containers:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - command:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - /opt/goma/bin/auth_server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - --project-id=goma-fuchsia@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ name: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ image: gcr.io/goma-fuchsia/auth-server@@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ ports:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - containerPort: 5050@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ protocol: TCP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - containerPort: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ protocol: TCP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ resources:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ limits:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ cpu: 1500m@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ memory: 1500Mi@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ requests:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ cpu: 100m@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ memory: 100Mi@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ # following could be configured by PodPreset?@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ livenessProbe:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ httpGet:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ path: /healthz@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ port: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ scheme: HTTP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ initialDelaySeconds: 3@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ periodSeconds: 5@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ readinessProbe:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ httpGet:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ path: /healthz@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ port: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ scheme: HTTP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ initialDelaySeconds: 3@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ periodSeconds: 5@@@",
+ "@@@STEP_LOG_END@deploy_auth-server.yaml@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia.ensure directory (2)",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "remove",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_cmd-cache-server.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia.remove [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_cmd-cache-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_cmd-cache-server.yaml",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_cmd-cache-server.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia.copy [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_cmd-cache-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "configurate goma GCP backend.process yamls.patch yaml files",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "glob",
+ "[START_DIR]/config/goma/k8s/rbe-dev",
+ "*/*.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.patch yaml files.glob yaml dir [START_DIR]/config/goma/k8s/rbe-dev",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@",
+ "@@@STEP_LOG_LINE@glob@[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/goma/deploy_exec-server.yaml@@@",
+ "@@@STEP_LOG_END@glob@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "glob",
+ "[START_DIR]/config/goma/k8s/rbe-dev/patches",
+ "[START_DIR]/config/goma/k8s/rbe-dev/goma/deploy_exec-server.yaml.*"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.patch yaml files.glob patch dir [START_DIR]/config/goma/k8s/rbe-dev/patches",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@",
+ "@@@STEP_LOG_LINE@glob@[START_DIR]/config/goma/k8s/rbe-dev/patches/[START_DIR]/config/goma/k8s/rbe-dev/patches/goma/deploy_exec-server.yaml.replica.strategic@@@",
+ "@@@STEP_LOG_END@glob@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[START_DIR]/config/goma/k8s/rbe-dev/patches/[START_DIR]/config/goma/k8s/rbe-dev/patches/goma/deploy_exec-server.yaml.replica.strategic",
+ "/path/to/tmp/"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.patch yaml files.read patch [START_DIR]/config/goma/k8s/rbe-dev/patches/[START_DIR]/config/goma/k8s/rbe-dev/patches/goma/deploy_exec-server.yaml.replica.strategic",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@",
+ "@@@STEP_LOG_END@deploy_exec-server.yaml.replica.strategic@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "configurate goma GCP backend.process yamls.patch yaml files.ensure kubectl",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "cipd",
+ "ensure",
+ "-root",
+ "[START_DIR]/cipd/kubectl",
+ "-ensure-file",
+ "fuchsia/third_party/kubectl/linux-amd64 version:1.16.1-00",
+ "-json-output",
+ "/path/to/tmp/json"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.patch yaml files.ensure kubectl.ensure_installed",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@",
+ "@@@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/linux-amd64\"@@@",
+ "@@@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": [
+ "[START_DIR]/cipd/kubectl/kubectl",
+ "patch",
+ "-f",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/goma/deploy_exec-server.yaml",
+ "--local=true",
+ "--type=strategic",
+ "--patch",
+ "",
+ "-o",
+ "yaml"
+ ],
+ "name": "configurate goma GCP backend.process yamls.patch yaml files.patch [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/goma/deploy_exec-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/goma/deploy_exec-server.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.patch yaml files.write patched yaml [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/goma/deploy_exec-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@",
+ "@@@STEP_LOG_END@deploy_exec-server.yaml@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "configurate goma GCP backend.generate memory store",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "RECIPE_MODULE[fuchsia::yaml]/resources/parse_yaml.py",
+ "[START_DIR]/config/goma/gke-res/rbe-dev/storage.yaml"
+ ],
+ "name": "configurate goma GCP backend.generate memory store.load yaml [START_DIR]/config/goma/gke-res/rbe-dev/storage.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@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",
+ "redis",
+ "instances",
+ "describe",
+ "rbe-dev-memorystore",
+ "--project",
+ "goma-fuchsia",
+ "--region",
+ "us-central",
+ "--format",
+ "get(host)"
+ ],
+ "name": "configurate goma GCP backend.generate memory store.retrieve host info",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[START_DIR]/cipd/gcloud/bin/gcloud",
+ "redis",
+ "instances",
+ "describe",
+ "rbe-dev-memorystore",
+ "--project",
+ "goma-fuchsia",
+ "--region",
+ "us-central",
+ "--format",
+ "get(port)"
+ ],
+ "name": "configurate goma GCP backend.generate memory store.retrieve port info",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "apiVersion: v1\nkind: ConfigMap\nmetadata:\n name: memorystore\ndata:\n REDISHOST: \"\"\n REDISPORT: \"\"\n",
+ "[START_DIR]/config/goma/k8s/rbe-dev/goma/configmap-memorystore.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.generate memory store.write configmap-memorystore.yaml file",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@configmap-memorystore.yaml@apiVersion: v1@@@",
+ "@@@STEP_LOG_LINE@configmap-memorystore.yaml@kind: ConfigMap@@@",
+ "@@@STEP_LOG_LINE@configmap-memorystore.yaml@metadata:@@@",
+ "@@@STEP_LOG_LINE@configmap-memorystore.yaml@ name: memorystore@@@",
+ "@@@STEP_LOG_LINE@configmap-memorystore.yaml@data:@@@",
+ "@@@STEP_LOG_LINE@configmap-memorystore.yaml@ REDISHOST: \"\"@@@",
+ "@@@STEP_LOG_LINE@configmap-memorystore.yaml@ REDISPORT: \"\"@@@",
+ "@@@STEP_LOG_END@configmap-memorystore.yaml@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "add",
+ "--all",
+ "--intent-to-add"
+ ],
+ "cwd": "[START_DIR]/config",
+ "name": "git add"
+ },
+ {
+ "cmd": [
+ "git",
+ "diff"
+ ],
+ "cwd": "[START_DIR]/config",
+ "name": "git diff"
+ },
+ {
+ "cmd": [
+ "git",
+ "hash-object",
+ "a diff"
+ ],
+ "cwd": "[START_DIR]/config",
+ "name": "git hash-object"
+ },
+ {
+ "cmd": [
+ "git",
+ "add",
+ "-A"
+ ],
+ "cwd": "[START_DIR]/config",
+ "name": "git add (2)"
+ },
+ {
+ "cmd": [
+ "git",
+ "commit",
+ "-m",
+ "[goma] Update config for goma-fuchsia/rbe-dev:\n\nUsing gomatools tag: latest\n\nExempt-From-Owner-Approval: Roller.\n\nChange-Id: Iabc123\n"
+ ],
+ "cwd": "[START_DIR]/config",
+ "name": "git commit"
+ },
+ {
+ "cmd": [
+ "git",
+ "diff",
+ "HEAD^"
+ ],
+ "cwd": "[START_DIR]/config",
+ "name": "diff",
+ "~followup_annotations": [
+ "@@@STEP_LOG_END@diff@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "push",
+ "origin",
+ "HEAD:refs/for/master"
+ ],
+ "cwd": "[START_DIR]/config",
+ "name": "git push",
+ "~followup_annotations": [
+ "@@@STEP_TEXT@<br/>Change is identical to a previous CL@@@",
+ "@@@STEP_SUMMARY_TEXT@rejected by gerrit@@@"
+ ]
+ },
+ {
+ "name": "$result"
+ }
+]
\ No newline at end of file
diff --git a/recipes/goma_gcp_configurator.expected/default.json b/recipes/goma_gcp_configurator.expected/default.json
new file mode 100644
index 0000000..f8e6346
--- /dev/null
+++ b/recipes/goma_gcp_configurator.expected/default.json
@@ -0,0 +1,1349 @@
+[
+ {
+ "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": [],
+ "name": "configurate goma GCP backend"
+ },
+ {
+ "cmd": [],
+ "name": "configurate goma GCP backend.Remove existing k8s configurations",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "glob",
+ "[START_DIR]/config/goma/k8s/rbe-dev/rbe-dev",
+ "*/*.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.Remove existing k8s configurations.glob existing configurations",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@glob@[START_DIR]/config/goma/k8s/rbe-dev/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/rbe-dev/goma/configmap_nginx-extra-conf.yaml@@@",
+ "@@@STEP_LOG_END@glob@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "remove",
+ "[START_DIR]/config/goma/k8s/rbe-dev/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/rbe-dev/goma/configmap_nginx-extra-conf.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.Remove existing k8s configurations.remove [START_DIR]/config/goma/k8s/rbe-dev/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/rbe-dev/goma/configmap_nginx-extra-conf.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "configurate goma GCP backend.process yamls",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "glob",
+ "[START_DIR]/config/goma/k8s/templates-rbe",
+ "*/*yaml*"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe.glob template dir [START_DIR]/config/goma/k8s/templates-rbe",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@",
+ "@@@STEP_LOG_LINE@glob@[START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.custom.in@@@",
+ "@@@STEP_LOG_LINE@glob@[START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_cmd-cache-server.yaml@@@",
+ "@@@STEP_LOG_END@glob@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe.ensure directory",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe.generate yaml [START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.custom.in",
+ "/path/to/tmp/"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe.generate yaml [START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.read input template [START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.custom.in",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@# Copyright 2020 Google Inc. All Rights Reserved.@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ apiVersion: apps/v1beta2@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ kind: Deployment@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ metadata:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ labels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ annotations:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ imagetag: $IMAGETAG@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ buildtag: $TAG@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ name: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ spec:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ replicas: 2@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ selector:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ matchLabels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ template:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ metadata:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ labels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ spec:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ containers:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - command:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - /opt/goma/bin/auth_server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - --project-id=$PROJECT_ID@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ name: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ image: gcr.io/$CONTAINER_PROJECT_ID/auth-server:$IMAGETAG@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ ports:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - containerPort: 5050@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ protocol: TCP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - containerPort: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ protocol: TCP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ resources:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ limits:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ cpu: 1500m@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ memory: 1500Mi@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ requests:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ cpu: 100m@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ memory: 100Mi@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ # following could be configured by PodPreset?@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ livenessProbe:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ httpGet:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ path: /healthz@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ port: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ scheme: HTTP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ initialDelaySeconds: 3@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ periodSeconds: 5@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ readinessProbe:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ httpGet:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ path: /healthz@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ port: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ scheme: HTTP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ initialDelaySeconds: 3@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ periodSeconds: 5@@@",
+ "@@@STEP_LOG_END@deploy_auth-server.yaml.custom.in@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe.generate yaml [START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.ensure gcloud",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "cipd",
+ "ensure",
+ "-root",
+ "[START_DIR]/cipd/gcloud",
+ "-ensure-file",
+ "infra/gcloud/${platform} version:266.0.0.chromium0",
+ "-json-output",
+ "/path/to/tmp/json"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe.generate yaml [START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.ensure gcloud.ensure_installed",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@5@@@",
+ "@@@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": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe.generate yaml [START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.ensure gcloud.remove gcloud wrapper",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@5@@@"
+ ]
+ },
+ {
+ "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": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe.generate yaml [START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.ensure gcloud.copy patched gcloud",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@5@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[START_DIR]/cipd/gcloud/bin/gcloud",
+ "container",
+ "images",
+ "list-tags",
+ "gcr.io/goma-fuchsia/auth-server",
+ "--filter",
+ "tags: latest",
+ "--limit",
+ "1",
+ "--format=get(digest)"
+ ],
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe.generate yaml [START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.retrieve digest for gcr.io/goma-fuchsia/auth-server",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "# Copyright 2020 Google Inc. All Rights Reserved.\n apiVersion: apps/v1beta2\n kind: Deployment\n metadata:\n labels:\n app: auth-server\n annotations:\n imagetag: latest\n buildtag: 20120514_125321\n name: auth-server\n spec:\n replicas: 2\n selector:\n matchLabels:\n app: auth-server\n template:\n metadata:\n labels:\n app: auth-server\n spec:\n containers:\n - command:\n - /opt/goma/bin/auth_server\n - --project-id=goma-fuchsia\n name: auth-server\n image: gcr.io/goma-fuchsia/auth-server@\n ports:\n - containerPort: 5050\n protocol: TCP\n - containerPort: 8081\n protocol: TCP\n resources:\n limits:\n cpu: 1500m\n memory: 1500Mi\n requests:\n cpu: 100m\n memory: 100Mi\n # following could be configured by PodPreset?\n livenessProbe:\n httpGet:\n path: /healthz\n port: 8081\n scheme: HTTP\n initialDelaySeconds: 3\n periodSeconds: 5\n readinessProbe:\n httpGet:\n path: /healthz\n port: 8081\n scheme: HTTP\n initialDelaySeconds: 3\n periodSeconds: 5",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe.generate yaml [START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.write gke yaml [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@# Copyright 2020 Google Inc. All Rights Reserved.@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ apiVersion: apps/v1beta2@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ kind: Deployment@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ metadata:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ labels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ annotations:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ imagetag: latest@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ buildtag: 20120514_125321@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ name: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ spec:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ replicas: 2@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ selector:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ matchLabels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ template:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ metadata:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ labels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ spec:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ containers:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - command:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - /opt/goma/bin/auth_server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - --project-id=goma-fuchsia@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ name: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ image: gcr.io/goma-fuchsia/auth-server@@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ ports:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - containerPort: 5050@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ protocol: TCP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - containerPort: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ protocol: TCP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ resources:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ limits:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ cpu: 1500m@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ memory: 1500Mi@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ requests:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ cpu: 100m@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ memory: 100Mi@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ # following could be configured by PodPreset?@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ livenessProbe:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ httpGet:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ path: /healthz@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ port: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ scheme: HTTP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ initialDelaySeconds: 3@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ periodSeconds: 5@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ readinessProbe:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ httpGet:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ path: /healthz@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ port: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ scheme: HTTP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ initialDelaySeconds: 3@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ periodSeconds: 5@@@",
+ "@@@STEP_LOG_END@deploy_auth-server.yaml@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe.ensure directory (2)",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "remove",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_cmd-cache-server.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe.remove [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_cmd-cache-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_cmd-cache-server.yaml",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_cmd-cache-server.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe.copy [START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_cmd-cache-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "glob",
+ "[START_DIR]/config/goma/k8s/rbe-dev/templates",
+ "*/*yaml*"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates.glob template dir [START_DIR]/config/goma/k8s/rbe-dev/templates",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@",
+ "@@@STEP_LOG_LINE@glob@[START_DIR]/config/goma/k8s/rbe-dev/templates/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_auth-server.yaml.custom.in@@@",
+ "@@@STEP_LOG_LINE@glob@[START_DIR]/config/goma/k8s/rbe-dev/templates/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_cmd-cache-server.yaml@@@",
+ "@@@STEP_LOG_END@glob@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates.ensure directory",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates.generate yaml [START_DIR]/config/goma/k8s/rbe-dev/templates/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_auth-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[START_DIR]/config/goma/k8s/rbe-dev/templates/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_auth-server.yaml.custom.in",
+ "/path/to/tmp/"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates.generate yaml [START_DIR]/config/goma/k8s/rbe-dev/templates/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_auth-server.yaml.read input template [START_DIR]/config/goma/k8s/rbe-dev/templates/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_auth-server.yaml.custom.in",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@# Copyright 2020 Google Inc. All Rights Reserved.@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ apiVersion: apps/v1beta2@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ kind: Deployment@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ metadata:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ labels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ annotations:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ imagetag: $IMAGETAG@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ buildtag: $TAG@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ name: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ spec:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ replicas: 2@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ selector:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ matchLabels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ template:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ metadata:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ labels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ spec:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ containers:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - command:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - /opt/goma/bin/auth_server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - --project-id=$PROJECT_ID@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ name: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ image: gcr.io/$CONTAINER_PROJECT_ID/auth-server:$IMAGETAG@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ ports:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - containerPort: 5050@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ protocol: TCP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - containerPort: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ protocol: TCP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ resources:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ limits:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ cpu: 1500m@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ memory: 1500Mi@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ requests:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ cpu: 100m@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ memory: 100Mi@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ # following could be configured by PodPreset?@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ livenessProbe:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ httpGet:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ path: /healthz@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ port: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ scheme: HTTP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ initialDelaySeconds: 3@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ periodSeconds: 5@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ readinessProbe:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ httpGet:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ path: /healthz@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ port: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ scheme: HTTP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ initialDelaySeconds: 3@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ periodSeconds: 5@@@",
+ "@@@STEP_LOG_END@deploy_auth-server.yaml.custom.in@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[START_DIR]/cipd/gcloud/bin/gcloud",
+ "container",
+ "images",
+ "list-tags",
+ "gcr.io/goma-fuchsia/auth-server",
+ "--filter",
+ "tags: latest",
+ "--limit",
+ "1",
+ "--format=get(digest)"
+ ],
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates.generate yaml [START_DIR]/config/goma/k8s/rbe-dev/templates/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_auth-server.yaml.retrieve digest for gcr.io/goma-fuchsia/auth-server",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "# Copyright 2020 Google Inc. All Rights Reserved.\n apiVersion: apps/v1beta2\n kind: Deployment\n metadata:\n labels:\n app: auth-server\n annotations:\n imagetag: latest\n buildtag: 20120514_125321\n name: auth-server\n spec:\n replicas: 2\n selector:\n matchLabels:\n app: auth-server\n template:\n metadata:\n labels:\n app: auth-server\n spec:\n containers:\n - command:\n - /opt/goma/bin/auth_server\n - --project-id=goma-fuchsia\n name: auth-server\n image: gcr.io/goma-fuchsia/auth-server@\n ports:\n - containerPort: 5050\n protocol: TCP\n - containerPort: 8081\n protocol: TCP\n resources:\n limits:\n cpu: 1500m\n memory: 1500Mi\n requests:\n cpu: 100m\n memory: 100Mi\n # following could be configured by PodPreset?\n livenessProbe:\n httpGet:\n path: /healthz\n port: 8081\n scheme: HTTP\n initialDelaySeconds: 3\n periodSeconds: 5\n readinessProbe:\n httpGet:\n path: /healthz\n port: 8081\n scheme: HTTP\n initialDelaySeconds: 3\n periodSeconds: 5",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_auth-server.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates.generate yaml [START_DIR]/config/goma/k8s/rbe-dev/templates/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_auth-server.yaml.write gke yaml [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_auth-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@# Copyright 2020 Google Inc. All Rights Reserved.@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ apiVersion: apps/v1beta2@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ kind: Deployment@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ metadata:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ labels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ annotations:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ imagetag: latest@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ buildtag: 20120514_125321@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ name: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ spec:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ replicas: 2@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ selector:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ matchLabels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ template:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ metadata:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ labels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ spec:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ containers:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - command:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - /opt/goma/bin/auth_server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - --project-id=goma-fuchsia@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ name: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ image: gcr.io/goma-fuchsia/auth-server@@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ ports:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - containerPort: 5050@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ protocol: TCP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - containerPort: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ protocol: TCP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ resources:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ limits:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ cpu: 1500m@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ memory: 1500Mi@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ requests:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ cpu: 100m@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ memory: 100Mi@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ # following could be configured by PodPreset?@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ livenessProbe:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ httpGet:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ path: /healthz@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ port: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ scheme: HTTP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ initialDelaySeconds: 3@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ periodSeconds: 5@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ readinessProbe:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ httpGet:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ path: /healthz@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ port: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ scheme: HTTP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ initialDelaySeconds: 3@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ periodSeconds: 5@@@",
+ "@@@STEP_LOG_END@deploy_auth-server.yaml@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates.ensure directory (2)",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "remove",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_cmd-cache-server.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates.remove [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_cmd-cache-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[START_DIR]/config/goma/k8s/rbe-dev/templates/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_cmd-cache-server.yaml",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_cmd-cache-server.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates.copy [START_DIR]/config/goma/k8s/rbe-dev/templates/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_cmd-cache-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "glob",
+ "[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia",
+ "*/*yaml*"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia.glob template dir [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@",
+ "@@@STEP_LOG_LINE@glob@[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_auth-server.yaml.custom.in@@@",
+ "@@@STEP_LOG_LINE@glob@[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_cmd-cache-server.yaml@@@",
+ "@@@STEP_LOG_END@glob@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia.ensure directory",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia.generate yaml [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_auth-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_auth-server.yaml.custom.in",
+ "/path/to/tmp/"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia.generate yaml [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_auth-server.yaml.read input template [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_auth-server.yaml.custom.in",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@# Copyright 2020 Google Inc. All Rights Reserved.@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ apiVersion: apps/v1beta2@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ kind: Deployment@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ metadata:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ labels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ annotations:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ imagetag: $IMAGETAG@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ buildtag: $TAG@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ name: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ spec:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ replicas: 2@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ selector:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ matchLabels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ template:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ metadata:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ labels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ spec:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ containers:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - command:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - /opt/goma/bin/auth_server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - --project-id=$PROJECT_ID@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ name: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ image: gcr.io/$CONTAINER_PROJECT_ID/auth-server:$IMAGETAG@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ ports:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - containerPort: 5050@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ protocol: TCP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - containerPort: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ protocol: TCP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ resources:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ limits:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ cpu: 1500m@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ memory: 1500Mi@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ requests:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ cpu: 100m@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ memory: 100Mi@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ # following could be configured by PodPreset?@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ livenessProbe:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ httpGet:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ path: /healthz@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ port: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ scheme: HTTP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ initialDelaySeconds: 3@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ periodSeconds: 5@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ readinessProbe:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ httpGet:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ path: /healthz@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ port: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ scheme: HTTP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ initialDelaySeconds: 3@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ periodSeconds: 5@@@",
+ "@@@STEP_LOG_END@deploy_auth-server.yaml.custom.in@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[START_DIR]/cipd/gcloud/bin/gcloud",
+ "container",
+ "images",
+ "list-tags",
+ "gcr.io/goma-fuchsia/auth-server",
+ "--filter",
+ "tags: latest",
+ "--limit",
+ "1",
+ "--format=get(digest)"
+ ],
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia.generate yaml [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_auth-server.yaml.retrieve digest for gcr.io/goma-fuchsia/auth-server",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "# Copyright 2020 Google Inc. All Rights Reserved.\n apiVersion: apps/v1beta2\n kind: Deployment\n metadata:\n labels:\n app: auth-server\n annotations:\n imagetag: latest\n buildtag: 20120514_125321\n name: auth-server\n spec:\n replicas: 2\n selector:\n matchLabels:\n app: auth-server\n template:\n metadata:\n labels:\n app: auth-server\n spec:\n containers:\n - command:\n - /opt/goma/bin/auth_server\n - --project-id=goma-fuchsia\n name: auth-server\n image: gcr.io/goma-fuchsia/auth-server@\n ports:\n - containerPort: 5050\n protocol: TCP\n - containerPort: 8081\n protocol: TCP\n resources:\n limits:\n cpu: 1500m\n memory: 1500Mi\n requests:\n cpu: 100m\n memory: 100Mi\n # following could be configured by PodPreset?\n livenessProbe:\n httpGet:\n path: /healthz\n port: 8081\n scheme: HTTP\n initialDelaySeconds: 3\n periodSeconds: 5\n readinessProbe:\n httpGet:\n path: /healthz\n port: 8081\n scheme: HTTP\n initialDelaySeconds: 3\n periodSeconds: 5",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_auth-server.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia.generate yaml [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_auth-server.yaml.write gke yaml [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_auth-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@# Copyright 2020 Google Inc. All Rights Reserved.@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ apiVersion: apps/v1beta2@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ kind: Deployment@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ metadata:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ labels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ annotations:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ imagetag: latest@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ buildtag: 20120514_125321@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ name: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ spec:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ replicas: 2@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ selector:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ matchLabels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ template:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ metadata:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ labels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ spec:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ containers:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - command:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - /opt/goma/bin/auth_server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - --project-id=goma-fuchsia@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ name: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ image: gcr.io/goma-fuchsia/auth-server@@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ ports:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - containerPort: 5050@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ protocol: TCP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - containerPort: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ protocol: TCP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ resources:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ limits:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ cpu: 1500m@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ memory: 1500Mi@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ requests:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ cpu: 100m@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ memory: 100Mi@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ # following could be configured by PodPreset?@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ livenessProbe:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ httpGet:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ path: /healthz@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ port: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ scheme: HTTP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ initialDelaySeconds: 3@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ periodSeconds: 5@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ readinessProbe:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ httpGet:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ path: /healthz@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ port: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ scheme: HTTP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ initialDelaySeconds: 3@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ periodSeconds: 5@@@",
+ "@@@STEP_LOG_END@deploy_auth-server.yaml@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia.ensure directory (2)",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "remove",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_cmd-cache-server.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia.remove [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_cmd-cache-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_cmd-cache-server.yaml",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_cmd-cache-server.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia.copy [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_cmd-cache-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "configurate goma GCP backend.process yamls.patch yaml files",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "glob",
+ "[START_DIR]/config/goma/k8s/rbe-dev",
+ "*/*.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.patch yaml files.glob yaml dir [START_DIR]/config/goma/k8s/rbe-dev",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@",
+ "@@@STEP_LOG_LINE@glob@[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/goma/deploy_exec-server.yaml@@@",
+ "@@@STEP_LOG_END@glob@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "glob",
+ "[START_DIR]/config/goma/k8s/rbe-dev/patches",
+ "[START_DIR]/config/goma/k8s/rbe-dev/goma/deploy_exec-server.yaml.*"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.patch yaml files.glob patch dir [START_DIR]/config/goma/k8s/rbe-dev/patches",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@",
+ "@@@STEP_LOG_LINE@glob@[START_DIR]/config/goma/k8s/rbe-dev/patches/[START_DIR]/config/goma/k8s/rbe-dev/patches/goma/deploy_exec-server.yaml.replica.strategic@@@",
+ "@@@STEP_LOG_END@glob@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[START_DIR]/config/goma/k8s/rbe-dev/patches/[START_DIR]/config/goma/k8s/rbe-dev/patches/goma/deploy_exec-server.yaml.replica.strategic",
+ "/path/to/tmp/"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.patch yaml files.read patch [START_DIR]/config/goma/k8s/rbe-dev/patches/[START_DIR]/config/goma/k8s/rbe-dev/patches/goma/deploy_exec-server.yaml.replica.strategic",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@",
+ "@@@STEP_LOG_END@deploy_exec-server.yaml.replica.strategic@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "configurate goma GCP backend.process yamls.patch yaml files.ensure kubectl",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "cipd",
+ "ensure",
+ "-root",
+ "[START_DIR]/cipd/kubectl",
+ "-ensure-file",
+ "fuchsia/third_party/kubectl/linux-amd64 version:1.16.1-00",
+ "-json-output",
+ "/path/to/tmp/json"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.patch yaml files.ensure kubectl.ensure_installed",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@",
+ "@@@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/linux-amd64\"@@@",
+ "@@@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": [
+ "[START_DIR]/cipd/kubectl/kubectl",
+ "patch",
+ "-f",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/goma/deploy_exec-server.yaml",
+ "--local=true",
+ "--type=strategic",
+ "--patch",
+ "",
+ "-o",
+ "yaml"
+ ],
+ "name": "configurate goma GCP backend.process yamls.patch yaml files.patch [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/goma/deploy_exec-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/goma/deploy_exec-server.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.patch yaml files.write patched yaml [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/goma/deploy_exec-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@",
+ "@@@STEP_LOG_END@deploy_exec-server.yaml@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "configurate goma GCP backend.generate memory store",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "RECIPE_MODULE[fuchsia::yaml]/resources/parse_yaml.py",
+ "[START_DIR]/config/goma/gke-res/rbe-dev/storage.yaml"
+ ],
+ "name": "configurate goma GCP backend.generate memory store.load yaml [START_DIR]/config/goma/gke-res/rbe-dev/storage.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@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",
+ "redis",
+ "instances",
+ "describe",
+ "rbe-dev-memorystore",
+ "--project",
+ "goma-fuchsia",
+ "--region",
+ "us-central",
+ "--format",
+ "get(host)"
+ ],
+ "name": "configurate goma GCP backend.generate memory store.retrieve host info",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[START_DIR]/cipd/gcloud/bin/gcloud",
+ "redis",
+ "instances",
+ "describe",
+ "rbe-dev-memorystore",
+ "--project",
+ "goma-fuchsia",
+ "--region",
+ "us-central",
+ "--format",
+ "get(port)"
+ ],
+ "name": "configurate goma GCP backend.generate memory store.retrieve port info",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "apiVersion: v1\nkind: ConfigMap\nmetadata:\n name: memorystore\ndata:\n REDISHOST: \"\"\n REDISPORT: \"\"\n",
+ "[START_DIR]/config/goma/k8s/rbe-dev/goma/configmap-memorystore.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.generate memory store.write configmap-memorystore.yaml file",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@configmap-memorystore.yaml@apiVersion: v1@@@",
+ "@@@STEP_LOG_LINE@configmap-memorystore.yaml@kind: ConfigMap@@@",
+ "@@@STEP_LOG_LINE@configmap-memorystore.yaml@metadata:@@@",
+ "@@@STEP_LOG_LINE@configmap-memorystore.yaml@ name: memorystore@@@",
+ "@@@STEP_LOG_LINE@configmap-memorystore.yaml@data:@@@",
+ "@@@STEP_LOG_LINE@configmap-memorystore.yaml@ REDISHOST: \"\"@@@",
+ "@@@STEP_LOG_LINE@configmap-memorystore.yaml@ REDISPORT: \"\"@@@",
+ "@@@STEP_LOG_END@configmap-memorystore.yaml@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "add",
+ "--all",
+ "--intent-to-add"
+ ],
+ "cwd": "[START_DIR]/config",
+ "name": "git add"
+ },
+ {
+ "cmd": [
+ "git",
+ "diff"
+ ],
+ "cwd": "[START_DIR]/config",
+ "name": "git diff"
+ },
+ {
+ "cmd": [
+ "git",
+ "hash-object",
+ "a diff"
+ ],
+ "cwd": "[START_DIR]/config",
+ "name": "git hash-object"
+ },
+ {
+ "cmd": [
+ "git",
+ "add",
+ "-A"
+ ],
+ "cwd": "[START_DIR]/config",
+ "name": "git add (2)"
+ },
+ {
+ "cmd": [
+ "git",
+ "commit",
+ "-m",
+ "[goma] Update config for goma-fuchsia/rbe-dev:\n\nUsing gomatools tag: latest\n\nExempt-From-Owner-Approval: Roller.\n\nChange-Id: Iabc123\n"
+ ],
+ "cwd": "[START_DIR]/config",
+ "name": "git commit"
+ },
+ {
+ "cmd": [
+ "git",
+ "diff",
+ "HEAD^"
+ ],
+ "cwd": "[START_DIR]/config",
+ "name": "diff",
+ "~followup_annotations": [
+ "@@@STEP_LOG_END@diff@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "push",
+ "origin",
+ "HEAD:refs/for/master"
+ ],
+ "cwd": "[START_DIR]/config",
+ "name": "git push"
+ },
+ {
+ "cmd": [],
+ "name": "ensure gerrit"
+ },
+ {
+ "cmd": [
+ "cipd",
+ "ensure",
+ "-root",
+ "[START_DIR]/cipd/gerrit",
+ "-ensure-file",
+ "infra/tools/luci/gerrit/${platform} latest",
+ "-json-output",
+ "/path/to/tmp/json"
+ ],
+ "cwd": "[START_DIR]/config",
+ "infra_step": true,
+ "name": "ensure gerrit.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-latest----------\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"package\": \"infra/tools/luci/gerrit/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": [
+ "[START_DIR]/cipd/gerrit/gerrit",
+ "set-review",
+ "-host",
+ "https://fuchsia-review.googlesource.com",
+ "-input",
+ "{\"change_id\": \"Iabc123\", \"input\": {\"labels\": {\"Code-Review\": 2}}, \"revision_id\": \"current\"}",
+ "-output",
+ "/path/to/tmp/json"
+ ],
+ "cwd": "[START_DIR]/config",
+ "name": "submit to commit queue",
+ "~followup_annotations": [
+ "@@@STEP_LOG_END@json.output (invalid)@@@",
+ "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+ "@@@STEP_LOG_END@json.output (exception)@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[START_DIR]/cipd/gerrit/gerrit",
+ "submit",
+ "-host",
+ "https://fuchsia-review.googlesource.com",
+ "-input",
+ "{\"change_id\": \"Iabc123\"}",
+ "-output",
+ "/path/to/tmp/json"
+ ],
+ "cwd": "[START_DIR]/config",
+ "name": "submit",
+ "~followup_annotations": [
+ "@@@STEP_LOG_END@json.output (invalid)@@@",
+ "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+ "@@@STEP_LOG_END@json.output (exception)@@@"
+ ]
+ },
+ {
+ "name": "$result"
+ }
+]
\ No newline at end of file
diff --git a/recipes/goma_gcp_configurator.expected/dry_run.json b/recipes/goma_gcp_configurator.expected/dry_run.json
new file mode 100644
index 0000000..3c00716
--- /dev/null
+++ b/recipes/goma_gcp_configurator.expected/dry_run.json
@@ -0,0 +1,1330 @@
+[
+ {
+ "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": [],
+ "name": "configurate goma GCP backend"
+ },
+ {
+ "cmd": [],
+ "name": "configurate goma GCP backend.Remove existing k8s configurations",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "glob",
+ "[START_DIR]/config/goma/k8s/rbe-dev/rbe-dev",
+ "*/*.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.Remove existing k8s configurations.glob existing configurations",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@glob@[START_DIR]/config/goma/k8s/rbe-dev/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/rbe-dev/goma/configmap_nginx-extra-conf.yaml@@@",
+ "@@@STEP_LOG_END@glob@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "remove",
+ "[START_DIR]/config/goma/k8s/rbe-dev/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/rbe-dev/goma/configmap_nginx-extra-conf.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.Remove existing k8s configurations.remove [START_DIR]/config/goma/k8s/rbe-dev/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/rbe-dev/goma/configmap_nginx-extra-conf.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "configurate goma GCP backend.process yamls",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "glob",
+ "[START_DIR]/config/goma/k8s/templates-rbe",
+ "*/*yaml*"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe.glob template dir [START_DIR]/config/goma/k8s/templates-rbe",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@",
+ "@@@STEP_LOG_LINE@glob@[START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.custom.in@@@",
+ "@@@STEP_LOG_LINE@glob@[START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_cmd-cache-server.yaml@@@",
+ "@@@STEP_LOG_END@glob@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe.ensure directory",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe.generate yaml [START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.custom.in",
+ "/path/to/tmp/"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe.generate yaml [START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.read input template [START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.custom.in",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@# Copyright 2020 Google Inc. All Rights Reserved.@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ apiVersion: apps/v1beta2@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ kind: Deployment@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ metadata:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ labels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ annotations:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ imagetag: $IMAGETAG@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ buildtag: $TAG@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ name: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ spec:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ replicas: 2@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ selector:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ matchLabels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ template:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ metadata:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ labels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ spec:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ containers:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - command:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - /opt/goma/bin/auth_server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - --project-id=$PROJECT_ID@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ name: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ image: gcr.io/$CONTAINER_PROJECT_ID/auth-server:$IMAGETAG@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ ports:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - containerPort: 5050@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ protocol: TCP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - containerPort: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ protocol: TCP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ resources:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ limits:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ cpu: 1500m@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ memory: 1500Mi@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ requests:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ cpu: 100m@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ memory: 100Mi@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ # following could be configured by PodPreset?@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ livenessProbe:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ httpGet:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ path: /healthz@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ port: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ scheme: HTTP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ initialDelaySeconds: 3@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ periodSeconds: 5@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ readinessProbe:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ httpGet:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ path: /healthz@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ port: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ scheme: HTTP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ initialDelaySeconds: 3@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ periodSeconds: 5@@@",
+ "@@@STEP_LOG_END@deploy_auth-server.yaml.custom.in@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe.generate yaml [START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.ensure gcloud",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "cipd",
+ "ensure",
+ "-root",
+ "[START_DIR]/cipd/gcloud",
+ "-ensure-file",
+ "infra/gcloud/${platform} version:266.0.0.chromium0",
+ "-json-output",
+ "/path/to/tmp/json"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe.generate yaml [START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.ensure gcloud.ensure_installed",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@5@@@",
+ "@@@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": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe.generate yaml [START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.ensure gcloud.remove gcloud wrapper",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@5@@@"
+ ]
+ },
+ {
+ "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": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe.generate yaml [START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.ensure gcloud.copy patched gcloud",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@5@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[START_DIR]/cipd/gcloud/bin/gcloud",
+ "container",
+ "images",
+ "list-tags",
+ "gcr.io/goma-fuchsia/auth-server",
+ "--filter",
+ "tags: latest",
+ "--limit",
+ "1",
+ "--format=get(digest)"
+ ],
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe.generate yaml [START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.retrieve digest for gcr.io/goma-fuchsia/auth-server",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "# Copyright 2020 Google Inc. All Rights Reserved.\n apiVersion: apps/v1beta2\n kind: Deployment\n metadata:\n labels:\n app: auth-server\n annotations:\n imagetag: latest\n buildtag: 20120514_125321\n name: auth-server\n spec:\n replicas: 2\n selector:\n matchLabels:\n app: auth-server\n template:\n metadata:\n labels:\n app: auth-server\n spec:\n containers:\n - command:\n - /opt/goma/bin/auth_server\n - --project-id=goma-fuchsia\n name: auth-server\n image: gcr.io/goma-fuchsia/auth-server@\n ports:\n - containerPort: 5050\n protocol: TCP\n - containerPort: 8081\n protocol: TCP\n resources:\n limits:\n cpu: 1500m\n memory: 1500Mi\n requests:\n cpu: 100m\n memory: 100Mi\n # following could be configured by PodPreset?\n livenessProbe:\n httpGet:\n path: /healthz\n port: 8081\n scheme: HTTP\n initialDelaySeconds: 3\n periodSeconds: 5\n readinessProbe:\n httpGet:\n path: /healthz\n port: 8081\n scheme: HTTP\n initialDelaySeconds: 3\n periodSeconds: 5",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe.generate yaml [START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml.write gke yaml [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_auth-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@# Copyright 2020 Google Inc. All Rights Reserved.@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ apiVersion: apps/v1beta2@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ kind: Deployment@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ metadata:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ labels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ annotations:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ imagetag: latest@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ buildtag: 20120514_125321@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ name: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ spec:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ replicas: 2@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ selector:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ matchLabels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ template:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ metadata:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ labels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ spec:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ containers:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - command:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - /opt/goma/bin/auth_server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - --project-id=goma-fuchsia@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ name: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ image: gcr.io/goma-fuchsia/auth-server@@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ ports:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - containerPort: 5050@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ protocol: TCP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - containerPort: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ protocol: TCP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ resources:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ limits:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ cpu: 1500m@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ memory: 1500Mi@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ requests:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ cpu: 100m@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ memory: 100Mi@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ # following could be configured by PodPreset?@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ livenessProbe:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ httpGet:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ path: /healthz@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ port: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ scheme: HTTP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ initialDelaySeconds: 3@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ periodSeconds: 5@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ readinessProbe:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ httpGet:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ path: /healthz@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ port: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ scheme: HTTP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ initialDelaySeconds: 3@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ periodSeconds: 5@@@",
+ "@@@STEP_LOG_END@deploy_auth-server.yaml@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe.ensure directory (2)",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "remove",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_cmd-cache-server.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe.remove [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_cmd-cache-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_cmd-cache-server.yaml",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_cmd-cache-server.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/templates-rbe.copy [START_DIR]/config/goma/k8s/templates-rbe/[START_DIR]/config/goma/k8s/templates-rbe/goma/deploy_cmd-cache-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "glob",
+ "[START_DIR]/config/goma/k8s/rbe-dev/templates",
+ "*/*yaml*"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates.glob template dir [START_DIR]/config/goma/k8s/rbe-dev/templates",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@",
+ "@@@STEP_LOG_LINE@glob@[START_DIR]/config/goma/k8s/rbe-dev/templates/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_auth-server.yaml.custom.in@@@",
+ "@@@STEP_LOG_LINE@glob@[START_DIR]/config/goma/k8s/rbe-dev/templates/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_cmd-cache-server.yaml@@@",
+ "@@@STEP_LOG_END@glob@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates.ensure directory",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates.generate yaml [START_DIR]/config/goma/k8s/rbe-dev/templates/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_auth-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[START_DIR]/config/goma/k8s/rbe-dev/templates/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_auth-server.yaml.custom.in",
+ "/path/to/tmp/"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates.generate yaml [START_DIR]/config/goma/k8s/rbe-dev/templates/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_auth-server.yaml.read input template [START_DIR]/config/goma/k8s/rbe-dev/templates/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_auth-server.yaml.custom.in",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@# Copyright 2020 Google Inc. All Rights Reserved.@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ apiVersion: apps/v1beta2@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ kind: Deployment@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ metadata:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ labels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ annotations:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ imagetag: $IMAGETAG@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ buildtag: $TAG@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ name: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ spec:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ replicas: 2@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ selector:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ matchLabels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ template:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ metadata:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ labels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ spec:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ containers:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - command:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - /opt/goma/bin/auth_server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - --project-id=$PROJECT_ID@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ name: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ image: gcr.io/$CONTAINER_PROJECT_ID/auth-server:$IMAGETAG@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ ports:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - containerPort: 5050@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ protocol: TCP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - containerPort: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ protocol: TCP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ resources:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ limits:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ cpu: 1500m@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ memory: 1500Mi@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ requests:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ cpu: 100m@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ memory: 100Mi@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ # following could be configured by PodPreset?@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ livenessProbe:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ httpGet:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ path: /healthz@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ port: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ scheme: HTTP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ initialDelaySeconds: 3@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ periodSeconds: 5@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ readinessProbe:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ httpGet:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ path: /healthz@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ port: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ scheme: HTTP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ initialDelaySeconds: 3@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ periodSeconds: 5@@@",
+ "@@@STEP_LOG_END@deploy_auth-server.yaml.custom.in@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[START_DIR]/cipd/gcloud/bin/gcloud",
+ "container",
+ "images",
+ "list-tags",
+ "gcr.io/goma-fuchsia/auth-server",
+ "--filter",
+ "tags: latest",
+ "--limit",
+ "1",
+ "--format=get(digest)"
+ ],
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates.generate yaml [START_DIR]/config/goma/k8s/rbe-dev/templates/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_auth-server.yaml.retrieve digest for gcr.io/goma-fuchsia/auth-server",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "# Copyright 2020 Google Inc. All Rights Reserved.\n apiVersion: apps/v1beta2\n kind: Deployment\n metadata:\n labels:\n app: auth-server\n annotations:\n imagetag: latest\n buildtag: 20120514_125321\n name: auth-server\n spec:\n replicas: 2\n selector:\n matchLabels:\n app: auth-server\n template:\n metadata:\n labels:\n app: auth-server\n spec:\n containers:\n - command:\n - /opt/goma/bin/auth_server\n - --project-id=goma-fuchsia\n name: auth-server\n image: gcr.io/goma-fuchsia/auth-server@\n ports:\n - containerPort: 5050\n protocol: TCP\n - containerPort: 8081\n protocol: TCP\n resources:\n limits:\n cpu: 1500m\n memory: 1500Mi\n requests:\n cpu: 100m\n memory: 100Mi\n # following could be configured by PodPreset?\n livenessProbe:\n httpGet:\n path: /healthz\n port: 8081\n scheme: HTTP\n initialDelaySeconds: 3\n periodSeconds: 5\n readinessProbe:\n httpGet:\n path: /healthz\n port: 8081\n scheme: HTTP\n initialDelaySeconds: 3\n periodSeconds: 5",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_auth-server.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates.generate yaml [START_DIR]/config/goma/k8s/rbe-dev/templates/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_auth-server.yaml.write gke yaml [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_auth-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@# Copyright 2020 Google Inc. All Rights Reserved.@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ apiVersion: apps/v1beta2@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ kind: Deployment@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ metadata:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ labels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ annotations:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ imagetag: latest@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ buildtag: 20120514_125321@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ name: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ spec:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ replicas: 2@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ selector:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ matchLabels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ template:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ metadata:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ labels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ spec:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ containers:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - command:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - /opt/goma/bin/auth_server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - --project-id=goma-fuchsia@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ name: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ image: gcr.io/goma-fuchsia/auth-server@@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ ports:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - containerPort: 5050@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ protocol: TCP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - containerPort: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ protocol: TCP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ resources:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ limits:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ cpu: 1500m@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ memory: 1500Mi@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ requests:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ cpu: 100m@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ memory: 100Mi@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ # following could be configured by PodPreset?@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ livenessProbe:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ httpGet:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ path: /healthz@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ port: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ scheme: HTTP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ initialDelaySeconds: 3@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ periodSeconds: 5@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ readinessProbe:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ httpGet:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ path: /healthz@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ port: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ scheme: HTTP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ initialDelaySeconds: 3@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ periodSeconds: 5@@@",
+ "@@@STEP_LOG_END@deploy_auth-server.yaml@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates.ensure directory (2)",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "remove",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_cmd-cache-server.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates.remove [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_cmd-cache-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[START_DIR]/config/goma/k8s/rbe-dev/templates/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_cmd-cache-server.yaml",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_cmd-cache-server.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates.copy [START_DIR]/config/goma/k8s/rbe-dev/templates/[START_DIR]/config/goma/k8s/rbe-dev/templates/goma/deploy_cmd-cache-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "glob",
+ "[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia",
+ "*/*yaml*"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia.glob template dir [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@",
+ "@@@STEP_LOG_LINE@glob@[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_auth-server.yaml.custom.in@@@",
+ "@@@STEP_LOG_LINE@glob@[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_cmd-cache-server.yaml@@@",
+ "@@@STEP_LOG_END@glob@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia.ensure directory",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia.generate yaml [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_auth-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_auth-server.yaml.custom.in",
+ "/path/to/tmp/"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia.generate yaml [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_auth-server.yaml.read input template [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_auth-server.yaml.custom.in",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@# Copyright 2020 Google Inc. All Rights Reserved.@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ apiVersion: apps/v1beta2@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ kind: Deployment@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ metadata:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ labels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ annotations:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ imagetag: $IMAGETAG@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ buildtag: $TAG@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ name: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ spec:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ replicas: 2@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ selector:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ matchLabels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ template:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ metadata:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ labels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ spec:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ containers:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - command:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - /opt/goma/bin/auth_server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - --project-id=$PROJECT_ID@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ name: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ image: gcr.io/$CONTAINER_PROJECT_ID/auth-server:$IMAGETAG@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ ports:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - containerPort: 5050@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ protocol: TCP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ - containerPort: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ protocol: TCP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ resources:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ limits:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ cpu: 1500m@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ memory: 1500Mi@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ requests:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ cpu: 100m@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ memory: 100Mi@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ # following could be configured by PodPreset?@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ livenessProbe:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ httpGet:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ path: /healthz@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ port: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ scheme: HTTP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ initialDelaySeconds: 3@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ periodSeconds: 5@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ readinessProbe:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ httpGet:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ path: /healthz@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ port: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ scheme: HTTP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ initialDelaySeconds: 3@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml.custom.in@ periodSeconds: 5@@@",
+ "@@@STEP_LOG_END@deploy_auth-server.yaml.custom.in@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[START_DIR]/cipd/gcloud/bin/gcloud",
+ "container",
+ "images",
+ "list-tags",
+ "gcr.io/goma-fuchsia/auth-server",
+ "--filter",
+ "tags: latest",
+ "--limit",
+ "1",
+ "--format=get(digest)"
+ ],
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia.generate yaml [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_auth-server.yaml.retrieve digest for gcr.io/goma-fuchsia/auth-server",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "# Copyright 2020 Google Inc. All Rights Reserved.\n apiVersion: apps/v1beta2\n kind: Deployment\n metadata:\n labels:\n app: auth-server\n annotations:\n imagetag: latest\n buildtag: 20120514_125321\n name: auth-server\n spec:\n replicas: 2\n selector:\n matchLabels:\n app: auth-server\n template:\n metadata:\n labels:\n app: auth-server\n spec:\n containers:\n - command:\n - /opt/goma/bin/auth_server\n - --project-id=goma-fuchsia\n name: auth-server\n image: gcr.io/goma-fuchsia/auth-server@\n ports:\n - containerPort: 5050\n protocol: TCP\n - containerPort: 8081\n protocol: TCP\n resources:\n limits:\n cpu: 1500m\n memory: 1500Mi\n requests:\n cpu: 100m\n memory: 100Mi\n # following could be configured by PodPreset?\n livenessProbe:\n httpGet:\n path: /healthz\n port: 8081\n scheme: HTTP\n initialDelaySeconds: 3\n periodSeconds: 5\n readinessProbe:\n httpGet:\n path: /healthz\n port: 8081\n scheme: HTTP\n initialDelaySeconds: 3\n periodSeconds: 5",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_auth-server.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia.generate yaml [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_auth-server.yaml.custom.in from template [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_auth-server.yaml.write gke yaml [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_auth-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@# Copyright 2020 Google Inc. All Rights Reserved.@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ apiVersion: apps/v1beta2@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ kind: Deployment@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ metadata:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ labels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ annotations:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ imagetag: latest@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ buildtag: 20120514_125321@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ name: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ spec:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ replicas: 2@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ selector:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ matchLabels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ template:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ metadata:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ labels:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ app: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ spec:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ containers:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - command:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - /opt/goma/bin/auth_server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - --project-id=goma-fuchsia@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ name: auth-server@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ image: gcr.io/goma-fuchsia/auth-server@@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ ports:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - containerPort: 5050@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ protocol: TCP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ - containerPort: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ protocol: TCP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ resources:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ limits:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ cpu: 1500m@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ memory: 1500Mi@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ requests:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ cpu: 100m@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ memory: 100Mi@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ # following could be configured by PodPreset?@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ livenessProbe:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ httpGet:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ path: /healthz@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ port: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ scheme: HTTP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ initialDelaySeconds: 3@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ periodSeconds: 5@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ readinessProbe:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ httpGet:@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ path: /healthz@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ port: 8081@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ scheme: HTTP@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ initialDelaySeconds: 3@@@",
+ "@@@STEP_LOG_LINE@deploy_auth-server.yaml@ periodSeconds: 5@@@",
+ "@@@STEP_LOG_END@deploy_auth-server.yaml@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia.ensure directory (2)",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "remove",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_cmd-cache-server.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia.remove [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_cmd-cache-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_cmd-cache-server.yaml",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_cmd-cache-server.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.generate yaml from template directory [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia.copy [START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/[START_DIR]/config/goma/k8s/rbe-dev/templates-goma-fuchsia/goma/deploy_cmd-cache-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "configurate goma GCP backend.process yamls.patch yaml files",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "glob",
+ "[START_DIR]/config/goma/k8s/rbe-dev",
+ "*/*.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.patch yaml files.glob yaml dir [START_DIR]/config/goma/k8s/rbe-dev",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@",
+ "@@@STEP_LOG_LINE@glob@[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/goma/deploy_exec-server.yaml@@@",
+ "@@@STEP_LOG_END@glob@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "glob",
+ "[START_DIR]/config/goma/k8s/rbe-dev/patches",
+ "[START_DIR]/config/goma/k8s/rbe-dev/goma/deploy_exec-server.yaml.*"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.patch yaml files.glob patch dir [START_DIR]/config/goma/k8s/rbe-dev/patches",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@",
+ "@@@STEP_LOG_LINE@glob@[START_DIR]/config/goma/k8s/rbe-dev/patches/[START_DIR]/config/goma/k8s/rbe-dev/patches/goma/deploy_exec-server.yaml.replica.strategic@@@",
+ "@@@STEP_LOG_END@glob@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[START_DIR]/config/goma/k8s/rbe-dev/patches/[START_DIR]/config/goma/k8s/rbe-dev/patches/goma/deploy_exec-server.yaml.replica.strategic",
+ "/path/to/tmp/"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.patch yaml files.read patch [START_DIR]/config/goma/k8s/rbe-dev/patches/[START_DIR]/config/goma/k8s/rbe-dev/patches/goma/deploy_exec-server.yaml.replica.strategic",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@",
+ "@@@STEP_LOG_END@deploy_exec-server.yaml.replica.strategic@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "configurate goma GCP backend.process yamls.patch yaml files.ensure kubectl",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "cipd",
+ "ensure",
+ "-root",
+ "[START_DIR]/cipd/kubectl",
+ "-ensure-file",
+ "fuchsia/third_party/kubectl/linux-amd64 version:1.16.1-00",
+ "-json-output",
+ "/path/to/tmp/json"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.patch yaml files.ensure kubectl.ensure_installed",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@",
+ "@@@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/linux-amd64\"@@@",
+ "@@@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": [
+ "[START_DIR]/cipd/kubectl/kubectl",
+ "patch",
+ "-f",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/goma/deploy_exec-server.yaml",
+ "--local=true",
+ "--type=strategic",
+ "--patch",
+ "",
+ "-o",
+ "yaml"
+ ],
+ "name": "configurate goma GCP backend.process yamls.patch yaml files.patch [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/goma/deploy_exec-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "",
+ "[START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/goma/deploy_exec-server.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.process yamls.patch yaml files.write patched yaml [START_DIR]/config/goma/k8s/rbe-dev/[START_DIR]/config/goma/k8s/rbe-dev/goma/deploy_exec-server.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@",
+ "@@@STEP_LOG_END@deploy_exec-server.yaml@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "configurate goma GCP backend.generate memory store",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "RECIPE_MODULE[fuchsia::yaml]/resources/parse_yaml.py",
+ "[START_DIR]/config/goma/gke-res/rbe-dev/storage.yaml"
+ ],
+ "name": "configurate goma GCP backend.generate memory store.load yaml [START_DIR]/config/goma/gke-res/rbe-dev/storage.yaml",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@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",
+ "redis",
+ "instances",
+ "describe",
+ "rbe-dev-memorystore",
+ "--project",
+ "goma-fuchsia",
+ "--region",
+ "us-central",
+ "--format",
+ "get(host)"
+ ],
+ "name": "configurate goma GCP backend.generate memory store.retrieve host info",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[START_DIR]/cipd/gcloud/bin/gcloud",
+ "redis",
+ "instances",
+ "describe",
+ "rbe-dev-memorystore",
+ "--project",
+ "goma-fuchsia",
+ "--region",
+ "us-central",
+ "--format",
+ "get(port)"
+ ],
+ "name": "configurate goma GCP backend.generate memory store.retrieve port info",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "apiVersion: v1\nkind: ConfigMap\nmetadata:\n name: memorystore\ndata:\n REDISHOST: \"\"\n REDISPORT: \"\"\n",
+ "[START_DIR]/config/goma/k8s/rbe-dev/goma/configmap-memorystore.yaml"
+ ],
+ "infra_step": true,
+ "name": "configurate goma GCP backend.generate memory store.write configmap-memorystore.yaml file",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@configmap-memorystore.yaml@apiVersion: v1@@@",
+ "@@@STEP_LOG_LINE@configmap-memorystore.yaml@kind: ConfigMap@@@",
+ "@@@STEP_LOG_LINE@configmap-memorystore.yaml@metadata:@@@",
+ "@@@STEP_LOG_LINE@configmap-memorystore.yaml@ name: memorystore@@@",
+ "@@@STEP_LOG_LINE@configmap-memorystore.yaml@data:@@@",
+ "@@@STEP_LOG_LINE@configmap-memorystore.yaml@ REDISHOST: \"\"@@@",
+ "@@@STEP_LOG_LINE@configmap-memorystore.yaml@ REDISPORT: \"\"@@@",
+ "@@@STEP_LOG_END@configmap-memorystore.yaml@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "add",
+ "--all",
+ "--intent-to-add"
+ ],
+ "cwd": "[START_DIR]/config",
+ "name": "git add"
+ },
+ {
+ "cmd": [
+ "git",
+ "diff"
+ ],
+ "cwd": "[START_DIR]/config",
+ "name": "git diff"
+ },
+ {
+ "cmd": [
+ "git",
+ "hash-object",
+ "a diff"
+ ],
+ "cwd": "[START_DIR]/config",
+ "name": "git hash-object"
+ },
+ {
+ "cmd": [
+ "git",
+ "add",
+ "-A"
+ ],
+ "cwd": "[START_DIR]/config",
+ "name": "git add (2)"
+ },
+ {
+ "cmd": [
+ "git",
+ "commit",
+ "-m",
+ "[goma] Update config for goma-fuchsia/rbe-dev:\n\nUsing gomatools tag: latest\n\nExempt-From-Owner-Approval: Roller.\n\nChange-Id: Iabc123\n"
+ ],
+ "cwd": "[START_DIR]/config",
+ "name": "git commit"
+ },
+ {
+ "cmd": [
+ "git",
+ "diff",
+ "HEAD^"
+ ],
+ "cwd": "[START_DIR]/config",
+ "name": "diff",
+ "~followup_annotations": [
+ "@@@STEP_LOG_END@diff@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "push",
+ "origin",
+ "HEAD:refs/for/master"
+ ],
+ "cwd": "[START_DIR]/config",
+ "name": "git push"
+ },
+ {
+ "cmd": [],
+ "name": "ensure gerrit"
+ },
+ {
+ "cmd": [
+ "cipd",
+ "ensure",
+ "-root",
+ "[START_DIR]/cipd/gerrit",
+ "-ensure-file",
+ "infra/tools/luci/gerrit/${platform} latest",
+ "-json-output",
+ "/path/to/tmp/json"
+ ],
+ "cwd": "[START_DIR]/config",
+ "infra_step": true,
+ "name": "ensure gerrit.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-latest----------\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"package\": \"infra/tools/luci/gerrit/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": [
+ "[START_DIR]/cipd/gerrit/gerrit",
+ "change-abandon",
+ "-host",
+ "https://fuchsia-review.googlesource.com",
+ "-input",
+ "{\"change_id\": \"Iabc123\", \"input\": {\"message\": \"dry run\"}}",
+ "-output",
+ "/path/to/tmp/json"
+ ],
+ "cwd": "[START_DIR]/config",
+ "name": "abandon the change",
+ "~followup_annotations": [
+ "@@@STEP_LOG_END@json.output (invalid)@@@",
+ "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+ "@@@STEP_LOG_END@json.output (exception)@@@"
+ ]
+ },
+ {
+ "name": "$result"
+ }
+]
\ No newline at end of file
diff --git a/recipes/goma_gcp_configurator.py b/recipes/goma_gcp_configurator.py
new file mode 100644
index 0000000..f68bafa
--- /dev/null
+++ b/recipes/goma_gcp_configurator.py
@@ -0,0 +1,591 @@
+# Copyright 2019 The Fuchsia Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+"""Recipe for updating goma configurations."""
+
+from recipe_engine.recipe_api import Property
+from string import Template
+
+import os.path
+
+DEPS = [
+ 'fuchsia/gcloud',
+ 'fuchsia/gerrit',
+ 'fuchsia/git',
+ 'fuchsia/kubectl',
+ 'fuchsia/yaml',
+ 'recipe_engine/buildbucket',
+ 'recipe_engine/context',
+ 'recipe_engine/file',
+ 'recipe_engine/json',
+ 'recipe_engine/path',
+ 'recipe_engine/properties',
+ 'recipe_engine/raw_io',
+ 'recipe_engine/step',
+ 'recipe_engine/time',
+]
+
+PROPERTIES = {
+ 'repository':
+ Property(
+ kind=str,
+ help='repository that hold the goma configurations',
+ default='https://fuchsia.googlesource.com/infra/config'),
+ 'config_root':
+ Property(
+ kind=str,
+ help='root directory in repository that stores goma configurations',
+ default='goma'),
+ 'toolchain_project':
+ Property(
+ kind=str,
+ help='project name that hosts goma toolchains',
+ default='goma-fuchsia'),
+ 'cluster_project':
+ Property(
+ kind=str,
+ help='project name that hosts goma cluster',
+ default='goma-fuchsia'),
+ 'cluster':
+ Property(kind=str, help='the name of the cluster', default='rbe-dev'),
+ 'tag':
+ Property(
+ kind=str,
+ help='container tag for gomatools containers',
+ default='latest'),
+ 'dry_run':
+ Property(
+ kind=bool,
+ help='dry_run without landing changes to repository',
+ default=True),
+}
+
+COMMIT_MESSAGE = '''[goma] Update config for {project}/{cluster}:
+
+Using gomatools tag: {tag}
+
+Exempt-From-Owner-Approval: Roller.
+'''
+
+YAML_TEMPLATE_TEST_DATA = '''# Copyright 2020 Google Inc. All Rights Reserved.
+ apiVersion: apps/v1beta2
+ kind: Deployment
+ metadata:
+ labels:
+ app: auth-server
+ annotations:
+ imagetag: $IMAGETAG
+ buildtag: $TAG
+ name: auth-server
+ spec:
+ replicas: 2
+ selector:
+ matchLabels:
+ app: auth-server
+ template:
+ metadata:
+ labels:
+ app: auth-server
+ spec:
+ containers:
+ - command:
+ - /opt/goma/bin/auth_server
+ - --project-id=$PROJECT_ID
+ name: auth-server
+ image: gcr.io/$CONTAINER_PROJECT_ID/auth-server:$IMAGETAG
+ ports:
+ - containerPort: 5050
+ protocol: TCP
+ - containerPort: 8081
+ protocol: TCP
+ resources:
+ limits:
+ cpu: 1500m
+ memory: 1500Mi
+ requests:
+ cpu: 100m
+ memory: 100Mi
+ # following could be configured by PodPreset?
+ livenessProbe:
+ httpGet:
+ path: /healthz
+ port: 8081
+ scheme: HTTP
+ initialDelaySeconds: 3
+ periodSeconds: 5
+ readinessProbe:
+ httpGet:
+ path: /healthz
+ port: 8081
+ scheme: HTTP
+ initialDelaySeconds: 3
+ periodSeconds: 5'''
+
+
+def generate_time_stamp(api):
+ return "{:%Y%m%d_%H%M%S}".format(api.time.utcnow())
+
+
+def get_region_for_cluster(api, goma_config_dir, cluster):
+ storage_yaml = goma_config_dir.join('gke-res', cluster, 'storage.yaml')
+ if not api.path.exists(storage_yaml):
+ raise api.step.StepFailure('unknown cluster name %s' %
+ cluster) # pragma no cover
+ return api.yaml.retrieve_field(storage_yaml, 'region')
+
+
+def gen_configmap_memorystore(api, config_dir, cluster_project, cluster):
+ """Generate the content of memorystore yaml file for a goma k8s cluster.
+ This function mocks the behavior of 'gen-configmap-memorystore.sh' from
+ 'cloudbuild/k8s'.
+
+ Args:
+ * cluster (str) - The name of the k8s cluster.
+ """
+ region = get_region_for_cluster(api, config_dir, cluster)
+
+ if region == '':
+ raise api.step.StepFailure(
+ 'region config not found in file') # pragma: no cover
+ host = api.gcloud(
+ 'redis',
+ 'instances',
+ 'describe',
+ '%s-memorystore' % cluster,
+ '--project',
+ cluster_project,
+ '--region',
+ region,
+ '--format',
+ 'get(host)',
+ step_name='retrieve host info',
+ stdout=api.raw_io.output(),
+ ).stdout.strip()
+ port = api.gcloud(
+ 'redis',
+ 'instances',
+ 'describe',
+ '%s-memorystore' % cluster,
+ '--project',
+ cluster_project,
+ '--region',
+ region,
+ '--format',
+ 'get(port)',
+ step_name='retrieve port info',
+ stdout=api.raw_io.output(),
+ ).stdout.strip()
+ return '''apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: memorystore
+data:
+ REDISHOST: "{}"
+ REDISPORT: "{}"
+'''.format(host, port)
+
+
+def patch_yaml(api, input_yaml, patch_file, test_data=''):
+ """Patch a k8s yaml configuration file using kubectl patch.
+ This function mocks the behavior of 'apply_patch' from
+ 'cloudbuild/k8s/config.sh'.
+
+ Args:
+ * input_yaml (Path) - The path to the yaml that needs to be patched.
+ * patch_file (Path) - The path to the patch file.
+ * test_data (string) - The test data content of a patch file.
+ """
+ ptype = str(patch_file)[str(patch_file).rfind('.') + 1:]
+ patch_data = api.file.read_text(
+ 'read patch %s' % patch_file, patch_file, test_data=test_data)
+ patched_yaml = api.kubectl(
+ 'patch',
+ '-f',
+ input_yaml,
+ '--local=true',
+ '--type=%s' % ptype,
+ '--patch',
+ patch_data,
+ '-o',
+ 'yaml',
+ step_name='patch %s' % input_yaml,
+ stdout=api.raw_io.output(),
+ ).stdout
+ api.file.write_text('write patched yaml %s' % input_yaml, input_yaml,
+ patched_yaml)
+
+
+def template_to_output(api, template_file, templates_root, yaml_root):
+ """Generate the file name of generated k8s configuration yaml from a
+ template.
+
+ Args:
+ * template_file (Path) - The path to the template file.
+ * templates_root (Path) - The path to the root directory of the templates.
+ * yaml_root (Path) - The path to the root directory that holds generated
+ k8s configuration yamls.
+ """
+ template_file_rel = os.path.relpath(str(template_file), str(templates_root))
+ target_file = api.path.join(str(yaml_root), template_file_rel)
+ if target_file.endswith('.in'):
+ target_file = target_file[:len(target_file) - len('.in')]
+ if target_file.endswith('.custom'):
+ target_file = target_file[:len(target_file) - len('.custom')]
+ return api.path.abs_to_path(target_file)
+
+
+def generate_k8s_yaml_from_template(api,
+ input_yaml,
+ output_yaml,
+ cluster_project,
+ cluster,
+ container_project,
+ rbe_instance_prefix,
+ cmd_files_bucket,
+ toolchain_config_bucket,
+ cache_bucket_prefix,
+ imagetag='latest',
+ opt_pre_shared_cert='',
+ tag='',
+ test_data=''):
+ """Generate k8s yaml configuration files from templates.
+ This function mocks the behavior of 'fix.sh' in 'cloudbuild/k8s'.
+
+ Args:
+ * input_yaml (Path) - The path to the template file.
+ * output_yaml (Path) - The path to the generated yaml file.
+ * project_id (str) - The project id of the gcloud project hosting k8s
+ clusters.
+ * cluster (str) - The name of the k8s cluster.
+ * container_project (str) - The project id of the gcloud project
+ hosting goma docker images.
+ * rbe_instance_prefix (str) - The instance prefix for RBE workers.
+ * cmd_files_bucket (str) - The GCS bucket name for Goma config files.
+ * toolchain_config_bucket (str) - The GCS bucket of Goma toolchain config.
+ * cache_bucket_prefix (str) - The GCS bucket name for toolchain caches.
+ * imagetag (str) - The container tag name for Goma GCP images.
+ * opt_pre_shared_cert (str) - The optional path to pre shared SSL certs.
+ * tag (str) - The time stamp tag.
+ * test_data (str) - Test data for template.
+ """
+ replace_dict = {
+ 'PROJECT_ID': cluster_project,
+ 'CLUSTER': cluster,
+ 'CONTAINER_PROJECT_ID': container_project,
+ 'RBE_INSTANCE_PREFIX': rbe_instance_prefix,
+ 'CMD_FILES_BUCKET': cmd_files_bucket,
+ 'TOOLCHAIN_CONFIG_BUCKET': toolchain_config_bucket,
+ 'CACHE_BUCKET_PREFIX': cache_bucket_prefix,
+ 'TAG': tag,
+ }
+ if opt_pre_shared_cert:
+ # Not currently used by Fuchsia goma.
+ replace_dict['OPT_PRE_SHARED_CERT'] = opt_pre_shared_cert # pragma no cover
+ infile = api.file.read_text(
+ 'read input template %s' % input_yaml, input_yaml, test_data=test_data)
+ outfile = ""
+ # First pass, looking for image url and retrieve image digest.
+ for curline in infile.splitlines(True):
+ if 'image:' in curline:
+ image_url = curline[curline.find('image:') +
+ len('image:'):curline.find(':$IMAGETAG')].strip()
+ image_url_temp = Template(image_url)
+ image_url = image_url_temp.substitute(replace_dict)
+ # SHA256 can be retrieved through gcloud container images list-tags gcr.io/goma-fuchsia/auth-server --filter "tags: \"latest\"" --limit 1 --format='get(digest)'
+ digest = api.gcloud(
+ 'container',
+ 'images',
+ 'list-tags',
+ image_url,
+ '--filter',
+ 'tags: %s' % imagetag,
+ '--limit',
+ '1',
+ '--format=get(digest)',
+ step_name='retrieve digest for %s' % image_url,
+ stdout=api.raw_io.output(),
+ ).stdout.strip()
+ break
+ # Second pass, replace place holders to actual image spec data.
+ replace_dict['IMAGETAG'] = imagetag
+ for curline in infile.splitlines(True):
+ if ':$IMAGETAG' in curline:
+ curline = curline.replace(':$IMAGETAG', '@' + digest)
+ curline_temp = Template(curline)
+ curline = curline_temp.substitute(replace_dict)
+ outfile += curline
+ api.file.write_text('write gke yaml %s' % output_yaml, output_yaml, outfile)
+
+
+def generate_k8s_yaml_from_template_on_directory(
+ api, templates_root, k8s_config_root, project_id, container_project_id,
+ cluster, rbe_instance_prefix, cmd_files_bucket, toolchain_config_bucket,
+ imagetag, cache_bucket_prefix, tag):
+ """Generate the k8s configuration yamls from a template directory.
+
+ Args:
+ * api (RecipeApi) - The RecipeApi object.
+ * templates_root (Path) - The path to the root directory of the templates.
+ * k8s_config_root (Path) - The path to the root directory that holds generated
+ k8s configuration yamls.
+ * project_id (str) - The project id of the gcloud project hosting k8s
+ clusters.
+ * cluster (str) - The name of the k8s cluster.
+ * rbe_instance_prefix (str) - The instance prefix for RBE workers.
+ * cmd_files_bucket (str) - The GCS bucket name for Goma config files.
+ * toolchain_config_bucket (str) - The GCS bucket of Goma toolchain config.
+ * imagetag (str) - The container tag name for Goma GCP images.
+ * cache_bucket_prefix (str) - The GCS bucket name for toolchain caches.
+ * tag (str) - The time stamp tag.
+ """
+ with api.step.nest('generate yaml from template directory %s' %
+ templates_root):
+ for item in api.file.glob_paths(
+ 'glob template dir %s' % str(templates_root),
+ templates_root,
+ '*/*yaml*',
+ test_data=[
+ templates_root.join('goma', 'deploy_auth-server.yaml.custom.in'),
+ templates_root.join('goma', 'deploy_cmd-cache-server.yaml'),
+ ]):
+ output_file = template_to_output(api, item, templates_root,
+ k8s_config_root)
+ api.file.ensure_directory('ensure directory',
+ api.path.dirname(output_file))
+ if str(item).endswith('.yaml') or str(item).endswith('.yaml.custom'):
+ api.file.remove('remove %s' % output_file, output_file)
+ api.file.copy('copy %s' % item, item, output_file)
+ continue
+ with api.step.nest('generate yaml {} from template {}'.format(
+ item, output_file)):
+
+ generate_k8s_yaml_from_template(
+ api,
+ item,
+ output_file,
+ project_id,
+ cluster,
+ container_project_id,
+ rbe_instance_prefix,
+ cmd_files_bucket,
+ toolchain_config_bucket,
+ cache_bucket_prefix,
+ imagetag=imagetag,
+ tag=tag,
+ test_data=YAML_TEMPLATE_TEST_DATA)
+
+
+def config_cluster(api, config_dir, cluster_project, toolchain_project, cluster,
+ tag, timestamp):
+ """Generate Goma k8s cluster configurations.
+ This function mocks the behaviors of `./build.sh k8s config $CLUSTER`.
+ It only supports Goma GCP with RBE.
+
+ Args:
+ * api (RecipeApi) - The RecipeApi object.
+ * cluster_project (str) - The project id of the gcloud project hosting k8s
+ clusters.
+ * toolchain_project (str) - The project id of the gcloud project hosting
+ goma toolchain images.
+ * zone (str) - The gcloud zone for Goma GCP backend.
+ * cluster (str) - The name of the cluster.
+ * imagetag (str) - The container tag name for Goma GCP images.
+ * timestamp (str) - The timestamp tag.
+ """
+ rbe_instance_prefix = 'projects/%s/instances' % cluster_project
+ cmd_files_bucket = '%s-files' % toolchain_project
+ toolchain_config_bucket = '%s-toolchain-config' % toolchain_project
+ cache_bucket_prefix = '{}-{}'.format(cluster_project, cluster)
+ # We only support RBE
+ cluster_template = 'rbe'
+
+ k8s_config_root = config_dir.join('k8s').join(cluster)
+
+ with api.step.nest('Remove existing k8s configurations'):
+ for item in api.file.glob_paths(
+ 'glob existing configurations',
+ k8s_config_root.join(cluster),
+ '*/*.yaml',
+ test_data=[
+ k8s_config_root.join('rbe-dev', 'goma',
+ 'configmap_nginx-extra-conf.yaml')
+ ]):
+ api.file.remove('remove %s' % item, item)
+
+ templates_root = config_dir.join('k8s').join('templates-%s' %
+ cluster_template)
+ cluster_templates_root = config_dir.join('k8s').join(cluster, 'templates')
+ project_templates_root = config_dir.join('k8s').join(
+ cluster, 'templates-%s' % cluster_project)
+ with api.step.nest('process yamls'):
+ # Process yaml from ${templates}"/*/*yaml*
+ generate_k8s_yaml_from_template_on_directory(
+ api,
+ templates_root,
+ k8s_config_root,
+ cluster_project,
+ toolchain_project,
+ cluster,
+ rbe_instance_prefix,
+ cmd_files_bucket,
+ toolchain_config_bucket,
+ tag,
+ cache_bucket_prefix,
+ tag=timestamp)
+
+ # Process yaml from "${cluster}/templates/"*/*yaml*
+ generate_k8s_yaml_from_template_on_directory(
+ api,
+ cluster_templates_root,
+ k8s_config_root,
+ cluster_project,
+ toolchain_project,
+ cluster,
+ rbe_instance_prefix,
+ cmd_files_bucket,
+ toolchain_config_bucket,
+ tag,
+ cache_bucket_prefix,
+ tag=timestamp)
+
+ # Process yaml from "${cluster}/templates-${project}/"*/*yaml*
+ generate_k8s_yaml_from_template_on_directory(
+ api,
+ project_templates_root,
+ k8s_config_root,
+ cluster_project,
+ toolchain_project,
+ cluster,
+ rbe_instance_prefix,
+ cmd_files_bucket,
+ toolchain_config_bucket,
+ tag,
+ cache_bucket_prefix,
+ tag=timestamp)
+
+ # Patch yaml files
+ with api.step.nest('patch yaml files'):
+ for item in api.file.glob_paths(
+ 'glob yaml dir %s' % str(k8s_config_root),
+ k8s_config_root,
+ '*/*.yaml',
+ test_data=[k8s_config_root.join('goma', 'deploy_exec-server.yaml')]):
+ item_rel = os.path.relpath(str(item), str(k8s_config_root))
+ for patch_file in api.file.glob_paths(
+ 'glob patch dir %s' % str(k8s_config_root.join('patches')),
+ k8s_config_root.join('patches'),
+ item_rel + '.*',
+ test_data=[
+ k8s_config_root.join(
+ 'patches', 'goma',
+ 'deploy_exec-server.yaml.replica.strategic')
+ ]):
+ patch_yaml(api, item, patch_file)
+ # gen memory store
+ with api.step.nest('generate memory store'):
+ api.file.write_text(
+ 'write configmap-memorystore.yaml file',
+ k8s_config_root.join('goma', 'configmap-memorystore.yaml'),
+ gen_configmap_memorystore(api, config_dir, cluster_project, cluster))
+
+
+def RunSteps(api, repository, config_root, toolchain_project, cluster_project,
+ cluster, tag, dry_run):
+ timestamp = generate_time_stamp(api)
+ # checkout
+ infra_config_dir = api.path['start_dir'].join('config')
+ goma_config_dir = infra_config_dir.join(config_root)
+ # for recipe tests, add mock files.
+ api.path.mock_add_paths(
+ goma_config_dir.join('gke', 'rbe-dev', 'cluster.yaml'))
+ api.path.mock_add_paths(
+ goma_config_dir.join('gke-res', 'rbe-dev', 'storage.yaml'))
+
+ api.git.checkout(
+ url=repository, path=infra_config_dir, submodules=False, cache=False)
+ with api.step.nest('configurate goma GCP backend'):
+ api.path.mock_add_paths(
+ goma_config_dir.join('gke', cluster, 'cluster.yaml'))
+ config_cluster(api, goma_config_dir, cluster_project, toolchain_project,
+ cluster, tag, timestamp)
+
+ # Push changes to infra/config.
+ with api.context(cwd=infra_config_dir):
+ # Calculate the Change ID for Gerrit.
+ api.git('add', '--all', '--intent-to-add')
+ diff_step = api.git(
+ 'diff',
+ stdout=api.raw_io.output(),
+ step_test_data=lambda: api.raw_io.test_api.stream_output('a diff'))
+ hash_step = api.git(
+ 'hash-object',
+ api.raw_io.input(diff_step.stdout),
+ stdout=api.raw_io.output(),
+ step_test_data=lambda: api.raw_io.test_api.stream_output('abc123'))
+ change_id = 'I%s' % hash_step.stdout.strip()
+ message = COMMIT_MESSAGE.format(
+ project=cluster_project,
+ cluster=cluster,
+ tag=tag,
+ ) + ('\nChange-Id: %s\n' % change_id)
+ api.git.commit(
+ message=message,
+ all_files=True,
+ )
+ diff_step = api.step(
+ 'diff', ['git', 'diff', 'HEAD^'], stdout=api.raw_io.output())
+ diff_step.presentation.logs['diff'] = diff_step.stdout.splitlines()
+ push_step = api.git.push('HEAD:refs/for/master', ok_ret='any')
+ if push_step.retcode != 0:
+ # Maybe caused by change ID collision.
+ push_step.presentation.step_summary_text = 'rejected by gerrit'
+ push_step.presentation.step_text = (
+ '\nChange is identical to a previous CL')
+ return
+ if dry_run:
+ api.gerrit.abandon('abandon the change', change_id, message='dry run')
+ else:
+ labels = {'Code-Review': 2}
+ api.gerrit.set_review(
+ 'submit to commit queue',
+ change_id,
+ labels=labels,
+ )
+ api.gerrit.submit(
+ name='submit',
+ change_id=change_id,
+ )
+
+
+def GenTests(api):
+ dry_run_properties = api.properties(
+ repository='https://fuchsia.googlesource.com/infra/config',
+ config_root='goma',
+ toolchain_project='goma-fuchsia',
+ cluster_project='goma-fuchsia',
+ tag='latest',
+ dry_run=True)
+ default_properties = api.properties(
+ repository='https://fuchsia.googlesource.com/infra/config',
+ config_root='goma',
+ toolchain_project='goma-fuchsia',
+ cluster_project='goma-fuchsia',
+ tag='latest',
+ dry_run=False)
+
+ region_step_data = api.step_data(
+ 'configurate goma GCP backend.generate memory store.load yaml [START_DIR]/config/goma/gke-res/rbe-dev/storage.yaml',
+ stdout=api.json.output({'region': 'us-central'}))
+
+ yield api.test('dry_run') + dry_run_properties + api.buildbucket.try_build(
+ git_repo='https://fuchsia.googlesource.com/integration'
+ ) + region_step_data
+
+ yield api.test('default') + default_properties + api.buildbucket.try_build(
+ git_repo='https://fuchsia.googlesource.com/integration'
+ ) + region_step_data
+
+ yield api.test('change id collision') + default_properties + api.step_data(
+ 'git push', retcode=1) + api.buildbucket.try_build(
+ git_repo='https://fuchsia.googlesource.com/integration'
+ ) + region_step_data