General
Build Project
To build the project go to login in the pypi web ui and get your token. Add your token to the local pypi config.
poetry config pypi-token.pypi pypi-
After you made changes, change the version in the files pyproject.toml and netbox_storage/init.py
Now you can build and publish the project.
poetry publish --build
Use Project
Link: https://github.com/netbox-community/netbox-docker/wiki/Using-Netbox-Plugins
docker-compose build --no-cache && docker-compose build --no-cache && docker-compose up -d
Directory structure
+- api - The API Classes, consitsts of Serializer, URL Mapper and Views
+- filters - Filters of the models, the implementation of the method search, for searching
+- forms - The ModelForm, ModelFilterForm, ModelImportForm, ModelBulkEditForm, the forms which will be displayed
+- migrations - DB Django Migration steps
+- tables - The ModelTable, which has the configuration on how the table looks like
+- templates
+- netbox_storage - The detail view of each model
+- drive - The template content of drive, with base and partition model
+- inc - The template content box in the Virtual Machine Model
+- partition - The template content of partition, with base and physicalvolume model
+- physicalvolume - The template content of physicalvolume with base and linuxvolume model
+- volumegroup - The template content of volumegroup with base, logicalvolume and physicalvolume
+- views - PhysicalvolumeListView, PhysicalvolumeView, PhysicalvolumeEditView, PhysicalvolumeDeleteView,
PhysicalvolumeBulkImportView, PhysicalvolumeBulkEditView, PhysicalvolumeBulkDeleteView
ERM
Queues / Worker
1. Job - add_project
- Git Repo pullen
- Überprüfen ob es einen Branch mit dem Ticket Namen schon gibt
- Neuer Branch erstellen mit dem Ticket Namen
- Secrets entschlüsseln
- OCPPRoject/AppEnvironment Model Daten in yaml konvertieren
- YAML Daten dem values.yaml anfügen
- Secrets der Secrets Datei anfügen
- Secret verschlüsseln
- Mergen
Static files
/opt/netbox/netbox/static/models
Python documentation
I used the Sphinx Format for the documentation of the methods and classes
Export Templates
App Environment,Cluster Environment,Project Owner
{# Rows #}
{%- for env in queryset -%}
{{ env.app_env }},{{ env.cluster_env }},{{ env.ocp_project.project_owner }}
{% endfor %}
Draw.io System Topography Algorithm
- Überprüfen ob Horizontal Pod Autoscaler verwendet wird
- Falls ja variable start_pod_x setzten, x sollte unter netpool sein
- y_axis_k8s_start setzten: 145
- Anzahl replicas auslesen
- Falls replicas grösser als 1 dann
- for 1, replicas:
- total_y_axis_deployment_start = total_y_axis_deployment_start + y_axis_deployment_start + (n * 90)
- Danach teilen durch anzahl replicas --> ergibt mittelwert auch durchschnitt genannt
- diesen wert für y_axis setzten
- Von start_pod_x 3 * + 90 hinzufügen --> hpa setzten
- Von start_pod_x 3 * + 90 hinzufügen --> deployment setzten
- Von start_pod_x 3 * + 90 hinzufügen --> replica set setzten
- Anzeigen aller deployments die nicht in hpa sind
- Anzeigen aller replicasets die nicht in deployments sind
- Anzeigen aller statefullsets