O Registro Pulumi é o índice global de tudo o que você pode fazer com Pulumi. A casa de pulumi.com/registry.
Estamos sempre ansiosos para expandir esse índice com novos pacotes Pulumi. Se você deseja autorar um novo provedor nativo, preenche um provedor do ecossistema Terraform ou crie um componente em nuvem com as melhores práticas e os padrões sensatos incorporados, gostaríamos de trabalhar com você para listá -lo no registro de Pulumi. Para começar, use nosso guia sobre a criação de um pacote Pulumi próprio.
Publicar um pacote com a comunidade no Registro Pulumi como membro da comunidade:
docs/_index.md , que deve conter um resumo do objetivo do provedor (exigido) junto com uma amostra de código (preferida). Este arquivo renderizará como a página de índice do seu provedor (exemplo).docs/installation-configuration.md , que deve conter links para pacotes SDK em cada idioma, juntamente com instruções para configurar o provedor (por exemplo, credenciais necessárias e/ou variáveis de ambiente). Este arquivo renderizará como a página de instalação e configuração do seu provedor (exemplo).Para obter assistência, entre em contato com a folga da comunidade Pulumi ou entre em contato conosco por meio deste formulário de contato.
Depois que o membro da comunidade enviar o PR para adicionar o provedor ao registro, um membro da equipe da Pulumi deve executar as seguintes etapas:
Revise o pr. Certifique -se de que o PR tenha sido rebocado, se necessário, antes da fusão. Se ok, mescla.
Depois que o PR for mesclado, uma tarefa agendada captará as alterações e criará um PR para adicionar os metadados do pacote ao registro. Um metadata correto PR (exemplo) incluirá os seguintes arquivos, no mínimo:
data/registry/${PROVIDER}.yaml que inclui metadados estruturados sobre o provedor. Este arquivo está sempre incluído em todos os PR que são gerados para uma nova versão.themes/default/content/registry/packages/${PROVIDER}/installation-configuration.md , conforme descrito acima. Esse arquivo deve ser incluído na primeira versão, mas só será incluído no PRS subsequente se o conteúdo tiver alterado.themes/default/content/registry/packages/exoscale/_index.md , conforme descrito acima. Esse arquivo deve ser incluído na primeira versão, mas só será incluído no PRS subsequente se o conteúdo tiver alterado.Opcionalmente, o PR pode incluir arquivos de conteúdo adicionais, como guias de instruções, se estiverem presentes no repositório a montante.
Mesclar o PR se parecer ok.
No Pulumi/Docs, uma tarefa programada é executada a cada hora e pega quaisquer alterações nesse repositório, gerará arquivos do esquema do provedor e data/registry/${PROVIDER}.yaml e publicar no Pulumi.com.
Atualmente, essa tarefa programada não possui monitoramento adequado e deve ser assistido para garantir que ela funcione corretamente até a conclusão . (Se falhar, bloqueará todas as atualizações do Pulumi.com, incluindo marketing e páginas de documentos mantidos manualmente.)
Este repositório é um módulo Hugo que funciona como um servidor de desenvolvimento para facilitar o trabalho nas páginas que compõem o registro do Pulumi. Ele contém todos os arquivos de content e layouts Hugo, JavaScript, CSS e componentes da Web. compreendendo o que você vê em https://pulumi.com/registry
Construímos os pacotes JavaScript e CSS que alimentam o Registro Pulumi aqui, sob o diretório de themes/default/theme . Se você estiver fazendo alterações de estilo ao longo das alterações de conteúdo do lado, use make serve-all para permitir a recarga a quente das páginas e dos ativos CSS/JS.
Construímos o site Pulumi estaticamente com Hugo, gerenciamos nossas dependências do Node.js com fios e escrevemos a maior parte de nossa documentação em Markdown. Abaixo está uma lista das ferramentas que você precisa para executar o site localmente:
Os pré -requisitos listados acima precisam ser instalados em sua máquina para servir o site.
make ensure para verificar as ferramentas e versões apropriadas e instalar quaisquer dependências. O script informará se você estiver perdendo algo importante.
make ensure
Uma vez que isso é bem -sucedido, make build_assets para construir os ativos dos quais o site depende. Isso precisa ser feito antes da primeira vez que você serve a este repositório para que os ativos existam em sua máquina local.
make build-assets
Depois de executar o acima com sucesso, você está pronto para executar o servidor de desenvolvimento:
make serve
Opcionalmente, use make serve-all para ativar a recarga quente das páginas e dos ativos CSS/JS.
Este repositório não contém o conteúdo dos pacotes da API DOCs. Geramos essas páginas no momento do implantação. Para renderizar os documentos da API para um pacote localmente, você precisará gerar as páginas da API Docs. Os documentos da API para pacotes podem ser gerados sob demanda usando a ferramenta resourcedocsgen .
cd tools/resourcedocsgen
go build -o "${GOPATH}/bin/resourcedocsgen" .
Como exemplo, você pode gerar os documentos da API para um pacote específico executando a ferramenta ResourceDocsgen e passando o nome do pacote da seguinte forma:
resourcedocsgen docs registry <package_name> --baseDocsOutDir "./themes/default/content/registry/packages"
Execute resourcedocsgen --help para obter ajuda em relação ao seu uso ou consulte o resourcedocsgen ReadMe.
Antes de enviar uma solicitação de tração, execute o linhador localmente:
make lint go.sum estiver pronto para enviar uma solicitação de tração, verifique se você removeu qualquer coisa que não pareça pertencer ( go.mod .
Observação
Atualmente, requer uma máquina com um mínimo de 32 GB de memória (64 GB preferencial) para construir o registro na íntegra, incluindo todos os Pacakges.
Depois que seu PR for aprovado e fundido na filial padrão deste repositório, ele será implantado no site de registro (https://pulumi.com/registry).