{
  "repo": "pingcap/k8s-fluent-bit-stackdriver",
  "binary": "gcp-create-service-account",
  "binary_path": "gcp-create-service-account",
  "dependencies": {
    "CLI gcp-create-service-account ensure-service-account": {
      "description": "Create the target GCP service account when it does not already exist.",
      "infrastructure": {
        "gcp_iam": {
          "conditions": [
            "Service account does not already exist"
          ],
          "operations": [
            {
              "operation": "Describe and create the target service account",
              "implementation": "gcp-create-service-account"
            }
          ]
        }
      },
      "services": []
    },
    "CLI gcp-create-service-account grant-roles": {
      "description": "Bind every requested IAM role to the service account in the active GCP project.",
      "infrastructure": {
        "gcp_project_policy": {
          "conditions": [
            "Requested IAM roles are provided"
          ],
          "operations": [
            {
              "operation": "Add IAM policy bindings",
              "implementation": "gcp-create-service-account"
            }
          ]
        }
      },
      "services": []
    },
    "CLI gcp-create-service-account create-kubernetes-secret": {
      "description": "Mint a service-account key, create the target namespace, and store the key as a Kubernetes secret when requested.",
      "infrastructure": {
        "gcp_iam": {
          "conditions": [
            "Service-account key creation is enabled"
          ],
          "operations": [
            {
              "operation": "Create and list service-account keys",
              "implementation": "gcp-create-service-account"
            }
          ]
        },
        "kubernetes_api": {
          "conditions": [
            "Kubernetes secret output is enabled"
          ],
          "operations": [
            {
              "operation": "Create namespace and secret",
              "implementation": "gcp-create-service-account"
            }
          ]
        }
      },
      "services": []
    }
  }
}
