| # 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 |
| |