OS Manuals

/usr/bin/virtual-workspaces

Virtual workspace server for kcp (FIPS-enabled)

From kcp-fips-0.31-virtual-workspaces 0.31.6-r15 (enterprise-packages), captured 2026-11-08 by running virtual-workspaces --help (exit 0). permalink

Start the root virtual workspace apiserver to enable virtual workspace management.

Usage:
  workspaces [flags]

Flags:
      --audit-log-batch-buffer-size int                    The size of the buffer to store events before batching and writing. Only used in batch mode. (default 10000)
      --audit-log-batch-max-size int                       The maximum size of a batch. Only used in batch mode. (default 1)
      --audit-log-batch-max-wait duration                  The amount of time to wait before force writing the batch that hadn't reached the max size. Only used in batch mode.
      --audit-log-batch-throttle-burst int                 Maximum number of requests sent at the same moment if ThrottleQPS was not utilized before. Only used in batch mode.
      --audit-log-batch-throttle-enable                    Whether batching throttling is enabled. Only used in batch mode.
      --audit-log-batch-throttle-qps float32               Maximum average number of batches per second. Only used in batch mode.
      --audit-log-compress                                 If set, the rotated log files will be compressed using gzip.
      --audit-log-format string                            Format of saved audits. "legacy" indicates 1-line text format for each event. "json" indicates structured json format. Known formats are legacy,json. (default "json")
      --audit-log-maxage int                               The maximum number of days to retain old audit log files based on the timestamp encoded in their filename.
      --audit-log-maxbackup int                            The maximum number of old audit log files to retain. Setting a value of 0 will mean there's no restriction on the number of files.
      --audit-log-maxsize int                              The maximum size in megabytes of the audit log file before it gets rotated.
      --audit-log-mode string                              Strategy for sending audit events. Blocking indicates sending events should block server responses. Batch causes the backend to buffer and write events asynchronously. Known modes are batch,blocking,blocking-strict. (default "blocking")
      --audit-log-path string                              If set, all requests coming to the apiserver will be logged to this file.  '-' means standard out.
      --audit-log-truncate-enabled                         Whether event and batch truncating is enabled.
      --audit-log-truncate-max-batch-size int              Maximum size of the batch sent to the underlying backend. Actual serialized size can be several hundreds of bytes greater. If a batch exceeds this limit, it is split into several batches of smaller size. (default 10485760)
      --audit-log-truncate-max-event-size int              Maximum size of the audit event sent to the underlying backend. If the size of an event is greater than this number, first request and response are removed, and if this doesn't reduce the size enough, event is discarded. (default 102400)
      --audit-log-version string                           API group and version used for serializing audit events written to log. (default "audit.k8s.io/v1")
      --audit-policy-file string                           Path to the file that defines the audit policy configuration.
      --audit-webhook-batch-buffer-size int                The size of the buffer to store events before batching and writing. Only used in batch mode. (default 10000)
      --audit-webhook-batch-max-size int                   The maximum size of a batch. Only used in batch mode. (default 400)
      --audit-webhook-batch-max-wait duration              The amount of time to wait before force writing the batch that hadn't reached the max size. Only used in batch mode. (default 30s)
      --audit-webhook-batch-throttle-burst int             Maximum number of requests sent at the same moment if ThrottleQPS was not utilized before. Only used in batch mode. (default 15)
      --audit-webhook-batch-throttle-enable                Whether batching throttling is enabled. Only used in batch mode. (default true)
      --audit-webhook-batch-throttle-qps float32           Maximum average number of batches per second. Only used in batch mode. (default 10)
      --audit-webhook-config-file string                   Path to a kubeconfig formatted file that defines the audit webhook configuration.
      --audit-webhook-initial-backoff duration             The amount of time to wait before retrying the first failed request. (default 10s)
      --audit-webhook-mode string                          Strategy for sending audit events. Blocking indicates sending events should block server responses. Batch causes the backend to buffer and write events asynchronously. Known modes are batch,blocking,blocking-strict. (default "batch")
      --audit-webhook-truncate-enabled                     Whether event and batch truncating is enabled.
      --audit-webhook-truncate-max-batch-size int          Maximum size of the batch sent to the underlying backend. Actual serialized size can be several hundreds of bytes greater. If a batch exceeds this limit, it is split into several batches of smaller size. (default 10485760)
      --audit-webhook-truncate-max-event-size int          Maximum size of the audit event sent to the underlying backend. If the size of an event is greater than this number, first request and response are removed, and if this doesn't reduce the size enough, event is discarded. (default 102400)
      --audit-webhook-version string                       API group and version used for serializing audit events written to webhook. (default "audit.k8s.io/v1")
      --authentication-kubeconfig string                   kubeconfig file pointing at the 'core' kubernetes server with enough rights to create tokenreviews.authentication.k8s.io.
      --authentication-skip-lookup                         If false, the authentication-kubeconfig will be used to lookup missing authentication configuration from the cluster. (default true)
      --authentication-token-webhook-cache-ttl duration    The duration to cache responses from the webhook token authenticator. (default 10s)
      --authentication-tolerate-lookup-failure             If true, failures to look up missing authentication configuration from the cluster are not considered fatal. Note that this can result in authentication that treats all requests as anonymous.
      --bind-address ip                                    The IP address on which to listen for the --secure-port port. The associated interface(s) must be reachable by the rest of the cluster, and by CLI/web clients. If blank or an unspecified address (0.0.0.0 or ::), all interfaces and IP address families will be used. (default 0.0.0.0)
      --cache-kubeconfig string                            The kubeconfig file of the cache server instance that hosts workspaces.
      --cert-dir string                                    The directory where the TLS certs are located. If --tls-cert-file and --tls-private-key-file are provided, this flag will be ignored. (default "apiserver.local.config/certificates")
      --client-ca-file string                              If set, any request presenting a client certificate signed by one of the authorities in the client-ca-file is authenticated with an identity corresponding to the CommonName of the client certificate.
      --context string                                     Name of the context in the kubeconfig file to use
      --disable-http2-serving                              If true, HTTP2 serving will be disabled [default=false]
      --external-logical-cluster-admin-kubeconfig string   Optional kubeconfig pointing at the front-proxy. Used by virtual workspaces to issue SubjectAccessReview against clusters that may live on a different shard than this VW (e.g. a workspacetype's cluster). When unset, falls back to --kubeconfig, which only works in non-sharded deployments.
  -h, --help                                               help for workspaces
      --http2-max-streams-per-connection int               The limit that the server gives to clients for the maximum number of streams in an HTTP/2 connection. Zero means to use golang's default.
      --kubeconfig string                                  The kubeconfig file of the kcp instance that hosts workspaces.
      --log-flush-frequency duration                       Maximum number of seconds between log flushes (default 5s)
      --log-json-info-buffer-size quantity                 [Alpha] In JSON format with split output streams, the info messages can be buffered for a while to increase performance. The default value of zero bytes disables buffering. The size can be specified as number of bytes (512), multiples of 1000 (1K), multiples of 1024 (2Ki), or powers of those (3M, 4G, 5Mi, 6Gi). Enable the LoggingAlphaOptions feature gate to use this.
      --log-json-split-stream                              [Alpha] In JSON format, write error messages to stderr and info messages to stdout. The default is to write a single stream to stdout. Enable the LoggingAlphaOptions feature gate to use this.
      --log-text-info-buffer-size quantity                 [Alpha] In text format with split output streams, the info messages can be buffered for a while to increase performance. The default value of zero bytes disables buffering. The size can be specified as number of bytes (512), multiples of 1000 (1K), multiples of 1024 (2Ki), or powers of those (3M, 4G, 5Mi, 6Gi). Enable the LoggingAlphaOptions feature gate to use this.
      --log-text-split-stream                              [Alpha] In text format, write error messages to stderr and info messages to stdout. The default is to write a single stream to stdout. Enable the LoggingAlphaOptions feature gate to use this.
      --logging-format string                              Sets the log format. Permitted formats: "json" (gated by LoggingBetaOptions), "text". (default "text")
      --permit-address-sharing                             If true, SO_REUSEADDR will be used when binding the port. This allows binding to wildcard IPs like 0.0.0.0 and specific IPs in parallel, and it avoids waiting for the kernel to release sockets in TIME_WAIT state. [default=false]
      --permit-port-sharing                                If true, SO_REUSEPORT will be used when binding the port, which allows more than one instance to bind on the same address and port. [default=false]
      --profiler-address string                            [Address]:port to bind the profiler to
      --requestheader-allowed-names strings                List of client certificate common names to allow to provide usernames in headers specified by --requestheader-username-headers. If empty, any client certificate validated by the authorities in --requestheader-client-ca-file is allowed.
      --requestheader-client-ca-file string                Root certificate bundle to use to verify client certificates on incoming requests before trusting usernames in headers specified by --requestheader-username-headers. WARNING: generally do not depend on authorization being already done for incoming requests.
      --requestheader-extra-headers-prefix strings         List of request header prefixes to inspect. X-Remote-Extra- is suggested. (default [x-remote-extra-])
      --requestheader-group-headers strings                List of request headers to inspect for groups. X-Remote-Group is suggested. (default [x-remote-group])
      --requestheader-uid-headers strings                  List of request headers to inspect for UIDs. X-Remote-Uid is suggested. Requires the RemoteRequestHeaderUID feature to be enabled.
      --requestheader-username-headers strings             List of request headers to inspect for usernames. X-Remote-User is common. (default [x-remote-user])
      --secure-port int                                    The port on which to serve HTTPS with authentication and authorization. If 0, don't serve HTTPS at all. (default 6444)
      --tls-cert-file string                               File containing the default x509 Certificate for HTTPS. (CA cert, if any, concatenated after server cert). If HTTPS serving is enabled, and --tls-cert-file and --tls-private-key-file are not provided, a self-signed certificate and key are generated for the public address and saved to the directory specified by --cert-dir. (default ".kcp/apiserver.crt")
      --tls-cipher-suites strings                          Comma-separated list of cipher suites for the server. If omitted, the default Go cipher suites will be used.
                                                           Preferred values: TLS_AES_128_GCM_SHA256, TLS_AES_256_GCM_SHA384, TLS_CHACHA20_POLY1305_SHA256, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305, TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305, TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256.
                                                           Insecure values: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_RC4_128_SHA, TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_3DES_EDE_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_256_GCM_SHA384, TLS_RSA_WITH_RC4_128_SHA.
      --tls-min-version string                             Minimum TLS version supported. Possible values: VersionTLS10, VersionTLS11, VersionTLS12, VersionTLS13
      --tls-private-key-file string                        File containing the default x509 private key matching --tls-cert-file. (default ".kcp/apiserver.key")
      --tls-sni-cert-key namedCertKey                      A pair of x509 certificate and private key file paths, optionally suffixed with a list of domain patterns which are fully qualified domain names, possibly with prefixed wildcard segments. The domain patterns also allow IP addresses, but IPs should only be used if the apiserver has visibility to the IP address requested by a client. If no domain patterns are provided, the names of the certificate are extracted. Non-wildcard matches trump over wildcard matches, explicit domain patterns trump over extracted names. For multiple key/certificate pairs, use the --tls-sni-cert-key multiple times. Examples: "example.crt,example.key" or "foo.crt,foo.key:*.foo.com,foo.com". (default [])
  -v, --v Level                                            number for the log level verbosity (default 2)
      --vmodule pattern=N,...                              comma-separated list of pattern=N settings for file-filtered logging (only works for text log format)
Options (68)
OptionDescriptionSource
--audit-log-batch-buffer-size intThe size of the buffer to store events before batching and writing.help
--audit-log-batch-max-size intThe maximum size of a batch.help
--audit-log-batch-max-wait durationThe amount of time to wait before force writing the batch that hadn't reached the max size.help
--audit-log-batch-throttle-burst intMaximum number of requests sent at the same moment if ThrottleQPS was not utilized before.help
--audit-log-batch-throttle-enableWhether batching throttling is enabled.help
--audit-log-batch-throttle-qps float32Maximum average number of batches per second.help
--audit-log-compressIf set, the rotated log files will be compressed using gzip.help
--audit-log-format stringFormat of saved audits.help
--audit-log-maxage intThe maximum number of days to retain old audit log files based on the timestamp encoded in their filename.help
--audit-log-maxbackup intThe maximum number of old audit log files to retain.help
--audit-log-maxsize intThe maximum size in megabytes of the audit log file before it gets rotated.help
--audit-log-mode stringStrategy for sending audit events.help
--audit-log-path stringIf set, all requests coming to the apiserver will be logged to this file.help
--audit-log-truncate-enabledWhether event and batch truncating is enabled.help
--audit-log-truncate-max-batch-size intMaximum size of the batch sent to the underlying backend.help
--audit-log-truncate-max-event-size intMaximum size of the audit event sent to the underlying backend.help
--audit-log-version stringAPI group and version used for serializing audit events written to log.help
--audit-policy-file stringPath to the file that defines the audit policy configuration.help
--audit-webhook-batch-buffer-size intThe size of the buffer to store events before batching and writing.help
--audit-webhook-batch-max-size intThe maximum size of a batch.help
--audit-webhook-batch-max-wait durationThe amount of time to wait before force writing the batch that hadn't reached the max size.help
--audit-webhook-batch-throttle-burst intMaximum number of requests sent at the same moment if ThrottleQPS was not utilized before.help
--audit-webhook-batch-throttle-enableWhether batching throttling is enabled.help
--audit-webhook-batch-throttle-qps float32Maximum average number of batches per second.help
--audit-webhook-config-file stringPath to a kubeconfig formatted file that defines the audit webhook configuration.help
--audit-webhook-initial-backoff durationThe amount of time to wait before retrying the first failed request.help
--audit-webhook-mode stringStrategy for sending audit events.help
--audit-webhook-truncate-enabledWhether event and batch truncating is enabled.help
--audit-webhook-truncate-max-batch-size intMaximum size of the batch sent to the underlying backend.help
--audit-webhook-truncate-max-event-size intMaximum size of the audit event sent to the underlying backend.help
--audit-webhook-version stringAPI group and version used for serializing audit events written to webhook.help
--authentication-kubeconfig stringkubeconfig file pointing at the 'core' kubernetes server with enough rights to create tokenreviews.authentication.k8s.io.help
--authentication-skip-lookupIf false, the authentication-kubeconfig will be used to lookup missing authentication configuration from the cluster.help
--authentication-token-webhook-cache-ttl durationThe duration to cache responses from the webhook token authenticator.help
--authentication-tolerate-lookup-failureIf true, failures to look up missing authentication configuration from the cluster are not considered fatal.help
--bind-address ipThe IP address on which to listen for the --secure-port port.help
--cache-kubeconfig stringThe kubeconfig file of the cache server instance that hosts workspaces.help
--cert-dir stringThe directory where the TLS certs are located.help
--client-ca-file stringIf set, any request presenting a client certificate signed by one of the authorities in the client-ca-file is authenticated with an identity corresponding to the CommonName of the client certificate.help
--context stringName of the context in the kubeconfig file to usehelp
--disable-http2-servingIf true, HTTP2 serving will be disabled [default=false]help
--external-logical-cluster-admin-kubeconfig stringOptional kubeconfig pointing at the front-proxy.help
-h, --helphelp for workspaceshelp
--http2-max-streams-per-connection intThe limit that the server gives to clients for the maximum number of streams in an HTTP/2 connection.help
--kubeconfig stringThe kubeconfig file of the kcp instance that hosts workspaces.help
--log-flush-frequency durationMaximum number of seconds between log flushes (default 5s)help
--log-json-info-buffer-size quantity[Alpha] In JSON format with split output streams, the info messages can be buffered for a while to increase performance.help
--log-json-split-stream[Alpha] In JSON format, write error messages to stderr and info messages to stdout.help
--log-text-info-buffer-size quantity[Alpha] In text format with split output streams, the info messages can be buffered for a while to increase performance.help
--log-text-split-stream[Alpha] In text format, write error messages to stderr and info messages to stdout.help
--logging-format stringSets the log format.help
--permit-address-sharingIf true, SO_REUSEADDR will be used when binding the port.help
--permit-port-sharingIf true, SO_REUSEPORT will be used when binding the port, which allows more than one instance to bind on the same address and port.help
--profiler-address string[Address]:port to bind the profiler tohelp
--requestheader-allowed-names stringsList of client certificate common names to allow to provide usernames in headers specified by --requestheader-username-headers.help
--requestheader-client-ca-file stringRoot certificate bundle to use to verify client certificates on incoming requests before trusting usernames in headers specified by --requestheader-username-headers.help
--requestheader-extra-headers-prefix stringsList of request header prefixes to inspect.help
--requestheader-group-headers stringsList of request headers to inspect for groups.help
--requestheader-uid-headers stringsList of request headers to inspect for UIDs.help
--requestheader-username-headers stringsList of request headers to inspect for usernames.help
--secure-port intThe port on which to serve HTTPS with authentication and authorization.help
--tls-cert-file stringFile containing the default x509 Certificate for HTTPS.help
--tls-cipher-suites stringsComma-separated list of cipher suites for the server.help
--tls-min-version stringMinimum TLS version supported.help
--tls-private-key-file stringFile containing the default x509 private key matching --tls-cert-file.help
--tls-sni-cert-key namedCertKeyA pair of x509 certificate and private key file paths, optionally suffixed with a list of domain patterns which are fully qualified domain names, possibly with prefixed wildcard segments.help
-v, --v Levelnumber for the log level verbosity (default 2)help
--vmodule pattern=Ncomma-separated list of pattern=N settings for file-filtered logging (only works for text log format)help

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