node {
    // Git checkout before load source the file
    checkout scm

    def yaml2Map = load "./sharedLibs/yaml2Map.groovy"
    def k3sUtils = load "./sharedLibs/k3sUtil.groovy"
    def GLOBAL_CONFIG = yaml2Map.read('global.yaml').project
    dir("AuctionApp/DEV/Traefik") {

        def PROJECT_CONFIG = yaml2Map.read('cfg.yaml').project
        def CONFIG = yaml2Map.merge(PROJECT_CONFIG, GLOBAL_CONFIG)
        
        final foundFiles = findFiles(glob: 'k8s/*.yaml')
        foundFiles.each{ 
            stage("apply config ${it}") {
                println "applying ${it}..."
                k3sUtils.applyService(CONFIG.k3s, "${it}")
            }
        }
    }
}