INTEGRITY Документация

Запуск с помощью Docker

gokeyless сервер ключей публикуется в виде образа контейнера, и большинство настроек можно задать через переменные окружения вместо gokeyless.yaml файл.

Загрузите образ

docker pull ghcr.io/cloudflare/gokeyless:latest

Полный пример доступен в docker-compose.example.yaml в репозитории gokeyless.

Переменные окружения

Каждая переменная окружения соответствует аналогичной настройке в gokeyless.yaml. Если присутствуют оба варианта, приоритет имеет переменная окружения (порядок такой: флаг командной строки, затем переменная окружения, затем файл конфигурации).

Переменная окружения Назначение
KEYLESS_HOSTNAME Имя хоста этого сервера ключей (должно совпадать со значением, настроенным в Cloudflare).
KEYLESS_ZONE_ID Cloudflare Zone ID.
KEYLESS_ORIGIN_CA_API_KEY Ключ API Origin CA используется для регистрации сервера ключей и получения его сертификата аутентификации.
KEYLESS_AUTH_CERT Путь к сертификату аутентификации сервера ключей (по умолчанию server.pem).
KEYLESS_AUTH_KEY Путь к приватному ключу сертификата аутентификации (по умолчанию server-key.pem).
KEYLESS_AUTH_CSR Путь для записи CSR, созданного при инициализации (по умолчанию server.csr).
KEYLESS_CLOUDFLARE_CA_CERT Путь к сертификату CA Cloudflare, используемому для аутентификации подключающихся клиентов ключей (по умолчанию keyless_cacert.pem).
KEYLESS_PORT Порт, который прослушивает сервер ключей (по умолчанию 2407).
KEYLESS_METRICS_PORT Порт для /metrics конечную точку (по умолчанию 2406).
KEYLESS_LOGLEVEL Уровень детализации журнала, 0 (наиболее подробный) до 5.

Настройка приватных ключей

Расположение приватного ключа не может можно задать с помощью переменной окружения. Настройте их с помощью private_key_stores блок в gokeyless.yaml (каждая запись задаёт ровно один из dir, file, или uri), либо с помощью --private-key-dirs / --private-key-files флаги (через запятую), передаваемые в качестве аргументов после имени образа.

Запуск контейнера

docker run -d \
  -e KEYLESS_HOSTNAME=<KEY_SERVER_HOSTNAME> \
  -e KEYLESS_ZONE_ID=<ZONE_ID> \
  -e KEYLESS_AUTH_CERT=/config/server.pem \
  -e KEYLESS_AUTH_KEY=/config/server-key.pem \
  -e KEYLESS_CLOUDFLARE_CA_CERT=/config/keyless_cacert.pem \
  -v /local/config:/config:ro \
  -v /local/keys:/keys:ro \
  -p 2407:2407 \
  ghcr.io/cloudflare/gokeyless:latest \
  --private-key-dirs /keys

Entrypoint образа: gokeyless, поэтому любые флаги командной строки (такие как --private-key-dirs) добавляются после имени образа.

Обслуживайте несколько закрытых ключей

Один сервер ключей может хранить закрытые ключи для нескольких сертификатов. Укажите несколько каталогов или файлов с помощью --private-key-dirs / --private-key-files (через запятую), либо определите несколько private_key_stores записи в gokeyless.yaml.