Zum Inhalt springen
use-cases / onboard-developer-one-link / hero
SNAPSHOTS · CONTAINER-KOPIE

Einen Entwickler mit einem einzigen Link onboarden

Snapshotte deine Developer-Baseline einmal. Von da an bekommt jeder neue Mitarbeiter eine URL. Sie klicken auf irgendeinem Laptop drauf und sind in einem frischen Container, einem Klon der Baseline — Codebase, Dependencies, Env-Variablen, geseedete Datenbank, VS Code im Browser. In fünf Minuten Code schreiben. Kein Setup.

Snapshots-Docs lesen
use-cases / onboard-developer-one-link / mechanism

Wie eine URL zu einem laufenden Laptop wird

Hoody Snapshots erfassen einen ganzen Container — Files auf der Disk, User-Accounts, systemd-Unit-Files, geseedete Datenbank. Container Copy klont diesen Snapshot in einen frischen Container pro Entwickler. Der Link in der E-Mail ist die Route zu diesem frischen Container.

POST /api/v1/containers/[baseline_id]/copy4 SCHRITTE · EIN API-CALL
01

Snapshot der Baseline einmal

POST .../snapshots

Erstelle einen benannten Snapshot deines Referenz-Containers — alias dev-baseline. Wiederhole, wenn sich die Baseline ändert.

02

Copy bei jedem Neueinstieg

POST .../copy [ source_snapshot ]

Ein API-Call klont den Snapshot in einen frischen Container unter dem Projekt des neuen Entwicklers.

03

Ihre URL ist der Container

alex-laptop.containers.hoody.com

Der Container kommt von Anfang an mit einer öffentlichen URL. Pack sie in Slack. Sie klicken. Sie sind drin.

04

Terminal, Files, Browser

ttyd · webview · ssh

hoody_kit aktiviert Terminal-, File-Browser- und VS-Code-im-Browser-Endpoints automatisch. Nichts auf dem Laptop zu installieren.

onboard-alex.sh
# 1. Snapshot the baseline (do this once, refresh when you upgrade Node)
curl -X POST "$API/api/v1/containers/$BASE/snapshots" \
  -H "Authorization: Bearer $TOKEN" \
  -d '[ "alias": "dev-baseline" ]'

# 2. Copy the snapshot into a fresh container for the new hire
curl -X POST "$API/api/v1/containers/$BASE/copy" \
  -H "Authorization: Bearer $TOKEN" \
  -d '[
    "target_project_id": "$ACME",
    "name": "alex-laptop",
    "source_snapshot": "dev-baseline",
    "copy_firewall_rules": true,
    "copy_network_rules": true
  ]'

# 3. The response carries the container URL. Email it. That's onboarding.
# => https://alex-laptop.containers.hoody.com

Zwei POSTs und eine URL. Der Baseline-Snapshot ist der Vertrag; Container Copy ist der Konstruktor; die resultierende Subdomain landet in der Welcome-Mail. Keine Bastion zu provisionieren, kein Dotfiles-Repo zu klonen, keine Docker-Desktop-Lizenz zu verhandeln.

use-cases / onboard-developer-one-link / contrast

Von einer Wand aus Schritten zu einem einzigen Satz

Die README, die mit jedem Repo ausgeliefert wurde, hatte auch ihre Failure Modes dabei. Die Hälfte der Zeilen waren Workarounds für den Laptop, den der Neueinsteiger zufällig mitbrachte. Die URL ist kürzer, weil der Laptop nicht mehr im Bild ist — sondern die Umgebung.

README.md · setup47 SCHRITTE
  • 01Xcode CLI Tools installieren
  • 02Homebrew installieren
  • 03brew install node@20 pnpm postgres@15
  • 04PATH-Zeilen in .zshrc ergänzen
  • 05createdb acme_dev
  • 06Seed-Data-Repo klonen
  • 07Loader laufen lassen (dauert 25 min)
  • 08In #devops nach der Staging-.env fragen
  • ...39 weitere Zeilen, die du falsch machen wirst
Ø ZEIT BIS ZUM ERSTEN COMMITZWEI TAGE
WIRD ZU
die Welcome-Mail · v21 ZEILE

AN: alex@acme.com · BETREFF: WILLKOMMEN

Willkommen im Team. Öffne das hier, wenn du bereit bist, Code zu schreiben:

https://alex-laptop.containers.hoody.com

— infra@acme

ZEIT BIS ZUM ERSTEN COMMITFÜNF MINUTEN
use-cases / onboard-developer-one-link / dayone
TAG EINS · ALEX' MONTAG

Die README, die früher 47 Schritte hatte, ist jetzt eine Zeile: öffne diese URL.

08:59 — Laptop offen, Link in der Zwischenablage09:04 — erster Commit gepusht
Erster Commit, nach der UhrFÜNF MINUTEN · NULL INSTALLATIONEN
0108:59URL landet im Posteingangkein Laptop-Setup
0209:00URL öffnen — schon drinContainer ist der Workspace
0309:04Erster Commit gepushtCode schreiben, nicht konfigurieren
FILESCodebase schon geklont, Branch auf main
DEPSNode, pnpm, Postgres, Redis vorinstalliert
DATASeed-Datenbank geladen, Staging-.env injiziert
use-cases / onboard-developer-one-link / replaces

Was das ersetzt

Jedes davon versucht, eine funktionierende Umgebung auf den Laptop eines neuen Entwicklers zu bringen. Sie kosten alle Setup, Lizenz oder DIY-Glue. Eine Snapshot-URL kostet nichts davon — die Umgebung läuft schon.

  • GitHub CodespacesPer-Seat-Billing, devcontainer.json zu pflegen
  • GitpodPer-Workspace-Pricing, .gitpod.yml zu debuggen
  • DaytonaSelf-hosted Control Plane zu betreiben
  • CoderTemplates und Provisioner-Infrastruktur zum Babysitten
  • Devcontainer-SetupDocker-Desktop-Lizenz + VS-Code-Tanz pro Laptop
  • Lokale EntwicklungZwei Tage brew, Paths, .env-Anfragen in #devops
  • Onboarding-Docs47 Schritte, die driften, sobald jemand die Baseline updatet
use-cases / onboard-developer-one-link / cta

Hör auf, README-Setup-Schritte auszuliefern. Liefere eine URL.

use-cases / onboard-developer-one-link / related

Lies die anderen