def wipe(no_confirm, project, label): server = get_server_info() extra_msg = "" if label: extra_msg = " with label '{}'".format(label) if not no_confirm and prompter.yesno( "I'm about to delete everything in project '{}'{} on server {} -- continue?".format( project, extra_msg, server ), default="no", ): sys.exit(0) switch_to_project(project) if label: args = ["--selector", label] else: args = ["--all"] oc("delete", "all", *args, _exit_on_err=False) oc("delete", "configmap", *args, _exit_on_err=False) oc("delete", "secret", *args, _exit_on_err=False) oc("delete", "pvc", *args, _exit_on_err=False)
def _parse_args(template_dir, all_services, sets, pick, dst_project, env_files): """Parses args common to 'process' and 'deploy'.""" if not template_dir: path = appdirs_path / "templates" template_dir = path if path.exists() else pathlib.Path( pathlib.os.getcwd()) / "templates" template_dir = os.path.abspath(template_dir) if not all_services and not sets and not pick: log.error("Error: no service sets or components selected for deploy." " Use --sets, --all, or --pick") sys.exit(1) specific_component = None server = get_server_info() if pick: try: service_set, specific_component = pick.split("/") except ValueError: log.error( "Invalid format for '--pick', use: 'service_set/component'") sys.exit(1) sets_selected = [service_set] confirm_msg = ( "Deploying single component '{}' to project '{}' on server {} -- continue?" .format(pick, dst_project, server)) else: if all_services: sets_selected = all_sets(template_dir) else: sets_selected = sets.split(",") confirm_msg = ( "Deploying service sets '{}' to project '{}' on server {} -- continue?" .format(", ".join(sets_selected), dst_project, server)) if env_files: variables_data = get_variables_data(env_files) else: variables_data = {} return template_dir, specific_component, sets_selected, variables_data, confirm_msg
def _parse_args(template_dir, env_values, env_files, all_services, sets, pick, dst_project): """Parses args common to 'process' and 'deploy'.""" template_dir = get_dir(template_dir, "templates", "template") # Analyze the values provided by --env to determine which config handler we are using if env_values and env_files: log.error("You cannot use both --env and --env-file") sys.exit(1) elif env_values: all_env_values_are_files = all( [os.path.exists(value) for value in env_values]) some_env_values_are_files = any( [os.path.exists(value) for value in env_values]) if all_env_values_are_files: log.info( "A specific filename was provided for env, using legacy env file processing" ) env_config_handler = LegacyEnvConfigHandler(env_files=env_values) elif some_env_values_are_files: log.error( "Error: Values for '--env' must be either all filenames, or all env names" ) sys.exit(1) else: env_config_handler = EnvConfigHandler(env_names=env_values) elif env_files: log.info( "A specific filename was provided for env, using legacy env file processing" ) env_config_handler = LegacyEnvConfigHandler(env_files=env_files) else: env_config_handler = EnvConfigHandler(env_names=[]) log.info("Using environments: %s", ", ".join(env_values or env_files)) if not all_services and not sets and not pick: log.error("Error: no service sets or components selected for deploy." " Use --sets, --all, or --pick") sys.exit(1) server = get_server_info() sets_selected = [] specific_components = [] if all_services: sets_selected = all_sets(template_dir) else: if pick: try: [p.split("/")[1] for p in pick.split(",")] except (ValueError, IndexError): log.error( "Invalid format for '--pick', use: 'service_set/component'" ) sys.exit(1) specific_components = list(set(pick.split(","))) if sets: sets_selected = list(set(sets.split(","))) joined_sets = ", ".join(sets_selected) joined_comps = ", ".join(specific_components) sets_string = f" service sets: [{joined_sets}]" if joined_sets else "" comps_string = f" components: [{joined_comps}]" if joined_comps else "" confirm_msg = ( f"Deploying{sets_string}{comps_string} " f"to project '{dst_project}' on server {server} -- continue?") return template_dir, env_config_handler, specific_components, sets_selected, confirm_msg