diff --git a/deployment/cdk/opensearch-service-migration/lib/common-utilities.ts b/deployment/cdk/opensearch-service-migration/lib/common-utilities.ts index 1d4eb7bda..e6d55869e 100644 --- a/deployment/cdk/opensearch-service-migration/lib/common-utilities.ts +++ b/deployment/cdk/opensearch-service-migration/lib/common-utilities.ts @@ -480,11 +480,14 @@ export function makeLocalAssetContainerImage(scope: Construct, imageName: string const dockerfileContent = ` FROM ${imageName} `; + writeFileSync(dockerfilePath, dockerfileContent); - const asset = new DockerImageAsset(scope, 'ServiceImage', { + const assetName = `${sanitizedImageName.charAt(0).toUpperCase() + sanitizedImageName.slice(1)}ImageAsset`; + const asset = new DockerImageAsset(scope, assetName, { directory: tempDir, // add the tag to the hash so that the asset is invalidated when the tag changes extraHash: imageHash, + assetName: assetName, }); return ContainerImage.fromDockerImageAsset(asset); } \ No newline at end of file diff --git a/deployment/cdk/opensearch-service-migration/lib/service-stacks/migration-otel-collector-sidecar.ts b/deployment/cdk/opensearch-service-migration/lib/service-stacks/migration-otel-collector-sidecar.ts index a23d44daa..dc851b146 100644 --- a/deployment/cdk/opensearch-service-migration/lib/service-stacks/migration-otel-collector-sidecar.ts +++ b/deployment/cdk/opensearch-service-migration/lib/service-stacks/migration-otel-collector-sidecar.ts @@ -7,7 +7,7 @@ import { TaskDefinition } from "aws-cdk-lib/aws-ecs"; import {LogGroup, RetentionDays} from "aws-cdk-lib/aws-logs"; -import {createAwsDistroForOtelPushInstrumentationPolicy} from "../common-utilities"; +import {createAwsDistroForOtelPushInstrumentationPolicy, makeLocalAssetContainerImage} from "../common-utilities"; import {Duration, RemovalPolicy} from "aws-cdk-lib"; import { DockerImageAsset } from "aws-cdk-lib/aws-ecr-assets"; import { join } from "path"; @@ -41,9 +41,7 @@ export class OtelCollectorSidecar { logGroupName: `${logGroupPrefix}/otel-collector` }); const otelCollectorContainer = taskDefinition.addContainer("OtelCollectorContainer", { - image: ContainerImage.fromDockerImageAsset(new DockerImageAsset(taskDefinition.stack, "OtelCollectorImage", { - directory: join(__dirname, "../../../../../", "TrafficCapture/dockerSolution/src/main/docker/otelCollector") - })), + image: makeLocalAssetContainerImage(taskDefinition.stack, "migrations/otel_collector:latest"), containerName: "otel-collector", command: ["--config=/etc/otel-config-aws.yaml"], portMappings: [otelCollectorPort, otelCollectorHealthcheckPort],