diff --git a/build/Jenkinsfile b/build/Jenkinsfile index 0255b46..d3457e9 100644 --- a/build/Jenkinsfile +++ b/build/Jenkinsfile @@ -11,7 +11,7 @@ node("docker") { stage("Prepare environments") { if (env.BRANCH_NAME == 'master') env.stand = "prod" - else if (env.BRANCH_NAME == 'dev') + else if (env.BRANCH_NAME == 'dev') env.stand = "test" else error("Unsupported branch: ${env.BRANCH_NAME}") @@ -19,9 +19,11 @@ node("docker") { envConfig = "build/vars/build.yaml" support.getVarsV2(envConfig) - // временно для этого микросервиса - if (env.BRANCH_NAME == 'dev') - env.namespace = "${env.namespace}-test" + // пока не будет готов отдельный dev стенд + if (env.BRANCH_NAME == 'dev') { + env.namespace = "${env.namespace}-test" + env.registryContainerName = "${env.registryContainerName}-test" + } println "Success prepare" } @@ -41,7 +43,7 @@ node("docker") { stage("Update version in Kubernetes") { dir ("build") { - withCredentials([vaultString(credentialsId: "config.${env.registryContainerName}-${env.stand}", variable: "pem")]) { + withCredentials([vaultString(credentialsId: "${env.vaultPath}", variable: "pem")]) { sh """ set +x echo "${pem}" | base64 -d > auth.config @@ -49,10 +51,18 @@ node("docker") { """ } - convertJinja("microservice.yaml.tmpl", "microservice.yaml") + convertJinjaV2("./helm/values.yaml", debug=true) + + sh """ + helm upgrade --wait \ + --kubeconfig auth.config \ + --install \ + --namespace ${env.namespace} \ + -f ./helm/values.yaml \ + ${env.appName} ./helm/ + """ sh "kubectl --kubeconfig=auth.config get pods --namespace ${env.namespace}" - sh "kubectl --kubeconfig=auth.config apply -f microservice.yaml" } } diff --git a/build/helm/Chart.yaml b/build/helm/Chart.yaml new file mode 100644 index 0000000..4fb2fa4 --- /dev/null +++ b/build/helm/Chart.yaml @@ -0,0 +1,8 @@ +--- +apiVersion: v2 +type: application +name: svc-api +description: Microservice "svc-api" for deck + +version: 0.0.1 +appVersion: 0.0.1 \ No newline at end of file diff --git a/build/helm/templates/configmap.yaml b/build/helm/templates/configmap.yaml new file mode 100644 index 0000000..0517dac --- /dev/null +++ b/build/helm/templates/configmap.yaml @@ -0,0 +1,114 @@ +{{- if .Values.sidecars.logger.enabled }} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: "fluentbit-{{ .Chart.Name }}" +data: + fluent-bit.conf: | + [SERVICE] + Parsers_File /fluent-bit/etc/parsers.conf + + [INPUT] + Name tail + Tag lk + Path /usr/lib/serverHome/logs/access.txt* + Mem_Buf_Limit 100MB + Skip_Long_Lines On + Refresh_Interval 5 + + [FILTER] + Name record_modifier + Match * + Whitelist_key log + + [FILTER] + Name rewrite_tag + Match {{ .Chart.Name }} + Rule $log kube-probe {{ .Chart.Name }}-healtcheck false + + [FILTER] + Name rewrite_tag + Match {{ .Chart.Name }} + Rule $log {{ .Chart.Name }} {{ .Chart.Name }}.access false + + [FILTER] + Name parser + Match {{ .Chart.Name }}.access + Key_name log + Parser lucee_parser + + [OUTPUT] + Name loki + Match * + Host 10.96.52.75 + labels job={{ .Chart.Name }}-fluentbit-{{ .Values.stand }},$kubernetes['pod_name'],$kubernetes['namespace_name'],$kubernetes['host'],$kubernetes['container_name'] + port 3100 + auto_kubernetes_labels on + + [OUTPUT] + Name stdout + Match * + + parsers.conf: |- + [PARSER] + Name lucee_parser + Format regex + Regex ^(?[^ ]*) [^ ]* (?[^ ]*) \[(?