diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000..3ace8ab07d --- /dev/null +++ b/Dockerfile @@ -0,0 +1,20 @@ +FROM registry.svc.ci.openshift.org/openshift/release:golang-1.12 AS builder +WORKDIR /go/src/github.com/openshift/machine-config-operator +COPY . . +RUN WHAT=machine-config-operator ./hack/build-go.sh +RUN WHAT=machine-config-daemon ./hack/build-go.sh +RUN WHAT=machine-config-controller ./hack/build-go.sh +RUN WHAT=machine-config-server ./hack/build-go.sh +RUN WHAT=setup-etcd-environment ./hack/build-go.sh + +FROM registry.svc.ci.openshift.org/openshift/origin-v4.0:base +COPY --from=builder /go/src/github.com/openshift/machine-config-operator/_output/linux/amd64/machine-config-operator /usr/bin/ +COPY install /manifests +COPY --from=builder /go/src/github.com/openshift/machine-config-operator/_output/linux/amd64/machine-config-daemon /usr/bin/ +RUN if ! rpm -q util-linux; then yum install -y util-linux && yum clean all && rm -rf /var/cache/yum/*; fi +COPY --from=builder /go/src/github.com/openshift/machine-config-operator/_output/linux/amd64/machine-config-controller /usr/bin/ +COPY templates /etc/mcc/templates +COPY --from=builder /go/src/github.com/openshift/machine-config-operator/_output/linux/amd64/machine-config-server /usr/bin/ +COPY --from=builder /go/src/github.com/openshift/machine-config-operator/_output/linux/amd64/setup-etcd-environment /usr/bin/ +ENTRYPOINT ["/usr/bin/machine-config-operator"] +LABEL io.openshift.release.operator true diff --git a/Dockerfile.rhel7 b/Dockerfile.rhel7 new file mode 100644 index 0000000000..fc8b6c3583 --- /dev/null +++ b/Dockerfile.rhel7 @@ -0,0 +1,30 @@ +FROM registry.svc.ci.openshift.org/ocp/builder:golang-1.12 AS builder +WORKDIR /go/src/github.com/openshift/machine-config-operator +COPY . . +RUN WHAT=machine-config-operator ./hack/build-go.sh; \ + mkdir -p /tmp/build; \ + cp /go/src/github.com/openshift/machine-config-operator/_output/linux/$(go env GOARCH)/machine-config-operator /tmp/build/machine-config-operator +RUN WHAT=machine-config-daemon ./hack/build-go.sh; \ + mkdir -p /tmp/build; \ + cp /go/src/github.com/openshift/machine-config-operator/_output/linux/$(go env GOARCH)/machine-config-daemon /tmp/build/machine-config-daemon +RUN WHAT=machine-config-controller ./hack/build-go.sh; \ + mkdir -p /tmp/build; \ + cp /go/src/github.com/openshift/machine-config-operator/_output/linux/$(go env GOARCH)/machine-config-controller /tmp/build/machine-config-controller +RUN WHAT=machine-config-server ./hack/build-go.sh; \ + mkdir -p /tmp/build; \ + cp /go/src/github.com/openshift/machine-config-operator/_output/linux/$(go env GOARCH)/machine-config-server /tmp/build/machine-config-server +RUN WHAT=setup-etcd-environment ./hack/build-go.sh; \ + mkdir -p /tmp/build; \ + cp /go/src/github.com/openshift/machine-config-operator/_output/linux/$(go env GOARCH)/setup-etcd-environment /tmp/build/setup-etcd-environment + +FROM registry.svc.ci.openshift.org/ocp/4.0:base +COPY --from=builder /tmp/build/machine-config-operator /usr/bin/ +COPY install /manifests +COPY --from=builder /tmp/build/machine-config-daemon /usr/bin/ +RUN yum install -y util-linux && yum clean all && rm -rf /var/cache/yum/* +COPY --from=builder /tmp/build/machine-config-controller /usr/bin/ +COPY templates /etc/mcc/templates +COPY --from=builder /tmp/build/machine-config-server /usr/bin/ +COPY --from=builder /tmp/build/setup-etcd-environment /usr/bin/ +ENTRYPOINT ["/usr/bin/machine-config-operator"] +LABEL io.openshift.release.operator true