Pontia の更新

Pontia は署名済みの安定版リリースチャネルから更新されます。インストール済みのバージョンは次のコマンドで確認します。

pontia --version

ローカルのコントロールプレーンを更新する

ユーザーごとのサービスを所有するのと同じユーザーで実行します。

pontia update

実行中のサービスが、アクティブなタスク、保留中のインタラクション、保留中または未確認の入力を報告した場合、更新は停止し、影響を受ける Session を一覧表示します。それらを完了または解決してから、もう一度 pontia update を実行してください。アクティビティのチェック自体が失敗した場合も、バイナリの置き換えやサービスの再起動を行わずに更新は停止します。

更新中は新しいタスクを開始しないでください。このチェックは入力やスケジューリングを一時停止しないため、チェック後に始まったアクティビティは再起動によって中断される可能性があります。

アップデーターは次の処理を行います。

  1. 実行中のインストールディレクトリを特定する
  2. 更新ロックを取得する
  3. 安定版リリースのマニフェストを HTTPS でダウンロードする
  4. 埋め込まれた Ed25519 署名を検証する
  5. 各アーティファクトの URL、サイズ、SHA-256 ダイジェストを検証する
  6. 置き換え用の pontia と pontiad バイナリをインストールディレクトリに配置する
  7. 実行中の管理対象サービスを再起動し、ヘルスチェックを行う
  8. 置き換えまたは再起動に失敗した場合は、以前のバイナリを復元し、サービスの復旧を試みる

自己更新を行うには、pontia と pontiad を通常のファイルとして同じディレクトリに置き、インストール済みの pontia という名前の実行ファイルを直接実行してください。

Dashboard はデフォルトでバイナリのバージョンに一致するリリースアーカイブを使います。そのため、[dashboard].source を上書きしていない限り、更新が成功すると配信される Dashboard もそのバージョンに移行します。

特定のリリースをインストールする

インストーラーは v で始まるリリースを受け付けます。

curl -fsSL https://get.pontia.dev/install.sh | PONTIA_VERSION=v0.5.2 sh

特定のリリースをインストールした後やインストール場所を変更した後は、pontia up を実行してサービスの定義を更新し、そのインストールを起動します。最新の安定版リリースへの更新には pontia update を使います。

セルフホストの Edge を更新する

Edge サーバー上で実行します。

sudo pontia-edge update

Edge のアップデーターは同じ署名済みリリースチャネルを検証し、管理対象の /usr/local/bin/pontia-edge を置き換え、アクティブなサービスを再起動し、新しいプロセスが安定して動作し続けることを確認します。失敗した場合はロールバックします。

初期化時に Edge の自動更新が有効になります。確認または変更するには次を使います。

sudo pontia-edge auto-update status
sudo pontia-edge auto-update enable
sudo pontia-edge auto-update disable

タイマーは1時間ごとに、最大10分のランダムな遅延を伴ってチェックします。無効にすると今後のチェックは停止しますが、すでに実行中の更新は完了まで続行されます。

更新の前後

run_migrations が有効な場合、Pontia は通常の起動時に、同梱のローカルデータベースのマイグレーションを適用します。リリースを変更する前にデータをバックアップしてください。データベースを復元するときは、そのスキーマと互換性のあるリリースを使ってください。

更新後は次を実行します。

pontia status

Edge の場合は、systemctl status pontia-edge.service と Cloud のヘルスバッジを確認します。自動ロールバックやサービスの復旧でエラーが報告された場合は、トラブルシューティング を参照してください。