Team Vault

Gemeinsamer Obsidian-Vault des WebDev-Teams, synchronisiert über Git

Quickstart — Was muss ich tun?

1. Repo klonen

 
# DDoS Doings
 
## ETL
 
- Redundanz aller Systeme, die **Daten**/Konfigurationen vorhalten
  - Abhängig von Risiko/Priorität/Kritikalität
- Shopware-Fallback
  - Risiko des Ausfalls: gering - mittel
  - Aufwand: mittel - sehr hoch (kommt drauf an)
  - Docker + Redis + Co (Pullumi)
  - Feuerwehrübung
 
## Bilder / Cloudinary
 
- Risiko: gering
- Aufwand: mittel - hoch (ohne Cloudflare-Cache)
- Prüfung, Caching via Cloudflare einzusetzen
  - Potenzielle Kosteneinsparung durch weniger Traffic und Cache bei Cloudinary
  - Cache-invalidation!!
- Backup direkt bei Cloudinary via S3 evtl sinnvoll oder quatsch mit Cloudflare?
 
## Proxy
 
- Risiko eines Ausfalls: Siehe Netlify (aber Zukunftssicherheit / Freiheit)
- Austausch: gering - unmöglich
- **Research** Reverse-Proxy via Cloudflare statt NetlifySplash
  - Unabhängigkeit von Netlify
  - Update NextJS Abhängigkeit
 
## Algolia
 
- Risiko des Ausfalls: Gering
- Austausch: Einfach - research done
- Research TypeSense statt Algolia
  - Zumindest als Notfall-Fallback für einen MVP (Einkauf möglich)
- Zusätzlich zur technischen Umsetzung im FE, auch ETL-Import klären
- Dokumentation schreiben und schulen (Notfall-übung)
 
## Netlify
 
- Risiko eines Ausfalls: Medium - Hoch
- Austausch: Aufwand sehr hoch (je nach Abhängikeit zu anderen Themen)
- Fallback / Ersatz
- Vercel oder Cloudflare-Pages oder GitHub-Pages?
- Netlify-Server reden nur mit Cloudflare
  - Ursprugsserver-Zertifikat bei Cloudflare
 
## Contentful
 
- Risiko des Ausfalls: Sehr gering (kann Shop nicht abschießen)
- Austausch: mittel - hoch
- Research Fallback zu Strapi
  - Datensicherung!!
 
## Cloudflare
 
- Risiko des Ausfalls: gering
- Austausch: Einfach - wenn weg, alter Status
- Deep-Dive der Möglichkeiten
 
## Security
 
- Alle Shared Passwörter aktualisieren und MFA aktivieren
- Pakete externen aktualisieren
- API-Tokens aktualisieren + deren Rechte + Benennung (MALTE!)
 
---
 
## Prio
 
1. Cloudflare vor Shopware-API als selber Gatekeeper
2. Cloudflare Deep-Dive
3. Netlify Splash-Direktangriff (parallel zu onboarding)
4. Passwörter ändern und MFA aktivieren
5. Proxy via Cloudflare + Netlify-Ersatz
6. Bilder-Caching via Cloudflare
7. `yarn upgrade-interactive --latest`
8. TypeSense-Doku
 
![[assets/img/ddos-doings-graph.png]]
git clone https://github.com/eBusEmmos/docs_team-vault.git ~/Obsidian/team-vault

Hinweis: HTTPS funktioniert out-of-the-box — GitHub fragt beim Push nach Username + Personal Access Token (PAT). Alternativ per SSH: git clone git@github.com:eBusEmmos/docs_team-vault.git ~/Obsidian/team-vault — dafür muss ein SSH-Key bei GitHub hinterlegt sein (Anleitung).

2. Obsidian installieren

Download: obsidian.md

3. Vault öffnen

In Obsidian: Open folder as vault~/Obsidian/team-vault auswählen.

4. Community Plugins installieren

In Obsidian: Settings → Community Plugins → Turn on community plugins, dann folgende Plugins installieren:

PluginAutorZweck
obsidian-gitVinzent03Git-Sync (Auto-Pull/Commit/Push)
ExcalidrawzsviczianDiagramme
Advanced SlidesMSzturcPräsentationen aus Markdown
DataviewblacksmithguAbfragen über Notizen
TemplaterSilentVoid13Templates
KanbanmgmeyersOptional: Kanban-Boards

5. obsidian-git konfigurieren

Settings → Community Plugins → Git:

EinstellungWert
Vault backup interval (minutes)5
Auto pull interval (minutes)5
Pull updates on startupon
Commit messagevault: {{date}} — {{hostname}}
Pull before pushon

6. Fertig

Nach der Konfiguration synchronisiert obsidian-git alle 5 Minuten automatisch.


Ordnerstruktur

team-vault/
├── 00-meta/          # Onboarding, Konventionen, Vault-Infos
├── 10-team/          # Prozesse, Meetings, Jahresziele
├── 20-architecture/  # Tech-Entscheidungen, ADRs, Infrastruktur
├── 30-projects/      # Laufende Initiativen, Projekte
├── 40-knowledge/     # How-Tos, Snippets, Wissenssammlung
├── 50-people/        # 1:1-Notizen (private/ ist gitignored)
├── assets/
│   ├── img/          # Bilder, Screenshots
│   └── excalidraw/   # Excalidraw-Dateien
├── .github/workflows/
│   └── publish.yml   # Quartz → GitHub Pages (optional)
└── .gitignore

Konventionen (Kurzfassung)

  • Dateinamen: kebab-case.md, keine Umlaute (ae statt ä), kein Datum-Prefix
  • Frontmatter: Jede Datei bekommt YAML-Header mit title, date, tags, authors
  • Bilder: nach assets/img/, einbetten via ![[assets/img/name.png]]
  • Kleine Edits: direkt commit + push (obsidian-git macht das automatisch)
  • Grosse Umbauten: Pull Request

Ausführliche Konventionen: conventions.md

Merge-Konflikte

Falls obsidian-git einen Konflikt meldet:

  1. Betroffene Datei in Obsidian (oder Editor) öffnen
  2. <<<<<<< / ======= / >>>>>>> Marker auflösen
  3. Speichern — Plugin pusht automatisch weiter

Bei Unsicherheit: Branch ziehen, PR aufmachen.

Web-Publikation

Der GitHub Actions Workflow (.github/workflows/publish.yml) baut den Vault via Quartz als durchsuchbare Website und deployed auf Cloudflare Pages. Zugang ist via Cloudflare Access auf Org-Mitglieder beschraenkt.

URL: https://docs-team-vault.pages.dev/

Status: Die Seite ist live und wird bei jedem Push auf main automatisch aktualisiert.

Einrichtung (einmalig, Admin)

  1. Cloudflare API Token erstellen: Cloudflare Dashboard → My Profile → API Tokens → Custom Token mit Cloudflare Pages: Edit Permission
  2. GitHub Secrets im Repo setzen (Settings → Secrets → Actions):
    • CLOUDFLARE_API_TOKEN — der Token von Schritt 1
    • CLOUDFLARE_ACCOUNT_ID — aus dem Cloudflare Dashboard (rechte Sidebar auf der Account-Startseite)
  3. Cloudflare Access Policy einrichten (Zero Trust Dashboard → Access → Applications):
    • Application Type: Self-hosted
    • Application domain: docs-team-vault.pages.dev
    • Policy: Allow → Include → GitHub OrganizationseBusEmmos
    • Damit koennen nur Org-Mitglieder die Seite sehen (Login via GitHub OAuth)

KI-Kontext

Dieses Repo kann als zusätzlicher Workspace in Cursor/Copilot/Claude geöffnet werden — alle Markdown-Dateien stehen dann als Kontext zur Verfügung.