Das Pulumi -Register ist der globale Index von allem, was Sie mit Pulumi machen können. Die Heimat von Pulumi.com/registry.
Wir sind immer bestrebt, diesen Index mit neuen Pulum -Paketen zu erweitern. Egal, ob Sie einen neuen nativen Anbieter autorisieren, einen Anbieter aus dem Terraform -Ökosystem überbrücken oder eine Cloud -Komponente mit bewährten Verfahren und vernünftigen Standardeinstellungen erstellen möchten, wir möchten mit Ihnen zusammenarbeiten, um ihn in der Pulumi -Registrierung aufzulisten. Verwenden Sie, um zu beginnen, unseren Leitfaden zum Erstellen eines eigenen Pulumi -Pakets.
Veröffentlichung eines Community-gepflegten Pakets im Pulumi-Register als Community-Mitglied:
docs/_index.md , die zusammen mit einer Code -Probe (bevorzugt) eine Zusammenfassung des Zwecks des Anbieters (erforderlich) enthalten sollte. Diese Datei wird als Indexseite für Ihren Anbieter (Beispiel) ausgeführt.docs/installation-configuration.md , die Links zu SDK-Paketen in jeder Sprache sowie Anweisungen zum Konfigurieren des Anbieters (z. B. erforderliche Anmeldeinformationen und/oder Umgebungsvariablen) enthalten sollten. Diese Datei wird als Installations- und Konfigurationsseite für Ihren Anbieter (Beispiel) ausgeführt.Um Unterstützung zu erhalten, wenden Sie sich bitte an die Pulumi Community Slack oder setzen Sie sich über dieses Kontaktformular mit uns in Verbindung.
Sobald das Community -Mitglied den PR eingereicht hat, um den Anbieter in die Registrierung hinzuzufügen, sollte ein Mitarbeiter von Pulumi die folgenden Schritte ausführen:
Überprüfen Sie die PR. Stellen Sie sicher, dass die PR bei Bedarf vor dem Zusammenführen wiederhergestellt wurde. Wenn OK, verschmelzen.
Sobald die PR zusammengeführt wurde, wird eine geplante Aufgabe die Änderungen erfassen und eine PR erstellen, um die Paketmetadaten zur Registrierung hinzuzufügen. Ein korrekter Metadaten -PR (Beispiel) enthält mindestens die folgenden Dateien:
data/registry/${PROVIDER}.yaml das strukturierte Metadaten über den Anbieter enthält. Diese Datei ist immer in jeder PR enthalten, die für eine neue Version generiert wird.themes/default/content/registry/packages/${PROVIDER}/installation-configuration.md , wie oben beschrieben. Diese Datei muss in die erste Version enthalten sein, wird jedoch nur in den nachfolgenden PRs enthalten sein, wenn sich der Inhalt geändert hat.themes/default/content/registry/packages/exoscale/_index.md , wie oben beschrieben. Diese Datei muss in die erste Version enthalten sein, wird jedoch nur in den nachfolgenden PRs enthalten sein, wenn sich der Inhalt geändert hat.Optional kann der PR zusätzliche Inhaltsdateien wie Anleitungen enthalten, wenn sie im Upstream-Repo vorhanden sind.
Fucken Sie die PR zusammen, wenn es in Ordnung aussieht.
In Pulumi/DOCS wird eine geplante Aufgabe stündlich ausgeführt und Änderungen in diesem Repo erfasst, Dateien aus dem Anbieterschema und data/registry/${PROVIDER}.yaml generieren und an pulumi.com veröffentlichen.
In dieser geplanten Aufgabe fehlt derzeit eine angemessene Überwachung und sollte beobachtet werden, um sicherzustellen, dass sie bis zur Fertigstellung korrekt ausgeführt wird . (Wenn es fehlschlägt, blockiert es alle Updates auf pulumi.com, einschließlich Marketing und manuell gepflegte Dokumentenseiten.)
Dieses Repository ist ein Hugo -Modul, das als Entwicklungsserver dient, um die Arbeit auf den Seiten zu erleichtern, aus denen die Pulumi -Registrierung besteht. Es enthält alle Hugo content und layouts -Dateien, JavaScript, CSS und Webkomponenten. umfasst das, was Sie unter https://pulumi.com/registry sehen
Wir bauen die JavaScript- und CSS -Bundles, die die Pulumi -Registrierung hier unter dem Verzeichnis themes/default/theme mit Strom versorgen. Wenn Sie Änderungen des Stils entlang der Seite in den Inhalten vornehmen, verwenden Sie make serve-all um das heiße Nachladen sowohl der Seiten als auch der CSS/JS-Vermögenswerte zu ermöglichen.
Wir erstellen die Pulum -Website statisch mit Hugo, verwalten unsere Abhängigkeiten mit Node.js mit Garn und schreiben den größten Teil unserer Dokumentation in Markdown. Im Folgenden finden Sie eine Liste der Tools, die Sie für die lokale Website ausführen müssen:
Die oben aufgeführten Voraussetzungen müssen auf Ihrem Computer installiert werden, um die Website zu bedienen.
Durchführen make ensure dass Sie nach den entsprechenden Tools und Versionen überprüfen und Abhängigkeiten installieren. Mit dem Skript werden Sie wissen, ob Ihnen etwas Wichtiges fehlt.
make ensure
Sobald dies erfolgreich ist, make build_assets um das Vermögen zu erstellen, von dem die Website abhängt. Dies muss vor dem ersten Mal dieses Repo erfolgen, damit die Vermögenswerte auf Ihrer lokalen Maschine vorhanden sind.
make build-assets
Sobald Sie die oben genannten erfolgreich ausgeführt haben, sind Sie bereit, den Entwicklungsserver auszuführen:
make serve
Optional, verwenden Sie make serve-all , um das heiße Nachladen sowohl der Seiten als auch der CSS/JS-Vermögenswerte zu aktivieren.
Dieses Repository enthält nicht den Inhalt der API -DOCS -Pakete. Wir generieren diese Seiten zur Bereitstellung. Um die API -Dokumente für ein Paket vor Ort zu rendern, müssen Sie die API -Dokumente dafür generieren. Die API-Dokumente für Pakete können mithilfe des resourcedocsgen -Tools on-Demand generiert werden.
cd tools/resourcedocsgen
go build -o "${GOPATH}/bin/resourcedocsgen" .
Beispielsweise können Sie die API -Dokumente für ein bestimmtes Paket generieren, indem Sie das Ressourcenocsgen -Tool ausführen und den Namen des Pakets wie folgt übergeben:
resourcedocsgen docs registry <package_name> --baseDocsOutDir "./themes/default/content/registry/packages"
Führen Sie resourcedocsgen --help für Hilfe zur Verwendung oder den resourcedocsgen Readme aus.
Führen Sie vor dem Einreichen einer Pull -Anfrage den Linter lokal aus:
make lint Wenn Sie bereit sind, eine Pull -Anfrage einzureichen, stellen Sie sicher, dass Sie etwas entfernt haben, das nicht gehört ( go.mod / go.sum usw.) und die PR auf die übliche Weise einreichen.
Notiz
Derzeit benötigt eine Maschine mit mindestens 32 GB Speicher (64 GB bevorzugt), um das Register in seiner Gesamtheit einschließlich aller Pacakges aufzubauen.
Sobald Ihr PR genehmigt und in die Standardzweig dieses Repositorys zusammengefasst ist, wird er auf der Registrierungsseite (https://pulumi.com/registry) bereitgestellt.