Envers é uma ferramenta de linha de comando (CLI) projetada para gerenciar e versionar variáveis de ambiente para diferentes estágios de implantação, como estadiamento, desenvolvimento e produção. Ele fornece uma maneira segura e organizada de lidar com configurações específicas do ambiente.
TBD
Abaixo estão os subcomando iniciais para envers :
envers init : Inicialize o ambiente envers .envers deploy <spec version number> : Implante uma versão específica do arquivo SPEC.envers draft <spec version number> : Crie um novo rascunho de versão no arquivo SPEC. Algumas variantes deste comando:envers draft <spec version number> --from <previous spec version number>envers draft <spec version number> --from-env .envenvers profile-set --profile <profile_name> --spec <version_number> : Adicione novo conteúdo.envers profile load --profile prod --spec <spec version> envers init cria o arquivo de especificações em .envers/.specs.yaml .
envers deploy cria o arquivo .envers/.data.lock . Este arquivo é gerado automaticamente pelo comando envers e é criptografado.
A versão inicial de ./.envers/.specs.yaml ficaria assim:
version : 0.1 # the envers spec version
releases :Como você pode ver, não tem muita informação. Se você deseja redigir uma nova versão, pode executar o seguinte comando:
$ envers draft 1.0 Após esse comando, o arquivo .envers/specs.yaml deve ser assim:
version : 0.1 # the spec version
releases :
# placeholder: the version for the environment variables.
# if the status is draft, feel free to change the version number
1.0 :
# status attribute is handled by command line, don't change it manually
status : draft # options are: draft, cancelled, deployed
# placeholder: update help with the real help text
help :
# placeholder: a list of available profiles (groups) for this version.
# at least one profile is required for the deploying
profiles :
- base
# define the spec for that version, this spec should be used for all
# profiles (groups) inside this version
spec :
# define the env file or any other kind of environment file to be used,
# for now it just has support for .env files
files :
# placeholder: change `.env` to the correct dotenv file relative path
.env :
type : dotenv # default
# `vars` is a dictionary for the environment variables
# this defines the variables and some metadata, but not the real
# value, because it is just the definition of the spec.
vars :
# placeholder: ENV is just a variable name, replace it by your real
# environment variable
ENV :
type : string # options are: string, int, bool, path
default : dev # in the case that the variable is not definedAgora, você pode implantar sua primeira versão das variáveis de ambiente:
$ envers deploy 1.0 Quando uma versão é implantada, ela cria automaticamente todas as novas especificações no .envers/data.lock .
Todas as variáveis para a versão de cada perfil e especificação são armazenadas em .envers/data.lock , e esse arquivo não deve ser alterado por nenhum motivo.
Finalmente, podemos criar as variáveis de ambiente para o perfil base :
$ envers profile set --profile base --spec 1.0 envers solicitarão o Valor Prompt para cada variável definida na especificação da versão 1.0 .
https://osl-incubator.github.io/envers
Cláusula 3