IT Ops

Nothing Ships Without a Person


The release and operations console behind Buckler's platforms, and the bridge between our cloud agents and the agents that write the code.

IT Ops

Fast delivery by agents, with a person in control of every release.

IT Ops is Buckler Professionals' operations console: tickets, incidents and the release pipeline for our applications, in one place where AI agents and people work side by side. I lead its engineering. In its first two weeks it ran 36 production releases across 3 applications, each approved by a person with a second factor and verified by a health check.

What it changes for the business

How a change moves

The operations squad

Platform

IT Ops runs on AWS EC2 with Linux under systemd, behind NGINX with TLS. Artifacts and run logs are stored in AWS S3, and builds run on an ephemeral build host that is reformatted on every boot and switches itself off.

AWS Linux

Language & Technology

The backend is Python with FastAPI and async SQLAlchemy, built as a pure JSON API so the web console is just one more client, plus its own MCP server. The frontend is Next.js 16, React 19 and TypeScript with Tailwind. The applications it deploys run in Podman containers on their own hosts.

Python / FastAPI React / Next.js

Database

PostgreSQL on Amazon RDS, with numbered, backward-compatible migrations. The schema has no column that could hold a secret: IT Ops stores only references to AWS Secrets Manager.


AI Integration

An AI Offices squad runs day-to-day operations through 15 IT Ops tools, and local coding agents work their tickets through the IT Ops MCP server, with one expiring token per repository. Neither can approve a release, accept a risk or close a ticket: those tools do not exist.

AI Offices

CI/CD & Infrastructure

Dependencies are fetched in a separate step; the build and install then run in containers with no network access, and images ship inside the signed package. Every package is checked against OSV.dev, failing closed. The IT Ops API signs each approval with an AWS KMS key the runner cannot use, and the target verifies it before doing anything. Tests run with pytest, Playwright and Vitest. IT Ops itself runs natively on EC2 under systemd, is deployed pull-based with OIDC and no stored secrets, and never by its own runner. Infrastructure is code with Terraform and Ansible.

AWS KMS

Integrations

People sign in with Microsoft Entra ID plus a TOTP second factor; agents and machines use scoped JWT service tokens, stored only as hashes. GitHub access is authorized by a person for each run, kept in memory and revoked right after use.

Microsoft Entra ID

Key Features

Tickets and incidents: one place for people and agents.
Release pipeline: isolated builds, vulnerability scans, signed approvals and health checks.
Risk acceptance: only by a person, with a reason and an expiry of 90 days at most.
MCP server: the bridge between our cloud agents and the agents that write the code.
Audit trail: every stage of every release recorded with a timestamp.

Inside IT Ops


1 / 7
Ticket queue
2 / 7
One ticket's timeline
3 / 7
A production release
4 / 7
OSV vulnerability gate
5 / 7
Incidents
6 / 7
The IT Ops office in AI Offices
7 / 7
IT Ops on AWS

Ticket queue — work detected by AI agents and assigned to people, agents or a repository's coding agent.
One ticket's timeline — SRE diagnosis, security review, the IT Leader's proposed fix and the coding agent's commit.
A production release — tests, network-isolated build, approval with a second factor, signed package and health-verified deploy.
OSV vulnerability gate — an open high or critical finding in production blocks the release; accepting a risk needs a person and an expiry.
Incidents — deduplicated by fingerprint; they close only when the detector confirms silence.
The IT Ops office in AI Offices — IT Leader, IT Security, Release Manager and SRE/Infra, each with its own tools and limits.
IT Ops on AWS — how a request flows, where the data lives and how releases are built and approved.

Screenshots from a local environment with fictitious data. Account identifiers, hostnames and client data are not shown.