blob: 19359f7de5bf8ceec9b1cbd29e10ee3bfeb123ed [file] [log] [blame]
# Copyright 2017-present Open Networking Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Dockerfile.base
# This image isn't used, but installs the prereqs for the other XOS images
FROM ubuntu:16.04
# Install apt packages, including docker
RUN apt-get update && apt-get install -y \
apt-transport-https \
build-essential \
curl \
libpq-dev \
libyaml-dev \
openssh-client \
python-pip \
software-properties-common \
sshpass \
&& apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 \
--recv-keys 46095ACC8548582C1A2699A9D27D666CD88E42B4 \
&& echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | \
tee -a /etc/apt/sources.list.d/elastic-6.x.list \
&& apt-get update \
&& apt-get install -y filebeat \
&& update-rc.d filebeat defaults 95 10 \
&& rm -rf /var/lib/apt/lists/* \
&& mkdir /var/xos \
&& pip freeze > /var/xos/pip_freeze_apt_`date -u +%Y%m%dT%H%M%S`
# Configure filebeat to collect json data
COPY filebeat.yml /etc/filebeat/filebeat.yml
# Install python packages with pip
# Upgrade methodology - pip_requested.txt is the manually generated list of pip
# packages desired, without any added dependencies. It is used to generate
# pip_requirements.txt by running: pip install -r pip_requested.txt then use
# `pipdeptree` to make sure dependencies aren't broken, then
# `pip freeze > pip_requirements.txt` and manually clean up.
COPY pip_requirements.txt /tmp/pip_requirements.txt
RUN pip install --no-deps -U -I pip==9.0.3 setuptools==39.0.1 requests==2.18.4 \
&& pip install --no-deps -r /tmp/pip_requirements.txt \
&& pip freeze > /var/xos/pip_freeze_pip_up_`date -u +%Y%m%dT%H%M%S`
# Copy over ansible hosts
COPY ansible-hosts /etc/ansible/hosts
# Label image
ARG org_label_schema_schema_version=1.0
ARG org_label_schema_name=xos-base
ARG org_label_schema_version=unknown
ARG org_label_schema_vcs_url=unknown
ARG org_label_schema_vcs_ref=unknown
ARG org_label_schema_build_date=unknown
ARG org_opencord_vcs_commit_date=unknown
LABEL org.label-schema.schema-version=$org_label_schema_schema_version \
org.label-schema.name=$org_label_schema_name \
org.label-schema.version=$org_label_schema_version \
org.label-schema.vcs-url=$org_label_schema_vcs_url \
org.label-schema.vcs-ref=$org_label_schema_vcs_ref \
org.label-schema.build-date=$org_label_schema_build_date \
org.opencord.vcs-commit-date=$org_opencord_vcs_commit_date