vm-tool 1.0.46__tar.gz → 1.0.48__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.
- {vm_tool-1.0.46 → vm_tool-1.0.48}/PKG-INFO +1 -1
- {vm_tool-1.0.46 → vm_tool-1.0.48}/pyproject.toml +2 -2
- {vm_tool-1.0.46 → vm_tool-1.0.48}/setup.py +1 -1
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/cli.py +33 -33
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool.egg-info/PKG-INFO +1 -1
- {vm_tool-1.0.46 → vm_tool-1.0.48}/.agent/workflows/push.md +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/.agent/workflows/test_and_lint.md +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/.devcontainer/devcontainer.json +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/.github/dependabot.yml +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/.github/workflows/ci.yml +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/.github/workflows/deploy.yml +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/.github/workflows/publish.yml +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/.gitignore +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/.pre-commit-config.yaml +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/CONTRIBUTING +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/CONTRIBUTING.md +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/LICENSE +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/MANIFEST.in +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/Makefile +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/README.md +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/codePushToGithub.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/docs/MODULE_GUIDE.md +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/docs/deployment-approaches.md +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/docs/ec2-github-actions-guide.md +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/docs/features.md +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/docs/generator.md +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/docs/index.md +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/docs/pipeline-generator.md +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/docs/reference/runner.md +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/docs/reference/ssh.md +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/docs/ssh-key-setup.md +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/docs/usage.md +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/examples/README.md +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/examples/__init__.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/examples/cloud/README.md +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/examples/cloud/__init__.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/examples/cloud/ssh_identity_file.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/examples/cloud/ssh_password.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/examples/cloud/template_cloud_setup.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/examples/deploy_full_setup.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/examples/docker-compose.example.yml +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/examples/ec2-setup.sh +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/examples/github-actions-ec2.yml +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/examples/github-actions-full-setup.yml +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/examples/local/.keep +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/examples/local/README.md +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/examples/local/__init__.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/examples/local/template_local_setup.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/examples/production-deploy.sh +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/examples/rollback.sh +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/examples/setup.sh +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/examples/ssh_key_management.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/examples/version_check.sh +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/jingo.code-workspace +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/mkdocs.yml +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/molecule/default/converge.yml +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/molecule/default/molecule.yml +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/molecule/default/verify.yml +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/requirements-docs.txt +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/requirements.txt +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/runtime.txt +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/setup.cfg +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/tests/conftest.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/tests/integration/test_deployment.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/tests/test_config.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/tests/test_generator.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/tests/test_health.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/tests/test_history.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/tests/test_logging.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/tests/test_runner.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/tests/test_ssh.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/tests/test_state.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/__init__.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/alerting.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/audit.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/backup.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/benchmarking.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/cloud.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/completion.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/compliance.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/config.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/drift.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/generator.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/health.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/history.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/kubernetes.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/metrics.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/notifications.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/plugins.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/policy.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/rbac.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/recovery.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/release.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/reporting.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/runner.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/secrets.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/ssh.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/state.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/strategies/__init__.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/strategies/ab_testing.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/strategies/blue_green.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/strategies/canary.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/validation.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/vm_setup/cleanup.yml +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/vm_setup/docker/create_docker_service.yml +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/vm_setup/docker/docker_setup.yml +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/vm_setup/docker/install_docker_and_compose.yml +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/vm_setup/docker/login_to_docker_hub.yml +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/vm_setup/github/git_configuration.yml +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/vm_setup/inventory.yml +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/vm_setup/k8s.yml +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/vm_setup/main.yml +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/vm_setup/monitoring.yml +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/vm_setup/project_service.yml +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/vm_setup/push_code.yml +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/vm_setup/push_code_tasks.yml +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/vm_setup/setup.yml +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/vm_setup/setup_project_env.yml +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool/webhooks.py +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool.egg-info/SOURCES.txt +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool.egg-info/dependency_links.txt +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool.egg-info/entry_points.txt +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool.egg-info/requires.txt +0 -0
- {vm_tool-1.0.46 → vm_tool-1.0.48}/vm_tool.egg-info/top_level.txt +0 -0
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "vm_tool"
|
|
7
|
-
version = "1.0.
|
|
7
|
+
version = "1.0.48"
|
|
8
8
|
description = "A Comprehensive Tool for Setting Up Virtual Machines."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
authors = [
|
|
@@ -76,7 +76,7 @@ include = '\.pyi?$'
|
|
|
76
76
|
profile = "black"
|
|
77
77
|
multi_line_output = 3
|
|
78
78
|
[tool.bumpversion]
|
|
79
|
-
current_version = "1.0.
|
|
79
|
+
current_version = "1.0.48"
|
|
80
80
|
commit = true
|
|
81
81
|
tag = true
|
|
82
82
|
|
|
@@ -12,7 +12,7 @@ else:
|
|
|
12
12
|
|
|
13
13
|
setup(
|
|
14
14
|
name="vm_tool",
|
|
15
|
-
version="1.0.
|
|
15
|
+
version="1.0.48", # This will be updated by bump2version
|
|
16
16
|
packages=find_packages(),
|
|
17
17
|
description="A Comprehensive Tool for Setting Up Virtual Machines.",
|
|
18
18
|
long_description=long_description,
|
|
@@ -655,7 +655,7 @@ def main():
|
|
|
655
655
|
project_dir = f"~/apps/{args.repo_name}"
|
|
656
656
|
else:
|
|
657
657
|
project_dir = "~/app"
|
|
658
|
-
|
|
658
|
+
|
|
659
659
|
# Dry-run mode: show what would be deployed
|
|
660
660
|
if args.dry_run:
|
|
661
661
|
print("\n🔍 DRY-RUN MODE - No changes will be made\n")
|
|
@@ -703,7 +703,9 @@ def main():
|
|
|
703
703
|
if host and (args.health_check or args.health_port or args.health_url):
|
|
704
704
|
from vm_tool.health import SmokeTestSuite
|
|
705
705
|
|
|
706
|
-
print(
|
|
706
|
+
print(
|
|
707
|
+
f"\n🏥 Running Health Checks (Timeout: {args.health_timeout}s)..."
|
|
708
|
+
)
|
|
707
709
|
suite = SmokeTestSuite(host, timeout=args.health_timeout)
|
|
708
710
|
|
|
709
711
|
if args.health_port:
|
|
@@ -769,6 +771,34 @@ def main():
|
|
|
769
771
|
else:
|
|
770
772
|
print_completion(args.shell)
|
|
771
773
|
|
|
774
|
+
elif args.command == "prepare-release":
|
|
775
|
+
from vm_tool.release import ReleaseManager
|
|
776
|
+
|
|
777
|
+
manager = ReleaseManager(verbose=args.verbose)
|
|
778
|
+
try:
|
|
779
|
+
manager.prepare_release(
|
|
780
|
+
base_file=args.base_file,
|
|
781
|
+
prod_file=args.prod_file,
|
|
782
|
+
output_file=args.output,
|
|
783
|
+
strip_volumes=args.strip_volumes,
|
|
784
|
+
fix_paths=args.fix_paths,
|
|
785
|
+
)
|
|
786
|
+
except Exception as e:
|
|
787
|
+
print(f"❌ Release preparation failed: {e}")
|
|
788
|
+
sys.exit(1)
|
|
789
|
+
|
|
790
|
+
elif args.command == "setup-ci":
|
|
791
|
+
from vm_tool.runner import SetupRunner
|
|
792
|
+
|
|
793
|
+
# No config needed for this utility
|
|
794
|
+
try:
|
|
795
|
+
# We can add a static method or simple function for this
|
|
796
|
+
SetupRunner.setup_ci_environment(provider=args.provider)
|
|
797
|
+
print("✅ CI Environment configured successfully")
|
|
798
|
+
except Exception as e:
|
|
799
|
+
print(f"❌ CI Setup failed: {e}")
|
|
800
|
+
sys.exit(1)
|
|
801
|
+
|
|
772
802
|
elif args.command == "generate-pipeline":
|
|
773
803
|
try:
|
|
774
804
|
from vm_tool.generator import PipelineGenerator
|
|
@@ -824,37 +854,7 @@ def main():
|
|
|
824
854
|
if deployment_type == "custom":
|
|
825
855
|
deploy_command = input("Enter custom deployment command: ").strip()
|
|
826
856
|
|
|
827
|
-
|
|
828
|
-
print(f"❌ Pipeline generation failed: {e}")
|
|
829
|
-
sys.exit(1)
|
|
830
|
-
|
|
831
|
-
elif args.command == "prepare-release":
|
|
832
|
-
from vm_tool.release import ReleaseManager
|
|
833
|
-
manager = ReleaseManager(verbose=args.verbose)
|
|
834
|
-
try:
|
|
835
|
-
manager.prepare_release(
|
|
836
|
-
base_file=args.base_file,
|
|
837
|
-
prod_file=args.prod_file,
|
|
838
|
-
output_file=args.output,
|
|
839
|
-
strip_volumes=args.strip_volumes,
|
|
840
|
-
fix_paths=args.fix_paths
|
|
841
|
-
)
|
|
842
|
-
except Exception as e:
|
|
843
|
-
print(f"❌ Release preparation failed: {e}")
|
|
844
|
-
sys.exit(1)
|
|
845
|
-
|
|
846
|
-
elif args.command == "setup-ci":
|
|
847
|
-
from vm_tool.runner import SetupRunner
|
|
848
|
-
# No config needed for this utility
|
|
849
|
-
try:
|
|
850
|
-
# We can add a static method or simple function for this
|
|
851
|
-
SetupRunner.setup_ci_environment(provider=args.provider)
|
|
852
|
-
print("✅ CI Environment configured successfully")
|
|
853
|
-
except Exception as e:
|
|
854
|
-
print(f"❌ CI Setup failed: {e}")
|
|
855
|
-
sys.exit(1)
|
|
856
|
-
|
|
857
|
-
elif deployment_type == "docker":
|
|
857
|
+
elif deployment_type == "docker":
|
|
858
858
|
docker_compose_file = (
|
|
859
859
|
input(
|
|
860
860
|
"Enter Docker Compose file name [docker-compose.yml]: "
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|