keyless
no aws_access_key_id. uses pod identity / irsa.
podIdentity:
enabled: truekeyless on aws via pod identity, anywhere via the periscope-agent. oidc identity, per-user impersonation, audit-trail-clean.
eks 1.27+ keyless · agent works on any k8s · oidc 1.0 · k8s rbac
| name | ready | status | age |
|---|---|---|---|
| payments / checkout-7f9 | 1/1 | Running | 3d |
| payments / checkout-8a2 | 1/1 | Running | 3d |
| periscope / audit-6c1 | 1/1 | Running | 17h |
| frontend / web-5d4b | 1/1 | Running | 2d |
| backend / api-2b8e | 2/2 | Running | 8h |
| backend / worker-9c3 | 1/1 | Running | 8h |
principles
no aws_access_key_id. uses pod identity / irsa.
podIdentity:
enabled: trueone app, every cluster. eks, gke, aks, on-prem k3s. agent dials out, no inbound network.
clusters:
- name: prod-eu
backend: agentevery action signed by the human who made it. searchable, time-filterable, sqlite-backed.
actor: alice@corp
verb: apply → okapache-2.0. self-host in five minutes. no telemetry.
apache-2.0 · no telemetrythe dashboard
every action is signed by the human who made it. the audit log is a first-class view in the app — searchable, time-filtered, with denials and failures called out.
periscope-botprod-eu-west-1 / history
auth flow
periscope receives an id_tokenfrom your idp, assumes the user's identity via k8s.io/v1 Impersonate headers, and lets the apiserver enforce rbac. the audit row says alice@corp, never periscope-bot.
install
prod-eu), copy the bootstrap token the modal shows you. the token is single-use and expires in 15 minutes.helm install periscope \
oci://ghcr.io/gnana997/charts/periscope \
--version 1.0.0-rc9 \
--namespace periscope --create-namespacehelm install periscope-agent \
oci://ghcr.io/gnana997/charts/periscope-agent \
--version 1.0.0-rc9 \
--namespace periscope --create-namespace \
--set agent.serverURL=wss://agents.periscope.example.com:8443/api/agents/connect \
--set agent.clusterName=prod-eu \
--set agent.registrationToken=<paste-token-from-ui>install on the central cluster — needs eks 1.27+ with pod identity association, or any cluster with the in-cluster service account. see the deployment guide for oidc, rbac, and ingress wiring. then click the agent tab above to add managed clusters.
run on every cluster you want in the fleet — eks, gke, aks, on-prem k3s, anything with outbound https. set agent.clusterName to the same name you typed in the onboard modal so the tunnel registers under that identity. full walkthrough including the three deployment topologies (single lb, alb+nlb split, self-signed) lives in the agent onboarding guide.
community
early days. apache-2.0, no telemetry, no paid tier. issues, prs, and rfcs all happen on github.