Skip to content

Commit

Permalink
Replaced VaultUtils with new VaultTokenApplicationContextInitializer.
Browse files Browse the repository at this point in the history
  • Loading branch information
rfc3092 committed Feb 10, 2025
1 parent c58d21a commit 201b30b
Show file tree
Hide file tree
Showing 6 changed files with 40 additions and 29 deletions.
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
package no.nav.brregstub;

import no.nav.dolly.libs.nais.NaisEnvironmentApplicationContextInitializer;
import no.nav.testnav.libs.vault.VaultUtils;
import no.nav.dolly.libs.vault.VaultTokenApplicationContextInitializer;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;


@SpringBootApplication
public class BrregApplicationLauncher {

public static void main(String[] args) {
VaultUtils.initCloudVaultToken("prod");
new SpringApplicationBuilder(BrregApplicationLauncher.class)
.initializers(new NaisEnvironmentApplicationContextInitializer())
.initializers(
new VaultTokenApplicationContextInitializer(),
new NaisEnvironmentApplicationContextInitializer())
.run(args);
}

}
7 changes: 3 additions & 4 deletions apps/brreg-stub/src/main/resources/application.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,19 @@ springdoc:

management:
endpoints:
enabled-by-default: true
access:
default: read_only
web:
base-path: /internal
exposure:
include: prometheus,health
path-mapping:
prometheus: metrics
endpoint:
prometheus:
enabled: true
prometheus:
metrics:
export:
enabled: true

server:
servlet:
encoding:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
package no.nav.registre.sdforvalter;

import no.nav.dolly.libs.nais.NaisEnvironmentApplicationContextInitializer;
import no.nav.testnav.libs.vault.VaultUtils;
import no.nav.dolly.libs.vault.VaultTokenApplicationContextInitializer;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;

@SpringBootApplication
public class StatiskDataForvalterApplicationStarter {
public static void main(String[] args) {
VaultUtils.initCloudVaultToken("prod");
new SpringApplicationBuilder(StatiskDataForvalterApplicationStarter.class)
.initializers(new NaisEnvironmentApplicationContextInitializer())
.initializers(
new VaultTokenApplicationContextInitializer(),
new NaisEnvironmentApplicationContextInitializer()
)
.run(args);
}
}
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
package no.nav.udistub;

import no.nav.dolly.libs.nais.NaisEnvironmentApplicationContextInitializer;
import no.nav.testnav.libs.vault.VaultUtils;
import no.nav.dolly.libs.vault.VaultTokenApplicationContextInitializer;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;

@SpringBootApplication
public class UdiStubApplicationStarter {
public static void main(String[] args) {
VaultUtils.initCloudVaultToken("prod");
new SpringApplicationBuilder(UdiStubApplicationStarter.class)
.initializers(new NaisEnvironmentApplicationContextInitializer())
.initializers(
new VaultTokenApplicationContextInitializer(),
new NaisEnvironmentApplicationContextInitializer()
)
.run(args);
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package no.nav.testnav.libs.vault;
package no.nav.dolly.libs.vault;

public class VaultException extends RuntimeException {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,34 @@
package no.nav.testnav.libs.vault;
package no.nav.dolly.libs.vault;

import lombok.NoArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.ApplicationContextInitializer;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.lang.NonNull;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Optional;
import java.util.stream.Stream;

import static lombok.AccessLevel.PRIVATE;
/**
* Will set a system property {@code VAULT_TOKEN} if the Spring profile is set to {@link #PROFILE}.
* Will only work for applications in {@code dev-fss}.
*/
public class VaultTokenApplicationContextInitializer implements ApplicationContextInitializer<ConfigurableApplicationContext> {

@NoArgsConstructor(access = PRIVATE)
@Slf4j
public final class VaultUtils {
private static final String PROFILE = "prod";

@Override
public void initialize(@NonNull ConfigurableApplicationContext context) {

Stream
.of(context.getEnvironment().getActiveProfiles())
.filter(profile -> profile.equals(PROFILE))
.findAny()
.ifPresent(profile -> System.setProperty(VAULT_TOKEN_SYSTEM_PROPERTY, getVaultToken()));

}

private static final String NAIS_CLUSTER_SYSTEM_PROPERTY = "NAIS_CLUSTER_NAME";
private static final String VAULT_TOKEN_SYSTEM_PROPERTY = "spring.cloud.vault.token";
Expand Down Expand Up @@ -49,10 +64,4 @@ private static String getVaultToken() {

}

public static void initCloudVaultToken(String ifProfileIs) {
if (ifProfileIs.equals(System.getProperty("spring.profiles.active"))) {
System.setProperty(VAULT_TOKEN_SYSTEM_PROPERTY, getVaultToken());
}
}

}

0 comments on commit 201b30b

Please sign in to comment.