-
Notifications
You must be signed in to change notification settings - Fork 15
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 #84 from nautobot/release/1.4.0
Release/1.4.0
- Loading branch information
Showing
19 changed files
with
1,928 additions
and
1,277 deletions.
There are no files selected for viewing
Validating CODEOWNERS rules …
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,2 +1,2 @@ | ||
# Default owner(s) of all files in this repository | ||
* @dgarros @itdependsnetworks @jathanism @jedelman8 @jerej | ||
* @nautobot/core |
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 |
---|---|---|
@@ -0,0 +1,13 @@ | ||
--- | ||
name: "Nautobot Upstream Monitor" | ||
|
||
on: # yamllint disable-line rule:truthy rule:comments | ||
schedule: | ||
- cron: "0 4 */2 * *" # every other day at 4:00 | ||
|
||
jobs: | ||
upstream-test: | ||
uses: "nautobot/nautobot/.github/workflows/plugin_upstream_testing_base.yml@develop" | ||
with: # Below could potentially be collapsed into a single argument if a concrete relationship between both is enforced | ||
invoke_context_name: "NAUTOBOT_SECRETS_PROVIDERS" | ||
plugin_name: "nautobot-secrets-provider" |
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,37 +1,78 @@ | ||
ARG NAUTOBOT_VER="1.2.1" | ||
ARG PYTHON_VER=3.8 | ||
FROM ghcr.io/nautobot/nautobot-dev:${NAUTOBOT_VER}-py${PYTHON_VER} | ||
# ------------------------------------------------------------------------------------- | ||
# Nautobot App Developement Dockerfile Template | ||
# Version: 1.1.0 | ||
# | ||
# Apps that need to add additional steps or packages can do in the section below. | ||
# ------------------------------------------------------------------------------------- | ||
# !!! USE CAUTION WHEN MODIFYING LINES BELOW | ||
|
||
ENV prometheus_multiproc_dir=/prom_cache | ||
# Accepts a desired Nautobot version as build argument, default to 1.4.10 | ||
ARG NAUTOBOT_VER="1.4.10" | ||
|
||
# Accepts a desired Python version as build argument, default to 3.8 | ||
ARG PYTHON_VER="3.8" | ||
|
||
# Retrieve published development image of Nautobot base which should include most CI dependencies | ||
FROM ghcr.io/nautobot/nautobot-dev:${NAUTOBOT_VER}-py${PYTHON_VER} | ||
|
||
# Runtime argument and environment setup | ||
ARG NAUTOBOT_ROOT=/opt/nautobot | ||
|
||
ENV prometheus_multiproc_dir=/prom_cache | ||
ENV NAUTOBOT_ROOT ${NAUTOBOT_ROOT} | ||
|
||
WORKDIR $NAUTOBOT_ROOT | ||
|
||
# Configure poetry | ||
RUN poetry config virtualenvs.create false \ | ||
&& poetry config installer.parallel false | ||
# Install Poetry manually via its installer script; | ||
# We might be using an older version of Nautobot that includes an older version of Poetry | ||
# and CI and local development may have a newer version of Poetry | ||
# Since this is only used for development and we don't ship this container, pinning Poetry back is not expressly necessary | ||
# We also don't need virtual environments in container | ||
RUN curl -sSL https://install.python-poetry.org | python3 - && \ | ||
poetry config virtualenvs.create false | ||
|
||
# !!! USE CAUTION WHEN MODIFYING LINES ABOVE | ||
# ------------------------------------------------------------------------------------- | ||
# Install Nautobot Plugin | ||
# App-specifc system build/test dependencies. | ||
# | ||
# Example: LDAP requires `libldap2-dev` to be apt-installed before the Python package. | ||
# ------------------------------------------------------------------------------------- | ||
WORKDIR /tmp | ||
# --> Start safe to modify section | ||
|
||
# Copy in only pyproject.toml/poetry.lock to help with caching this layer if no updates to dependencies | ||
COPY poetry.lock pyproject.toml /tmp/ | ||
# --no-root declares not to install the project package since we're wanting to take advantage of caching dependency installation | ||
# and the project is copied in and installed after this step | ||
RUN poetry add nautobot=$NAUTOBOT_VER && \ | ||
poetry update --lock && \ | ||
poetry install --no-interaction --no-ansi --no-root | ||
# Uncomment the lines below if you are apt-installing any package. | ||
# RUN apt-get -y update && apt-get -y install \ | ||
# libldap2-dev \ | ||
# && rm -rf /var/lib/apt/lists/* | ||
|
||
WORKDIR /source | ||
# --> Stop safe to modify section | ||
# ------------------------------------------------------------------------------------- | ||
# Install Nautobot App | ||
# ------------------------------------------------------------------------------------- | ||
# !!! USE CAUTION WHEN MODIFYING LINES BELOW | ||
|
||
# Copy in the rest of the source code and install local Nautobot plugin | ||
# Copy in the source code | ||
WORKDIR /source | ||
COPY . /source | ||
RUN mv /tmp/poetry.lock /tmp/pyproject.toml /source && \ | ||
poetry install --no-interaction --no-ansi | ||
|
||
# Get container's installed Nautobot version as a forced constraint | ||
# NAUTOBOT_VER may be a branch name and not a published release therefor we need to get the installed version | ||
# so pip can use it to recognize local constraints. | ||
RUN pip show nautobot | grep "^Version: " | sed -e 's/Version: /nautobot==/' > constraints.txt | ||
|
||
# Use Poetry to grab dev dependencies from the lock file | ||
# Can be improved in Poetry 1.2 which allows `poetry install --only dev` | ||
# | ||
# We can't use the entire freeze as it takes forever to resolve with rigidly fixed non-direct dependencies, | ||
# especially those that are only direct to Nautobot but the container included versions slightly mismatch | ||
RUN poetry export -f requirements.txt --without-hashes --output poetry_freeze_base.txt | ||
RUN poetry export -f requirements.txt --with dev --without-hashes --output poetry_freeze_all.txt | ||
RUN sort poetry_freeze_base.txt poetry_freeze_all.txt | uniq -u > poetry_freeze_dev.txt | ||
|
||
# Install all local project as editable, constrained on Nautobot version, to get any additional | ||
# direct dependencies of the app | ||
RUN pip install -c constraints.txt -e .[all] | ||
|
||
# Install any dev dependencies frozen from Poetry | ||
# Can be improved in Poetry 1.2 which allows `poetry install --only dev` | ||
RUN pip install -c constraints.txt -r poetry_freeze_dev.txt | ||
|
||
COPY development/nautobot_config.py ${NAUTOBOT_ROOT}/nautobot_config.py | ||
# !!! USE CAUTION WHEN MODIFYING LINES ABOVE |
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
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
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
Oops, something went wrong.