Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions .github/workflows/build_push_latest.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -85,3 +85,32 @@ jobs:
sbom: true
provenance: mode=max
tags: ${{ env.DOCKERHUB_ORG }}/${{ env.IMAGE_NAME }}:${{ env.VERSION_BUILD }}-${{ github.run_number }}

publish_helm:
name: "Publish helm chart"
needs: build
runs-on: [self-hosted, linux, X64]

steps:
- name: get helm
uses: azure/setup-helm@v4

- name: login to Helm registry
run: helm registry login registry-1.docker.io -u starwit -p ${{ secrets.DOCKERHUB_TOKEN }}

- name: run helm update
working-directory: apigateway/target/helm/dave-frontend
run: helm dep update

- name: run helm package
working-directory: apigateway/target/helm
run: helm package dave-frontend

- name: get version number
working-directory: apigateway/target/helm/dave-frontend
run: |
echo "HELM_VERSION=$(grep version: Chart.yaml | head -1 | awk '{print $2}')" >> $GITHUB_ENV

- name: run helm push
working-directory: apigateway/target/helm
run: helm push dave-frontend-chart-${{ env.HELM_VERSION }}.tgz oci://registry-1.docker.io/starwitorg
21 changes: 19 additions & 2 deletions .github/workflows/pr_build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

build-maven:
build:
needs: compliance
runs-on: [self-hosted, linux, X64]
steps:
Expand Down Expand Up @@ -61,4 +61,21 @@ jobs:
run: mvn clean -B install --file pom.xml
env:
CI: false
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

check_helm:
name: "Check if Helm chart is correct"
needs: build
runs-on: [self-hosted, linux, X64]

steps:
- name: get helm
uses: azure/setup-helm@v4

- name: run helm dependency update
working-directory: apigateway/target/helm/dave-frontend
run: helm dep update

- name: run helm template
working-directory: apigateway/target/helm
run: helm template dave-frontend
35 changes: 35 additions & 0 deletions apigateway/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -247,6 +247,41 @@
</execution>
</executions>
</plugin>

<!-- Generate Helm Chart -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>resources-helm-deployment</id>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.basedir}/target/helm</outputDirectory>
<delimiters>
<delimiter>${*}</delimiter>
</delimiters>
<useDefaultDelimiters>false</useDefaultDelimiters>
<resources>
<resource>
<directory>
${project.basedir}/../stack/helm
</directory>
<filtering>true</filtering>
<includes>
<include>**/*.txt</include>
<include>**/*.yaml</include>
<include>**/*.yml</include>
<include>**/*.tpl</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>

Expand Down
122 changes: 49 additions & 73 deletions apigateway/src/main/resources/logback-spring.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,76 +4,52 @@
have priority over the log level maintained in this file. -->
<configuration>

<springProperty scope="context" name="springAppName" source="spring.application.name"/>

<springProfile name="local | unittest | debugging">
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>
%date{yyyy.MM.dd HH:mm:ss.SSS} | ${springAppName} | TraceId: %X{traceId:-} | SpanId: %X{spanId:-}] |
%level | [%thread] | %logger{0} | [%file : %line] - %msg%n
</pattern>
</encoder>
</appender>

<!-- Logger -->
<logger name="de.muenchen.dave"
level="debug"
additivity="false">
<appender-ref ref="STDOUT" />
</logger>

<logger name="de.muenchen.allgemein"
level="debug"
additivity="false">
<appender-ref ref="STDOUT" />
</logger>

<logger name="org.springframework.web"
level="debug"
additivity="false">
<appender-ref ref="STDOUT" />
</logger>

<logger name="org.springframework.cloud.gateway"
level="debug"
additivity="false">
<appender-ref ref="STDOUT" />
</logger>

<logger name="org.springframework.security"
level="debug"
additivity="false">
<appender-ref ref="STDOUT" />
</logger>

<!-- Logger usage -->
<root level="info">
<appender-ref ref="STDOUT" />
</root>

</springProfile>

<springProfile name="!local &amp; !unittest &amp; !debugging">
<appender name="JSON_STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="net.logstash.logback.encoder.LogstashEncoder">
<throwableConverter
class="net.logstash.logback.stacktrace.ShortenedThrowableConverter">
<!-- default max size of one log line in docker is 16kb - UTF8 ~ 1 Character = 1 Byte -->
<!-- therefore limit stack_traces to a maximum of 8192 characters (to leave room for the rest of the message) -->
<maxLength>8192</maxLength>
<exclude>sun\.reflect\..*\.invoke.*</exclude>
<exclude>net\.sf\.cglib\.proxy\.MethodProxy\.invoke</exclude>
<rootCauseFirst>true</rootCauseFirst>
</throwableConverter>
</encoder>
</appender>

<!-- Logger usage -->
<root level="info">
<appender-ref ref="JSON_STDOUT" />
</root>

</springProfile>

</configuration>
<springProperty scope="context" name="springAppName" source="spring.application.name" />

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>
%date{yyyy.MM.dd HH:mm:ss.SSS} | ${springAppName} | TraceId: %X{traceId:-} | SpanId:
%X{spanId:-}] |
%level | [%thread] | %logger{0} | [%file : %line] - %msg%n
</pattern>
</encoder>
</appender>

<!-- Logger -->
<logger name="de.muenchen.dave"
level="debug"
additivity="false">
<appender-ref ref="STDOUT" />
</logger>

<logger name="de.muenchen.allgemein"
level="debug"
additivity="false">
<appender-ref ref="STDOUT" />
</logger>

<logger name="org.springframework.web"
level="debug"
additivity="false">
<appender-ref ref="STDOUT" />
</logger>

<logger name="org.springframework.cloud.gateway"
level="debug"
additivity="false">
<appender-ref ref="STDOUT" />
</logger>

<logger name="org.springframework.security"
level="debug"
additivity="false">
<appender-ref ref="STDOUT" />
</logger>

<!-- Logger usage -->
<root level="info">
<appender-ref ref="STDOUT" />
</root>

</configuration>
16 changes: 16 additions & 0 deletions stack/helm/dave-frontend/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
apiVersion: v2
name: dave-frontend-chart
description: DAVe traffic counting plattform, frontend
type: application
version: ${project.version}
appVersion: "${project.version}"
maintainers:
- name: klml
email: klml@muenchen.de
- name: Starwit Technologies GmbH
email: foss@starwit.de
home: https://github.com/it-at-m/helm-charts/tree/main/charts/dave/charts/admin-portal
#icon: https://raw.githubusercontent.com/it-at-m/helm-charts/main/images/logo.png
sources:
- "https://github.com/it-at-m/helm-charts"
- "https://github.com/it-at-m/dave-admin-portal"
62 changes: 62 additions & 0 deletions stack/helm/dave-frontend/templates/_helpers.tpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
{{/*
Expand the name of the chart.
*/}}
{{- define "daveFrontend.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
{{- end }}

{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "daveFrontend.fullname" -}}
{{- if .Values.fullnameOverride }}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- $name := default .Chart.Name .Values.nameOverride }}
{{- if contains $name .Release.Name }}
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
{{- end }}
{{- end }}
{{- end }}

{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "daveFrontend.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
{{- end }}

{{/*
Common labels
*/}}
{{- define "daveFrontend.labels" -}}
helm.sh/chart: {{ include "daveFrontend.chart" . }}
{{ include "daveFrontend.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end }}

{{/*
Selector labels
*/}}
{{- define "daveFrontend.selectorLabels" -}}
app.kubernetes.io/name: {{ include "daveFrontend.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}

{{/*
Create the name of the service account to use
*/}}
{{- define "daveFrontend.serviceAccountName" -}}
{{- if .Values.serviceAccount.create }}
{{- default (include "daveFrontend.fullname" .) .Values.serviceAccount.name }}
{{- else }}
{{- default "default" .Values.serviceAccount.name }}
{{- end }}
{{- end }}
10 changes: 10 additions & 0 deletions stack/helm/dave-frontend/templates/configmap.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "daveFrontend.fullname" . }}
labels:
{{- include "daveFrontend.labels" . | nindent 4 }}
data:
{{- with .Values.extraEnvVars }}
{{- toYaml . | nindent 12 }}
{{- end}}
Loading
Loading