Skip to content

AsaTyr2018/AccessGateOps

Repository files navigation

AccessGate

AccessGate is a policy-driven SSH access broker for AI agents and automation systems, issuing temporary, auditable, and revocable access leases to managed Linux servers.

What It Does

  • Issues short-lived SSH leases instead of permanent shared access.
  • Maps automation access to managed users such as accessgate-normal and accessgate-elevated.
  • Supports normal and elevated AI/automation profiles.
  • Generates per-lease SSH key material and returns the private key exactly once.
  • Keeps an operator web panel for approvals, targets, audit history, and API keys.
  • Provides a public Informer API so agents can discover the request contract.
  • Pushes desired SSH access state to AG-Agents running on managed targets.

Status

AccessGate is early software. The API, data model, deployment manifests, and security boundaries are still evolving.

Repository Layout

cmd/accessgate/        Server, agent, and CLI entrypoint
deploy/k8s/            Kubernetes deployment manifest
docs/                  Architecture, security model, API draft, onboarding
docs/workflows/        Sequence/workflow documentation
scripts/               Build helper scripts

Quick Start

Build and test locally:

go test ./...
go build ./cmd/accessgate

Run the server:

ACCESSGATE_ADDR=:8080 \
ACCESSGATE_DATA_DIR=./data \
ACCESSGATE_PUBLIC_URL=http://localhost:8080 \
./accessgate

Read the public Informer:

curl http://localhost:8080/v1/informer
curl http://localhost:8080/v1/informer/agent-contract

Web UI Access

The operator web UI is inactive by default. Create a short-lived Ops Login Link from a trusted runtime context:

Local server:

./accessgate -opskey --operator <name> --ttl 1h --base-url http://localhost:8080

Kubernetes:

kubectl -n accessgate exec deploy/accessgate -- \
  /accessgate -opskey --operator <name> --ttl 1h \
  --base-url https://accessgate.example.com

Open the returned link once. AccessGate consumes the token and redirects to /ops with an operator session cookie.

Informer Contract

AI agents should start with:

GET /v1/informer/agent-contract

The contract describes authentication, targets, lease schemas, SSH key handling, retry timing, cleanup rules, and error recovery.

License

AccessGate is source-available under the PolyForm Noncommercial License 1.0.0.

You may use, study, modify, and share it for permitted non-commercial purposes. Commercial use requires prior written permission from the project owner.

See LICENSE for the full terms.

Important: this is not an OSI-approved open-source license because commercial use is restricted.

Commercial Use

For commercial use, hosted offerings, resale, paid customer deployments, or production use in a commercial organization, request permission before using AccessGate.

Security

AccessGate controls SSH access and should be treated as security-sensitive infrastructure. Please read SECURITY.md before reporting vulnerabilities.

Documentation

About

AccessGate is a policy-driven SSH access broker for AI agents and automation systems, issuing temporary, auditable, and revocable access leases to managed Linux servers.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Contributors