Resource: yet_cloud_runner

GitHub Actions runners kept on a Mac — a native runtime, whose agent runs as its own yetd account — for the builds only a Mac can make. Cloud asks GitHub for their registration tokens, a new one before each expires; the Mac never holds the company's token.

Note: Cloud asks GitHub with the runner's own github_token, or, without one, with the company's GitHub connection — yet_settings_connection_github. Either must be able to manage the repository's or the organization's runners: a fine-grained token with Administration: read and write on the repository, or Self-hosted runners on the organization.

Note: Only Cloud admins define runners: a job runs on the company's machine, so they are for the company's own repositories.

Example Usage

resource "yet_cloud_runtime" "mac" {
  name      = "mac-mini"
  stack     = "local:native"
  server_id = yet_cloud_server.mac.id
}

# The organization's macOS runners, registered with the company's GitHub connection.
resource "yet_cloud_runner" "ios" {
  runtime_id = yet_cloud_runtime.mac.id
  name       = "ios"
  url        = "https://github.com/acme"
  labels     = ["macos", "xcode-16"]
  replicas   = 2

  depends_on = [yet_settings_connection_github.acme]
}

Schema

Required

  • name (String) Its name on the runtime: lowercase letters, digits and dashes, up to 32.
  • runtime_id (String) The native runtime (local:native, on a Mac) they run on.
  • url (String) What it runs for, on GitHub: an organization, https://github.com/acme, or a repository, https://github.com/acme/ios.

Optional

  • enabled (Boolean) Whether it runs. true unless set.
  • github_token (String, Sensitive) A GitHub token of its own; the company's GitHub connection is used without one. Sealed in Cloud, never shown again — taken away from the config, the one given stays.
  • labels (Set of String) Its labels, for workflows' runs-on: letters, digits, dots, dashes and underscores.
  • replicas (Number) How many copies run, each taking a job: 1 to 20, 1 unless set.

Read-Only

  • has_token (Boolean) Whether it has a GitHub token of its own.
  • id (String) The ID of this resource.
  • problem (String) What GitHub said, when it would not register it.

Import

In Terraform v1.5.0 and later, with an import block:

import {
  to = yet_cloud_runner.ios
  id = "01J9Z8K3V7Q2M4N6P8R0S2T4V6/01J9Z8M1A2B3C4D5E6F7G8H9J0"
}

With terraform import:

# <runtime_id>/<runner_id>
terraform import yet_cloud_runner.ios 01J9Z8K3V7Q2M4N6P8R0S2T4V6/01J9Z8M1A2B3C4D5E6F7G8H9J0