How gefyrahq/gefyra works
Gefyra connects a developer’s local containers to Kubernetes workloads for realistic local development: the user installs the cluster components, runs a local container, and bridges a selected workload to it. The CLI also manages clients, mounts, status, and cleanup. The operator reconciles client, bridge, and mount resources; the carrier handles proxy traffic, while the Stowaway connection supplies the WireGuard-based cluster link. README claims inform product capabilities; several subsystem links use documented behavior because their source was not sampled.
Main entry points: cli/main.py CLI Commands · operator/main.py Operator Startup · clients.py Client Reconciliation · clientstate.py Client State
Components 23
Developer CLI
- CLI Commands
client/gefyra/cli/main.py - Bridge API
client/gefyra/api/bridge.py - Run API
client/gefyra/api/run.py - Client API
client/gefyra/api/clients.py - Mount API
client/gefyra/api/mount.py - Install API
client/gefyra/api/install.py
Local Runtime
- Client Runtime
client/gefyra/local/clients.py - Container Runtime
client/gefyra/local/cargo.py - Mount Runtime
client/gefyra/local/mount.py - Local Networking
client/gefyra/local/networking.py
Operator Control Plane
- Operator Startup
operator/main.py - Client Reconciliation
operator/gefyra/handler/clients.py - Bridge Reconciliation
operator/gefyra/handler/bridges.py - Mount Reconciliation
operator/gefyra/handler/bridge_mounts.py - Client State
operator/gefyra/clientstate.py
Traffic and Connection
- Stowaway Link
operator/gefyra/connection/stowaway/handler.py - Traffic Proxy
carrier2/src/main.rs - Proxy Match Rules
carrier2/src/lib.rs
Cluster Resources
- Cluster Resources
operator/gefyra/connection/stowaway/resources/statefulsets.py - Client Permissions
operator/gefyra/resources/serviceaccounts.py
Other components
- Developer
- Kubernetes API
- Docker Engine
Connections 27
- Developer → CLI Commands: issues commands
- CLI Commands → Bridge API: dispatches bridge
- CLI Commands → Run API: dispatches run
- CLI Commands → Client API: manages clients
- CLI Commands → Mount API: manages mounts
- CLI Commands → Install API: installs components
- Run API → Container Runtime: starts container
- Container Runtime → Docker Engine: creates container
- Bridge API → Kubernetes API: configures bridge
- Client API → Client Runtime: creates client
- Client Runtime → Kubernetes API: writes client resource
- Mount API → Mount Runtime: configures mount
- Mount Runtime → Docker Engine: mounts files
- Install API → Kubernetes API: installs components
- Operator Startup → Client Reconciliation: registers handler
- Operator Startup → Bridge Reconciliation: registers handler
- Operator Startup → Mount Reconciliation: registers handler
- Client Reconciliation → Client State: reconciles state
- Client Reconciliation → Kubernetes API: watches client objects
- Bridge Reconciliation → Kubernetes API: reconciles bridges
- Mount Reconciliation → Kubernetes API: reconciles mounts
- Client State → Client Permissions: manages permissions
- Client State → Stowaway Link: enables connection
- Stowaway Link → Kubernetes API: updates routes
- Cluster Resources → Kubernetes API: creates link resources
- Stowaway Link → Traffic Proxy: connects proxy
- Traffic Proxy → Proxy Match Rules: evaluates matches