Files
obsidian-sympozium/08-Słownik-K8s/Admission Webhook.md
2026-03-25 00:05:57 +01:00

78 lines
2.2 KiB
Markdown

# Admission Webhook
#kubernetes #security #api #słownik
## Co to jest?
**Admission Webhook** to mechanizm Kubernetes pozwalający na **przechwycenie i walidację/modyfikację żądań do API servera** zanim zasób zostanie zapisany w etcd.
## Typy
### Validating Admission Webhook
- **Sprawdza** czy żądanie jest prawidłowe
- Może ALLOW lub DENY
- Nie modyfikuje żądania
- Przykład: "Czy AgentRun spełnia SympoziumPolicy?"
### Mutating Admission Webhook
- **Modyfikuje** żądanie przed walidacją
- Może dodawać, usuwać lub zmieniać pola
- Przykład: "Dodaj domyślny SecurityContext do poda"
## Przepływ
```
kubectl apply -f agentrun.yaml
API Server:
1. Authentication (kto?)
2. Authorization / RBAC (czy może?)
3. → Mutating Webhooks (modyfikacja)
4. Schema Validation (OpenAPI)
5. → Validating Webhooks (walidacja)
6. Zapis do etcd
```
## Kluczowe cechy
- **Synchroniczne** - żądanie czeka na odpowiedź webhooka
- **Fail-open / fail-closed** - konfiguracja co robić gdy webhook jest niedostępny
- **TLS required** - webhook musi serwować HTTPS (cert-manager w Sympozium)
- **Scope** - filtrowanie po zasobach, operacjach, namespace'ach
## Przykład konfiguracji
```yaml
apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingWebhookConfiguration
metadata:
name: sympozium-webhook
webhooks:
- name: validate.sympozium.ai
rules:
- apiGroups: ["sympozium.ai"]
resources: ["agentruns"]
operations: ["CREATE", "UPDATE"]
clientConfig:
service:
name: sympozium-webhook
namespace: sympozium-system
path: /validate-agent-pods
failurePolicy: Fail # Odrzuć jeśli webhook niedostępny
```
## Użycie w Sympozium
Sympozium używa admission webhook do enforcowania [[SympoziumPolicy]]:
- Sprawdza czy [[AgentRun]] spełnia politykę bezpieczeństwa
- Waliduje tool gating (allow/deny per tool)
- Enforces sandbox requirements
- Sprawdza limity sub-agentów
Enforcement odbywa się **at admission time** (przed tworzeniem poda), nie at runtime. Więcej w [[Admission Webhooks i polityki]].
---
Powiązane: [[Admission Webhooks i polityki]] | [[SympoziumPolicy]] | [[CRD - Custom Resource Definition]]