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.zipEach 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:
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