Comandos de Infraestrutura
Nesta seção, você encontra a lista de comandos de Infraestrutura.
| Comando | Descrição |
|---|---|
| stk create infra | Cria uma Infraestrutura. |
| stk deploy infra | Executa o deploy da sua Infraestrutura. |
| stk destroy infra | Destrói a Infraestrutura de um ambiente. |
| stk list infra | Lista as Infraestruturas registradas no seu Workspace. |
| stk register infra | Registra as informações de uma Infraestrutura em um Workspace. |
| stk rollback infra | Executa o rollback da sua Infraestrutura. |
| stk update infra | Atualiza as informações de uma Infraestrutura. |
| stk validate infra | Valida 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.
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ções | Descrição | Exemplo |
|---|---|---|
NOME_INFRA | Define 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, --stack | Stack 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-nameEscolher a versão da Stack: stk create infra my-infra-name --starter my-studio/my-stack@3.0.0/starter-nameEscolher 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-init | Utilize 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, --description | Define uma descrição da sua Infraestrutura e seu propósito. | stk create infra my-infra-name --description "my infra description" |
-q, --non-interactive | Nã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, --target | Define 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 TEXT | Fornece 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 TEXTO | Nome do Workflow utilizado para criar a Infraestrutura. | stk create infra my-example-infra --workflow studio-name/stack-name/workflow-name |
-rs, --report-status | Uso 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 TEXTO | Uso 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, --help | Exibe 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:
- Fazer o login na sua Conta com o comando stk login.
- Estar com um Workspace ativo. Acesse um Workspace com o comando stk use workspace.
Uso
stk deploy infra
Parâmetros
| Opções | Descrição | Exemplo |
|---|---|---|
-v, --version | Define 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, --env | Define 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, --branch | Nome da branch do Git que será usada no deployment. Opcional. | stk deploy infra --branch infra-last-release |
--open-api-path | Caminho para o arquivo Open API relativo à raiz do repositório Git. Opcional. | stk deploy infra --open-api-path /home/user/my-infra-folder |
-w, --watch | Monitora o status do deploy automaticamente. | stk deploy infra --env qa --watch |
-wf, --workflow | Define 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-status | Reporta 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-interactive | Habilita 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-config | Input 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-config | Recebe 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, --help | Exibe a ajuda do comando e sai. | stk deploy infra --help |
stk destroy infra
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ções | Descrição | Exemplo |
|---|---|---|
-e, --env | Ambiente em que foi feito o deploy da Infraestrutura. Obrigatório. | stk destroy infra --env prod |
-w, --watch | Monitora o status da destruição da Infraestrutura automaticamente. | stk destroy infra --env prod --watch |
-q, --non-interactive | Nã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 TEXTO | Nome do Workflow utilizado para destruir a Infraestrutura. | stk destroy infra --env prod --workflow studio-name/stack-name/workflow-name |
-rs, --report-status | Uso 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, --help | Exibe 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:
- Fazer o login na sua Conta com o comando stk login.
- Estar com um Workspace ativo. Acesse um Workspace com o comando stk use workspace.
Uso
stk list infra
Parâmetros
| Opções | Descrição | Exemplo |
|---|---|---|
-h, --help | Exibe 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:
- Fazer o login na sua Conta com o comando stk login.
- Estar com um Workspace ativo. Acesse um Workspace com o comando stk use workspace.
Uso
stk register infra
Parâmetros
| Opções | Descrição | Exemplo |
|---|---|---|
-r, --remote | Define 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-branch | Nome da branch base do repositório da sua Infraestrutura. | stk register infra --base-branch my-shared-infra-branch |
-er, --extra-repositories TEXT | Fornece 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, --help | Exibe 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ções | Descrição | Exemplo |
|---|---|---|
-v, --version | Versã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, --env | Ambiente 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, --watch | Monitora o status do rollback da Infraestrutura automaticamente. | stk rollback infra --version 2.2.0 --env prod --watch |
-q, --non-interactive | Nã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 TEXTO | Nome do Workflow para rollback da Infraestrutura. | stk rollback infra --version 1.2.0 --env prod --workflow studio-name/stack-name/workflow-name |
-bc, --backend-config | Uso 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-status | Uso exclusivo com Workflow. Reporta o status da execução como uma atividade. | stk rollback infra --version 1.2.0 --env prod --report-status |
-h, --help | Exibe 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
Os dados armazenados nos metadados da Infraestrutura serão sincronizados com a API.
Parâmetros
| Opções | Descrição | Exemplo |
|---|---|---|
-n, --name TEXTO | Atualiza o nome da Infraestrutura. | stk update infra --name infra-renamed |
-d, --description TEXTO | Atualiza a descrição da Infraestrutura. | stk update infra --description "minha nova descrição da infraestrutura" |
-r, --repo-url TEXTO | Adiciona 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 TEXTO | Atualiza a branch base do repositório Git da Infraestrutura. | stk update infra --repo-base-branch "update/infra-branch-name" |
-q, --non-interactive | Ativa o modo não interativo e não solicita nenhum parâmetro faltante. | stk update infra --non-interactive |
-er, --extra-repositories TEXT | Fornece 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, --help | Exibe 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.
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ções | Descrição | Exemplo |
|---|---|---|
-v, --verbose | Lista os detalhes de todos os itens analisados, validados e ignorados na sua Infraestrutura. | stk validate infra --verbose |
-h, --help | Exibe a ajuda do comando e sai. | stk validate infra --help |