From f6fdc258b1f11bf9b669e24ce67ed949f1cf182f Mon Sep 17 00:00:00 2001 From: ibuler Date: Fri, 9 Sep 2022 15:47:40 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BF=AE=E6=94=B9=20playbook=20?= =?UTF-8?q?=E7=9B=AE=E5=BD=95=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/assets/const.py | 2 +- apps/assets/models/asset/web.py | 4 ++ apps/assets/playbooks/__init__.py | 0 apps/assets/playbooks/platform/__init__.py | 69 ------------------- .../database/change_password_mysql/main.yml | 0 .../change_password_mysql/manifest.yml | 0 .../roles/change_password/tasks/main.yml | 0 .../database/change_password_oracle/main.yml | 0 .../change_password_oracle/manifest.yml | 0 .../roles/change_password/tasks/main.yml | 0 .../change_password_postgresql/main.yml | 0 .../change_password_postgresql/manifest.yml | 0 .../roles/change_password/tasks/main.yml | 0 .../change_password_sqlserver/main.yml | 0 .../change_password_sqlserver/manifest.yml | 0 .../roles/change_password/tasks/main.yml | 0 .../host/change_password_aix/main.yml | 0 .../host/change_password_aix/manifest.yml | 0 .../roles/change_password/tasks/main.yml | 0 .../host/change_password_linux/main.yml | 0 .../host/change_password_linux/manifest.yml | 0 .../roles/change_password/tasks/main.yml | 0 .../change_password_local_windows/main.yml | 0 .../manifest.yml | 0 .../roles/change_password/tasks/main.yml | 0 .../playbooks/platform/example/playbook.yml | 9 --- .../playbooks/platform/example/script.py | 6 -- .../host/ansible_posix_ping/main.yml | 0 .../host/ansible_posix_ping/manifest.yml | 0 .../host/ansible_win_ping/main.yml | 0 .../host/ansible_win_ping/manifest.yml | 0 31 files changed, 5 insertions(+), 85 deletions(-) delete mode 100644 apps/assets/playbooks/__init__.py delete mode 100644 apps/assets/playbooks/platform/__init__.py rename apps/assets/playbooks/platform/{ => change_password}/database/change_password_mysql/main.yml (100%) rename apps/assets/playbooks/platform/{ => change_password}/database/change_password_mysql/manifest.yml (100%) rename apps/assets/playbooks/platform/{ => change_password}/database/change_password_mysql/roles/change_password/tasks/main.yml (100%) rename apps/assets/playbooks/platform/{ => change_password}/database/change_password_oracle/main.yml (100%) rename apps/assets/playbooks/platform/{ => change_password}/database/change_password_oracle/manifest.yml (100%) rename apps/assets/playbooks/platform/{ => change_password}/database/change_password_oracle/roles/change_password/tasks/main.yml (100%) rename apps/assets/playbooks/platform/{ => change_password}/database/change_password_postgresql/main.yml (100%) rename apps/assets/playbooks/platform/{ => change_password}/database/change_password_postgresql/manifest.yml (100%) rename apps/assets/playbooks/platform/{ => change_password}/database/change_password_postgresql/roles/change_password/tasks/main.yml (100%) rename apps/assets/playbooks/platform/{ => change_password}/database/change_password_sqlserver/main.yml (100%) rename apps/assets/playbooks/platform/{ => change_password}/database/change_password_sqlserver/manifest.yml (100%) rename apps/assets/playbooks/platform/{ => change_password}/database/change_password_sqlserver/roles/change_password/tasks/main.yml (100%) rename apps/assets/playbooks/platform/{ => change_password}/host/change_password_aix/main.yml (100%) rename apps/assets/playbooks/platform/{ => change_password}/host/change_password_aix/manifest.yml (100%) rename apps/assets/playbooks/platform/{ => change_password}/host/change_password_aix/roles/change_password/tasks/main.yml (100%) rename apps/assets/playbooks/platform/{ => change_password}/host/change_password_linux/main.yml (100%) rename apps/assets/playbooks/platform/{ => change_password}/host/change_password_linux/manifest.yml (100%) rename apps/assets/playbooks/platform/{ => change_password}/host/change_password_linux/roles/change_password/tasks/main.yml (100%) rename apps/assets/playbooks/platform/{ => change_password}/host/change_password_local_windows/main.yml (100%) rename apps/assets/playbooks/platform/{ => change_password}/host/change_password_local_windows/manifest.yml (100%) rename apps/assets/playbooks/platform/{ => change_password}/host/change_password_local_windows/roles/change_password/tasks/main.yml (100%) delete mode 100644 apps/assets/playbooks/platform/example/playbook.yml delete mode 100644 apps/assets/playbooks/platform/example/script.py rename apps/assets/playbooks/platform/{ => verify_account}/host/ansible_posix_ping/main.yml (100%) rename apps/assets/playbooks/platform/{ => verify_account}/host/ansible_posix_ping/manifest.yml (100%) rename apps/assets/playbooks/platform/{ => verify_account}/host/ansible_win_ping/main.yml (100%) rename apps/assets/playbooks/platform/{ => verify_account}/host/ansible_win_ping/manifest.yml (100%) diff --git a/apps/assets/const.py b/apps/assets/const.py index 93b6032d3..1fafcda80 100644 --- a/apps/assets/const.py +++ b/apps/assets/const.py @@ -131,7 +131,7 @@ class DatabaseTypes(PlatformMixin, ChoicesMixin, models.TextChoices): class WebTypes(PlatformMixin, ChoicesMixin, models.TextChoices): - General = 'general', 'General' + WEBSITE = 'website', _('General Website') class CloudTypes(PlatformMixin, ChoicesMixin, models.TextChoices): diff --git a/apps/assets/models/asset/web.py b/apps/assets/models/asset/web.py index f695525ac..34e23828a 100644 --- a/apps/assets/models/asset/web.py +++ b/apps/assets/models/asset/web.py @@ -6,3 +6,7 @@ from .common import Asset class Web(Asset): url = models.CharField(max_length=1024, verbose_name=_("url")) + + username_selector = models.CharField() + password_selector = models.CharField() + confirm_selector = models.CharField() diff --git a/apps/assets/playbooks/__init__.py b/apps/assets/playbooks/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/apps/assets/playbooks/platform/__init__.py b/apps/assets/playbooks/platform/__init__.py deleted file mode 100644 index 3f6be47d7..000000000 --- a/apps/assets/playbooks/platform/__init__.py +++ /dev/null @@ -1,69 +0,0 @@ -import os -import yaml -from functools import partial - -BASE_DIR = os.path.dirname(os.path.abspath(__file__)) - - -def check_platform_method(manifest, manifest_path): - required_keys = ['category', 'method', 'name', 'id', 'type'] - less_key = set(required_keys) - set(manifest.keys()) - if less_key: - raise ValueError("Manifest missing keys: {}, {}".format(less_key, manifest_path)) - if not isinstance(manifest['type'], list): - raise ValueError("Manifest type must be a list: {}".format(manifest_path)) - return True - - -def check_platform_methods(methods): - ids = [m['id'] for m in methods] - for i, _id in enumerate(ids): - if _id in ids[i+1:]: - raise ValueError("Duplicate id: {}".format(_id)) - - -def get_platform_methods(): - methods = [] - for root, dirs, files in os.walk(BASE_DIR, topdown=False): - for name in dirs: - path = os.path.join(root, name) - rel_path = path.replace(BASE_DIR, '.') - if len(rel_path.split('/')) != 3: - continue - - manifest_path = os.path.join(path, 'manifest.yml') - if not os.path.exists(manifest_path): - continue - - with open(manifest_path, 'r') as f: - manifest = yaml.safe_load(f) - check_platform_method(manifest, manifest_path) - methods.append(manifest) - - check_platform_methods(methods) - return methods - - -def filter_key(manifest, attr, value): - manifest_value = manifest.get(attr, '') - if isinstance(manifest_value, str): - manifest_value = [manifest_value] - return value in manifest_value or 'all' in manifest_value - - -def filter_platform_methods(category, tp, method): - methods = platform_ops_methods - if category: - methods = filter(partial(filter_key, attr='category', value=category), methods) - if tp: - methods = filter(partial(filter_key, attr='type', value=tp), methods) - if method: - methods = filter(lambda x: x['method'] == method, methods) - return methods - - -platform_ops_methods = get_platform_methods() - - -if __name__ == '__main__': - print(get_platform_methods()) diff --git a/apps/assets/playbooks/platform/database/change_password_mysql/main.yml b/apps/assets/playbooks/platform/change_password/database/change_password_mysql/main.yml similarity index 100% rename from apps/assets/playbooks/platform/database/change_password_mysql/main.yml rename to apps/assets/playbooks/platform/change_password/database/change_password_mysql/main.yml diff --git a/apps/assets/playbooks/platform/database/change_password_mysql/manifest.yml b/apps/assets/playbooks/platform/change_password/database/change_password_mysql/manifest.yml similarity index 100% rename from apps/assets/playbooks/platform/database/change_password_mysql/manifest.yml rename to apps/assets/playbooks/platform/change_password/database/change_password_mysql/manifest.yml diff --git a/apps/assets/playbooks/platform/database/change_password_mysql/roles/change_password/tasks/main.yml b/apps/assets/playbooks/platform/change_password/database/change_password_mysql/roles/change_password/tasks/main.yml similarity index 100% rename from apps/assets/playbooks/platform/database/change_password_mysql/roles/change_password/tasks/main.yml rename to apps/assets/playbooks/platform/change_password/database/change_password_mysql/roles/change_password/tasks/main.yml diff --git a/apps/assets/playbooks/platform/database/change_password_oracle/main.yml b/apps/assets/playbooks/platform/change_password/database/change_password_oracle/main.yml similarity index 100% rename from apps/assets/playbooks/platform/database/change_password_oracle/main.yml rename to apps/assets/playbooks/platform/change_password/database/change_password_oracle/main.yml diff --git a/apps/assets/playbooks/platform/database/change_password_oracle/manifest.yml b/apps/assets/playbooks/platform/change_password/database/change_password_oracle/manifest.yml similarity index 100% rename from apps/assets/playbooks/platform/database/change_password_oracle/manifest.yml rename to apps/assets/playbooks/platform/change_password/database/change_password_oracle/manifest.yml diff --git a/apps/assets/playbooks/platform/database/change_password_oracle/roles/change_password/tasks/main.yml b/apps/assets/playbooks/platform/change_password/database/change_password_oracle/roles/change_password/tasks/main.yml similarity index 100% rename from apps/assets/playbooks/platform/database/change_password_oracle/roles/change_password/tasks/main.yml rename to apps/assets/playbooks/platform/change_password/database/change_password_oracle/roles/change_password/tasks/main.yml diff --git a/apps/assets/playbooks/platform/database/change_password_postgresql/main.yml b/apps/assets/playbooks/platform/change_password/database/change_password_postgresql/main.yml similarity index 100% rename from apps/assets/playbooks/platform/database/change_password_postgresql/main.yml rename to apps/assets/playbooks/platform/change_password/database/change_password_postgresql/main.yml diff --git a/apps/assets/playbooks/platform/database/change_password_postgresql/manifest.yml b/apps/assets/playbooks/platform/change_password/database/change_password_postgresql/manifest.yml similarity index 100% rename from apps/assets/playbooks/platform/database/change_password_postgresql/manifest.yml rename to apps/assets/playbooks/platform/change_password/database/change_password_postgresql/manifest.yml diff --git a/apps/assets/playbooks/platform/database/change_password_postgresql/roles/change_password/tasks/main.yml b/apps/assets/playbooks/platform/change_password/database/change_password_postgresql/roles/change_password/tasks/main.yml similarity index 100% rename from apps/assets/playbooks/platform/database/change_password_postgresql/roles/change_password/tasks/main.yml rename to apps/assets/playbooks/platform/change_password/database/change_password_postgresql/roles/change_password/tasks/main.yml diff --git a/apps/assets/playbooks/platform/database/change_password_sqlserver/main.yml b/apps/assets/playbooks/platform/change_password/database/change_password_sqlserver/main.yml similarity index 100% rename from apps/assets/playbooks/platform/database/change_password_sqlserver/main.yml rename to apps/assets/playbooks/platform/change_password/database/change_password_sqlserver/main.yml diff --git a/apps/assets/playbooks/platform/database/change_password_sqlserver/manifest.yml b/apps/assets/playbooks/platform/change_password/database/change_password_sqlserver/manifest.yml similarity index 100% rename from apps/assets/playbooks/platform/database/change_password_sqlserver/manifest.yml rename to apps/assets/playbooks/platform/change_password/database/change_password_sqlserver/manifest.yml diff --git a/apps/assets/playbooks/platform/database/change_password_sqlserver/roles/change_password/tasks/main.yml b/apps/assets/playbooks/platform/change_password/database/change_password_sqlserver/roles/change_password/tasks/main.yml similarity index 100% rename from apps/assets/playbooks/platform/database/change_password_sqlserver/roles/change_password/tasks/main.yml rename to apps/assets/playbooks/platform/change_password/database/change_password_sqlserver/roles/change_password/tasks/main.yml diff --git a/apps/assets/playbooks/platform/host/change_password_aix/main.yml b/apps/assets/playbooks/platform/change_password/host/change_password_aix/main.yml similarity index 100% rename from apps/assets/playbooks/platform/host/change_password_aix/main.yml rename to apps/assets/playbooks/platform/change_password/host/change_password_aix/main.yml diff --git a/apps/assets/playbooks/platform/host/change_password_aix/manifest.yml b/apps/assets/playbooks/platform/change_password/host/change_password_aix/manifest.yml similarity index 100% rename from apps/assets/playbooks/platform/host/change_password_aix/manifest.yml rename to apps/assets/playbooks/platform/change_password/host/change_password_aix/manifest.yml diff --git a/apps/assets/playbooks/platform/host/change_password_aix/roles/change_password/tasks/main.yml b/apps/assets/playbooks/platform/change_password/host/change_password_aix/roles/change_password/tasks/main.yml similarity index 100% rename from apps/assets/playbooks/platform/host/change_password_aix/roles/change_password/tasks/main.yml rename to apps/assets/playbooks/platform/change_password/host/change_password_aix/roles/change_password/tasks/main.yml diff --git a/apps/assets/playbooks/platform/host/change_password_linux/main.yml b/apps/assets/playbooks/platform/change_password/host/change_password_linux/main.yml similarity index 100% rename from apps/assets/playbooks/platform/host/change_password_linux/main.yml rename to apps/assets/playbooks/platform/change_password/host/change_password_linux/main.yml diff --git a/apps/assets/playbooks/platform/host/change_password_linux/manifest.yml b/apps/assets/playbooks/platform/change_password/host/change_password_linux/manifest.yml similarity index 100% rename from apps/assets/playbooks/platform/host/change_password_linux/manifest.yml rename to apps/assets/playbooks/platform/change_password/host/change_password_linux/manifest.yml diff --git a/apps/assets/playbooks/platform/host/change_password_linux/roles/change_password/tasks/main.yml b/apps/assets/playbooks/platform/change_password/host/change_password_linux/roles/change_password/tasks/main.yml similarity index 100% rename from apps/assets/playbooks/platform/host/change_password_linux/roles/change_password/tasks/main.yml rename to apps/assets/playbooks/platform/change_password/host/change_password_linux/roles/change_password/tasks/main.yml diff --git a/apps/assets/playbooks/platform/host/change_password_local_windows/main.yml b/apps/assets/playbooks/platform/change_password/host/change_password_local_windows/main.yml similarity index 100% rename from apps/assets/playbooks/platform/host/change_password_local_windows/main.yml rename to apps/assets/playbooks/platform/change_password/host/change_password_local_windows/main.yml diff --git a/apps/assets/playbooks/platform/host/change_password_local_windows/manifest.yml b/apps/assets/playbooks/platform/change_password/host/change_password_local_windows/manifest.yml similarity index 100% rename from apps/assets/playbooks/platform/host/change_password_local_windows/manifest.yml rename to apps/assets/playbooks/platform/change_password/host/change_password_local_windows/manifest.yml diff --git a/apps/assets/playbooks/platform/host/change_password_local_windows/roles/change_password/tasks/main.yml b/apps/assets/playbooks/platform/change_password/host/change_password_local_windows/roles/change_password/tasks/main.yml similarity index 100% rename from apps/assets/playbooks/platform/host/change_password_local_windows/roles/change_password/tasks/main.yml rename to apps/assets/playbooks/platform/change_password/host/change_password_local_windows/roles/change_password/tasks/main.yml diff --git a/apps/assets/playbooks/platform/example/playbook.yml b/apps/assets/playbooks/platform/example/playbook.yml deleted file mode 100644 index 1e55a5007..000000000 --- a/apps/assets/playbooks/platform/example/playbook.yml +++ /dev/null @@ -1,9 +0,0 @@ -id: change_password_example -name: Change password example -category: host -method: change_password -vars: - account: - username: test - password: teset123 - public_key: test diff --git a/apps/assets/playbooks/platform/example/script.py b/apps/assets/playbooks/platform/example/script.py deleted file mode 100644 index 4cf9f7cf5..000000000 --- a/apps/assets/playbooks/platform/example/script.py +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env python -# -""" -Will run with the args: -$0 $asset_json $account_json -""" diff --git a/apps/assets/playbooks/platform/host/ansible_posix_ping/main.yml b/apps/assets/playbooks/platform/verify_account/host/ansible_posix_ping/main.yml similarity index 100% rename from apps/assets/playbooks/platform/host/ansible_posix_ping/main.yml rename to apps/assets/playbooks/platform/verify_account/host/ansible_posix_ping/main.yml diff --git a/apps/assets/playbooks/platform/host/ansible_posix_ping/manifest.yml b/apps/assets/playbooks/platform/verify_account/host/ansible_posix_ping/manifest.yml similarity index 100% rename from apps/assets/playbooks/platform/host/ansible_posix_ping/manifest.yml rename to apps/assets/playbooks/platform/verify_account/host/ansible_posix_ping/manifest.yml diff --git a/apps/assets/playbooks/platform/host/ansible_win_ping/main.yml b/apps/assets/playbooks/platform/verify_account/host/ansible_win_ping/main.yml similarity index 100% rename from apps/assets/playbooks/platform/host/ansible_win_ping/main.yml rename to apps/assets/playbooks/platform/verify_account/host/ansible_win_ping/main.yml diff --git a/apps/assets/playbooks/platform/host/ansible_win_ping/manifest.yml b/apps/assets/playbooks/platform/verify_account/host/ansible_win_ping/manifest.yml similarity index 100% rename from apps/assets/playbooks/platform/host/ansible_win_ping/manifest.yml rename to apps/assets/playbooks/platform/verify_account/host/ansible_win_ping/manifest.yml