Envers -это инструмент командной строки (CLI), предназначенный для управления и версий переменных среды для различных этапов развертывания, таких как постановка, разработка и производство. Он обеспечивает безопасный и организованный способ обработки конфигураций, специфичных для окружающей среды.
TBD
Ниже приведены начальные подкоманды для envers :
envers init : инициализируйте среду envers .envers deploy <spec version number> : развернуть конкретную версию из файла Spec.envers draft <spec version number> : Создайте новую черту версии в файле Spec. Некоторые варианты этой команды: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> : добавить новый контент.envers profile load --profile prod --spec <spec version> : загрузите конкретный профиль среды в файлы envers init создает файл спецификации по адресу .envers/.specs.yaml .
envers deploy создает файл .envers/.data.lock . Этот файл сгенерируется командой envers , и он зашифрован.
Первоначальная версия ./.envers/.specs.yaml будет выглядеть так:
version : 0.1 # the envers spec version
releases :Как видите, у него не слишком много информации. Если вы хотите составить новую версию, вы можете запустить следующую команду:
$ envers draft 1.0 После этой команды файл .envers/specs.yaml должен выглядеть так:
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 definedТеперь вы можете развернуть свою первую версию переменных среды:
$ envers deploy 1.0 Когда версия развернута, она автоматически создает всю новую спецификацию в .envers/data.lock .
Все переменные для каждого профиля и версии Spec хранятся в .envers/data.lock , и этот файл не следует изменять по какой -либо причине.
Наконец, мы можем создать переменные среды для base профиля:
$ envers profile set --profile base --spec 1.0 envers спросят вас через запрос значения для каждой переменной, определенной в спецификации для версии 1.0 .
https://osl-incubator.github.io/envers
BSD-Clause 3