メインコンテンツへスキップ

Documentation Index

Fetch the complete documentation index at: https://docs.jitera.ai/llms.txt

Use this file to discover all available pages before exploring further.

Jitera CLIを使用すると、開発者はローカルマシンからJitera Self-Hosted環境を操作できます。CLIアクセスを有効にするには、管理者がRSA鍵ペアを生成し、秘密鍵をHelmチャートに設定し、公開鍵をCLIユーザーに配布します。

概要

CLIのセットアップは2つの側で構成されます:
担当役割
管理者RSA鍵ペアを生成し、values.yaml秘密鍵を設定、公開鍵をCLIユーザーに配布
CLIユーザーCLIをインストールし、バックエンド/フロントエンドのエンドポイントを設定、操作端末ごとに公開鍵を設定
CLI側のエンドポイントおよび公開鍵の設定は、各操作端末ごとに初回操作時のみ必要です。

1. RSA鍵ペアの生成

2048ビットのRSA鍵ペアを生成します。秘密鍵はHelmチャートに設定し、公開鍵はCLIユーザーに配布します。
標準のopensslツールを使用します:
# 2048ビットの秘密鍵を生成
openssl genrsa -out private_key.pem 2048

# 秘密鍵から公開鍵を抽出
openssl rsa -in private_key.pem -pubout -out public_key.pem
以下の2つのファイルが生成されます:
  • private_key.pem — 秘密鍵(values.yamlに設定)
  • public_key.pem — 公開鍵(CLIユーザーに配布)
秘密鍵は安全に保管してください。秘密鍵にアクセスできる者はJitera Self-Hosted環境に対して認証できてしまいます。

2. values.yamlに秘密鍵を設定

Helmのvalues.yamlultron.secret.CLI_ZIPPER_PRIVATE_KEYに秘密鍵を設定します。鍵は改行がそのまま保持されるよう、YAMLのリテラルブロックスカラーとして記載する必要があります:
ultron:
  secret:
    CLI_ZIPPER_PRIVATE_KEY: |
      -----BEGIN RSA PRIVATE KEY-----

      MIIEowIBAAKCAQEAx9ZbDv7b...

      YPr9xvQ29fftgN92Mohy1fToJ...

      1tfqVh1aJ/nM4PUZ3+QUZxVe9...

      ...

      -----END RSA PRIVATE KEY-----
以下の書式を厳守してください:
  • キー名の後にYAMLリテラルブロックスカラー記号|を使用する
  • 鍵の内容の各行はCLI_ZIPPER_PRIVATE_KEYから2スペースインデントする(上記例では左端から4スペース)
  • -----BEGIN RSA PRIVATE KEY-----および-----END RSA PRIVATE KEY-----マーカーを含める
  • 鍵本体の各行の間に空行を1行挿入する(BEGINマーカーと最初の行の間、および最後の行とENDマーカーの間にも空行を入れる)
  • opensslが生成した元の改行(通常は1行64文字)をそのまま保持し、行を再結合・再折り返ししない
インデントの誤り、マーカーの欠落、行間の空行の欠落、または行の再折り返しは、UltronのRSAキーパーサーの失敗を招き、CLIの認証が拒否されます。
空行が必要な理由: HelmチャートはCLI_ZIPPER_PRIVATE_KEYの値をKubernetes Secretにレンダリングする際、YAMLブロックスカラー指示子(|または>)を付けずに出力します。その結果、値は暗黙的な複数行プレーンスカラーとしてパースされます — YAMLの仕様では、非空行間の単一改行は単一のスペースに畳み込まれるため、そのままではPEMが1行に崩壊し、鍵として機能しなくなります。レンダリング後のSecretに実際の改行として保持されるのは、内容行間の空行だけです。values.yaml側で|を付けるだけでは不十分で、ブロック内に空行を明示的に挿入する必要があります。
Helmリリースをアップグレードして変更を反映します。詳細はDeployment Upgradeを参照してください。

3. CLIのインストール

CLIユーザーはローカルマシンにJitera CLIをインストールします。

4. エンドポイントの設定

各CLI端末で、Self-Hosted環境のバックエンドAPIおよびフロントエンドのURLを設定します。両方のエンドポイントは同じIngressドメイン(values.yamlingress.domainName)で提供されます:
# バックエンドAPIエンドポイント — Kongが/automation/privateをAutomation(Rails)サービスにルーティングします
jitera set PRIVATE_API_ENDPOINT=https://app.yourdomain.com/automation/private

# フロントエンドURL — Jitera Studioのルート
jitera set STUDIO_URL=https://app.yourdomain.com
app.yourdomain.comはHelm valuesで設定した実際のingress.domainNameに置き換えてください。PRIVATE_API_ENDPOINT/automation/privateパスサフィックスは必須です — CLIはこのベースURLに/graphqlなどのパスを付加し、Kongが/automation/privateプレフィックスをAutomation Railsサービスにルーティングします。

5. 公開鍵の設定

各CLI端末で、手順1で生成した公開鍵を設定します。公開鍵はvalues.yamlに設定された秘密鍵と対応している必要があります。
jitera set ENCRYPTED_PUBLIC_KEY="-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...
-----END PUBLIC KEY-----"
これでCLIからJitera Self-Hosted環境を操作できるようになります。

関連ドキュメント

Deployment Upgrade

Helmアップグレードによるvalues.yamlの変更の反映