Configurar Contexto na Conta
Nesta seção, você encontra como configurar contexto na Conta.
Pré-requisito
Permissões necessárias: Você precisa ter permissão de Account Holder ou Admin da Conta para continuar.
Siga as instruções:
Para criar Aplicações ou Infraestruturas dentro de um Workspace, as pessoas desenvolvedoras utilizam as Stacks que estão disponíveis. Ao utilizar estas Stacks, é necessário configurar os valores dos inputs dos Plugins.
É aqui que entra a configuração de Contexto:
Como Administrador de uma Conta ou Workspace, você pode definir previamente os valores dos inputs dos Plugins e de outros recursos das Stacks. Isso padroniza os valores e agiliza o trabalho das pessoas desenvolvedoras ao criar uma Aplicação, pois elas não precisarão configurar os inputs, apenas aceitar os valores predefinidos. Esse processo é chamado de configurar ou definir contextos.
Formas de definir os valores de input
Você pode definir os valores de três maneiras:
- Como mandatórios: os valores serão obrigatórios e imutáveis;
- Apenas como sugestões: os valores já aparecerão predefinidos, mas as pessoas desenvolvedoras poderão editá-los, se necessário.
- 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.
Níveis de configuração de Contexto
Os Contextos podem ser configurados em dois níveis hierárquicos na Plataforma StackSpot:
-
Conta: ao configurar Contextos no nível de Conta, os valores mandatórios serão obrigatoriamente utilizados no nível de Workspace. Os valores sugeridos poderão ser alterados.
-
Workspace: ao configurar Contextos no nível de Workspace, você deve utilizar os valores mandatórios definidos no Contexto da Conta. No entanto, os valores sugeridos podem ser alterados e definidos como mandatórios para a criação de 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.
A seguir, confira um exemplo de utilização de contextos para melhor entendimento:
Para entender melhor:
Confira um exemplo de configuração de 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 que alguns parâmetros do Secret Manager sejam sempre os mesmos ao longo da criação de Aplicações para a empresa.
- 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 a nível de Conta da Organização com:
- Inputs mandatórios: esses valores não podem ser mudados pela pessoa desenvolvedora;
- Inputs sugeridos: sugestões de valores que podem ser alterados pelas pessoas desenvolvedoras.
Então, para isso, nesta situação hipotética, o Admin precisa seguir alguns passos, confira:
- Acessar o menu da Conta;
- Acessar a Stack Secret-Manager-Demo;
- Dentro da Stack, acessar o Plugin de infra Secret-manager-dois.
E para configurar o Contexto, é necessário definir os seguintes valores de input do Plugin:
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; eRegion
: região.
Os valores de Feature Name
, Microservice name
e Owner team e-mail
podem ser apenas sugestões. Mas, o Admin precisa definir que o mesmo engenheiro seja sempre o responsável por todos os Secret Managers, então é 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 nem configurados como mandatórios.
Resultado
Após essa configuração, quando uma pessoa desenvolvedora acessar o Workspace para criar uma Aplicação utilizando a Stack Secret Manager, ela encontrará:
- Os valores sugeridos já estarão preenchidos, mas poderão ser alterados pela pessoa desenvolvedora (Dev);
- Os valores mandatórios já estarão preenchidos, e não poderão ser alterados;
- Os valores que não foram configurados podem ser alterados.
Essa configuração diminui o tempo de trabalho das pessoas desenvolvedoras, porque elas não precisam preencher todos os campos de input. Além disso, garante que a mesma pessoa seja sempre responsável pelos Secret Managers, aumentando a segurança.
Passo a passo para configurar Contextos à nível de Conta
Siga os passos para configurar o contexto da sua Conta:
Pré-requisitos
- Ter Stacks criadas na sua Conta;
- Ter ambientes configurados na conta;
- Ter permissão Account Holder.
Passo 1. Faça login na sua conta e clique em 'Acessar minha conta'.
Passo 2. Clique em 'Stacks', no menu principal;
Passo 3. Selecione a Stack que você deseja configurar os Inputs. Caso ela tenha mais de uma versão, selecione a que você precisa;
Passo 4. Dentro da Stack, clique na aba 'Starter' (nada precisa ser configurado), e em seguida, clique na aba 'Plugins';
Passo 5. Selecione o Plugin que você quer configurar os valores dos Inputs;
Passo 6. Clique no campo de algum Input, escreva seu valor e defina se ele será mandatório ou não:
- Marque o checkbox 'Mandatório', para tornar o valor obrigatório e imutável; ou
- Deixe desmarcado o checkbox 'Mandatório', para que o valor seja apenas uma sugestão.
-
Você não pode definir um input vazio (sem valor) como mandatório.
-
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
contendoobject
: se você definir uma lista de objetos como mandatória, a ordem da lista não pode ser alterada e não podem ser adicionados novos itens 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
: a 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.
Passo 7. Se o Input oferecer a opção, você também pode 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 optar por 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.
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 a nível de Contexto de Conta.
Passo 9. Após configurar todos os Inputs deste Plugin, clique no botão 'Salvar';
Passo 10. Repita o processo com os outros Plugins, caso queira configurá-los;
Pronto! Você configurou o valores dos inputs dos Plugins da Stack para o seu contexto;
Passo 11. Na aba Infra Setup você não precisa fazer nenhuma configuração;
Passo 12. Na aba Action, você pode configurar os inputs das Actions da Stack.
O processo para configurar os inputs das Actions para o seu Contexto é igual ao dos Plugins. Clique na Action que você deseja e:
- Siga com as configurações mandatórias de inputs do Contexto da Conta;
- Faça as suas configurações de inputs.
Nesta etapa, pode ser que não existam Actions adicionadas à Stack. Se este for o caso, você não precisa fazer nenhuma configuração.
Passo 12. Clique na aba de Workflow para configurar o Workflow da Stack. Para saber como configurar, acesse Configurar Workflow;
Pronto! Agora você tem Contextos configurados na sua Conta e pode partir para a criação de Workspaces.
Regras para preenchimento de inputs de Contexto
-
Você não pode definir um input vazio (sem valor) como mandatório.
-
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
contendoobject
: se você definir uma lista de objetos como mandatória, a ordem da lista não pode ser alterada e não podem ser adicionados novos itens 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
: a 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:
- Clique no botão "Usar variável" ao lado do campo do input;
- 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 a nível de contexto de Conta.
Confira o fluxo na imagem a seguir:
Atualizar valores de Contexto automaticamente
Para configurar Contextos, os valores de inputs dos Plugins e Actions são configurados de acordo com a versão da Stack. Cada versão pode ter valores de inputs diferentes.
Então, se alguém publicar uma nova versão da Stack adicionada à sua conta, 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.
Somente os valores de inputs comuns entre as versões das Stacks serão importados da versão anterior. Novos inputs ainda precisam ser configurados como contexto.
Vantagens
Atualizar os valores do contexto evita que você tenha que atualizar manualmente os valores e repeti-los. Se a Stack for grande e com muitos Plugins, esse trabalho seria extenso e repetitivo.
Por exemplo:
- Você configurou o contexto de uma Stack da versão 1.0.0 na sua Conta.
- A pessoa desenvolvedora da Stack criou uma nova versão, 2.0.0.
- Você recebe um aviso no dashboard que você pode importar os valores que você configurou na versão anterior.
- Se você confirmar, a StackSpot irá importar os valores para a versão 2.0.0. Então os Plugins e Actions terão os mesmos valores que a versão anterior de forma automática.
Como funciona
Ao adicionar uma nova versão da Stack na sua Conta, uma notificação aparece no dashboard informando que você pode importar o contexto de versões anteriores. Para importar, siga as instruções:
Passo 1. Acesse a sua conta e clique em 'Stacks' no menu principal;
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 a versão que você quer importar o contexto (os inputs configurados);
É indicado selecionar a versão recomendada.
Passo 4. Clique em 'Importar'.
Pronto! Você importou o contexto de uma versão anterior da Stack. Agora você pode configurar o que for necessário.