diff --git a/.drone.yml b/.drone.yml index 5f4e0d9..1522c80 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,27 +1,76 @@ +--- +kind: pipeline +type: docker +name: pull_request +image_pull_secrets: + - dockerconfigjson + +steps: + - name: lint yaml + image: registry.fedy95.com/baseimage-yamllint:latest + commands: + - yamllint -c /yamllint/relaxed.yaml etc/netbox/opt/netbox/initializers/aggregates.yml + - yamllint -c /yamllint/relaxed.yaml etc/netbox/opt/netbox/initializers/cluster_types.yml + - yamllint -c /yamllint/relaxed.yaml etc/netbox/opt/netbox/initializers/clusters.yml + - yamllint -c /yamllint/relaxed.yaml etc/netbox/opt/netbox/initializers/custom_fields.yml + - yamllint -c /yamllint/relaxed.yaml etc/netbox/opt/netbox/initializers/dcim_interfaces.yml + - yamllint -c /yamllint/relaxed.yaml etc/netbox/opt/netbox/initializers/device_roles.yml + - yamllint -c /yamllint/relaxed.yaml etc/netbox/opt/netbox/initializers/device_types.yml + - yamllint -c /yamllint/relaxed.yaml etc/netbox/opt/netbox/initializers/devices.yml + - yamllint -c /yamllint/relaxed.yaml etc/netbox/opt/netbox/initializers/groups.yml + - yamllint -c /yamllint/relaxed.yaml etc/netbox/opt/netbox/initializers/ip_addresses.yml + - yamllint -c /yamllint/relaxed.yaml etc/netbox/opt/netbox/initializers/manufacturers.yml + - yamllint -c /yamllint/relaxed.yaml etc/netbox/opt/netbox/initializers/platforms.yml + - yamllint -c /yamllint/relaxed.yaml etc/netbox/opt/netbox/initializers/prefix_vlan_roles.yml + - yamllint -c /yamllint/relaxed.yaml etc/netbox/opt/netbox/initializers/prefixes.yml + - yamllint -c /yamllint/relaxed.yaml etc/netbox/opt/netbox/initializers/rack_groups.yml + - yamllint -c /yamllint/relaxed.yaml etc/netbox/opt/netbox/initializers/rack_roles.yml + - yamllint -c /yamllint/relaxed.yaml etc/netbox/opt/netbox/initializers/racks.yml + - yamllint -c /yamllint/relaxed.yaml etc/netbox/opt/netbox/initializers/regions.yml + - yamllint -c /yamllint/relaxed.yaml etc/netbox/opt/netbox/initializers/rirs.yml + - yamllint -c /yamllint/relaxed.yaml etc/netbox/opt/netbox/initializers/sites.yml + - yamllint -c /yamllint/relaxed.yaml etc/netbox/opt/netbox/initializers/tenant_groups.yml + - yamllint -c /yamllint/relaxed.yaml etc/netbox/opt/netbox/initializers/tenants.yml + - yamllint -c /yamllint/relaxed.yaml etc/netbox/opt/netbox/initializers/users.yml + - yamllint -c /yamllint/relaxed.yaml etc/netbox/opt/netbox/initializers/virtual_machines.yml + - yamllint -c /yamllint/relaxed.yaml etc/netbox/opt/netbox/initializers/virtualization_interfaces.yml + - yamllint -c /yamllint/relaxed.yaml etc/netbox/opt/netbox/initializers/vlan_groups.yml + - yamllint -c /yamllint/relaxed.yaml etc/netbox/opt/netbox/initializers/vlans.yml + - yamllint -c /yamllint/relaxed.yaml etc/netbox/opt/netbox/initializers/vrfs.yml + - yamllint -c /yamllint/relaxed.yaml docker-compose.yml + when: + event: pull_request + +--- kind: pipeline type: ssh -name: default +name: master_push clone: - disable: true + disable: true server: - host: - from_secret: host - user: - from_secret: user - password: - from_secret: password + host: + from_secret: host + user: + from_secret: user + password: + from_secret: password steps: - - name: release - commands: - - cd /mnt/md0/experimental/netbox - - git pull - - make restart + - name: release + commands: + - cd /mnt/md0/infra/netbox + - git pull + - make restart + - name: cleanup + commands: + - cd /mnt/md0/infra/netbox + - make cleanup trigger: - branch: - - master - event: - - push + branch: + - master + event: + - push +... diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..73069d4 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,10 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +indent_style = space +indent_size = 2 +trim_trailing_whitespace = true +insert_final_newline = true +max_line_length = 100 diff --git a/.gitignore b/.gitignore index b6344a6..c313652 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /etc/postgres +/venv diff --git a/LICENSE b/LICENSE index f433b1a..b195b12 100644 --- a/LICENSE +++ b/LICENSE @@ -1,177 +1,19 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS +MIT License Copyright (c) 2021 fedy95 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice (including the next +paragraph) shall be included in all copies or substantial portions of the +Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS +OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/Makefile b/Makefile index a3170a5..1a36c4e 100644 --- a/Makefile +++ b/Makefile @@ -1,9 +1,50 @@ MAKEFLAGS += --silent - .PHONY: * +REGISTRY=registry.fedy95.com +YAMLLINT_TAG=baseimage-yamllint:latest + +lint: lint-yaml + +LINT-YAML-CMD=docker run --rm -it -v $(PWD):/data ${REGISTRY}/${YAMLLINT_TAG} +lint-yaml: + docker pull ${REGISTRY}/${YAMLLINT_TAG} + $(LINT-YAML-CMD) etc/netbox/opt/netbox/initializers/aggregates.yml + $(LINT-YAML-CMD) etc/netbox/opt/netbox/initializers/cluster_types.yml + $(LINT-YAML-CMD) etc/netbox/opt/netbox/initializers/clusters.yml + $(LINT-YAML-CMD) etc/netbox/opt/netbox/initializers/custom_fields.yml + $(LINT-YAML-CMD) etc/netbox/opt/netbox/initializers/dcim_interfaces.yml + $(LINT-YAML-CMD) etc/netbox/opt/netbox/initializers/device_roles.yml + $(LINT-YAML-CMD) etc/netbox/opt/netbox/initializers/device_types.yml + $(LINT-YAML-CMD) etc/netbox/opt/netbox/initializers/devices.yml + $(LINT-YAML-CMD) etc/netbox/opt/netbox/initializers/groups.yml + $(LINT-YAML-CMD) etc/netbox/opt/netbox/initializers/ip_addresses.yml + $(LINT-YAML-CMD) etc/netbox/opt/netbox/initializers/manufacturers.yml + $(LINT-YAML-CMD) etc/netbox/opt/netbox/initializers/platforms.yml + $(LINT-YAML-CMD) etc/netbox/opt/netbox/initializers/prefix_vlan_roles.yml + $(LINT-YAML-CMD) etc/netbox/opt/netbox/initializers/prefixes.yml + $(LINT-YAML-CMD) etc/netbox/opt/netbox/initializers/rack_groups.yml + $(LINT-YAML-CMD) etc/netbox/opt/netbox/initializers/rack_roles.yml + $(LINT-YAML-CMD) etc/netbox/opt/netbox/initializers/racks.yml + $(LINT-YAML-CMD) etc/netbox/opt/netbox/initializers/regions.yml + $(LINT-YAML-CMD) etc/netbox/opt/netbox/initializers/rirs.yml + $(LINT-YAML-CMD) etc/netbox/opt/netbox/initializers/sites.yml + $(LINT-YAML-CMD) etc/netbox/opt/netbox/initializers/tenant_groups.yml + $(LINT-YAML-CMD) etc/netbox/opt/netbox/initializers/tenants.yml + $(LINT-YAML-CMD) etc/netbox/opt/netbox/initializers/users.yml + $(LINT-YAML-CMD) etc/netbox/opt/netbox/initializers/virtual_machines.yml + $(LINT-YAML-CMD) etc/netbox/opt/netbox/initializers/virtualization_interfaces.yml + $(LINT-YAML-CMD) etc/netbox/opt/netbox/initializers/vlan_groups.yml + $(LINT-YAML-CMD) etc/netbox/opt/netbox/initializers/vlans.yml + $(LINT-YAML-CMD) etc/netbox/opt/netbox/initializers/vrfs.yml + $(LINT-YAML-CMD) docker-compose.yml + restart: - docker-compose -f docker-compose.yml down - docker-compose -f docker-compose.yml up -d + docker-compose -f docker-compose.yml pull + docker-compose -f docker-compose.yml restart + +cleanup: + docker system prune --all --force + docker system prune --volumes --force -.DEFAULT_GOAL := restart +.DEFAULT_GOAL := lint diff --git a/README.md b/README.md index 88401fc..eb33206 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -### netbox -[![Build Status](https://drone.fedy95.com/api/badges/experimental/netbox/status.svg)](https://drone.fedy95.com/experimental/netbox) +### netbox [![Build Status](https://drone.fedy95.com/api/badges/experimental/netbox/status.svg)](https://drone.fedy95.com/experimental/netbox) +--- - [docs](https://netbox.readthedocs.io/en/stable/) - [git](https://github.com/netbox-community/netbox-docker) diff --git a/docker-compose.yml b/docker-compose.yml index 3d5c1c8..dfa4dda 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,74 +1,94 @@ +--- version: "3" volumes: - netbox-static-files: - driver: local - netbox-nginx-config: - driver: local - netbox-media-files: - driver: local - netbox-redis-data: - driver: local + netbox-static-files: + driver: local + netbox-nginx-config: + driver: local + netbox-media-files: + driver: local + netbox-redis-data: + driver: local services: - netbox: &netbox - image: netboxcommunity/netbox:v2.9.9 - depends_on: - - postgres - - redis - - redis-cache - - netbox-worker - env_file: env/netbox.env - user: '101' - volumes: - - ./etc/netbox/etc/netbox/config:/etc/netbox/config:z,ro - - ./etc/netbox/etc/netbox/reports:/etc/netbox/reports:z,ro - - ./etc/netbox/etc/netbox/scripts:/etc/netbox/scripts:z,ro - - ./etc/netbox/opt/netbox/initializers:/opt/netbox/initializers:z,ro - - ./etc/netbox/opt/netbox/startup_scripts:/opt/netbox/startup_scripts:z,ro - - netbox-nginx-config:/etc/netbox-nginx:z - - netbox-static-files:/opt/netbox/netbox/static:z - - netbox-media-files:/opt/netbox/netbox/media:z - netbox-worker: - <<: *netbox - depends_on: - - redis - entrypoint: - - python3 - - /opt/netbox/netbox/manage.py - command: - - rqworker + netbox: &netbox + image: netboxcommunity/netbox:v2.9.9 + container_name: netbox_instance + hostname: netbox_instance - nginx: - command: nginx -c /etc/netbox-nginx/nginx.conf - image: nginx:1.19-alpine - depends_on: - - netbox - ports: - - "3009:8080" - volumes: - - netbox-nginx-config:/etc/netbox-nginx/:ro - - netbox-static-files:/opt/netbox/netbox/static:ro + depends_on: + - postgres + - redis + - redis-cache + - netbox-worker + env_file: env/netbox.env + user: '101' + volumes: + - ./etc/netbox/etc/netbox/config:/etc/netbox/config:z,ro + - ./etc/netbox/etc/netbox/reports:/etc/netbox/reports:z,ro + - ./etc/netbox/etc/netbox/scripts:/etc/netbox/scripts:z,ro + - ./etc/netbox/opt/netbox/initializers:/opt/netbox/initializers:z,ro + - ./etc/netbox/opt/netbox/startup_scripts:/opt/netbox/startup_scripts:z,ro + - netbox-nginx-config:/etc/netbox-nginx:z + - netbox-static-files:/opt/netbox/netbox/static:z + - netbox-media-files:/opt/netbox/netbox/media:z + netbox-worker: + <<: *netbox + container_name: netbox_worker + hostname: netbox_worker - postgres: - image: postgres:13.1-alpine - env_file: env/postgres.env - volumes: - - ./etc/postgres/var/lib/postgresql/data:/var/lib/postgresql/data + depends_on: + - redis + entrypoint: + - python3 + - /opt/netbox/netbox/manage.py + command: + - rqworker - redis: - image: redis:6.0.9-alpine - command: - - sh - - -c # this is to evaluate the $REDIS_PASSWORD from the env - - redis-server --appendonly yes --requirepass $$REDIS_PASSWORD ## $$ because of docker-compose - env_file: env/redis.env - volumes: - - netbox-redis-data:/data - redis-cache: - image: redis:6.0.9-alpine - command: - - sh - - -c # this is to evaluate the $REDIS_PASSWORD from the env - - redis-server --requirepass $$REDIS_PASSWORD ## $$ because of docker-compose - env_file: env/redis-cache.env + nginx: + image: nginx:1.19-alpine + container_name: netbox_nginx + hostname: netbox_nginx + + depends_on: + - netbox + ports: + - "3009:8080" + volumes: + - netbox-nginx-config:/etc/netbox-nginx/:ro + - netbox-static-files:/opt/netbox/netbox/static:ro + command: nginx -c /etc/netbox-nginx/nginx.conf + + postgres: + image: postgres:13.1-alpine + container_name: netbox_postgres + hostname: netbox_postgres + + env_file: env/postgres.env + volumes: + - ./etc/postgres/var/lib/postgresql/data:/var/lib/postgresql/data + + redis: + image: redis:6.0.9-alpine + container_name: netbox_redis + hostname: netbox_redis + + env_file: env/redis.env + volumes: + - netbox-redis-data:/data + command: + - sh + - -c # this is to evaluate the $REDIS_PASSWORD from the env + - redis-server --appendonly yes --requirepass $$REDIS_PASSWORD ## $$ because of docker-compose + redis-cache: + image: redis:6.0.9-alpine + container_name: netbox_redis_cache + hostname: netbox_redis_cache + + env_file: env/redis-cache.env + command: + - sh + - -c # this is to evaluate the $REDIS_PASSWORD from the env + - redis-server --requirepass $$REDIS_PASSWORD ## $$ because of docker-compose +... diff --git a/env/.gitignore b/env/.gitignore index d6b7ef3..0d7ae66 100644 --- a/env/.gitignore +++ b/env/.gitignore @@ -1,2 +1,6 @@ * !.gitignore +!netbox.env-dist +!postgres.env-dist +!redis.env-dist +!redis-cache.env-dist diff --git a/env/netbox.env-dist b/env/netbox.env-dist new file mode 100644 index 0000000..9c98fd1 --- /dev/null +++ b/env/netbox.env-dist @@ -0,0 +1,45 @@ +CORS_ORIGIN_ALLOW_ALL=True +MAX_PAGE_SIZE=1000 +MEDIA_ROOT=/opt/netbox/netbox/media +METRICS_ENABLED=false +WEBHOOKS_ENABLED=true +SKIP_STARTUP_SCRIPTS=false + +RELEASE_CHECK_URL=https://api.github.com/repos/netbox-community/netbox/releases +SECRET_KEY= + +DB_HOST=postgres +DB_NAME=netbox +DB_USER=netbox +DB_PASSWORD= + +EMAIL_SERVER=localhost +EMAIL_PORT=25 +EMAIL_USERNAME=netbox +EMAIL_PASSWORD= +EMAIL_TIMEOUT=5 +EMAIL_FROM=netbox@bar.com +# EMAIL_USE_SSL and EMAIL_USE_TLS are mutually exclusive, i.e. they can't both be `true`! +EMAIL_USE_SSL=false +EMAIL_USE_TLS=false +EMAIL_SSL_CERTFILE= +EMAIL_SSL_KEYFILE= + +NAPALM_USERNAME= +NAPALM_PASSWORD= +NAPALM_TIMEOUT=10 + +REDIS_HOST=redis +REDIS_PASSWORD= +REDIS_DATABASE=0 +REDIS_SSL=false +REDIS_CACHE_HOST=redis-cache +REDIS_CACHE_PASSWORD= +REDIS_CACHE_DATABASE=1 +REDIS_CACHE_SSL=false + +SKIP_SUPERUSER=false +SUPERUSER_NAME=fedy95 +SUPERUSER_EMAIL=fedy95@protonmail.com +SUPERUSER_PASSWORD= +SUPERUSER_API_TOKEN= diff --git a/env/postgres.env-dist b/env/postgres.env-dist new file mode 100644 index 0000000..2af6109 --- /dev/null +++ b/env/postgres.env-dist @@ -0,0 +1,3 @@ +STGRES_DB=netbox +POSTGRES_USER=netbox +POSTGRES_PASSWORD= diff --git a/env/redis-cache.env-dist b/env/redis-cache.env-dist new file mode 100644 index 0000000..d4561ac --- /dev/null +++ b/env/redis-cache.env-dist @@ -0,0 +1 @@ +REDIS_PASSWORD= diff --git a/env/redis.env-dist b/env/redis.env-dist new file mode 100644 index 0000000..d4561ac --- /dev/null +++ b/env/redis.env-dist @@ -0,0 +1 @@ +REDIS_PASSWORD= diff --git a/etc/netbox/opt/netbox/initializers/aggregates.yml b/etc/netbox/opt/netbox/initializers/aggregates.yml index d923a04..d47a819 100644 --- a/etc/netbox/opt/netbox/initializers/aggregates.yml +++ b/etc/netbox/opt/netbox/initializers/aggregates.yml @@ -1,6 +1,6 @@ -# - prefix: 10.0.0.0/16 -# rir: RFC1918 -# - prefix: fd00:ccdd::/32 -# rir: RFC4193 ULA -# - prefix: 2001:db8::/32 -# rir: RFC3849 +#- prefix: 10.0.0.0/16 +# rir: RFC1918 +#- prefix: fd00:ccdd::/32 +# rir: RFC4193 ULA +#- prefix: 2001:db8::/32 +# rir: RFC3849 diff --git a/etc/netbox/opt/netbox/initializers/cluster_types.yml b/etc/netbox/opt/netbox/initializers/cluster_types.yml index 136dd1d..03365ae 100644 --- a/etc/netbox/opt/netbox/initializers/cluster_types.yml +++ b/etc/netbox/opt/netbox/initializers/cluster_types.yml @@ -1,2 +1,2 @@ -# - name: Hyper-V -# slug: hyper-v +#- name: Hyper-V +# slug: hyper-v diff --git a/etc/netbox/opt/netbox/initializers/clusters.yml b/etc/netbox/opt/netbox/initializers/clusters.yml index 1b1aca0..a8dc121 100644 --- a/etc/netbox/opt/netbox/initializers/clusters.yml +++ b/etc/netbox/opt/netbox/initializers/clusters.yml @@ -1,5 +1,5 @@ -# - name: cluster1 -# type: Hyper-V -# - name: cluster2 -# type: Hyper-V -# site: SING 1 +#- name: cluster1 +# type: Hyper-V +#- name: cluster2 +# type: Hyper-V +# site: SING 1 diff --git a/etc/netbox/opt/netbox/initializers/custom_fields.yml b/etc/netbox/opt/netbox/initializers/custom_fields.yml index 4085ab0..976ba79 100644 --- a/etc/netbox/opt/netbox/initializers/custom_fields.yml +++ b/etc/netbox/opt/netbox/initializers/custom_fields.yml @@ -1,97 +1,97 @@ -## Possible Choices: -## type: -## - text -## - integer -## - boolean -## - date -## - url -## - select -## filter_logic: -## - disabled -## - loose -## - exact -## -## Examples: +# Possible Choices: +# type: +# - text +# - integer +# - boolean +# - date +# - url +# - select +# filter_logic: +# - disabled +# - loose +# - exact +# +# Examples: -# text_field: -# type: text -# label: Custom Text -# description: Enter text in a text field. -# required: false -# weight: 0 -# on_objects: -# - dcim.models.Device -# - dcim.models.Rack -# - dcim.models.Site -# - dcim.models.DeviceType -# - ipam.models.IPAddress -# - ipam.models.Prefix -# - tenancy.models.Tenant -# - virtualization.models.VirtualMachine -# integer_field: -# type: integer -# label: Custom Number -# description: Enter numbers into an integer field. -# required: true -# filter_logic: loose -# weight: 10 -# on_objects: -# - tenancy.models.Tenant -# select_field: -# type: select -# label: Choose between items -# required: false -# filter_logic: exact -# weight: 30 -# on_objects: -# - dcim.models.Device -# choices: -# - value: First Item -# weight: 10 -# - value: Second Item -# weight: 20 -# - value: Third Item -# weight: 30 -# - value: Fifth Item -# weight: 50 -# - value: Fourth Item -# weight: 40 -# select_field_auto_weight: -# type: select -# label: Choose between items -# required: false -# filter_logic: loose -# weight: 30 -# on_objects: -# - dcim.models.Device -# choices: -# - value: A -# - value: B -# - value: C -# - value: "D like deprecated" -# weight: 999 -# - value: E -# boolean_field: -# type: boolean -# label: Yes Or No? -# required: true -# filter_logic: loose -# default: "false" # important: but "false" in quotes! -# weight: 90 -# on_objects: -# - dcim.models.Device -# url_field: -# type: url -# label: Hyperlink -# description: Link to something nice. -# required: true -# filter_logic: disabled -# on_objects: -# - tenancy.models.Tenant -# date_field: -# type: date -# label: Important Date -# required: false -# filter_logic: disabled -# on_objects: -# - dcim.models.Device +#text_field: +# type: text +# label: Custom Text +# description: Enter text in a text field. +# required: false +# weight: 0 +# on_objects: +# - dcim.models.Device +# - dcim.models.Rack +# - dcim.models.Site +# - dcim.models.DeviceType +# - ipam.models.IPAddress +# - ipam.models.Prefix +# - tenancy.models.Tenant +# - virtualization.models.VirtualMachine +#integer_field: +# type: integer +# label: Custom Number +# description: Enter numbers into an integer field. +# required: true +# filter_logic: loose +# weight: 10 +# on_objects: +# - tenancy.models.Tenant +#select_field: +# type: select +# label: Choose between items +# required: false +# filter_logic: exact +# weight: 30 +# on_objects: +# - dcim.models.Device +# choices: +# - value: First Item +# weight: 10 +# - value: Second Item +# weight: 20 +# - value: Third Item +# weight: 30 +# - value: Fifth Item +# weight: 50 +# - value: Fourth Item +# weight: 40 +#select_field_auto_weight: +# type: select +# label: Choose between items +# required: false +# filter_logic: loose +# weight: 30 +# on_objects: +# - dcim.models.Device +# choices: +# - value: A +# - value: B +# - value: C +# - value: "D like deprecated" +# weight: 999 +# - value: E +#boolean_field: +# type: boolean +# label: Yes Or No? +# required: true +# filter_logic: loose +# default: "false" # important: but "false" in quotes! +# weight: 90 +# on_objects: +# - dcim.models.Device +#url_field: +# type: url +# label: Hyperlink +# description: Link to something nice. +# required: true +# filter_logic: disabled +# on_objects: +# - tenancy.models.Tenant +#date_field: +# type: date +# label: Important Date +# required: false +# filter_logic: disabled +# on_objects: +# - dcim.models.Device diff --git a/etc/netbox/opt/netbox/initializers/dcim_interfaces.yml b/etc/netbox/opt/netbox/initializers/dcim_interfaces.yml index 4030530..b6f5c51 100644 --- a/etc/netbox/opt/netbox/initializers/dcim_interfaces.yml +++ b/etc/netbox/opt/netbox/initializers/dcim_interfaces.yml @@ -1,18 +1,18 @@ -## Possible Choices: -## type: -## - virtual -## - lag -## - 1000base-t -## - ... and many more. See for yourself: -## https://github.com/netbox-community/netbox/blob/295d4f0394b431351c0cb2c3ecc791df68c6c2fb/netbox/dcim/choices.py#L510 -## -## Examples: +# Possible Choices: +# type: +# - virtual +# - lag +# - 1000base-t +# - ... and many more. See for yourself: +# https://github.com/netbox-community/netbox/blob/295d4f0394b431351c0cb2c3ecc791df68c6c2fb/netbox/dcim/choices.py#L510 +# +# Examples: -# - device: server01 -# enabled: true -# type: virtual -# name: to-server02 -# - device: server02 -# enabled: true -# type: virtual -# name: to-server01 +#- device: server01 +# enabled: true +# type: virtual +# name: to-server02 +#- device: server02 +# enabled: true +# type: virtual +# name: to-server01 diff --git a/etc/netbox/opt/netbox/initializers/device_roles.yml b/etc/netbox/opt/netbox/initializers/device_roles.yml index ee4234f..9294e58 100644 --- a/etc/netbox/opt/netbox/initializers/device_roles.yml +++ b/etc/netbox/opt/netbox/initializers/device_roles.yml @@ -1,15 +1,15 @@ -# - name: switch -# slug: switch -# color: Grey -# - name: router -# slug: router -# color: Cyan -# - name: load-balancer -# slug: load-balancer -# color: Red -# - name: server -# slug: server -# color: Blue -# - name: patchpanel -# slug: patchpanel -# color: Black +#- name: switch +# slug: switch +# color: Grey +#- name: router +# slug: router +# color: Cyan +#- name: load-balancer +# slug: load-balancer +# color: Red +#- name: server +# slug: server +# color: Blue +#- name: patchpanel +# slug: patchpanel +# color: Black diff --git a/etc/netbox/opt/netbox/initializers/device_types.yml b/etc/netbox/opt/netbox/initializers/device_types.yml index 9b27da3..c0c2fde 100644 --- a/etc/netbox/opt/netbox/initializers/device_types.yml +++ b/etc/netbox/opt/netbox/initializers/device_types.yml @@ -1,23 +1,23 @@ -# - model: Model 1 -# manufacturer: Manufacturer 1 -# slug: model-1 -# u_height: 2 -# custom_fields: -# text_field: Description -# - model: Model 2 -# manufacturer: Manufacturer 1 -# slug: model-2 -# custom_fields: -# text_field: Description -# - model: Model 3 -# manufacturer: Manufacturer 1 -# slug: model-3 -# is_full_depth: false -# u_height: 0 -# custom_fields: -# text_field: Description -# - model: Other -# manufacturer: No Name -# slug: other -# custom_fields: -# text_field: Description +#- model: Model 1 +# manufacturer: Manufacturer 1 +# slug: model-1 +# u_height: 2 +# custom_fields: +# text_field: Description +#- model: Model 2 +# manufacturer: Manufacturer 1 +# slug: model-2 +# custom_fields: +# text_field: Description +#- model: Model 3 +# manufacturer: Manufacturer 1 +# slug: model-3 +# is_full_depth: false +# u_height: 0 +# custom_fields: +# text_field: Description +#- model: Other +# manufacturer: No Name +# slug: other +# custom_fields: +# text_field: Description diff --git a/etc/netbox/opt/netbox/initializers/devices.yml b/etc/netbox/opt/netbox/initializers/devices.yml index e968503..11be7e4 100644 --- a/etc/netbox/opt/netbox/initializers/devices.yml +++ b/etc/netbox/opt/netbox/initializers/devices.yml @@ -1,44 +1,44 @@ -## Possible Choices: -## face: -## - front -## - rear -## status: -## - offline -## - active -## - planned -## - staged -## - failed -## - inventory -## - decommissioning -## -## Examples: - -# - name: server01 -# device_role: server -# device_type: Other -# site: AMS 1 -# rack: rack-01 -# face: front -# position: 1 -# custom_fields: -# text_field: Description -# - name: server02 -# device_role: server -# device_type: Other -# site: AMS 2 -# rack: rack-02 -# face: front -# position: 2 -# primary_ip4: 10.1.1.2/24 -# primary_ip6: 2001:db8:a000:1::2/64 -# custom_fields: -# text_field: Description -# - name: server03 -# device_role: server -# device_type: Other -# site: SING 1 -# rack: rack-03 -# face: front -# position: 3 -# custom_fields: -# text_field: Description +# Possible Choices: +# face: +# - front +# - rear +# status: +# - offline +# - active +# - planned +# - staged +# - failed +# - inventory +# - decommissioning +# +# Examples: +# +#- name: server01 +# device_role: server +# device_type: Other +# site: AMS 1 +# rack: rack-01 +# face: front +# position: 1 +# custom_fields: +# text_field: Description +#- name: server02 +# device_role: server +# device_type: Other +# site: AMS 2 +# rack: rack-02 +# face: front +# position: 2 +# primary_ip4: 10.1.1.2/24 +# primary_ip6: 2001:db8:a000:1::2/64 +# custom_fields: +# text_field: Description +#- name: server03 +# device_role: server +# device_type: Other +# site: SING 1 +# rack: rack-03 +# face: front +# position: 3 +# custom_fields: +# text_field: Description diff --git a/etc/netbox/opt/netbox/initializers/groups.yml b/etc/netbox/opt/netbox/initializers/groups.yml index b91ef39..e476e23 100644 --- a/etc/netbox/opt/netbox/initializers/groups.yml +++ b/etc/netbox/opt/netbox/initializers/groups.yml @@ -1,35 +1,35 @@ -## To list all permissions, run: -## -## docker-compose run --rm --entrypoint /bin/bash netbox -## $ ./manage.py migrate -## $ ./manage.py shell -## > from django.contrib.auth.models import Permission -## > print('\n'.join([p.codename for p in Permission.objects.all()])) -## -## Permission lists support wildcards. See the examples below. -## -## Examples: +#To list all permissions, run: +# +#docker-compose run --rm --entrypoint /bin/bash netbox +#$ ./manage.py migrate +#$ ./manage.py shell +#> from django.contrib.auth.models import Permission +#> print('\n'.join([p.codename for p in Permission.objects.all()])) +# +#Permission lists support wildcards. See the examples below. +# +#Examples: -# applications: -# users: -# - technical_user -# readers: -# users: -# - reader -# writers: -# users: -# - writer -# permissions: -# - delete_device -# - delete_virtualmachine -# - add_* -# - change_* -# vm_managers: -# permissions: -# - '*_virtualmachine' -# device_managers: -# permissions: -# - '*device*' -# creators: -# permissions: -# - add_* +#applications: +# users: +# - technical_user +#readers: +# users: +# - reader +#writers: +# users: +# - writer +# permissions: +# - delete_device +# - delete_virtualmachine +# - add_* +# - change_* +#vm_managers: +# permissions: +# - '*_virtualmachine' +#device_managers: +# permissions: +# - '*device*' +#creators: +# permissions: +# - add_* diff --git a/etc/netbox/opt/netbox/initializers/ip_addresses.yml b/etc/netbox/opt/netbox/initializers/ip_addresses.yml index 6ac38e9..4c4658b 100644 --- a/etc/netbox/opt/netbox/initializers/ip_addresses.yml +++ b/etc/netbox/opt/netbox/initializers/ip_addresses.yml @@ -15,30 +15,30 @@ ## - carp ## ## Examples: - -# - address: 10.1.1.1/24 -# device: server01 -# interface: to-server02 -# status: active -# vrf: vrf1 -# - address: 2001:db8:a000:1::1/64 -# device: server01 -# interface: to-server02 -# status: active -# vrf: vrf1 -# - address: 10.1.1.2/24 -# device: server02 -# interface: to-server01 -# status: active -# - address: 2001:db8:a000:1::2/64 -# device: server02 -# interface: to-server01 -# status: active -# - address: 10.1.1.10/24 -# description: reserved IP -# status: reserved -# tenant: tenant1 -# - address: 2001:db8:a000:1::10/64 -# description: reserved IP -# status: reserved -# tenant: tenant1 +# +#- address: 10.1.1.1/24 +# device: server01 +# interface: to-server02 +# status: active +# vrf: vrf1 +#- address: 2001:db8:a000:1::1/64 +# device: server01 +# interface: to-server02 +# status: active +# vrf: vrf1 +#- address: 10.1.1.2/24 +# device: server02 +# interface: to-server01 +# status: active +#- address: 2001:db8:a000:1::2/64 +# device: server02 +# interface: to-server01 +# status: active +#- address: 10.1.1.10/24 +# description: reserved IP +# status: reserved +# tenant: tenant1 +#- address: 2001:db8:a000:1::10/64 +# description: reserved IP +# status: reserved +# tenant: tenant1 diff --git a/etc/netbox/opt/netbox/initializers/manufacturers.yml b/etc/netbox/opt/netbox/initializers/manufacturers.yml index 023e8e1..a72206d 100644 --- a/etc/netbox/opt/netbox/initializers/manufacturers.yml +++ b/etc/netbox/opt/netbox/initializers/manufacturers.yml @@ -1,6 +1,2 @@ -# - name: Manufacturer 1 -# slug: manufacturer-1 -# - name: Manufacturer 2 -# slug: manufacturer-2 -# - name: No Name -# slug: no-name +#- name: Manufacturer 1 +# slug: manufacturer-1 diff --git a/etc/netbox/opt/netbox/initializers/platforms.yml b/etc/netbox/opt/netbox/initializers/platforms.yml index b0b7ba3..fe806cc 100644 --- a/etc/netbox/opt/netbox/initializers/platforms.yml +++ b/etc/netbox/opt/netbox/initializers/platforms.yml @@ -1,15 +1,15 @@ -# - name: Platform 1 -# slug: platform-1 -# manufacturer: Manufacturer 1 -# napalm_driver: driver1 -# napalm_args: "{'arg1': 'value1', 'arg2': 'value2'}" -# - name: Platform 2 -# slug: platform-2 -# manufacturer: Manufacturer 2 -# napalm_driver: driver2 -# napalm_args: "{'arg1': 'value1', 'arg2': 'value2'}" -# - name: Platform 3 -# slug: platform-3 -# manufacturer: No Name -# napalm_driver: driver3 -# napalm_args: "{'arg1': 'value1', 'arg2': 'value2'}" +#- name: Platform 1 +# slug: platform-1 +# manufacturer: Manufacturer 1 +# napalm_driver: driver1 +# napalm_args: "{'arg1': 'value1', 'arg2': 'value2'}" +#- name: Platform 2 +# slug: platform-2 +# manufacturer: Manufacturer 2 +# napalm_driver: driver2 +# napalm_args: "{'arg1': 'value1', 'arg2': 'value2'}" +#- name: Platform 3 +# slug: platform-3 +# manufacturer: No Name +# napalm_driver: driver3 +# napalm_args: "{'arg1': 'value1', 'arg2': 'value2'}" diff --git a/etc/netbox/opt/netbox/initializers/prefix_vlan_roles.yml b/etc/netbox/opt/netbox/initializers/prefix_vlan_roles.yml index 0ea7720..309acc9 100644 --- a/etc/netbox/opt/netbox/initializers/prefix_vlan_roles.yml +++ b/etc/netbox/opt/netbox/initializers/prefix_vlan_roles.yml @@ -1,2 +1,2 @@ -# - name: Main Management -# slug: main-management +#- name: Main Management +# slug: main-management diff --git a/etc/netbox/opt/netbox/initializers/prefixes.yml b/etc/netbox/opt/netbox/initializers/prefixes.yml index fbf3eee..20ef609 100644 --- a/etc/netbox/opt/netbox/initializers/prefixes.yml +++ b/etc/netbox/opt/netbox/initializers/prefixes.yml @@ -1,29 +1,29 @@ -## Possible Choices: -## status: -## - container -## - active -## - reserved -## - deprecated -## -## Examples: - -# - description: prefix1 -# prefix: 10.1.1.0/24 -# site: AMS 1 -# status: active -# tenant: tenant1 -# vlan: vlan1 -# - description: prefix2 -# prefix: 10.1.2.0/24 -# site: AMS 2 -# status: active -# tenant: tenant2 -# vlan: vlan2 -# is_pool: true -# vrf: vrf2 -# - description: ipv6 prefix1 -# prefix: 2001:db8:a000:1::/64 -# site: AMS 2 -# status: active -# tenant: tenant2 -# vlan: vlan2 +# Possible Choices: +# status: +# - container +# - active +# - reserved +# - deprecated +# +# Examples: +# +#- description: prefix1 +# prefix: 10.1.1.0/24 +# site: AMS 1 +# status: active +# tenant: tenant1 +# vlan: vlan1 +#- description: prefix2 +# prefix: 10.1.2.0/24 +# site: AMS 2 +# status: active +# tenant: tenant2 +# vlan: vlan2 +# is_pool: true +# vrf: vrf2 +#- description: ipv6 prefix1 +# prefix: 2001:db8:a000:1::/64 +# site: AMS 2 +# status: active +# tenant: tenant2 +# vlan: vlan2 diff --git a/etc/netbox/opt/netbox/initializers/rack_groups.yml b/etc/netbox/opt/netbox/initializers/rack_groups.yml index 244fc00..4fc53ed 100644 --- a/etc/netbox/opt/netbox/initializers/rack_groups.yml +++ b/etc/netbox/opt/netbox/initializers/rack_groups.yml @@ -1,3 +1,3 @@ -# - name: cage 101 -# slug: cage-101 -# site: SING 1 +#- name: cage 101 +# slug: cage-101 +# site: SING 1 diff --git a/etc/netbox/opt/netbox/initializers/rack_roles.yml b/etc/netbox/opt/netbox/initializers/rack_roles.yml index e8d1e3e..9c70b8c 100644 --- a/etc/netbox/opt/netbox/initializers/rack_roles.yml +++ b/etc/netbox/opt/netbox/initializers/rack_roles.yml @@ -1,12 +1,12 @@ -# - name: Role 1 -# slug: role-1 -# color: Pink -# - name: Role 2 -# slug: role-2 -# color: Cyan -# - name: Role 3 -# slug: role-3 -# color: Grey -# - name: Role 4 -# slug: role-4 -# color: Teal +#- name: Role 1 +# slug: role-1 +# color: Pink +#- name: Role 2 +# slug: role-2 +# color: Cyan +#- name: Role 3 +# slug: role-3 +# color: Grey +#- name: Role 4 +# slug: role-4 +# color: Teal diff --git a/etc/netbox/opt/netbox/initializers/racks.yml b/etc/netbox/opt/netbox/initializers/racks.yml index 51502de..d3a62ec 100644 --- a/etc/netbox/opt/netbox/initializers/racks.yml +++ b/etc/netbox/opt/netbox/initializers/racks.yml @@ -1,41 +1,41 @@ -## Possible Choices: -## width: -## - 19 -## - 23 -## types: -## - 2-post-frame -## - 4-post-frame -## - 4-post-cabinet -## - wall-frame -## - wall-cabinet -## outer_unit: -## - mm -## - in -## -## Examples: - -# - site: AMS 1 -# name: rack-01 -# role: Role 1 -# type: 4-post-cabinet -# width: 19 -# u_height: 47 -# custom_fields: -# text_field: Description -# - site: AMS 2 -# name: rack-02 -# role: Role 2 -# type: 4-post-cabinet -# width: 19 -# u_height: 47 -# custom_fields: -# text_field: Description -# - site: SING 1 -# name: rack-03 -# group: cage 101 -# role: Role 3 -# type: 4-post-cabinet -# width: 19 -# u_height: 47 -# custom_fields: -# text_field: Description +# Possible Choices: +# width: +# - 19 +# - 23 +# types: +# - 2-post-frame +# - 4-post-frame +# - 4-post-cabinet +# - wall-frame +# - wall-cabinet +# outer_unit: +# - mm +# - in +# +# Examples: +# +#- site: AMS 1 +# name: rack-01 +# role: Role 1 +# type: 4-post-cabinet +# width: 19 +# u_height: 47 +# custom_fields: +# text_field: Description +#- site: AMS 2 +# name: rack-02 +# role: Role 2 +# type: 4-post-cabinet +# width: 19 +# u_height: 47 +# custom_fields: +# text_field: Description +#- site: SING 1 +# name: rack-03 +# group: cage 101 +# role: Role 3 +# type: 4-post-cabinet +# width: 19 +# u_height: 47 +# custom_fields: +# text_field: Description diff --git a/etc/netbox/opt/netbox/initializers/regions.yml b/etc/netbox/opt/netbox/initializers/regions.yml index 40624f3..4d6e61b 100644 --- a/etc/netbox/opt/netbox/initializers/regions.yml +++ b/etc/netbox/opt/netbox/initializers/regions.yml @@ -1,2 +1,4 @@ - - name: Saint-Petersburg - slug: spb +--- +- name: Saint-Petersburg + slug: spb +... diff --git a/etc/netbox/opt/netbox/initializers/rirs.yml b/etc/netbox/opt/netbox/initializers/rirs.yml index 0aacd59..0f6b658 100644 --- a/etc/netbox/opt/netbox/initializers/rirs.yml +++ b/etc/netbox/opt/netbox/initializers/rirs.yml @@ -1,9 +1,9 @@ -# - is_private: true -# name: RFC1918 -# slug: rfc1918 -# - is_private: true -# name: RFC4193 ULA -# slug: rfc4193-ula -# - is_private: true -# name: RFC3849 -# slug: rfc3849 +#- is_private: true +# name: RFC1918 +# slug: rfc1918 +#- is_private: true +# name: RFC4193 ULA +# slug: rfc4193-ula +#- is_private: true +# name: RFC3849 +# slug: rfc3849 diff --git a/etc/netbox/opt/netbox/initializers/sites.yml b/etc/netbox/opt/netbox/initializers/sites.yml index f3e05ba..d264397 100644 --- a/etc/netbox/opt/netbox/initializers/sites.yml +++ b/etc/netbox/opt/netbox/initializers/sites.yml @@ -1,32 +1,32 @@ -# - name: AMS 1 -# slug: ams1 -# region: Downtown -# status: active -# facility: Amsterdam 1 -# asn: 12345 -# custom_fields: -# text_field: Description -# - name: AMS 2 -# slug: ams2 -# region: Downtown -# status: active -# facility: Amsterdam 2 -# asn: 54321 -# custom_fields: -# text_field: Description -# - name: AMS 3 -# slug: ams3 -# region: Suburbs -# status: active -# facility: Amsterdam 3 -# asn: 67890 -# custom_fields: -# text_field: Description -# - name: SING 1 -# slug: sing1 -# region: Singapore -# status: active -# facility: Singapore 1 -# asn: 09876 -# custom_fields: -# text_field: Description +#- name: AMS 1 +# slug: ams1 +# region: Downtown +# status: active +# facility: Amsterdam 1 +# asn: 12345 +# custom_fields: +# text_field: Description +#- name: AMS 2 +# slug: ams2 +# region: Downtown +# status: active +# facility: Amsterdam 2 +# asn: 54321 +# custom_fields: +# text_field: Description +#- name: AMS 3 +# slug: ams3 +# region: Suburbs +# status: active +# facility: Amsterdam 3 +# asn: 67890 +# custom_fields: +# text_field: Description +#- name: SING 1 +# slug: sing1 +# region: Singapore +# status: active +# facility: Singapore 1 +# asn: 09876 +# custom_fields: +# text_field: Description diff --git a/etc/netbox/opt/netbox/initializers/tenant_groups.yml b/etc/netbox/opt/netbox/initializers/tenant_groups.yml index 87ecd4d..53f0ce8 100644 --- a/etc/netbox/opt/netbox/initializers/tenant_groups.yml +++ b/etc/netbox/opt/netbox/initializers/tenant_groups.yml @@ -1,4 +1,4 @@ -# - name: Tenant Group 1 -# slug: tenant-group-1 -# - name: Tenant Group 2 -# slug: tenant-group-2 +#- name: Tenant Group 1 +# slug: tenant-group-1 +#- name: Tenant Group 2 +# slug: tenant-group-2 diff --git a/etc/netbox/opt/netbox/initializers/tenants.yml b/etc/netbox/opt/netbox/initializers/tenants.yml index 1dbfbe5..86db54f 100644 --- a/etc/netbox/opt/netbox/initializers/tenants.yml +++ b/etc/netbox/opt/netbox/initializers/tenants.yml @@ -1,5 +1,5 @@ -# - name: tenant1 -# slug: tenant1 -# - name: tenant2 -# slug: tenant2 -# group: Tenant Group 2 +#- name: tenant1 +# slug: tenant1 +#- name: tenant2 +# slug: tenant2 +# group: Tenant Group 2 diff --git a/etc/netbox/opt/netbox/initializers/users.yml b/etc/netbox/opt/netbox/initializers/users.yml index 2aea62e..371436c 100644 --- a/etc/netbox/opt/netbox/initializers/users.yml +++ b/etc/netbox/opt/netbox/initializers/users.yml @@ -1,23 +1,23 @@ -## To list all permissions, run: -## -## docker-compose run --rm --entrypoint /bin/bash netbox -## $ ./manage.py migrate -## $ ./manage.py shell -## > from django.contrib.auth.models import Permission -## > print('\n'.join([p.codename for p in Permission.objects.all()])) -## -## Permission lists support wildcards. See the examples below. -## -## Examples: - -# technical_user: -# api_token: 0123456789technicaluser789abcdef01234567 # must be looooong! -# reader: -# password: reader -# writer: -# password: writer -# permissions: -# - delete_device -# - delete_virtualmachine -# - add_* -# - change_* +# To list all permissions, run: +# +# docker-compose run --rm --entrypoint /bin/bash netbox +# $ ./manage.py migrate +# $ ./manage.py shell +# > from django.contrib.auth.models import Permission +# > print('\n'.join([p.codename for p in Permission.objects.all()])) +# +# Permission lists support wildcards. See the examples below. +# +# Examples: +# +#technical_user: +# api_token: 0123456789technicaluser789abcdef01234567 # must be looooong! +#reader: +# password: reader +#writer: +# password: writer +# permissions: +# - delete_device +# - delete_virtualmachine +# - add_* +# - change_* diff --git a/etc/netbox/opt/netbox/initializers/virtual_machines.yml b/etc/netbox/opt/netbox/initializers/virtual_machines.yml index 918df93..3f719cd 100644 --- a/etc/netbox/opt/netbox/initializers/virtual_machines.yml +++ b/etc/netbox/opt/netbox/initializers/virtual_machines.yml @@ -1,28 +1,28 @@ -## Possible Choices: -## status: -## - active -## - offline -## - staged -## -## Examples: - -# - cluster: cluster1 -# comments: VM1 -# disk: 200 -# memory: 4096 -# name: virtual machine 1 -# platform: Platform 2 -# status: active -# tenant: tenant1 -# vcpus: 8 -# - cluster: cluster1 -# comments: VM2 -# disk: 100 -# memory: 2048 -# name: virtual machine 2 -# platform: Platform 2 -# primary_ip4: 10.1.1.10/24 -# primary_ip6: 2001:db8:a000:1::10/64 -# status: active -# tenant: tenant1 -# vcpus: 8 +# Possible Choices: +# status: +# - active +# - offline +# - staged +# +# Examples: +# +#- cluster: cluster1 +# comments: VM1 +# disk: 200 +# memory: 4096 +# name: virtual machine 1 +# platform: Platform 2 +# status: active +# tenant: tenant1 +# vcpus: 8 +#- cluster: cluster1 +# comments: VM2 +# disk: 100 +# memory: 2048 +# name: virtual machine 2 +# platform: Platform 2 +# primary_ip4: 10.1.1.10/24 +# primary_ip6: 2001:db8:a000:1::10/64 +# status: active +# tenant: tenant1 +# vcpus: 8 diff --git a/etc/netbox/opt/netbox/initializers/virtualization_interfaces.yml b/etc/netbox/opt/netbox/initializers/virtualization_interfaces.yml index aeedd58..37d3252 100644 --- a/etc/netbox/opt/netbox/initializers/virtualization_interfaces.yml +++ b/etc/netbox/opt/netbox/initializers/virtualization_interfaces.yml @@ -1,12 +1,12 @@ -# - description: Network Interface 1 -# enabled: true -# mac_address: 00:77:77:77:77:77 -# mtu: 1500 -# name: Network Interface 1 -# virtual_machine: virtual machine 1 -# - description: Network Interface 2 -# enabled: true -# mac_address: 00:55:55:55:55:55 -# mtu: 1500 -# name: Network Interface 2 -# virtual_machine: virtual machine 1 +#- description: Network Interface 1 +# enabled: true +# mac_address: 00:77:77:77:77:77 +# mtu: 1500 +# name: Network Interface 1 +# virtual_machine: virtual machine 1 +#- description: Network Interface 2 +# enabled: true +# mac_address: 00:55:55:55:55:55 +# mtu: 1500 +# name: Network Interface 2 +# virtual_machine: virtual machine 1 diff --git a/etc/netbox/opt/netbox/initializers/vlan_groups.yml b/etc/netbox/opt/netbox/initializers/vlan_groups.yml index 3e0bb00..81546eb 100644 --- a/etc/netbox/opt/netbox/initializers/vlan_groups.yml +++ b/etc/netbox/opt/netbox/initializers/vlan_groups.yml @@ -1,6 +1,6 @@ -# - name: VLAN group 1 -# site: AMS 1 -# slug: vlan-group-1 -# - name: VLAN group 2 -# site: AMS 1 -# slug: vlan-group-2 +#- name: VLAN group 1 +# site: AMS 1 +# slug: vlan-group-1 +#- name: VLAN group 2 +# site: AMS 1 +# slug: vlan-group-2 diff --git a/etc/netbox/opt/netbox/initializers/vlans.yml b/etc/netbox/opt/netbox/initializers/vlans.yml index a8cd521..f6f23f5 100644 --- a/etc/netbox/opt/netbox/initializers/vlans.yml +++ b/etc/netbox/opt/netbox/initializers/vlans.yml @@ -1,19 +1,19 @@ -## Possible Choices: -## status: -## - active -## - reserved -## - deprecated -## -## Examples: - -# - name: vlan1 -# site: AMS 1 -# status: active -# vid: 5 -# role: Main Management -# description: VLAN 5 for MGMT -# - group: VLAN group 2 -# name: vlan2 -# site: AMS 1 -# status: active -# vid: 1300 +# Possible Choices: +# status: +# - active +# - reserved +# - deprecated +# +# Examples: +# +#- name: vlan1 +# site: AMS 1 +# status: active +# vid: 5 +# role: Main Management +# description: VLAN 5 for MGMT +#- group: VLAN group 2 +# name: vlan2 +# site: AMS 1 +# status: active +# vid: 1300 diff --git a/etc/netbox/opt/netbox/initializers/vrfs.yml b/etc/netbox/opt/netbox/initializers/vrfs.yml index 40b9031..fd50d87 100644 --- a/etc/netbox/opt/netbox/initializers/vrfs.yml +++ b/etc/netbox/opt/netbox/initializers/vrfs.yml @@ -1,8 +1,8 @@ -# - enforce_unique: true -# name: vrf1 -# tenant: tenant1 -# description: main VRF -# - enforce_unique: true -# name: vrf2 -# rd: "6500:6500" -# tenant: tenant2 +#- enforce_unique: true +# name: vrf1 +# tenant: tenant1 +# description: main VRF +#- enforce_unique: true +# name: vrf2 +# rd: "6500:6500" +# tenant: tenant2