Ключи из переменных окружения и файлов
Помимо хранения секрета в базе данных, запись в хранилище ключей может считывать своё значение во время выполнения задачи из файла на сервере Semaphore или из переменной окружения процесса сервера Semaphore. Это удобно, когда учётные данные уже подготовлены вне Semaphore, например:
- SSH-ключ, смонтированный в контейнер Semaphore как секрет Docker или Kubernetes;
- токен, записываемый на диск агентом (HashiCorp Vault Agent, cert-manager и т. п.) и регулярно ротируемый;
- пароль, внедрённый в окружение контейнера вашим оркестратором.
Semaphore не копирует значение в свою базу данных. Каждый раз, когда ключ требуется задаче, сервер заново читает файл или переменную, поэтому ротация учётных данных на диске вступает в силу при следующей задаче.
к сведению
Файл или переменную читает сервер Semaphore, а не раннер. Если вы используете удалённые раннеры, монтируйте файл на хосте сервера; сервер получает секрет и передаёт его раннеру.