Этот модуль отвечает за копирование секретов во все пространства имён.
Он полезен тем, что позволяет не копировать каждый раз в CI секреты для пуллинга образов и заказа RBD в Ceph.
Как работает?
Модуль secret-copier
следит за изменениями секретов в пространстве имён default
с лейблом secret-copier.deckhouse.io/enabled: ""
.
- Созданный секрет будет скопирован во все пространства имён.
- Изменённый секрет с его новым содержимым будет раскопирован во все пространства имён.
- При удалении секрет будет удален из всех пространств имён.
- При изменении скопированного секрета в прикладном пространстве имён, тот будет перезаписан оригинальным содержимым.
- При создании любого пространства имён в него копируются все секреты из пространства имён
default
с лейбломsecret-copier.deckhouse.io/enabled: ""
.
Кроме этого, каждую ночь секреты будут повторно синхронизированы и приведены к состоянию в пространств имён default
.
Что нужно настроить?
Чтобы все заработало, достаточно создать в пространстве имён default
секрет с лейблом secret-copier.deckhouse.io/enabled: ""
.
Внимание! Рабочим пространством имён для модуля является
default
, Секреты будут копироваться только из него. Ресурсы с лейбломsecret-copier.deckhouse.io/enabled: ""
, созданные в других пространствах имён при включенном модуле будут автоматически удалены.
Как ограничить список пространств имён, в которые будет производиться копирование?
Для этого нужно задать label–селектор в значении аннотации secret-copier.deckhouse.io/target-namespace-selector
. Например: secret-copier.deckhouse.io/target-namespace-selector: "app=custom"
. Модуль создаст копию этого секрета во всех пространствах имён, соответствующих заданному label–селектору.