Пример #1
0
def test():

    kube_parser = get_kube_parser()
    kube_args = kube_parser.parse_args()

    runtime_env = kube_args.runtime_env

    project_root = get_project_root()
    get_conf_context_project(project_root=project_root,
                             runtime_env=runtime_env)
Пример #2
0
def t_runtime_env():

    project_root = get_project_root()
    env_gcp = get_conf_context_project(project_root=project_root,
                                       runtime_env='gcp')
    env_docker = get_conf_context_project(project_root=project_root,
                                          runtime_env='docker')

    if env_gcp.food == 'falafel' and env_docker.food == 'schnitzel':
        print('cool')
    else:
        print('aww')
Пример #3
0
def t_deploy_env():

    project_root = get_project_root()
    env_dev = get_conf_context_project(project_root=project_root,
                                       deploy_env='dev')

    env_int = get_conf_context_project(project_root=project_root,
                                       deploy_env='int')

    if env_dev.kube_context == 'docker-for-desktop' and env_int.kube_context == 'int-gke':
        print('\ndeploy_env cool')
    else:
        print('\ndeploy_env aww')
Пример #4
0
def t_override():

    project_root = get_project_root()
    env_dev = get_conf_context_project(project_root=project_root,
                                       deploy_env='dev')

    account = env_dev.providers.gcp.service_account

    if 'dev' in account:
        print('\noverride cool')
    else:
        print('\noverride aww')
Пример #5
0
    def __init__(self,
                 name,
                 locale,
                 mode=None,
                 service_mode=None,
                 conf_dir=None,
                 plan_dir=None,
                 plan_format=PlanType.YAML):

        self.name = name
        self.locale = locale
        self.mode = mode if mode else WieldMode()
        self.service_mode = service_mode if service_mode else WieldServiceMode(
        )
        self.conf_dir = conf_dir if conf_dir else f'{locale.module_root}conf'
        self.plan_dir = plan_dir if plan_dir else f'{locale.module_root}plan'

        self.wield_path = f'{self.conf_dir}/{self.mode.runtime_env}/{name}-wield.conf'

        self.pretty()

        module_paths = [self.wield_path]

        if self.service_mode.debug_mode:

            # adding to self to facilitate debugging
            self.debug_path = f'{self.conf_dir}/{name}-debug.conf'
            module_paths.append(self.debug_path)

        if self.service_mode.local_mount:

            # adding to self to facilitate debugging
            self.local_mount = f'{self.conf_dir}/{name}-mount.conf'
            module_paths.append(self.local_mount)

        self.local_path = f'{self.conf_dir}/{mode.runtime_env}/{self.name}-local.conf'
        module_paths.append(self.local_path)

        self.make_sure_module_local_conf_exists()

        if self.service_mode.project_override:

            make_sure_project_local_conf_exists(
                project_root=locale.project_root,
                runtime_env=mode.runtime_env,
                deploy_env=mode.deploy_env)
            print(f'\nOverriding module conf with project conf\n')

            self.conf = get_conf_context_project(
                project_root=self.locale.project_root,
                runtime_env=self.mode.runtime_env,
                deploy_env=self.mode.deploy_env,
                module_paths=module_paths)

        else:

            self.conf = get_conf_ordered_files(module_paths)

        wielder_sanity(self.conf, self.mode, self.service_mode)

        logging.debug('break')

        self.plan = WieldPlan(name=self.name,
                              conf=self.conf,
                              plan_dir=self.plan_dir,
                              plan_format=plan_format)

        self.plan.pretty()