# ONOS dockerfile with XOS additions

FROM onosproject/onos
MAINTAINER Zack Williams <zdw@cs.arizona.edu>

# Include SSL certs
COPY xos-certs.crt /usr/local/share/ca-certificates/xos-certs.crt
RUN update-ca-certificates

# Create Java KeyStore from certs
RUN openssl x509 -in /usr/local/share/ca-certificates/xos-certs.crt -outform der -out /usr/local/share/ca-certificates/xos-certs.der
RUN keytool -import -noprompt -storepass 222222 -alias xos-certs -file /usr/local/share/ca-certificates/xos-certs.der -keystore /usr/local/share/ca-certificates/xos-certs.jks

# Updated onos-service to use the jks
COPY onos-service /root/bin/onos-service
RUN chmod 755 /root/bin/onos-service

