@pulumi/kubernetes-cert-manager
Version:
This repo contains the Pulumi Cert Manager component for Kubernetes. This add-on automates the management and issuance of TLS certificates from various issuing sources. It ensures certificates are valid and up to date periodically, and attempts to renew c
109 lines (108 loc) • 5.31 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
import * as outputs from "./types/output";
import * as pulumiKubernetes from "@pulumi/kubernetes";
/**
* Automates the management and issuance of TLS certificates from various issuing sources within Kubernetes
*/
export declare class CertManager extends pulumi.ComponentResource {
/**
* Returns true if the given object is an instance of CertManager. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is CertManager;
/**
* Detailed information about the status of the underlying Helm deployment.
*/
readonly status: pulumi.Output<outputs.ReleaseStatus>;
/**
* Create a CertManager resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: CertManagerArgs, opts?: pulumi.ComponentResourceOptions);
}
/**
* The set of arguments for constructing a CertManager resource.
*/
export interface CertManagerArgs {
affinity?: pulumi.Input<pulumiKubernetes.types.input.core.v1.Affinity>;
cainjector?: pulumi.Input<inputs.CertManagerCaInjectorArgs>;
/**
* Override the namespace used to store DNS provider credentials etc. for ClusterIssuer resources. By default, the same namespace as cert-manager is deployed within is used. This namespace will not be automatically created by the Helm chart.
*/
clusterResourceNamespace?: pulumi.Input<string>;
/**
* Container Security Context to be set on the controller component container. ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
*/
containerSecurityContext?: pulumi.Input<pulumiKubernetes.types.input.core.v1.SecurityContext>;
/**
* Optional additional annotations to add to the controller Deployment
*/
deploymentAnnotations?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* Optional additional arguments.
*/
extraArgs?: pulumi.Input<pulumi.Input<string>[]>;
extraEnv?: pulumi.Input<pulumi.Input<pulumiKubernetes.types.input.core.v1.EnvVar>[]>;
extraVolumeMounts?: pulumi.Input<pulumi.Input<pulumiKubernetes.types.input.core.v1.VolumeMount>[]>;
extraVolumes?: pulumi.Input<pulumi.Input<pulumiKubernetes.types.input.core.v1.Volume>[]>;
/**
* Comma separated list of feature gates that should be enabled on the controller pod.
*/
featureGates?: pulumi.Input<string>;
global?: pulumi.Input<inputs.CertManagerGlobalArgs>;
/**
* HelmOptions is an escape hatch that lets the end user control any aspect of the Helm deployment. This exposes the entirety of the underlying Helm Release component args.
*/
helmOptions?: inputs.ReleaseArgs;
http_proxy?: pulumi.Input<string>;
https_proxy?: pulumi.Input<string>;
image?: pulumi.Input<inputs.CertManagerImageArgs>;
ingressShim?: pulumi.Input<inputs.CertManagerIngressShimArgs>;
installCRDs?: pulumi.Input<boolean>;
no_proxy?: pulumi.Input<pulumi.Input<string>[]>;
nodeSelector?: pulumi.Input<pulumiKubernetes.types.input.core.v1.NodeSelector>;
/**
* Optional additional annotations to add to the controller Pods
*/
podAnnotations?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
podDnsConfig?: pulumi.Input<pulumiKubernetes.types.input.core.v1.PodDNSConfig>;
/**
* Optional DNS settings, useful if you have a public and private DNS zone for the same domain on Route 53. What follows is an example of ensuring cert-manager can access an ingress or DNS TXT records at all times. NOTE: This requires Kubernetes 1.10 or `CustomPodDNS` feature gate enabled for the cluster to work.
*/
podDnsPolicy?: pulumi.Input<string>;
podLabels?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
prometheus?: pulumi.Input<inputs.CertManagerPrometheusArgs>;
replicaCount?: pulumi.Input<number>;
resources?: pulumi.Input<pulumiKubernetes.types.input.core.v1.ResourceRequirements>;
/**
* Pod Security Context. ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
*/
securityContext?: pulumi.Input<pulumiKubernetes.types.input.core.v1.PodSecurityContext>;
serviceAccount?: pulumi.Input<inputs.CertManagerServiceAccountArgs>;
/**
* Optional additional annotations to add to the controller service
*/
serviceAnnotations?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* Optional additional labels to add to the controller Service
*/
serviceLabels?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
startupapicheck?: pulumi.Input<inputs.CertManagerStartupAPICheckArgs>;
strategy?: pulumi.Input<pulumiKubernetes.types.input.apps.v1.DeploymentStrategy>;
tolerations?: pulumi.Input<pulumi.Input<pulumiKubernetes.types.input.core.v1.Toleration>[]>;
webhook?: pulumi.Input<inputs.CertManagerWebhookArgs>;
}