Class SecretSource

All Implemented Interfaces:
Direct Known Subclasses:
DockerSecretSource, EnvSecretSource, PropertiesSecretSource

public abstract class SecretSource extends Object implements ExtensionPoint
Resolves variable references in configuration file of the form "${abc}"

Variable references are meant to hide secrets from configuration files.

  • Constructor Details

    • SecretSource

      public SecretSource()
  • Method Details

    • init

      public void init()
    • reveal

      public abstract Optional<String> reveal(String secret) throws IOException
      Reveal the plaintext value of a secret.
      secret - the variable reference to reveal
      the secret's value, or Optional.empty() if a recoverable error occurred. (An empty Optional will allow CasC to continue processing the resolver chain.)

      Recoverable errors include:

      • the secret was not found in the backing store
      IOException - if an unrecoverable error occurred. (The exception will stop CasC processing the resolver chain.)

      Unrecoverable errors include:

      • all attempts to contact the backing store have failed (including any applicable retry strategies)
      • authentication or authorization with the backing store failed
      • the secret's value was not convertible to a String
    • all

      public static List<SecretSource> all()