Initial Docker baselines for SDC 05/10505/1
authorAreli Fuss <af732p@att.com>
Tue, 22 Aug 2017 12:34:37 +0000 (15:34 +0300)
committerAreli Fuss <af732p@att.com>
Wed, 6 Sep 2017 07:13:30 +0000 (10:13 +0300)
Set SDC baseline Dockers in order to
make the actual Docker build faster and simpler

Change-Id: I9eeff39b33507a8bc4e4628b0d2208caa6508ae5
Issue-Id: SDC-245
Signed-off-by: Areli Fuss <af732p@att.com>
.gitignore [new file with mode: 0644]
base_sdc-backend/Dockerfile [new file with mode: 0644]
base_sdc-cassandra/Dockerfile [new file with mode: 0644]
base_sdc-elasticsearch/Dockerfile [new file with mode: 0644]
base_sdc-frontend/Dockerfile [new file with mode: 0644]
base_sdc-kibana/Dockerfile [new file with mode: 0644]
base_sdc-sanity/Dockerfile [new file with mode: 0644]
pom.xml [new file with mode: 0644]

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..2f7896d
--- /dev/null
@@ -0,0 +1 @@
+target/
diff --git a/base_sdc-backend/Dockerfile b/base_sdc-backend/Dockerfile
new file mode 100644 (file)
index 0000000..2bdc6d8
--- /dev/null
@@ -0,0 +1,29 @@
+FROM jetty:9.3-jre8
+
+ARG HTTP_PROXY
+ARG HTTPS_PROXY
+
+ENV HTTP_PROXY  ${HTTP_PROXY}
+ENV HTTPS_PROXY ${HTTPS_PROXY}
+
+RUN if [ ! -z ${HTTP_PROXY} ]; then echo "Acquire::http::proxy  \"${HTTP_PROXY}\";" >> /etc/apt/apt.conf; fi && \
+    if [ ! -z ${HTTPS_PROXY} ]; then echo "Acquire::https::proxy \"${HTTPS_PROXY}\";" >> /etc/apt/apt.conf; fi 
+
+
+RUN apt-get -y update && apt-get -y install \
+    apt-utils \
+    curl \
+    vim \
+    jq \
+    python \
+    libssl-dev \
+    libcurl4-openssl-dev \
+    python-dev \
+    gcc \
+    python-pip
+
+# install chef-solo
+RUN curl -L https://omnitruck.chef.io/install.sh | bash
+
+RUN pip install pycurl
+
diff --git a/base_sdc-cassandra/Dockerfile b/base_sdc-cassandra/Dockerfile
new file mode 100644 (file)
index 0000000..3ee60a9
--- /dev/null
@@ -0,0 +1,23 @@
+FROM cassandra:2.1.17
+
+ARG HTTP_PROXY
+ARG HTTPS_PROXY
+
+ENV HTTP_PROXY  ${HTTP_PROXY}
+ENV HTTPS_PROXY ${HTTPS_PROXY}
+
+RUN if [ ! -z ${HTTP_PROXY} ]; then echo "Acquire::http::proxy  \"${HTTP_PROXY}\";" >> /etc/apt/apt.conf; fi && \
+    if [ ! -z ${HTTPS_PROXY} ]; then echo "Acquire::https::proxy \"${HTTPS_PROXY}\";" >> /etc/apt/apt.conf; fi 
+
+#ENV DEBIAN_FRONTEND noninteractive
+RUN apt-get -y update && apt-get -y install --no-install-recommends \
+    curl   \
+    vim \
+    apt-utils  \
+    openjdk-8-jdk
+
+RUN update-alternatives --set java /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
+
+# install chef-solo
+RUN curl -L https://omnitruck.chef.io/install.sh | bash
+
diff --git a/base_sdc-elasticsearch/Dockerfile b/base_sdc-elasticsearch/Dockerfile
new file mode 100644 (file)
index 0000000..09e8e78
--- /dev/null
@@ -0,0 +1,21 @@
+FROM elasticsearch:2.1.2
+
+ARG HTTP_PROXY
+ARG HTTPS_PROXY
+
+ENV HTTP_PROXY  ${HTTP_PROXY}
+ENV HTTPS_PROXY ${HTTPS_PROXY}
+
+RUN if [ ! -z ${HTTP_PROXY} ]; then echo "Acquire::http::proxy  \"${HTTP_PROXY}\";" >> /etc/apt/apt.conf; fi && \
+    if [ ! -z ${HTTPS_PROXY} ]; then echo "Acquire::https::proxy \"${HTTPS_PROXY}\";" >> /etc/apt/apt.conf; fi
+
+RUN apt-get -y update && apt-get -y install \
+    apt-utils \
+    curl \
+    vim
+
+RUN mkdir -p /var/chef/nodes
+
+# install chef-solo
+RUN curl -L https://omnitruck.chef.io/install.sh | bash
+
diff --git a/base_sdc-frontend/Dockerfile b/base_sdc-frontend/Dockerfile
new file mode 100644 (file)
index 0000000..5a8e9e0
--- /dev/null
@@ -0,0 +1,18 @@
+FROM jetty:9.3-jre8
+
+ARG HTTP_PROXY
+ARG HTTPS_PROXY
+
+ENV HTTP_PROXY  ${HTTP_PROXY}
+ENV HTTPS_PROXY ${HTTPS_PROXY}
+
+RUN if [ ! -z ${HTTP_PROXY} ]; then echo "Acquire::http::proxy  \"${HTTP_PROXY}\";" >> /etc/apt/apt.conf; fi && \
+    if [ ! -z ${HTTPS_PROXY} ]; then echo "Acquire::https::proxy \"${HTTPS_PROXY}\";" >> /etc/apt/apt.conf; fi 
+
+RUN apt-get -y update && apt-get -y install \
+    apt-utils \
+    curl \
+    vim
+
+# install chef-solo
+RUN curl -L https://omnitruck.chef.io/install.sh | bash
diff --git a/base_sdc-kibana/Dockerfile b/base_sdc-kibana/Dockerfile
new file mode 100644 (file)
index 0000000..10ece1a
--- /dev/null
@@ -0,0 +1,18 @@
+FROM kibana:4.3.3
+
+ARG HTTP_PROXY
+ARG HTTPS_PROXY
+
+ENV HTTP_PROXY  ${HTTP_PROXY}
+ENV HTTPS_PROXY ${HTTPS_PROXY}
+
+RUN if [ ! -z ${HTTP_PROXY} ]; then echo "Acquire::http::proxy  \"${HTTP_PROXY}\";" >> /etc/apt/apt.conf; fi && \
+    if [ ! -z ${HTTPS_PROXY} ]; then echo "Acquire::https::proxy \"${HTTPS_PROXY}\";" >> /etc/apt/apt.conf; fi 
+
+RUN apt-get -y update && apt-get -y install \
+    curl \
+    vim
+
+# install chef-solo
+RUN curl -L https://omnitruck.chef.io/install.sh | bash
+
diff --git a/base_sdc-sanity/Dockerfile b/base_sdc-sanity/Dockerfile
new file mode 100644 (file)
index 0000000..29f8b20
--- /dev/null
@@ -0,0 +1,24 @@
+FROM ubuntu:16.04
+
+ARG HTTP_PROXY
+ARG HTTPS_PROXY
+
+ENV HTTP_PROXY  ${HTTP_PROXY}
+ENV HTTPS_PROXY ${HTTPS_PROXY}
+
+RUN if [ ! -z ${HTTP_PROXY} ]; then echo "Acquire::http::proxy  \"${HTTP_PROXY}\";" >> /etc/apt/apt.conf; fi
+RUN if [ ! -z ${HTTPS_PROXY} ]; then echo "Acquire::https::proxy \"${HTTPS_PROXY}\";" >> /etc/apt/apt.conf; fi 
+
+RUN apt-get -y update && apt-get -y install --no-install-recommends \
+    apt-utils \
+    curl \
+    default-jre \
+    openjdk-8-jdk \
+    vim
+
+# Set Java links
+RUN update-alternatives --set java /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
+
+# install chef-solo
+RUN curl -L https://omnitruck.chef.io/install.sh | bash
+
diff --git a/pom.xml b/pom.xml
new file mode 100644 (file)
index 0000000..85a8503
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,143 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>sdc.att.app</groupId>
+  <artifactId>sdc_docker_baseline</artifactId>
+  <packaging>jar</packaging>
+  <version>1.0.0</version>
+  <name>sdc_docker_baseline</name>
+  <url>http://maven.apache.org</url>
+
+    <properties>
+        <timestamp>${maven.build.timestamp}</timestamp>
+        <maven.build.timestamp.format>yyyy.MM.dd.HH.mm</maven.build.timestamp.format>
+        <docker.tag>${project.version}-${timestamp}</docker.tag>
+        <docker.latest.tag>${project.version}-latest</docker.latest.tag>
+    </properties>
+
+
+  <build>
+    <plugins>
+        <plugin>
+            <groupId>io.fabric8</groupId>
+            <artifactId>docker-maven-plugin</artifactId>
+            <version>0.15.1</version>
+            <configuration>
+                <images>
+                    <!-- base_sdc-backend  -->
+                    <image>
+                        <name>openecomp/base_sdc-backend</name>
+                        <alias>base_sdc-backend</alias>
+                        <build>
+                            <cleanup>true</cleanup>
+                            <tags>
+                                <tag>${docker.tag}</tag>
+                                <tag>${docker.latest.tag}</tag>
+                            </tags>
+                            <dockerFileDir>${project.basedir}/base_sdc-backend</dockerFileDir>
+                        </build>
+                    </image>
+                    <!-- base_sdc-frontend  -->
+                    <image>
+                        <name>openecomp/base_sdc-frontend</name>
+                        <alias>base_sdc-frontendt</alias>
+                        <build>
+                            <cleanup>true</cleanup>
+                            <tags>
+                                <tag>${docker.tag}</tag>
+                                <tag>${docker.latest.tag}</tag>
+                            </tags>
+                            <dockerFileDir>${project.basedir}/base_sdc-frontend</dockerFileDir>
+                        </build>
+                    </image>
+                           <!-- base_sdc-frontend  -->
+                    <image>
+                        <name>openecomp/base_sdc-kibana</name>
+                        <alias>base_sdc-kibana</alias>
+                        <build>
+                            <cleanup>true</cleanup>
+                            <tags>
+                                <tag>${docker.tag}</tag>
+                                <tag>${docker.latest.tag}</tag>
+                            </tags>
+                            <dockerFileDir>${project.basedir}/base_sdc-kibana</dockerFileDir>
+                        </build>
+                    </image>
+                           <!-- base_sdc-cassandra  -->
+                    <image>
+                        <name>openecomp/base_sdc-cassandra</name>
+                        <alias>base_sdc-cassandra</alias>
+                        <build>
+                            <cleanup>true</cleanup>
+                            <tags>
+                                <tag>${docker.tag}</tag>
+                                <tag>${docker.latest.tag}</tag>
+                            </tags>
+                            <dockerFileDir>${project.basedir}/base_sdc-cassandra</dockerFileDir>
+                        </build>
+                    </image>
+                    <!-- base_sdc-elasticsearch  -->
+                    <image>
+                        <name>openecomp/base_sdc-elasticsearch</name>
+                        <alias>base_sdc-elasticsearch</alias>
+                        <build>
+                            <cleanup>true</cleanup>
+                            <tags>
+                                <tag>${docker.tag}</tag>
+                                <tag>${docker.latest.tag}</tag>
+                            </tags>
+                            <dockerFileDir>${project.basedir}/base_sdc-elasticsearch</dockerFileDir>
+                        </build>
+                    </image>
+                    <!-- base_sdc-sanity  -->
+                    <image>
+                        <name>openecomp/base_sdc-sanity</name>
+                        <alias>base_sdc-sanity</alias>
+                        <build>
+                            <cleanup>true</cleanup>
+                            <tags>
+                                <tag>${docker.tag}</tag>
+                                <tag>${docker.latest.tag}</tag>
+                            </tags>
+                            <dockerFileDir>${project.basedir}/base_sdc-sanity</dockerFileDir>
+                        </build>
+                    </image>
+                </images>
+            </configuration>
+            <executions>
+                <execution>
+                    <id>clean-images</id>
+                    <phase>pre-clean</phase>
+                    <goals>
+                        <goal>remove</goal>
+                    </goals>
+                    <configuration>
+                        <removeAll>true</removeAll>
+                        <image>openecomp/base_sdc-backend,openecomp/base_sdc-frontend,openecomp/base_sdc-elasticsearch,openecomp/base_sdc-kibana,openecomp/base_sdc-sanity</image>
+                    </configuration>
+                </execution>
+
+                <execution>
+                    <id>generate-images</id>
+                    <phase>package</phase>
+                    <goals>
+                        <goal>build</goal>
+                    </goals>
+                </execution>
+
+                <execution>
+                    <id>push-images</id>
+                    <phase>deploy</phase>
+                    <goals>
+                        <goal>build</goal>
+                        <goal>push</goal>
+                    </goals>
+                    <configuration>
+                        <image>openecomp/base_sdc-backend,openecomp/base_sdc-frontend,openecomp/base_sdc-elasticsearch,openecomp/base_sdc-kibana,openecomp/base_sdc-sanity</image>
+                    </configuration>
+                </execution>
+            </executions>
+        </plugin>
+    </plugins>
+  </build>
+</project>