The Problem#
Platform engineers often struggle with managing access across dozens of AWS accounts and Kubernetes clusters.
- Credential Fatigue:
~/.aws/configfiles become unmanageable with hundreds of profiles. - Binary Hell: Relying on external tools like
aws-iam-authenticatoroften breaks during updates. - Security Risks: Granting permanent access to developers is dangerous; creating temporary RBAC roles manually is tedious.
The Solution#
I built Bridge, a zero-dependency, single-binary tool that acts as both a visual dashboard and a secure access manager.
Key Innovations#
-
Native AWS SSO Integration
- Replaced the need for
aws-iam-authenticatorby implementing the AWS Device Code Flow directly in Go. - Generates native EKS tokens using
aws-sdk-go-v2, keeping the global~/.aws/configclean.
- Replaced the need for
-
Ephemeral Access Control
- Implemented a "Vending Machine" for Kubeconfigs. Admins can grant Time-Limited Access (e.g., "Read-Only for 1 hour").
- A built-in Janitor automatically cleans up expired ServiceAccounts and RoleBindings from the cluster.
-
Zero-Dependency Architecture
- Backend: Pure Go (Gin framework).
- Frontend: React 18 + TypeScript (compiled and embedded into the Go binary).
- Deployment: Runs as a single executable—no database required (uses Kubernetes as the source of truth).
Visual Features#
- Topology Map: An interactive graph visualizing the relationship between Ingress → Service → Pods.
- Real-time Logs: Aggregated multi-pod log streaming via WebSockets.