resource "aws_ecr_repository" "customer" {
name = "wsi-customer-ecr"
image_tag_mutability = "MUTABLE"
tags = {
Name = "wsi-customer-ecr"
}
}
resource "aws_ecr_repository" "product" {
name = "wsi-product-ecr"
image_tag_mutability = "MUTABLE"
tags = {
Name = "wsi-order-ecr"
}
}
resource "aws_ecr_repository" "order" {
name = "wsi-order-ecr"
image_tag_mutability = "MUTABLE"
tags = {
Name = "wsi-order-ecr"
}
}
output "customer-ecr" {
value = aws_ecr_repository.customer.name
}
output "product-ecr" {
value = aws_ecr_repository.product.name
}
output "order" {
value = aws_ecr_repository.order.name
}
CONTROL_PLANE_PRIVATE_IP=$(aws ec2 describe-instances --filter Name=tag:Name,Values=wsi-control-plane --query "Reservations[].Instances[].PrivateIpAddress" --output text)
scp -P 3817 ./customer ec2-user@$CONTROL_PLANE_PRIVATE_IP:/home/ec2-user/image/customer
scp -P 3817 ./product ec2-user@$CONTROL_PLANE_PRIVATE_IP:/home/ec2-user/image/product
scp -P 3817 ./order ec2-user@$CONTROL_PLANE_PRIVATE_IP:/home/ec2-user/image/order
FROM alpine
# ENV MYSQL_USER=<USERNAME>
# ENV MYSQL_PASSWORD=<PASSWORD>
# ENV MYSQL_HOST=<RDS_EP>
# ENV MYSQL_PORT=<PORT>
# ENV MYSQL_DBNAME=dev
WORKDIR /app
COPY ./customer /app/customer
RUN apk update && \\
apk add --no-cache libc6-compat libstdc++ libgcc curl openssl && \\
apk upgrade --no-cache busybox && \\
chmod +x /app/customer && \\
adduser -D -H -s /bin/sh customer
USER customer
EXPOSE 8080
CMD ["/app/customer"]
FROM alpine
# ENV MYSQL_USER=<USERNAME>
# ENV MYSQL_PASSWORD=<PASSWORD>
# ENV MYSQL_HOST=<RDS_EP>
# ENV MYSQL_PORT=<PORT>
# ENV MYSQL_DBNAME=dev
WORKDIR /app
COPY ./product /app/product
RUN apk update && \\
apk add --no-cache libc6-compat libstdc++ libgcc curl openssl && \\
apk upgrade --no-cache busybox && \\
chmod +x /app/product && \\
adduser -D -H -s /bin/sh product
USER product
EXPOSE 8080
CMD ["/app/product"]
FROM alpine
WORKDIR /app
COPY ./order /app/order
RUN apk update && \\
apk add --no-cache libc6-compat libstdc++ libgcc curl openssl && \\
apk upgrade --no-cache busybox && \\
chmod +x /app/order && \\
adduser -D -H -s /bin/sh order
USER order
EXPOSE 8080
CMD ["/app/order"]
#!/bin/bash
ACCOUNT_ID=$(aws sts get-caller-identity --query "Account" --output text)
REGION_CODE=$(aws configure get region)
IMAGE_NAME=("customer" "product" "order")
for name in "${IMAGE_NAME[@]}"
do
aws ecr get-login-password --region $REGION_CODE | docker login --username AWS --password-stdin $ACCOUNT_ID.dkr.ecr.$REGION_CODE.amazonaws.com
docker build -t $ACCOUNT_ID.dkr.ecr.$REGION_CODE.amazonaws.com/wsi-$name-ecr:latest ./$name/
docker push $ACCOUNT_ID.dkr.ecr.$REGION_CODE.amazonaws.com/wsi-$name-ecr:latest
done