kubricate
Version:
A TypeScript framework for building reusable, type-safe Kubernetes infrastructure — without the YAML mess.
52 lines (51 loc) • 1.57 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.SecretsInjectionContext = void 0;
var _SecretInjectionBuilder = /*#__PURE__*/require("./SecretInjectionBuilder.js");
class SecretsInjectionContext {
stack;
manager;
secretManagerId;
defaultResourceId;
builders = [];
constructor(stack, manager, secretManagerId) {
this.stack = stack;
this.manager = manager;
this.secretManagerId = secretManagerId;
}
/**
* Set the default resourceId to use when no explicit resource is defined in a secret injection.
*/
setDefaultResourceId(id) {
this.defaultResourceId = id;
}
/**
* Start defining how a secret will be injected into a resource.
* This only resolves the provider, not the actual secret value.
*
* @param secretName - The name of the secret to inject.
* @returns A SecretInjectionBuilder for chaining inject behavior.
*/
secrets(secretName) {
const {
providerInstance,
providerId
} = this.manager.resolveProviderFor(String(secretName));
const builder = new _SecretInjectionBuilder.SecretInjectionBuilder(this.stack, String(secretName), providerInstance, {
defaultResourceId: this.defaultResourceId,
secretManagerId: this.secretManagerId,
providerId
});
this.builders.push(builder);
return builder;
}
resolveAll() {
for (const builder of this.builders) {
builder.resolveInjection();
}
}
}
exports.SecretsInjectionContext = SecretsInjectionContext;
//# sourceMappingURL=SecretsInjectionContext.js.map