Armadilloフォーラム

シリアルナンバーをコンテナ起動時の環境変数として設定できますか

haramoto

2023年6月27日 22時46分

大変お世話になっております。

Dockerhubにある既存のアプリケーションをArmadillo-X2で動作させているのですが、Armadillo-X2の個体を管理する必要が出てきました。
それでコンテナ自動起動設定のconfファイルから、コンテナの環境変数としてArmadilloのシリアルナンバーを渡して管理したいと考えています。
SWUpdate用ファイルで、confファイルの内容を書き換えて、環境変数としてシリアルナンバーを渡すことは可能でしょうか。

どうぞよろしくお願い致します。

コメント

at_ohsawa

2023年6月28日 15時23分

可能です。

Base OS側に製品登録に使うget-board-infoというツールをインストールすることができますが、
これは、シリアル番号を取得する機能も搭載しています。

ABOS# persist_file -a add get-board-info

(apk add get-board-infoだと一時的なRAM上へのインストールなのでpersist_fileのapkをインストールしつつ永続化する機能でインストールしています)

ここで、単に-sをつけて実行するとシリアル番号を出力することが確認できます。

ABOS# get-board-info -s
00D100010011

あとは、これをコンテナの環境変数に渡すようにすればいいので、/etc/atmark/containersの下のconfに次の1行を足すと
コンテナ起動毎に環境変数SERIALNUMに値がセットされて渡ります。

add_args --env=SERIALNUM=$(get-board-info -s)

confのpersist_fileで保存をわすれずに実行し、podman_start -aで再始動したコンテナ内で確認できるはずです。

container# echo $SERIALNUM
00D100010011

haramoto

2023年6月28日 15時37分

ありがとうございます!!
環境変数にシリアルナンバーを渡すことができました。