# An unique identifier for the head node and workers of this cluster.
cluster_name: minimal # name with 'a-z' and '-'

# The maximum number of workers nodes to launch in addition to the head
# node. This takes precedence over min_workers. min_workers default to 0.
max_workers: 5

# Kubernetes resources that need to be configured for the autoscaler to be
# able to manage the Ray cluster. If any of the provided resources don't
# exist, the autoscaler will attempt to create them. If this fails, you may
# not have the required permissions and will have to request them to be
# created by your cluster administrator.
provider:
    type: staroid

    # Access token for Staroid from https://staroid.com/settings/accesstokens.
    # Alternatively, you can set STAROID_ACCESS_TOKEN environment variable.
    # https://github.com/staroids/staroid-python#configuration
    # for more information.
    access_token:

    # Staroid account to use. e.g. GITHUB/staroids
    # Alternatively, you can set STAROID_ACCOUNT environment variable.
    # Leave empty to select default account for given access token.
    # https://github.com/staroids/staroid-python#configuration
    # for more information.
    account:

    # Name of a Staroid Kubernetes Engine (SKE) instance.
    # Alternatively, you can set STAROID_SKE environment variable.
    # An SKE is a virtualized Kubernetes cluster.
    # Will create a new if not exists.
    ske: "Ray cluster"

    # Cloud and Region to create an SKE when not exists.
    # If SKE already exists, this value will be ignored.
    # Supported cloud region can be found
    # https://docs.staroid.com/ske/cloudregion.html.
    ske_region: "aws us-west2"

    # To create a namespace in SKE, you need to specify a Github project.
    # The Github project needs to have a staroid.yaml
    # (https://docs.staroid.com/references/staroid_yaml.html).
    # staroid.yaml defines various resources for the project, such as
    #   - Building container images can be accessed from the namespace
    #   - Kubernetes resources to create (like Persistent volume claim)
    #     on namespace creation
    # You can fork when you need to customize.
    #   1. Fork github.com/open-datastudio/ray-cluster
    #   2. Change contents
    #   3. Connect forked repository (https://staroid.com/projects/settings)
    #   4. Release your customized branch
    #      4-1. Select project from 'My projects' menu
    #      4-2. Select your branch in 'Release' tab
    #      4-3. After build success, switch to 'Production'
    #      4-4. Switch Launch permission to 'Public' if required
    #   5. Change 'project' field to point your 
    #      repository and branch in this file
    project: "GITHUB/open-datastudio/ray-cluster:master"

    # 'spec.containers.image' field for ray-node and ray-worker will be
    # overrided by the image built from the 'project' field above.
    # Set this value to 'false' to not override the image.
    image_from_project: true

    # Python version to use. One of '3.6.9', '3.7.7', '3.8.3'.
    # 'project' field above provides docker image for each python version.
    # Fork 'project' if you'd like to support other python versions.
    python_version: 3.7.7

    # Exposing external IP addresses for ray pods isn't currently supported.
    use_internal_ips: true
