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