arizuko

arizukoproducts › AWS DevOps agent

AWS DevOps agent — Argus

An SRE that lives in your team’s chat, reads your runbooks, and runs read-before-write against AWS. Each engineer acts with their own keys — so CloudTrail names the human, not a shared robot.

what you get

whose keys am I running as

This is the whole idea, so it’s worth walking through. When a message triggers a turn, arizuko resolves the sender’s own user-scoped secrets and overlays them on the team’s folder secrets — the person’s own keys win. Those keys become the container’s env for that one turn, and the container is thrown away when the turn ends.

alice  @argus the stuck instance i-0abc won't drain, terminate it

argus  Running as you (arn:aws:iam::…:user/alice). Here's the state first:
         i-0abc  running  us-east-1a  asg web-prod  (2 healthy siblings)
       This will terminate one prod instance; the ASG replaces it.
       Confirm and I'll run:
         aws ec2 terminate-instances --instance-ids i-0abc

alice  go

argus  Terminated i-0abc. ASG is launching a replacement.
       Logged to diary. CloudTrail shows the call under user/alice.

Bob triggering the next turn gets a fresh container with Bob’s keys. There is no long-lived process holding anyone’s credentials, and in a shared incident channel each turn still runs as whoever sent it — the container doesn’t outlive the turn, so one person’s keys never bleed into another’s call.

two layers gate the dangerous stuff

who it’s for

why this beats the usual AI-SRE tool

The market is full of AI SREs. Almost all of them share one shape that this product doesn’t: they run as a single service account and live on the vendor’s cloud. That difference is the pitch.

Honest note: per-human cloud attribution across the other tools is mostly architecturally precluded by the shared-credential design, not proven absent — their docs simply don’t offer a per-engineer path. AWS Q is the exception, within AWS. The claim here is “any keys, self-hosted, in your chat,” not “nobody else attributes to humans.”

the AWS surface, concretely

There is no special AWS connector. The agent already has the toolchain (uv, bun, gh) and reaches AWS the way an engineer would — the CLI or the SDK, reading AWS_* from its env:

uvx --from awscli aws sts get-caller-identity      # who am I running as
uvx --from awscli aws ec2 describe-instances       # read-only, safe
uv run --with boto3 python check_alarms.py         # scripted, same creds

AWS APIs need SigV4 request signing, which arizuko’s declarative REST connectors don’t do — so AWS goes through the in-container agent, not a connector. The reasoning is in the product spec.

setup

arizuko create acme --product aws-devops
cd /srv/data/arizuko_acme
$EDITOR .env                                  # ANTHROPIC_API_KEY, TELEGRAM_BOT_TOKEN, WEB_HOST
arizuko network acme allow main amazonaws.com # one entry covers every region
arizuko secret acme set main AWS_ACCESS_KEY_ID --value AKIA…   # shared fallback
arizuko run acme

# then each engineer sets their own keys at /dash/me/secrets (or via
# `arizuko user-secret`), and their calls run as them.

Full step-by-step — IAM policy shape, per-operator keys, egress, verification — is in the operator setup guide.

go deeper