# syntax = docker/dockerfile:1.0-experimental
# DOCKER_BUILDKIT=1 docker build . -f recommendations/Dockerfile \
#                     -t recommendations --secret id=ca.key,src=ca.key

FROM python

RUN mkdir /service
COPY protobufs/ /service/protobufs/
COPY fortanix/ /service/fortanix/
COPY ca.pem /service/
COPY requirements.txt /service/
COPY server.py /service/

WORKDIR /service/
RUN python -m pip install --upgrade pip
RUN python -m pip install -r requirements.txt
RUN python -m grpc_tools.protoc -I ./protobufs --python_out=. \
           --grpc_python_out=. ./protobufs/fortanix.proto
RUN openssl req -nodes -newkey rsa:4096 -subj /CN=fortanix.consumer.local \
                -keyout server.key -out server.csr
RUN --mount=type=secret,id=ca.key \
    openssl x509 -req -in server.csr -CA ca.pem -CAkey /run/secrets/ca.key \
                 -set_serial 1 -out server.pem

# Login to Fortanix
ENV FORTANIX_USER="yonatan.hernandez@triara.com"
ENV FORTANIX_PASS="!2Fqa7wK7YcQyvg*QJgH"

# Custom Account and Roles
#ENV ACCOUNT="43b1eae3-27f8-4a5f-adf6-7afa9e4ddd9e"
#ENV ACCOUNT_ROLE="83533bca-70a0-4a7d-96e0-f37e4e266e95"
#ENV GROUP_ROLE="98feb5b2-0dec-4abf-910c-1030c1951907"

EXPOSE 8448
ENTRYPOINT [ "python", "server.py" ]