Install
openclaw skills install @rohitg00/k8s-ciliumCilium and Hubble network observability for Kubernetes. Use when managing network policies, observing traffic flows, or troubleshooting connectivity with eBPF-based networking.
openclaw skills install @rohitg00/k8s-ciliumManage eBPF-based networking using kubectl-mcp-server's Cilium tools (8 tools).
Requires the
ciliumtoolset: start kubectl-mcp-server with--toolsets default,cilium(orMCP_TOOLSETS=default,cilium).
Use this skill when:
| Priority | Rule | Impact | Tools |
|---|---|---|---|
| 1 | Detect Cilium installation first | CRITICAL | detect_ecosystem |
| 2 | Check agent status for health | HIGH | cilium_get_status |
| 3 | Use Hubble for flow debugging | HIGH | get_hubble_flows |
| 4 | Start with default deny | MEDIUM | CiliumNetworkPolicy |
| Task | Tool | Example |
|---|---|---|
| Detect Cilium | detect_ecosystem | detect_ecosystem() |
| Agent status | cilium_get_status | cilium_get_status() |
| List policies | cilium_list_policies | cilium_list_policies(namespace) |
| Query flows | get_hubble_flows | get_hubble_flows(namespace) |
detect_ecosystem()
cilium_get_status()
cilium_list_policies(namespace="default")
cilium_get_policy(name="allow-web", namespace="default")
kubectl_apply(manifest="""
apiVersion: cilium.io/v2
kind: CiliumNetworkPolicy
metadata:
name: allow-web
namespace: default
spec:
endpointSelector:
matchLabels:
app: web
ingress:
- fromEndpoints:
- matchLabels:
app: frontend
toPorts:
- ports:
- port: "80"
protocol: TCP
egress:
- toEndpoints:
- matchLabels:
app: database
toPorts:
- ports:
- port: "5432"
protocol: TCP
""")
cilium_list_endpoints(namespace="default")
cilium_list_identities()
cilium_list_nodes()
get_hubble_flows(
namespace="default",
pod="my-pod",
last="5m"
)
get_hubble_flows(
namespace="default",
verdict="DROPPED"
)
get_hubble_flows(
namespace="default",
protocol="http"
)
kubectl_apply(manifest="""
apiVersion: cilium.io/v2
kind: CiliumNetworkPolicy
metadata:
name: api-policy
namespace: default
spec:
endpointSelector:
matchLabels:
app: api
ingress:
- fromEndpoints:
- matchLabels:
app: frontend
toPorts:
- ports:
- port: "8080"
protocol: TCP
rules:
http:
- method: GET
path: "/api/v1/.*"
- method: POST
path: "/api/v1/users"
""")
kubectl_apply(manifest="""
apiVersion: cilium.io/v2
kind: CiliumClusterwideNetworkPolicy
metadata:
name: allow-cross-cluster
spec:
endpointSelector:
matchLabels:
app: shared-service
ingress:
- fromEntities:
- cluster
- remote-node
""")
cilium_get_status()
cilium_list_endpoints(namespace)
cilium_list_policies(namespace)
get_hubble_flows(namespace, pod, verdict="DROPPED")
cilium_get_policy(name, namespace)
cilium_list_endpoints(namespace)
get_hubble_flows(namespace)
cilium_get_status()
cilium_list_nodes()
get_hubble_flows(namespace, protocol="http")
cilium install