blob: 193a0dafa206c9274053aa7ee4d45fa41179761a [file] [log] [blame]
David K. Bainbridge10a7a7e2018-01-29 09:54:40 -08001# Copyright 2016 the original author or authors.
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14ARG TAG=latest
15ARG REGISTRY=
16ARG REPOSITORY=
17
18FROM ${REGISTRY}${REPOSITORY}voltha-protos:${TAG} as protos
19FROM ${REGISTRY}${REPOSITORY}voltha-base:${TAG}
20
Kim Kempf01e23a82018-02-09 14:23:50 -080021MAINTAINER Voltha Community <info@opennetworking.org>
David K. Bainbridge10a7a7e2018-01-29 09:54:40 -080022
23# Install protoc version 3.0.0; this is not yet the supported
24# version on xenial, so we need to "backport" it
25RUN apt-get update && \
26 apt-get install -y zlib1g-dev wget && \
27 wget http://ftp.us.debian.org/debian/pool/main/p/protobuf/libprotoc10_3.0.0-9_amd64.deb && \
28 wget http://ftp.us.debian.org/debian/pool/main/p/protobuf/libprotobuf-lite10_3.0.0-9_amd64.deb && \
29 wget http://ftp.us.debian.org/debian/pool/main/p/protobuf/libprotobuf-dev_3.0.0-9_amd64.deb && \
30 wget http://ftp.us.debian.org/debian/pool/main/p/protobuf/libprotobuf10_3.0.0-9_amd64.deb && \
31 wget http://ftp.us.debian.org/debian/pool/main/p/protobuf/protobuf-compiler_3.0.0-9_amd64.deb && \
32 dpkg -i *.deb && \
33 protoc --version && \
34 rm -f *.deb
35
36# Bundle app source
37RUN mkdir -p /ofagent/ofagent/protos/third_party/google/api && \
38 touch /ofagent/__init__.py \
39 /ofagent/ofagent/protos/third_party/google/__init__.py \
40 /ofagent/ofagent/protos/third_party/google/api/__init__.py
41ENV PYTHONPATH=/ofagent
42COPY common /ofagent/common
43COPY ofagent /ofagent/ofagent
44COPY pki /ofagent/pki
45COPY --from=protos /protos/voltha /ofagent/ofagent/protos
46COPY --from=protos /protos/google/api /ofagent/ofagent/protos/third_party/google/api
47
48ENTRYPOINT ["/usr/bin/dumb-init", "--"]
49
50# Exposing process and default entry point
51CMD ["dumb-init", "python", "ofagent/ofagent/main.py"]