Skip to content

Commit 2d63b9b

Browse files
authored
Fjerner busybox fra docker og skrevet om scriptet for å starte ba-sak mot preprod til å fungere uten printeenv (#5125)
### 💰 Hva skal gjøres, og hvorfor? Fjerner busybox fra docker og skrevet om scriptet for å starte ba-sak mot preprod til å fungere uten printenv. Dette betyr at man ikke lenger kan bruke kubectl exec for å hente ut secrets. Dette for å gjøre distroless-imaget tryggere. I stedet for å kjøre printenv, så bruker scriptet ```kubectl -n teamfamilie get secrets``` For å finnne navn på secret og så ``` kubectl -n teamfamilie get secret navn-på-secret -o json | jq '.data | map_values(@base64d)' ``` kubectl get secret azure-familie-ba-sak-* secreten for å hente det samme. Utvidet skriptet til å sjekke om naisdevice og gcloud er logget inn. Hvis det ikke er det så vil det komme en melding i terminalvinduet <img width="1195" alt="Screenshot 2025-02-28 at 09 39 59" src="https://github.com/user-attachments/assets/718f39ba-d110-4242-9999-5efbc5dbc800" /> ### ✅ Checklist _Har du husket alle punktene i listen?_ - [x] Jeg har testet mine endringer i henhold til akseptansekriteriene 🕵️ - [ ] Jeg har config- eller sql-endringer. I så fall, husk manuell deploy til miljø for å verifisere endringene. - [ ] Jeg har skrevet tester. Hvis du ikke har skrevet tester, beskriv hvorfor under 👇
1 parent d690606 commit 2d63b9b

File tree

3 files changed

+21
-9
lines changed

3 files changed

+21
-9
lines changed

Dockerfile

-5
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,8 @@
1-
FROM busybox:1.36.1-uclibc as busybox
2-
3-
# Final image
41
FROM gcr.io/distroless/java21:nonroot
5-
COPY --from=busybox /bin/printenv /bin/printenv
62
COPY --chown=nonroot:nonroot ./target/familie-ba-sak.jar /app/app.jar
73
WORKDIR /app
84

95
ENV APP_NAME=familie-ba-sak
106
ENV TZ="Europe/Oslo"
117
# TLS Config works around an issue in OpenJDK... See: https://github.com/kubernetes-client/java/issues/854
128
ENTRYPOINT [ "java", "-Djdk.tls.client.protocols=TLSv1.2", "-jar", "/app/app.jar" ]
13-

src/test/integrasjonstester/kotlin/DevLauncherPostgresPreprod.kt

+3
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ private fun settClientIdOgSecret() {
3434
val process = ProcessBuilder(cmd).start()
3535

3636
if (process.waitFor() == 1) {
37+
val inputStream = BufferedReader(InputStreamReader(process.inputStream))
38+
inputStream.lines().forEach { println(it) }
39+
inputStream.close()
3740
error("Klarte ikke hente variabler fra Nais. Er du logget på Naisdevice og gcloud?")
3841
}
3942

src/test/resources/hentMiljøvariabler.sh

+18-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,25 @@
1+
# Check the status of nais device
2+
NAIS_STATUS=$(nais device status)
3+
4+
if [[ "$NAIS_STATUS" != *"Connected"* ]]; then
5+
echo "Naisdevice er ikke tilkoblet. Start naisdevice og velg connect. Status må være grønn."
6+
exit 1
7+
fi
8+
9+
# Check the status of gcloud auth print-identity-token
10+
if ! gcloud auth print-identity-token > /dev/null 2>&1; then
11+
echo "Ikke logget inn på gcloud. Kjør nais login"
12+
exit 1
13+
fi
14+
115
kubectl config use-context dev-gcp
2-
PODNAVN=$(kubectl -n teamfamilie get pods --field-selector=status.phase==Running -o name | grep familie-ba-sak | grep -v "frontend" | sed "s/^.\{4\}//" | head -n 1);
16+
AZURE_SECRET=$(kubectl -n teamfamilie get secrets | grep azure-familie-ba-sak | grep -v "frontend" | sed 's/^\([a-zA-Z0-9-]*\).*/\1/');
317

4-
PODVARIABLER="$(kubectl -n teamfamilie exec -c familie-ba-sak -it "$PODNAVN" -- printenv)"
18+
PODVARIABLER="$(kubectl -n teamfamilie get secret "$AZURE_SECRET" -o json | jq '.data | map_values(@base64d)')"
519
UNLEASH_VARIABLER="$(kubectl -n teamfamilie get secret familie-ba-sak-unleash-api-token -o json | jq '.data | map_values(@base64d)')"
620

7-
AZURE_APP_CLIENT_ID="$(echo "$PODVARIABLER" | grep "AZURE_APP_CLIENT_ID" | tr -d '\r' )"
8-
AZURE_APP_CLIENT_SECRET="$(echo "$PODVARIABLER" | grep "AZURE_APP_CLIENT_SECRET" | tr -d '\r' )";
21+
AZURE_APP_CLIENT_ID="$(echo "$PODVARIABLER" | grep "AZURE_APP_CLIENT_ID" | sed 's/:/=/1' | tr -d '",'| tr -d ' "')"
22+
AZURE_APP_CLIENT_SECRET="$(echo "$PODVARIABLER" | grep "AZURE_APP_CLIENT_SECRET" | sed 's/:/=/1' | tr -d '",'| tr -d ' "')"
923

1024
UNLEASH_SERVER_API_URL="$(echo "$UNLEASH_VARIABLER" | grep "UNLEASH_SERVER_API_URL" | sed 's/:/=/1' | tr -d ' "')"
1125
UNLEASH_SERVER_API_TOKEN="$(echo "$UNLEASH_VARIABLER" | grep "UNLEASH_SERVER_API_TOKEN" | sed 's/:/=/1' | tr -d ' ,"')"

0 commit comments

Comments
 (0)