applications/ray/metadata.yaml (92 lines of code) (raw):
apiVersion: blueprints.cloud.google.com/v1alpha1
kind: BlueprintMetadata
metadata:
name: ai-on-gke
annotations:
config.kubernetes.io/local-config: "true"
spec:
info:
title: Ray on GKE
source:
repo: https://github.com/GoogleCloudPlatform/ai-on-gke
sourceType: git
dir: /applications/ray
actuationTool:
flavor: Terraform
description: {}
content: {}
interfaces:
variables:
- name: additional_labels
description: Additional labels to add to Kubernetes resources.
varType: string
defaultValue: "created-by=gke-ai-quick-start-solutions,ai.gke.io=ray"
- name: acknowledge
varType: bool
required: true
- name: iap_consent_info
description: Configure the <a href="https://developers.google.com/workspace/guides/configure-oauth-consent#configure_oauth_consent"><i>OAuth Consent Screen</i></a> for your project. Ensure <b>User type</b> is set to <i>Internal</i>. Note that by default, only users within your organization can be allowlisted. To add external users, change the <b>User type</b> to <i>External</i> after the application is deployed.
varType: bool
defaultValue: false
- name: autopilot_cluster
varType: bool
defaultValue: true
- name: cluster_name
varType: string
defaultValue: "ai-on-gke"
- name: cluster_location
varType: string
required: true
defaultValue: "us-east4"
- name: cluster_membership_id
description: "require to use connectgateway for private clusters, default: cluster_name"
varType: string
defaultValue: ""
- name: create_brand
description: Create Brand OAuth Screen
varType: bool
defaultValue: false
- name: create_cluster
varType: bool
defaultValue: true
- name: create_gcs_bucket
description: Enable flag to create gcs_bucket
varType: bool
defaultValue: false
- name: create_network
description: Create the VPC specified by network_name/subnetwork_name
varType: bool
defaultValue: true
- name: create_ray_cluster
varType: bool
defaultValue: true
- name: create_service_account
description: Creates a google IAM service account & k8s service account & configures workload identity
varType: bool
defaultValue: true
- name: disable_ray_cluster_network_policy
description: Disables Kubernetes Network Policy for Ray Clusters for this demo. Defaulting to 'true' aka disabled pending fixes to the kuberay-monitoring module. This should be defaulted to false.
varType: bool
defaultValue: false
- name: disable_resource_quotas
description: Set to true to remove resource quotas from your Ray clusters. Not recommended
varType: bool
defaultValue: false
- name: enable_gpu
varType: bool
defaultValue: false
- name: enable_grafana_on_ray_dashboard
description: Add option to enable or disable grafana for the ray dashboard. Enabling requires anonymous access.
varType: bool
defaultValue: false
- name: enable_tpu
varType: bool
defaultValue: false
- name: gcs_bucket
varType: string
required: true
- name: goog_cm_deployment_name
varType: string
defaultValue: ""
- name: kuberay_network_policy_allow_cidr
description: List of CIDRs that are allowed to access this Ray cluster's job submission and dashboard port.
varType: string
defaultValue: ""
- name: kubernetes_namespace
description: Kubernetes namespace where resources are deployed
varType: string
defaultValue: ai-on-gke
- name: network_name
description: Network name of VPC
varType: string
defaultValue: net
- name: private_cluster
varType: bool
defaultValue: false
- name: project_id
description: GCP project id
varType: string
required: true
- name: ray_cluster_name
varType: string
defaultValue: ray-cluster
- name: ray_dashboard_add_auth
description: Enable iap authentication on frontend
varType: bool
defaultValue: false
- name: ray_dashboard_client_id
description: Client ID used for enabling IAP
varType: string
defaultValue: ""
- name: ray_dashboard_client_secret
description: Client secret used for enabling IAP
varType: string
defaultValue: ""
- name: ray_dashboard_domain
description: Domain used for application and SSL certificate.
varType: string
defaultValue: "<your Ray dashboard domain here>"
- name: ray_dashboard_k8s_backend_config_name
description: Name of the Backend Config on GCP
varType: string
defaultValue: ray-dashboard-iap-config
- name: ray_dashboard_k8s_backend_service_port
description: Name of the K8s Backend Service Port
varType: number
defaultValue: 8265
- name: ray_dashboard_k8s_iap_secret_name
varType: string
defaultValue: ray-dashboard-secret
- name: ray_dashboard_k8s_ingress_name
varType: string
defaultValue: ray-dashboard-ingress
- name: ray_dashboard_k8s_managed_cert_name
description: Name for frontend managed certificate
varType: string
defaultValue: ray-dashboard-managed-cert
- name: ray_dashboard_members_allowlist
description: "For example - user:example@google.com,serviceAccount:serviceAccount@google.com,group:group@google.com,domain:google.com"
varType: string
defaultValue: "user:<your-email-here>"
- name: ray_version
varType: string
defaultValue: v2.9.3
- name: subnetwork_cidr
varType: string
defaultValue: 10.128.0.0/20
- name: support_email
description: Email for users to contact with questions about their consent
varType: string
defaultValue: ""
- name: workload_identity_service_account
description: Google Cloud IAM service account for authenticating with GCP services for GCS
varType: string
defaultValue: ray-sa
outputs:
- name: ray_cluster_uri
- name: kubernetes_namespace
description: Kubernetes namespace
- name: gke_cluster_name
description: GKE cluster name where the chat interface, JupyterHub and Ray cluster are running
- name: gke_cluster_location
description: GKE cluster location
- name: project_id
description: GCP project
- name: ray_dashboard_ip_address
description: Ray Dashboard global IP address
- name: ray_dashboard_uri
description: Ray Dashboard Endpoint to access user interface. In case of private IP, consider port-forwarding.