forked from cerc-io/stack-orchestrator
		
	Allow selective container build
This commit is contained in:
		
							parent
							
								
									2f94da47d8
								
							
						
					
					
						commit
						1cdb6d661f
					
				| @ -26,13 +26,16 @@ import argparse | ||||
| from decouple import config | ||||
| import subprocess | ||||
| import click | ||||
| from .util import include_exclude_check | ||||
| 
 | ||||
| # TODO: find a place for this | ||||
| #    epilog="Config provided either in .env or settings.ini or env vars: CERC_REPO_BASE_DIR (defaults to ~/cerc)" | ||||
| 
 | ||||
| @click.command() | ||||
| @click.option('--include', help="only build these containers") | ||||
| @click.option('--exclude', help="don\'t build these containers") | ||||
| @click.pass_context | ||||
| def command(ctx): | ||||
| def command(ctx, include, exclude): | ||||
|     '''build the set of containers required for a complete stack''' | ||||
| 
 | ||||
|     quiet = ctx.obj.quiet | ||||
| @ -71,4 +74,8 @@ def command(ctx): | ||||
|             print("Skipped") | ||||
| 
 | ||||
|     for container in containers: | ||||
|         process_container(container) | ||||
|         if include_exclude_check(container, include, exclude): | ||||
|             process_container(container) | ||||
|         else: | ||||
|             if verbose: | ||||
|                 print(f"Excluding: {container}") | ||||
|  | ||||
							
								
								
									
										24
									
								
								app/util.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								app/util.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,24 @@ | ||||
| # Copyright © 2022 Cerc | ||||
| 
 | ||||
| # This program is free software: you can redistribute it and/or modify | ||||
| # it under the terms of the GNU Affero General Public License as published by | ||||
| # the Free Software Foundation, either version 3 of the License, or | ||||
| # (at your option) any later version. | ||||
| 
 | ||||
| # This program is distributed in the hope that it will be useful, | ||||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
| # GNU Affero General Public License for more details. | ||||
| 
 | ||||
| # You should have received a copy of the GNU Affero General Public License | ||||
| # along with this program.  If not, see <http:#www.gnu.org/licenses/>. | ||||
| 
 | ||||
| def include_exclude_check(s, include, exclude): | ||||
|     if include == None and exclude == None: | ||||
|         return True | ||||
|     if include != None: | ||||
|         include_list = include.split(",") | ||||
|         return s in include_list | ||||
|     if exclude != None: | ||||
|         exclude_list = exclude.split(",") | ||||
|         return s not in exclude_list | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user