Yet provider
Your company as code — its Settings and its Cloud — planned, reviewed and applied like the rest of your infrastructure. Every name says its product, as AWS’s do: yet_cloud_server, yet_settings_person.
Quickstart
Declare the provider, and give it a key through the environment:
main.tf
terraform {
required_providers {
yet = {
source = "yetcombr/yet"
}
}
}
provider "yet" {}
resource "yet_cloud_rack" "home" {
name = "Home Rack"
kind = "local"
}
resource "yet_cloud_server" "box" {
name = "box"
rack_id = yet_cloud_rack.home.id
}
resource "yet_cloud_runtime" "k3s" {
name = "box-k3s"
stack = "local:traefik+k3s"
server_id = yet_cloud_server.box.id
}
resource "yet_cloud_environment" "staging" {
name = "staging"
runtime_id = yet_cloud_runtime.k3s.id
}bash
export YET_API_KEY=yet_acme_…
terraform init
terraform applyActions — a backup, a release, a promotion — need Terraform 1.14 or later; the rest, any Terraform 1.x (
import blocks, 1.5).Every product of a Yet company — its Settings, its Cloud — as code. An API key, made in Yet in Preferences → API keys, names the company and acts as its person: the provider does what they may do, and nothing more.
Example Usage
terraform {
required_providers {
yet = {
source = "yetcombr/yet"
}
}
}
# The key comes from YET_API_KEY when api_key is left out. Make one in Yet:
# Preferences → API keys.
provider "yet" {}Schema
Optional
api_key(String, Sensitive) The API key,yet_<company>_<secret>. Falls back onYET_API_KEY.base_domain(String) Yet's domain:yet.com.brunless set, orYET_BASE_DOMAIN.cloud_url(String) Cloud's API,https://cloud.<base_domain>unless set, orYET_CLOUD_URL.workspace_url(String) The company's address,https://<company>.<base_domain>unless set, orYET_WORKSPACE_URL.
Settings
Resources
Data Sources
IAM
Data Sources
Cloud
Resources