FixControl
FC Agent · Pilot

Your infrastructure stays private. The FC Agent only dials out.

The FC Agent is a small service you run in your own environment. It connects outbound to FixControl over HTTPS and executes only signed, expiring, single-use operations — so FixControl can govern deployments and validation on Kubernetes, Argo, Jenkins and GitLab without any of those systems being exposed publicly. Offered as part of pilot onboarding.

Outbound-only — one egress ruleAgent connections: credentials stay with youYou set the local allowlists
The connection model

One outbound connection, nothing inbound

FixControl Cloud
gates, approvals, evidence, audit
Outbound HTTPS — initiated by the agent
FC Agent
runs in your environment
Kubernetes
Argo Rollouts
Jenkins / GitLab

The complete firewall requirement is one egress rule. There are no inbound rules, no VPN and no tunnel — the agent verifies each operation locally, then executes it inside your network.

How it works

From a paused pipeline to an executed decision

  1. 01Pause
    Your pipeline pauses itself

    A deployment reaches a step your team already configured to wait: a GitLab deployment approval or manual job, a Jenkins input step, a GitHub Actions environment review, or a paused Argo rollout. FixControl never starts a deployment.

  2. 02Gate
    FixControl opens an approval

    The pause reaches FixControl as a signed webhook event and opens a deployment gate. Someone on your team reviews the change and the evidence behind it, then approves or rejects.

  3. 03Signed order
    The verdict becomes a signed operation

    FixControl registers a single-use operation: signed with a FixControl key your agent has pinned, addressed to one cluster and one capability, and expiring within minutes. FixControl never opens a connection to deliver it.

  4. 04Outbound poll
    The agent collects it — outbound

    The FC Agent polls FixControl over HTTPS, verifies the signature, the expiry and its own local allowlist, and only then executes the operation against your Kubernetes, Argo, Jenkins or GitLab — with credentials that never left your environment.

  5. 05Evidence
    The result comes back for the record

    The agent reports the outcome to FixControl. The approval, the operation and the result line up in one audit trail — including operations the agent refused.

Why it is safe

Six properties, all enforced on your side of the wall

Outbound-only connection

The agent initiates every connection to FixControl over HTTPS. The complete firewall requirement is one egress rule; there are no inbound rules, no VPN, and no tunnel that gives FixControl a way in.

Private systems stay private

Kubernetes, Argo, Jenkins and GitLab keep their existing network posture. None of them needs to be made publicly reachable for FixControl to govern deployments on them.

Signed, expiring, single-use operations

Every action arrives as an operation signed by FixControl with a key your agent pins, expires within minutes, and can be redeemed exactly once. A replayed or altered operation is refused — and the refusal is recorded.

You keep local control

The agent executes only operations that pass its own allowlists — which namespaces, which rollouts, which capabilities. Those lists live in your environment; FixControl cannot send them and cannot override them. Empty means nothing is allowed.

Least-privilege RBAC

The agent’s Kubernetes role is minimal: read access to the rollouts you allow, plus its own bookkeeping — no cluster-admin. The component that runs validation is a separate identity that cannot touch rollouts at all.

Credentials stay with you

The Kubernetes service account and the GitLab or Jenkins credential live in your cluster’s own secrets, rotated by you. For connections through the agent, FixControl sends an operation and receives a result — it does not hold credentials for your infrastructure.

Capabilities & health

A closed set of operations, each with its own health

The agent advertises what it may do, FixControl narrows every operation to one cluster and one capability, and connectivity is tracked as first-class health — a silent agent shows up as degraded, not as green.

Collect signed operations (outbound poll)
Supported

The agent polls FixControl on a short interval over HTTPS and picks up only operations addressed to its cluster and its granted capabilities.

Approve or reject a paused CI deployment
Configuration-dependent

Where configured during your pilot: GitLab deployment approvals and manual jobs, and Jenkins input steps. The verdict executes through your CI host’s own primitive. (GitHub Actions environment reviews don’t need the agent — api.github.com is reachable directly.)

Promote a paused Argo rollout
Configuration-dependent

Where configured. After an approved gate, the agent promotes through the path you chose — including a GitOps commit that your own in-cluster tooling verifies before promoting.

Run validation in your own cluster
Configuration-dependent

Where configured during your pilot, a proposed change is validated by a runner inside your Kubernetes environment, with the same evidence contract as FixControl’s isolated Docker validation.

Inbound access to your network
Not available — by design

Doesn’t exist. The agent has no listener, no service, no ingress. FixControl cannot connect to the agent — only the other way around.

Arbitrary commands
Not available — by design

Not possible. The operation vocabulary is closed — approve, reject, promote, run validation. There is no “run this command” operation, and the agent refuses anything outside the vocabulary.

Failure behavior

If FixControl is unreachable, nothing in your cluster changes

Outages degrade loudly, never dangerously
Your workloads keep running: the agent only acts on signed operations it fetches itself — and every execution verdict is a recorded human decision — so an outage on FixControl’s side simply means no new operations are collected. Pending operations expire within minutes rather than executing late — an approval decided at 10:00 never promotes something at 16:00. The missed heartbeat is visible as degraded connectivity health, and refused or expired operations are recorded, not dropped.
Security FAQ

The questions your security team will ask

Does FixControl need inbound access to our cluster or CI?+
No. The agent connects outbound to FixControl over HTTPS — typically port 443 through your existing egress or proxy rules, which stay under your control. There are no inbound firewall rules, no VPN and no reverse tunnel.
Do we need to expose Kubernetes, Argo, Jenkins or GitLab publicly?+
No. For connections through the FC Agent they keep their private network posture. The agent reaches them from inside your network, and reaches FixControl outbound.
Does the agent need cluster-admin?+
No. Its Kubernetes role is read access to the rollouts you allowlist plus its own bookkeeping — no cluster-admin, and by default no write access to rollouts at all. Validation runs under a separate identity that cannot reach rollouts, with an admission policy that blocks writes outside its own test namespaces.
Where are our credentials stored?+
In your environment. The agent authenticates to Kubernetes with its in-cluster service account, and holds your GitLab or Jenkins credential in a secret in your cluster — deliberately separate from the agent’s own FixControl identity, so they rotate independently. For connections through the agent, FixControl stores no credential for your infrastructure.
What happens if FixControl is unavailable?+
Nothing, to your workloads. Deployments your team runs continue as they always did; only new FixControl-governed approvals wait. Operations that were already pending expire within minutes instead of executing late.
Can FixControl deploy to production on its own?+
No. FixControl never starts a deployment. A pipeline pauses on a step your team configured; FixControl records a human decision on that pause; and the signed operation the agent executes is that decision — nothing more. By default nothing moves without a recorded human decision, and each operation leaves an audit record.

See a private deployment governed end to end

Book a demo and watch a pause in a private pipeline reach an approval — and the approval reach your cluster — without a single inbound connection.