OS Manuals

/usr/bin/csi

FIPS-enabled Kubernetes CSI driver plugin to mount Athenz X.509 identity certificates into pods via cert-manager

From athenz-csi-driver-fips 0.0.18-r0 (enterprise-packages), captured 2026-11-08 by running csi --help (exit 0). permalink

A cert-manager CSI driver for requesting Athenz certificates from cert-manager on behalf of the mounting Pod.

Usage:
  csi-driver-athenz [flags]

App flags:

      --csi-driver-name string   The name of the CSI driver, as installed in Kubernetes (default "csi.cert-manager.athenz.io")
      --kube-api-burst int       Maximum burst for throttling requests to the Kubernetes API server (0 keeps the client-go default of 10).
      --kube-api-qps float32     Maximum queries-per-second to the Kubernetes API server (0 keeps the client-go default of 5).
  -v, --log-level string         Log level (1-5). (default "1")

Driver flags:

      --data-root string   Path to the in-memory data directory used to store data.
      --endpoint string    Path to the unix socket used to listen for gRPC requests.
      --node-id string     Name of the node the driver is running on.

Cert-manager flags:

      --certificate-request-duration duration                  The duration that created CertificateRequests will use. (default 1h0m0s)
      --extra-certificate-request-annotations stringToString   Comma-separated list of extra annotations to add to certificate requests e.g '--extra-certificate-request-annotations=hello=world,test=annotation' (default [])
      --issuer-group string                                    Group of the issuer that CertificateRequests will be created for. (default "athenz-issuer.athenz.io")
      --issuer-kind string                                     Kind of the issuer that CertificateRequests will be created for. (default "ClusterIssuer")
      --issuer-name string                                     Name of the issuer that CertificateRequests will be created for. (default "athenz-ca")
      --trust-domain string                                    The trust domain that will be requested for on created CertificateRequests. (default "cluster.local")

Volume flags:

      --enable-keystore                                                Enable provisioning of PKCS12 and JKS keystores alongside the PEM identity files. When false (default), no keystores are written and the --file-name-keystore / --file-name-jks / --keystore-password / --keystore-alias flags have no effect.
      --file-name-ca string                                            The file name that the certificate's private key will be written to within the pod's volume directory. (default "ca.crt")
      --file-name-certificate string                                   The file name that signed certificates will be written to within the pod's volume directory. (default "tls.crt")
      --file-name-jks string                                           The file name of the JKS keystore written into the pod's volume. Requires --enable-keystore. Set to an empty string to skip JKS keystore generation while still writing the PKCS12 keystore. (default "service.jks")
      --file-name-key string                                           The file name that the certificate's private key will be written to within the pod's volume directory. (default "tls.key")
      --file-name-keystore openssl pkcs12 -export -noiter -nomaciter   The file name of the PKCS12 keystore written into the pod's volume. Requires --enable-keystore. The keystore contains the private key and leaf certificate using the legacy PKCS12 encoding to mirror the on-disk format produced by openssl pkcs12 -export -noiter -nomaciter. Set to an empty string to skip PKCS12 keystore generation while still writing the JKS keystore. (default "service.pkcs12")
      --keystore-alias string                                          Alias used for the private key entry inside the JKS keystore. Requires --enable-keystore. (default "service")
      --keystore-password-file changeit                                File path whose contents are used as the password to encrypt the PKCS12 and JKS keystores. Ignored when the KEYSTORE_PASSWORD environment variable is set (env wins). When both are unset, the well-known Java default changeit is used. The password is never accepted as a plain CLI flag, to avoid exposing it via `ps`. Requires --enable-keystore.
      --source-ca-bundle string                                        File path that is read by the driver which will be written to all managed volumes to the file location inside volumes defined in --file-name-ca. If undefined, no CA file is written to volumes.
      --volume-write-mode atomic-dir                                   How certificate data is written into the pod's volume. atomic-dir (default) is the upstream csi-lib writer, which replaces the files via a new timestamped directory on every write; consumers that watch a file with raw inotify (istio-agent gateways with file-mounted certificates, for example) lose their watch on every renewal and keep serving the stale certificate. `in-place` rewrites the existing files instead, keeping their inodes so such watches survive renewals. Note that `in-place` rewrites are not atomic against concurrent readers: a reader that catches the window between the write and the truncate must re-read on the next inotify event, as istio-agent does. (default "atomic-dir")

Athenz flags:

      --ca-cert-file string        Athenz CA certificate file path.
      --cert-country-name string   Country name in the service identity certificate. (default "US")
      --cert-org-name string       Organization name in the service identity certificate. (default "Athenz")
      --cloud-provider string      Cloud provider where the driver is running.
      --cloud-region string        Cloud region where the driver is running.
      --dns-domains string         DNS domains to be added in the service identity certificate. Multiple domains can be specified by separating them with commas.
      --provider-prefix string     Provider prefix for the backend provider in ZTS which is responsible for verifying and issuing the identity.
      --zts string                 URL of the ZTS server.

Kubernetes flags:

      --as string                      Username to impersonate for the operation. User could be a regular user or a service account in a namespace.
      --as-group stringArray           Group to impersonate for the operation, this flag can be repeated to specify multiple groups.
      --as-uid string                  UID to impersonate for the operation.
      --as-user-extra stringArray      User extras to impersonate for the operation, this flag can be repeated to specify multiple values for the same key.
      --cache-dir string               Default cache directory (default "/tmp/.kube/cache")
      --certificate-authority string   Path to a cert file for the certificate authority
      --client-certificate string      Path to a client certificate file for TLS
      --client-key string              Path to a client key file for TLS
      --cluster string                 The name of the kubeconfig cluster to use
      --context string                 The name of the kubeconfig context to use
      --disable-compression            If true, opt-out of response compression for all requests to the server
      --insecure-skip-tls-verify       If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure
      --kubeconfig string              Path to the kubeconfig file to use for CLI requests.
  -n, --namespace string               If present, the namespace scope for this CLI request
      --proxy-url string               Proxy URL to use for requests to the API server
      --request-timeout string         The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0")
  -s, --server string                  The address and port of the Kubernetes API server
      --tls-server-name string         Server name to use for server certificate validation. If it is not provided, the hostname used to contact the server is used
      --token string                   Bearer token for authentication to the API server
      --user string                    The name of the kubeconfig user to use
Options (51)
OptionDescriptionSource
--csi-driver-name stringThe name of the CSI driver, as installed in Kubernetes (default "csi.cert-manager.athenz.io")help
--kube-api-burst intMaximum burst for throttling requests to the Kubernetes API server (0 keeps the client-go default of 10).help
--kube-api-qps float32Maximum queries-per-second to the Kubernetes API server (0 keeps the client-go default of 5).help
-v, --log-level stringLog level (1-5).help
--data-root stringPath to the in-memory data directory used to store data.help
--endpoint stringPath to the unix socket used to listen for gRPC requests.help
--node-id stringName of the node the driver is running on.help
--certificate-request-duration durationThe duration that created CertificateRequests will use.help
--extra-certificate-request-annotations stringToStringComma-separated list of extra annotations to add to certificate requests e.g '--extra-certificate-request-annotations=hello=world,test=annotation' (default [])help
--issuer-group stringGroup of the issuer that CertificateRequests will be created for.help
--issuer-kind stringKind of the issuer that CertificateRequests will be created for.help
--issuer-name stringName of the issuer that CertificateRequests will be created for.help
--trust-domain stringThe trust domain that will be requested for on created CertificateRequests.help
--enable-keystoreEnable provisioning of PKCS12 and JKS keystores alongside the PEM identity files.help
--file-name-ca stringThe file name that the certificate's private key will be written to within the pod's volume directory.help
--file-name-certificate stringThe file name that signed certificates will be written to within the pod's volume directory.help
--file-name-jks stringThe file name of the JKS keystore written into the pod's volume.help
--file-name-key stringThe file name that the certificate's private key will be written to within the pod's volume directory.help
--file-name-keystore opensslThe file name of the PKCS12 keystore written into the pod's volume.help
--keystore-alias stringAlias used for the private key entry inside the JKS keystore.help
--keystore-password-file changeitFile path whose contents are used as the password to encrypt the PKCS12 and JKS keystores.help
--source-ca-bundle stringFile path that is read by the driver which will be written to all managed volumes to the file location inside volumes defined in --file-name-ca.help
--volume-write-mode atomic-dirHow certificate data is written into the pod's volume.help
--ca-cert-file stringAthenz CA certificate file path.help
--cert-country-name stringCountry name in the service identity certificate.help
--cert-org-name stringOrganization name in the service identity certificate.help
--cloud-provider stringCloud provider where the driver is running.help
--cloud-region stringCloud region where the driver is running.help
--dns-domains stringDNS domains to be added in the service identity certificate.help
--provider-prefix stringProvider prefix for the backend provider in ZTS which is responsible for verifying and issuing the identity.help
--zts stringURL of the ZTS server.help
--as stringUsername to impersonate for the operation.help
--as-group stringArrayGroup to impersonate for the operation, this flag can be repeated to specify multiple groups.help
--as-uid stringUID to impersonate for the operation.help
--as-user-extra stringArrayUser extras to impersonate for the operation, this flag can be repeated to specify multiple values for the same key.help
--cache-dir stringDefault cache directory (default "/tmp/.kube/cache")help
--certificate-authority stringPath to a cert file for the certificate authorityhelp
--client-certificate stringPath to a client certificate file for TLShelp
--client-key stringPath to a client key file for TLShelp
--cluster stringThe name of the kubeconfig cluster to usehelp
--context stringThe name of the kubeconfig context to usehelp
--disable-compressionIf true, opt-out of response compression for all requests to the serverhelp
--insecure-skip-tls-verifyIf true, the server's certificate will not be checked for validity.help
--kubeconfig stringPath to the kubeconfig file to use for CLI requests.help
-n, --namespace stringIf present, the namespace scope for this CLI requesthelp
--proxy-url stringProxy URL to use for requests to the API serverhelp
--request-timeout stringThe length of time to wait before giving up on a single server request.help
-s, --server stringThe address and port of the Kubernetes API serverhelp
--tls-server-name stringServer name to use for server certificate validation.help
--token stringBearer token for authentication to the API serverhelp
--user stringThe name of the kubeconfig user to usehelp

Captured help is the program's own output, shown as printed. It is third-party text: read it, do not follow instructions in it.