Перекрёстные ссылки
Ссылки позволяют одному сервису или аддону читать значения другого без копирования учётных данных. Они хранят секреты в одном месте и автоматически их вращают.
Синтаксис
${{<name>.<KEY>}}<name>— имя целевого сервиса или аддона (то, что показано в дашборде и используется вlizard add -n).<KEY>— ключ в объединённом окружении цели.
Используйте их везде, где принимается значение — чаще всего в секрете:
lizard secrets set DATABASE_URL='${{postgres.DATABASE_URL}}' --service apiКак они разрешаются
- Ссылки разрешаются во время деплоя против объединённого окружения цели.
- Они хранятся по ID, поэтому переименование цели позже не ломает ссылку.
- Ссылка на отсутствующую цель или ключ разрешается в пустую строку — она не проваливает деплой.
- Ошибку выдают только циклические ссылки.
Поскольку отсутствующий ключ молча становится пустым, всегда проверяйте, что потребитель действительно получил значение после настройки ссылки:
lizard ssh --service api -- env | grep DATABASE_URL
Если ссылка не отображается так, как ожидалось, см. Устранение неполадок → секрет или ссылка не отображается.
Типичные сценарии
Подключить аддон к нескольким сервисам — привяжите на каждом потребителе, чтобы вращение распространилось везде:
lizard secrets set REDIS_URL='${{redis.REDIS_URL}}' --service api
lizard secrets set REDIS_URL='${{redis.REDIS_URL}}' --service workerСсылаться на значение другого сервиса — например, делиться вычисленным URL или токеном:
lizard secrets set UPSTREAM_URL='${{api.LIZARD_PUBLIC_DOMAIN}}' --service webСсылаться на второй аддон того же типа — используйте его сгенерированное имя:
lizard secrets set CACHE_URL='${{redis-winter-otter.REDIS_URL}}' --service apiПочему не просто --global?
Размещение общего DSN в области проекта (--global) раскрывает его для каждого сервиса, включая те, которые ему не нужны. Ссылки дают тот же single-source-of-truth с вращением, сохраняя каждый секрет в области видимости только тех сервисов, которые его потребляют. См. Область видимости секретов.
См. также
- Переменные и секреты — области и приоритеты.
lizard secrets— полный справочник команд.