neuron-explorer
Qwen3.5‑4B 전용 조향형 뉴런 탐색기, 모든 MLP 뉴런을 밀어 결과를 보관·탐색
AI 에이전트로 인시던트 대응·클라우드 프로비저닝·CI/CD·개발자 요청을 자동화하고 전체 스택에 결정적 워크플로우를 구축합니다
Automate incident response, cloud provisioning, CI/CD, and developer requests with AI agents that build deterministic workflows across your entire stack.
개발 도구Go · ShellGitHub @KestrelAI온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기An operator for streaming Kubernetes resource metadata, logs, events, and network traffic telemetry over mTLS to Kestrel Cloud.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
An operator for streaming Kubernetes resource metadata, events, logs, and network traffic telemetry over mTLS to Kestrel Cloud.
The Kestrel Operator connects to Kestrel Cloud using gRPC bidirectional streaming. It authenticates using OAuth2 credentials, establishes an mTLS HTTP/2 connection, and performs the following functions:README 전문 보기 ↗An operator for streaming Kubernetes resource metadata, events, logs, and network traffic telemetry over mTLS to Kestrel Cloud.
The Kestrel Operator connects to Kestrel Cloud using gRPC bidirectional streaming. It authenticates using OAuth2 credentials, establishes an mTLS HTTP/2 connection, and performs the following functions:
The Kestrel Operator can optionally integrate with Cilium for L3/L4 network flow collection. This integration is not required for basic functionality.
The operator will continue to function normally without Cilium installed, providing:
When Cilium is available, the Kestrel Operator additionally provides:
To disable Cilium integration entirely:
Via Helm values:
operator:
cilium:
disableFlows: true
Via environment variable:
DISABLE_CILIUM_FLOWS=true
The Kestrel Operator integrates with Istio for L7 access log collection via Envoy's Access Log Service (ALS). This integration provides detailed L7 (HTTP/gRPC) traffic visibility.
The operator will continue to function normally without Istio installed, providing:
When Istio is available and properly configured, the Kestrel Operator additionally provides:
For Istio integration to work, the following must be configured:
istio-injection=enabled so workloads get Envoy sidecarsTo enable Istio integration (already done by selecting Istio as the traffic data source at cluster onboarding):
Via Helm values:
operator:
istio:
enabled: true
cilium:
disableFlows: true # Typically disable Cilium when using Istio for flow collection
The operator automatically creates the necessary Telemetry resources via its Helm chart, but you must configure Istio's mesh configuration to define the Kestrel Operator as an extension provider for access logging.
Required extension providers:
meshConfig:
extensionProviders:
- name: kestrel-operator-als
envoyHttpAls:
service: kestrel-operator-als.kestrel-ai.svc.cluster.local
port: 8080
- name: kestrel-operator-als-tcp
envoyTcpAls:
service: kestrel-operator-als.kestrel-ai.svc.cluster.local
port: 8080
There are several ways to apply this depending on your Istio setup:
--set flags (new Istio installations or Helm-managed Istio)helm repo add istio https://istio-release.storage.googleapis.com/charts
helm upgrade --install istiod istio/istiod -n istio-system \
--set 'meshConfig.extensionProviders[0].name=kestrel-operator-als' \
--set 'meshConfig.extensionProviders[0].envoyHttpAls.service=kestrel-operator-als.kestrel-ai.svc.cluster.local' \
--set 'meshConfig.extensionProviders[0].envoyHttpAls.port=8080' \
--set 'meshConfig.extensionProviders[1].name=kestrel-operator-als-tcp' \
--set 'meshConfig.extensionProviders[1].envoyTcpAls.service=kestrel-operator-als.kestrel-ai.svc.cluster.local' \
--set 'meshConfig.extensionProviders[1].envoyTcpAls.port=8080'
kubectl patch (existing installations without custom mesh config)If your Istio installation doesn't have custom mesh configuration, you can apply the extension providers with a single command:
kubectl patch configmap istio -n istio-system --type merge -p '{"data":{"mesh":"extensionProviders:\n- name: kestrel-operator-als\n envoyHttpAls:\n service: kestrel-operator-als.kestrel-ai.svc.cluster.local\n port: 8080\n- name: kestrel-operator-als-tcp\n envoyTcpAls:\n service: kestrel-operator-als.kestrel-ai.svc.cluster.local\n port: 8080"}}'
After patching, restart Istiod:
kubectl rollout restart deployment istiod -n istio-system
⚠️ Warning: This
--type mergepatch replaces the entiremeshkey. Only use this if you don't have existing custom mesh configuration. If you do, use Option 3 instead.
If you already have custom mesh configuration (e.g., custom discoveryAddress, trustDomain, defaultProviders), edit the ConfigMap directly to avoid overwriting your existing settings:
kubectl edit configmap istio -n istio-system
Find the mesh: key in the data section and add the extensionProviders block while keeping all existing settings:
data:
mesh: |-
# ... your existing mesh config (keep all existing settings) ...
extensionProviders:
- name: kestrel-operator-als
envoyHttpAls:
service: kestrel-operator-als.kestrel-ai.svc.cluster.local
port: 8080
- name: kestrel-operator-als-tcp
envoyTcpAls:
service: kestrel-operator-als.kestrel-ai.svc.cluster.local
port: 8080
After saving, restart Istiod to pick up the changes:
kubectl rollout restart deployment istiod -n istio-system
Application namespaces must have Istio sidecar injection enabled. Label each namespace before deploying workloads:
kubectl label namespace <your-namespace> istio-injection=enabled
If workloads are already running, label the namespace and restart the deployments to inject sidecars:
kubectl label namespace <your-namespace> istio-injection=enabled --overwrite
kubectl rollout restart deployment -n <your-namespace> <deployment-name>
Verify sidecars are injected by checking that pods have an istio-proxy container:
kubectl get pods -n <your-namespace> -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{range .spec.containers[*]}{.name}{" "}{end}{"\n"}{end}' | grep istio-proxy
If sidecars are injected, each pod will show istio-proxy in the container list.
The operator's Helm chart will automatically create the necessary Telemetry resources that reference these extension providers.
The Kestrel Operator can receive and store OTEL metrics locally for incident root cause analysis (RCA). When enabled, the operator exposes an OTLP gRPC receiver (default port 4317) that accepts metrics from your OpenTelemetry Collectors.
Via Helm values:
operator:
otel:
enabled: true
receiverPort: 4317
metricsStore:
retention: "30m" # Rolling retention window
maxSeries: 100000 # Max unique metric series
ringSize: 60 # Data points per series
IMPORTANT: For metrics to include Kubernetes context (namespace, workload, pod names), your OpenTelemetry Collector MUST have the k8sattributes processor configured.
Required k8sattributes processor configuration:
processors:
k8sattributes:
auth_type: "serviceAccount"
passthrough: false
extract:
metadata:
- k8s.namespace.name
- k8s.pod.name
- k8s.pod.uid
- k8s.deployment.name
- k8s.statefulset.name
- k8s.daemonset.name
- k8s.replicaset.name
- k8s.container.name
- k8s.node.name
pod_association:
- sources:
- from: resource_attribute
name: k8s.pod.ip
- from: resource_attribute
name: ip
- from: connection
Exporter configuration to send metrics to Kestrel Operator:
exporters:
otlp/kestrel:
endpoint: kestrel-operator.kestrel-ai.svc.cluster.local:4317
tls:
insecure: true # In-cluster communication
# compression: gzip # Optional, enable for reduced bandwidth
service:
pipelines:
metrics:
receivers: [otlp, prometheus]
processors: [k8sattributes, batch]
exporters: [otlp/kestrel]
Note: The operator supports gzip compression. The OpenTelemetry Collector enables gzip by default, but if using the Go SDK directly, enable it via OTEL_EXPORTER_OTLP_COMPRESSION=gzip or the compression: gzip exporter option.
Without the k8sattributes processor:
To install the Kestrel Operator on your cluster, simply copy the command from the Onboard Cluster page on the Kestrel Platform:
helm install kestrel-operator oci://ghcr.io/kestrelai/charts/kestrel-operator --version 0.1.0 --namespace kestrel-ai --create-namespace -f kestrel-ai-operator-values-<cluster-name>.yaml