environment variable set
Команда добавляет или обновляет переменную в проекте.
dockhost environment variable set --name <name> --value <value> [options]
Опции
| Опция | Описание | Обязательно | По умолчанию |
|---|---|---|---|
| -n, --name | Имя переменной | Да | |
| -v, --value | Значение переменной | Да | |
| -p, --project | Имя проекта | Нет | Текущий проект |
Функции
В качестве значения переменной можно использовать одну из встроенных функций:
- <password> - Генерирует пароль.
- <string> или <string:32> - Генерирует произвольную строку состоящую из чисел и букв. Можно указать длину строки (по умолчанию 10 символов)
- <bytes> или <bytes:32> - Генерирует произвольное количество байтов в hex. Можно указать количество (по умолчанию 10 символов)
- <jwt:payload:secret> - Генерирует JWT токен из payload (JSON) который подписан secret.
Использование значений переменных
Значения переменных можно использовать в контейнерах, для это нужно указать $ИМЯ_ПЕРЕМЕННОЙ. Например, при создании контейнера, Вы хотите задать для переменной контейнера TEST значение из созданной переменной MYVAR. Для этого необходимо указать значение для --variable как TEST:$MYVAR, при запуске контейнера в значение переменной TEST будет подставлено значение из переменной MYVAR.
dockhost container create --name nginx --image nginx --variable TEST:$MYVAR
Примеры
Установка конкретного значения:
dockhost environment variable set --name DATABASE_URL --value postgres://localhost/db
Генерация случайного пароля:
dockhost environment variable set --name SECRET --value <password>
Генерация случайной строки длиной 32 символа:
dockhost environment variable set --name TOKEN --value <string:32>
Генерация случайных 16 байт в hex:
dockhost environment variable set --name ENCRYPTION_KEY --value <bytes:16>
Генерация JWT-токена:
dockhost environment variable set --name AUTH_TOKEN --value <jwt:{"sub":"user"}:mysecret:HS256>
Глобальная переменная (доступна всем контейнерам):
dockhost environment variable set --name SHARED_SECRET! --value <password>