diff options
author | 2020-04-07 12:02:22 +0200 | |
---|---|---|
committer | 2020-04-08 13:53:39 +0200 | |
commit | a5bb31b95347229e400099565bedd3f6a3785c9a (patch) | |
tree | 287f237d9428719650f968ef225cb9af89a2cf3b /kubernetes/contrib/components/netbox/charts/netbox-app/resources/config/startup_scripts/00_users.py | |
parent | ae739cd0ea9487d37b897e8ac0fd09577e16f5b0 (diff) |
[Contrib] Authorize choice of subcomponents
Instead of forcing installation of all contrib components, make the
installation of these components enabled with a toggle, so each person
can choose to install a subset, all or none.
Issue-ID: OOM-2352
Signed-off-by: Sylvain Desbureaux <sylvain.desbureaux@orange.com>
Change-Id: Ie112fe1f1864587b9ac69f18967a3c28d16bdbbe
Diffstat (limited to 'kubernetes/contrib/components/netbox/charts/netbox-app/resources/config/startup_scripts/00_users.py')
-rwxr-xr-x | kubernetes/contrib/components/netbox/charts/netbox-app/resources/config/startup_scripts/00_users.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/kubernetes/contrib/components/netbox/charts/netbox-app/resources/config/startup_scripts/00_users.py b/kubernetes/contrib/components/netbox/charts/netbox-app/resources/config/startup_scripts/00_users.py new file mode 100755 index 0000000000..7626058357 --- /dev/null +++ b/kubernetes/contrib/components/netbox/charts/netbox-app/resources/config/startup_scripts/00_users.py @@ -0,0 +1,26 @@ +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, + is_staff = user_details.get('is_staff', 0) or false, + is_superuser = user_details.get('is_superuser', 0) or false, + is_active = user_details.get('is_active', 0) or true, + first_name = user_details.get('first_name', 0), + last_name = user_details.get('last_name', 0), + email = user_details.get('email', 0)) + + print("👤 Created user ",username) + + if user_details.get('api_token', 0): + Token.objects.create(user=user, key=user_details['api_token'])
\ No newline at end of file |