GitOps Assistant finds the parts of your infrastructure that are outdated, wasteful or risky. It researches the right fix and checks it against your real environment. Then it opens one small draft merge request (MR) for each fix.
You review. You merge. We run everything else.
Every platform team has a list of work it knows it should do. Upgrades, migrations, monitoring, cleanup. The work is important, but it is never urgent. So it waits, and the infrastructure falls behind. GitOps Assistant does the boring part of that work. Your engineers keep the part that needs their judgement.
The assistant reads the changelogs, gathers the metrics, writes the change and tests it. Each MR explains what it changes and why. Most reviews take minutes.
Maintenance work arrives ready to review, inside the workflow your team already uses. Feature work does not have to stop for it. Firefighting gets rarer as the infrastructure gets current.
Fewer outdated components. Less capacity reserved and never used. Fewer gaps in monitoring. A human approves every change, and every change has an audit trail.
Monday, 08:00. An engineer opens GitLab. There is no new dashboard and no chat window. There are only merge requests and issues, each one small, each one already checked by a second reviewer.
An illustrative morning. The names are examples. The labels are the ones the assistant sets: a second, independent reviewer checks every MR and labels it. You can start with the MRs it already approved.
In GitOps, a git repository describes what should run in your clusters. Over time, that repository falls behind. Small problems pile up and become outages.
A one-line diff, and everything you need to trust it. The assistant puts the evidence in the MR, so you do not have to go and find it.
values:
querier:
resources:
requests:
- memory: 5.6Gi
+ memory: 96Mi
limits:
- cpu: 2800m
- memory: 5.6Gi
+ memory: 128Mi
This comes from a real MR in production. A request this far above real use is unusual, but it makes the mechanics easy to see. Safety clamps in code raised the AI model's request to the observed peak and kept the limit above it. Across 8 replicas, the change frees about 44Gi of memory that the cluster reserved but never used. How it got there →
You do not buy a list of features. You buy infrastructure that stays current, efficient, reliable and secure. Each outcome has small agents behind it. Each agent owns one concern. Many use no AI model at all.
Chart, image and controller upgrades, with every changelog read. Deprecated APIs and Flux v1 → v2 migrations.
Resource requests sized from 30 days of real usage. Idle volumes and forgotten environments found.
Probes, disruption budgets and replicas. Backup failures caught early. Each alert checked for a permanent fix.
What runs but is not in git gets adopted from its live state. Drift and failing reconciles become one issue per cause.
Committed secrets move to Vault. Vault policy and audit denials get reviewed. Security posture gets reported.
Monitors and dashboards written for you. MR reviews on request. Fifty warnings grouped into one issue.
GitOps Assistant is not "an AI with access to Kubernetes". It is a fixed loop: observe, analyse, validate, propose, and a human reviews. Three layers do the work, and the AI model is only one of them.
Schema checks, version comparisons, metric thresholds, ownership detection, deduplication, minimal YAML patches and chart render comparisons. When the answer is known, code gives it.
Reading changelogs and deciding which breaking changes apply to you. Reasoning about an incident. Writing the fix where no rule can, and the explanation in the MR.
Safety clamps on every number. A dry-run against your real API server. A secret scan. Read-only cluster access, draft MRs only, an independent second review and a full audit trail.
If the assistant does not know, it says so.
Every MR lists what the assistant could not check. A held proposal says why it was held.
See an upgrade, step by step →
We have run the assistant on our own production infrastructure and on our customers' since April 2026. These are merged changes that run in production today. A human engineer reviewed and approved each one.
Our engineers delivered larger migrations by working with the assistant, for example an ingress-nginx → Traefik / Gateway API cut-over. The assistant prepares, verifies and follows up. A human drives.
Counting is easy. These numbers show quality. We measured them from 22 August to 5 October 2026, over every MR the assistant opened in that period. Each number shows what it counts.
The review numbers run to 29 September 2026. We do not measure incidents caused by MRs yet. Before each test cycle we close our own open MRs and generate them again. We do not count those closures as rejections.
You have three other options. Each one solves part of the problem.
The backlog keeps growing. Every month behind makes the next upgrade bigger and riskier. The cost arrives later, as an outage or a rushed migration.
They find broken rules and new versions. They do not see what runs in your cluster or how much it uses. They do not read the changelog for you or check that the change applies.
It is like using a bazooka. It is powerful, but you need a lot of experience and protection to guide it without collateral damage, and it usually needs broad access to act. You stay responsible for everything it does. And you are potentially handing the complete details of your infrastructure to a third party, without any filtering or guardrails.
Looks at your real infrastructure. Prepares the actual fix. Checks it with code and against your cluster. Puts it in the review workflow you already trust.
“Doing everything by hand equates to using a shovel. A general AI agent with access to your infrastructure is like using a bazooka. It is powerful, but you need a lot of experience and protection to be able to guide it properly without causing collateral damage. You stay responsible for everything it does, but you are potentially handing the complete details of your infrastructure to a third party, without any filtering or guardrails. I wanted something in between: a scalpel. One precise cut for each job, where you control what information gets exposed. And you get all the context to decide what ships, and to accept the responsibility.”
The assistant may be wrong. It is not allowed to be dangerous. Safety and data privacy are design constraints, not features added later.
The assistant has no merge rights. Your normal review and approval flow decides what ships. Nothing reaches a cluster without a human.
The assistant reads live state and metrics. It cannot change your clusters. Its dry-run identity can only test a change, never apply it.
You choose where the AI model runs: a cloud model, an approved provider or a self-hosted model. Secrets are scrubbed first. There is no silent fallback to the cloud.
We do not blindly send your data or infrastructure details to third parties. The assistant can pseudonymise your data before an AI model processes it. Every run records which agents ran, which AI model they used and why each proposal was sent or held. Independent reviewers check each MR against the cluster, without exposing all your details.
Support is deepest for Kubernetes with Flux CD, GitLab and Prometheus or Mimir. If you run hundreds of workloads that way, the assistant does the maintenance work your platform team never gets to. Vault, GKE and Cloudflare are also in daily use. See everything it covers, and what comes next →
Start with a read-only assessment of one repository and its cluster. Nothing changes, and the assistant opens no MR and no issue. It uses no AI model. Then a dry run shows the proposals it would make. Nothing to install. Just MRs to review.
Get started →
No. Every proposal is a draft MR, and the assistant has no merge rights. Its cluster access is read-only. Your normal approval flow decides what ships.
No. We operate the assistant for you. You give scoped access. That is a bot account on your forge that can open draft MRs and issues, read-only cluster credentials, and read access to your metrics. You receive merge requests.
You choose. For each infrastructure, we agree where the AI model may run: a cloud model, an approved provider, or a self-hosted model. The assistant scrubs secrets before any AI model sees content, and it can mask identifiers. Many agents use no AI model at all. The full data policy →
No. The assistant does not propose the same fix again unless something changed. There is a hard cap per repository per run. You choose which agents run, and the schedule.
Linters tell you that a rule is broken. Renovate tells you that a new version exists. The assistant proposes the actual diff, sized to your real workload and checked against your cluster. The MR includes the reasoning, the evidence and what it could not check.
Some of it, and more is coming. Customer demand sets the order. See what is live, in development and on the roadmap →