2021/05/22

[HCL Domino V12 Beta 3] ワンタッチセットアップ

私はキャンプが好きで時々キャンプギアを検索するからと思うのですが、Web広告に最近「ワンタッチで簡単セットアップ!」を謳うテントが登場するようになりました。設営が楽になるのは大歓迎です。


グループウェアもキャンプ用品の流行を反映してか(してない)、Domino V12 では、Domino サーバーをより早く使用可能にするための仕組みが加わりそうです。


現状、我々は Flexnet から Domino のインストーラや Docker イメージをダウンロードした後、次の2つの作業を経てようやく Domino を起動することができます。

①インストール

②セットアップ

※ほかにも下準備がありそうですがここでは触れないでおきます


V12では One-touch Domino setup と呼ばれる仕組みを利用することで②セットアップを半自動化できます。


本番環境として1つのサーバーを新規に1度だけ構築するのであれば、Domino は実のところ①②ともそれほど手間のかかる作業ではありません。

私はベータ版の検証環境として Docker イメージを使って Domino を構築する機会がありました。Domino on Docker では、セットアップの時に Remote Server Setup というツールを使って特定のポート番号へ接続しなければならず、それを非常に面倒に感じていて、「セットアップもコマンドラインでできるといいなあ」と思っていました。
さらに検証に失敗した場合は同じ環境を再度構築する可能性がある、と考えるだけでうーんと唸ってしまいそうです。

通常、Domino のセットアップでは、次の情報の入力を求められます。
  • サーバー名
  • ドメイン名
  • ホスト名
  • 組織名
  • 認証者パスワード
  • 管理者氏名、パスワード、IDファイルの保管先
情報量は決して多くはありません。けれども何度も同じ情報を入力するとなると多少面倒に感じますよね。

ワンタッチセットアップは、上で示したようなセットアップに必要な情報を予めJSONファイルかシステム環境変数として準備しておくことで、セットアップ処理における入力操作を省略することができます。
※これらの情報は誰かが記述しておかないといけないので「半」自動化と表現しています


新規で「最初の」サーバーを構築することを想定したサンプルを書いてみました。

JSONファイル「c:\temp\setup.json」の場合:


{
    "serverSetup": {
        "server": {
            "type": "first",
            "name": "Gundam",
            "domainName": "FederalForce"
        },
        "network": {
            "hostName": "gundam.federalforce.gov"
        },
        "org": {
            "orgName": "FederalForce",
            "certifierPassword": "Amur0Ikima-su!"
        },         "admin": {             "lastName": "Ray",             "firstName": "Amuro",             "password": "Amur0Ikima-su!",
            "IDFilePath": "federalforce.ray_amuro.id"         }     } }

システム環境変数ファイル「env.txt」の場合:

SERVERSETUP_SERVER_TYPE=first
SERVERSETUP_SERVER_NAME=gundam
SERVERSETUP_SERVER_DOMAINNAME=FederalForce
SERVERSETUP_NETWORK_HOSTNAME=gundam.federalforce.gov
SERVERSETUP_ORG_ORGNAME=FederalForce
SERVERSETUP_ORG_CERTIFIERPASSWORD=Amur0Ikima-su!
SERVERSETUP_ADMIN_LASTNAME=Ray
SERVERSETUP_ADMIN_FIRSTNAME=Amuro
SERVERSETUP_ADMIN_PASSWORD=Amur0Ikima-su!
SERVERSETUP_ADMIN_IDFILEPATH=federalforce.ray_amuro.id

新規のサーバーだけでなく追加のサーバーにもワンタッチセットアップを利用できます。追加のサーバーの場合は指定する内容が変わります。

Windows への Domino のインストールが完了している場合、-autoconf にセットアップ情報へのパスを付けて nserver.exe を実行します。

> nserver -autoconf c:\temp\setup.json

Docker の場合、docker run コマンドを実行する時に --env-file で環境変数のファイルを指定し、--autoconf を付けるとワンタッチセットアップが実行されます。
> docker run -it 
-v notesdata:/local/notesdata 
--name gundam 
--hostname gundam.federalforce.gov 
--cap-add=SYS_PTRACE 
--stop-timeout=90 
--env-file env.txt 
-p 1352:1352 -p 443:443 -p 80:80 
domino-docker:V1200_03252021prod 
--autoconf
※実際のコマンドは改行しません

nserver と docker のどちらも、セットアップに問題がなければそのまま Domino が自動で起動します。


さて、ここまででセットアップ作業が少し楽になるかも...と感じていただけたでしょうか。

実はまだできることがあります。

セットアップが完了しても、実際に使えるようにするにはまだドミノディレクトリへ設定を追加したり、データベースを配置して文書を作成したりといった様な細々した作業があると思います。

ワンタッチセットアップでは、通常のセットアップでできる内容に加え、次のような追加の作業を自動化するための指定が可能です。
  • サーバーの追加
  • IDボールトの作成
  • notes.ini パラメータの追加
  • アプリケーションの設定
「サーバーの追加」は、ドミノディレクトリへ新たにサーバー文書の追加とIDファイルの作成を行います。

「notes.ini パラメータの追加」は、デフォルトで SERVERTASKS= に設定されるタスクへ追加したいタスクを指定したり、デバッグパラメータやログレベルを指定したり、といったことが可能です。

「アプリケーションの設定」は、ドミノディレクトリなど既存のデータベースにある文書の編集や、文書の追加に加え、テンプレートから新規にデータベースを作成してACLを細かく設定するといったことができます。またエージェントの有効化/無効化、サーバーIDでの署名、実行ができます。
※ベータ3では文書のアイテムの型としてテキストか数値をサポートしていて、複数値もOKでした。日付/時刻やリッチテキストは記載がないのでわかりません。

私は、da.ntf から da.nsf を作成することと、ドミノディレクトリから既存のサーバー文書を検索してトランザクションログに関連する設定を変更することができました。


それから、ワンタッチセットアップによるセットアップが完了するとDominoが自動で起動する、と最初に説明しましたが、ベータ3からはセットアップ後に起動しない設定が可能になり、セットアップに使用した JSON ファイルをセットアップ完了後に削除することもできるようになりました。

ワンタッチセットアップで設定可能なパラメータの詳細はこちらで確認できます。
※ベータ3の文書へのリンクですので製品版リリースの後にリンク切れするかも...


検証環境ではなく本番環境を構築するときでも、例えばスケジュールの都合で誰かに作業をお願いしなければならないときにJSONファイルを用意しておいて作業を単純化する、といったことに使えそうですね。

私は、Docker とワンタッチセットアップを使ってアプリケーションのテスト環境を構築できないかなあと妄想しています。

ドミノディレクトリへ複数のユーザーを登録すること(可能ならメールDBの作成+ポリシー適用+IDボールトへのIDファイルのアップロードも込み)や、他ドメインと相互認証してレプリカ作る、といったことはまだサポートされていませんが、検証環境として構築する場合に最初に行っているようなことがワンタッチでできるようになればいいなと思います。

0 件のコメント:

コメントを投稿