変数グループ
Semaphore の変数グループセクションは、インベントリ用の追加変数を保存する場所であり、変数は JSON 形式で保存する必要があります。
すべてのタスクテンプレートには、たとえ空であっても変数グループを定義する必要があります。
変数グループの作成
- 変数グループタブをクリックします。
- 「新しい変数グループ」ボタンをクリックします。
- 変数グループに名前を付け、有効な JSON の変数を入力または貼り付けます。空の変数グループが必要な場合は
{}と入力します。
変数グループの更新
- 変数グループタブをクリックします。
- 鉛筆アイコンをクリックします。
- 変更を加えて「保存」をクリックします。
変数グループの削除
変数グループを削除する前に、それに関連付けられているすべてのリソースを削除する必要があります。 変数グループでどのリソースが使用されているかわからない場合は、以下の手順 1 と 2 に従ってください。使用されているリソースが、それらへのリンクとともに表示されます。
- 変数グループをクリックします。
- 変数グループの横にあるゴミ箱アイコンをクリックします。
- 本当に変数グループを削除してよければ、「はい」をクリックします。
変数グループの使用 - Terraform/OpenTofu
保存した変数グループの変数やシークレットを Terraform テンプレートで利用したい場合は、Terraform スクリプトがそれを使用できるように、名前の先頭に TF_VAR_ を付ける必要があります。
例 Hetzner Cloud の API キーを OpenTofu/Terraform の playbook に渡します。
- 変数グループをクリックします
New GroupをクリックしますSecretsタブをクリックしますTF_VAR_hcloud_tokenを追加し、非表示フィールドにsecretを入力します- 「保存」をクリックします
シークレット TF_VAR_hcloud_token は、hetzner.tf 内では
var.hcloud_token として参照します
terraform {
required_providers {
hcloud = {
source = "hetznercloud/hcloud"
version = "~> 1.45"
}
}
}
# Declare the variable
variable "hcloud_token" {
type = string
description = "Hetzner Cloud API token"
sensitive = true # This prevents the token from being displayed in logs
}
provider "hcloud" {
token = var.hcloud_token
}
# Create a new server running debian
resource "hcloud_server" "webserver" {
name = "webserver"
image = "ubuntu-24.04"
server_type = "cpx11"
location = "ash"
ssh_keys = [ "mysshkey" ]
public_net {
ipv4_enabled = true
ipv6_enabled = true
}
}