exordos 2.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- exordos-2.0.0/.github/dependabot.yml +12 -0
- exordos-2.0.0/.github/workflows/build.yml +46 -0
- exordos-2.0.0/.github/workflows/docs.yml +55 -0
- exordos-2.0.0/.github/workflows/markdownlint.yml +26 -0
- exordos-2.0.0/.github/workflows/publish-to-pypi.yml +172 -0
- exordos-2.0.0/.github/workflows/tests.yml +72 -0
- exordos-2.0.0/.github/workflows/upload_exordos_install.yml +35 -0
- exordos-2.0.0/.gitignore +132 -0
- exordos-2.0.0/.markdownlint.yaml +150 -0
- exordos-2.0.0/CODEOWNERS +5 -0
- exordos-2.0.0/LICENSE +201 -0
- exordos-2.0.0/Makefile +23 -0
- exordos-2.0.0/PKG-INFO +443 -0
- exordos-2.0.0/README.md +385 -0
- exordos-2.0.0/data/backups/local.yaml +4 -0
- exordos-2.0.0/data/backups/s3.yaml +7 -0
- exordos-2.0.0/data/stands/stand-small.yaml +11 -0
- exordos-2.0.0/docs/cli/auth_login.md +104 -0
- exordos-2.0.0/docs/cli/auth_me.md +39 -0
- exordos-2.0.0/docs/cli/auth_refresh.md +55 -0
- exordos-2.0.0/docs/cli/certificates_add.md +70 -0
- exordos-2.0.0/docs/cli/certificates_delete.md +39 -0
- exordos-2.0.0/docs/cli/certificates_list.md +43 -0
- exordos-2.0.0/docs/cli/certificates_show.md +39 -0
- exordos-2.0.0/docs/cli/certificates_update.md +66 -0
- exordos-2.0.0/docs/cli/clients_add.md +95 -0
- exordos-2.0.0/docs/cli/clients_delete.md +39 -0
- exordos-2.0.0/docs/cli/clients_list.md +43 -0
- exordos-2.0.0/docs/cli/clients_show.md +39 -0
- exordos-2.0.0/docs/cli/compute_hypervisors.md +40 -0
- exordos-2.0.0/docs/cli/compute_nodes.md +41 -0
- exordos-2.0.0/docs/cli/compute_sets.md +39 -0
- exordos-2.0.0/docs/cli/configs_add-from-env.md +97 -0
- exordos-2.0.0/docs/cli/configs_delete.md +52 -0
- exordos-2.0.0/docs/cli/configs_list.md +43 -0
- exordos-2.0.0/docs/cli/configs_show.md +39 -0
- exordos-2.0.0/docs/cli/e_elements.md +49 -0
- exordos-2.0.0/docs/cli/e_exports.md +38 -0
- exordos-2.0.0/docs/cli/e_imports.md +38 -0
- exordos-2.0.0/docs/cli/e_manifests.md +39 -0
- exordos-2.0.0/docs/cli/e_resources.md +38 -0
- exordos-2.0.0/docs/cli/e_services.md +41 -0
- exordos-2.0.0/docs/cli/elements_available.md +34 -0
- exordos-2.0.0/docs/cli/elements_clear.md +43 -0
- exordos-2.0.0/docs/cli/elements_edit.md +57 -0
- exordos-2.0.0/docs/cli/elements_i.md +57 -0
- exordos-2.0.0/docs/cli/elements_install.md +57 -0
- exordos-2.0.0/docs/cli/elements_ips.md +39 -0
- exordos-2.0.0/docs/cli/elements_list.md +43 -0
- exordos-2.0.0/docs/cli/elements_show.md +39 -0
- exordos-2.0.0/docs/cli/elements_u.md +57 -0
- exordos-2.0.0/docs/cli/elements_un.md +39 -0
- exordos-2.0.0/docs/cli/elements_uninstall.md +39 -0
- exordos-2.0.0/docs/cli/elements_update.md +57 -0
- exordos-2.0.0/docs/cli/elements_versions.md +39 -0
- exordos-2.0.0/docs/cli/exordos.md +123 -0
- exordos-2.0.0/docs/cli/exordos_auth.md +39 -0
- exordos-2.0.0/docs/cli/exordos_autocomplete.md +43 -0
- exordos-2.0.0/docs/cli/exordos_autocomplete_help.md +34 -0
- exordos-2.0.0/docs/cli/exordos_backup-decrypt.md +39 -0
- exordos-2.0.0/docs/cli/exordos_backup.md +139 -0
- exordos-2.0.0/docs/cli/exordos_bootstrap.md +250 -0
- exordos-2.0.0/docs/cli/exordos_build.md +132 -0
- exordos-2.0.0/docs/cli/exordos_compute.md +29 -0
- exordos-2.0.0/docs/cli/exordos_configs.md +40 -0
- exordos-2.0.0/docs/cli/exordos_dumphelp.md +29 -0
- exordos-2.0.0/docs/cli/exordos_e.md +29 -0
- exordos-2.0.0/docs/cli/exordos_elements.md +49 -0
- exordos-2.0.0/docs/cli/exordos_get-version.md +39 -0
- exordos-2.0.0/docs/cli/exordos_hello.md +34 -0
- exordos-2.0.0/docs/cli/exordos_iam.md +29 -0
- exordos-2.0.0/docs/cli/exordos_init.md +87 -0
- exordos-2.0.0/docs/cli/exordos_latest.md +34 -0
- exordos-2.0.0/docs/cli/exordos_manifests.md +39 -0
- exordos-2.0.0/docs/cli/exordos_nodes.md +41 -0
- exordos-2.0.0/docs/cli/exordos_openapi.md +60 -0
- exordos-2.0.0/docs/cli/exordos_push.md +84 -0
- exordos-2.0.0/docs/cli/exordos_realms.md +39 -0
- exordos-2.0.0/docs/cli/exordos_repo.md +40 -0
- exordos-2.0.0/docs/cli/exordos_secret.md +40 -0
- exordos-2.0.0/docs/cli/exordos_settings.md +50 -0
- exordos-2.0.0/docs/cli/exordos_sync.md +48 -0
- exordos-2.0.0/docs/cli/exordos_version.md +34 -0
- exordos-2.0.0/docs/cli/exordos_vs.md +39 -0
- exordos-2.0.0/docs/cli/exports_list.md +43 -0
- exordos-2.0.0/docs/cli/exports_show.md +48 -0
- exordos-2.0.0/docs/cli/hypervisors_delete.md +39 -0
- exordos-2.0.0/docs/cli/hypervisors_init.md +59 -0
- exordos-2.0.0/docs/cli/hypervisors_list.md +43 -0
- exordos-2.0.0/docs/cli/hypervisors_show.md +39 -0
- exordos-2.0.0/docs/cli/iam_clients.md +40 -0
- exordos-2.0.0/docs/cli/iam_idps.md +40 -0
- exordos-2.0.0/docs/cli/iam_organizations.md +40 -0
- exordos-2.0.0/docs/cli/iam_permission_bindings.md +40 -0
- exordos-2.0.0/docs/cli/iam_permissions.md +40 -0
- exordos-2.0.0/docs/cli/iam_projects.md +40 -0
- exordos-2.0.0/docs/cli/iam_role_bindings.md +40 -0
- exordos-2.0.0/docs/cli/iam_roles.md +41 -0
- exordos-2.0.0/docs/cli/iam_users.md +40 -0
- exordos-2.0.0/docs/cli/idps_add.md +101 -0
- exordos-2.0.0/docs/cli/idps_delete.md +39 -0
- exordos-2.0.0/docs/cli/idps_list.md +43 -0
- exordos-2.0.0/docs/cli/idps_show.md +39 -0
- exordos-2.0.0/docs/cli/imports_list.md +43 -0
- exordos-2.0.0/docs/cli/imports_show.md +48 -0
- exordos-2.0.0/docs/cli/manifests_list.md +43 -0
- exordos-2.0.0/docs/cli/manifests_show.md +39 -0
- exordos-2.0.0/docs/cli/manifests_validate.md +48 -0
- exordos-2.0.0/docs/cli/nodes_add-or-update.md +114 -0
- exordos-2.0.0/docs/cli/nodes_add.md +114 -0
- exordos-2.0.0/docs/cli/nodes_delete.md +39 -0
- exordos-2.0.0/docs/cli/nodes_list.md +43 -0
- exordos-2.0.0/docs/cli/nodes_show.md +39 -0
- exordos-2.0.0/docs/cli/organizations_add.md +61 -0
- exordos-2.0.0/docs/cli/organizations_delete.md +39 -0
- exordos-2.0.0/docs/cli/organizations_list.md +43 -0
- exordos-2.0.0/docs/cli/organizations_show.md +39 -0
- exordos-2.0.0/docs/cli/passwords_add.md +70 -0
- exordos-2.0.0/docs/cli/passwords_delete.md +39 -0
- exordos-2.0.0/docs/cli/passwords_list.md +43 -0
- exordos-2.0.0/docs/cli/passwords_show.md +39 -0
- exordos-2.0.0/docs/cli/passwords_update.md +66 -0
- exordos-2.0.0/docs/cli/permission_bindings_add.md +68 -0
- exordos-2.0.0/docs/cli/permission_bindings_delete.md +39 -0
- exordos-2.0.0/docs/cli/permission_bindings_list.md +43 -0
- exordos-2.0.0/docs/cli/permission_bindings_show.md +39 -0
- exordos-2.0.0/docs/cli/permissions_add.md +61 -0
- exordos-2.0.0/docs/cli/permissions_delete.md +39 -0
- exordos-2.0.0/docs/cli/permissions_list.md +43 -0
- exordos-2.0.0/docs/cli/permissions_show.md +39 -0
- exordos-2.0.0/docs/cli/profiles_activate.md +39 -0
- exordos-2.0.0/docs/cli/profiles_add.md +79 -0
- exordos-2.0.0/docs/cli/profiles_delete.md +39 -0
- exordos-2.0.0/docs/cli/profiles_list.md +34 -0
- exordos-2.0.0/docs/cli/profiles_show.md +39 -0
- exordos-2.0.0/docs/cli/projects_add.md +70 -0
- exordos-2.0.0/docs/cli/projects_delete.md +39 -0
- exordos-2.0.0/docs/cli/projects_list.md +43 -0
- exordos-2.0.0/docs/cli/projects_show.md +39 -0
- exordos-2.0.0/docs/cli/realms_delete.md +39 -0
- exordos-2.0.0/docs/cli/realms_list.md +34 -0
- exordos-2.0.0/docs/cli/realms_ssh.md +52 -0
- exordos-2.0.0/docs/cli/repo_delete.md +57 -0
- exordos-2.0.0/docs/cli/repo_init.md +66 -0
- exordos-2.0.0/docs/cli/repo_list.md +66 -0
- exordos-2.0.0/docs/cli/repo_push.md +84 -0
- exordos-2.0.0/docs/cli/resources_list.md +43 -0
- exordos-2.0.0/docs/cli/resources_show.md +48 -0
- exordos-2.0.0/docs/cli/role_bindings_add.md +68 -0
- exordos-2.0.0/docs/cli/role_bindings_delete.md +39 -0
- exordos-2.0.0/docs/cli/role_bindings_list.md +43 -0
- exordos-2.0.0/docs/cli/role_bindings_show.md +39 -0
- exordos-2.0.0/docs/cli/roles_add.md +70 -0
- exordos-2.0.0/docs/cli/roles_delete.md +39 -0
- exordos-2.0.0/docs/cli/roles_list.md +43 -0
- exordos-2.0.0/docs/cli/roles_show.md +39 -0
- exordos-2.0.0/docs/cli/roles_update.md +66 -0
- exordos-2.0.0/docs/cli/rsa_keys_add.md +70 -0
- exordos-2.0.0/docs/cli/rsa_keys_delete.md +39 -0
- exordos-2.0.0/docs/cli/rsa_keys_list.md +43 -0
- exordos-2.0.0/docs/cli/rsa_keys_show.md +39 -0
- exordos-2.0.0/docs/cli/rsa_keys_update.md +66 -0
- exordos-2.0.0/docs/cli/secret_certificates.md +41 -0
- exordos-2.0.0/docs/cli/secret_passwords.md +41 -0
- exordos-2.0.0/docs/cli/secret_rsa_keys.md +41 -0
- exordos-2.0.0/docs/cli/secret_ssh_keys.md +41 -0
- exordos-2.0.0/docs/cli/services_add.md +70 -0
- exordos-2.0.0/docs/cli/services_delete.md +39 -0
- exordos-2.0.0/docs/cli/services_list.md +43 -0
- exordos-2.0.0/docs/cli/services_show.md +39 -0
- exordos-2.0.0/docs/cli/services_update.md +66 -0
- exordos-2.0.0/docs/cli/sets_delete.md +39 -0
- exordos-2.0.0/docs/cli/sets_list.md +43 -0
- exordos-2.0.0/docs/cli/sets_show.md +39 -0
- exordos-2.0.0/docs/cli/settings_current-realm.md +34 -0
- exordos-2.0.0/docs/cli/settings_delete-context.md +48 -0
- exordos-2.0.0/docs/cli/settings_delete-realm.md +39 -0
- exordos-2.0.0/docs/cli/settings_get.md +39 -0
- exordos-2.0.0/docs/cli/settings_init.md +34 -0
- exordos-2.0.0/docs/cli/settings_list-realms.md +51 -0
- exordos-2.0.0/docs/cli/settings_rename-context.md +53 -0
- exordos-2.0.0/docs/cli/settings_set-context.md +92 -0
- exordos-2.0.0/docs/cli/settings_set-realm.md +74 -0
- exordos-2.0.0/docs/cli/settings_set.md +44 -0
- exordos-2.0.0/docs/cli/settings_unset.md +39 -0
- exordos-2.0.0/docs/cli/settings_use-context.md +48 -0
- exordos-2.0.0/docs/cli/settings_use-realm.md +39 -0
- exordos-2.0.0/docs/cli/settings_view.md +42 -0
- exordos-2.0.0/docs/cli/ssh_keys_add.md +102 -0
- exordos-2.0.0/docs/cli/ssh_keys_delete.md +39 -0
- exordos-2.0.0/docs/cli/ssh_keys_list.md +43 -0
- exordos-2.0.0/docs/cli/ssh_keys_show.md +39 -0
- exordos-2.0.0/docs/cli/ssh_keys_update.md +66 -0
- exordos-2.0.0/docs/cli/users_add.md +130 -0
- exordos-2.0.0/docs/cli/users_delete.md +39 -0
- exordos-2.0.0/docs/cli/users_list.md +43 -0
- exordos-2.0.0/docs/cli/users_show.md +39 -0
- exordos-2.0.0/docs/cli/values_add.md +87 -0
- exordos-2.0.0/docs/cli/values_delete.md +39 -0
- exordos-2.0.0/docs/cli/values_list.md +43 -0
- exordos-2.0.0/docs/cli/values_show.md +39 -0
- exordos-2.0.0/docs/cli/values_update.md +84 -0
- exordos-2.0.0/docs/cli/variables_add.md +70 -0
- exordos-2.0.0/docs/cli/variables_delete.md +39 -0
- exordos-2.0.0/docs/cli/variables_list.md +43 -0
- exordos-2.0.0/docs/cli/variables_select.md +48 -0
- exordos-2.0.0/docs/cli/variables_set.md +77 -0
- exordos-2.0.0/docs/cli/variables_show.md +39 -0
- exordos-2.0.0/docs/cli/vs_profiles.md +41 -0
- exordos-2.0.0/docs/cli/vs_values.md +41 -0
- exordos-2.0.0/docs/cli/vs_variables.md +42 -0
- exordos-2.0.0/docs/config.md +60 -0
- exordos-2.0.0/docs/index.md +374 -0
- exordos-2.0.0/docs/realms.md +113 -0
- exordos-2.0.0/docs/versioning.md +50 -0
- exordos-2.0.0/etc/install.sh +156 -0
- exordos-2.0.0/exordos/__init__.py +0 -0
- exordos-2.0.0/exordos/autocomplete/autocomplete_help +12 -0
- exordos-2.0.0/exordos/autocomplete/bashrc-complete +3 -0
- exordos-2.0.0/exordos/autocomplete/exordos-complete.bash +28 -0
- exordos-2.0.0/exordos/autocomplete/exordos-complete.zsh +40 -0
- exordos-2.0.0/exordos/autocomplete/zshrc-complete +3 -0
- exordos-2.0.0/exordos/backup/backup.py +262 -0
- exordos-2.0.0/exordos/backup/base.py +95 -0
- exordos-2.0.0/exordos/backup/local.py +277 -0
- exordos-2.0.0/exordos/backup/qcow.py +186 -0
- exordos-2.0.0/exordos/backup/s3.py +136 -0
- exordos-2.0.0/exordos/builder/__init__.py +17 -0
- exordos-2.0.0/exordos/builder/base.py +342 -0
- exordos-2.0.0/exordos/builder/builder.py +337 -0
- exordos-2.0.0/exordos/builder/dependency.py +277 -0
- exordos-2.0.0/exordos/builder/packer.py +242 -0
- exordos-2.0.0/exordos/clients/__init__.py +0 -0
- exordos-2.0.0/exordos/clients/base.py +503 -0
- exordos-2.0.0/exordos/clients/base_client.py +141 -0
- exordos-2.0.0/exordos/clients/ecosystem.py +100 -0
- exordos-2.0.0/exordos/clients/iam.py +240 -0
- exordos-2.0.0/exordos/clients/repo.py +173 -0
- exordos-2.0.0/exordos/cmd/__init__.py +0 -0
- exordos-2.0.0/exordos/cmd/aliases.py +122 -0
- exordos-2.0.0/exordos/cmd/cli.py +264 -0
- exordos-2.0.0/exordos/cmd/compute/__init__.py +30 -0
- exordos-2.0.0/exordos/cmd/compute/hypervisors/__init__.py +0 -0
- exordos-2.0.0/exordos/cmd/compute/hypervisors/commands.py +319 -0
- exordos-2.0.0/exordos/cmd/compute/nodes/__init__.py +0 -0
- exordos-2.0.0/exordos/cmd/compute/nodes/commands.py +348 -0
- exordos-2.0.0/exordos/cmd/compute/sets/__init__.py +0 -0
- exordos-2.0.0/exordos/cmd/compute/sets/commands.py +102 -0
- exordos-2.0.0/exordos/cmd/configs/__init__.py +0 -0
- exordos-2.0.0/exordos/cmd/configs/commands.py +269 -0
- exordos-2.0.0/exordos/cmd/em/__init__.py +36 -0
- exordos-2.0.0/exordos/cmd/em/builder/__init__.py +0 -0
- exordos-2.0.0/exordos/cmd/em/builder/commands.py +191 -0
- exordos-2.0.0/exordos/cmd/em/elements/__init__.py +0 -0
- exordos-2.0.0/exordos/cmd/em/elements/commands.py +612 -0
- exordos-2.0.0/exordos/cmd/em/exports/__init__.py +0 -0
- exordos-2.0.0/exordos/cmd/em/exports/commands.py +140 -0
- exordos-2.0.0/exordos/cmd/em/imports/__init__.py +0 -0
- exordos-2.0.0/exordos/cmd/em/imports/commands.py +140 -0
- exordos-2.0.0/exordos/cmd/em/manifests/__init__.py +0 -0
- exordos-2.0.0/exordos/cmd/em/manifests/commands.py +154 -0
- exordos-2.0.0/exordos/cmd/em/resources/__init__.py +0 -0
- exordos-2.0.0/exordos/cmd/em/resources/commands.py +150 -0
- exordos-2.0.0/exordos/cmd/em/services/__init__.py +0 -0
- exordos-2.0.0/exordos/cmd/em/services/commands.py +200 -0
- exordos-2.0.0/exordos/cmd/iam/__init__.py +51 -0
- exordos-2.0.0/exordos/cmd/iam/auth/__init__.py +0 -0
- exordos-2.0.0/exordos/cmd/iam/auth/commands.py +201 -0
- exordos-2.0.0/exordos/cmd/iam/client/__init__.py +0 -0
- exordos-2.0.0/exordos/cmd/iam/client/commands.py +178 -0
- exordos-2.0.0/exordos/cmd/iam/idp/__init__.py +0 -0
- exordos-2.0.0/exordos/cmd/iam/idp/commands.py +198 -0
- exordos-2.0.0/exordos/cmd/iam/organization/__init__.py +0 -0
- exordos-2.0.0/exordos/cmd/iam/organization/commands.py +148 -0
- exordos-2.0.0/exordos/cmd/iam/permission/__init__.py +0 -0
- exordos-2.0.0/exordos/cmd/iam/permission/commands.py +145 -0
- exordos-2.0.0/exordos/cmd/iam/permission_binding/__init__.py +0 -0
- exordos-2.0.0/exordos/cmd/iam/permission_binding/commands.py +153 -0
- exordos-2.0.0/exordos/cmd/iam/project/__init__.py +0 -0
- exordos-2.0.0/exordos/cmd/iam/project/commands.py +157 -0
- exordos-2.0.0/exordos/cmd/iam/role/__init__.py +0 -0
- exordos-2.0.0/exordos/cmd/iam/role/commands.py +201 -0
- exordos-2.0.0/exordos/cmd/iam/role_binding/__init__.py +0 -0
- exordos-2.0.0/exordos/cmd/iam/role_binding/commands.py +154 -0
- exordos-2.0.0/exordos/cmd/iam/user/__init__.py +0 -0
- exordos-2.0.0/exordos/cmd/iam/user/commands.py +242 -0
- exordos-2.0.0/exordos/cmd/initialization/__init__.py +0 -0
- exordos-2.0.0/exordos/cmd/initialization/commands.py +187 -0
- exordos-2.0.0/exordos/cmd/realms/__init__.py +0 -0
- exordos-2.0.0/exordos/cmd/realms/commands.py +111 -0
- exordos-2.0.0/exordos/cmd/repo/__init__.py +0 -0
- exordos-2.0.0/exordos/cmd/repo/commands.py +248 -0
- exordos-2.0.0/exordos/cmd/secret/__init__.py +29 -0
- exordos-2.0.0/exordos/cmd/secret/certificate/__init__.py +0 -0
- exordos-2.0.0/exordos/cmd/secret/certificate/commands.py +207 -0
- exordos-2.0.0/exordos/cmd/secret/passwords/__init__.py +0 -0
- exordos-2.0.0/exordos/cmd/secret/passwords/commands.py +205 -0
- exordos-2.0.0/exordos/cmd/secret/rsa_keys/__init__.py +0 -0
- exordos-2.0.0/exordos/cmd/secret/rsa_keys/commands.py +203 -0
- exordos-2.0.0/exordos/cmd/secret/ssh_keys/__init__.py +0 -0
- exordos-2.0.0/exordos/cmd/secret/ssh_keys/commands.py +266 -0
- exordos-2.0.0/exordos/cmd/settings/__init__.py +0 -0
- exordos-2.0.0/exordos/cmd/settings/commands.py +487 -0
- exordos-2.0.0/exordos/cmd/settings/config.py +119 -0
- exordos-2.0.0/exordos/cmd/stand/__init__.py +0 -0
- exordos-2.0.0/exordos/cmd/stand/commands.py +1188 -0
- exordos-2.0.0/exordos/cmd/stand/constants.py +81 -0
- exordos-2.0.0/exordos/cmd/stand/utils_commands.py +205 -0
- exordos-2.0.0/exordos/cmd/version/__init__.py +0 -0
- exordos-2.0.0/exordos/cmd/version/commands.py +107 -0
- exordos-2.0.0/exordos/cmd/vs/__init__.py +27 -0
- exordos-2.0.0/exordos/cmd/vs/profiles/__init__.py +0 -0
- exordos-2.0.0/exordos/cmd/vs/profiles/commands.py +171 -0
- exordos-2.0.0/exordos/cmd/vs/values/__init__.py +0 -0
- exordos-2.0.0/exordos/cmd/vs/values/commands.py +252 -0
- exordos-2.0.0/exordos/cmd/vs/vars/__init__.py +0 -0
- exordos-2.0.0/exordos/cmd/vs/vars/commands.py +312 -0
- exordos-2.0.0/exordos/common/__init__.py +0 -0
- exordos-2.0.0/exordos/common/cmd_context.py +24 -0
- exordos-2.0.0/exordos/common/crypto.py +75 -0
- exordos-2.0.0/exordos/common/md_click.py +119 -0
- exordos-2.0.0/exordos/common/run.py +104 -0
- exordos-2.0.0/exordos/common/table.py +39 -0
- exordos-2.0.0/exordos/common/version.py +86 -0
- exordos-2.0.0/exordos/constants.py +92 -0
- exordos-2.0.0/exordos/exceptions.py +23 -0
- exordos-2.0.0/exordos/infra/driver/base.py +22 -0
- exordos-2.0.0/exordos/infra/driver/libvirt.py +290 -0
- exordos-2.0.0/exordos/infra/libvirt/__init__.py +0 -0
- exordos-2.0.0/exordos/infra/libvirt/constants.py +28 -0
- exordos-2.0.0/exordos/infra/libvirt/libvirt.py +728 -0
- exordos-2.0.0/exordos/logger.py +85 -0
- exordos-2.0.0/exordos/packer/debian_12/debian-12.pkr.hcl +124 -0
- exordos-2.0.0/exordos/packer/debian_12/plugins.pkr.hcl +12 -0
- exordos-2.0.0/exordos/packer/exordos_base/exordos-base.pkr.hcl +115 -0
- exordos-2.0.0/exordos/packer/exordos_base/plugins.pkr.hcl +12 -0
- exordos-2.0.0/exordos/packer/genesis_base/genesis-base.pkr.hcl +115 -0
- exordos-2.0.0/exordos/packer/genesis_base/plugins.pkr.hcl +12 -0
- exordos-2.0.0/exordos/packer/genesis_core/genesis-core.pkr.hcl +114 -0
- exordos-2.0.0/exordos/packer/genesis_core/plugins.pkr.hcl +12 -0
- exordos-2.0.0/exordos/packer/genesis_custom/genesis-custom.pkr.hcl +122 -0
- exordos-2.0.0/exordos/packer/genesis_custom/plugins.pkr.hcl +12 -0
- exordos-2.0.0/exordos/packer/ubuntu_24/plugins.pkr.hcl +12 -0
- exordos-2.0.0/exordos/packer/ubuntu_24/ubuntu-24.pkr.hcl +124 -0
- exordos-2.0.0/exordos/password.py +23 -0
- exordos-2.0.0/exordos/repo/__init__.py +0 -0
- exordos-2.0.0/exordos/repo/base.py +84 -0
- exordos-2.0.0/exordos/repo/fs.py +177 -0
- exordos-2.0.0/exordos/repo/nginx.py +361 -0
- exordos-2.0.0/exordos/repo/utils.py +71 -0
- exordos-2.0.0/exordos/spec/genesis_spec.yaml +100 -0
- exordos-2.0.0/exordos/stand/__init__.py +0 -0
- exordos-2.0.0/exordos/stand/models.py +272 -0
- exordos-2.0.0/exordos/templates/cicd/gitlab/.gitlab-ci.yml +42 -0
- exordos-2.0.0/exordos/templates/platformizers/languages/common/genesis/genesis.yaml +43 -0
- exordos-2.0.0/exordos/templates/platformizers/languages/common/genesis/images/bootstrap.sh +21 -0
- exordos-2.0.0/exordos/templates/platformizers/languages/common/genesis/images/install.sh +26 -0
- exordos-2.0.0/exordos/templates/platformizers/languages/node20/genesis/genesis.yaml +45 -0
- exordos-2.0.0/exordos/templates/platformizers/languages/node20/genesis/images/bootstrap.sh +27 -0
- exordos-2.0.0/exordos/templates/platformizers/languages/node20/genesis/images/install.sh +132 -0
- exordos-2.0.0/exordos/templates/platformizers/languages/node22/genesis/genesis.yaml +45 -0
- exordos-2.0.0/exordos/templates/platformizers/languages/node22/genesis/images/bootstrap.sh +27 -0
- exordos-2.0.0/exordos/templates/platformizers/languages/node22/genesis/images/install.sh +132 -0
- exordos-2.0.0/exordos/templates/platformizers/languages/node24/genesis/genesis.yaml +45 -0
- exordos-2.0.0/exordos/templates/platformizers/languages/node24/genesis/images/bootstrap.sh +27 -0
- exordos-2.0.0/exordos/templates/platformizers/languages/node24/genesis/images/install.sh +132 -0
- exordos-2.0.0/exordos/templates/platformizers/languages/python/genesis/genesis.yaml +51 -0
- exordos-2.0.0/exordos/templates/platformizers/languages/python/genesis/images/bootstrap.sh +21 -0
- exordos-2.0.0/exordos/templates/platformizers/languages/python/genesis/images/install.sh +95 -0
- exordos-2.0.0/exordos/templates/platformizers/manifests/pgsql/genesis/manifests/{{ project_name }}.yaml.j2 +77 -0
- exordos-2.0.0/exordos/templates/platformizers/manifests/pgsql_communal/genesis/manifests/{{ project_name }}.yaml.j2 +69 -0
- exordos-2.0.0/exordos/templates/platformizers/manifests/stateless/genesis/manifests/{{ project_name }}.yaml.j2 +36 -0
- exordos-2.0.0/exordos/tests/__init__.py +0 -0
- exordos-2.0.0/exordos/tests/functional/__init__.py +0 -0
- exordos-2.0.0/exordos/tests/functional/cli/__init__.py +0 -0
- exordos-2.0.0/exordos/tests/functional/cli/test_cli.py +211 -0
- exordos-2.0.0/exordos/tests/functional/conftest.py +45 -0
- exordos-2.0.0/exordos/tests/functional/utils/exordos_repo.yaml +4 -0
- exordos-2.0.0/exordos/tests/functional/utils/exordosctl.yaml +30 -0
- exordos-2.0.0/exordos/tests/manual/__init__.py +0 -0
- exordos-2.0.0/exordos/tests/manual/test_cli.py +28 -0
- exordos-2.0.0/exordos/tests/unit/__init__.py +0 -0
- exordos-2.0.0/exordos/tests/unit/conftest.py +109 -0
- exordos-2.0.0/exordos/tests/unit/test_basic.py +20 -0
- exordos-2.0.0/exordos/tests/unit/test_builder.py +199 -0
- exordos-2.0.0/exordos/tests/unit/test_cmd_backup.py +318 -0
- exordos-2.0.0/exordos/tests/unit/test_dependency.py +325 -0
- exordos-2.0.0/exordos/tests/unit/test_domains_for_backup.py +58 -0
- exordos-2.0.0/exordos/tests/unit/test_get_project_version.py +117 -0
- exordos-2.0.0/exordos/tests/unit/test_packer.py +33 -0
- exordos-2.0.0/exordos/tests/unit/test_templaters_engine.py +127 -0
- exordos-2.0.0/exordos/tests/unit/test_wizard_base.py +121 -0
- exordos-2.0.0/exordos/utils.py +565 -0
- exordos-2.0.0/exordos/version.py +25 -0
- exordos-2.0.0/exordos/wizards/__init__.py +0 -0
- exordos-2.0.0/exordos/wizards/constants.py +17 -0
- exordos-2.0.0/exordos/wizards/engines/__init__.py +0 -0
- exordos-2.0.0/exordos/wizards/engines/base.py +26 -0
- exordos-2.0.0/exordos/wizards/engines/templaters/__init__.py +0 -0
- exordos-2.0.0/exordos/wizards/engines/templaters/functions.py +75 -0
- exordos-2.0.0/exordos/wizards/engines/templaters/settings.py +205 -0
- exordos-2.0.0/exordos/wizards/engines/templaters/templaters.py +131 -0
- exordos-2.0.0/exordos/wizards/exceptions.py +29 -0
- exordos-2.0.0/exordos/wizards/scenarios/__init__.py +0 -0
- exordos-2.0.0/exordos/wizards/scenarios/base.py +106 -0
- exordos-2.0.0/exordos/wizards/scenarios/cicd.py +90 -0
- exordos-2.0.0/exordos/wizards/scenarios/platformizers.py +444 -0
- exordos-2.0.0/exordos/wizards/wizards/__init__.py +0 -0
- exordos-2.0.0/exordos/wizards/wizards/base.py +115 -0
- exordos-2.0.0/exordos/wizards/wizards/console.py +170 -0
- exordos-2.0.0/exordos/wizards/wizards/terminal.py +260 -0
- exordos-2.0.0/exordos.egg-info/PKG-INFO +443 -0
- exordos-2.0.0/exordos.egg-info/SOURCES.txt +421 -0
- exordos-2.0.0/exordos.egg-info/dependency_links.txt +1 -0
- exordos-2.0.0/exordos.egg-info/entry_points.txt +10 -0
- exordos-2.0.0/exordos.egg-info/requires.txt +43 -0
- exordos-2.0.0/exordos.egg-info/top_level.txt +5 -0
- exordos-2.0.0/mkdocs.yml +89 -0
- exordos-2.0.0/pyproject.toml +218 -0
- exordos-2.0.0/setup.cfg +4 -0
- exordos-2.0.0/setup.py +100 -0
- exordos-2.0.0/tox.ini +90 -0
- exordos-2.0.0/uv.lock +1991 -0
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
name: build binary
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
|
|
6
|
+
jobs:
|
|
7
|
+
build_binaries:
|
|
8
|
+
strategy:
|
|
9
|
+
matrix:
|
|
10
|
+
os: [
|
|
11
|
+
ubuntu-latest,
|
|
12
|
+
macos-latest
|
|
13
|
+
]
|
|
14
|
+
python-version: ["3.14"]
|
|
15
|
+
runs-on: ${{ matrix.os }}
|
|
16
|
+
steps:
|
|
17
|
+
- name: Checkout repository
|
|
18
|
+
uses: actions/checkout@v6
|
|
19
|
+
with:
|
|
20
|
+
fetch-depth: 30
|
|
21
|
+
- name: Set up Python
|
|
22
|
+
uses: actions/setup-python@v6
|
|
23
|
+
with:
|
|
24
|
+
python-version: ${{ matrix.python-version }}
|
|
25
|
+
- name: Install deps (Linux)
|
|
26
|
+
if: runner.os == 'Linux'
|
|
27
|
+
run: sudo apt update && sudo apt install --yes ca-certificates
|
|
28
|
+
- name: Install uv
|
|
29
|
+
uses: astral-sh/setup-uv@v7
|
|
30
|
+
- name: Install tox-uv
|
|
31
|
+
run: uv tool install tox --with tox-uv
|
|
32
|
+
- name: Build executable
|
|
33
|
+
run: tox -e bin
|
|
34
|
+
- name: Rename executable
|
|
35
|
+
run: |
|
|
36
|
+
if [[ "$RUNNER_OS" == "Linux" ]]; then
|
|
37
|
+
mv dist/exordos dist/exordos-linux
|
|
38
|
+
elif [[ "$RUNNER_OS" == "macOS" ]]; then
|
|
39
|
+
mv dist/exordos dist/exordos-macos
|
|
40
|
+
fi
|
|
41
|
+
shell: bash
|
|
42
|
+
- name: Upload artifact
|
|
43
|
+
uses: actions/upload-artifact@v7
|
|
44
|
+
with:
|
|
45
|
+
name: exordos-${{ matrix.os }}
|
|
46
|
+
path: dist/*
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
name: Build GitHub Pages
|
|
2
|
+
on:
|
|
3
|
+
push:
|
|
4
|
+
branches:
|
|
5
|
+
- master
|
|
6
|
+
paths:
|
|
7
|
+
- 'docs/**'
|
|
8
|
+
- mkdocs.yml
|
|
9
|
+
workflow_dispatch:
|
|
10
|
+
permissions:
|
|
11
|
+
contents: write
|
|
12
|
+
pages: write
|
|
13
|
+
id-token: write
|
|
14
|
+
|
|
15
|
+
jobs:
|
|
16
|
+
build_mkdocs:
|
|
17
|
+
runs-on: ubuntu-latest
|
|
18
|
+
|
|
19
|
+
steps:
|
|
20
|
+
- name: Checkout code
|
|
21
|
+
uses: actions/checkout@v6
|
|
22
|
+
with:
|
|
23
|
+
fetch-depth: 0
|
|
24
|
+
- uses: actions/setup-python@v6
|
|
25
|
+
with:
|
|
26
|
+
python-version: 3.12
|
|
27
|
+
- name: Install requirements
|
|
28
|
+
run: sudo apt update && sudo apt install --yes libev-dev
|
|
29
|
+
- name: Install uv
|
|
30
|
+
uses: astral-sh/setup-uv@v7
|
|
31
|
+
- name: Install tox-uv
|
|
32
|
+
run: uv tool install tox --with tox-uv
|
|
33
|
+
- name: Deploy docs to GitHub Pages
|
|
34
|
+
run: tox -e docs-deploy
|
|
35
|
+
|
|
36
|
+
deploy_mkdocs:
|
|
37
|
+
needs: build_mkdocs
|
|
38
|
+
environment:
|
|
39
|
+
name: github-pages
|
|
40
|
+
url: ${{ steps.deployment.outputs.page_url }}
|
|
41
|
+
runs-on: ubuntu-latest
|
|
42
|
+
steps:
|
|
43
|
+
- name: Checkout
|
|
44
|
+
uses: actions/checkout@v6
|
|
45
|
+
with:
|
|
46
|
+
ref: gh-pages
|
|
47
|
+
- name: Setup Pages
|
|
48
|
+
uses: actions/configure-pages@v6
|
|
49
|
+
- name: Upload artifact
|
|
50
|
+
uses: actions/upload-pages-artifact@v5
|
|
51
|
+
with:
|
|
52
|
+
path: '.'
|
|
53
|
+
- name: Deploy to GitHub Pages
|
|
54
|
+
id: deployment
|
|
55
|
+
uses: actions/deploy-pages@v5
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
name: Markdown Lint
|
|
2
|
+
description: Lint Markdown files
|
|
3
|
+
|
|
4
|
+
on:
|
|
5
|
+
push:
|
|
6
|
+
paths:
|
|
7
|
+
- 'docs/**'
|
|
8
|
+
- mkdocs.yml
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
lint:
|
|
12
|
+
runs-on: ubuntu-24.04
|
|
13
|
+
steps:
|
|
14
|
+
- uses: actions/checkout@v6
|
|
15
|
+
with:
|
|
16
|
+
fetch-depth: 0
|
|
17
|
+
- uses: tj-actions/changed-files@v47
|
|
18
|
+
id: changed-files
|
|
19
|
+
with:
|
|
20
|
+
files: '**/*.md'
|
|
21
|
+
separator: ","
|
|
22
|
+
- uses: DavidAnson/markdownlint-cli2-action@v23
|
|
23
|
+
if: steps.changed-files.outputs.any_changed == 'true'
|
|
24
|
+
with:
|
|
25
|
+
globs: ${{ steps.changed-files.outputs.all_changed_files }}
|
|
26
|
+
separator: ","
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
name: Publish Python 🐍 distribution 📦 and binaries
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- '*'
|
|
7
|
+
|
|
8
|
+
env:
|
|
9
|
+
PROJECT_NAME: exordos
|
|
10
|
+
DEVTOOLS_PATH: https://repository.genesis-core.tech/exordos/
|
|
11
|
+
REPO_ENDPOINT_PUT: http://10.20.0.1:8082
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
build_python:
|
|
15
|
+
name: Build distribution 📦
|
|
16
|
+
runs-on: ubuntu-latest
|
|
17
|
+
|
|
18
|
+
steps:
|
|
19
|
+
- uses: actions/checkout@v6
|
|
20
|
+
with:
|
|
21
|
+
persist-credentials: false
|
|
22
|
+
- name: Set up Python
|
|
23
|
+
uses: actions/setup-python@v6
|
|
24
|
+
with:
|
|
25
|
+
python-version: "3.14"
|
|
26
|
+
- name: Install pypa/build
|
|
27
|
+
run: >-
|
|
28
|
+
python3 -m
|
|
29
|
+
pip install
|
|
30
|
+
build
|
|
31
|
+
--user
|
|
32
|
+
- name: Build a binary wheel and a source tarball
|
|
33
|
+
run: python3 -m build
|
|
34
|
+
- name: Store the distribution packages
|
|
35
|
+
uses: actions/upload-artifact@v7
|
|
36
|
+
with:
|
|
37
|
+
name: python-package-distributions
|
|
38
|
+
path: dist/
|
|
39
|
+
|
|
40
|
+
publish-to-pypi:
|
|
41
|
+
name: Publish Python 🐍 distribution 📦 to PyPI
|
|
42
|
+
needs:
|
|
43
|
+
- build_python
|
|
44
|
+
runs-on: ubuntu-latest
|
|
45
|
+
environment:
|
|
46
|
+
name: pypi
|
|
47
|
+
url: https://pypi.org/p/exordos
|
|
48
|
+
permissions:
|
|
49
|
+
id-token: write # IMPORTANT: mandatory for trusted publishing
|
|
50
|
+
|
|
51
|
+
steps:
|
|
52
|
+
- name: Download all the dists
|
|
53
|
+
uses: actions/download-artifact@v8
|
|
54
|
+
with:
|
|
55
|
+
name: python-package-distributions
|
|
56
|
+
path: dist/
|
|
57
|
+
- name: Publish distribution 📦 to PyPI
|
|
58
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
59
|
+
|
|
60
|
+
build_binaries:
|
|
61
|
+
strategy:
|
|
62
|
+
matrix:
|
|
63
|
+
os: [ubuntu-latest, macos-latest]
|
|
64
|
+
python-version: ["3.14"]
|
|
65
|
+
runs-on: ${{ matrix.os }}
|
|
66
|
+
steps:
|
|
67
|
+
- name: Checkout repository
|
|
68
|
+
uses: actions/checkout@v6
|
|
69
|
+
with:
|
|
70
|
+
fetch-depth: 30
|
|
71
|
+
- name: Set up Python
|
|
72
|
+
uses: actions/setup-python@v6
|
|
73
|
+
with:
|
|
74
|
+
python-version: ${{ matrix.python-version }}
|
|
75
|
+
- name: Install libev (Linux)
|
|
76
|
+
if: runner.os == 'Linux'
|
|
77
|
+
run: sudo apt update && sudo apt install --yes ca-certificates
|
|
78
|
+
- name: Install uv
|
|
79
|
+
uses: astral-sh/setup-uv@v7
|
|
80
|
+
- name: Install tox-uv
|
|
81
|
+
run: uv tool install tox --with tox-uv
|
|
82
|
+
- name: Build executable
|
|
83
|
+
run: tox -e bin
|
|
84
|
+
- name: Rename executable
|
|
85
|
+
run: |
|
|
86
|
+
if [[ "$RUNNER_OS" == "Linux" ]]; then
|
|
87
|
+
mv dist/exordos dist/exordos-linux
|
|
88
|
+
elif [[ "$RUNNER_OS" == "macOS" ]]; then
|
|
89
|
+
mv dist/exordos dist/exordos-macos
|
|
90
|
+
fi
|
|
91
|
+
shell: bash
|
|
92
|
+
- name: Upload artifact
|
|
93
|
+
uses: actions/upload-artifact@v7
|
|
94
|
+
with:
|
|
95
|
+
name: exordos-${{ matrix.os }}
|
|
96
|
+
path: dist/*
|
|
97
|
+
|
|
98
|
+
github-release:
|
|
99
|
+
name: Create GitHub Release with artifacts
|
|
100
|
+
needs:
|
|
101
|
+
- publish-to-pypi
|
|
102
|
+
- build_binaries
|
|
103
|
+
runs-on: ubuntu-latest
|
|
104
|
+
permissions:
|
|
105
|
+
contents: write
|
|
106
|
+
id-token: write
|
|
107
|
+
|
|
108
|
+
steps:
|
|
109
|
+
- name: Download Python distributions
|
|
110
|
+
uses: actions/download-artifact@v8
|
|
111
|
+
with:
|
|
112
|
+
name: python-package-distributions
|
|
113
|
+
path: dist/
|
|
114
|
+
- name: Download Linux binary
|
|
115
|
+
uses: actions/download-artifact@v8
|
|
116
|
+
with:
|
|
117
|
+
name: exordos-ubuntu-latest
|
|
118
|
+
path: dist/
|
|
119
|
+
- name: Download macOS binary
|
|
120
|
+
uses: actions/download-artifact@v8
|
|
121
|
+
with:
|
|
122
|
+
name: exordos-macos-latest
|
|
123
|
+
path: dist/
|
|
124
|
+
- name: Create GitHub Release
|
|
125
|
+
env:
|
|
126
|
+
GITHUB_TOKEN: ${{ github.token }}
|
|
127
|
+
run: >-
|
|
128
|
+
gh release create
|
|
129
|
+
"$GITHUB_REF_NAME"
|
|
130
|
+
--repo "$GITHUB_REPOSITORY"
|
|
131
|
+
--notes ""
|
|
132
|
+
- name: Upload release artifacts
|
|
133
|
+
env:
|
|
134
|
+
GITHUB_TOKEN: ${{ github.token }}
|
|
135
|
+
run: >-
|
|
136
|
+
gh release upload
|
|
137
|
+
"$GITHUB_REF_NAME" dist/**
|
|
138
|
+
--repo "$GITHUB_REPOSITORY"
|
|
139
|
+
|
|
140
|
+
exordos-release:
|
|
141
|
+
name: Create exordos Release with artifacts
|
|
142
|
+
needs:
|
|
143
|
+
- build_binaries
|
|
144
|
+
runs-on: self-hosted
|
|
145
|
+
steps:
|
|
146
|
+
- name: Download Linux binary
|
|
147
|
+
uses: actions/download-artifact@v8
|
|
148
|
+
with:
|
|
149
|
+
name: exordos-ubuntu-latest
|
|
150
|
+
path: dist/
|
|
151
|
+
- name: Download macOS binary
|
|
152
|
+
uses: actions/download-artifact@v8
|
|
153
|
+
with:
|
|
154
|
+
name: exordos-macos-latest
|
|
155
|
+
path: dist/
|
|
156
|
+
- name: Push artifacts to repository
|
|
157
|
+
run: |
|
|
158
|
+
set -eux
|
|
159
|
+
chmod +x ./dist/exordos-linux
|
|
160
|
+
VERSION=$(./dist/exordos-linux --silent version)
|
|
161
|
+
|
|
162
|
+
# Upload VERSION release
|
|
163
|
+
curl -X PUT --upload-file ./dist/exordos-macos \
|
|
164
|
+
$REPO_ENDPOINT_PUT/${PROJECT_NAME}/${VERSION}/exordos-macos
|
|
165
|
+
curl -X PUT --upload-file ./dist/exordos-linux \
|
|
166
|
+
$REPO_ENDPOINT_PUT/${PROJECT_NAME}/${VERSION}/exordos-linux
|
|
167
|
+
|
|
168
|
+
# Upload latest release
|
|
169
|
+
curl -X PUT --upload-file ./dist/exordos-macos \
|
|
170
|
+
$REPO_ENDPOINT_PUT/${PROJECT_NAME}/latest/exordos-macos
|
|
171
|
+
curl -X PUT --upload-file ./dist/exordos-linux \
|
|
172
|
+
$REPO_ENDPOINT_PUT/${PROJECT_NAME}/latest/exordos-linux
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
name: tests
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
paths-ignore:
|
|
6
|
+
- 'docs/**'
|
|
7
|
+
- 'mkdocs.yml'
|
|
8
|
+
- '.markdownlint.yaml'
|
|
9
|
+
pull_request:
|
|
10
|
+
paths-ignore:
|
|
11
|
+
- 'docs/**'
|
|
12
|
+
- 'mkdocs.yml'
|
|
13
|
+
- '.markdownlint.yaml'
|
|
14
|
+
|
|
15
|
+
jobs:
|
|
16
|
+
Lint:
|
|
17
|
+
runs-on: ubuntu-24.04
|
|
18
|
+
strategy:
|
|
19
|
+
fail-fast: true
|
|
20
|
+
matrix:
|
|
21
|
+
python-version: ["3.14"]
|
|
22
|
+
steps:
|
|
23
|
+
- uses: actions/checkout@v6
|
|
24
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
25
|
+
uses: actions/setup-python@v6
|
|
26
|
+
with:
|
|
27
|
+
python-version: ${{ matrix.python-version }}
|
|
28
|
+
- name: Install uv
|
|
29
|
+
uses: astral-sh/setup-uv@v7
|
|
30
|
+
- name: Install tox-uv
|
|
31
|
+
run: uv tool install tox --with tox-uv
|
|
32
|
+
- name: ruff
|
|
33
|
+
run: |
|
|
34
|
+
tox -e ruff-check
|
|
35
|
+
Tests:
|
|
36
|
+
runs-on: ubuntu-24.04
|
|
37
|
+
strategy:
|
|
38
|
+
fail-fast: true
|
|
39
|
+
matrix:
|
|
40
|
+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
|
|
41
|
+
steps:
|
|
42
|
+
- uses: actions/checkout@v6
|
|
43
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
44
|
+
uses: actions/setup-python@v6
|
|
45
|
+
with:
|
|
46
|
+
python-version: ${{ matrix.python-version }}
|
|
47
|
+
- name: Install uv
|
|
48
|
+
uses: astral-sh/setup-uv@v7
|
|
49
|
+
- name: Install tox-uv
|
|
50
|
+
run: uv tool install tox --with tox-uv
|
|
51
|
+
- name: Unit tests
|
|
52
|
+
run: |
|
|
53
|
+
tox -e ${{ matrix.python-version }}
|
|
54
|
+
Coverage:
|
|
55
|
+
runs-on: ubuntu-24.04
|
|
56
|
+
strategy:
|
|
57
|
+
fail-fast: true
|
|
58
|
+
matrix:
|
|
59
|
+
python-version: ["3.14"]
|
|
60
|
+
steps:
|
|
61
|
+
- uses: actions/checkout@v6
|
|
62
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
63
|
+
uses: actions/setup-python@v6
|
|
64
|
+
with:
|
|
65
|
+
python-version: ${{ matrix.python-version }}
|
|
66
|
+
- name: Install uv
|
|
67
|
+
uses: astral-sh/setup-uv@v7
|
|
68
|
+
- name: Install tox-uv
|
|
69
|
+
run: uv tool install tox --with tox-uv
|
|
70
|
+
- name: Coverage
|
|
71
|
+
run: |
|
|
72
|
+
tox -e begin,${{ matrix.python-version }},${{ matrix.python-version }}-functional,end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
name: Upload and update on self-hosted
|
|
2
|
+
|
|
3
|
+
on: workflow_dispatch
|
|
4
|
+
|
|
5
|
+
env:
|
|
6
|
+
REPO_ENDPOINT_PUT: http://10.20.0.1:8082
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
upload-install-sh:
|
|
10
|
+
name: Upload install.sh
|
|
11
|
+
runs-on: self-hosted
|
|
12
|
+
steps:
|
|
13
|
+
- uses: actions/checkout@v6
|
|
14
|
+
with:
|
|
15
|
+
persist-credentials: false
|
|
16
|
+
- name: Push artifacts to repository
|
|
17
|
+
run: curl -X PUT --upload-file ./etc/install.sh $REPO_ENDPOINT_PUT/install.sh
|
|
18
|
+
|
|
19
|
+
update-exordos-cli:
|
|
20
|
+
name: update exordos cli
|
|
21
|
+
needs: upload-install-sh
|
|
22
|
+
runs-on: self-hosted
|
|
23
|
+
steps:
|
|
24
|
+
- name: update exordos cli
|
|
25
|
+
run: |
|
|
26
|
+
set -eux
|
|
27
|
+
|
|
28
|
+
mkdir -p "$HOME/bin"
|
|
29
|
+
curl --fail --show-error --location --progress-bar https://repository.genesis-core.tech/exordos/latest/exordos-linux --output "$HOME/bin/exordos"
|
|
30
|
+
chmod +x "$HOME/bin/exordos"
|
|
31
|
+
|
|
32
|
+
source ~/.profile
|
|
33
|
+
which exordos
|
|
34
|
+
exordos version
|
|
35
|
+
|
exordos-2.0.0/.gitignore
ADDED
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
# Byte-compiled / optimized / DLL files
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
|
|
6
|
+
# C extensions
|
|
7
|
+
*.so
|
|
8
|
+
|
|
9
|
+
# editors
|
|
10
|
+
*~
|
|
11
|
+
|
|
12
|
+
# IDE
|
|
13
|
+
.idea/
|
|
14
|
+
.gigaide/
|
|
15
|
+
.vscode/
|
|
16
|
+
|
|
17
|
+
# Distribution / packaging
|
|
18
|
+
.Python
|
|
19
|
+
build/
|
|
20
|
+
develop-eggs/
|
|
21
|
+
dist/
|
|
22
|
+
docker/common/bin
|
|
23
|
+
downloads/
|
|
24
|
+
eggs/
|
|
25
|
+
.eggs/
|
|
26
|
+
lib/
|
|
27
|
+
lib64/
|
|
28
|
+
parts/
|
|
29
|
+
sdist/
|
|
30
|
+
var/
|
|
31
|
+
wheels/
|
|
32
|
+
*.egg-info/
|
|
33
|
+
.installed.cfg
|
|
34
|
+
*.egg
|
|
35
|
+
MANIFEST
|
|
36
|
+
AUTHORS
|
|
37
|
+
ChangeLog
|
|
38
|
+
cover/
|
|
39
|
+
|
|
40
|
+
# OS
|
|
41
|
+
.DS_Store
|
|
42
|
+
|
|
43
|
+
# PyInstaller
|
|
44
|
+
# Usually these files are written by a python script from a template
|
|
45
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
|
46
|
+
*.manifest
|
|
47
|
+
*.spec
|
|
48
|
+
|
|
49
|
+
# Installer logs
|
|
50
|
+
pip-log.txt
|
|
51
|
+
pip-delete-this-directory.txt
|
|
52
|
+
|
|
53
|
+
# Unit test / coverage reports
|
|
54
|
+
htmlcov/
|
|
55
|
+
.tox/
|
|
56
|
+
.tox
|
|
57
|
+
.coverage
|
|
58
|
+
.coverage.*
|
|
59
|
+
.cache
|
|
60
|
+
nosetests.xml
|
|
61
|
+
coverage.xml
|
|
62
|
+
*.cover
|
|
63
|
+
.hypothesis/
|
|
64
|
+
.pytest_cache/
|
|
65
|
+
.testrepository/
|
|
66
|
+
|
|
67
|
+
# Translations
|
|
68
|
+
*.mo
|
|
69
|
+
*.pot
|
|
70
|
+
|
|
71
|
+
# Django stuff:
|
|
72
|
+
*.log
|
|
73
|
+
local_settings.py
|
|
74
|
+
db.sqlite3
|
|
75
|
+
|
|
76
|
+
# Flask stuff:
|
|
77
|
+
instance/
|
|
78
|
+
.webassets-cache
|
|
79
|
+
|
|
80
|
+
# Scrapy stuff:
|
|
81
|
+
.scrapy
|
|
82
|
+
|
|
83
|
+
# Sphinx documentation
|
|
84
|
+
docs/_build/
|
|
85
|
+
|
|
86
|
+
# PyBuilder
|
|
87
|
+
target/
|
|
88
|
+
|
|
89
|
+
# Jupyter Notebook
|
|
90
|
+
.ipynb_checkpoints
|
|
91
|
+
|
|
92
|
+
# pyenv
|
|
93
|
+
.python-version
|
|
94
|
+
|
|
95
|
+
# celery beat schedule file
|
|
96
|
+
celerybeat-schedule
|
|
97
|
+
|
|
98
|
+
# SageMath parsed files
|
|
99
|
+
*.sage.py
|
|
100
|
+
|
|
101
|
+
# Environments
|
|
102
|
+
.env
|
|
103
|
+
.venv
|
|
104
|
+
env/
|
|
105
|
+
venv/
|
|
106
|
+
ENV/
|
|
107
|
+
env.bak/
|
|
108
|
+
venv.bak/
|
|
109
|
+
*.conf
|
|
110
|
+
|
|
111
|
+
# Spyder project settings
|
|
112
|
+
.spyderproject
|
|
113
|
+
.spyproject
|
|
114
|
+
|
|
115
|
+
# Rope project settings
|
|
116
|
+
.ropeproject
|
|
117
|
+
|
|
118
|
+
# mkdocs documentation
|
|
119
|
+
/site
|
|
120
|
+
|
|
121
|
+
# mypy
|
|
122
|
+
.mypy_cache/
|
|
123
|
+
|
|
124
|
+
# Documentation
|
|
125
|
+
docs/build
|
|
126
|
+
docs/source/*.png
|
|
127
|
+
|
|
128
|
+
# Vagrant
|
|
129
|
+
.vagrant/
|
|
130
|
+
|
|
131
|
+
# GC build
|
|
132
|
+
output/
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
default: false
|
|
2
|
+
|
|
3
|
+
# MD001/heading-increment : Heading levels should only increment by one level at a time : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md001.md
|
|
4
|
+
MD001: true
|
|
5
|
+
|
|
6
|
+
# MD003/heading-style : Heading style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md003.md
|
|
7
|
+
MD003:
|
|
8
|
+
style: "consistent"
|
|
9
|
+
|
|
10
|
+
# MD004/ul-style : Unordered list style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md004.md
|
|
11
|
+
MD004:
|
|
12
|
+
style: "consistent"
|
|
13
|
+
|
|
14
|
+
# MD005/list-indent : Inconsistent indentation for list items at the same level : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md005.md
|
|
15
|
+
MD005: true
|
|
16
|
+
|
|
17
|
+
# MD007/ul-indent : Unordered list indentation : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md007.md
|
|
18
|
+
MD007:
|
|
19
|
+
indent: 4
|
|
20
|
+
|
|
21
|
+
# MD009/no-trailing-spaces : Trailing spaces : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md009.md
|
|
22
|
+
MD009: true
|
|
23
|
+
|
|
24
|
+
# MD010/no-hard-tabs : Hard tabs : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md010.md
|
|
25
|
+
MD010: true
|
|
26
|
+
|
|
27
|
+
# MD011/no-reversed-links : Reversed link syntax : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md011.md
|
|
28
|
+
MD011: true
|
|
29
|
+
|
|
30
|
+
# MD012/no-multiple-blanks : Multiple consecutive blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md012.md
|
|
31
|
+
MD012: true
|
|
32
|
+
|
|
33
|
+
# MD013/line-length Line length https://github.com/DavidAnson/markdownlint/blob/v0.40.0/doc/md013.md
|
|
34
|
+
MD013: false
|
|
35
|
+
|
|
36
|
+
# MD014/commands-show-output : Dollar signs used before commands without showing output : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md014.md
|
|
37
|
+
MD014: true
|
|
38
|
+
|
|
39
|
+
# MD018/no-missing-space-atx : No space after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md018.md
|
|
40
|
+
MD018: true
|
|
41
|
+
|
|
42
|
+
# MD019/no-multiple-space-atx : Multiple spaces after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md019.md
|
|
43
|
+
MD019: true
|
|
44
|
+
|
|
45
|
+
# MD020/no-missing-space-closed-atx : No space inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md020.md
|
|
46
|
+
MD020: true
|
|
47
|
+
|
|
48
|
+
# MD021/no-multiple-space-closed-atx : Multiple spaces inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md021.md
|
|
49
|
+
MD021: true
|
|
50
|
+
|
|
51
|
+
# MD022/blanks-around-headings : Headings should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md022.md
|
|
52
|
+
MD022: true
|
|
53
|
+
|
|
54
|
+
# MD023/heading-start-left : Headings must start at the beginning of the line : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md023.md
|
|
55
|
+
MD023: true
|
|
56
|
+
|
|
57
|
+
# MD024/no-duplicate-heading : Multiple headings with the same content : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md024.md
|
|
58
|
+
MD024:
|
|
59
|
+
siblings_only: true
|
|
60
|
+
|
|
61
|
+
# MD025/single-title/single-h1 : Multiple top-level headings in the same document : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md025.md
|
|
62
|
+
MD025: true
|
|
63
|
+
|
|
64
|
+
# MD026/no-trailing-punctuation : Trailing punctuation in heading : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md026.md
|
|
65
|
+
MD026: true
|
|
66
|
+
|
|
67
|
+
# MD027/no-multiple-space-blockquote : Multiple spaces after blockquote symbol : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md027.md
|
|
68
|
+
MD027: true
|
|
69
|
+
|
|
70
|
+
# MD028/no-blanks-blockquote : Blank line inside blockquote : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md028.md
|
|
71
|
+
MD028: true
|
|
72
|
+
|
|
73
|
+
# MD029/ol-prefix : Ordered list item prefix : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md029.md
|
|
74
|
+
MD029:
|
|
75
|
+
style: "ordered"
|
|
76
|
+
|
|
77
|
+
# MD030/list-marker-space : Spaces after list markers : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md030.md
|
|
78
|
+
MD030:
|
|
79
|
+
ul_single: 1
|
|
80
|
+
ol_single: 1
|
|
81
|
+
ul_multi: 1
|
|
82
|
+
ol_multi: 1
|
|
83
|
+
|
|
84
|
+
# MD031/blanks-around-fences : Fenced code blocks should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md031.md
|
|
85
|
+
MD031: true
|
|
86
|
+
|
|
87
|
+
# MD032/blanks-around-lists : Lists should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md032.md
|
|
88
|
+
MD032: true
|
|
89
|
+
|
|
90
|
+
# MD034/no-bare-urls : Bare URL used : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md034.md
|
|
91
|
+
MD034: true
|
|
92
|
+
|
|
93
|
+
# MD035/hr-style : Horizontal rule style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md035.md
|
|
94
|
+
MD035: true
|
|
95
|
+
|
|
96
|
+
# MD036/no-emphasis-as-heading : Emphasis used instead of a heading : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md036.md
|
|
97
|
+
MD036: true
|
|
98
|
+
|
|
99
|
+
# MD037/no-space-in-emphasis : Spaces inside emphasis markers : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md037.md
|
|
100
|
+
MD037: true
|
|
101
|
+
|
|
102
|
+
# MD038/no-space-in-code : Spaces inside code span elements : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md038.md
|
|
103
|
+
MD038: true
|
|
104
|
+
|
|
105
|
+
# MD039/no-space-in-links : Spaces inside link text : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md039.md
|
|
106
|
+
MD039: true
|
|
107
|
+
|
|
108
|
+
# MD040/fenced-code-language : Fenced code blocks should have a language specified : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md040.md
|
|
109
|
+
MD040: true
|
|
110
|
+
|
|
111
|
+
# MD042/no-empty-links : No empty links : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md042.md
|
|
112
|
+
MD042: true
|
|
113
|
+
|
|
114
|
+
# MD045/no-alt-text : Images should have alternate text (alt text) : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md045.md
|
|
115
|
+
MD045: true
|
|
116
|
+
|
|
117
|
+
# MD046/code-block-style : Code block style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md046.md
|
|
118
|
+
MD046:
|
|
119
|
+
style: "fenced"
|
|
120
|
+
|
|
121
|
+
# MD047/single-trailing-newline : Files should end with a single newline character : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md047.md
|
|
122
|
+
MD047: true
|
|
123
|
+
|
|
124
|
+
# MD048/code-fence-style : Code fence style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md048.md
|
|
125
|
+
MD048:
|
|
126
|
+
style: "backtick"
|
|
127
|
+
|
|
128
|
+
# MD049/emphasis-style : Emphasis style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md049.md
|
|
129
|
+
MD049:
|
|
130
|
+
style: "asterisk"
|
|
131
|
+
|
|
132
|
+
# MD050/strong-style : Strong style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md050.md
|
|
133
|
+
MD050:
|
|
134
|
+
style: "consistent"
|
|
135
|
+
|
|
136
|
+
# MD051/link-fragments : Link fragments should be valid : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md051.md
|
|
137
|
+
MD051: true
|
|
138
|
+
|
|
139
|
+
# MD053/link-image-reference-definitions : Link and image reference definitions should be needed : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md053.md
|
|
140
|
+
MD053: true
|
|
141
|
+
|
|
142
|
+
# MD054/link-image-style : Link and image style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md054.md
|
|
143
|
+
MD054: true
|
|
144
|
+
|
|
145
|
+
# MD055/table-pipe-style : Table pipe style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md055.md
|
|
146
|
+
MD055:
|
|
147
|
+
style: "no_leading_or_trailing"
|
|
148
|
+
|
|
149
|
+
# MD056/table-column-count : Table column count : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md056.md
|
|
150
|
+
MD056: true
|