forked from cerc-io/stack-orchestrator
		
	
							parent
							
								
									fc3bcdef74
								
							
						
					
					
						commit
						2b15eff104
					
				| @ -23,6 +23,7 @@ import git | ||||
| from tqdm import tqdm | ||||
| import click | ||||
| import importlib.resources | ||||
| import yaml | ||||
| from .util import include_exclude_check | ||||
| 
 | ||||
| 
 | ||||
| @ -64,9 +65,11 @@ def command(ctx, include, exclude, git_ssh, check_only, pull, branches_file): | ||||
|     quiet = ctx.obj.quiet | ||||
|     verbose = ctx.obj.verbose | ||||
|     dry_run = ctx.obj.dry_run | ||||
|     stack = ctx.obj.stack | ||||
| 
 | ||||
|     branches = [] | ||||
| 
 | ||||
|     # TODO: branches file needs to be re-worked in the context of stacks | ||||
|     if branches_file: | ||||
|         if verbose: | ||||
|             print(f"loading branches from: {branches_file}") | ||||
| @ -96,8 +99,16 @@ def command(ctx, include, exclude, git_ssh, check_only, pull, branches_file): | ||||
|     with importlib.resources.open_text(data, "repository-list.txt") as repository_list_file: | ||||
|         all_repos = repository_list_file.read().splitlines() | ||||
| 
 | ||||
|     if stack: | ||||
|         resource_data_dir = importlib.resources.files(data) | ||||
|         with importlib.resources.as_file(resource_data_dir.joinpath(f"stacks/{stack}/stack.yml")) as stack_file_path: | ||||
|             stack_config = yaml.safe_load(open(stack_file_path, "r")) | ||||
|             print(f"stack is: {stack_config}") | ||||
| 
 | ||||
|     if verbose: | ||||
|         print(f"Repos: {all_repos}") | ||||
|         if stack: | ||||
|             print(f"Stack: {stack}") | ||||
| 
 | ||||
|     repos = [] | ||||
|     for repo in all_repos: | ||||
|  | ||||
							
								
								
									
										10
									
								
								cli.py
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								cli.py
									
									
									
									
									
								
							| @ -24,8 +24,11 @@ from app import version | ||||
| CONTEXT_SETTINGS = dict(help_option_names=['-h', '--help']) | ||||
| 
 | ||||
| 
 | ||||
| # TODO: this seems kind of weird and heavy on boilerplate -- check it is | ||||
| # the best Python can do for us. | ||||
| class Options(object): | ||||
|     def __init__(self, quiet, verbose, dry_run, local_stack, debug): | ||||
|     def __init__(self, stack, quiet, verbose, dry_run, local_stack, debug): | ||||
|         self.stack = stack | ||||
|         self.quiet = quiet | ||||
|         self.verbose = verbose | ||||
|         self.dry_run = dry_run | ||||
| @ -34,6 +37,7 @@ class Options(object): | ||||
| 
 | ||||
| 
 | ||||
| @click.group(context_settings=CONTEXT_SETTINGS) | ||||
| @click.option('--stack', help="specify a stack to build/deploy") | ||||
| @click.option('--quiet', is_flag=True, default=False) | ||||
| @click.option('--verbose', is_flag=True, default=False) | ||||
| @click.option('--dry-run', is_flag=True, default=False) | ||||
| @ -41,9 +45,9 @@ class Options(object): | ||||
| @click.option('--debug', is_flag=True, default=False) | ||||
| # See: https://click.palletsprojects.com/en/8.1.x/complex/#building-a-git-clone | ||||
| @click.pass_context | ||||
| def cli(ctx, quiet, verbose, dry_run, local_stack, debug): | ||||
| def cli(ctx, stack, quiet, verbose, dry_run, local_stack, debug): | ||||
|     """Laconic Stack Orchestrator""" | ||||
|     ctx.obj = Options(quiet, verbose, dry_run, local_stack, debug) | ||||
|     ctx.obj = Options(stack, quiet, verbose, dry_run, local_stack, debug) | ||||
| 
 | ||||
| 
 | ||||
| cli.add_command(setup_repositories.command, "setup-repositories") | ||||
|  | ||||
| @ -3,3 +3,4 @@ GitPython>=3.1.27 | ||||
| tqdm>=4.64.0 | ||||
| python-on-whales>=0.52.0 | ||||
| click>=8.1.3 | ||||
| pyyaml>=6.0 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user