✨ Include Initializers
Initializers are startup scripts for common tasks like creating custom fields. These are problems many users of Netbox Docker potentially face and are therefore worth sharing.
This commit is contained in:
parent
061cbb8e8d
commit
43cb9f7e50
11 changed files with 249 additions and 10 deletions
20
startup_scripts/00_users.py
Normal file
20
startup_scripts/00_users.py
Normal file
|
@ -0,0 +1,20 @@
|
|||
from django.contrib.auth.models import Group, User
|
||||
from users.models import Token
|
||||
|
||||
from ruamel.yaml import YAML
|
||||
|
||||
with open('/opt/netbox/initializers/users.yml', 'r') as stream:
|
||||
yaml=YAML(typ='safe')
|
||||
users = yaml.load(stream)
|
||||
|
||||
if users is not None:
|
||||
for username, user_details in users.items():
|
||||
if not User.objects.filter(username=username):
|
||||
user = User.objects.create_user(
|
||||
username = username,
|
||||
password = user_details.get('password', 0) or User.objects.make_random_password)
|
||||
|
||||
print("👤 Created user ",username)
|
||||
|
||||
if user_details.get('api_token', 0):
|
||||
Token.objects.create(user=user, key=user_details['api_token'])
|
Loading…
Add table
Add a link
Reference in a new issue