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

83 lines
1.8 KiB
Markdown

# ConfigMap i Secret
#kubernetes #storage #słownik
## ConfigMap
**ConfigMap** przechowuje **niekonfidencjalne dane** jako pary klucz-wartość. Montowane jako pliki lub zmienne środowiskowe w podach.
```yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: my-agent-memory
data:
MEMORY.md: |
# Agent Memory
- Detected OOM on pod-x
```
### Montowanie jako pliki
```yaml
volumes:
- name: skills
configMap:
name: skillpack-k8s-ops
volumeMounts:
- name: skills
mountPath: /skills
readOnly: true
```
### Ograniczenia
- Max rozmiar: **1 MB** (etcd limit)
- Brak szyfrowania
- Widoczne w kubectl describe
## Secret
**Secret** przechowuje **poufne dane** (hasła, tokeny, klucze) zakodowane w base64.
```yaml
apiVersion: v1
kind: Secret
metadata:
name: openai-key
type: Opaque
data:
OPENAI_API_KEY: c2stYWJjMTIz # base64 encoded
```
### Montowanie jako env vars
```yaml
envFrom:
- secretRef:
name: openai-key
```
### Typy Secrets
| Typ | Opis |
|-----|------|
| `Opaque` | Dowolne dane |
| `kubernetes.io/tls` | Certyfikaty TLS |
| `kubernetes.io/dockerconfigjson` | Docker registry credentials |
| `kubernetes.io/service-account-token` | Token SA |
## Użycie w Sympozium
### ConfigMaps
- **Skills** - SkillPack → ConfigMap z Markdown instrukcjami, montowany w `/skills/`
- **Memory** (legacy) - `<instance>-memory` z kluczem `MEMORY.md`
- **Input** - Task + system prompt dla agenta
- **MCP config** - Konfiguracja MCP serwerów
### Secrets
- **AuthRefs** - Klucze API providerów LLM (OPENAI_API_KEY, ANTHROPIC_API_KEY)
- **Channel credentials** - Telegram bot token, Slack token
- **Web endpoint API key** - Auto-generated `sk-<hex>`
- **Skill secrets** - GH_TOKEN dla github-gitops (mirrored do namespace runu)
---
Powiązane: [[SkillPack]] | [[Persistent Memory]] | [[SympoziumInstance]]