Skip to content

Commit

Permalink
secrets provider: more javadoc
Browse files Browse the repository at this point in the history
  • Loading branch information
1azyman committed Feb 26, 2024
1 parent b79c6c9 commit e2f80fe
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,11 @@
import com.evolveum.midpoint.util.logging.TraceManager;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ContainerSecretsProviderType;

/**
* Secrets provider that reads secrets from files.
* Each secret is stored as separate file where secret name is file name and secret value is file content.
* Parent directory for secrets has to be defined in configuration.
*/
public abstract class ContainerSecretsProvider<T extends ContainerSecretsProviderType> extends SecretsProviderImpl<T> {

private static final Trace LOGGER = TraceManager.getTrace(ContainerSecretsProvider.class);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,14 @@

import com.evolveum.midpoint.xml.ns._public.common.common_3.DockerSecretsProviderType;

/**
* Custom implementation of {@link ContainerSecretsProvider} for Docker secrets.
* Secrets directory is defined by Docker and it is not configurable.
*
* It is always /run/secrets on Linux and C:\ProgramData\Docker\secrets on Windows.
*
* @see ContainerSecretsProvider
*/
public class DockerSecretsProvider extends ContainerSecretsProvider<DockerSecretsProviderType> {

private static final File PARENT_DIRECTORY_WINDOWS = new File("C:\\ProgramData\\Docker\\secrets");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,20 @@

package com.evolveum.midpoint.common.secrets;

import com.evolveum.midpoint.prism.crypto.SecretsProvider;

import org.apache.commons.lang3.StringUtils;
import org.jetbrains.annotations.NotNull;

import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
import com.evolveum.midpoint.xml.ns._public.common.common_3.EnvironmentVariablesSecretsProviderType;

/**
* Custom implementation of {@link SecretsProvider} that reads secrets from environment variables.
*
* Note: This implementation doesn't read secrets from system properties (e.g. -Dkey=value parameters).
*/
public class EnvironmentVariablesSecretsProvider extends SecretsProviderImpl<EnvironmentVariablesSecretsProviderType> {

private static final Trace LOGGER = TraceManager.getTrace(EnvironmentVariablesSecretsProvider.class);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,7 @@
import com.evolveum.midpoint.xml.ns._public.common.common_3.FileSecretsProviderType;

/**
* Secrets provider that reads secrets from files.
* Each secret is stored as separate file where secret name is file name and secret value is file content.
* @see ContainerSecretsProvider
*/
public class FileSecretsProvider extends ContainerSecretsProvider<FileSecretsProviderType> {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@
import com.evolveum.midpoint.prism.crypto.EncryptionException;
import com.evolveum.midpoint.xml.ns._public.common.common_3.PropertiesSecretsProviderType;

/*
* Secrets provider that reads secrets from properties file.
*/
public class PropertiesSecretsProvider extends SecretsProviderImpl<PropertiesSecretsProviderType> {

private Charset charset;
Expand Down

0 comments on commit e2f80fe

Please sign in to comment.