HashiCorpは、Waypointのバージョン0.7をリリースした。オープンソースのアプリケーションデプロイツールである。このリリースでは、ユーザーインターフェイスの多くの再設計、スクリプトの導入、トリガーを介した継続的インテグレーションのライフサイクル操作、外部データのフェッチ、特定のワークスペースへの設定のスコープ設定が示された。
Waypointの目標は、実行中のアプリケーションのデプロイ、運用、可観測性をハンドリングする基盤インフラストラクチャの一貫性のある抽象化を提供することである。Waypointはファーストパーティとして、Docker、Kubernetes、AWS ECS、AWS Lambdaをサポートする。
トリガーを使うと、トリガーされたときに特定のプロジェクトに対して特定のWaypoint操作を実行できる。例えば、最新のビルドのデプロイ、プロジェクト内のすべてのアプリケーションでのステータスレポートの実行、プロジェクト内のすべてのアプリでのウェイポイントアップの実行などの操作ができる。このリリースでは、トリガーはgRPCライブラリを介してのみサポートされる。将来のリリースではHTTPを介した実行がサポートされる予定である。
トリガーURLは、gRPCリクエストを使って環境内で呼び出すことができる。たとえば、次の例では、最新のアーティファクトを本番ワークスペースにデプロイするためのトリガーURLを作成する。
$ waypoint trigger create \
-project=hcp-packer \
-app=backend-svc \
-workspace=production \
-name=deploy-latest \
-op=deploy
Trigger "deploy-latest" (123ABC456DEF) has been created
Trigger ID: 123ABC456DEF
トリガーを設定するときには、正しいプロジェクト、アプリケーション、ワークスペースを指定する必要がある。これらは作成時ではなく、実行時に検証されることに注意してください。必要に応じて、waypoint trigger update
を介して既存のトリガーを変更できる。トリガーが作成されると、トリガーIDが返され、次にそれを使ってgRPCを介したトリガーが実行される。
$ grpcurl -d '{"ref": {"id": "123ABC456DEF"}}' -H "Authorization: `waypoint user token`" waypoint.server.address hashicorp.waypoint.Waypoint/RunTrigger
このリリースでは、環境選択のドロップダウン、アイコンの更新、そして、ビルド、デプロイ、リリースアクションの新しいタイムラインビューなど、多くのUIが改善された。さらに、UIはOpenID Connect(OIDC)ログインフローをサポートするようになった。
これらの改善には、UI内でwaypoint exec
を実行する機能が含まれている。これにより、デプロイ中にコマンドを実行できる。このユースケースには、トラブルシューティング、データベース移行の実行、アプリケーション構成の検証がある。
このリリースでは、Vault、Terraform Cloud、Kubernetes ConfigMaps、AWS Secrets Managerなどの外部ソースからデータをフェッチできるようになった。このデータは、ハードコーディングする代わりに、waypoint.hclファイルに直接組み込むことができる。たとえば、AWS ACM証明書のARNは、Terraform Cloudの出力値から直接取得できる。
variable "acm-cert-arn" { type = string default = dynamic("terraform-cloud", { organization = "dadgarcorp" workspace = "ws-6fIaMNotRealXSQUv" output = "aws_cert_arn" }) } release { use "kubernetes" { load_balancer = true annotations = { "service.beta.kubernetes.io/aws-load-balancer-ssl-cert" = var.acm-cert-arn } } }
このリリースでは、ワークスペースも改善されている。アクティブなワークスペースをベースにプラグイン構成を変更できるようになった。これにより、デプロイメント環境に基づいてプラグインタイプを調整できる。開発にDockerを使用し、本番環境にKubernetesを使用するなどである。
チームは、将来のリリースには、複数のデプロイ環境を扱うためのワークフローの改善が追加されるべきと述べている。Waypointは、Mozilla Public License 2.0の下でオープンソースでである。このリリースでの変更の詳細については、HashiCorpブログをご覧ください。