Create ODL Argon docker
[ccsdk/distribution.git] / opendaylight / argon / argon-alpine / src / main / docker / Dockerfile
diff --git a/opendaylight/argon/argon-alpine/src/main/docker/Dockerfile b/opendaylight/argon/argon-alpine/src/main/docker/Dockerfile
new file mode 100644 (file)
index 0000000..4506311
--- /dev/null
@@ -0,0 +1,53 @@
+# Prepare stage for multistage image build
+## START OF STAGE0 ##
+FROM onap/ccsdk-alpine-j17-image:${project.docker.latestfulltag.version} AS stage0
+USER root
+
+ENV ODL_HOME /opt/opendaylight/current
+
+# copy the opendaylight tar and expand
+COPY ${odl.karaf.artifactId}-${ccsdk.opendaylight.version}.tar.gz /tmp/
+RUN mkdir -p /opt/odl \
+    && tar xzf /tmp/${odl.karaf.artifactId}-${ccsdk.opendaylight.version}.tar.gz --directory /opt/odl \
+    && rm -rf /tmp/${odl.karaf.artifactId}-${ccsdk.opendaylight.version}.tar.gz \
+    && mv /opt/odl/${odl.karaf.artifactId}-${ccsdk.opendaylight.version} /opt/opendaylight \
+    && ln -s  /opt/opendaylight /opt/opendaylight/${odl.karaf.artifactId}-${ccsdk.opendaylight.version} \
+    && ln -s /opt/opendaylight /opt/opendaylight/current
+
+# Enable wheel and create a group and user
+RUN sed -i -e 's/# %wheel ALL=(ALL) NOPASSWD: ALL/%wheel ALL=(ALL) NOPASSWD: ALL/g' /etc/sudoers \
+    && addgroup -S odl \
+    && adduser -S odl -G odl \
+    && addgroup odl wheel
+
+# Patch some opendaylight artifacts
+COPY system $ODL_HOME/system
+
+# Add missing scripts see SDNC-1056
+#COPY configure_cluster.sh configure-cluster-ipdetect.sh custom_shard_config.txt set_persistence.sh $ODL_HOME/bin/
+#RUN chmod 755 $ODL_HOME/bin/configure_cluster.sh $ODL_HOME/bin/configure-cluster-ipdetect.sh $ODL_HOME/bin/set_persistence.sh $ODL_HOME/bin/custom_shard_config.txt
+
+
+# Changing ownership and permission of /opt
+RUN chown -R odl:odl /opt && chmod -R 755 /opt
+
+## END OF STAGE0 ##
+
+#################################################
+
+## This will create actual image
+FROM scratch
+MAINTAINER CCSDK Team (onap-ccsdk@lists.onap.org)
+USER root
+
+ENV JAVA_HOME=/opt/java/openjdk \
+    PATH=$PATH:/opt/java/openjdk/bin \
+    ODL_HOME=/opt/opendaylight/current
+
+# Copy Everything from stage0
+COPY --from=stage0 / /
+
+USER odl
+EXPOSE 8181
+WORKDIR $ODL_HOME
+# ENTRYPOINT exec /opt/opendaylight/bin/karaf