mkr-gcloud-auto-retirement の設計
Cloud Logging Sync
code:Cloud Logging Sync の包含 filter.sql
resource.type="gce_instance"
severity=NOTICE
protoPayload.methodName="v1.compute.instances.delete"
operation.last="true"
.resource.labels.instance_id に Compute Engine の instance ID が入ってゐる
code:2022-06 動作.mmd
sequenceDiagram
participant Cloud Pub/Sub
actor app
participant Mackerel
Cloud Pub/Sub->>app : instance 削除完了
app->>Mackerel : GET /api/v0/hosts
Mackerel-->>app : hosts
app->>app : host 檢索
app->>Mackerel : POST /api/v0/hosts/<hostId>/retire
KnativeKnative.icon base ではあるらしいがどこまで同じなのか? self-hosted server
code:2021-12 動作.mmd
sequenceDiagram
participant K8s
actor app
participant Compute Engine
participant Mackerel
K8s->>app : CronJob
app->>Compute Engine : GET instances
Compute Engine-->>app : instances
app->>Mackerel : GET /api/v0/hosts?service=<service>&role=<role>
Mackerel-->>app : hosts
app->>app : host 有無比較
app->>Mackerel : POST /api/v0/hosts/<hostId>/retire
app->>Mackerel : POST /api/v0/hosts/<hostId>/retire