mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-07 07:27:58 +00:00
Merge pull request #2283 from akhilmhdh/feat/replication-test
feat: added debug points to test ssm integration in replication
This commit is contained in:
@@ -538,19 +538,21 @@ const syncSecretsAWSParameterStore = async ({
|
|||||||
integration,
|
integration,
|
||||||
secrets,
|
secrets,
|
||||||
accessId,
|
accessId,
|
||||||
accessToken
|
accessToken,
|
||||||
|
projectId
|
||||||
}: {
|
}: {
|
||||||
integration: TIntegrations;
|
integration: TIntegrations;
|
||||||
secrets: Record<string, { value: string; comment?: string }>;
|
secrets: Record<string, { value: string; comment?: string }>;
|
||||||
accessId: string | null;
|
accessId: string | null;
|
||||||
accessToken: string;
|
accessToken: string;
|
||||||
|
projectId?: string;
|
||||||
}) => {
|
}) => {
|
||||||
let response: { isSynced: boolean; syncMessage: string } | null = null;
|
let response: { isSynced: boolean; syncMessage: string } | null = null;
|
||||||
|
|
||||||
if (!accessId) {
|
if (!accessId) {
|
||||||
throw new Error("AWS access ID is required");
|
throw new Error("AWS access ID is required");
|
||||||
}
|
}
|
||||||
|
logger.info(`getIntegrationSecrets: [projectId=${projectId}] ssm debug: started`);
|
||||||
const config = new AWS.Config({
|
const config = new AWS.Config({
|
||||||
region: integration.region as string,
|
region: integration.region as string,
|
||||||
credentials: {
|
credentials: {
|
||||||
@@ -594,6 +596,12 @@ const syncSecretsAWSParameterStore = async ({
|
|||||||
nextToken = parameters.NextToken;
|
nextToken = parameters.NextToken;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
logger.info(
|
||||||
|
`getIntegrationSecrets: [projectId=${projectId}] ssm debug: ${Object.keys(awsParameterStoreSecretsObj).join(",")}`
|
||||||
|
);
|
||||||
|
logger.info(
|
||||||
|
`getIntegrationSecrets: [projectId=${projectId}] ssm infisical secrets debug: ${Object.keys(secrets).join(",")}`
|
||||||
|
);
|
||||||
// Identify secrets to create
|
// Identify secrets to create
|
||||||
// don't use Promise.all() and promise map here
|
// don't use Promise.all() and promise map here
|
||||||
// it will cause rate limit
|
// it will cause rate limit
|
||||||
@@ -603,6 +611,7 @@ const syncSecretsAWSParameterStore = async ({
|
|||||||
// case: secret does not exist in AWS parameter store
|
// case: secret does not exist in AWS parameter store
|
||||||
// -> create secret
|
// -> create secret
|
||||||
if (secrets[key].value) {
|
if (secrets[key].value) {
|
||||||
|
logger.info(`getIntegrationSecrets: [projectId=${projectId}] ssm debug create: ${key}`);
|
||||||
await ssm
|
await ssm
|
||||||
.putParameter({
|
.putParameter({
|
||||||
Name: `${integration.path}${key}`,
|
Name: `${integration.path}${key}`,
|
||||||
@@ -643,6 +652,7 @@ const syncSecretsAWSParameterStore = async ({
|
|||||||
}
|
}
|
||||||
// case: secret exists in AWS parameter store
|
// case: secret exists in AWS parameter store
|
||||||
} else {
|
} else {
|
||||||
|
logger.info(`getIntegrationSecrets: [projectId=${projectId}] ssm debug update: ${key}`);
|
||||||
// -> update secret
|
// -> update secret
|
||||||
if (awsParameterStoreSecretsObj[key].Value !== secrets[key].value) {
|
if (awsParameterStoreSecretsObj[key].Value !== secrets[key].value) {
|
||||||
await ssm
|
await ssm
|
||||||
@@ -695,6 +705,7 @@ const syncSecretsAWSParameterStore = async ({
|
|||||||
for (const key in awsParameterStoreSecretsObj) {
|
for (const key in awsParameterStoreSecretsObj) {
|
||||||
if (Object.hasOwn(awsParameterStoreSecretsObj, key)) {
|
if (Object.hasOwn(awsParameterStoreSecretsObj, key)) {
|
||||||
if (!(key in secrets)) {
|
if (!(key in secrets)) {
|
||||||
|
logger.info(`getIntegrationSecrets: [projectId=${projectId}] ssm debug delete: ${key}`);
|
||||||
// case:
|
// case:
|
||||||
// -> delete secret
|
// -> delete secret
|
||||||
await ssm
|
await ssm
|
||||||
@@ -3678,7 +3689,8 @@ export const syncIntegrationSecrets = async ({
|
|||||||
integration,
|
integration,
|
||||||
secrets,
|
secrets,
|
||||||
accessId,
|
accessId,
|
||||||
accessToken
|
accessToken,
|
||||||
|
projectId
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
case Integrations.AWS_SECRET_MANAGER:
|
case Integrations.AWS_SECRET_MANAGER:
|
||||||
|
|||||||
Reference in New Issue
Block a user