Формула ca-cert-formula
Формула SaltStack для установки CA-сертификатов.
Доступные состояния:
Состояние ca-cert
Мета-состояние (состояние, которое включает в себя другие состояния).
Устанавливает сертификаты в системном хранилище и хранилища профилей пользователей (NSSDB).
Имеет зависимость от ca-cert.sys, ca-cert.user через список include.
Состояние ca-cert.sys.install
Запускает команду sys.certs_update_cmd для обновления системных сертификатов
и имеет зависимость от ca-cert.sys.certs.files через список include и реквизит onchanges.
Состояние ca-cert.sys.certs.files
Сохраняет на диске (в директории certs.dest_dir) файлы сертификата из списка certs.files.
Состояние ca-cert.user.nssdb.update
Добавляет сертификаты в хранилища профилей пользователей (NSSDB) и имеет зависимость от:
-
ca-cert.user.nssdb.createчерез списокincludeи реквизитrequire; -
ca-cert.user.certs.filesчерез списокincludeи реквизитonchanges.
Если в хранилище Pillar нет пользователей в user.usernames, пользователи будут настраиваться по имени
каталога в /home.
Состояние ca-cert.user.nssdb.create
Создает хранилище сертификатов пользователя (NSSDB) в домашней директории пользователя и
имеет зависимость от ca-cert.user.package.instal через список include и реквизит require.
Если в хранилище Pillar нет пользователей в user.usernames, пользователи будут настраиваться по имени каталога
в /home.
Состояние ca-cert.user.package.install
Устанавливает пакет cacert.user.pkg.name (по умолчанию — libnss3-tools).
Состояние ca-cert.user.certs.files
Сохраняет на диске (в директории certs.dest_dir_user) файлы сертификата из списка certs.files.
Состояние ca-cert.clean
Мета-состояние (состояние, которое включает в себя другие состояния).
Удаляет сертификаты их системного хранилища и хранилища профилей пользователей (NSSDB).
Имеет зависимость от ca-cert.sys.clean, ca-cert.user.clean через список include.
Состояние ca-cert.sys.clean
Запускает команду sys.certs_update_cmd для обновления системных сертификатов и имеет
зависимость от ca-cert.sys.certs.clean через список include и реквизит onchanges.
Состояние ca-cert.sys.certs.clean
Удаляет с диска (директория certs.dest_dir) файлы сертификата из списка certs.files.
Состояние ca-cert.user.clean
Имеет зависимость от ca-cert.user.nssdb.clean, ca-cert.user.package.clean через
список включения.
Состояние ca-cert.user.nssdb.clean
Удаляет сертификаты из хранилища профилей пользователей (NSSDB) и имеет зависимость
от ca-cert.user.certs.clean через список include и реквизит require.
Состояние ca-cert.user.certs.clean
Удаляет с диска (директория certs.dest_dir_user) файлы сертификата из списка certs.files.
Состояние ca-cert.user.package.clean
Удаляет пакет cacert.user.pkg.name (по умолчанию — libnss3-tools).
Пример файла pillar.example
ca-cert:
# Переопределите значение map.jinja
lookup:
# Укажите параметры сертификатов
certs:
# Укажите список имен файлов сертификатов. Значения не могут быть пустыми
# Значения должны быть указаны в виде списка через запятую
files: [
"my_ca_1.crt",
"my_ca_2.crt",
]
# Укажите полный путь к каталогу, в котором хранятся файлы сертификатов,
# на файловом сервере Salt
source_dir: "salt://files/cacerts/"
# Укажите полный путь к каталогу для системных сертификатов на миньоне
dest_dir: "/usr/local/share/ca-certificates/"
# Укажите полный путь к каталогу для общих сертификатов пользователей на миньоне
dest_dir_user: "/usr/local/share/ca-certificates-nssdb/"
# Укажите некоторые параметры системы
sys:
# Укажите команду, которая будет выполняться для обновления системных сертификатов
certs_update_cmd: "update-ca-certificates --fresh"
# Укажите некоторые параметры пользователей
user:
# Укажите список имен пользователей для обновления сертификатов. Если пользователи
# не заданы, пользователи будут выбраны по имени каталога в /home
usernames: [
"username_1",
"username_1",
]