import base64
import copy

from kapitan.inputs.kadet import BaseObj, inventory
from kapitan.utils import render_jinja2_file
from kapitan.cached import args

from . import k8s

search_paths = args.get("search_paths")

inv = inventory()


def j2(filename, ctx):
    return render_jinja2_file(filename, ctx, search_paths=search_paths)


def merge(source, destination):
    for key, value in source.items():
        if isinstance(value, dict):
            node = destination.setdefault(key, value)
            if node is None:
                destination[key] = value
            else:
                merge(value, node)
        else:
            destination[key] = destination.setdefault(key, value)

    return destination
Example #2
0
import base64
import hashlib
import os

from kapitan.cached import args
from kapitan.inputs.kadet import BaseObj, inventory
from kapitan.utils import render_jinja2_file

search_paths = args.get('search_paths')

from . import k8s


def j2(filename, ctx):
    return render_jinja2_file(filename, ctx, search_paths=search_paths)


inv = inventory()


def merge(source, destination):
    for key, value in source.items():
        if isinstance(value, dict):
            node = destination.setdefault(key, value)
            if node is None:
                destination[key] = value
            else:
                merge(value, node)
        else:
            destination[key] = destination.setdefault(key, value)