Pular para o conteúdo principal

Comandos de Infraestrutura

Nesta seção, você encontra a lista de comandos de Infraestrutura.


ComandoDescrição
stk create infraCria uma Infraestrutura.
stk deploy infraExecuta o deploy da sua Infraestrutura.
stk destroy infraDestrói a Infraestrutura de um ambiente.
stk list infraLista as Infraestruturas registradas no seu Workspace.
stk register infraRegistra as informações de uma Infraestrutura em um Workspace.
stk rollback infraExecuta o rollback da sua Infraestrutura.
stk update infraAtualiza as informações de uma Infraestrutura.
stk validate infraValida a estrutura de uma Infraestrutura.

stk create infra

O comando stk create infra cria um ou mais recursos de Infraestrutura a partir dos Plugins do tipo infra de uma Stack.

Informação Adicional

Você não pode registrar ou fazer o deploy de Infraestruturas criadas fora de um Workspace.

A opção -o, --target permite definir um nome de pasta diferente para criar o conteúdo da Infraestrutura. Se a pasta não existir, ela será criada.

Se você não usar a opção -o ou --target, o nome da pasta do conteúdo da Infraestrutura será o mesmo que você deu ao criar a sua Infraestrutura.

Uso

stk create infra [NOME_INFRA] --stack [STUDIO/STACK]

Parâmetros

OpçõesDescriçãoExemplo
NOME_INFRADefine o nome da Infraestrutura. Se o nome não for informado, é definido o nome do repositório do parâmetro --remote.
stk create infra my-infra-name
-s, --stackStack que contém a lista de Plugins do tipo infra que serão aplicados na sua Infraestrutura. Deve seguir o padrão [STUDIO]/[STACK].
Você pode escolher a Stack no terminal de forma interativa.
stk create infra my-infra-name --stack my-studio/my-stack
-sr, --starter,
--starter studio-slug/stack-slug/starter-slug
Define o Starter que vai aplicar o conjunto de Plugins na sua Infraestrutura. Você deve informar o nome do Starter e seus dados de origem, como o Estúdio e a Stack. Você pode escolher a Stack no terminal de forma interativa.
Você pode escolher a versão da Stack informando, junto da flag --starter, a versão da Stack com --starter studio-slug/stack-slug@[number-version]/starter-slug.
Você pode informar o caminho do arquivo de um Starter (starter.yaml) para criar a Infraestrutura com um Starter local.
stk create infra my-infra-name --starter my-studio/my-stack/starter-name
Escolher a versão da Stack:
stk create infra my-infra-name --starter my-studio/my-stack@3.0.0/starter-name
Escolher um Starter local:
stk create infra my-infra-name --starter User/Documents/My-Local-Starters/starter-name.yaml
-r, --remote <git-url>Define a URL do repositório remoto Git que é usada como origem do projeto. Se não for informada, o repositório remoto não será configurado e você deve fazer o processo manualmente.
stk create infra my-infra-name --remote https://github.com/my-git-repository-url
-sgi, --skip-git-initUtilize essa opção para não inicializar um repositório Git durante a criação da Infraestrutura.
stk create infra my-infra-name --skip-git-init
-d, --descriptionDefine uma descrição da sua Infraestrutura e seu propósito.
stk create infra my-infra-name --description "my infra description"
-q, --non-interactiveNão pergunta para o usuário os parâmetros de entrada e retorna um erro caso algum parâmetro obrigatório não seja fornecido.
stk create infra my-infra-name --non-interactive
-sp, --spec [TEXTO]Caminho para o arquivo de especificações que contém os dados de inputs e connections para cada Plugin aplicado.
stk create infra my-infra-name --spec /home/user/specs-folder/infra.yaml
-o, --targetDefine um nome de pasta diferente para criar o conteúdo da Infraestrutura. Se a pasta não existir, ela será criada. Se você não usar a opção -o ou --target, o nome da pasta do conteúdo da Infraestrutura será o mesmo que você deu ao criar a sua Infraestrutura.
stk create infra my-infra-name --stack my-studio/my-stack --target home/user/Shared-Infra/my-infra
-er, --extra-repositories TEXTFornece uma lista de repositórios adicionais para a sua Infraestrutura. Cada repositório deve ser um objeto JSON com a seguinte estrutura:
"[{"name":"repository_name", "description": "repository_description", "provider": "repository_provider", "url": "repository_url"}]"
stk create infra my-example-infra --starter studio/stack/starter-name --extra-repositories "[{"name":"my-example-infra-repo", "description": "repository for test my infra", "provider": "github", "url": "https://github.com/my-organization-name/my-example-infra-repo"}]"
-wf, --workflow TEXTONome do Workflow utilizado para criar a Infraestrutura.
stk create infra my-example-infra --workflow studio-name/stack-name/workflow-name
-rs, --report-statusUso exclusivo com Workflow. Reporta o status da execução como uma atividade na Aplicação ou Infraestrutura.
stk create infra my-example-infra --workflow studio-name/stack-name/workflow-name --report-status
-i, --inputs-json TEXTOUso exclusivo com Workflow. Inputs do Workflow em formato JSON.
stk create infra my-example-infra --workflow studio-name/stack-name/workflow-name --inputs-json "[{"label":"Host","name":"host","type":"text","required":true},{"label":"Port","name":"port","type":"int","required":true}]"
-h, --helpExibe a ajuda do comando e sai.
stk create infra --help

stk deploy infra

O comando stk deploy infra executa o deploy da sua Infraestrutura em um Ambiente do seu Workspace.

Antes de executar o comando, você deve:

  1. Fazer o login na sua Conta com o comando stk login.
  2. Estar com um Workspace ativo. Acesse um Workspace com o comando stk use workspace.

Uso

stk deploy infra

Parâmetros

OpçõesDescriçãoExemplo
-v, --versionDefine a versão da tag de deploy. Você deve usar o padrão de versionamento semântico. Exemplo: 1.0.0.
stk deploy infra --version 1.0.0
-e, --envDefine o nome do Ambiente que será usado para executar o deploy da aplicação. Consulte os Ambientes disponíveis em seu Workspace por meio do comando stk list infra.
stk deploy infra --env qa
-b, --branchNome da branch do Git que será usada no deployment. Opcional.
stk deploy infra --branch infra-last-release
--open-api-pathCaminho para o arquivo Open API relativo à raiz do repositório Git. Opcional.
stk deploy infra --open-api-path /home/user/my-infra-folder
-w, --watchMonitora o status do deploy automaticamente.
stk deploy infra --env qa --watch
-wf, --workflowDefine o nome do Workflow de deploy ao usar Workflow para o deploy da Infraestrutura. O nome do Workflow deve ser o seu qualifier.
stk deploy infra --workflow studio/stack/workflow-name@1.0.0
-rs, --report-statusReporta o status da execução do deploy como uma atividade na Infraestrutura corrente, que fica disponível no Portal da StackSpot.
stk deploy infra --workflow studio/stack/workflow-name@1.0.0 --report-status
-q, --non-interactiveHabilita o modo não interativo. Não pergunta por parâmetros não informados.
stk deploy infra --workflow studio/stack/workflow-name@1.0.0 --report-status --non-interactive
-bc, --backend-configInput de uso exclusivo com Workflows StackSpot. Esse input define qual backend do Terraform deverá ser usado, ou seja, onde o estado dos deploys é salvo. Quando o tipo é S3, só é necessário o objeto s3. Quando o tipo é AZURERM, só é necessário o objeto azurerm. Use os contratos apresentados no guia de deploy.
stk deploy infra --workflow studio/stack/workflow-name@1.0.0 --report-status --non-interactive --backend-config '{"type":"S3","s3":{"iac":{"bucket":"","region":""},"tfstate":{"bucket":"","region":""}}}'
-rwc, --resume-workflow-configRecebe uma string JSON com as configurações de Azure, GitHub ou GitLab (uma por vez). Exemplos:
{"azure": {"pipeline_name": "...", "org": "...", "project_name": "...","branch": "..."}}
ou
{"github":{"repository_name": "...", "org": "...", "workflow_name": "...", "branch": "..."}}
ou
{"gitlab": {"id": "...", "slug": "..."}}
.
stk deploy infra --workflow studio/stack/workflow-name@1.0.0 --report-status --non-interactive --backend-config '{"type":"S3","s3":{"iac":{"bucket":"","region":""},"tfstate":{"bucket":"","region":""}}}' --resume-workflow-config '{"azure": {"pipeline_name": "...", "org": "...", "project_name": "...","branch": "..."}}'
-h, --helpExibe a ajuda do comando e sai.
stk deploy infra --help

stk destroy infra

Atenção

Este recurso está temporariamente desativado. Durante esse período, se precisar destruir uma Infraestrutura, contate o nosso suporte.

O comando stk destroy infra destrói uma Infraestrutura de um ambiente.

Uso

Sintaxe

stk destroy infra --env <ENV_NAME>

Exemplo

Você deve acessar a pasta da Infraestrutura que deseja destruir e executar o comando:

cd my-shared-infra-folder
stk destroy infra --env prod

Parâmetros

OpçõesDescriçãoExemplo
-e, --envAmbiente em que foi feito o deploy da Infraestrutura. Obrigatório.
stk destroy infra --env prod
-w, --watchMonitora o status da destruição da Infraestrutura automaticamente.
stk destroy infra --env prod --watch
-q, --non-interactiveNão pergunta para o usuário os parâmetros de entrada e retorna um erro caso algum parâmetro obrigatório não seja fornecido.
stk destroy infra --env prod --non-interactive
-wf, --workflow TEXTONome do Workflow utilizado para destruir a Infraestrutura.
stk destroy infra --env prod --workflow studio-name/stack-name/workflow-name
-rs, --report-statusUso exclusivo com Workflow. Reporta o status da execução como uma atividade na Aplicação ou Infraestrutura.
stk destroy infra --env prod --workflow studio-name/stack-name/workflow-name --report-status
-h, --helpExibe a ajuda do comando e sai.
stk destroy infra --help

stk list infra

O comando stk list infra exibe no terminal uma lista com todas as Infraestruturas registradas no seu Workspace.

Antes de executar o comando, você deve:

  1. Fazer o login na sua Conta com o comando stk login.
  2. Estar com um Workspace ativo. Acesse um Workspace com o comando stk use workspace.

Uso

stk list infra

Parâmetros

OpçõesDescriçãoExemplo
-h, --helpExibe a ajuda do comando e sai.
stk list infra --help

stk register infra

O comando stk register infra faz o registro de uma Infraestrutura em seu Workspace.

Antes de executar o comando, você deve:

  1. Fazer o login na sua Conta com o comando stk login.
  2. Estar com um Workspace ativo. Acesse um Workspace com o comando stk use workspace.

Uso

stk register infra

Parâmetros

OpçõesDescriçãoExemplo
-r, --remoteDefine a URL do repositório remoto Git que é usado para hospedar a sua Infraestrutura.
stk register infra --remote https://github.com/my-git-repository-url
-bb, --base-branchNome da branch base do repositório da sua Infraestrutura.
stk register infra --base-branch my-shared-infra-branch
-er, --extra-repositories TEXTFornece uma lista de repositórios adicionais para a sua Infraestrutura. Cada repositório deve ser um objeto JSON com a seguinte estrutura:
"[{"name":"repository_name", "description": "repository_description", "provider": "repository_provider", "url": "repository_url"}]"
stk register infra --remote https://github.com/my-git-repository-url --extra-repositories "[{"name":"my-example-infra-repo", "description": "repository for test my infra", "provider": "github", "url": "https://github.com/my-organization-name/my-example-infra-repo"}]"
-h, --helpExibe a ajuda do comando e sai.
stk register infra --help

stk rollback infra

O comando stk rollback infra executa o rollback da sua Infraestrutura.

Uso

Sintaxe

stk rollback infra --version <VERSION> --env <ENV_NAME>

Exemplo

stk rollback infra --version 2.2.0 --env prod

Parâmetros

OpçõesDescriçãoExemplo
-v, --versionVersão da tag utilizada no deploy. O padrão deve seguir o versionamento semântico.
stk rollback infra --version 2.2.0 --env prod
-e, --envAmbiente que será usado para executar o rollback. Você pode consultar os ambientes disponíveis utilizando o comando stk list env.
stk rollback infra --version 2.2.0 --env prod
-w, --watchMonitora o status do rollback da Infraestrutura automaticamente.
stk rollback infra --version 2.2.0 --env prod --watch
-q, --non-interactiveNão pergunta para o usuário os parâmetros de entrada e retorna um erro caso algum parâmetro obrigatório não seja fornecido.
stk rollback infra --version 2.2.0 --env prod --non-interactive
-wf, --workflow TEXTONome do Workflow para rollback da Infraestrutura.
stk rollback infra --version 1.2.0 --env prod --workflow studio-name/stack-name/workflow-name
-bc, --backend-configUso exclusivo com Workflows StackSpot. Define o backend Terraform utilizado para salvar o estado dos deploys. Para S3, informe apenas o objeto S3; para AZURERM, apenas o objeto azurerm. Veja contratos no guia de deploy.
stk rollback infra --version 1.2.0 --env prod --report-status --non-interactive --backend-config '{{"type":"S3","s3":{"iac":{"bucket":"","region":""},"tfstate":{"bucket":"","region":""}}}}'
-rs, --report-statusUso exclusivo com Workflow. Reporta o status da execução como uma atividade.
stk rollback infra --version 1.2.0 --env prod --report-status
-h, --helpExibe a ajuda do comando e sai.
stk rollback infra --help

stk update infra

O comando stk update infra atualiza as informações de uma Infraestrutura na StackSpot.

Você pode atualizar as seguintes informações da Infraestrutura:

  • name;
  • description;
  • repository URL;
  • default branch.

Uso

Sintaxe

stk update infra [OPTIONS]

Exemplo

stk update infra --name infra-renamed-example
Informação Adicional

Os dados armazenados nos metadados da Infraestrutura serão sincronizados com a API.

Parâmetros

OpçõesDescriçãoExemplo
-n, --name TEXTOAtualiza o nome da Infraestrutura.
stk update infra --name infra-renamed
-d, --description TEXTOAtualiza a descrição da Infraestrutura.
stk update infra --description "minha nova descrição da infraestrutura"
-r, --repo-url TEXTOAdiciona ou atualiza a URL do repositório Git da Infraestrutura.
stk update infra --repo-url https://github.com/my-org/my-new-infra-repository
-b, --repo-base-branch TEXTOAtualiza a branch base do repositório Git da Infraestrutura.
stk update infra --repo-base-branch "update/infra-branch-name"
-q, --non-interactiveAtiva o modo não interativo e não solicita nenhum parâmetro faltante.
stk update infra --non-interactive
-er, --extra-repositories TEXTFornece uma lista de repositórios adicionais para a sua Infraestrutura. Cada repositório deve ser um objeto JSON com a seguinte estrutura:
"[{"name":"repository_name", "description": "repository_description", "provider": "repository_provider", "url": "repository_url"}]"
stk update infra --name infra-renamed --extra-repositories "[{"name":"my-example-infra-repo", "description": "repository for test my infra", "provider": "github", "url": "https://github.com/my-organization-name/my-example-infra-repo"}]"
-h, --helpExibe a ajuda do comando e sai.
stk update infra --help

stk validate infra

O comando stk validate infra valida a estrutura de uma Infraestrutura. Para validar uma Infraestrutura, execute o comando dentro da pasta da Infraestrutura.

O comando irá:

  • Validar a estrutura da sua Infraestrutura;
  • Remover pastas vazias;
  • Ignorar arquivos e pastas que você não deseja manter ao finalizar o desenvolvimento da sua aplicação.
informação

Os arquivos ignorados no arquivo .gitignore não serão validados pelo comando.

Ao final da execução do comando, ele apresenta uma mensagem com as inconsistências e o resultado da validação.

Uso

stk validate infra

Parâmetros

OpçõesDescriçãoExemplo
-v, --verboseLista os detalhes de todos os itens analisados, validados e ignorados na sua Infraestrutura.
stk validate infra --verbose
-h, --helpExibe a ajuda do comando e sai.
stk validate infra --help