Harness(ハーネス)は、Harnessプラットフォーム全体にわたるターミナルワークフローを統合することを目的とした、公式にサポートされる単一のコマンドラインツールであるHarness CLIのパブリックベータ版を発表した。このリリースでは、モジュールごとに複数存在していたCLIが、パイプライン、継続的デリバリー、ソースコード、アーティファクト管理、インフラストラクチャー・アズ・コード管理(IaCM)、フィーチャーフラグ、ガバナンス、監査機能などを網羅する、1つのバイナリー、1つのコマンド文法、1つの認証フローに置き換えられる。
新しいCLIは、一貫したコマンドパターン(harness[identifier] [flags])に従い、6つのコア動詞(list、get、create、update、delete、execute)に加えて、アーティファクト用のpushとpullを備えている。プロジェクトチームは、このツールを、harness list moduleやharness get nounなどの組み込み検出コマンドをサポートし、入力ミスのあるコマンドに対してレーベンシュタイン距離に基づく候補を提供し、ユーザーと自動化の両方のフリクションを軽減するためにあらゆるレベルで--helpを公開する、自己記述的なインターフェイスであると説明している。
ベータ版リリースでは、10種類以上の製品と機能を単一のインストールおよびアップグレード手順にまとめている。含まれるモジュールは、コア認証とプロファイル管理から、プラットフォームレベルの組織、プロジェクト、ロール、コネクター、シークレット、CI/CDパイプライン、実行、ログ、CDサービス、環境、インフラストラクチャー、Harnessコードリポジトリーとプルリクエスト、主要なパッケージ形式のプッシュ/プルをサポートするHarnessアーティファクトレジストリ、TerraformおよびOpenTofu IaCMワークスペース、機能管理と実験、OPAポリシーによるガバナンス、全てのリソースとアクションの統合監査証跡まで多岐にわたる。
このリリースは、プラットフォームの拡張によって製品ごとに個別のCLIが作成されるようになったことと、開発者に代わってシェルコマンドを発行するコーディングエージェントの存在感が高まっていることという2つのトレンドへの対応として位置付けられた。CLIは、人間とエージェントの両方に役立つように設計されていると説明された。開発者には単一の文法とライブAPIタブ補完を提供し、エージェントには安定した出力形式と決定論的な終了コードを備えた、閉じた列挙可能なコマンドサーフェスを提供する。構造化出力は、table、json、jsonl、csv、tsv、およびmarkdown形式でサポートされており、エージェントがアクショングラフ全体を機械可読データとして消費する方法として、harness list noun --format jsonが強調された。
人間による操作を想定したユーザービリティー機能としては、認証やスコープ選択のための対話型TUIフロー、一般的なUnixツールとのパイプ出力互換性、ページングリストブラウザー、対話型リソースピッカー、ライブログビューアーを提供する--uiフラグなどが挙げられる。自動化に関しては、CLIは監査対応であると説明されており、CLI呼び出しがUI操作と同じRBACおよび監査パイプラインを通過することが保証されている。
このプロジェクトはApache-2.0ライセンスの下でオープンソース化され、github.com/harness/cliでホストされている。リリース成果物には、再現可能なビルド、SBOM、およびCosign署名が含まれるとされている。コミュニティーによる拡張性を実現する方法として、プラグインSDKと、アーティファクトレジストリー(harness-har)で既に使用されている外部モジュールのパターンが挙げられており、コマンド仕様は宣言型のYAMLで記述されているため、貢献者はGoコードをコンパイルすることなくコマンドを追加できる。
使い始める手順は簡単だと説明されていた。提供されているインストーラースクリプト、harness auth login、harness list nounを使って利用可能なリソースを探索し、ベータ版ではmacOS(IntelおよびApple Silicon)とLinux(amd64およびarm64)がサポートされ、Homebrew、yum、Windowsインストーラーオプションは今後の提供予定であるとされていた。CLIはharness install cliコマンドによる自動アップグレードが可能で、外部モジュールのインストールにも対応していると説明されている。
出典:Harness
この製品の詳細については、Harness製品ページをご覧ください。