Skip to content

Instantly share code, notes, and snippets.

@FlorianHeigl
Created January 6, 2023 07:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save FlorianHeigl/c7b30a1da3f6e081bda83efbe8e35a5c to your computer and use it in GitHub Desktop.
Save FlorianHeigl/c7b30a1da3f6e081bda83efbe8e35a5c to your computer and use it in GitHub Desktop.
meet the man who might have created the biggest race condition in history of network automation?
FROM netboxcommunity/netbox
ENV http_proxy http://192.168.xx.xx:3128
ENV https_proxy http://192.168.xx.xx:3128
### deps und build env stuff
RUN apk --no-cache --update-cache add gcc git make musl-dev libffi-dev libxml2-dev libxslt-dev musl-dev python3-dev libffi-dev openssl-dev libjpeg-turbo-dev zlib-dev
ENV CRYPTOGRAPHY_DONT_BUILD_RUST=1
### napalm drivers
# hp procurve etc. (there are >3 plugins but this one seems easiest)
RUN pip3 install --upgrade pip
# --no-use-pep517
RUN pip3 install napalm-procurve
# cisco SG series
RUN pip3 install napalm_s350
# mikrotik routeros
RUN pip3 install napalm_ros
#### above all work with default versions.
#RUN pip3 install --upgrade napalm netmiko
### plugins
#### working
# qrcode generator
COPY ./plugin-qrcode_requirements.txt /
RUN /opt/netbox/venv/bin/pip install --no-warn-script-location -r /plugin-qrcode_requirements.txt
# autodiscovery
#COPY ./plugin-np_autodiscover_requirements.txt /
#RUN /opt/netbox/venv/bin/pip install --no-warn-script-location -r /plugin-np_autodiscover_requirements.txt
#### buggy
# topology visualization
COPY ./plugin-ui_requirements.txt /
RUN /opt/netbox/venv/bin/pip install --no-warn-script-location -r /plugin-ui_requirements.txt
# scanner
#COPY ./plugin-scanner_requirements.txt /
#RUN /opt/netbox/venv/bin/pip install --no-warn-script-location -r /plugin-scanner_requirements.txt
#### untested
# ansible gitlab export
COPY ./plugin-gitlab_requirements.txt /
RUN /opt/netbox/venv/bin/pip install --no-warn-script-location -r /plugin-gitlab_requirements.txt
# nagios
COPY ./plugin-nagios_requirements.txt /
RUN /opt/netbox/venv/bin/pip install --no-warn-script-location -r /plugin-nagios_requirements.txt
####
COPY ./plugin-routeros_requirements.txt /
RUN /opt/netbox/venv/bin/pip install --no-warn-script-location -r /plugin-routeros_requirements.txt
####
RUN apk add net-snmp net-snmp-libs net-snmp-tools net-snmp-dev
COPY ./plugin-pdu_requirements.txt /
RUN /opt/netbox/venv/bin/pip install --no-warn-script-location -r /plugin-pdu_requirements.txt
### inaktive plugins
# diese muessen in einen anderen napalm worker mit py2/napalm (>=2.3.0 <=2.5.0)
# huawei vrp
#RUN pip3 install napalm-huawei-vrp
#### mellanox onyx und mlnx-os
##RUN wget https://github.com/napalm-automation-community/napalm-onyx/archive/master.zip && unzip master.zip
#COPY master.zip /tmp/master.zip
#RUN unzip -q /tmp/master.zip
#RUN cd napalm-onyx-master && pip3 install -r requirements.txt
#### alcatel-lucent omniswitch series (6860 etc)
#RUN pip3 install napalm-aos
RUN pip3 install git+https://github.com/napalm-automation-community/napalm-aos.git
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment