Skip to content

donapart/DevOpsTool

Repository files navigation

DevOps Hybrid Cockpit

IONOS + Hetzner in VS Code vereint.

Eine VS Code Extension, die das nervige Tab-Hopping zwischen IONOS und Hetzner Control Panels beendet. Verwalten Sie DNS-Records und Cloud-Server direkt aus Ihrem Editor.


Features

🌐 DNS Management (IONOS)

  • Domain-Übersicht: Alle Ihre IONOS-Domains auf einen Blick
  • Record-Verwaltung: A, AAAA, MX, CNAME, TXT Records anzeigen und bearbeiten
  • Quick Edit: Klick auf Record β†’ neuen Wert eingeben β†’ fertig
  • TTL Toggle: Schnell zwischen 60s (Migration) und 1h (Normal) wechseln
  • Propagation Check: PrΓΌfen Sie, ob DNS-Γ„nderungen bei Google, Cloudflare und Quad9 angekommen sind

πŸ–₯️ Server Management (Hetzner Cloud)

  • Server-Übersicht: Status-Anzeige mit farbigen Icons (🟒 Running, πŸ”΄ Off, 🟑 Migrating)
  • Power Control: Soft Reboot, Power On/Off, Hard Reset
  • Rescue Mode: Mit einem Klick aktivieren – Root-Passwort wird automatisch kopiert
  • Snapshots: Backup vor dem Deployment direkt aus VS Code
  • SSH Terminal: Γ–ffnet eine SSH-Session im integrierten Terminal
  • Web Console: Direktlink zur Hetzner Cloud Console

πŸ”— Bridge (Der echte Mehrwert)

  • Copy IP β†’ Update DNS: Server-IP kopieren, dann auf Domain anwenden – ohne Copy-Paste-Fehler
  • DevOps Clipboard: Internes Clipboard fΓΌr den Workflow zwischen Providern

πŸ—ΊοΈ DevOps Map (Visuelle Übersicht)

  • Interaktive Mindmap: Alle Accounts, Projekte, Domains, Server und Records in einer visuellen Übersicht
  • Flexible Filter:
    • Single/Multi-Select Modus pro Filter-Kategorie (Typ, Provider, Projekt)
    • Schnellsuche fΓΌr sofortige Filterung
  • Darstellungsoptionen:
    • Layout-Modi: Hierarchisch, Kreis, Grid, Force-Directed
    • Node-Grâße: 50% - 200% anpassbar
    • Verbindungsstile: Gerade, Gebogen, Gestrichelt
    • VerbindungsstΓ€rke: 1-5px einstellbar
    • Labels: Ein/Ausblenden
    • Node-Farben: Nach Typ, Provider, Projekt oder Status
  • Interaktion: Zoom, Pan, Zentrieren, Reset View
  • Export: JSON-Export der gesamten Map-Daten

Installation

  1. Extension in VS Code installieren
  2. In der Seitenleiste auf das Cloud-Icon (DevOps) klicken
  3. Tokens konfigurieren (siehe unten)

Tokens einrichten

IONOS DNS Token

  1. Γ–ffnen Sie die IONOS Developer Console
  2. Erstellen Sie einen neuen API Key
  3. In VS Code: Ctrl+Shift+P β†’ "DevOps Setup: Set IONOS DNS Token"
  4. Token im Format public_prefix.secret eingeben

Hetzner Cloud Token

  1. Γ–ffnen Sie die Hetzner Cloud Console
  2. WΓ€hlen Sie ein Projekt β†’ Security β†’ API Tokens
  3. Neuen Token mit Read & Write Berechtigung erstellen
  4. In VS Code: Ctrl+Shift+P β†’ "DevOps Setup: Set Hetzner Cloud Token"

πŸ”’ Sicherheit: Tokens werden verschlΓΌsselt im VS Code SecretStorage gespeichert – nicht im Klartext in settings.json.


Workflows

Domain auf neuen Server zeigen

1. Server in "COMPUTE (HETZNER)" finden
2. Rechtsklick β†’ "Copy IP" (πŸ“‹)
3. DNS Record in "DOMAINS (IONOS)" finden
4. Rechtsklick β†’ "Update from DevOps Clipboard"
5. BestΓ€tigen β†’ fertig!

Vor einer Migration

1. A-Record finden
2. Rechtsklick β†’ "Set TTL to 60s (Migration Mode)"
3. Warten bis propagiert (Check Propagation)
4. Migration durchfΓΌhren
5. Nach Abschluss: "Set TTL to 1h (Normal)"

Server-Notfall (System hΓ€ngt)

1. Server in Liste finden
2. Rechtsklick β†’ "Hard Reset (Emergency)"
3. ⚠️ BestÀtigen (Datenverlust mâglich!)

Rescue Mode fΓΌr Reparaturen

1. Server finden
2. Rechtsklick β†’ "Enable Rescue Mode"
3. Root-Passwort wird in Zwischenablage kopiert
4. Server bootet in Rescue-Linux
5. SSH verbinden und reparieren

Einstellungen

Setting Default Beschreibung
devops.debugLogging false AusfΓΌhrliches Logging im Output-Panel
devops.readOnly false Read-Only Modus – alle Schreiboperationen deaktiviert
devops.cacheTtlSeconds 30 Cache-Dauer fΓΌr API-Antworten

Read-Only Modus

Aktivieren Sie devops.readOnly in den Einstellungen, wenn Sie die Extension nur zum Browsen nutzen mΓΆchten, ohne versehentlich etwas zu Γ€ndern. Alle mutierenden Aktionen (DNS Update, Server Reboot, etc.) werden dann blockiert.


Commands

Alle Commands sind ΓΌber Ctrl+Shift+P erreichbar:

Command Beschreibung
DevOps: Refresh Alle Views neu laden
DevOps: Show Logs Output-Panel ΓΆffnen
DevOps Setup: Set IONOS DNS Token IONOS API Key eingeben
DevOps Setup: Set Hetzner Cloud Token Hetzner API Key eingeben
DevOps Setup: Clear IONOS Token IONOS Token lΓΆschen
DevOps Setup: Clear Hetzner Token Hetzner Token lΓΆschen

Architektur

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    VS Code Extension                        β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  UI Layer (Tree Views)                                      β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                  β”‚
β”‚  β”‚ DomainsTreeView β”‚  β”‚ ComputeTreeView β”‚                  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜                  β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Core Layer                                                 β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”                 β”‚
β”‚  β”‚           ProviderManager             β”‚                 β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                 β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Provider Layer      β”‚                                      β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                 β”‚
β”‚  β”‚  IonosDnsProvider  β”‚  HetznerCloudProvider              β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                 β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Utilities                                                  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”          β”‚
β”‚  β”‚ Logging β”‚ β”‚ Caching β”‚ β”‚ Errors  β”‚ β”‚ Guards  β”‚          β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Entwicklung

# Dependencies installieren
npm install

# Kompilieren
npm run compile

# Watch-Mode
npm run watch

# Extension testen (F5 in VS Code)

Roadmap

  • IONOS Compute (Cloud Server)
  • Hetzner Robot (Dedicated Server)
  • DNS Presets (Mail-Templates mit einem Klick)
  • "Provision & Point" Wizard (Server erstellen + DNS automatisch setzen)
  • Multi-Account Support

Sicherheitshinweise

  • Tokens sind sensibel: Sie kΓΆnnen Domains ΓΌbernehmen und Server lΓΆschen
  • Nutzen Sie den Read-Only Modus fΓΌr sicheres Browsen
  • Vor destruktiven Aktionen erscheint immer ein BestΓ€tigungsdialog
  • Tokens werden niemals in Logs oder settings.json gespeichert

Lizenz

MIT


Feedback & Issues

Probleme oder Feature-WΓΌnsche? GitHub Issues

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors