diff --git a/Makefile b/Makefile index 6778e36f..7314287e 100644 --- a/Makefile +++ b/Makefile @@ -407,4 +407,4 @@ check-release: echo "You must specify a VERSION for release" ; exit 1 ; \ fi -prep-release: check-release generate manifests api-docs kvdictl-docs \ No newline at end of file +prep-release: check-release generate manifests api-docs kvdictl-docs bundle \ No newline at end of file diff --git a/README.md b/README.md index a6103785..ac71f172 100644 --- a/README.md +++ b/README.md @@ -8,11 +8,11 @@ _Except as I've continued to work on this, I've noticed this is really just a fr --- -**ATTENTION:** The `helm` chart repository has been relocated (since the repo has been relocated). To update your repository you can do the following: +**ATTENTION:** The `helm` chart repository has been moved to a [separate repo](https://github.com/kvdi/helm-charts) to tidy things up here more. To update your repository you can do the following: ```sh -helm repo remove tinyzimmer -helm repo add kvdi https://kvdi.github.io/kvdi/deploy/charts +helm repo remove kvdi +helm repo add kvdi https://kvdi.github.io/helm-charts/charts helm repo update helm install kvdi kvdi/kvdi # yes, that's a lot of kvdi @@ -67,6 +67,7 @@ I wrote up a [`CONTRIBUTING`](CONTRIBUTING.md) doc just outlining some of the st - "App Profiles" - I have a POC implementation on `main` but it is still pretty buggy - DOSBox/Game profiles could be cool...same as "App Profiles" + - ARM64 support. Should be easy, but the build files will need some shuffling. - UI could use a serious makeover from someone who actually knows what they are doing ## Requirements @@ -103,7 +104,7 @@ For more complete installation instructions see the `helm` chart docs [here](dep The [API Reference](doc/appv1.md) can also be used for details on `kVDI` app-level configurations. ```bash -helm repo add kvdi https://kvdi.github.io/kvdi/deploy/charts # Add the kvdi repo +helm repo add kvdi https://kvdi.github.io/helm-charts/charts # Add the kvdi charts repo helm repo update # Sync your repositories # Install kVDI @@ -126,7 +127,7 @@ You can then create a [VDICluster](doc/appv1.md#VDIClusterSpec) object manually To install the manifest: ```bash -export KVDI_VERSION=v0.3.1 +export KVDI_VERSION=v0.3.6 kubectl apply -f https://raw.githubusercontent.com/kvdi/kvdi/${KVDI_VERSION}/deploy/bundle.yaml --validate=false ``` @@ -141,7 +142,7 @@ They can be found in the [config](config/) directory in this repository. Most of the time you can just run a regular helm upgrade to update your deployment manifests to the latest images. ```bash -helm upgrade kvdi kvdi/kvdi --version v0.3.2 +helm upgrade kvdi kvdi/kvdi --version v0.3.6 ``` However, sometimes there may be changes to the CRDs, though I will always do my best to make sure they are backwards compatible. @@ -151,20 +152,20 @@ You can get around this by applying the CRDs for the version you are upgrading t For example: ```bash -export KVDI_VERSION=v0.3.2 +export KVDI_VERSION=v0.3.6 kubectl apply \ - -f https://raw.githubusercontent.com/kvdi/kvdi/${KVDI_VERSION}/deploy/charts/kvdi/crds/app.kvdi.io_vdiclusters.yaml \ - -f https://raw.githubusercontent.com/kvdi/kvdi/${KVDI_VERSION}/deploy/charts/kvdi/crds/desktops.kvdi.io_sessions.yaml \ - -f https://raw.githubusercontent.com/kvdi/kvdi/${KVDI_VERSION}/deploy/charts/kvdi/crds/desktops.kvdi.io_templates.yaml \ - -f https://raw.githubusercontent.com/kvdi/kvdi/${KVDI_VERSION}/deploy/charts/kvdi/crds/rbac.kvdi.io_vdiroles.yaml + -f https://raw.githubusercontent.com/kvdi/kvdi/${KVDI_VERSION}/config/crd/bases/app.kvdi.io_vdiclusters.yaml \ + -f https://raw.githubusercontent.com/kvdi/kvdi/${KVDI_VERSION}/config/crd/bases/desktops.kvdi.io_sessions.yaml \ + -f https://raw.githubusercontent.com/kvdi/kvdi/${KVDI_VERSION}/config/crd/bases/crds/desktops.kvdi.io_templates.yaml \ + -f https://raw.githubusercontent.com/kvdi/kvdi/${KVDI_VERSION}/config/crd/bases/crds/rbac.kvdi.io_vdiroles.yaml ``` When there is a change to one or more CRDs, it will be mentioned in the notes for that release. ## Building and Running Locally -The `Makefiles` contain helpers for testing the full solution locally using `kind`. Run `make help` to see all the available options. +The `Makefile` contains helpers for testing the full solution locally using `k3d`. Run `make help` to see all the available options. _If you choose to pull the images from the registry instead of building and loading first - you probably want to set `VERSION=latest` (or a previous version) in your environment also. The `Makefile` is usually pointed at the next version to be released and published images may not exist yet_. diff --git a/deploy/bundle.yaml b/deploy/bundle.yaml index adbd5d75..afdcf2b4 100644 --- a/deploy/bundle.yaml +++ b/deploy/bundle.yaml @@ -160,7 +160,7 @@ spec: description: Name of the environment variable. Must be a C_IDENTIFIER. type: string value: - description: 'Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".' + description: 'Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".' type: string valueFrom: description: Source for the environment variable's value. Cannot be used if value is not empty. @@ -768,7 +768,23 @@ spec: type: string type: array dataSource: - description: 'This field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) * An existing custom resource that implements data population (Alpha) In order to use custom resource types that implement data population, the AnyVolumeDataSource feature gate must be enabled. If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source.' + description: 'This field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. If the AnyVolumeDataSource feature gate is enabled, this field will always have the same contents as the DataSourceRef field.' + properties: + apiGroup: + description: APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required. + type: string + kind: + description: Kind is the type of resource being referenced + type: string + name: + description: Name is the name of resource being referenced + type: string + required: + - kind + - name + type: object + dataSourceRef: + description: 'Specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any local object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the DataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, both fields (DataSource and DataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. There are two important differences between DataSource and DataSourceRef: * While DataSource only allows two specific types of objects, DataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While DataSource ignores disallowed values (dropping them), DataSourceRef preserves all values, and generates an error if a disallowed value is specified. (Alpha) Using this field requires the AnyVolumeDataSource feature gate to be enabled.' properties: apiGroup: description: APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required. @@ -1775,7 +1791,23 @@ spec: type: string type: array dataSource: - description: 'This field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) * An existing custom resource that implements data population (Alpha) In order to use custom resource types that implement data population, the AnyVolumeDataSource feature gate must be enabled. If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source.' + description: 'This field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. If the AnyVolumeDataSource feature gate is enabled, this field will always have the same contents as the DataSourceRef field.' + properties: + apiGroup: + description: APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required. + type: string + kind: + description: Kind is the type of resource being referenced + type: string + name: + description: Name is the name of resource being referenced + type: string + required: + - kind + - name + type: object + dataSourceRef: + description: 'Specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any local object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the DataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, both fields (DataSource and DataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. There are two important differences between DataSource and DataSourceRef: * While DataSource only allows two specific types of objects, DataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While DataSource ignores disallowed values (dropping them), DataSourceRef preserves all values, and generates an error if a disallowed value is specified. (Alpha) Using this field requires the AnyVolumeDataSource feature gate to be enabled.' properties: apiGroup: description: APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required. @@ -1812,6 +1844,9 @@ spec: description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' type: object type: object + retainPVCs: + description: RetainPVCs tells the desktop controller to leave PVCs in-tact after they are allocated for a user. The default behavior is to free the volume from the PVC after each desktop session so it can be used across other namespaces. Note that if you set this value to `true` users will only be able to launch sessions in a single namespace (unless the PVC is manually removed). + type: boolean selector: description: A label query over volumes to consider for binding. properties: @@ -2120,7 +2155,7 @@ spec: description: Name of the environment variable. Must be a C_IDENTIFIER. type: string value: - description: 'Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".' + description: 'Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".' type: string valueFrom: description: Source for the environment variable's value. Cannot be used if value is not empty. @@ -2728,7 +2763,23 @@ spec: type: string type: array dataSource: - description: 'This field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) * An existing custom resource that implements data population (Alpha) In order to use custom resource types that implement data population, the AnyVolumeDataSource feature gate must be enabled. If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source.' + description: 'This field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. If the AnyVolumeDataSource feature gate is enabled, this field will always have the same contents as the DataSourceRef field.' + properties: + apiGroup: + description: APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required. + type: string + kind: + description: Kind is the type of resource being referenced + type: string + name: + description: Name is the name of resource being referenced + type: string + required: + - kind + - name + type: object + dataSourceRef: + description: 'Specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any local object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the DataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, both fields (DataSource and DataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. There are two important differences between DataSource and DataSourceRef: * While DataSource only allows two specific types of objects, DataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While DataSource ignores disallowed values (dropping them), DataSourceRef preserves all values, and generates an error if a disallowed value is specified. (Alpha) Using this field requires the AnyVolumeDataSource feature gate to be enabled.' properties: apiGroup: description: APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required. @@ -3735,7 +3786,23 @@ spec: type: string type: array dataSource: - description: 'This field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) * An existing custom resource that implements data population (Alpha) In order to use custom resource types that implement data population, the AnyVolumeDataSource feature gate must be enabled. If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source.' + description: 'This field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. If the AnyVolumeDataSource feature gate is enabled, this field will always have the same contents as the DataSourceRef field.' + properties: + apiGroup: + description: APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required. + type: string + kind: + description: Kind is the type of resource being referenced + type: string + name: + description: Name is the name of resource being referenced + type: string + required: + - kind + - name + type: object + dataSourceRef: + description: 'Specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any local object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the DataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, both fields (DataSource and DataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. There are two important differences between DataSource and DataSourceRef: * While DataSource only allows two specific types of objects, DataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While DataSource ignores disallowed values (dropping them), DataSourceRef preserves all values, and generates an error if a disallowed value is specified. (Alpha) Using this field requires the AnyVolumeDataSource feature gate to be enabled.' properties: apiGroup: description: APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required. @@ -3772,6 +3839,9 @@ spec: description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' type: object type: object + retainPVCs: + description: RetainPVCs tells the desktop controller to leave PVCs in-tact after they are allocated for a user. The default behavior is to free the volume from the PVC after each desktop session so it can be used across other namespaces. Note that if you set this value to `true` users will only be able to launch sessions in a single namespace (unless the PVC is manually removed). + type: boolean selector: description: A label query over volumes to consider for binding. properties: @@ -4242,7 +4312,7 @@ spec: - --leader-elect command: - /manager - image: ghcr.io/kvdi/manager:v0.3.5 + image: ghcr.io/kvdi/manager:v0.3.6 livenessProbe: httpGet: path: /healthz diff --git a/doc/appv1.md b/doc/appv1.md index 42836038..5e6db849 100644 --- a/doc/appv1.md +++ b/doc/appv1.md @@ -20,6 +20,7 @@ Types - [ServiceMonitorConfig](#ServiceMonitorConfig) - [TLSConfig](#TLSConfig) - [UserdataSelector](#UserdataSelector) +- [UserdataSpec](#UserdataSpec) - [VDICluster](#VDICluster) - [VDIClusterSpec](#VDIClusterSpec) - [VaultConfig](#VaultConfig) @@ -501,6 +502,32 @@ yourself. +### UserdataSpec + +(*Appears on:* [VDIClusterSpec](#VDIClusterSpec)) + +UserdataSpec is an inline of the corev1 PersistentVolumeClaimSpec. It +contains additional fields for controlling how kvdi works with volumes. + + + + + + + + + + + + + + + + + + +
FieldDescription
PersistentVolumeClaimSpec Kubernetes core/v1.PersistentVolumeClaimSpec

(Members of PersistentVolumeClaimSpec are embedded into this type.)

retainPVCs bool

RetainPVCs tells the desktop controller to leave PVCs in-tact after they are allocated for a user. The default behavior is to free the volume from the PVC after each desktop session so it can be used across other namespaces. Note that if you set this value to true users will only be able to launch sessions in a single namespace (unless the PVC is manually removed).

+ ### VDICluster VDICluster is the Schema for the vdiclusters API @@ -541,7 +568,7 @@ VDICluster is the Schema for the vdiclusters API

Pull secrets to use when pulling container images

-userdataSpec Kubernetes core/v1.PersistentVolumeClaimSpec +userdataSpec UserdataSpec

The configuration for user $HOME volumes to be managed by kVDI.

NOTE: Even though the controller will try to force the reclaim policy on created volumes to Retain, you may want to set it explicitly on your storage-class controller as an extra safeguard.

@@ -606,7 +633,7 @@ VDIClusterSpec defines the desired state of VDICluster

Pull secrets to use when pulling container images

-userdataSpec Kubernetes core/v1.PersistentVolumeClaimSpec +userdataSpec UserdataSpec

The configuration for user $HOME volumes to be managed by kVDI.

NOTE: Even though the controller will try to force the reclaim policy on created volumes to Retain, you may want to set it explicitly on your storage-class controller as an extra safeguard.

@@ -681,4 +708,4 @@ server. ------------------------------------------------------------------------ -*Generated with `gen-crd-api-reference-docs` on git commit `c4e330a`.* +*Generated with `gen-crd-api-reference-docs` on git commit `c911719`.* diff --git a/doc/desktopsv1.md b/doc/desktopsv1.md index 597dcc8f..384464df 100644 --- a/doc/desktopsv1.md +++ b/doc/desktopsv1.md @@ -430,4 +430,4 @@ TemplateSpec defines the desired state of Template ------------------------------------------------------------------------ -*Generated with `gen-crd-api-reference-docs` on git commit `c4e330a`.* +*Generated with `gen-crd-api-reference-docs` on git commit `c911719`.* diff --git a/doc/kvdictl/kvdictl.md b/doc/kvdictl/kvdictl.md index 37ddb214..7252065a 100644 --- a/doc/kvdictl/kvdictl.md +++ b/doc/kvdictl/kvdictl.md @@ -64,4 +64,4 @@ Complete documentation for kvdi is available at https://github.com/kvdi/kvdi * [kvdictl users](kvdictl_users.md) - Users commands * [kvdictl version](kvdictl_version.md) - Retrieve kVDI version information -###### Auto generated by spf13/cobra on 14-Aug-2021 +###### Auto generated by spf13/cobra on 24-Oct-2021 diff --git a/doc/kvdictl/kvdictl_completion.md b/doc/kvdictl/kvdictl_completion.md index cf465dfd..7975fef8 100644 --- a/doc/kvdictl/kvdictl_completion.md +++ b/doc/kvdictl/kvdictl_completion.md @@ -61,4 +61,4 @@ kvdictl completion [bash|zsh|fish|powershell] * [kvdictl](kvdictl.md) - -###### Auto generated by spf13/cobra on 14-Aug-2021 +###### Auto generated by spf13/cobra on 24-Oct-2021 diff --git a/doc/kvdictl/kvdictl_config.md b/doc/kvdictl/kvdictl_config.md index 3730f0c2..33a82674 100644 --- a/doc/kvdictl/kvdictl_config.md +++ b/doc/kvdictl/kvdictl_config.md @@ -26,4 +26,4 @@ Configuration commands * [kvdictl config client](kvdictl_config_client.md) - Client configuration commands * [kvdictl config server](kvdictl_config_server.md) - Retrieve server configurations -###### Auto generated by spf13/cobra on 14-Aug-2021 +###### Auto generated by spf13/cobra on 24-Oct-2021 diff --git a/doc/kvdictl/kvdictl_config_client.md b/doc/kvdictl/kvdictl_config_client.md index 019b409e..93877412 100644 --- a/doc/kvdictl/kvdictl_config_client.md +++ b/doc/kvdictl/kvdictl_config_client.md @@ -26,4 +26,4 @@ Client configuration commands * [kvdictl config client get](kvdictl_config_client_get.md) - Retrieve client configurations * [kvdictl config client set](kvdictl_config_client_set.md) - Set client configurations -###### Auto generated by spf13/cobra on 14-Aug-2021 +###### Auto generated by spf13/cobra on 24-Oct-2021 diff --git a/doc/kvdictl/kvdictl_config_client_get.md b/doc/kvdictl/kvdictl_config_client_get.md index 8c22f5c5..8650421b 100644 --- a/doc/kvdictl/kvdictl_config_client_get.md +++ b/doc/kvdictl/kvdictl_config_client_get.md @@ -28,4 +28,4 @@ kvdictl config client get [flags] * [kvdictl config client](kvdictl_config_client.md) - Client configuration commands -###### Auto generated by spf13/cobra on 14-Aug-2021 +###### Auto generated by spf13/cobra on 24-Oct-2021 diff --git a/doc/kvdictl/kvdictl_config_client_set.md b/doc/kvdictl/kvdictl_config_client_set.md index dcab1757..a4e6e41f 100644 --- a/doc/kvdictl/kvdictl_config_client_set.md +++ b/doc/kvdictl/kvdictl_config_client_set.md @@ -28,4 +28,4 @@ kvdictl config client set [flags] * [kvdictl config client](kvdictl_config_client.md) - Client configuration commands -###### Auto generated by spf13/cobra on 14-Aug-2021 +###### Auto generated by spf13/cobra on 24-Oct-2021 diff --git a/doc/kvdictl/kvdictl_config_server.md b/doc/kvdictl/kvdictl_config_server.md index 87f71ed0..41f17389 100644 --- a/doc/kvdictl/kvdictl_config_server.md +++ b/doc/kvdictl/kvdictl_config_server.md @@ -28,4 +28,4 @@ kvdictl config server [flags] * [kvdictl config](kvdictl_config.md) - Configuration commands -###### Auto generated by spf13/cobra on 14-Aug-2021 +###### Auto generated by spf13/cobra on 24-Oct-2021 diff --git a/doc/kvdictl/kvdictl_install.md b/doc/kvdictl/kvdictl_install.md index c3f964b6..719e187f 100644 --- a/doc/kvdictl/kvdictl_install.md +++ b/doc/kvdictl/kvdictl_install.md @@ -43,4 +43,4 @@ kvdictl install [flags] * [kvdictl](kvdictl.md) - -###### Auto generated by spf13/cobra on 14-Aug-2021 +###### Auto generated by spf13/cobra on 24-Oct-2021 diff --git a/doc/kvdictl/kvdictl_roles.md b/doc/kvdictl/kvdictl_roles.md index 0d378bb9..f48de02b 100644 --- a/doc/kvdictl/kvdictl_roles.md +++ b/doc/kvdictl/kvdictl_roles.md @@ -29,4 +29,4 @@ Roles commands * [kvdictl roles get](kvdictl_roles_get.md) - Retrieve VDI role(s) * [kvdictl roles rules](kvdictl_roles_rules.md) - Manage VDI role rules -###### Auto generated by spf13/cobra on 14-Aug-2021 +###### Auto generated by spf13/cobra on 24-Oct-2021 diff --git a/doc/kvdictl/kvdictl_roles_annotations.md b/doc/kvdictl/kvdictl_roles_annotations.md index 5c3fdf20..b4b917a9 100644 --- a/doc/kvdictl/kvdictl_roles_annotations.md +++ b/doc/kvdictl/kvdictl_roles_annotations.md @@ -27,4 +27,4 @@ Manage VDI role annotations * [kvdictl roles annotations remove](kvdictl_roles_annotations_remove.md) - Remove annotations on a VDI role * [kvdictl roles annotations set](kvdictl_roles_annotations_set.md) - Set annotations on a VDI role -###### Auto generated by spf13/cobra on 14-Aug-2021 +###### Auto generated by spf13/cobra on 24-Oct-2021 diff --git a/doc/kvdictl/kvdictl_roles_annotations_remove.md b/doc/kvdictl/kvdictl_roles_annotations_remove.md index 753d7095..85b29bd6 100644 --- a/doc/kvdictl/kvdictl_roles_annotations_remove.md +++ b/doc/kvdictl/kvdictl_roles_annotations_remove.md @@ -29,4 +29,4 @@ kvdictl roles annotations remove [flags] * [kvdictl roles annotations](kvdictl_roles_annotations.md) - Manage VDI role annotations -###### Auto generated by spf13/cobra on 14-Aug-2021 +###### Auto generated by spf13/cobra on 24-Oct-2021 diff --git a/doc/kvdictl/kvdictl_roles_annotations_set.md b/doc/kvdictl/kvdictl_roles_annotations_set.md index 578c9f1d..ce8e87ed 100644 --- a/doc/kvdictl/kvdictl_roles_annotations_set.md +++ b/doc/kvdictl/kvdictl_roles_annotations_set.md @@ -29,4 +29,4 @@ kvdictl roles annotations set [flags] * [kvdictl roles annotations](kvdictl_roles_annotations.md) - Manage VDI role annotations -###### Auto generated by spf13/cobra on 14-Aug-2021 +###### Auto generated by spf13/cobra on 24-Oct-2021 diff --git a/doc/kvdictl/kvdictl_roles_create.md b/doc/kvdictl/kvdictl_roles_create.md index 04e6e426..2f290e2e 100644 --- a/doc/kvdictl/kvdictl_roles_create.md +++ b/doc/kvdictl/kvdictl_roles_create.md @@ -34,4 +34,4 @@ kvdictl roles create [flags] * [kvdictl roles](kvdictl_roles.md) - Roles commands -###### Auto generated by spf13/cobra on 14-Aug-2021 +###### Auto generated by spf13/cobra on 24-Oct-2021 diff --git a/doc/kvdictl/kvdictl_roles_delete.md b/doc/kvdictl/kvdictl_roles_delete.md index b4478b34..6e9390bc 100644 --- a/doc/kvdictl/kvdictl_roles_delete.md +++ b/doc/kvdictl/kvdictl_roles_delete.md @@ -28,4 +28,4 @@ kvdictl roles delete [ROLES...] [flags] * [kvdictl roles](kvdictl_roles.md) - Roles commands -###### Auto generated by spf13/cobra on 14-Aug-2021 +###### Auto generated by spf13/cobra on 24-Oct-2021 diff --git a/doc/kvdictl/kvdictl_roles_get.md b/doc/kvdictl/kvdictl_roles_get.md index e16eec8e..d616f8d1 100644 --- a/doc/kvdictl/kvdictl_roles_get.md +++ b/doc/kvdictl/kvdictl_roles_get.md @@ -28,4 +28,4 @@ kvdictl roles get [NAME] [flags] * [kvdictl roles](kvdictl_roles.md) - Roles commands -###### Auto generated by spf13/cobra on 14-Aug-2021 +###### Auto generated by spf13/cobra on 24-Oct-2021 diff --git a/doc/kvdictl/kvdictl_roles_rules.md b/doc/kvdictl/kvdictl_roles_rules.md index 4eb567bb..b555625c 100644 --- a/doc/kvdictl/kvdictl_roles_rules.md +++ b/doc/kvdictl/kvdictl_roles_rules.md @@ -26,4 +26,4 @@ Manage VDI role rules * [kvdictl roles rules add](kvdictl_roles_rules_add.md) - Add rules to a VDI role * [kvdictl roles rules remove](kvdictl_roles_rules_remove.md) - Remove rules from a VDI role -###### Auto generated by spf13/cobra on 14-Aug-2021 +###### Auto generated by spf13/cobra on 24-Oct-2021 diff --git a/doc/kvdictl/kvdictl_roles_rules_add.md b/doc/kvdictl/kvdictl_roles_rules_add.md index 52492d2b..188d9859 100644 --- a/doc/kvdictl/kvdictl_roles_rules_add.md +++ b/doc/kvdictl/kvdictl_roles_rules_add.md @@ -33,4 +33,4 @@ kvdictl roles rules add [flags] * [kvdictl roles rules](kvdictl_roles_rules.md) - Manage VDI role rules -###### Auto generated by spf13/cobra on 14-Aug-2021 +###### Auto generated by spf13/cobra on 24-Oct-2021 diff --git a/doc/kvdictl/kvdictl_roles_rules_remove.md b/doc/kvdictl/kvdictl_roles_rules_remove.md index 5706178f..cb1ef87d 100644 --- a/doc/kvdictl/kvdictl_roles_rules_remove.md +++ b/doc/kvdictl/kvdictl_roles_rules_remove.md @@ -40,4 +40,4 @@ kvdictl roles rules remove [flags] * [kvdictl roles rules](kvdictl_roles_rules.md) - Manage VDI role rules -###### Auto generated by spf13/cobra on 14-Aug-2021 +###### Auto generated by spf13/cobra on 24-Oct-2021 diff --git a/doc/kvdictl/kvdictl_sessions.md b/doc/kvdictl/kvdictl_sessions.md index 3d673165..47b2cf02 100644 --- a/doc/kvdictl/kvdictl_sessions.md +++ b/doc/kvdictl/kvdictl_sessions.md @@ -29,4 +29,4 @@ Desktop sessions commands * [kvdictl sessions proxy](kvdictl_sessions_proxy.md) - Proxy VDI sessions to the local machine * [kvdictl sessions stat](kvdictl_sessions_stat.md) - List files and directories in a VDI session -###### Auto generated by spf13/cobra on 14-Aug-2021 +###### Auto generated by spf13/cobra on 24-Oct-2021 diff --git a/doc/kvdictl/kvdictl_sessions_create.md b/doc/kvdictl/kvdictl_sessions_create.md index 01705a2b..e15c4dbd 100644 --- a/doc/kvdictl/kvdictl_sessions_create.md +++ b/doc/kvdictl/kvdictl_sessions_create.md @@ -31,4 +31,4 @@ kvdictl sessions create [flags] * [kvdictl sessions](kvdictl_sessions.md) - Desktop sessions commands -###### Auto generated by spf13/cobra on 14-Aug-2021 +###### Auto generated by spf13/cobra on 24-Oct-2021 diff --git a/doc/kvdictl/kvdictl_sessions_delete.md b/doc/kvdictl/kvdictl_sessions_delete.md index 520db245..7097c629 100644 --- a/doc/kvdictl/kvdictl_sessions_delete.md +++ b/doc/kvdictl/kvdictl_sessions_delete.md @@ -28,4 +28,4 @@ kvdictl sessions delete [SESSIONS...] [flags] * [kvdictl sessions](kvdictl_sessions.md) - Desktop sessions commands -###### Auto generated by spf13/cobra on 14-Aug-2021 +###### Auto generated by spf13/cobra on 24-Oct-2021 diff --git a/doc/kvdictl/kvdictl_sessions_get.md b/doc/kvdictl/kvdictl_sessions_get.md index 9243cbfb..dedc6b49 100644 --- a/doc/kvdictl/kvdictl_sessions_get.md +++ b/doc/kvdictl/kvdictl_sessions_get.md @@ -28,4 +28,4 @@ kvdictl sessions get [SESSION] [flags] * [kvdictl sessions](kvdictl_sessions.md) - Desktop sessions commands -###### Auto generated by spf13/cobra on 14-Aug-2021 +###### Auto generated by spf13/cobra on 24-Oct-2021 diff --git a/doc/kvdictl/kvdictl_sessions_proxy.md b/doc/kvdictl/kvdictl_sessions_proxy.md index 6eba9828..8436db3f 100644 --- a/doc/kvdictl/kvdictl_sessions_proxy.md +++ b/doc/kvdictl/kvdictl_sessions_proxy.md @@ -28,4 +28,4 @@ Proxy VDI sessions to the local machine * [kvdictl sessions proxy audio](kvdictl_sessions_proxy_audio.md) - Proxy a session's audio * [kvdictl sessions proxy display](kvdictl_sessions_proxy_display.md) - Proxy a session's display -###### Auto generated by spf13/cobra on 14-Aug-2021 +###### Auto generated by spf13/cobra on 24-Oct-2021 diff --git a/doc/kvdictl/kvdictl_sessions_proxy_audio.md b/doc/kvdictl/kvdictl_sessions_proxy_audio.md index 3dd62226..95c3d3fd 100644 --- a/doc/kvdictl/kvdictl_sessions_proxy_audio.md +++ b/doc/kvdictl/kvdictl_sessions_proxy_audio.md @@ -30,4 +30,4 @@ kvdictl sessions proxy audio [flags] * [kvdictl sessions proxy](kvdictl_sessions_proxy.md) - Proxy VDI sessions to the local machine -###### Auto generated by spf13/cobra on 14-Aug-2021 +###### Auto generated by spf13/cobra on 24-Oct-2021 diff --git a/doc/kvdictl/kvdictl_sessions_proxy_display.md b/doc/kvdictl/kvdictl_sessions_proxy_display.md index 9cbadef1..fce23725 100644 --- a/doc/kvdictl/kvdictl_sessions_proxy_display.md +++ b/doc/kvdictl/kvdictl_sessions_proxy_display.md @@ -30,4 +30,4 @@ kvdictl sessions proxy display [flags] * [kvdictl sessions proxy](kvdictl_sessions_proxy.md) - Proxy VDI sessions to the local machine -###### Auto generated by spf13/cobra on 14-Aug-2021 +###### Auto generated by spf13/cobra on 24-Oct-2021 diff --git a/doc/kvdictl/kvdictl_sessions_stat.md b/doc/kvdictl/kvdictl_sessions_stat.md index 5d154960..f406720d 100644 --- a/doc/kvdictl/kvdictl_sessions_stat.md +++ b/doc/kvdictl/kvdictl_sessions_stat.md @@ -28,4 +28,4 @@ kvdictl sessions stat [flags] * [kvdictl sessions](kvdictl_sessions.md) - Desktop sessions commands -###### Auto generated by spf13/cobra on 14-Aug-2021 +###### Auto generated by spf13/cobra on 24-Oct-2021 diff --git a/doc/kvdictl/kvdictl_templates.md b/doc/kvdictl/kvdictl_templates.md index 6c24ac07..f77d84ec 100644 --- a/doc/kvdictl/kvdictl_templates.md +++ b/doc/kvdictl/kvdictl_templates.md @@ -25,4 +25,4 @@ Templates commands * [kvdictl](kvdictl.md) - * [kvdictl templates get](kvdictl_templates_get.md) - Retrieve VDI template(s) -###### Auto generated by spf13/cobra on 14-Aug-2021 +###### Auto generated by spf13/cobra on 24-Oct-2021 diff --git a/doc/kvdictl/kvdictl_templates_get.md b/doc/kvdictl/kvdictl_templates_get.md index 0daadc4e..29a625a4 100644 --- a/doc/kvdictl/kvdictl_templates_get.md +++ b/doc/kvdictl/kvdictl_templates_get.md @@ -28,4 +28,4 @@ kvdictl templates get [NAME] [flags] * [kvdictl templates](kvdictl_templates.md) - Templates commands -###### Auto generated by spf13/cobra on 14-Aug-2021 +###### Auto generated by spf13/cobra on 24-Oct-2021 diff --git a/doc/kvdictl/kvdictl_users.md b/doc/kvdictl/kvdictl_users.md index 76eb34f4..113ba69b 100644 --- a/doc/kvdictl/kvdictl_users.md +++ b/doc/kvdictl/kvdictl_users.md @@ -28,4 +28,4 @@ Users commands * [kvdictl users get](kvdictl_users_get.md) - Retrieve VDI user(s) * [kvdictl users update](kvdictl_users_update.md) - Update VDI users -###### Auto generated by spf13/cobra on 14-Aug-2021 +###### Auto generated by spf13/cobra on 24-Oct-2021 diff --git a/doc/kvdictl/kvdictl_users_create.md b/doc/kvdictl/kvdictl_users_create.md index e819f958..11fc8733 100644 --- a/doc/kvdictl/kvdictl_users_create.md +++ b/doc/kvdictl/kvdictl_users_create.md @@ -32,4 +32,4 @@ kvdictl users create [flags] * [kvdictl users](kvdictl_users.md) - Users commands -###### Auto generated by spf13/cobra on 14-Aug-2021 +###### Auto generated by spf13/cobra on 24-Oct-2021 diff --git a/doc/kvdictl/kvdictl_users_delete.md b/doc/kvdictl/kvdictl_users_delete.md index b217bd58..522dc31b 100644 --- a/doc/kvdictl/kvdictl_users_delete.md +++ b/doc/kvdictl/kvdictl_users_delete.md @@ -28,4 +28,4 @@ kvdictl users delete [USERS...] [flags] * [kvdictl users](kvdictl_users.md) - Users commands -###### Auto generated by spf13/cobra on 14-Aug-2021 +###### Auto generated by spf13/cobra on 24-Oct-2021 diff --git a/doc/kvdictl/kvdictl_users_get.md b/doc/kvdictl/kvdictl_users_get.md index 60af4486..7c1ec20a 100644 --- a/doc/kvdictl/kvdictl_users_get.md +++ b/doc/kvdictl/kvdictl_users_get.md @@ -28,4 +28,4 @@ kvdictl users get [NAME] [flags] * [kvdictl users](kvdictl_users.md) - Users commands -###### Auto generated by spf13/cobra on 14-Aug-2021 +###### Auto generated by spf13/cobra on 24-Oct-2021 diff --git a/doc/kvdictl/kvdictl_users_update.md b/doc/kvdictl/kvdictl_users_update.md index 25d744eb..39f1ebf0 100644 --- a/doc/kvdictl/kvdictl_users_update.md +++ b/doc/kvdictl/kvdictl_users_update.md @@ -32,4 +32,4 @@ kvdictl users update [USER] [flags] * [kvdictl users](kvdictl_users.md) - Users commands -###### Auto generated by spf13/cobra on 14-Aug-2021 +###### Auto generated by spf13/cobra on 24-Oct-2021 diff --git a/doc/kvdictl/kvdictl_version.md b/doc/kvdictl/kvdictl_version.md index 1c4f42dc..1f81e55e 100644 --- a/doc/kvdictl/kvdictl_version.md +++ b/doc/kvdictl/kvdictl_version.md @@ -28,4 +28,4 @@ kvdictl version [flags] * [kvdictl](kvdictl.md) - -###### Auto generated by spf13/cobra on 14-Aug-2021 +###### Auto generated by spf13/cobra on 24-Oct-2021 diff --git a/doc/rbacv1.md b/doc/rbacv1.md index 4bcfd120..384249e9 100644 --- a/doc/rbacv1.md +++ b/doc/rbacv1.md @@ -94,4 +94,4 @@ Verb represents an API action ------------------------------------------------------------------------ -*Generated with `gen-crd-api-reference-docs` on git commit `c4e330a`.* +*Generated with `gen-crd-api-reference-docs` on git commit `c911719`.*