ВозможностиДокументацияЦеныPlaygroundFAQ

Kubernetes Operator

Декларативное управление политиками безопасности FlowLink в Kubernetes кластере.

standalone binary kube-rs + CRD + AdmissionWebhook

Архитектура

FlowLinkShieldPolicy (CRD) → ShieldOperator → reconciliation loop
                                      ↓
AdmissionWebhook (mutating + validating)
  ├── ValidatingWebhook → deny violations
  └── MutatingWebhook  → inject ShieldSidecar
                              ↓
                     ShieldSidecar (container)
                     connects to FlowLink Relay

CRD: FlowLinkShieldPolicy

apiVersion: shield.flowlink.ai/v1alpha1
kind: FlowLinkShieldPolicy
metadata:
  name: production-shield
  namespace: default
spec:
  mode: enforce          # monitor | enforce
  enabled: true
  rules:
    - name: block-destructive
      action: deny
      patterns:
        - "rm -rf *"
        - "DROP TABLE"
        - "chmod 777"
    - name: require-approval
      action: approval
      patterns:
        - "kubectl delete"
        - "helm uninstall"
  sidecar_image: "flowlink/flowlink-shield:latest"
  relay_url: "https://flowlink.flow-masters.ru"
  watch_namespaces: ["default", "production"]

Деплой

# 1. Apply CRD
kubectl apply -f config/crd.yaml

# 2. Create policy
kubectl apply -f config/policy.yaml

# 3. Build operator
cargo build --release -p flowlink-k8s

# 4. Run operator (connects to relay)
./flowlink-k8s --relay-url https://flowlink.flow-masters.ru/api/v1

# Or via Helm (coming soon)
helm install flowlink-operator ./charts/flowlink-operator \
  --set relay.url=https://flowlink.flow-masters.ru

Компоненты

ShieldOperator

Reconciliation loop: watches FlowLinkShieldPolicy CRDs, сравнивает spec vs status, синхронизирует состояние.

AdmissionWebhook

Validating (deny violations) + Mutating (inject sidecar). Работает на уровне API server — блокирует до создания Pod.

ShieldSidecar

Injected container с flowlink-shield. Подключается к relay, применяет политики к контейнеру.

Relay Reporting

Operator отправляет reconciliation events в relay audit endpoint. Полная видимость из FlowLink Dashboard.

Статус

⚠️ Draft — не тестирован в production кластере

Код реальный (5K строк Rust, 76 тестов), использует kube 0.93 + k8s-openapi. Требует E2E тестирования в реальном кластере перед production использованием.