blob: dee28edfb018306fb090f16fa0272b6c09e8d0fb [file] [log] [blame]
Stephane Barbarie6e1bd502018-11-05 22:44:45 -05001# 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
Matt Jeanneret13643e02019-01-30 16:49:03 -050018FROM ${REGISTRY}${REPOSITORY}voltha-protos:${TAG} as protos
Stephane Barbarie6e1bd502018-11-05 22:44:45 -050019FROM ${REGISTRY}${REPOSITORY}voltha-base:${TAG}
20
21MAINTAINER Voltha Community <info@opennetworking.org>
22
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
Matt Jeanneret13643e02019-01-30 16:49:03 -050037RUN 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
Stephane Barbarie6e1bd502018-11-05 22:44:45 -050041ENV PYTHONPATH=/ofagent
42COPY common /ofagent/common
43COPY ofagent /ofagent/ofagent
44COPY pki /ofagent/pki
Matt Jeanneret13643e02019-01-30 16:49:03 -050045COPY --from=protos /protos/voltha /ofagent/ofagent/protos
46COPY --from=protos /protos/google/api /ofagent/ofagent/protos/third_party/google/api
Stephane Barbarie6e1bd502018-11-05 22:44:45 -050047
48ENTRYPOINT ["/usr/bin/dumb-init", "--"]
49
50# Exposing process and default entry point
51CMD ["dumb-init", "python", "ofagent/ofagent/main.py"]