##@follow_tag(openshift-golang-builder:rhel_8_golang_1.15)
FROM openshift-golang-builder:rhel_8_golang_1.15 AS builder

ENV GO111MODULE=on \
GOFLAGS="" \
GOCACHE=$REMOTE_SOURCE_DIR/deps/gomod \
GOMODCACHE=$REMOTE_SOURCE_DIR/deps/gomod/pkg/mod \
GOPATH=$REMOTE_SOURCE_DIR/deps/gomod

COPY $REMOTE_SOURCE $REMOTE_SOURCE_DIR
WORKDIR $REMOTE_SOURCE_DIR/app
COPY console.tgz .

#RUN source $CACHITO_ENV_FILE

# Debug
RUN go env

# Build
RUN tar -xzf console.tgz -C /tmp
RUN go build -ldflags "${LDFLAGS:--X github.com/skupperproject/skupper/client.Version=1.0.0}" -o service-controller\
    cmd/service-controller/main.go\
    cmd/service-controller/controller.go\
    cmd/service-controller/bridges.go\
    cmd/service-controller/ports.go\
    cmd/service-controller/definition_monitor.go\
    cmd/service-controller/console_server.go\
    cmd/service-controller/site_query.go\
    cmd/service-controller/ip_lookup.go\
    cmd/service-controller/claim_verifier.go\
    cmd/service-controller/token_handler.go\
    cmd/service-controller/secret_controller.go\
    cmd/service-controller/claim_handler.go\
    cmd/service-controller/tokens.go\
    cmd/service-controller/links.go\
    cmd/service-controller/services.go\
    cmd/service-controller/policies.go\
    cmd/service-controller/policy_controller.go
RUN go build -ldflags "${LDFLAGS:--X github.com/skupperproject/skupper/client.Version=1.0.0}" -o get cmd/get/get.go

##@follow_tag(registry.redhat.io/ubi8/ubi-minimal:latest)
FROM registry.redhat.io/ubi8/ubi-minimal:latest

WORKDIR /app
COPY --from=builder $REMOTE_SOURCE_DIR/app/service-controller .
COPY --from=builder $REMOTE_SOURCE_DIR/app/get /usr/local/bin/get
COPY --from=builder /tmp console
CMD ["/app/service-controller"]

LABEL \
      com.redhat.component="skupper-service-controller-container"  \
      description="Skupper Service Controller container image"  \
      io.k8s.description="Skupper Service Controller"  \
      io.k8s.display-name="Skupper Service Controller"  \
      io.openshift.expose-services=""  \
      io.openshift.tags="messaging,amq,integration,golang"  \
      maintainer="Andy Smith<ansmith@redhat.com>"  \
      name="application-interconnect/service-controller-rhel8" \
      summary="Skupper Service Controller"  \
      version="1.0.2"
