Spring, Config Server, mehrere Gitlab Repos für Konfiguration - best practices

LesterBurnham

Neues Mitglied
Hallo allerseits,

ich habe eine Fragestellung in der ich leider nicht weiterkomme. Gegeben ist ein Spring Projekt mit einigen Modulen, die als Microservices laufen. Eins davon ist ein Config Server, greift auf eine Gitlab Repo zu und holt die Einstellungen für die jeweiligen Modulen. Das funktioniert wunderbar.
Nun habe ich einen weiteren Gitlab Repo bekommen, woraus ich eine Datei auslesen sollte um die Werte dadrin als Klasse für die ganze Applikation bereit zu stellen.
Mein erster Ansatz war im Config Server eine weitere Repo zu konfigurieren:
Code:
server:
  port: 8888
spring:
  application:
    name: configuration
  cloud:
    config:
      server:
        git:
          uri: https://gtilaburl/config-repo.git
          username: mustermann
          password: 12345
          repos:
            myRepo:
              pattern: my-repo
              uri: https://gitlaburl/my-repo.git
              username: johndoe
              password: gummiente
Die yml Datei sieht ca so aus:
Code:
- zone-ru:
    urls:
      - https://pii-ru-01.....com/vault
      - https://pii-ru-02.....com/vault
    proxy-urls:
      - https://pii-ru-01.....com/pii-proxy
    countries:
      - ru
Damit habe ich gehofft in der Konfigurationsklasse sowas machen zu können:
Java:
@Configuration
@Getter
public class ZonesConfiguration {
@Value("${my-repo.zone-ru.proxy-urls}")
private String proxies;
}
Ich habe es mit verschiedenen Annotations (wie @RefreshScope), Variationen für die Value Annotation und Datentypen versucht, kommt aber nichts an.

Vielleicht ist das auch nicht der richtige Ansatz, nur wenn der Config Server schon da ist, könnte man ihn auch hierfür verwenden. Meine nächste Überlegung jetzt ist es einen Custom Property Source zu implementieren und dadrin über GitLabApi die Werte aus der Datei zu holen. Ich habe aber das Gefühl, dass ich irgendwo auf der Leitung stehe und es eine deutlich einfachere Lösung geben müsste. Also bevor ich damit anfange:
Hat jemand einen Tipp für mich, was wäre eine passendere Lösung? 🙂
 
Ok, das Problem hat sich erledigt. Ich habe es mit dem Lead besprochen und wir werden eine vereinfachte Konfiguration einsetzten und die neue Repo erstmal abschaffen. Trotzdem wäre es interessant, wenn jemand schon ein ähnliches Problem hatte, wie hat er es gelöst und was wäre die beste Herangehensweise.
 

Neue Themen


Zurück
Oben