MCPcopy Index your code
hub / github.com/110y/bootes

github.com/110y/bootes @v0.0.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.0.1 ↗ · + Follow
193 symbols 666 edges 40 files 34 documented · 18%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Bootes

xDS Control-Plane Kubernetes Controller.

Overview

Bootes is a minimalistic xDS Control-Plane which is implemented as a Kubernetes Controller. You can distribute any configurations via Kubernetes Custom Resources like below:

---
apiVersion: bootes.io/v1
kind: Cluster
metadata:
  name: cluster-1
  namespace: test
spec:
  config:
    name: cluster-1
    connect_timeout: 1s
    type: LOGICAL_DNS
    lb_policy: ROUND_ROBIN
    http2_protocol_options: {}
    load_assignment:
      cluster_name: cluster-1
      endpoints:
        - lb_endpoints:
            - endpoint:
                address:
                  socket_address:
                    address: cluster-1.test.svc.cluster.local
                    port_value: 10000

By applying this example resource, Bootes sends one cluster configuration named cluster-1 to connected data-planes.

Installation

See this guide.

Supported Resource Types

  • [x] Listener
  • [x] Route
  • [x] Cluster
  • [x] Endpoint
  • [ ] VirtualHost
  • [ ] Secret
  • [ ] Runtime
  • [ ] ScopedRoute

Extension points exported contracts — how you extend this code

EnvoyResource (Interface)
(no doc) [4 implementers]
internal/k8s/api/v1/envoy_resource.go
Span (Interface)
(no doc) [1 implementers]
internal/observer/trace/span.go
Cache (Interface)
(no doc) [1 implementers]
internal/xds/cache/cache.go
Store (Interface)
(no doc) [1 implementers]
internal/k8s/store/store.go
ListOption (FuncType)
(no doc)
internal/k8s/store/store.go

Core symbols most depended-on inside this repo

Errorf
called by 73
internal/xds/snapshot_cache_logger.go
End
called by 21
internal/observer/trace/span.go
NewSpan
called by 20
internal/observer/trace/trace.go
getResourceFromSnapshot
called by 17
internal/xds/cache/cache.go
New
called by 8
internal/k8s/store/store.go
NewNamespace
called by 7
internal/k8s/testutils/testutil.go
WithLabelFilter
called by 6
internal/k8s/store/store.go
ListPodsByNamespace
called by 5
internal/k8s/store/store.go

Shape

Method 98
Function 60
Struct 30
Interface 4
FuncType 1

Languages

Go100%

Modules by API surface

internal/k8s/store/store.go37 symbols
internal/k8s/api/v1/zz_generated.deepcopy.go26 symbols
internal/xds/cache/cache.go20 symbols
internal/xds/callbacks.go16 symbols
internal/k8s/store/store_test.go8 symbols
internal/xds/snapshot_cache_logger.go7 symbols
internal/k8s/k8s.go7 symbols
internal/k8s/store/filter.go5 symbols
internal/k8s/api/v1/route_types.go5 symbols
internal/k8s/api/v1/listener_types.go5 symbols
internal/k8s/api/v1/endpoint_types.go5 symbols
internal/k8s/api/v1/cluster_types.go5 symbols

For agents

$ claude mcp add bootes \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page