Changelog

Custom operations

You can now build your own operations plugins for Remote Operator. A plugin is a Rust program that exposes named operations, like a health check against your application's admin API:

alien operations init acme-admin     # scaffold with one read-only operation
cd acme-admin
alien operations check               # validate the typed operations
alien operations permissions --cloud aws   # preview the IAM grants, offline
alien operations package
alien operations publish ./acme-admin-0.1.0.zip

Each operation has a name, a risk tier, typed parameters, a typed result, and the permissions it needs. Alien generates the AWS, Google Cloud, and Kubernetes permissions from the plugins a release declares, so the customer grants only what the enabled operations use.

Declare plugins and their approval rules on the stack:

alien.ts
export default new alien.Stack("acme")
  .operations({
    kubernetes: {
      approval: { "*": "auto", "restart-pod": "manual", scale: "manual" },
    },
    cloudwatch: { approval: { "*": "auto" } },
  })
  .build()
  • Built-in catalog: read-only operations for Kubernetes, Postgres, Redis, Kafka, ClickHouse, Elasticsearch, and AWS and Google Cloud services
  • Risk tiers: read-only, mutating, and destructive
  • Permission preview: the dashboard shows which grants a plugin change adds or removes before you release

Read the docs →