Этот модуль отвечает за копирование секретов во все пространства имён.

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