Данный модуль отвечает за копирование секретов во все namespaces.
Нам данный модуль полезен тем, чтобы не копировать каждый раз в CI секреты для пуллинга образов и заказа RBD в ceph.
Как работает
Данный модуль следит за изменениями секретов в namespace default
с лейблом secret-copier.deckhouse.io/enabled: ""
.
- При создании такого секрета, он будет скопирован во все namespace;
- При изменении секрета, его новое содержимое будет раскопировано во все namespace;
- При удалении секрета, он будет удален из всех namespace;
- При изменении скопированного секрета в прикладном namespace, тот будет перезаписан оригинальным содержимым;
- При создании любого namespace в него копируются все секреты из default namespace с лейблом
secret-copier.deckhouse.io/enabled: ""
;
Кроме этого, каждую ночь секреты будут повторно синхронизированы и приведены к состоянию в default namespace.
Что нужно настроить?
Для того, чтобы заработало, достаточно создать в “default” namespace секрет с лейблом secret-copier.deckhouse.io/enabled: ""
.
Как ограничить список namespaces в которые будет производиться копирование?
Задайте label–селектор в значении аннотации secret-copier.deckhouse.io/target-namespace-selector
. Например: secret-copier.deckhouse.io/target-namespace-selector: "app=custom"
. Модуль создаст копию этого секрета во всех пространствах имен, соответствующих заданному label–селектору.