update
This commit is contained in:
parent
0c903e3732
commit
9034257c59
@ -1,20 +0,0 @@
|
||||
import argparse
|
||||
import os
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "../")))
|
||||
from services import config as Config
|
||||
|
||||
|
||||
def main():
|
||||
config = Config.Config(config_path="utility/config/settings.yaml")
|
||||
instances = config.get_instances()
|
||||
|
||||
for instance in instances:
|
||||
cmd = "python utility/main.py"
|
||||
subprocess.run(f"{cmd} module uninstall {instance['name']}", shell=True)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
35
scripts/update_modules.py
Normal file
35
scripts/update_modules.py
Normal file
@ -0,0 +1,35 @@
|
||||
import argparse
|
||||
import os
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
# Ensure the config module is available
|
||||
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "../")))
|
||||
from services import config as Config
|
||||
|
||||
# Parse arguments properly
|
||||
parser = argparse.ArgumentParser(description="Uninstall module for each instance")
|
||||
parser.add_argument(
|
||||
"action", help="Action to perform", choices=["uninstall", "install", "upgrade"]
|
||||
)
|
||||
parser.add_argument("config_path", help="Path to the config file")
|
||||
args = parser.parse_args()
|
||||
|
||||
# Load the configuration
|
||||
print(f"Config path: {args.config_path}")
|
||||
config = Config.Config(config_path=args.config_path)
|
||||
|
||||
instances = config.get_instances()
|
||||
|
||||
# Ensure instances is a valid list
|
||||
if not isinstance(instances, list):
|
||||
print("Error: instances is not a valid list.")
|
||||
sys.exit(1)
|
||||
|
||||
# Loop over each instance and run the uninstall command
|
||||
for instance in instances:
|
||||
if "name" in instance:
|
||||
cmd = ["python", "utility/main.py", "module", args.action, instance["name"]]
|
||||
subprocess.run(cmd)
|
||||
else:
|
||||
print(f"Warning: Instance missing 'name' field. Skipping.")
|
5
utility.mk
Normal file
5
utility.mk
Normal file
@ -0,0 +1,5 @@
|
||||
UTILITY_DIR =${PWD}/utility
|
||||
SCRIPTS_DIR = ${UTILITY_DIR}/scripts
|
||||
UTILITY_CONFIG = ${PWD}/utility/config/settings.yaml
|
||||
update_modules:
|
||||
${PYTHON} ${SCRIPTS_DIR}/update_modules.py upgrade ${UTILITY_CONFIG}
|
Loading…
Reference in New Issue
Block a user