Данный модуль отвечает за копирование Secret’ов во все namespace’ы.

Нам данный модуль полезен тем, чтобы не копировать каждый раз в CI Secret’ы для пуллинга образов и заказа RBD в Ceph.

Как работает

Данный модуль следит за изменениями Secret’ов в namespace default с лейблом secret-copier.deckhouse.io/enabled: "".

  • При создании такого Secret’а он будет скопирован во все namespace.
  • При изменении Secret’а его новое содержимое будет раскопировано во все namespace.
  • При удалении Secret’а он будет удален из всех namespace.
  • При изменении скопированного Secret’а в прикладном namespace тот будет перезаписан оригинальным содержимым.
  • При создании любого namespace в него копируются все Secret’ы из default namespace с лейблом secret-copier.deckhouse.io/enabled: "".

Кроме этого, каждую ночь Secret’ы будут повторно синхронизированы и приведены к состоянию в default namespace.

Что нужно настроить?

Чтобы все заработало, достаточно создать в default namespace Secret с лейблом secret-copier.deckhouse.io/enabled: "".

Как ограничить список namespace’ов, в которые будет производиться копирование?

Задайте label–селектор в значении аннотации secret-copier.deckhouse.io/target-namespace-selector. Например: secret-copier.deckhouse.io/target-namespace-selector: "app=custom". Модуль создаст копию этого Secret’а во всех пространствах имен, соответствующих заданному label–селектору.