Example #1
0
def kopf_thread(
    ready_flag: threading.Event,
    stop_flag: threading.Event,
):
    loop = asyncio.new_event_loop()
    asyncio.set_event_loop(loop)

    kopf.configure(verbose=True)  # log formatting

    loop.run_until_complete(
        kopf.operator(
            ready_flag=ready_flag,
            stop_flag=stop_flag,
        ))
Example #2
0
def TriadControllerLoop(
        ready_flag: threading.Event,
        stop_flag: threading.Event,
):
    loop = asyncio.new_event_loop()
    asyncio.set_event_loop(loop)
    with contextlib.closing(loop):

        kopf.configure(verbose=False)  # log formatting

        loop.set_exception_handler(HandleExceptions)
        loop.run_until_complete(kopf.operator(
            ready_flag=ready_flag,
            stop_flag=stop_flag,
        ))
Example #3
0
def kopf_thread(
    ready_flag: threading.Event,
    stop_flag: threading.Event,
):
    loop = asyncio.new_event_loop()
    asyncio.set_event_loop(loop)
    with contextlib.closing(loop):

        kopf.configure(verbose=True)  # log formatting

        loop.run_until_complete(
            kopf.operator(
                ready_flag=ready_flag,
                stop_flag=stop_flag,
                memo=kopf.Memo(
                    create_tpl="Hello, {name}!",
                    delete_tpl="Good bye, {name}!",
                ),
            ))
Example #4
0
def default_main(program_argparsers):
    argparser = argparse.ArgumentParser(parents=program_argparsers,
                                        add_help=False)
    argparser.add_argument("--verbose",
                           "-v",
                           default=False,
                           action="store_true")
    argparser.add_argument("namespace", help="Namespace to watch for changes")

    args = argparser.parse_args()

    kopf.configure(verbose=args.verbose)

    print(f"globalconf: {globalconf.current_values()}")

    kopf.login_via_pykube(logger=logger)
    state.api = pykube.HTTPClient(_get_pykube_config())

    run_kopf(args.namespace)
import kopf
import logging
import os
from env_vars import get_required_env_var, get_env_var_bool, get_env_var_int

# Here we use Kopf's logging macro to setup the logging format and level for all modules
DEBUG = get_env_var_bool("DEBUG")
kopf.configure(debug=DEBUG)

logger = logging.getLogger(__name__)

if DEBUG:
    logger.info("DEBUG mode is activated!")

LABEL = get_required_env_var('LABEL')
LABEL_VALUE = os.getenv('LABEL_VALUE')
if LABEL_VALUE:
    logger.info("Looking for resources with LABEL '%s' and LABEL_VALUE '%s'",
                LABEL, LABEL_VALUE)
else:
    logger.info("Looking for resources with LABEL '%s'", LABEL)

FOLDER = get_required_env_var('FOLDER')
logger.info("The default FOLDER to write files to is %s", FOLDER)

FOLDER_ANNOTATION = os.getenv('FOLDER_ANNOTATION',
                              'k8s-sidecar-target-directory')
logger.info("FOLDER_ANNOTATION for the destination folder is '%s'",
            FOLDER_ANNOTATION)

NAMESPACE = os.getenv('NAMESPACE', 'ALL')