-
Notifications
You must be signed in to change notification settings - Fork 564
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
3.x/Adds OciSecretsMpMetaConfigProvider.java #7359
Conversation
…al API-using MicroProfile Config ConfigSource implementation, by way of a Helidon MpMetaConfigProvider Signed-off-by: Laird Nelson <[email protected]>
…eTest Signed-off-by: Laird Nelson <[email protected]>
Signed-off-by: Laird Nelson <[email protected]>
...ETA-INF/native-image/io.helidon.config/helidon-config-oci-secrets-mp/native-image.properties
Outdated
Show resolved
Hide resolved
…/resources/mp-meta-config.yaml Signed-off-by: Laird Nelson <[email protected]>
Signed-off-by: Laird Nelson <[email protected]>
Signed-off-by: Laird Nelson <[email protected]>
Signed-off-by: Laird Nelson <[email protected]>
Signed-off-by: Laird Nelson <[email protected]>
…xes pipeline validation failure Signed-off-by: Laird Nelson <[email protected]>
…tation Signed-off-by: Laird Nelson <[email protected]>
Signed-off-by: Laird Nelson <[email protected]>
Signed-off-by: Laird Nelson <[email protected]>
…ing from a propertyNamesSupplier Signed-off-by: Laird Nelson <[email protected]>
|
||
/** | ||
* The sole {@linkplain #supportedTypes() supported type} of this {@link OciSecretsMpMetaConfigProvider} ({@value | ||
* #OCI_SECRETS}). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Whoops
<dependency> | ||
<groupId>org.apache.httpcomponents</groupId> | ||
<artifactId>httpclient</artifactId> | ||
<version>4.5.14</version> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
versions should be defined above, or better yet under dependencies/pom.xml. Deferring to @barchetta
<!-- Compile-scoped dependencies. --> | ||
|
||
<dependency> | ||
<groupId>io.helidon.common</groupId> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i don't see runtime - so i guess that is coming later...
* Infrastructure Vault</a>. | ||
*/ | ||
@SuppressWarnings("try") | ||
class AbstractSecretBundleConfigSource implements AutoCloseable, ConfigSource { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is no doubt in my mind that we will need to implement Polling and/or Event in order to support reloading of certificates with associated new secrets that go along with them. I'll file a tracking issue for that follow-up work. See #7323
@SuppressWarnings("checkstyle:linelength") | ||
static Optional<Supplier<SimpleAuthenticationDetailsProvider>> simple(Function<? super String, ? extends Optional<String>> c, | ||
Supplier<? extends SimpleAuthenticationDetailsProviderBuilder> bs, | ||
Function<? super SimpleAuthenticationDetailsProviderBuilder, ? extends Supplier<SimpleAuthenticationDetailsProvider>> f) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will use OciExtension
from the runtime module?
I guess its too early to review this PR. Stopping here and will review when it comes out of draft.
Pausing in favor of #7391, per instructions |
Closing in favor of #7555. |
This PR addresses #4238 by introducing
OciSecretsMpMetaConfigProvider.java
. Reviewers may find the going easiest by looking at that file first and following it "outwards".In its current state this PR uses a provisional mechanism to acquire a
Supplier<? extends
BasicAuthenticationDetailsProvider
>
. I'll replace this mechanism with whatever the official recipe ends up being. For now, treat this mechanism as a black box.In its current state, the
OciSecretsMpMetaConfigProvider
has, deliberately, very few features. Properties that itsConfigSource
is supposed to respond to are indicated by a wholly-matching regular expression. No caching is performed. Nothing else fancy happens. Maybe it will later.The approach of coupling this with Helidon's MicroProfile Config-flavored meta-configuration facility follows directions from others. Module, package, and artifact names follow directions from others. This Maven module's location within the Helidon tree also follows directions from others. I hope I got the directions right.
Subsequent revisions of this PR will include full documentation as it progresses.