┌───────────────────────────────────────────────────────┐ ┌───────────────────────────┐
│ │ │ │
│ AWS Secrets Manager │ │ GitHub │
│ │ │ │
│ ┌───────────────────────────────────────────────────┐ │ │ ┌──────────────────────┐ │
│ │arn:aws:secretsmanager:...:secret:publishing-secret│ │ │ │ myorg/myrepository │ │
│ ├───────────────────────────────────────────────────┤ │ │ ├──────────────────────┤ │
│ │ │ │ │ │ │ │
│ │ │ │ │ │ ┌─────────────────┐ │ │
│ │ │ │ │ │ │ SECRETS │ │ │
│ │ { │ │ │ │ ├─────────────────┤ │ │
│ │ "MY_KEY1": "Asz9339839833", │ │ │ │ │ MY_KEY1 │ │ │
│ │ BOOM": "as89sx9@#@#", │ │ │ │ │ BOOM │ │ │
│ │ "BAM": "a912n23873jdsj" │ │ │ │ │ OLD_SECRET │ │ │
│ │ } │ │ │ │ └─────────▲───────┘ │ │
│ │ │ │ │ │ │ │ │
│ └───────────▲───────────────────────────────────────┘ │ │ └───────────┼──────────┘ │
│ │ │ │ │ │
└─────────────┼─────────────────────────────────────────┘ └─────────────┴─────────────┘
│ (encrypted)
(sigv4) │
│ │
│ $ gh secret set -R myorg/myrepository MY_KEY1
aws-sdk-js $ gh secret set -R myorg/myrepository BOOM
secretsmanager $ gh secret set -R myorg/myrepository BAM
getSecretValue() $ gh secret remove -R myorg/myrepository OLD_SECRET
┼ ┼
[CREDENTIALS: AWS] [CREDENTIALS: gh login]
│ │
│ ┌──────────────────────────────────────────────────┐ │
│ │ $ aws-secrets-github-sync │ │
│ │ --secret arn:aws:...:publishing-secret │ │
└─────────┤ --all ├──────┘
│ --prune │
│ --repo myorg/myrepository │
└──────────────────────────────────────────────────┘