pipeline {
    agent any

    stages {
        stage('Log into harbor') {
            steps {
                withCredentials([usernamePassword(credentialsId: 'harbor', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) {
                    sh 'helm registry login harbor.dinauer.dev -u ${USERNAME} -p ${PASSWORD}'
                }
            }
        }
        stage('Package helm chart') {
            steps {
                sh 'helm package ./chart'
            }
        }
        stage('Push helm chart') {
            steps {
                sh 'helm push kubooboo-chart-*.tgz oci://harbor.dinauer.dev/kubooboo'
            }
        }
        stage('Clean workspace') {
            steps {
                cleanWs()
            }
        }
    }
}