Этот скрипт предназначен для создания или обновления Docker секретов в указанных Kubernetes пространствах имен, используя учетные данные AWS ECR.
AWS_ACCESS_KEY_ID
: ID вашего ключа для доступа к api awsAWS_SECRET_ACCESS_KEY
: Secert вашего ключа для доступа к api awsAWS_ACCOUNT
: ID вашего AWS аккаунта.AWS_REGION
: Регион AWS, в котором находится ваш ECR репозиторий.TARGET_NAMESPACES
: Список пространств имен, разделенных запятыми, в которых должен быть создан или обновлен секрет. Если переменная не установлена, используется пространство именdefault
.SECRET_COPIER
: Если установлено вtrue
, аннотации и метки для копирования секретов будут применяться только к секрету в пространстве именdefault
.
-
Экспортируйте необходимые переменные окружения:
export AWS_ACCESS_KEY_ID=<ваш_aws_key_id> export AWS_SECRET_ACCESS_KEY=<ваш_aws_secret_key> export AWS_ACCOUNT=<ваш_aws_account_id> export AWS_REGION=<ваш_aws_region> export TARGET_NAMESPACES=<список_пространств_имен> export SECRET_COPIER=true # опционально
-
Ваш AWS user должен иметь права на выполнение ecr:GetAuthorizationToken.
-
Убедитесь, что у вас есть достаточные разрешения для выполнения команд в указанных пространствах имен.
-
Если
SECRET_COPIER
не установлена или установлена не вtrue
, аннотации и метки для копирования секретов не будут применены. -
Примеры манифестов для Kubernetes можно найти в папке
example
.
This script is designed to create or update Docker secrets in specified Kubernetes namespaces using AWS ECR credentials.
AWS_ACCESS_KEY_ID
: Your AWS account key IDAWS_SECRET_ACCESS_KEY
: Your AWS account key secretAWS_ACCOUNT
: Your AWS account ID.AWS_REGION
: The AWS region where your ECR repository is located.TARGET_NAMESPACES
: A comma-separated list of namespaces where the secret should be created or updated. If the variable is not set, thedefault
namespace is used.SECRET_COPIER
: If set totrue
, annotations and labels for secret copying will only be applied to the secret in thedefault
namespace.
-
Export the necessary environment variables:
export AWS_ACCESS_KEY_ID=<your_aws_key_id> export AWS_SECRET_ACCESS_KEY=<your_aws_secret_key> export AWS_ACCOUNT=<your_aws_account_id> export AWS_REGION=<your_aws_region> export TARGET_NAMESPACES=<list_of_namespaces> export SECRET_COPIER=true # optional
-
You must have ecr:GetAuthorizationToken permission in your aws user.
-
Ensure you have sufficient permissions to execute commands in the specified namespaces.
-
If
SECRET_COPIER
is not set or not set totrue
, annotations and labels for secret copying will not be applied. -
Examples of Kubernetes manifests can be found in the
example
folder.