Данный модуль отвечает за копирование секретов во все 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–селектору.