genvid.toolbox.SDK

class genvid.toolbox.SDK(cluster_id='local', **kwargs)

ベースクラス: genvid.toolbox.aws.AWSTool, genvid.toolbox.config.ConfigTool, genvid.toolbox.consul_template.ConsulTemplateTool, genvid.toolbox.vault.VaultTool, genvid.toolbox.consul.ConsulTool

SDK を設定するための一般的なコマンドです。

この class は、現在のクラスタに新しい Genvid SDK を構成するために、 ClusterAPIBastionAPI をラップする。

NAME = 'sdk'
SDK_CONFIG_VERSION = '1.7.0'
cluster_id = None

クラスタ ID。

bastionAPI = None

Bastion-API インスタンスへのインターフェイス。

clusterAPI = None

Cluster-API クラスタインスタンスへのインターフェイス。

cluster_vault_secret = None

クラスタ vault key が保存される bastion の Vault。

get_remote_cluster_conn()

クラスタ IP とプライベートキーを返す。

get_remote_cluster_secrets()

クラスタ vault 初期化シークレットを戻す。

setup(bucket: str = None, path: str = '/', *, region=None)

ベース SDK サービスを開始する。

パラメータ:
  • bucket – バケット名。デフォルトは get_s3_bucket_id() の戻り値。
  • path – イメージ用バケットのプレフィックスキー。
clean()

SDK の基本サービスを停止し、ジョブを削除して設定を消去する。

get_sdk_config() → dict

デフォルトの SDK 設定を取得する。

get_config() → dict

現在のクラスタ構成を取得する。

set_config(config: dict = None)

指定の設定を、現在のものとマージする。:param config: マージする設定。

clean_config()

設定を消去する。

remove_config(config: dict)

設定から値を削除する。:param config: 値を削除する設定。

static update_dict_no_create(source, dest)
classmethod merge_dict(source, destination)

2 つの辞書をマージする。

パラメータ:
  • source – ソースの辞書。
  • destination – デスティネーションの辞書。
is_jobs_running()

ジョブが設定されており、実行中の場合、True を返す。

start_jobs(jobs: typing.Union[typing.List[str], NoneType] = None)

すべてのジョブ、または指定したジョブを開始する。:param jobs: 開始するジョブのリスト。

stop_jobs(jobs: typing.Union[typing.List[str], NoneType] = None)

すべてのジョブ、または指定したジョブを停止する。

パラメータ:jobs – 停止するジョブのリスト。
load_config_template(template: typing.Union[pathlib.Path, str], env: dict = None) → dict

設定テンプレートファイルをロードする。

consul-template で設定テンプレートファイルを取得してロードする。

環境変数 GENVID_CONFIG_FILENAME および GENVID_CONFIG_DIRNAME は、それぞれ、テンプレート、ディレクトリのベース名に対して実行される前に設定されます。

バージョン 1.20.0 で追加.

update_config(config: dict = None)

指定の設定を更新する。

パラメータ:config – 更新する設定。
戻り値:更新された設定。
default_images_sdk_path

SDK イメージのデフォルト S3 キーのプレフィックスを取得。

バージョン 1.20.0 で追加.

upload_images_sdk(bucket=None, path=None, update_config: bool = False, *, region=None)

SDK のイメージをアップロードする。

パラメータ:
  • bucket (str) – バケット ID (デフォルト: get_s3_bucket_id())。
  • path – バケットで使用するキープレフィックス。
  • update_config (bool) – クラスタのイメージ設定を更新する。
  • region (str) – S3 バケットを含む領域。

警告

update_config はローカルでないクラスタで設定可能。

バージョン 1.14.0 で変更: デフォルトパスを 『/』 から 『/images/sdk-{version}/』 に変更。

バージョン 1.20.0 で変更: AWSTool の規定に従う新しい region パラメータ。

get_s3_bucket_id()

イメージ用 S3 バケット ID を取得する。

注釈

このメソッドは、AWS へのグローバル STS リクエストを行います。バケット自体の領域との混同を避けるため、領域設定はできません。

update_images_config(bucket: typing.Union[str, NoneType] = None, path: str = '/images/custom', *, delete: bool = False, region: typing.Union[str, NoneType] = None)

クラスタのイメージ構成を更新する。

パラメータ:
  • bucket – バケット ID (デフォルト: get_s3_bucket_id())。
  • path – バケットで使用するキープレフィックス。
  • delete – 構成を更新せず、削除する。
  • region – S3 バケットを含む領域。

警告

このメソッドは、ローカルでないクラスタでのみ呼び出し可能。

バージョン 1.20.0 で追加.

upload_images(prefixes: typing.List[str], bucket: typing.Union[str, NoneType] = None, path: str = '/images/custom', update_config: bool = False, basedir: typing.Union[pathlib.Path, str, NoneType] = None, *, region: typing.Union[str, NoneType] = None)

指定のプレフィックスをつけてイメージをアップロードする。

注釈

イメージ名は DockerTool.RE_IMAGE_IMAGEID と一致する必要があります。

パラメータ:
  • prefixes – このプレフィックスのファイルのみアップロードする。
  • bucket (str) – バケット ID (デフォルト: get_s3_bucket_id())。
  • path – バケットで使用するキープレフィックス。
  • update_config (bool) – クラスタのイメージ設定を更新する。
  • basedir – ソースディレクトリ (デフォルト: ARTIFACTS_DIR)。
  • region (str) – S3 バケットを含む領域。

警告

update_config はローカルでないクラスタで設定可能。

バージョン 1.14.0 で変更: デフォルトパスを 『/』 から 『/images/custom』 に変更する。

    バージョン 1.20.0 で変更:
  • basedir パラメータを追加。

  • エラー処理の強化。

  • AWSTool の規定に従う新しい region パラメータ。

  • メソッドの update_config 部分を独自のメソッドに分割。

get_images_config(bucket: typing.Union[str, NoneType] = None, path: str = '/images/custom', *, region: typing.Union[str, NoneType] = None) → dict

S3 バケットからイメージ設定を取得します。

パラメータ:
  • bucket – バケット ID (デフォルト: get_s3_bucket_id())。
  • path – バケットのキープレフィックス (デフォルト: 『/images/custom』)。
  • region (str) – S3 バケットを含む領域。

重要

イメージ名は、選択される DockerTool.RE_IMAGE_IMAGEID と一致する必要があります。

戻り値:dict でイメージ設定。

バージョン 1.14.0 で変更: デフォルトパスを 『/』 から 『/images/custom』 に変更。

バージョン 1.20.0 で変更: AWSTool の規定に従う新しい region パラメータ。

clean_images(bucket: typing.Union[str, NoneType] = None, path: str = '/images/custom', update_config: bool = False, *, region: typing.Union[str, NoneType] = None)

S3 バケットからすべてのイメージを削除します。

パラメータ:
  • bucket – バケット ID (デフォルト: get_s3_bucket_id())。
  • path – バケットで使用するキープレフィックス。
  • update_config (bool) – クラスタのイメージ設定を更新する。
  • region (str) – S3 バケットを含む領域。

警告

update_config はローカルでないクラスタで設定可能。

バージョン 1.14.0 で変更: デフォルトパスを 『/』 から 『/images/custom』 に変更する。

    バージョン 1.20.0 で変更:
  • AWSTool の規定に従う新しい region パラメータ。

  • update_config に代わり、 update_images_config() となります。

update_archive(archive: typing.Union[pathlib.Path, str], version: str = 'dev', destdir: typing.Union[pathlib.Path, str, NoneType] = None, clean: bool = True, keep: bool = False)

想定されるイメージフォーマットに対応するように、バイナリアーカイブを更新します。

パラメータ:
  • archive – アーカイブファイルのパス。ファイル名は必ず name.archfmt の形式である必要があります。
  • version – アーカイブのバージョン。
  • destdir – 対象ディレクトリ。デフォルトはオリジナルアーカイブと同じです。
  • clean – アーカイブの旧バージョンを消去 (同じ名前のもの) する。
  • keep – オリジナルアーカイブを保持します。ほとんどの場合、別の destdir で使用する必要があります。

バージョン 1.20.0 で追加.