Pulumi註冊表是您可以使用Pulumi所做的一切的全球指數。 Pulumi.com/Registry的故鄉。
我們始終渴望通過新的Pulumi軟件包擴展該索引。無論您是想撰寫新的本地提供商,從Terraform生態系統中橋接提供商,還是創建具有最佳實踐和內置明智默認值的雲組件,我們都希望與您一起在Pulumi註冊表上列出。要開始,請使用我們的指南來創作自己的Pulumi包。
以社區成員的身份發布有關PULUMI註冊表的社區維護包:
docs/_index.md ,該文檔應包含提供商目的(必需)以及代碼示例(首選)的摘要。此文件將作為您的提供商的索引頁面(示例)。docs/installation-configuration.md ,它應包含每種語言中SDK軟件包的鏈接以及配置提供商的說明(例如,必需的憑據和/或環境變量)。該文件將作為提供商的安裝和配置頁面(示例)。為了幫助您,請在Pulumi社區懈怠中與我們聯繫,或通過此聯繫表與我們聯繫。
一旦社區成員提交公關將提供商添加到註冊表中,PULUMI工作人員應執行以下步驟:
查看公關。在合併之前,請確保在必要時重新重新重建公關。如果可以的話,合併。
PR合併後,計劃的任務將拾取更改並創建PR將軟件包元數據添加到註冊表中。正確的元數據PR(示例)將至少包含以下文件:
data/registry/${PROVIDER}.yaml ,其中包括有關提供商的結構化元數據。該文件始終包含在新版本生成的每個PR中。themes/default/content/registry/packages/${PROVIDER}/installation-configuration.md ,如上所述。該文件必須包含在第一個版本中,但如果內容已更改,則僅包含在後續PR中。themes/default/content/registry/packages/exoscale/_index.md 。該文件必須包含在第一個版本中,但如果內容已更改,則僅包含在後續PR中。可選的是,如果PR在上游存儲庫中存在,則可能包括其他內容文件,例如操作指南。
如果看起來還可以,則合併PR。
在Pulumi/Docs中,一個計劃的任務每小時運行,並將在此存儲庫中獲取任何更改,從提供商模式和data/registry/${PROVIDER}.yaml生成文件,並發佈到Pulumi.com。
目前,該計劃的任務缺乏足夠的監視,應注意確保其正確運行以完成。 (如果失敗,它將阻止pulumi.com的所有更新,包括營銷和手動維護文檔頁面。)
該存儲庫是一個雨果模塊,可作為開發服務器加倍,以使其更容易在組成Pulumi註冊表的頁面上工作。它包含Hugo content和layouts文件,JavaScript,CSS和Web組件。包括您在https://pulumi.com/Registry上看到的內容
我們構建了JavaScript和CSS捆綁包,該捆綁包在這裡,在themes/default/theme目錄下為pulumi註冊表提供動力。如果您正在按照側面內容的更改進行樣式更改,請使用make serve-all以使同時重新加載頁面和CSS/JS資產。
我們使用Hugo靜態地構建Pulumi網站,使用紗線來管理我們的Node.js依賴項,然後在Markdown中寫出大部分文檔。以下是您在本地運行該網站所需的工具的列表:
上面列出的先決條件需要在計算機上安裝才能為網站服務。
運行make ensure檢查適當的工具和版本,並安裝任何依賴項。該腳本會讓您知道您是否缺少任何重要的東西。
make ensure
一旦成功,運行make build_assets以構建網站所取決於的資產。這需要在您第一次服務此存儲庫之前進行,以便本地機器上的資產存在。
make build-assets
一旦成功運行以上操作,就可以運行開發服務器:
make serve
可選地,請使用make serve-all來啟用頁面和CSS/JS資產的熱重新加載。
該存儲庫不包含API文檔軟件包的內容。我們在部署時間生成這些頁面。為了在本地渲染API文檔,您需要為其生成API文檔頁面。可以使用resourcedocsgen工具在按需生成包裝的API文檔。
cd tools/resourcedocsgen
go build -o "${GOPATH}/bin/resourcedocsgen" .
例如,您可以通過運行ResourceCsgen工具來生成特定軟件包的API文檔,並將其傳遞給軟件包的名稱:如下:
resourcedocsgen docs registry <package_name> --baseDocsOutDir "./themes/default/content/registry/packages"
運行resourcedocsgen --help在其使用方面提供幫助,或者查看resourcedocsgen Replme。
在提交拉動請求之前,請在本地運行Linter:
make lint當您準備提交拉動請求時,請確保您刪除了似乎不屬於的任何東西( go.mod / go.sum更改等),並以通常的方式提交PR。
筆記
目前,它需要一台至少32 GB內存(64 GB首選)的機器,以整體構建註冊表,包括所有Pacakges。
一旦您的PR被批准並合併到該存儲庫的默認分支中,它將部署到註冊表網站(https://pulumi.com/registry)。