Textus Samples: Launcherとインストール

Created: 2026-06-15

textus-tutorial は、Textus component の作り方と動かし方を、小さなサンプルを順に動かしながら理解するための教材です。サンプル内部では CNCF engine が Component / Service / Operation の実行モデルを担います。

本記事では、 textus-tutorial を実行するために必要な各種 launcher の機能とインストール方法について説明します。

学ぶこと

  • Textus / Cozy Textus / CNCF engine の関係

  • cozy / cncf / textus launcher の役割分担

  • Coursier channel を使ったインストールと更新

  • runtime catalog と runtime current の確認

  • textus-tutorial の入手と全体 smoke の実行

目的と着目点

この記事は sample そのものの前に、製品名と内部エンジン名、そして 3 つの launcher の役割を揃えるための入口です。launcher が古いと、どの sample を動かしても失敗の原因が sample なのか環境なのか分からなくなります。

ここでのゴールは、各 launcher が何を起動し、 runtime current が何を確認しているのかを読める状態にすることです。

概念の焦点

  • Textus または Cozy Textus は製品名です。CNCF はその内部で component を実行する engine 名です。

  • Coursier channel は launcher の入口、runtime catalog は各 launcher が選ぶ runtime 版の情報です。

  • 公開 archive 名は textus-tutorial 、サンプルの build artifact 名は textus-samples-* です。

Launcherの役割

SimpleModeling では、用途ごとに launcher を分けています。

  • cozy : component 開発者が SmartDox / CML (Cozy Modeling Language) 生成 / build / publish 操作に使う launcher。

  • cncf : component 開発者が CNCF engine 上で component を起動・検査・debug するための launcher。

  • textus : component の利用者や運用者が、配備済み Textus component / application を利用・配備するための launcher。

textus-tutorial は開発教材なので、本文では主に cncf dev …​ を使います。CML から生成する場面では cozy を使い、利用者・運用者が配備済み component を扱う文脈では textus を使います。

インストール

Coursier を使って各 launcher をインストールします。

$ cs install --force cozy \
  --channel https://www.simplemodeling.org/repository/cozy/coursier-channel.json
$ cs install --force cncf \
  --channel https://www.simplemodeling.org/repository/textus/coursier-channel.json
$ cs install --force textus \
  --channel https://www.simplemodeling.org/repository/textus/coursier-channel.json

インストール後、launcher と runtime の選択状態を確認します。

$ cozy launcher version
$ cozy runtime current
$ cncf launcher version
$ cncf runtime current
$ textus launcher version
$ textus runtime current

runtime catalog はローカルにキャッシュされます。公開された推奨 runtime と手元の catalog がずれている場合、launcher は refresh/update の案内を出します。

コマンドの読み方

cs install --force …​ --channel …​ は launcher executable を更新します。runtime を直接入れ替えるのではなく、launcher が参照する catalog と repository から runtime を選びます。

launcher version は launcher 本体、 runtime current はその launcher が推奨 runtime として見ている版です。両方を見ることで、入口と実行本体のずれを確認できます。

出力の読み方

cozy runtime current などが期待版より古い場合、sample 実行前に catalog refresh または再インストールを検討します。

download package smoke の成功は、local checkout 固有の設定ではなく公開物だけで sample が動くことを示します。

Textus Samplesの入手

本シリーズでは、SimpleModeling.org からダウンロードした textus-tutorial を使う前提で説明します。

$ mkdir textus-tutorial-0.1.1
$ cd textus-tutorial-0.1.1
$ curl -L -o textus-tutorial-0.1.1.zip \
  https://www.simplemodeling.org/repository/download/textus/tutorial/textus-tutorial/0.1.1/textus-tutorial-0.1.1.zip
$ unzip textus-tutorial-0.1.1.zip

archive を空ディレクトリに展開すると、 samples/ , scripts/ , versions/ などがその場に置かれます。開発版 checkout の絶対パスは、読者向け手順では使いません。

全体確認

全サンプルの基本動作は、次のコマンドで確認できます。

$ bash scripts/run-all-samples.sh

成功すると各サンプルが PASS になり、最後に log directory が表示されます。

PASS 01-minimal
...
PASS 13.a-observability-stack-lab
LOGDIR target/all-sample-validation-...

CNCFエンジン上の意味

Launcher は、利用者が runtime classpath や artifact 選択を直接扱わずに、Component / Subsystem / Operation を実行するための入口です。

この分離により、サンプル記事では「何を実行しているか」に集中できます。

よくあるつまずき

  • channel を省略すると、既に入っている launcher が使われても新しい公開 channel を見ていないことがあります。

  • runtime catalog cache は自動更新しない方針なので、ずれが出た時は警告と refresh 手順を読む必要があります。

次へ

次の記事 📄 Textus Samples 01.d:Component Scriptでは、最小の 01-minimal サンプルを使って Component / Service / Operation の基本形を確認します。

参照

用語集

Cloud Native Component Framework (CNCF)

Cloud Native Component Framework(CNCF)は、クラウド・アプリケーションを構成するコンポーネントを、単一かつ一貫した実行モデルで実行するためのフレームワークです。 Component / Service / Operation という構造を中核とし、command、server(REST / OpenAPI)、client、script といった異なる実行形態から、同一の Operation を再利用できることを特徴とします。 ログ、エラー処理、設定、配備といったクラウド・アプリケーションに必要な品質属性をフレームワーク側に集約することで、コンポーネントはドメイン・ロジックの実装に集中できます。 CNCF は、文芸モデル駆動開発および AI 支援開発を前提に、「何を実行するか」と「どのように呼び出すか」を分離するための実行基盤として設計されています。

コンポーネント (Component)

責務・契約・依存関係を明示的に定義し、再利用可能で交換可能な単位としてカプセル化されたソフトウェア構成要素。論理モデルでは抽象構造単位として、物理モデルでは実装・デプロイメント単位として扱われる。

CML (Cozy Modeling Language)

CMLは、Cozyモデルを記述するための文芸モデル記述言語です。 SimpleModelingにおける分析モデルの中核を担うDSL(ドメイン固有言語)として設計されています。 モデル要素とその関係性を自然言語に近い文体で記述できるよう工夫されており、AIによる支援や自動生成との高い親和性を備えています。 CMLで記述された文芸モデルは、設計モデル、プログラムコード、技術文書などに変換可能な中間表現として機能します。