PSDify: Dify のワークスペースの管理をコマンドで! アプリ・ナレッジ・モデル・メンバ管理用 PowerShell モジュール

はじめに

Dify がすこぶる便利でおもしろいので、もりもりと使ったりちまちまとコントリビューションをしたりしています。

今回、Dify の 運用管理系 の操作、たとえば、

  • アプリのインポートやエクスポート
  • ナレッジの作成とファイルの追加
  • ワークスペースのメンバの改廃
  • モデルの追加やシステムモデルの設定

などを、PowerShell のコマンドレットで行える ようにするモジュール PSDify をリリースしたので、かんたんに使い方などを紹介します。

これは Dify Advent Calendar の 1 日目 です。

続きを読む

Virtual Infrastructure JSON API(VI/JSON API)の触り方

はじめに

前回のエントリ で、vSphere に古くから実装されている API である vSphere Web Services API(SOAP API)の触り方を紹介しました。その中で、Virtual Infrastructure JSON API にひとことだけ触れています。

SOAP API を(広義の)REST API のように触れる Virtual Infrastructure JSON API も vCenter Server 8.0 U1 以降が必要で、まだまだ一般的ではありません。

vSphere Web Services API(SOAP API)の触り方 | kurokobo.com

Virtual Infrastructure JSON API(VI/JSON API)は、vCenter Server 8.0 U1 で追加された新しい API で、ひとことで雑に表現するなら、従来の SOAP API の REST API 版 です。

本エントリでは、まだ日本語ではほとんど情報がないこの新しい API について、実例とともに簡単に紹介します。

なお、vSphere の REST API といえば vSphere Automation API が一般的ですが、VI/JSON API はこれとはまったく別物 です。

続きを読む

vSphere Web Services API(SOAP API)の触り方

はじめに

vSphere 環境をコマンドライン環境や何らかのスクリプトから操作するとき、典型的には PowerCLI や govmomi、pyVmomi、VMware vSphere Automation SDK などのツールがよく利用されますが、こうしたツールを使わずに API を直接触れる と、vSphere に実装された新機能をリリースと同時に使い始められ てたいへん便利です。実際、vSphere vMotion Notifications がリリースされたときも、ツールが更新されるまでは、API を直接触る 以外にそれを試す手段がありませんでした。

vSphere の API には、古くからある SOAP API(vSphere Web Services API)と新しい REST API(vSphere Automation API)の大きく二つがあります。操作が簡単なのは間違いなく REST API ですが、SOAP API でしか行えない操作もたくさんあり、また、SOAP API を(広義の)REST API のように触れる Virtual Infrastructure JSON API も vCenter Server 8.0 U1 以降が必要で、まだまだ一般的ではありません。

したがって現状では、昔ながらの SOAP API こそ が、極論、大抵のことはどうにかできる API であると言えます。そこでこのエントリでは、SOAP APIvSphere Web Services APIを直接触る方法 を実例と共に紹介します。

なお、コマンド例は curl と PowerShell で紹介 していますが、結局は HTTP で XML をやりとりするだけなので、お作法さえわかれば他の HTTP クライアントでももちろん利用できます。また、SOAP API は Managed Object BrowserMOB)でも操作できますが、Web ブラウザでの操作であり自動化には向かないため、今回は取り上げません。

続きを読む

AWX の Automation Mesh で Hop Node と Mesh Ingress を使う

はじめに

AWX の Automation Mesh を構成する機能として、過去に紹介した Execution Node に加えて、Hop NodeMesh Ingress が最近のリリースで追加されました。

関連する情報は AWX のドキュメントAWX Operator のドキュメント にもまとまっていますが、本エントリでは Mesh Ingress を中心にこれらの新機能を簡単に紹介します。

続きを読む

AWX のジョブのログを YAML 形式で表示させる

はじめに

Ansible でよくある困りごとのひとつとして、タスクのログに複数行の文字列が含まれるとき、以下のように人間の眼にはやさしくない表示になることが挙げられます。改行がエスケープシーケンスとして表示されるためです。

...
TASK [Referring undefined variable] ********************************************
fatal: [localhost]: FAILED! => {"msg": "The task includes an option with an unde
fined variable. The error was: 'undefined_variable' is undefined. 'undefined_var
iable' is undefined\n\nThe error appears to be in '/runner/project/demo.yaml': l
ine 20, column 7, but may\nbe elsewhere in the file depending on the exact synta
x problem.\n\nThe offending line appears to be:\n\n\n    - name: Referring undef
ined variable\n      ^ here\n"}
...

この対策として、改行が改行として表示されるように 出力を YAML 形式にする 方法がよく知られています。本エントリ公開時点では、次の二つの方法が一般的です。

  • Ansible の組み込みの機能を利用する(Ansible 2.13 以降のみ)
    • ansible.cfgcallback_result_format(または環境変数 ANSIBLE_CALLBACK_RESULT_FORMAT)に yaml を指定する
  • コレクション community.genral のコールバックプラグイン yaml を利用する
    • ansible.cfgstdout_callback(または環境変数 ANSIBLE_STDOUT_CALLBACK)に community.general.yaml を指定する

一方で、同じ困りごとは AWX でも発生しますが、AWX で同じ対策を試みても意外と素直にいきません

先日、これに関する質問が Ansible Community Forum に寄せられ ました。フォーラムでもぼくから回答済みですが、本エントリでは、AWX でジョブのログを YAML 形式で出力させる方法を改めて日本語で簡単に紹介します。

続きを読む

EDA Server を Operator でデプロイして Kubernetes 上での動作を確認する

はじめに

EDA Server のデプロイ方法として、公式のデプロイメントガイド では Docker Compose と Minikube が案内されています。

その一方で、ひっそりと EDA Server Operator が公開されています。これは、EDA Server をデプロイするための Operator です。

まだ開発中であり、前述のデプロイメントガイドに記載もないことから、完全にサポートされている手段とはまったく言えませんが、本エントリではこれを用いた EDA Server のデプロイと、その後の AWX との連携を、Kubernetes 上での EDA Server の動きを含めて簡単に紹介します。

なお、この Operator の名称は EDA Controller Operator が正しいような気もしており、中の方々の意見を聞く意味も兼ねて IssuePR を作っていますが、今のところ何ら確証はないので、本エントリでは現時点のドキュメントに従って EDA Server Operator と表記しています。

本エントリ中で利用しているファイルは、GitHub のリポジトリ にも配置しています。

追記(2023/08/12)

追記 (1)

公式のデプロイメントガイド が更新され、推奨されるデプロイ方式が Operator になりました。

追記 (2)

当初、一貫してツール名称を EDA Controller と表記していましたが、アップストリーム版は EDA Server であり、EDA Controller は Ansible Automation Platform に含まれる製品版の名称 とのこと なので、タイトルと本文を修正しました。

Operator の名称も EDA Server Operator で 正しい ようです。

続きを読む

Veeam Backup & Replication 12 の構成データベースを SQL Server から PostgreSQL に移行する

はじめに

先日リリースされた Veeam Backup & Replication 12 で、バックアップサーバの構成データベースとしてバンドルされている RDBMS が、従来の Microsoft SQL Server Express から PostgreSQL に変更 されました。新規インストール時は、デフォルトで PostgreSQL が一緒に導入されます。

If you do not prepare a database engine in advance, Veeam Backup & Replication will automatically install PostgreSQL 15.1 locally on the backup server.

Before You Begin – User Guide for VMware vSphere

SQL Server はそもそもバンドルされなくなったため、事前に自分で用意しない限り選択できません。

[For PostgreSQL] You can use an already installed PostgreSQL instance or install a new one.

[For Microsoft SQL Server] You can use an already installed Microsoft SQL Server database only.

Step 8. Specify Database Engine and Instance – User Guide for VMware vSphere

一方で、11 から 12 にアップグレードする場合は、構成データベースは SQL Server のまま変更されません。SQL Server も引き続きサポートされるため、そのままでも何ら問題はありませんが、もし PostgreSQL を使いたい場合 は、アップグレード後に自分で移行 する必要があります。

ちょうど自宅ラボに眠っている 11 の環境があり、NFR ライセンス を使って興味半分でアップグレードしたので、本エントリでは、Veeam Backup & Replication 12 の構成データベースを SQL Server から PostgreSQL に移行する流れを、ごく簡単に紹介します。

続きを読む

新しい Ansible Builder 3 で Execution Environment を作る

はじめに

先日、Ansible Builder がメジャバージョンアップし、3.0.0 がリリースされました。

Ansible Builder は 本ブログでも過去に取り上げています が、設定ファイルで記述する内容に大きめの変更が入っているため、本エントリで改めて簡単に紹介します。

続きを読む

AutoMuteUs 7.3 の新機能: データベース内のデータのダウンロード

はじめに

AutoMuteUs の 7.3 がリリースされました。このバージョンでは、AutoMuteUs のデータベース内の自ギルドに関するデータを CSV 形式でダウンロードできる機能 が追加されています。

データベース内のデータとは、簡単にいえば 戦績の集計の元ネタ です。過去の全ゲームの参加者や色や勝敗や勝因 だけでなく、各ゲームの時系列 も取得できるため、何らかの分析をしたい場合にはよい情報源にできそうです。

一方で、ダウンロードできるのは本当に データベースの中身そのもの なので、正規化された表がそのまま出力されますし、内部的な ID も ID のままで、手がかりがないと読みにくい状態です。

そこで本エントリでは、簡単にコマンドの使い方を紹介するとともに、CSV の中身の見方も簡単に説明します。

続きを読む