-
Notifications
You must be signed in to change notification settings - Fork 335
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #290 from cisagov/v23.12.0_merge_cisagov
Malcolm v23.12.0
- Loading branch information
Showing
134 changed files
with
3,077 additions
and
1,664 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,77 +1,4 @@ | ||
# build #################################################################### | ||
FROM amazonlinux:2 AS build | ||
|
||
# Copyright (c) 2023 Battelle Energy Alliance, LLC. All rights reserved. | ||
|
||
# set up build environment for dashboard plugins built from source | ||
|
||
ARG DEFAULT_UID=1000 | ||
ARG DEFAULT_GID=1000 | ||
ENV DEFAULT_UID $DEFAULT_UID | ||
ENV DEFAULT_GID $DEFAULT_GID | ||
ENV PUSER "dashboarder" | ||
ENV PGROUP "dashboarder" | ||
|
||
ENV TERM xterm | ||
|
||
ARG OPENSEARCH_VERSION="2.8.0" | ||
ENV OPENSEARCH_VERSION $OPENSEARCH_VERSION | ||
|
||
ARG OPENSEARCH_DASHBOARDS_VERSION="2.8.0" | ||
ENV OPENSEARCH_DASHBOARDS_VERSION $OPENSEARCH_DASHBOARDS_VERSION | ||
|
||
# base system dependencies for checking out and building plugins | ||
|
||
USER root | ||
|
||
RUN amazon-linux-extras install -y epel && \ | ||
yum upgrade -y && \ | ||
yum install -y curl patch procps psmisc tar zip unzip gcc-c++ make moreutils jq git && \ | ||
amazon-linux-extras install -y python3.8 && \ | ||
ln -s -r -f /usr/bin/python3.8 /usr/bin/python3 && \ | ||
ln -s -r -f /usr/bin/pip3.8 /usr/bin/pip3 && \ | ||
groupadd -g ${DEFAULT_GID} ${PGROUP} && \ | ||
adduser -u ${DEFAULT_UID} -d /home/${PUSER} -s /bin/bash -G ${PGROUP} -g ${PUSER} ${PUSER} && \ | ||
mkdir -p /usr/share && \ | ||
git clone --depth 1 --recurse-submodules --shallow-submodules --single-branch --branch "${OPENSEARCH_VERSION}" https://github.com/opensearch-project/OpenSearch /usr/share/opensearch && \ | ||
git clone --depth 1 --recurse-submodules --shallow-submodules --single-branch --branch "${OPENSEARCH_DASHBOARDS_VERSION}" https://github.com/opensearch-project/OpenSearch-Dashboards /usr/share/opensearch-dashboards && \ | ||
chown -R ${DEFAULT_UID}:${DEFAULT_GID} /usr/share/opensearch-dashboards /usr/share/opensearch | ||
|
||
# build plugins as non-root | ||
|
||
USER ${PUSER} | ||
|
||
# use nodenv (https://github.com/nodenv/nodenv) to manage nodejs/yarn | ||
|
||
ENV PATH "/home/${PUSER}/.nodenv/bin:${PATH}" | ||
|
||
RUN git clone --single-branch --depth=1 --recurse-submodules --shallow-submodules https://github.com/nodenv/nodenv.git /home/${PUSER}/.nodenv && \ | ||
cd /home/${PUSER}/.nodenv && \ | ||
./src/configure && \ | ||
make -C src && \ | ||
cd /tmp && \ | ||
eval "$(nodenv init -)" && \ | ||
mkdir -p "$(nodenv root)"/plugins && \ | ||
git clone --depth 1 --recurse-submodules --shallow-submodules --single-branch https://github.com/nodenv/node-build.git "$(nodenv root)"/plugins/node-build && \ | ||
git clone --depth 1 --recurse-submodules --shallow-submodules --single-branch https://github.com/nodenv/nodenv-update.git "$(nodenv root)"/plugins/nodenv-update && \ | ||
git clone --depth 1 --recurse-submodules --shallow-submodules --single-branch https://github.com/pine/nodenv-yarn-install.git "$(nodenv root)"/plugins/nodenv-yarn-install && \ | ||
nodenv install "$(cat /usr/share/opensearch-dashboards/.node-version)" && \ | ||
nodenv global "$(cat /usr/share/opensearch-dashboards/.node-version)" | ||
|
||
# check out and build plugins | ||
|
||
RUN eval "$(nodenv init -)" && \ | ||
mkdir -p /usr/share/opensearch-dashboards/plugins && \ | ||
git clone --depth 1 --recurse-submodules --shallow-submodules --single-branch --branch opensearch-v2-dashboards-compatibility https://github.com/mmguero-dev/osd_sankey_vis.git /usr/share/opensearch-dashboards/plugins/sankey_vis && \ | ||
cd /usr/share/opensearch-dashboards/plugins/sankey_vis && \ | ||
yarn osd bootstrap && \ | ||
yarn install && \ | ||
yarn build --opensearch-dashboards-version "${OPENSEARCH_DASHBOARDS_VERSION}" && \ | ||
mv ./build/kbnSankeyVis-"${OPENSEARCH_DASHBOARDS_VERSION}".zip ./build/kbnSankeyVis.zip | ||
|
||
# runtime ################################################################## | ||
|
||
FROM opensearchproject/opensearch-dashboards:2.8.0 | ||
FROM opensearchproject/opensearch-dashboards:2.11.1 | ||
|
||
LABEL maintainer="[email protected]" | ||
LABEL org.opencontainers.image.authors='[email protected]' | ||
|
@@ -93,7 +20,7 @@ ENV PUSER_PRIV_DROP true | |
ENV TERM xterm | ||
|
||
ENV TINI_VERSION v0.19.0 | ||
ENV OSD_TRANSFORM_VIS_VERSION 2.8.0 | ||
ENV OSD_TRANSFORM_VIS_VERSION 2.11.0 | ||
|
||
ARG OPENSEARCH_URL="http://opensearch:9200" | ||
ARG OPENSEARCH_PRIMARY="opensearch-local" | ||
|
@@ -115,22 +42,20 @@ ENV NODE_OPTIONS $NODE_OPTIONS | |
|
||
USER root | ||
|
||
COPY --from=build /usr/share/opensearch-dashboards/plugins/sankey_vis/build/kbnSankeyVis.zip /tmp/kbnSankeyVis.zip | ||
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /usr/bin/tini | ||
ADD https://github.com/lguillaud/osd_transform_vis/releases/download/$OSD_TRANSFORM_VIS_VERSION/transformVis-$OSD_TRANSFORM_VIS_VERSION.zip /tmp/transformVis.zip | ||
|
||
RUN yum upgrade -y && \ | ||
yum install -y curl psmisc util-linux openssl rsync python3 zip unzip && \ | ||
yum install -y curl-minimal psmisc findutils util-linux openssl rsync python3 zip unzip && \ | ||
yum remove -y vim-* && \ | ||
usermod -a -G tty ${PUSER} && \ | ||
# Malcolm manages authentication and encryption via NGINX reverse proxy | ||
/usr/share/opensearch-dashboards/bin/opensearch-dashboards-plugin remove securityDashboards --allow-root && \ | ||
cd /usr/share/opensearch-dashboards/plugins && \ | ||
/usr/share/opensearch-dashboards/bin/opensearch-dashboards-plugin install file:///tmp/kbnSankeyVis.zip --allow-root && \ | ||
cd /tmp && \ | ||
# unzip transformVis.zip opensearch-dashboards/transformVis/opensearch_dashboards.json opensearch-dashboards/transformVis/package.json && \ | ||
# sed -i "s/2\.9\.0/2\.9\.0/g" opensearch-dashboards/transformVis/opensearch_dashboards.json && \ | ||
# sed -i "s/2\.9\.0/2\.9\.0/g" opensearch-dashboards/transformVis/package.json && \ | ||
# zip transformVis.zip opensearch-dashboards/transformVis/opensearch_dashboards.json opensearch-dashboards/transformVis/package.json && \ | ||
unzip transformVis.zip opensearch-dashboards/transformVis/opensearch_dashboards.json opensearch-dashboards/transformVis/package.json && \ | ||
sed -i "s/2\.11\.0/2\.11\.1/g" opensearch-dashboards/transformVis/opensearch_dashboards.json && \ | ||
sed -i "s/2\.11\.0/2\.11\.1/g" opensearch-dashboards/transformVis/package.json && \ | ||
zip transformVis.zip opensearch-dashboards/transformVis/opensearch_dashboards.json opensearch-dashboards/transformVis/package.json && \ | ||
cd /usr/share/opensearch-dashboards/plugins && \ | ||
/usr/share/opensearch-dashboards/bin/opensearch-dashboards-plugin install file:///tmp/transformVis.zip --allow-root && \ | ||
rm -rf /tmp/transformVis /tmp/opensearch-dashboards && \ | ||
|
@@ -150,15 +75,32 @@ ADD scripts/malcolm_utils.py /usr/local/bin/ | |
# Yeah, I know about https://opensearch.org/docs/latest/dashboards/branding ... but I can't figure out a way | ||
# to specify the entries in the opensearch_dashboards.yml such that they are valid BOTH from the | ||
# internal opensearch code validating them AND the web browser retrieving them. So we're going scorched earth instead. | ||
ADD docs/images/logo/malcolm_logo.svg /usr/share/opensearch-dashboards/src/core/server/core_app/assets/default_branding/opensearch_logo.svg | ||
ADD docs/images/logo/malcolm_logo.svg /usr/share/opensearch-dashboards/src/core/server/core_app/assets/default_branding/opensearch_logo_dark_mode.svg | ||
ADD docs/images/logo/malcolm_logo.svg /usr/share/opensearch-dashboards/src/core/server/core_app/assets/default_branding/opensearch_logo_default_mode.svg | ||
ADD docs/images/icon/malcolm_mark_dashboards.svg /usr/share/opensearch-dashboards/src/core/server/core_app/assets/default_branding/opensearch_mark_dark_mode.svg | ||
ADD docs/images/icon/malcolm_mark_dashboards.svg /usr/share/opensearch-dashboards/src/core/server/core_app/assets/default_branding/opensearch_mark_default_mode.svg | ||
ADD docs/images/favicon/favicon.ico /usr/share/opensearch-dashboards/src/core/server/core_app/assets/favicons/favicon.ico | ||
ADD docs/images/favicon/favicon16.png /usr/share/opensearch-dashboards/src/core/server/core_app/assets/favicons/favicon-16x16.png | ||
ADD docs/images/favicon/favicon32.png /usr/share/opensearch-dashboards/src/core/server/core_app/assets/favicons/favicon-32x32.png | ||
ADD docs/images/favicon/apple-touch-icon-precomposed.png /usr/share/opensearch-dashboards/src/core/server/core_app/assets/favicons/apple-touch-icon.png | ||
|
||
COPY --chmod=644 docs/images/favicon/favicon192.png /usr/share/opensearch-dashboards/src/core/server/core_app/assets/favicons/android-chrome-192x192.png | ||
COPY --chmod=644 docs/images/favicon/favicon512.png /usr/share/opensearch-dashboards/src/core/server/core_app/assets/favicons/android-chrome-512x512.png | ||
COPY --chmod=644 docs/images/favicon/apple-touch-icon-precomposed.png /usr/share/opensearch-dashboards/src/core/server/core_app/assets/favicons/apple-touch-icon.png | ||
COPY --chmod=644 docs/images/favicon/favicon16.png /usr/share/opensearch-dashboards/src/core/server/core_app/assets/favicons/favicon-16x16.png | ||
COPY --chmod=644 docs/images/favicon/favicon32.png /usr/share/opensearch-dashboards/src/core/server/core_app/assets/favicons/favicon-32x32.png | ||
COPY --chmod=644 docs/images/favicon/favicon.ico /usr/share/opensearch-dashboards/src/core/server/core_app/assets/favicons/favicon.ico | ||
COPY --chmod=644 docs/images/favicon/favicon144.png /usr/share/opensearch-dashboards/src/core/server/core_app/assets/favicons/mstile-144x144.png | ||
COPY --chmod=644 docs/images/favicon/favicon150.png /usr/share/opensearch-dashboards/src/core/server/core_app/assets/favicons/mstile-150x150.png | ||
COPY --chmod=644 docs/images/favicon/favicon310.png /usr/share/opensearch-dashboards/src/core/server/core_app/assets/favicons/mstile-310x310.png | ||
COPY --chmod=644 docs/images/favicon/favicon70.png /usr/share/opensearch-dashboards/src/core/server/core_app/assets/favicons/mstile-70x70.png | ||
COPY --chmod=644 docs/images/logo/Malcolm.svg /usr/share/opensearch-dashboards/src/core/server/core_app/assets/logos/opensearch.svg | ||
COPY --chmod=644 docs/images/icon/malcolm_mark_dashboards.svg /usr/share/opensearch-dashboards/src/core/server/core_app/assets/logos/opensearch_center_mark.svg | ||
COPY --chmod=644 docs/images/icon/malcolm_mark_dashboards.svg /usr/share/opensearch-dashboards/src/core/server/core_app/assets/logos/opensearch_center_mark_on_dark.svg | ||
COPY --chmod=644 docs/images/icon/malcolm_mark_dashboards.svg /usr/share/opensearch-dashboards/src/core/server/core_app/assets/logos/opensearch_center_mark_on_light.svg | ||
COPY --chmod=644 docs/images/logo/Malcolm.svg /usr/share/opensearch-dashboards/src/core/server/core_app/assets/logos/opensearch_dashboards.svg | ||
COPY --chmod=644 docs/images/logo/malcolm_logo.svg /usr/share/opensearch-dashboards/src/core/server/core_app/assets/logos/opensearch_dashboards_on_dark.svg | ||
COPY --chmod=644 docs/images/logo/Malcolm.svg /usr/share/opensearch-dashboards/src/core/server/core_app/assets/logos/opensearch_dashboards_on_light.svg | ||
COPY --chmod=644 docs/images/icon/malcolm_mark_dashboards.svg /usr/share/opensearch-dashboards/src/core/server/core_app/assets/logos/opensearch_mark.svg | ||
COPY --chmod=644 docs/images/icon/malcolm_mark_dashboards.svg /usr/share/opensearch-dashboards/src/core/server/core_app/assets/logos/opensearch_mark_on_dark.svg | ||
COPY --chmod=644 docs/images/icon/malcolm_mark_dashboards.svg /usr/share/opensearch-dashboards/src/core/server/core_app/assets/logos/opensearch_mark_on_light.svg | ||
COPY --chmod=644 docs/images/logo/malcolm_logo.svg /usr/share/opensearch-dashboards/src/core/server/core_app/assets/logos/opensearch_on_dark.svg | ||
COPY --chmod=644 docs/images/logo/Malcolm.svg /usr/share/opensearch-dashboards/src/core/server/core_app/assets/logos/opensearch_on_light.svg | ||
COPY --chmod=644 docs/images/icon/malcolm_mark_dashboards.svg /usr/share/opensearch-dashboards/src/core/server/core_app/assets/logos/opensearch_spinner.svg | ||
COPY --chmod=644 docs/images/icon/malcolm_mark_dashboards.svg /usr/share/opensearch-dashboards/src/core/server/core_app/assets/logos/opensearch_spinner_on_dark.svg | ||
COPY --chmod=644 docs/images/icon/malcolm_mark_dashboards.svg /usr/share/opensearch-dashboards/src/core/server/core_app/assets/logos/opensearch_spinner_on_light.svg | ||
|
||
|
||
ENTRYPOINT ["/usr/bin/tini", \ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
FROM docker.elastic.co/beats/filebeat-oss:8.10.4 | ||
FROM docker.elastic.co/beats/filebeat-oss:8.11.1 | ||
|
||
# Copyright (c) 2023 Battelle Energy Alliance, LLC. All rights reserved. | ||
LABEL maintainer="[email protected]" | ||
|
@@ -61,10 +61,10 @@ ARG FILEBEAT_TCP_PARSE_TARGET_FIELD="" | |
ARG FILEBEAT_TCP_PARSE_DROP_FIELD="" | ||
ARG FILEBEAT_TCP_TAG="_malcolm_beats" | ||
|
||
ENV SUPERCRONIC_VERSION "0.2.27" | ||
ENV SUPERCRONIC_VERSION "0.2.28" | ||
ENV SUPERCRONIC_URL "https://github.com/aptible/supercronic/releases/download/v$SUPERCRONIC_VERSION/supercronic-linux-amd64" | ||
ENV SUPERCRONIC "supercronic-linux-amd64" | ||
ENV SUPERCRONIC_SHA1SUM "7dadd4ac827e7bd60b386414dfefc898ae5b6c63" | ||
ENV SUPERCRONIC_SHA1SUM "fe1a81a8a5809deebebbd7a209a3b97e542e2bcd" | ||
ENV SUPERCRONIC_CRONTAB "/etc/crontab" | ||
|
||
ENV TINI_VERSION v0.19.0 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
FROM docker.elastic.co/logstash/logstash-oss:8.10.4 | ||
FROM docker.elastic.co/logstash/logstash-oss:8.11.1 | ||
|
||
LABEL maintainer="[email protected]" | ||
LABEL org.opencontainers.image.authors='[email protected]' | ||
|
@@ -32,6 +32,8 @@ ARG LOGSTASH_NETBOX_ENRICHMENT=false | |
ARG LOGSTASH_NETBOX_ENRICHMENT_VERBOSE=false | ||
ARG LOGSTASH_NETBOX_ENRICHMENT_LOOKUP_SERVICE=true | ||
ARG LOGSTASH_NETBOX_AUTO_POPULATE=false | ||
ARG LOGSTASH_NETBOX_CACHE_SIZE=1000 | ||
ARG LOGSTASH_NETBOX_CACHE_TTL=30 | ||
|
||
ENV LOGSTASH_ENRICHMENT_PIPELINE $LOGSTASH_ENRICHMENT_PIPELINE | ||
ENV LOGSTASH_PARSE_PIPELINE_ADDRESSES $LOGSTASH_PARSE_PIPELINE_ADDRESSES | ||
|
@@ -42,6 +44,8 @@ ENV LOGSTASH_NETBOX_ENRICHMENT $LOGSTASH_NETBOX_ENRICHMENT | |
ENV LOGSTASH_NETBOX_ENRICHMENT_VERBOSE $LOGSTASH_NETBOX_ENRICHMENT_VERBOSE | ||
ENV LOGSTASH_NETBOX_ENRICHMENT_LOOKUP_SERVICE $LOGSTASH_NETBOX_ENRICHMENT_LOOKUP_SERVICE | ||
ENV LOGSTASH_NETBOX_AUTO_POPULATE $LOGSTASH_NETBOX_AUTO_POPULATE | ||
ENV LOGSTASH_NETBOX_CACHE_SIZE $LOGSTASH_NETBOX_CACHE_SIZE | ||
ENV LOGSTASH_NETBOX_CACHE_TTL $LOGSTASH_NETBOX_CACHE_TTL | ||
|
||
USER root | ||
|
||
|
@@ -63,11 +67,12 @@ RUN set -x && \ | |
pip3 install ipaddress supervisor manuf pyyaml && \ | ||
export JAVA_HOME=/usr/share/logstash/jdk && \ | ||
/usr/share/logstash/vendor/jruby/bin/jruby -S gem install bundler && \ | ||
echo "gem 'lru_cache'" >> /usr/share/logstash/Gemfile && \ | ||
echo "gem 'concurrent-ruby'" >> /usr/share/logstash/Gemfile && \ | ||
echo "gem 'deep_merge'" >> /usr/share/logstash/Gemfile && \ | ||
echo "gem 'fuzzy-string-match'" >> /usr/share/logstash/Gemfile && \ | ||
echo "gem 'stringex'" >> /usr/share/logstash/Gemfile && \ | ||
echo "gem 'lru_redux'" >> /usr/share/logstash/Gemfile && \ | ||
echo "gem 'psych'" >> /usr/share/logstash/Gemfile && \ | ||
echo "gem 'stringex'" >> /usr/share/logstash/Gemfile && \ | ||
/usr/share/logstash/bin/ruby -S bundle install && \ | ||
logstash-plugin install --preserve logstash-filter-translate logstash-filter-cidr logstash-filter-dns \ | ||
logstash-filter-json logstash-filter-prune logstash-filter-http \ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
FROM netboxcommunity/netbox:v3.6.4 | ||
FROM netboxcommunity/netbox:v3.6.6 | ||
|
||
# Copyright (c) 2023 Battelle Energy Alliance, LLC. All rights reserved. | ||
LABEL maintainer="[email protected]" | ||
|
@@ -24,10 +24,10 @@ ENV PUSER "ubuntu" | |
ENV PGROUP "ubuntu" | ||
ENV PUSER_PRIV_DROP true | ||
|
||
ENV SUPERCRONIC_VERSION "0.2.27" | ||
ENV SUPERCRONIC_VERSION "0.2.28" | ||
ENV SUPERCRONIC_URL "https://github.com/aptible/supercronic/releases/download/v$SUPERCRONIC_VERSION/supercronic-linux-amd64" | ||
ENV SUPERCRONIC "supercronic-linux-amd64" | ||
ENV SUPERCRONIC_SHA1SUM "7dadd4ac827e7bd60b386414dfefc898ae5b6c63" | ||
ENV SUPERCRONIC_SHA1SUM "fe1a81a8a5809deebebbd7a209a3b97e542e2bcd" | ||
ENV SUPERCRONIC_CRONTAB "/etc/crontab" | ||
|
||
ENV YQ_VERSION "4.33.3" | ||
|
@@ -39,25 +39,31 @@ ARG NETBOX_DEVICETYPE_LIBRARY_PATH="/opt/netbox-devicetype-library" | |
ARG NETBOX_DEFAULT_SITE=Malcolm | ||
ARG NETBOX_CRON=true | ||
ARG NETBOX_PRELOAD_PATH="/opt/netbox-preload" | ||
ARG NETBOX_PRELOAD_PREFIXES=false | ||
|
||
ENV NETBOX_PATH /opt/netbox | ||
ENV BASE_PATH netbox | ||
ENV NETBOX_DEVICETYPE_LIBRARY_PATH $NETBOX_DEVICETYPE_LIBRARY_PATH | ||
ENV NETBOX_DEFAULT_SITE $NETBOX_DEFAULT_SITE | ||
ENV NETBOX_CRON $NETBOX_CRON | ||
ENV NETBOX_PRELOAD_PATH $NETBOX_PRELOAD_PATH | ||
ENV NETBOX_PRELOAD_PREFIXES $NETBOX_PRELOAD_PREFIXES | ||
|
||
ADD netbox/patch/* /tmp/netbox-patches/ | ||
|
||
RUN apt-get -q update && \ | ||
apt-get -y -q --no-install-recommends upgrade && \ | ||
apt-get install -q -y --no-install-recommends \ | ||
gcc \ | ||
file \ | ||
git \ | ||
jq \ | ||
libmagic-dev \ | ||
libmagic1 \ | ||
libpq-dev \ | ||
libpq5 \ | ||
patch \ | ||
postgresql-client \ | ||
procps \ | ||
psmisc \ | ||
python3-dev \ | ||
|
@@ -68,6 +74,7 @@ RUN apt-get -q update && \ | |
'git+https://github.com/tobiasge/netbox-initializers' \ | ||
psycopg2 \ | ||
pynetbox \ | ||
python-magic \ | ||
python-slugify \ | ||
randomcolor && \ | ||
cd "${NETBOX_PATH}" && \ | ||
|
Oops, something went wrong.