Skip to content
This repository was archived by the owner on Aug 20, 2025. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
118 changes: 75 additions & 43 deletions metron-deployment/packaging/docker/ansible-docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -17,49 +17,81 @@
FROM centos:centos6.9
MAINTAINER Apache Metron

RUN yum install -y tar
RUN yum install -y wget
# base development tools required
RUN yum groupinstall -y "Development tools"
# newer cpp 11 support required for building node modules
RUN yum install -y centos-release-scl
RUN yum install -y devtoolset-4-gcc-c++ devtoolset-4-gcc
RUN yum install -y zlib-dev openssl-devel sqlite-devel bzip2-devel libffi-devel
# install python 2.7.11 but do not make it the default
RUN wget https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz -O /usr/src/Python-2.7.11.tgz
WORKDIR /usr/src
RUN tar xvf Python-2.7.11.tgz
WORKDIR /usr/src/Python-2.7.11
RUN ./configure
RUN make altinstall
WORKDIR /usr/src
RUN wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-11.3.tar.gz -O /usr/src/setuptools-11.3.tar.gz
RUN tar xvf setuptools-11.3.tar.gz
WORKDIR /usr/src/setuptools-11.3
RUN python2.7 setup.py install
RUN easy_install-2.7 pip
# install ansible and set the configuration var
RUN pip2.7 install ansible==2.0.0.2
RUN pip2.7 install boto
COPY ansible.cfg /root/
ENV ANSIBLE_CONFIG /root/ansible.cfg
# java
RUN yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
RUN yum install -y which
RUN yum install -y nss
WORKDIR /usr/src
# setup maven
RUN wget http://apache.cs.utah.edu/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
RUN tar xzvf apache-maven-3.3.9-bin.tar.gz
RUN mv apache-maven-3.3.9 /opt/maven
RUN ln -s /opt/maven/bin/mvn /usr/bin/mvn
# install rpm tools required to build rpms
RUN yum -y install asciidoc rpm-build rpm2cpio tar unzip xmlto zip rpmlint make && yum clean all
# create a .bashrc for root, enabling the cpp 11 toolset
RUN touch /root/.bashrc \
&& cat '/opt/rh/devtoolset-4/enable' >> /root/.bashrc
# install node so that the node dependencies can be packaged into the RPMs
RUN curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -
RUN yum -y install nodejs
WORKDIR /root

RUN yum install -y \
tar \
wget \
# base development tools required \
&& yum groupinstall -y \
"Development tools" \
# Install Software Collections repo (needs to be done in separate command) \
&& yum install -y \
centos-release-scl \
# newer cpp 11 support required for building node modules \
&& yum install -y \
devtoolset-4-gcc-c++ \
devtoolset-4-gcc \
zlib-dev \
openssl-devel \
sqlite-devel \
bzip2-devel \
libffi-devel \
# install python 2.7.11 but do not make it the default \
&& wget https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz -O /usr/src/Python-2.7.11.tgz \
&& cd /usr/src \
&& tar xvf Python-2.7.11.tgz \
&& rm -rf Python-2.7.11.tgz \
&& cd /usr/src/Python-2.7.11 \
&& ./configure \
&& make altinstall \
&& cd /usr/src \
&& wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-11.3.tar.gz -O /usr/src/setuptools-11.3.tar.gz \
&& tar xvf setuptools-11.3.tar.gz \
&& rm setuptools-11.3.tar.gz \
&& cd /usr/src/setuptools-11.3 \
&& python2.7 setup.py install \
&& easy_install-2.7 pip \
# install ansible and set the configuration var \
&& pip2.7 install \
ansible==2.0.0.2 \
boto \
# java \
&& yum install -y \
java-1.8.0-openjdk \
java-1.8.0-openjdk-devel \
which \
nss \
&& cd /usr/src \
# setup maven \
&& wget http://apache.cs.utah.edu/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz \
&& tar xzvf apache-maven-3.3.9-bin.tar.gz \
&& rm apache-maven-3.3.9-bin.tar.gz \
&& mv apache-maven-3.3.9 /opt/maven \
&& ln -s /opt/maven/bin/mvn /usr/bin/mvn \
# install rpm tools required to build rpms \
&& yum install -y \
asciidoc \
rpm-build \
rpm2cpio \
tar \
unzip \
xmlto \
zip \
rpmlint \
make \
# create a .bashrc for root, enabling the cpp 11 toolset \
&& touch /root/.bashrc \
&& echo '/opt/rh/devtoolset-4/enable' >> /root/.bashrc \
# install node so that the node dependencies can be packaged into the RPMs \
&& curl --silent --location https://rpm.nodesource.com/setup_6.x | bash - \
&& yum install -y \
nodejs \
# Remove packages just needed for builds \
&& yum remove -y \
wget \
# Clean up yum caches \
&& yum clean all

WORKDIR /root
23 changes: 12 additions & 11 deletions metron-deployment/packaging/docker/deb-docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,17 @@
FROM ubuntu:trusty

# install prerequisites
RUN apt-get update && apt-get install -y \
build-essential \
openjdk-7-jdk \
wget \
curl \
dpkg-dev \
gettext

# install nodejs so that the node dependencies can be packaged into the DEBs
RUN curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
RUN apt-get install -y nodejs
RUN apt-get update \
&& apt-get install -y \
build-essential \
openjdk-7-jdk \
curl \
dpkg-dev \
gettext \
# install nodejs so that the node dependencies can be packaged into the DEBs \
&& curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - \
&& apt-get install -y \
nodejs \
&& apt-get clean

WORKDIR /root
46 changes: 33 additions & 13 deletions metron-deployment/packaging/docker/rpm-docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,37 @@

FROM centos:centos6

RUN yum install -y tar
RUN yum install -y wget
RUN yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
WORKDIR /usr/src
RUN wget http://apache.cs.utah.edu/maven/maven-3/3.2.5/binaries/apache-maven-3.2.5-bin.tar.gz
RUN tar xzvf apache-maven-3.2.5-bin.tar.gz
RUN mv apache-maven-3.2.5 /opt/maven
RUN ln -s /opt/maven/bin/mvn /usr/bin/mvn
RUN yum -y install asciidoc rpm-build rpm2cpio tar unzip xmlto zip rpmlint && yum clean all
WORKDIR /root
RUN yum install -y \
tar \
wget \
java-1.8.0-openjdk \
java-1.8.0-openjdk-devel \
&& cd /usr/src \
&& wget http://apache.cs.utah.edu/maven/maven-3/3.2.5/binaries/apache-maven-3.2.5-bin.tar.gz \
&& tar xzvf apache-maven-3.2.5-bin.tar.gz \
&& rm apache-maven-3.2.5-bin.tar.gz \
&& mv apache-maven-3.2.5 /opt/maven \
&& ln -s /opt/maven/bin/mvn /usr/bin/mvn \
&& yum install -y \
asciidoc \
rpm-build \
rpm2cpio \
tar \
unzip \
xmlto \
zip \
rpmlint \
# install node so that the node dependencies can be packaged into the RPMs \
&& cd /root \
&& curl --silent --location https://rpm.nodesource.com/setup_6.x | bash - \
&& yum install -y \
gcc-c++ \
make \
nodejs \
# Remove packages just needed for builds \
&& yum remove -y \
wget \
# Clean up yum caches \
&& yum clean all

# install node so that the node dependencies can be packaged into the RPMs
RUN curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -
RUN yum -y install gcc-c++ make nodejs
WORKDIR /root