Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prep 4.0.0 #188

Merged
merged 88 commits into from
Aug 5, 2024
Merged
Show file tree
Hide file tree
Changes from 15 commits
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
e054d41
Onboarding 4.0 contributions
jeffkala Jun 6, 2024
419728e
General application updates for 4.0 and updates from drift manager
jeffkala Jun 6, 2024
3823ee0
SSoT Logic for Onboarding 4.0 contributions
Jun 6, 2024
0d7259a
Nornir and YAML DSL Onboarding 4.0 contributions
susanhooks Jun 6, 2024
40baccb
fix vlans across all platforms and more unittest
jeffkala Jun 9, 2024
feab3db
fix ci test to match new 2.2.3 lower constraint
jeffkala Jun 9, 2024
14871f7
merge tasks.py from develop
jeffkala Jun 10, 2024
95566de
add back app config schemas
jeffkala Jun 10, 2024
8ab3f3d
fix vlans, fix ci and app schemas
jeffkala Jun 9, 2024
dc5dd1a
add vlans to junos as best effort
jeffkala Jun 10, 2024
c9c9f47
Merge branch 'prep-4.0.0' of github.com:nautobot/nautobot-app-device-…
jeffkala Jun 10, 2024
5224ef1
remove rd=None from vrf assignment filter
Jun 12, 2024
2150773
update version to rc2
Jun 12, 2024
740a39b
few fixes to prep rc2
jeffkala Jun 27, 2024
8074bd2
Fix error if Serial # is only numbers.
zackt25 Jun 28, 2024
929308b
update description for sync network data job
Jun 28, 2024
595f660
extremely important update
Jun 28, 2024
9ca79b6
update error handling in _handle_failed_devices
Jun 28, 2024
f0fa20e
implement fix for iterable type 'int' and solve json loads changing s…
jeffkala Jun 28, 2024
9c4ccb0
error handling for vlans
Jun 28, 2024
904bc54
first past add cables support
scetron Jul 8, 2024
7be49b3
fix typos
scetron Jul 10, 2024
22e3ce8
add sync cables to job
scetron Jul 10, 2024
8177111
update parsing/yaml
scetron Jul 11, 2024
d68e5a1
add sync cables to job
scetron Jul 11, 2024
0268611
edit
scetron Jul 11, 2024
b6767ef
update model
scetron Jul 11, 2024
76a62c8
change neighbors to models
scetron Jul 11, 2024
415410b
change neighbors to models
scetron Jul 11, 2024
1378e84
change test to match jpath
scetron Jul 11, 2024
2cc95bd
adjust skip unmatched src
scetron Jul 11, 2024
f43c13a
linting
scetron Jul 11, 2024
910b991
Update nautobot_device_onboarding/tests/test_formatter.py
scetron Jul 11, 2024
9c75774
simplify cables command mapper
scetron Jul 12, 2024
f73da77
fix ruff unsupported default action
scetron Jul 12, 2024
f5c4ce0
add cables schema
scetron Jul 12, 2024
de140e0
update mock and test data
scetron Jul 15, 2024
44359db
update test jpath format
scetron Jul 15, 2024
e95b071
move status to an attribute
scetron Jul 15, 2024
c2561cc
remove uneeded root_key flag
scetron Jul 15, 2024
0521f2f
fix schema
scetron Jul 15, 2024
db44924
fix test job
scetron Jul 15, 2024
662fdfc
fix test data
scetron Jul 15, 2024
59e8619
add adapter test for load cables
scetron Jul 15, 2024
e8e8d8a
test a markdown emoji
jeffkala Jul 17, 2024
3c19e29
revert model change flag
scetron Jul 17, 2024
3a58b38
add support matrix
jeffkala Jul 17, 2024
7fc6c17
add support matrix
jeffkala Jul 17, 2024
e36dd19
add support matrix
jeffkala Jul 17, 2024
b31d362
add support matrix
jeffkala Jul 17, 2024
57a3746
add support matrix
jeffkala Jul 17, 2024
d89cfd5
add support matrix
jeffkala Jul 17, 2024
4cfbca0
add pks to device onboarding adapter load methods
Jul 17, 2024
2adbb11
add iosxe mapper
scetron Jul 18, 2024
2fa3934
adjust mock data
scetron Jul 19, 2024
6a2e2a5
add pre-emptive / last resort error handling
scetron Jul 19, 2024
0104ff1
adjust linting + adjust error handling
scetron Jul 22, 2024
29de249
add jinja filter to remove fqdns
scetron Jul 22, 2024
1786637
adjust try/except block
scetron Jul 22, 2024
a2708da
update ntc-templates
scetron Jul 22, 2024
72b086d
add post processor to ios and xe
scetron Jul 23, 2024
81c3731
adjust error handling
scetron Jul 23, 2024
747342e
added cable support for juniper
Jul 23, 2024
33da75b
yamlint
Jul 25, 2024
893cabe
force interface description to a string if empty
scetron Jul 26, 2024
adf6993
typo
scetron Jul 26, 2024
c82536c
skip cables when cables aren't in the command getter
scetron Jul 26, 2024
0360811
skip vlan pre_processor when not syncing vlans
scetron Jul 26, 2024
a592559
skip vlan preprocessor when not syncing vlans
scetron Jul 26, 2024
0b840f5
Updates install doc to include PLUGINS dependencies
joewesch Jul 30, 2024
20e9449
adjust mock results for new schema/formatter
scetron Jul 31, 2024
d909ed0
fix typo
scetron Jul 31, 2024
5a4cdca
lint
scetron Jul 31, 2024
60dc657
throw error when cables not supported
scetron Jul 31, 2024
6df2cf1
remove unexpected commands
scetron Jul 31, 2024
35d33cf
remove maxdiff used for troubleshooting.
scetron Jul 31, 2024
c2529d5
Merge pull request #202 from nautobot/feature-collect-cables
scetron Aug 1, 2024
ef755f6
Merge pull request #207 from nautobot/u/joewesch_4.0-docs
scetron Aug 1, 2024
0afb3d0
update description schema
scetron Aug 1, 2024
86b3d69
Merge pull request #199 from nautobot/bug_fix_serial_number_schema
scetron Aug 1, 2024
ecf04b7
update compat matrix
jeffkala Aug 5, 2024
36b11f2
Merge pull request #203 from nautobot/jkala-compat-matrix
jeffkala Aug 5, 2024
9d1c523
Merge branch 'develop' into prep-4.0.0
jeffkala Aug 5, 2024
1371e11
pin netutils for cisco_xe to ntc-templates mapping
jeffkala Aug 5, 2024
97bc950
add change frags and update docs
jeffkala Aug 5, 2024
d0b2ac5
change frags and release notes
jeffkala Aug 5, 2024
96a0418
Add logger to other jobs (#210)
scetron Aug 5, 2024
b70d99c
Merge branch 'prep-4.0.0' of github.com:nautobot/nautobot-app-device-…
jeffkala Aug 5, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ jobs:
fail-fast: true
matrix:
python-version: ["3.11"]
nautobot-version: ["2.2.2"]
nautobot-version: ["2.2.3"]
env:
INVOKE_NAUTOBOT_DEVICE_ONBOARDING_PYTHON_VER: "${{ matrix.python-version }}"
INVOKE_NAUTOBOT_DEVICE_ONBOARDING_NAUTOBOT_VER: "${{ matrix.nautobot-version }}"
Expand Down Expand Up @@ -152,7 +152,7 @@ jobs:
include:
- python-version: "3.11"
db-backend: "postgresql"
nautobot-version: "2.2.2"
nautobot-version: "2.2.3"
# - python-version: "3.11"
# db-backend: "mysql"
# nautobot-version: "stable"
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<p align="center">
<img src="https://raw.githubusercontent.com/nautobot/nautobot-app-device-onboarding/develop/docs/images/icon-DeviceOnboarding.png" class="logo" height="200px">
<br>
<a href="https://github.com/nautobot/nautobot-app-device-onboarding/actions"><img src="https://github.com/nautobot/nautobot-app-device-onboarding/actions/workflows/ci.yml/badge.svg?branch=main"></a>
<a href="https://github.com/nautobot/nautobot-app-device-onboarding/actions"><img src="https://github.com/nautobot/nautobot-app-device-onboarding/actions/workflows/ci.yml/badge.svg?branch=develop"></a>
<a href="https://docs.nautobot.com/projects/device-onboarding/en/latest/"><img src="https://readthedocs.org/projects/nautobot-plugin-device-onboarding/badge/"></a>
<a href="https://pypi.org/project/nautobot-device-onboarding/"><img src="https://img.shields.io/pypi/v/nautobot-device-onboarding"></a>
<a href="https://pypi.org/project/nautobot-device-onboarding/"><img src="https://img.shields.io/pypi/dm/nautobot-device-onboarding"></a>
Expand All @@ -21,7 +21,7 @@ Regardless, the Onboarding App greatly simplifies the onboarding process by allo

Device Onboarding is a Job that allows you to provide a few required pieces of information and onboard the device.

![job input](https://raw.githubusercontent.com/nautobot/nautobot-app-device-onboarding/develop/docs/images/do_job_inputs.png)
![job input](https://raw.githubusercontent.com/nautobot/nautobot-app-device-onboarding/develop/docs/images/sync_devices_inputs.png)

## Try it out!

Expand Down
File renamed without changes.
1 change: 0 additions & 1 deletion changes/176.fixed

This file was deleted.

5 changes: 5 additions & 0 deletions changes/181.added
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Sync Devices from Network job was added which utilizes the SSoT framework to onboard devices.
Sync Data from Network job was added which utilizes the SSoT framework to onboard devices.
Git Datasource object to be able to use a Git Repo to overload new SSoT job YAML file definitions.
Create a Nornir inventory `EmptyInventory` to support ondemand inventory population for `Sync Devices` job.
Add `nautobot-app-nornir` dependency to reuse `NautobotORMInventory` to support inventory creation for `Sync Data` job.
1 change: 1 addition & 0 deletions changes/181.changed
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The `OnboardingTask` job is changed to `hidden` by default.
1 change: 0 additions & 1 deletion changes/8.housekeeping

This file was deleted.

6 changes: 3 additions & 3 deletions development/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
# -------------------------------------------------------------------------------------
# !!! USE CAUTION WHEN MODIFYING LINES BELOW

# Accepts a desired Nautobot version as build argument, default to 2.0.3
ARG NAUTOBOT_VER="2.0.3"
# Accepts a desired Nautobot version as build argument, default to 2.2.3
ARG NAUTOBOT_VER="2.2.3"

# Accepts a desired Python version as build argument, default to 3.11
ARG PYTHON_VER="3.11"
Expand All @@ -28,7 +28,7 @@ ENV INVOKE_NAUTOBOT_DEVICE_ONBOARDING_LOCAL=true
# 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 which poetry || curl -sSL https://install.python-poetry.org | python3 - && \
poetry config virtualenvs.create false
poetry config virtualenvs.create false

# !!! USE CAUTION WHEN MODIFYING LINES ABOVE
# -------------------------------------------------------------------------------------
Expand Down
Empty file modified development/app_config_schema.py
100644 → 100755
Empty file.
2 changes: 2 additions & 0 deletions development/development.env
Original file line number Diff line number Diff line change
Expand Up @@ -36,3 +36,5 @@ POSTGRES_DB=${NAUTOBOT_DB_NAME}
MYSQL_USER=${NAUTOBOT_DB_USER}
MYSQL_DATABASE=${NAUTOBOT_DB_NAME}
MYSQL_ROOT_HOST=%

NAUTOBOT_SSOT_HIDE_EXAMPLE_JOBS="True"
1 change: 0 additions & 1 deletion development/docker-compose.base.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ x-nautobot-base: &nautobot-base
- "creds.env"
tty: true

version: "3.8"
services:
nautobot:
depends_on:
Expand Down
1 change: 0 additions & 1 deletion development/docker-compose.dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
# any override will need to include these volumes to use them.
# see: https://github.com/docker/compose/issues/3729
---
version: "3.8"
services:
nautobot:
command: "nautobot-server runserver 0.0.0.0:8080"
Expand Down
2 changes: 0 additions & 2 deletions development/docker-compose.mysql.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
---
version: "3.8"

services:
nautobot:
environment:
Expand Down
2 changes: 0 additions & 2 deletions development/docker-compose.postgres.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
---
version: "3.8"

services:
nautobot:
environment:
Expand Down
1 change: 0 additions & 1 deletion development/docker-compose.redis.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
---
version: "3.8"
services:
redis:
image: "redis:6-alpine"
Expand Down
29 changes: 20 additions & 9 deletions development/nautobot_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -93,11 +93,11 @@
"disable_existing_loggers": False,
"formatters": {
"normal": {
"format": "%(asctime)s.%(msecs)03d %(levelname)-7s %(name)s : %(message)s",
"format": "%(asctime)s.%(msecs)03d %(levelname)-7s %(name)s :\n %(message)s",
"datefmt": "%H:%M:%S",
},
"verbose": {
"format": "%(asctime)s.%(msecs)03d %(levelname)-7s %(name)-20s %(filename)-15s %(funcName)30s() : %(message)s",
"format": "%(asctime)s.%(msecs)03d %(levelname)-7s %(name)-20s %(filename)-15s %(funcName)30s() :\n %(message)s",
"datefmt": "%H:%M:%S",
},
},
Expand Down Expand Up @@ -127,13 +127,24 @@
#

# Enable installed Apps. Add the name of each App to the list.
PLUGINS = ["nautobot_device_onboarding"]
PLUGINS = ["nautobot_device_onboarding", "nautobot_ssot", "nautobot_plugin_nornir"]

# Apps configuration settings. These settings are used by various Apps that the user may have installed.
# Each key in the dictionary is the name of an installed App and its value is a dictionary of settings.
# PLUGINS_CONFIG = {
# 'nautobot_device_onboarding': {
# 'foo': 'bar',
# 'buzz': 'bazz'
# }
# }
PLUGINS_CONFIG = {
"nautobot_device_onboarding": {},
"nautobot_ssot": {
"hide_example_jobs": is_truthy(os.getenv("NAUTOBOT_SSOT_HIDE_EXAMPLE_JOBS")),
},
"nautobot_plugin_nornir": {
"nornir_settings": {
"credentials": "nautobot_plugin_nornir.plugins.credentials.nautobot_secrets.CredentialsNautobotSecrets",
"runner": {
"plugin": "threaded",
"options": {
"num_workers": 20,
},
},
},
},
}
2 changes: 1 addition & 1 deletion development/towncrier_template.j2
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@

{% if render_title %}
## [v{{ versiondata.version }} ({{ versiondata.date }})]({{ cookiecutter.repo_url }}/releases/tag/v{{ versiondata.version}})
## [v{{ versiondata.version }} ({{ versiondata.date }})](https://github.com/nautobot/nautobot-app-device-onboarding/releases/tag/v{{ versiondata.version}})

{% endif %}
{% for section, _ in sections.items() %}
Expand Down
1 change: 1 addition & 0 deletions docs/admin/compatibility_matrix.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,4 @@
| 1.2.0 | 1.4.0 | 1.99 |
| 2.0.0 | 2.0.0 | 2.99 |
| 3.0.0 | 2.0.3 | 2.99 |
| 4.0.0 | 2.2.3 | 2.99 |
18 changes: 4 additions & 14 deletions docs/admin/install.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,23 +12,13 @@ Here you will find detailed instructions on how to **install** and **configure**

### Access Requirements

#### NAPALM Credentials

The Onboarding App uses NAPALM. You can configure a default NAPALM username and password in `nautobot_config.py`.

When `NAPALM_USERNAME`, `NAPALM_PASSWORD` and `NAPALM_ARGS` are configured in `nautobot_config.py`, the user does not have to use the Credentials/SecretGroup fields in the Device Onboarding job, unless they wish to override the values in `nautobot_config.py`:

```python
# Credentials that Nautobot will use to authenticate to devices when connecting via NAPALM.
NAPALM_USERNAME = "<napalm username>"
NAPALM_PASSWORD = "<napalm pwd>"
NAPALM_ARGS = {"secret": "<enable secret pwd>"}
```
- The original OnboardingTask Job used NAPALM Credentials.
- The new SSoT based jobs use Nautobot Secrets in a similar method to other apps. This is a more flexible and supportable way for the future.

## Install Guide

!!! note
Apps can be installed from the [Python Package Index](https://pypi.org/) or locally. See the [Nautobot documentation](https://docs.nautobot.com/projects/core/en/stable/user-guide/administration/installation/app-install/) for more details. The pip package name for this app is [`nautobot-device-onboarding`](https://pypi.org/project/nautobot-device-onboarding/).
Apps can be installed manually or using Python's `pip`. See the [nautobot documentation](https://nautobot.readthedocs.io/en/latest/plugins/#install-the-package) for more details. The pip package name for this app is [`nautobot-device-onboarding`](https://pypi.org/project/nautobot-device-onboarding/).

The app is available as a Python package via PyPI and can be installed with `pip`:

Expand Down Expand Up @@ -74,7 +64,7 @@ Then restart (if necessary) the Nautobot services which may include:
sudo systemctl restart nautobot nautobot-worker nautobot-scheduler
```

## App Configuration
## App Configuration (Original)

Although the app can run without providing any settings, the app behavior can be controlled with the following list of settings defined in `nautobot_config.py`:

Expand Down
4 changes: 4 additions & 0 deletions docs/admin/release_notes/version_4.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# v4.0 Release Notes

!!! warning
Nautobot Device Onboarding v4.0.0 completely revamps the applications design and framework. The original `OnboardingTask` job is still packaged with the app to provide a backwards compatible way for users that have used its extensions framework in the past to solve complex problems. However, that job is now hidden by default to avoid confusion with the two new SSoT based onboarding jobs that v4.0.0 exposes.
3 changes: 3 additions & 0 deletions docs/dev/arch_decision.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Architecture Decision Records

The intention is to document deviations from a standard Model View Controller (MVC) design. And other general Application decisions.
30 changes: 4 additions & 26 deletions docs/dev/contributing.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Contributing to the App

Pull requests are welcome and automatically built and tested against multiple version of Python and multiple version of Nautobot through GitHub Actions.

The project is packaged with a light [development environment](dev_environment.md) based on `docker-compose` to help with the local development of the project and to run tests.

The project is following Network to Code software development guidelines and is leveraging the following:
Expand Down Expand Up @@ -41,32 +43,8 @@ All pull requests to `next` or `develop` must include a changelog fragment file

## Branching Policy

The branching policy includes the following tenets:

- The `develop` branch is the branch of the next major and minor paired version planned.
- PRs intended to add new features should be sourced from the `develop` branch.
- PRs intended to fix issues in the Nautobot LTM compatible release should be sourced from the latest `ltm-<major.minor>` branch instead of `develop`.

Device Onboarding will observe semantic versioning, as of 1.0. This may result in a quick turnaround in minor versions to keep pace with an ever growing feature set.
Please fork the release and add a new branch to your fork. Make changes to your branch in your fork and submit PRs from there.

## Release Policy

Device Onboarding has currently no intended scheduled release schedule, and will release new features in minor versions.

When a new release, from `develop` to `main`, is created the following should happen.

- A release PR is created from `develop` with:
- Update the release notes in `docs/admin/release_notes/version_<major>.<minor>.md` file to reflect the changes.
- Change the version from `<major>.<minor>.<patch>-beta` to `<major>.<minor>.<patch>` in `pyproject.toml`.
- Set the PR to the `main` branch.
- Ensure the tests for the PR pass.
- Merge the PR.
- Create a new tag:
- The tag should be in the form of `v<major>.<minor>.<patch>`.
- The title should be in the form of `v<major>.<minor>.<patch>`.
- The description should be the changes that were added to the `version_<major>.<minor>.md` document.
- If merged into `main`, then push from `main` to `develop`, in order to retain the merge commit created when the PR was merged
- A post release PR is created with:
- Change the version from `<major>.<minor>.<patch>` to `<major>.<minor>.<patch + 1>-beta` in both `pyproject.toml` and `nautobot.__init__.__version__`.
- Set the PR to the proper branch, `develop`.
- Once tests pass, merge.
New versions are released as bug fixes and features are introduced. We will make sure to release new versions to support the latest Nautobot versions as necessary.
20 changes: 1 addition & 19 deletions docs/dev/dev_environment.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ nautobot-server migrate
!!! note
If you want to develop on the latest develop branch of Nautobot, run the following command: `poetry add --optional git+https://github.com/nautobot/nautobot@develop`. After the `@` symbol must match either a branch or a tag.

You can now run `nautobot-server` commands as you would from the [Nautobot documentation](https://docs.nautobot.com/projects/core/en/stable/user-guide/administration/tools/nautobot-server/) for example to start the development server:
You can now run `nautobot-server` commands as you would from the [Nautobot documentation](https://nautobot.readthedocs.io/en/latest/) for example to start the development server:

```shell
nautobot-server runserver 0.0.0.0:8080 --insecure
Expand Down Expand Up @@ -473,21 +473,3 @@ To run an individual test, you can run any or all of the following:
➜ invoke ruff
➜ invoke pylint
```

### App Configuration Schema

In the package source, there is the `nautobot_device_onboarding/app-config-schema.json` file, conforming to the [JSON Schema](https://json-schema.org/) format. This file is used to validate the configuration of the app in CI pipelines.

If you make changes to `PLUGINS_CONFIG` or the configuration schema, you can run the following command to validate the schema:

```bash
invoke validate-app-config
```

To generate the `app-config-schema.json` file based on the current `PLUGINS_CONFIG` configuration, run the following command:

```bash
invoke generate-app-config-schema
```

This command can only guess the schema, so it's up to the developer to manually update the schema as needed.
15 changes: 14 additions & 1 deletion docs/dev/extending.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,21 @@

Extending the application is welcome, however it is best to open an issue first, to ensure that a PR would be accepted and makes sense in terms of features and design.

## Customizing Onboarding Behavior With Extensions
## Customizing Onboarding Behavior With Extensions (Original)

This plugin provides methods to customize onboarding behavior. By creating onboarding extensions, it is possible to onboard switch stacks, HA pairs and perform other customizations.

Please see the dedicated FAQ for [device onboarding extensions](onboarding_extensions.md).

!!! warn
This is the original onboarding extensions. The next section covers how to extend the new framework.

## Extending SSoT jobs (Sync Devices From Network, and Sync Network Data From Network)

Extending the platform support for the SSoT specific jobs should be accomplished with adding a yaml file that defines commands, jdiff jmespaths, and post_processors. A PR into this library is welcomed, but this app exposes the Nautobot core datasource capabilities to be able to load in overrides from a Git repository.

### Adding Platform/OS Support

New platform support should be simplified in this framework, by providing a YAML file.

The format of these YAML files are and how to extend this application is covered in [App YAML Overrides](../user/app_yaml_overrides.md).
5 changes: 4 additions & 1 deletion docs/dev/onboarding_extensions.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
# Onboarding Extensions
# Onboarding Extensions (Original)

!!! warn
This is the original onboarding extensions.

## What are onboarding extensions?

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/images/do_job_inputs.png
Binary file not shown.
Binary file added docs/images/sync_devices_inputs.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/sync_network_data_inputs.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading