Search in sources :

Example 1 with ZpmCredentials

use of io.aklivity.zilla.manager.internal.settings.ZpmCredentials in project zilla by aklivity.

the class ZpmInstall method readSettings.

private void readSettings(Path settingsDir) throws IOException, PlexusCipherException {
    Path settingsFile = settingsDir.resolve("settings.json");
    ZpmSettings settings = new ZpmSettings();
    settings.credentials = emptyList();
    Jsonb builder = JsonbBuilder.newBuilder().withConfig(new JsonbConfig().withFormatting(true)).build();
    if (Files.exists(settingsFile)) {
        try (InputStream in = newInputStream(settingsFile)) {
            settings = builder.fromJson(in, ZpmSettings.class);
        }
    }
    if (settings.credentials.size() > 0) {
        Path securityFile = settingsDir.resolve("security.json");
        ZpmSecurity security = new ZpmSecurity();
        if (Files.exists(securityFile)) {
            try (InputStream in = newInputStream(securityFile)) {
                security = builder.fromJson(in, ZpmSecurity.class);
            }
        }
        security.secret = decryptSecret(security.secret, SYSTEM_PROPERTY_SEC_LOCATION);
        for (ZpmCredentials credentials : settings.credentials) {
            String realm = defaultRealmIfNecessary(credentials);
            String host = credentials.host;
            String username = credentials.username;
            String password = ZpmSecrets.decryptSecret(credentials.password, security.secret);
            CredentialsStore.INSTANCE.addCredentials(realm, host, username, password);
        }
    }
}
Also used : Path(java.nio.file.Path) ZpmSettings(io.aklivity.zilla.manager.internal.settings.ZpmSettings) Jsonb(jakarta.json.bind.Jsonb) JsonbConfig(jakarta.json.bind.JsonbConfig) ZpmCredentials(io.aklivity.zilla.manager.internal.settings.ZpmCredentials) Files.newInputStream(java.nio.file.Files.newInputStream) InputStream(java.io.InputStream) ZpmSecurity(io.aklivity.zilla.manager.internal.settings.ZpmSecurity)

Aggregations

ZpmCredentials (io.aklivity.zilla.manager.internal.settings.ZpmCredentials)1 ZpmSecurity (io.aklivity.zilla.manager.internal.settings.ZpmSecurity)1 ZpmSettings (io.aklivity.zilla.manager.internal.settings.ZpmSettings)1 Jsonb (jakarta.json.bind.Jsonb)1 JsonbConfig (jakarta.json.bind.JsonbConfig)1 InputStream (java.io.InputStream)1 Files.newInputStream (java.nio.file.Files.newInputStream)1 Path (java.nio.file.Path)1