Criar Infraestrutura com deploy no STK CLI
Introdução
- Nível Intermediário
Este exemplo mostra:
- Como criar uma Infraestrutura aplicando um Plugin por vez.
- Como registrar essa Infraestrutura.
- Como fazer o deploy dessa Infraestrutura.
Pré-requisitos
-
STK CLI instalado;
-
Estar logado na conta StackSpot. Para isso, executar o comando no terminal:
stk login
-
Estar dentro de um Workspace, nesse exemplo o Workspace é chamado Runtimes.
-
Ter uma Stack de infraestrutura pronta adicionada ao Workspace. Neste exemplo será utilizado uma Stack com os seguintes Plugins de Infra já criados:
- s3-bucket: este plugin gera um bucket s3.
Confira os arquivos do Plugin e Terraform
- s3-create-and-publish: Este Plugin exige Connection Interfaces do tipo
sqs
e do tipos3
. O Plugin utiliza oarn
dosqs
para criar um arquivo com o conteúdo do próprioarn
dosqs
. E também faz o upload desse arquivo para o s3 utilizado.
Confira os arquivos do Plugin e Terraform
- sqs-queues: É um
sqs
simples. Esse plugin gera duas Connection Interfaces do tiposqs
, simulando a criação de uma fila e a DLQ Fila de Mensagem não entregue associada.
Confira os arquivos do Plugin e Terraform
Passos para criação, registro e deploy da Infraestrutura
Criar Infraestrutura e aplicar Plugins
Passo 1. No terminal, acessar o Workspace para criar a Infraestrutura.
stk use workspace runtimes
Passo 2. Agora é o momento de criar a Infraestrutura. Para isso, é preciso executar o comando no terminal:
stk create infra
Depois disso, responder as perguntas da STK CLI com os seguintes dados:
-
? Name your infrastructure: example-infra-1
-
? Do you want to init a git repository? No
-
? Infrastructure description: Exemplo de deploy por Plugin
-
? Select the studio: estudio-nome
Neste momento, você seleciona o estúdio onde a Stack se encontra.
- ? Select the Stack: example-stack
Selecionar a Stack descrita nos pré-requisitos acima.
- ? Select the desired infra plugins: [s3-bucket@0.0.1]
Selecionar apenas o
bucket-s3
. Isso para aplicar um plugin de cada vez.
- ? Name de usage of the plugin (runtime-demo-dbp/deploy-by-plugin/s3-bucket): bucket-1
Esse é o spec
alias
de aplicação do Plugin. É o nome que você dá para a utilização do Plugin na sua Infraestrutura, pois ele pode ser aplicado mais de uma vez.
- ? Name the connector for 'created-s3-bucket (aws-s3-conn)': deploy-by-plugin-s3-example
O nome da Connection Interface que será criada no Portal da StackSpot.
- ? Name: deploy-by-plugin-s3-exemplo
Nome do recurso que será criado na AWS.
Depois de responder todas as perguntas e apertar enter. O primeiro Plugin foi aplicado e a Infraestrutura foi criada.
Agora, o segundo Plugin deste exemplo será aplicado. É o Plugin de sqs
.
Passo 3. Acessar novamente a pasta do projeto da Infraestrutura. Executar o comando:
cd example-infra-1
Passo 4. Executar o comando para aplicar o Plugin sqs-queues
:
stk apply plugin studio-name/example-stack/sqs-queues
Depois disso, responder as perguntas da STK CLI com os seguintes dados:
- ? Name de usage of the plugin (studio-name/example-stack/sqs-queues): sqs-1
Esse é o spec
alias
de aplicação do Plugin. É o nome que você dá para a utilização do Plugin na sua Infraestrutura, pois ele pode ser aplicado mais de uma vez.
? Name de connector for 'created-queue (aws-sqs-conn)': sqs-example
É o nome da Connection Interface que será criada no Portal da StackSpot.
? Name de connector for 'created-queue-dlq (aws-sqs-conn)': sqs-dlq-example
Nome da Connection Interface que será criada no Portal da StackSpot.
? Name sqs-example: sqs-example
Nome do recurso que será criado na AWS.
Pronto! O segundo Plugin foi aplicado.
Passo 5. Agora só falta aplicar o Plugin s3-create-and-publish
.
Para isso, executar o comando:
stk apply plugin studio-name/example-stack/s3-create-and-publish
Em seguida, responder as perguntas:
- ? Name the usage of the plugin (studio-name/example-stack/s3-create-and-publish): s3-publish
Esse é o spec
alias
de aplicação do Plugin. É o nome que você dá para a utilização do Plugin na sua Infraestrutura, pois ele pode ser aplicado mais de uma vez.
- ? Choose a connector for 'aws-s3-conn (my-s3)': deploy-by-plugin-s3-exemplo
selecionar: s3-example
- ? Choose a connector for 'aws-sqs-conn (my-sqs)': sqs-example
Neste exemplo, tem apenas uma Connection Interface do tipo sns disponível. O STK CLI automaticamente já escolheu essa opção.
-
? Name: s3-publish
-
? File Path: create_files/deploy_by_plugin_file.txt
É um parâmetro do Plugin que indica onde você quer colocar o arquivo que será criado.
Pronto! O último Plugin foi aplicado e agora a Infraestrutura está criada.
O arquivo de stk.yaml gerado pela Infraestrutura deve ser igual a este:
Confira o arquivo stk.yaml da Infraestrutura
Com o spec alias
, é possível fazer uma ligação entre o nome que o criador do Plugin (ou dos Plugins) colocou na Connection Interface na hora de criá-lo. E, o tipo de Connection Interface que existe dentro do Workspace que a pessoa desenvolvedora irá usar para criar a Infraestrutura.
Registrar Infraestrutura
Depois que você criar a Infraestrutura, é preciso ser registrá-la. Para isso, executar o comando:
stk register infra
Depois disso, responder algumas perguntas no terminal:
? Repository URL: Link do repositório onde a Infraestrutura deve estar. ? Base branch: main
Pronto, você registrou a Infraestrutura.
Você pode visualizar a Infraestrutura no Workspace dentro do Portal da StackSpot. Acessar onde a Infraestrutura foi criada e entrar na seção 'Infraestrutura' do menu principal.
Fazer deploy da Infraestrutura
Depois de registrar, é o momento de fazer o deploy da Infraestrutura.
Para isso, executar o comando:
stk deploy infra –version v1 –env qastaging
-
A flag
-version
indica a versão da Infraestrutura. -
A flag
-env
indica o ambiente em que o deploy acontecerá.
Agora, o acompanhamento do deploy mostra o status individual por Plugin. Para acompanhar, executar o comando:
stk deploy status <id da Infraestrutura> --watch
Confira como é a visualização:

Esta página foi útil?