Skip to main content

Helm chart configuration

This page documents the configuration options for the 1Password Helm charts:

Connect and Operator Helm chart

The 1Password Connect and Operator Helm chart allows you to use Helm to deploy Connect, the Kubernetes Operator, or both.

You can override configuration values in a chart with the helm install command using either the --values flag or the --set flag. You can also force a string value with the --set-string flag.

For example, the following code block shows how to use the --set flag to set the connect.applicationName configuration value:

Refer to the official helm install documentation for more information.

info

By default, installing a 1Password Helm chart also installs the OnePasswordItem database operations for CRD (Custom Resource Definition).

If you don't want to install the OnePasswordItem custom resource definitions (CRD), run helm install with the --skip-crds flag .

Configuration options

The following table documents the available configuration options for the 1Password Connect and Operator Helm chart.

tip

If you have a large configuration value, use --set-file to read the single large value from the file (instead of --values or --set).

For example:

KeyTypeDefaultDescription
connect.createbooleantrueDenotes whether to deploy the 1Password Connect server. Set this value to false and operator.create to true to only deploy the Kubernetes Operator. See Deploy without Connect.
connect.replicasinteger1The number of replicas to run the 1Password Connect deployment.
connect.applicationNamestring"onepassword-connect"The name of 1Password Connect application.
connect.hoststring"onepassword-connect"The name of 1Password Connect host.
connect.api.imageRepositorystring"1password/connect-apiThe 1Password Connect API repository.
connect.api.namestring"connect-api"The name of the 1Password Connect API container.
connect.api.resourcesobject{}The resources requests/limits for the 1Password Connect API pod.
connect.api.httpPortinteger8080The port the Connect API is served on when not using TLS.
connect.api.httpsPortinteger8443The port the Connect API is served on when using TLS.
connect.api.logLevelstringinfoThe log level of the Connect API container. Valid options are trace, debug, info, warn, and error.
connect.credentialsjsonStringThe contents of the 1password-credentials.json file for Connect. You can set it by adding --set-file connect.credentials=<path/to/1password-credentials.json> to your helm install command.
connect.credentials_base64stringThe base64-encoded contents of the 1password-credentials.json file for Connect. You can use this instead of connect.credentials if supplying raw JSON to connect.credentials lead to issues.
connect.credentialsKeystring"1password-credentials.json"The key for the 1Password Connect credentials (stored in the credentials secret). The credentials must be encoded as a base64 string.
connect.credentialsNamestring"op-credentials"The name of Kubernetes Secret containing the 1Password Connect credentials.
connect.dataVolume.namestring"shared-data"The name of the shared volume used between 1Password Connect containers.
connect.dataVolume.typestring"emptyDir"The type of shared volume used between 1Password Connect containers.
connect.dataVolume.valuesobject{}Describes the fields and values for the configuration of the shared volume for 1Password Connect.
connect.imagePullPolicystring"IfNotPresent"The 1Password Connect API image pull policy.
connect.ingress.annotationsobject{}The 1Password Connect ingress annotations.
connect.ingress.enabledboolfalseWhether to enable 1Password Connect ingress traffic.
connect.ingress.extraPathslist[]Additional ingress paths.
connect.ingress.hosts[0].hoststring"chart-example.local"The 1Password Connect ingress hostname.
connect.ingress.hosts[0].pathslist[]The 1Password Connect ingress path.
connect.ingress.ingressClassNamestring""Optionally use ingressClassName instead of a deprecated annotation.
connect.ingress.labelsobject{}Ingress labels for 1Password Connect.
connect.ingress.pathTypestring"Prefix"Ingress PathType .
connect.ingress.tlslist[]Ingress TLS .
connect.nodeSelectorobject{}The Node selector stanza for the Connect pod.
connect.probes.readinessbooleantrueDenotes whether the 1Password Connect API readiness probe operates and ensures the pod is ready before serving traffic.
connect.probes.livenessbooleantrueDenotes whether Kubernetes continually checks the 1Password Connect API for liveness and restarts if the pod becomes unresponsive.
connect.annotationsobject{}Additional annotations to add to the Connect API deployment resource.
connect.labelsobject{}Additional labels to add to the Connect API deployment resource.
connect.podAnnotationsobject{}Additional annotations to be added to the Connect API pods.
connect.podLabelsobject{}Additional labels to be added to the Connect API pods.
connect.serviceTypestringNodePortThe type of Service resource to create for the Connect API and Connect Sync services.
connect.serviceAnnotationsobject{}Additional annotations to be added to the service.
connect.sync.imageRepositorystring"1password/connect-sync"The 1Password Connect Sync repository.
connect.sync.namestring"connect-sync"The name of the 1Password Connect Sync container.
connect.sync.resourcesobject{}The resources requests/limits for the 1Password Connect Sync pod.
connect.sync.httpPortinteger8081The port serving the health of the Connect Sync container.
connect.sync.logLevelstringinfoThe log level of the Connect Sync container. Valid options are trace, debug, info, warn, and error.
connect.tls.enabledbooleanfalseDenotes whether the Connect API is secured with TLS.
connect.tls.secretstring"op-connect-tls"The name of the secret containing the TLS key (tls.key) and certificate (tls.crt).
connect.tolerationslist[]A list of tolerations to be added to the Connect API pods.
connect.versionstring{{.Chart.AppVersion}}The 1Password Connect version to pull.
operator.autoRestartbooleanfalseDenotes whether the Kubernetes Operator automatically restarts deployments based on associated updated secrets. See Automatic redeployment.
operator.createbooleanfalseDenotes whether to deploy the Kubernetes Operator. You can set this to false to only deploy Connect.
operator.imagePullPolicystring"IfNotPresent"The Kubernetes Operator image pull policy.
operator.imageRepositorystring"1password/onepassword-operator"The Kubernetes Operator repository.
operator.nodeSelectorobject{}Node selector stanza for the Kubernetes Operator pod.
operator.annotationsobject{}Additional annotations to add to the Kubernetes Operator deployment resource.
operator.labelsobject{}Additional labels to be added to the Operator deployment resource.
operator.logLevelstringinfoThe log level of the Kubernetes Operator container. Valid options are: debug, info, and error.
operator.podAnnotationsobject{}Additional annotations to add to the Kubernetes Operator pods.
operator.podLabelsobject{}Additional labels to add to the Kubernetes Operator pods.
operator.pollingIntervalinteger600The interval at which the Kubernetes Operator polls for secrets updates.
operator.clusterRole.createboolean{{.Values.operator.create}}Denotes whether to create a cluster role for the Kubernetes Operator.
operator.clusterRole.namestring"onepassword-connect-operator"The name of the Kubernetes Operator Cluster Role .
operator.clusterRoleBinding.createboolean{{.Values.operator.create}}Denotes whether to create a ClusterRole binding for the Kubernetes Operator Service Account.
operator.roleBinding.createboolean{{.Values.operator.create}}Denotes whether to create a role binding for each Namespace for the Kubernetes Operator Service Account.
operator.roleBinding.namestring"onepassword-connect-operator"The name of the Kubernetes Operator Role Binding.
operator.serviceAccount.annotationsobject{}The annotations for the 1Password Connect Service Account.
operator.serviceAccount.createboolean{{.Values.operator.create}}Denotes whether to create a Service Account for the Kubernetes Operator.
operator.serviceAccount.namestring"onepassword-connect-operator"The name of the Kubernetes Operator.
operator.tolerationslist[]A list of tolerations to add to the Kubernetes Operator pods.
operator.versionstring"1.8.0"The Kubernetes Operator version to pull. It defaults to the latest version.
operator.token.keystring"token"The key for the 1Password Connect token (stored in the 1Password token secret).
operator.token.namestring"onepassword-token"The name of Kubernetes Secret containing the 1Password Connect API token.
operator.token.valuestring"onepassword-token"An API token generated for 1Password Connect to be used by the Kubernetes Operator.
operator.watchNamespacelist[]A list of namespaces for the Kubernetes Operator to watch and manage. Use the empty list to watch all namespaces.
operator.resourcesobject{}The resources requests/limits for the Kubernetes Operator pod.

Secrets Injector Helm chart

The 1Password Secrets Injector Helm chart allows you to use Helm to deploy the Kubernetes Secrets Injector.

You can override configuration values in a chart with the helm install command using either the --values flag or the --set flag. You can also force a string value with the --set-string flag.

For example, the following code block shows how to use the --set flag to set the injector.applicationName configuration value:

Refer to the official helm install documentation for more information.

Configuration options

The following table documents the available configuration options for the Secrets Injector Helm chart.

tip

If you have a large configuration value, use --set-file to read the single large value from the file (instead of --values or --set).

For example:

KeyTypeDefaultDescription
injector.applicationNamestring"secrets-injector"The name of 1Password Kubernetes Secrets Injector Application.
injector.imagePullPolicystring"IfNotPresent"The 1Password Secrets Injector Docker image policy. "IfNotPresent" means the image is pulled only if it is not already present locally.
injector.imageRepositorystring"1password/kubernetes-secrets-injector"The 1Password Secrets Injector docker image repository.
injector.portstring443The port the Secrets Injector exposes.
injector.targetPortinteger8443The port the Secrets Injector API sends requests to the pod.
injector.versionstring{{.Chart.AppVersion}}The 1Password Secrets Injector version to pull.

Was this page helpful?