mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-09-22 13:39:35 +00:00
improve logs for aws ssm debug
This commit is contained in:
@@ -552,9 +552,6 @@ const syncSecretsAWSParameterStore = async ({
|
|||||||
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}] [environment=${integration.environment.slug}] [secretPath=${integration.secretPath}] 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: {
|
||||||
@@ -571,7 +568,9 @@ const syncSecretsAWSParameterStore = async ({
|
|||||||
|
|
||||||
const metadata = z.record(z.any()).parse(integration.metadata || {});
|
const metadata = z.record(z.any()).parse(integration.metadata || {});
|
||||||
const awsParameterStoreSecretsObj: Record<string, AWS.SSM.Parameter> = {};
|
const awsParameterStoreSecretsObj: Record<string, AWS.SSM.Parameter> = {};
|
||||||
|
logger.info(
|
||||||
|
`getIntegrationSecrets: integration sync triggered for ssm with [projectId=${projectId}] [environment=${integration.environment.slug}] [secretPath=${integration.secretPath}] [shouldDisableDelete=${metadata.shouldDisableDelete}]`
|
||||||
|
);
|
||||||
// now fetch all aws parameter store secrets
|
// now fetch all aws parameter store secrets
|
||||||
let hasNext = true;
|
let hasNext = true;
|
||||||
let nextToken: string | undefined;
|
let nextToken: string | undefined;
|
||||||
@@ -599,14 +598,16 @@ const syncSecretsAWSParameterStore = async ({
|
|||||||
}
|
}
|
||||||
|
|
||||||
logger.info(
|
logger.info(
|
||||||
`getIntegrationSecrets: [projectId=${projectId}] [environment=${integration.environment.slug}] [secretPath=${
|
`getIntegrationSecrets: all fetched keys from AWS SSM [projectId=${projectId}] [environment=${
|
||||||
integration.secretPath
|
integration.environment.slug
|
||||||
}] ssm debug: ${Object.keys(awsParameterStoreSecretsObj).join(",")}`
|
}] [secretPath=${integration.secretPath}] [awsParameterStoreSecretsObj=${Object.keys(
|
||||||
|
awsParameterStoreSecretsObj
|
||||||
|
).join(",")}]`
|
||||||
);
|
);
|
||||||
logger.info(
|
logger.info(
|
||||||
`getIntegrationSecrets: [projectId=${projectId}] [environment=${integration.environment.slug}] [secretPath=${
|
`getIntegrationSecrets: all secrets from Infisical to send to AWS SSM [projectId=${projectId}] [environment=${
|
||||||
integration.secretPath
|
integration.environment.slug
|
||||||
}] ssm infisical secrets debug: ${Object.keys(secrets).join(",")}`
|
}] [secretPath=${integration.secretPath}] [secrets=${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
|
||||||
@@ -618,7 +619,7 @@ const syncSecretsAWSParameterStore = async ({
|
|||||||
// -> create secret
|
// -> create secret
|
||||||
if (secrets[key].value) {
|
if (secrets[key].value) {
|
||||||
logger.info(
|
logger.info(
|
||||||
`getIntegrationSecrets: [projectId=${projectId}] [environment=${integration.environment.slug}] [secretPath=${integration.secretPath}] ssm debug create: ${key}`
|
`getIntegrationSecrets: create secret in AWS SSM for [projectId=${projectId}] [environment=${integration.environment.slug}] [secretPath=${integration.secretPath}] [key=${key}]`
|
||||||
);
|
);
|
||||||
await ssm
|
await ssm
|
||||||
.putParameter({
|
.putParameter({
|
||||||
@@ -661,7 +662,7 @@ const syncSecretsAWSParameterStore = async ({
|
|||||||
// case: secret exists in AWS parameter store
|
// case: secret exists in AWS parameter store
|
||||||
} else {
|
} else {
|
||||||
logger.info(
|
logger.info(
|
||||||
`getIntegrationSecrets: [projectId=${projectId}] [environment=${integration.environment.slug}] [secretPath=${integration.secretPath}] ssm debug update: ${key}`
|
`getIntegrationSecrets: update secret in AWS SSM for [projectId=${projectId}] [environment=${integration.environment.slug}] [secretPath=${integration.secretPath}] [key=${key}]`
|
||||||
);
|
);
|
||||||
// -> update secret
|
// -> update secret
|
||||||
if (awsParameterStoreSecretsObj[key].Value !== secrets[key].value) {
|
if (awsParameterStoreSecretsObj[key].Value !== secrets[key].value) {
|
||||||
@@ -713,16 +714,16 @@ const syncSecretsAWSParameterStore = async ({
|
|||||||
|
|
||||||
if (!metadata.shouldDisableDelete) {
|
if (!metadata.shouldDisableDelete) {
|
||||||
logger.info(
|
logger.info(
|
||||||
`getIntegrationSecrets: [projectId=${projectId}] [environment=${integration.environment.slug}] [secretPath=${integration.secretPath}] ssm debug delete started`
|
`getIntegrationSecrets: inside of shouldDisableDelete AWS SSM [projectId=${projectId}] [environment=${integration.environment.slug}] [secretPath=${integration.secretPath}] [step=1]`
|
||||||
);
|
);
|
||||||
for (const key in awsParameterStoreSecretsObj) {
|
for (const key in awsParameterStoreSecretsObj) {
|
||||||
if (Object.hasOwn(awsParameterStoreSecretsObj, key)) {
|
if (Object.hasOwn(awsParameterStoreSecretsObj, key)) {
|
||||||
logger.info(
|
logger.info(
|
||||||
`getIntegrationSecrets: [projectId=${projectId}] [environment=${integration.environment.slug}] [secretPath=${integration.secretPath}] ssm debug delete in hasOwn: ${key}`
|
`getIntegrationSecrets: inside of shouldDisableDelete AWS SSM [projectId=${projectId}] [environment=${integration.environment.slug}] [secretPath=${integration.secretPath}] [key=${key}] [step=2]`
|
||||||
);
|
);
|
||||||
if (!(key in secrets)) {
|
if (!(key in secrets)) {
|
||||||
logger.info(
|
logger.info(
|
||||||
`getIntegrationSecrets: [projectId=${projectId}] [environment=${integration.environment.slug}] [secretPath=${integration.secretPath}] ssm debug delete: ${key}`
|
`getIntegrationSecrets: inside of shouldDisableDelete AWS SSM [projectId=${projectId}] [environment=${integration.environment.slug}] [secretPath=${integration.secretPath}] [key=${key}] [step=3]`
|
||||||
);
|
);
|
||||||
// case:
|
// case:
|
||||||
// -> delete secret
|
// -> delete secret
|
||||||
@@ -732,7 +733,7 @@ const syncSecretsAWSParameterStore = async ({
|
|||||||
})
|
})
|
||||||
.promise();
|
.promise();
|
||||||
logger.info(
|
logger.info(
|
||||||
`getIntegrationSecrets: [projectId=${projectId}] [environment=${integration.environment.slug}] [secretPath=${integration.secretPath}] ssm debug delete completed: ${key}`
|
`getIntegrationSecrets: inside of shouldDisableDelete AWS SSM [projectId=${projectId}] [environment=${integration.environment.slug}] [secretPath=${integration.secretPath}] [key=${key}] [step=4]`
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
await new Promise((resolve) => {
|
await new Promise((resolve) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user