Pular para o conteúdo principal

Configurar Contexto

Pré-requisitos

O que é Contexto

Para criar Aplicações ou Infraestruturas pessoas desenvolvedoras precisam utilizar as Stacks que estão disponíveis dentro de um Workspace.

Ao utilizar estas Stacks, é possível configurar os valores dos inputs dos conteúdos que existem nela, como Plugins, Actions e Workflow. A partir deste momento, é preciso fazer a configuração de Contexto de Stacks.

Na configuração e definição de Contexto, você como Administrador de uma Conta ou Workspace, pode definir previamente os valores dos inputs dos conteúdos (Plugins, Actions e Workflow) das Stacks para padronizá-los.

Isso também agiliza o trabalho da pessoa desenvolvedora ao criar uma Aplicação, já que ela não precisará configurar os inputs, só aceitar os valores. Este processo é chamado de configuração ou definição de Contextos.

Você pode definir os valores dos inputs de três formas:

  • Como mandatórios: ou seja, os valores serão obrigatórios e imutáveis.
  • Apenas como sugestões: os valores já aparecerão definidos para a pessoa desenvolvedora, mas ele poderá editá-los, caso queira.
  • Por ambiente: você pode definir valores de inputs que irão variar de acordo com o ambiente, por exemplo, DEV, QA, PROD. Estes valores também podem ser mandatórios ou apenas sugestões.

Os Contextos podem ser definidos em dois níveis hierárquicos na Plataforma da StackSpot:

1. Conta

Ao configurar Contextos em nível de Conta, os valores definidos como mandatórios serão obrigatoriamente utilizados em nível de Workspace. Os valores sugeridos poderão ser alterados.

2. Workspace

Ao configurar Contextos em nível de Workspace, você deve usar, obrigatoriamente, os valores definidos como mandatórios no Contexto da Conta.

Também é possível alterar os valores sugeridos e defini-los como mandatórios para criar Aplicações.

Então, ao criar uma Aplicação dentro deste Workspace, a pessoa desenvolvedora poderá configurar apenas valores sugeridos ou não informados em nenhum dos Contextos.

Dica!

O Contexto da sua conta já pode ter sido configurado. Confira detalhes no guia de Contexto de Conta.

Para entender melhor:

Confira um exemplo detalhado de como configurar o Contexto

Situação


Em uma empresa, o Admin de uma Conta StackSpot precisa configurar uma Stack com um Plugin de Infra de Secret Manager na AWS para gerenciar, recuperar e alternar credenciais de banco de dados, chaves de API e outros Secrets.


Para fazer isso, o Admin precisa manter alguns parâmetros do Secret Manager ao longo da criação de Aplicações para a empresa.


Para garantir que as pessoas desenvolvedoras utilizem os mesmos parâmetros de inputs na hora de criar Aplicações de Secret Manager dentro do Workspace, o Admin precisa configurar um Contexto em nível de Conta da Organização com:

Solução


Para garantir que as pessoas desenvolvedoras utilizem os mesmos parâmetros de inputs na hora de criar Aplicações de Secret Manager dentro do Workspace, o Admin precisa configurar um Contexto em nível de Conta da Organização com:


  • Inputs mandatórios: eles não podem ser mudados pela pessoa desenvolvedora; e
  • Inputs sugeridos: sugestões de valores que podem ser alterados pela pessoa desenvolvedora.

Então, para isso, nesta situação hipotética, o Admin precisa seguir alguns passos, confira:


  1. Acessar o menu da Conta dele;
  2. Acessar a Stack Secret-Manager-Demo;
  3. Dentro dela, acessar o Plugin de infra Secret-manager-dois.
Atenção!

Se você tem um contexto de Conta e Workspace configurados e nenhum deles está definido como mandatório, o contexto do Workspace será prevalecido.

Já se o contexto de Conta foi definido na configuração inicial como mandatório, não é possível alterá-lo para Workspace. Neste caso, o contexto da conta sempre prevalece e só muda se o contexto mudar.


Para configurar o Contexto, é necessário definir os valores de inputs do Plugin a seguir:


  • Feature name: nome do microsserviço.
  • Microservice name: nome do microsserviço.
  • Owner team email: e-mail da equipe proprietária.
  • Tech team email: e-mail da pessoa desenvolvedora responsável pelos Secret Managers.
  • KMS key Arn: ARN da chave KMS associada ao segredo.
  • Environment: ambientes, por exemplo, de DEV, QA e PROD; e
  • Region: região.

Os valores de Feature Name, Microservice name e Owner team e-mail podem ser apenas sugestões.

Porém, o Admin precisa definir que o mesmo engenheiro sempre seja o responsável por todos os Secret Managers. Para isso, é só configurar este valor como Mandatório.

Os valores de KMS key Arn, Environment e Region são variáveis dependendo da situação. Por isso, eles não serão sugeridos e nem configurados como mandatórios.


Resultado


Após essa configuração, quando uma pessoa desenvolvedora acessar seu Workspace para criar uma Aplicação utilizando a Stack Secret Manager, ela encontrará:


  • Os valores sugeridos já preenchidos, mas com possibilidade de ser alterados pela pessoa desenvolvedora (Dev).
  • Os valores mandatórios já preenchidos, mas sem a possibilidade de ser alterados.
  • Os valores que não foram configurados, mas que podem ser alterados.

Isso tudo diminui o tempo de trabalho da pessoa desenvolvedora, porque ele não precisa preencher todos os campos de input. E também garante a segurança da mesma pessoa ser sempre responsável pelos Secret Managers.


Passo a passo para configurar

Siga os passos a seguir para configurar o contexto do seu Workspace:

Passo 1. Faça login na sua Conta da StackSpot e acesse o seu Workspace;

Passo 2. Clique no botão 'Stacks';

Passo 3. Selecione a versão da Stack que você quer configurar os Inputs;

Passo 4. Selecione a Stack que você quer configurar os Inputs. Caso ela tenha mais de uma versão, selecione a que você quer configurar o Contexto;

Passo 5. Configure os inputs dos conteúdos da Stack como Contexto. Para isso, acesse a aba correspondente ao conteúdo que você deseja configurar, como por exemplo, 'Plugins';

Informação Adicional

O processo para configurar os inputs de Plugins, Actions e Workflow como Contextos é o mesmo para todos os conteúdos. Basta seguir os passos a seguir, escolhendo a aba referente ao conteúdo que você deseja configurar.

Passo 6. Clique no campo de algum Input, escreva seu valor e defina se você quer que ele seja mandatório ou não:

  • Marque o checkbox 'Mandatório', para deixar o valor obrigatório e imutável; ou
  • Deixe desmarcado o checkbox 'Mandatório', para deixar o valor somente como uma sugestão.
Atenção!
  • Você não pode definir um input vazio (sem valor) como mandatório.
  • Lembre-se: caso algum valor de input tenha sido definido como mandatório no Contexto da Conta, ele não poderá ser alterado aqui.

Passo 7. Se o Input oferecer a opção, você também pode decidir definir o valor por ambiente:

  • Ative o botão 'Definir valor por ambiente ao lado do input, escreva os valores para cada ambiente e defina se eles são 'mandatórios ou não' clicando no Checkbox.

  • Deixe o botão 'Definir valor por ambiente' desativado.

Passo 8. Você pode escolher utilizar uma Variável da Conta para preencher o valor do input. Para isso, clique no botão 'Usar Variável' ao lado do input e selecione uma das variáveis disponíveis que aparece na lista (dropdown) embaixo do input.

Passo 9. Repita o processo com os outros Plugins, caso queira configurá-los;

Caso o valor não tenha sigo configurado como mandatório na hora da criação da variável, você pode alterá-lo e também configurá-lo como mandatório em nível de Contexto de Workspace.

Pronto, você configurou o valores dos inputs dos Plugins da Stack para o seu contexto.

Passo 10. Na aba Infra Setup não é preciso fazer nenhuma configuração;

Passo 11. Repita o processo com os inputs dos outros Conteúdos, Plugins, Actions ou Workflow, caso queira configurá-los como Contexto.

Pronto, as pessoas usuárias podem criar uma Aplicação ou Infraestrutura utilizando os valores de inputs que você definiu no Contexto do seu Workspace!

Regras para preenchimento de inputs de Contexto

  • Você não pode definir um input vazio (sem valor) como mandatório.

  • Lembre-se: caso algum valor de input tenha sido definido como mandatório no Contexto da Conta, ele não poderá ser alterado aqui.

  • Input do tipo list: se você definir esse input como mandatório, todos os itens da lista serão obrigatórios também. Você não poderá modificar nada em níveis abaixo da Conta, nem valores, nem a ordem dos itens.

  • Input do tipo object: ao marcar o checkbox de "Mandatório", apenas os valores dos objetos que você preencher serão mandatórios. Os campos sem valor poderão ser modificados. No fluxo de criação de Aplicação ou Infraestrutura, o usuário deve preencher os campos do objeto que não foram configurados anteriormente.

  • Input do tipo list contendo object: se você definir uma lista de objetos como mandatória, a ordem da lista não pode ser alterada e novos itens não podem ser adicionados no Workspace.

No entanto, os campos dentro dos objetos podem ser alterados. Para defini-los como mandatórios, insira os valores dentro de cada campo.

Durante o processo de criação da Aplicação e Infraestrutura, o usuário não poderá adicionar ou remover itens da lista principal. No entanto, ele poderá preencher os campos ausentes dos objetos internos que ainda não foram configurados.

  • Input do tipo required-connection: em nível de Conta, não é possível definir Contexto, pois não é garantido que a Connection Interface esteja visível para toda a Conta. Porém, a nível de Workspace, você pode definir se a Connection Interface é mandatória ou não.

Configurar valores de Contexto utilizando Variáveis da Conta

Você pode escolher utilizar uma Variável da Conta para preencher o valor do input. Para isso:

  1. Clique no botão "Usar variável" ao lado do campo do input;
  2. Selecione uma das Variáveis disponíveis que aparecem na lista.

Caso o valor não tenha sigo configurado como mandatório na hora da criação da Variável, você pode alterá-lo e também configurá-lo como mandatório em nível de Contexto de Workspace.

Atualizar valores de Contexto automaticamente

Para configurar contextos, os valores de inputs de Plugins, Actions e Workflow são configurados de acordo com a versão da Stack. Cada versão pode ter valores de inputs diferentes.

Então, sempre que alguém publicar uma nova versão de Stack adicionada ao seu Workspace, o contexto deve ser configurado novamente. Você pode fazer isso de forma automática, apenas importando os valores da versão da Stack que você já tinha configurado previamente.

Atenção

Só o campo name é importado entre as versões de Stack, já que ele é o único campo comum entre as versões. Ou seja, você precisa configurar o contexto dos novos inputs como user e port, por exemplo.

Vantagens

Atualizar os valores do Contexto evita que você tenha que atualizá-los manualmente e repeti-los. Se for uma Stack com muitos Plugins, esse trabalho seria extenso e repetitivo.

Por exemplo:

  1. Você configurou o contexto de uma Stack da versão 1.0.0 no seu Workspace;
  2. A pessoa desenvolvedora da Stack criou uma nova versão, 2.0.0 e você adicionou essa nova versão ao seu Workspace;
  3. Você recebe um aviso na listagem de Stacks avisando que você pode importar os valores que você configurou na versão anterior;
  4. Ao clicar no botão 'Configuração de inputs importados', você seleciona qual versão quer que seja configurada e a versão de base para esta configuração.
  5. Se você confirmar, a StackSpot irá importar os valores para a versão 2.0.0. Então os Plugins, Actions e Workflows terão os mesmos valores que a versão anterior de forma automática.
Atenção!

Quando um Workflow é executado, o Contexto de Plugin não é considerado. Ou seja, o Contexto é sempre do Workflow principal, já que Contextos de Workflows filhos ou outros componentes executados dentro do Workflow principal são ignorados.

Como funciona

Ao adicionar uma nova versão da Stack no seu Workspace, uma notificação aparece no Dashboard informando que você pode importar o contexto de versões anteriores. Para importar, siga os passos a seguir:

Passo 1. Acesse o Workspace e clique na seção de 'Stacks';

Passo 2. Na notificação do Dashboard ou dentro do card da Stack, clique no botão 'Importar configurações de input' ;

Passo 3. Selecione as Stacks e as respectivas versões que você quer importar as configurações. Só os contextos configurados em nível de Workspace serão importados;

Passo 4. Clique em 'Submeter'.

Pronto, você importou o contexto de uma versão anterior da Stack. Agora você pode configurar o que for necessário.

Próximos Passos