Документация Accelera

Инструкции по шифрованию в k8s с использованием sops

Создание ключа

1. Создать ключ

gpg --full-generate-key

Выберите:

  • Тип ключа: RSA (или другой подходящий)
  • Размер: 4096 бит
  • Срок действия: укажите или оставьте "никогда не истекает"
  • Имя, Email и пароль – укажите и запомните

Затем получите Key ID:

gpg --list-keys

Он будет выглядеть как:

pub   rsa4096 2025-03-13 [SC]
      1234ABCD5678EF90

(используйте этот Key ID в следующих командах)

2. Зашифровать файл

sops --encrypt --pgp "1234ABCD5678EF90" --output secrets.yaml secrets-plain.yaml
  • --encrypt — указывает, что мы шифруем файл.
  • --pgp "1234ABCD5678EF90" — идентификатор PGP-ключа для шифрования.
  • --output secrets.yaml — указывает, куда сохранить зашифрованный файл.
  • secrets-plain.yaml — файл, который нужно зашифровать.

Енвы (environments), которые будут переданы в secrets.yaml, будут создаваться в k8s в объекте secrets

Передача созданного ключа

Найти нужный ключ, скопировать его ID

gpg --list-keys

Экспортируйте ключ

gpg --export-secret-keys --armor "your-key-id" > private-key.asc

Передайте на нужный сервер любым удобным способом, например:

scp private-key.asc user@target-server:/home/user/

На этом сервере выполните

gpg --import /home/user/private-key.asc
gpg --list-keys

Теперь он добавлен на ваш сервер, и может быть использован

Дополнительная информация

Чтобы иметь возможность передать файл secrets.yaml в helm шаблоны, введите:

echo "test" | gpg --encrypt --armor --recipient "your-key-id" | gpg --decrypt --pinentry-mode loopback

Введите пароль ключа

Так ключ добавится к вам в кеш, как расшифрованный и может быть использован

На этой странице