Watch
1
0
Fork
You've already forked jeap-spring-boot-config-aws-starter
0
Read-only mirror of https://github.com/jeap-admin-ch/jeap-spring-boot-config-aws-starter — Bundesamt für Informatik und Telekommunikation. Issues & pull requests at the source. Catalog: https://www.opensource.admin.ch/en/softwares/bfabrx https://www.opensource.admin.ch/en/softwares/bfabrx
  • Java 99.7%
  • Shell 0.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-13 07:56:47 +02:00
.mvn/wrapper JEAP-5571: moved code from jeap-spring-boot-starters 2025-05-21 13:38:32 +02:00
docs JEAP-6901: replace localstack 2026-07-23 12:07:04 +02:00
jeap-spring-boot-config-aws-starter Version 19.23.0: Update parent from 8.9.1 to 8.10.0 2026-08-13 07:54:18 +02:00
.gitignore JEAP-5571: moved code from jeap-spring-boot-starters 2025-05-21 13:38:32 +02:00
AGENTS.md JEAP-6901: replace localstack 2026-07-23 12:07:04 +02:00
CHANGELOG.md Version 19.23.0: Update parent from 8.9.1 to 8.10.0 2026-08-13 07:54:18 +02:00
CONTRIBUTING.md JEAP-5571: moved code from jeap-spring-boot-starters 2025-05-21 13:38:32 +02:00
LICENSE JEAP-5571: moved code from jeap-spring-boot-starters 2025-05-21 13:38:32 +02:00
mvnw JEAP-5571: moved code from jeap-spring-boot-starters 2025-05-21 13:38:32 +02:00
pom.xml Version 19.23.0: Update parent from 8.9.1 to 8.10.0 2026-08-13 07:54:18 +02:00
publiccode.yml Update version/date in publiccode.yml 2026-08-13 07:56:47 +02:00
README.md [skip ci] JEAP-7090 Docs improvements 2026-07-02 14:23:49 +02:00
SECURITY.md JEAP-5571: moved code from jeap-spring-boot-starters 2025-05-21 13:38:32 +02:00
setPomVersions.sh JEAP-5571: moved code from jeap-spring-boot-starters 2025-05-21 13:38:32 +02:00
THIRD-PARTY-LICENSES.md Updating THIRD-PARTY-LICENSES.md 2026-08-13 07:55:32 +02:00

jEAP Spring Boot Config AWS Starter

jEAP Spring Boot Config AWS Starter is a Spring Boot auto-configuration library that feeds a jEAP service's configuration from two AWS services: AWS AppConfig (externalized application configuration) and AWS Secrets Manager (sensitive credentials). It plugs into Spring Boot's spring.config.import mechanism, so AppConfig profiles and secrets become ordinary entries in the Spring Environment and bind to @ConfigurationProperties like any other property source. It provides:

  • Importing AWS AppConfig configuration profiles as Spring property sources via jeap-app-config-aws:
  • A sensible default profile layout (common, common-platform, common-certs, the service itself)
  • Background polling of AppConfig with dynamic context refresh when a configuration changes at runtime
  • Importing AWS Secrets Manager secrets as Spring property sources via jeap-aws-secretsmanager:
  • Optional key prefixing for secrets to avoid property-name clashes
  • AWS SDK clients backed by the JDK URL-connection HTTP client (no Apache/Netty client pulled in)
flowchart LR
    APPCONFIG["AWS AppConfig"]
    SECRETS["AWS Secrets Manager"]

    subgraph MS["Microservice"]
        direction LR

        subgraph STARTER["jeap-spring-boot-config-aws-starter"]
            direction TB
            ACLOADER["AppConfig ConfigData loader<br/>(jeap-app-config-aws:)"]
            SMLOADER["Secrets Manager ConfigData loader<br/>(jeap-aws-secretsmanager:)"]
            REFRESH["AppConfig poller &amp; context refresher"]
        end

        ENV["Spring Environment"]
    end

    APPCONFIG -->|"1: Configuration profiles at startup"| ACLOADER
    SECRETS -->|"2: Secrets at startup"| SMLOADER
    ACLOADER -->|"3: Property sources"| ENV
    SMLOADER -->|"3: Property sources"| ENV
    APPCONFIG -->|"4: Configuration changes (polling)"| REFRESH
    REFRESH -.->|"5: Refresh context"| ENV

%% Colors
    classDef service fill:#F9CC9D,stroke:#333,stroke-width:2px,color:#000;
    classDef component fill:#9FC5E8,stroke:#333,stroke-width:2px,color:#000;
    classDef aws fill:#F9CC9D,stroke:#333,stroke-width:2px,color:#000;

    class MS service;
    class STARTER,ACLOADER,SMLOADER,REFRESH,ENV component;
    class APPCONFIG,SECRETS aws;

Documentation

Start with Getting started, then follow the links below.

Topic File
Getting started (add the dependency, import config/secrets) docs/getting-started.md
Configuration reference (jeap.config.aws.appconfig.*, jeap.aws.secretsmanager.*) docs/configuration.md
AWS AppConfig integration docs/appconfig.md
Dynamic configuration refresh docs/dynamic-refresh.md
AWS Secrets Manager integration docs/secrets-management.md

Modules

The artifact consumers depend on is jeap-spring-boot-config-aws-starter. Group id for all modules is ch.admin.bit.jeap; the version is managed by the jEAP Spring Boot parent.

Module Purpose
jeap-spring-boot-config-aws-starter-parent Parent POM (packaging pom) declaring the starter module
jeap-spring-boot-config-aws-starter Auto-configuration and ConfigData integration for AWS AppConfig and Secrets Manager

Changes

This library is versioned using Semantic Versioning and all changes are documented in CHANGELOG.md following the format defined in Keep a Changelog.

Note

This repository is part the open source distribution of jEAP. See github.com/jeap-admin-ch/jeap for more information.

License

This repository is Open Source Software licensed under the Apache License 2.0.