diff --git a/apis/core/v1alpha1/types.go b/apis/core/v1alpha1/types.go index ed205961..f1189fd4 100644 --- a/apis/core/v1alpha1/types.go +++ b/apis/core/v1alpha1/types.go @@ -38,7 +38,7 @@ type AddonInfo struct { // +optional ContainerRuntimeSettings *ofst.ContainerRuntimeSettings `json:"containerRuntimeSettings,omitempty"` - // JobTemplate specifies runtime configurations for the bakcup/restore Job + // JobTemplate specifies runtime configurations for the backup/restore Job // +optional JobTemplate *ofst.PodTemplateSpec `json:"jobTemplate,omitempty"` } diff --git a/apis/storage/v1alpha1/types.go b/apis/storage/v1alpha1/types.go index 1861ee2f..c07fba5a 100644 --- a/apis/storage/v1alpha1/types.go +++ b/apis/storage/v1alpha1/types.go @@ -124,6 +124,9 @@ type GCSSpec struct { } type AzureSpec struct { + // StorageAccount specifies the name of the Azure Storage Account + StorageAccount string `json:"storageAccount,omitempty"` + // Container specifies the name of the Azure Blob container that will be used as storage backend. Container string `json:"container,omitempty"` diff --git a/crds/core.kubestash.com_backupbatches.yaml b/crds/core.kubestash.com_backupbatches.yaml index 28b0e1b1..b1521c35 100644 --- a/crds/core.kubestash.com_backupbatches.yaml +++ b/crds/core.kubestash.com_backupbatches.yaml @@ -2540,6 +2540,12 @@ spec: that will be attached with the respective Pod type: object + podLabels: + additionalProperties: + type: string + description: PodLabels are the labels that + will be attached with the respective Pod + type: object priority: description: The priority value. Various system components use this field to find the priority @@ -7674,6 +7680,12 @@ spec: that will be attached with the respective Pod type: object + podLabels: + additionalProperties: + type: string + description: PodLabels are the labels that + will be attached with the respective Pod + type: object priority: description: The priority value. Various system components use this field to find the priority @@ -12027,6 +12039,13 @@ spec: options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. type: string + enableServiceLinks: + description: 'EnableServiceLinks indicates whether + information about services should be injected + into pod''s environment variables, matching + the syntax of Docker links. Optional: Defaults + to true.' + type: boolean env: description: List of environment variables to set in the container. Cannot be updated. @@ -12173,12 +12192,13 @@ spec: Optional: Default to false.' type: boolean imagePullSecrets: - description: ImagePullSecrets is an optional + description: 'ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller - implementations for them to use. + implementations for them to use. More info: + https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod' items: description: LocalObjectReference contains enough information to let you locate the @@ -14182,6 +14202,7 @@ spec: for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/' type: object + x-kubernetes-map-type: atomic priority: description: The priority value. Various system components use this field to find the priority @@ -14411,6 +14432,16 @@ spec: value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' type: object type: object + runtimeClassName: + description: 'RuntimeClassName refers to a RuntimeClass + object in the node.k8s.io group, which should + be used to run this pod. If no RuntimeClass + resource matches the named class, the pod + will not be run. If unset or empty, the "legacy" + RuntimeClass will be used, which is an implicit + class with an empty definition that uses the + default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class' + type: string schedulerName: description: If specified, the pod will be dispatched by specified scheduler. If not specified, @@ -18229,7 +18260,7 @@ spec: type: object jobTemplate: description: JobTemplate specifies runtime configurations - for the bakcup/restore Job + for the backup/restore Job properties: controller: description: 'Workload controller''s metadata. @@ -19797,6 +19828,13 @@ spec: you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. type: string + enableServiceLinks: + description: 'EnableServiceLinks indicates + whether information about services should + be injected into pod''s environment variables, + matching the syntax of Docker links. Optional: + Defaults to true.' + type: boolean env: description: List of environment variables to set in the container. Cannot be updated. @@ -19948,12 +19986,13 @@ spec: Optional: Default to false.' type: boolean imagePullSecrets: - description: ImagePullSecrets is an optional + description: 'ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. + More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod' items: description: LocalObjectReference contains enough information to let you locate the @@ -22033,6 +22072,7 @@ spec: for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/' type: object + x-kubernetes-map-type: atomic priority: description: The priority value. Various system components use this field to find the priority @@ -22267,6 +22307,17 @@ spec: value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' type: object type: object + runtimeClassName: + description: 'RuntimeClassName refers to a + RuntimeClass object in the node.k8s.io group, + which should be used to run this pod. If + no RuntimeClass resource matches the named + class, the pod will not be run. If unset + or empty, the "legacy" RuntimeClass will + be used, which is an implicit class with + an empty definition that uses the default + runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class' + type: string schedulerName: description: If specified, the pod will be dispatched by specified scheduler. If not diff --git a/crds/core.kubestash.com_backupblueprints.yaml b/crds/core.kubestash.com_backupblueprints.yaml index a643a558..7688d39f 100644 --- a/crds/core.kubestash.com_backupblueprints.yaml +++ b/crds/core.kubestash.com_backupblueprints.yaml @@ -1115,7 +1115,7 @@ spec: type: object jobTemplate: description: JobTemplate specifies runtime configurations - for the bakcup/restore Job + for the backup/restore Job properties: controller: description: 'Workload controller''s metadata. More @@ -2633,6 +2633,13 @@ spec: options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. type: string + enableServiceLinks: + description: 'EnableServiceLinks indicates whether + information about services should be injected + into pod''s environment variables, matching + the syntax of Docker links. Optional: Defaults + to true.' + type: boolean env: description: List of environment variables to set in the container. Cannot be updated. @@ -2779,12 +2786,13 @@ spec: Optional: Default to false.' type: boolean imagePullSecrets: - description: ImagePullSecrets is an optional + description: 'ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller - implementations for them to use. + implementations for them to use. More info: + https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod' items: description: LocalObjectReference contains enough information to let you locate the @@ -4788,6 +4796,7 @@ spec: for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/' type: object + x-kubernetes-map-type: atomic priority: description: The priority value. Various system components use this field to find the priority @@ -5017,6 +5026,16 @@ spec: value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' type: object type: object + runtimeClassName: + description: 'RuntimeClassName refers to a RuntimeClass + object in the node.k8s.io group, which should + be used to run this pod. If no RuntimeClass + resource matches the named class, the pod + will not be run. If unset or empty, the "legacy" + RuntimeClass will be used, which is an implicit + class with an empty definition that uses the + default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class' + type: string schedulerName: description: If specified, the pod will be dispatched by specified scheduler. If not specified, @@ -16146,6 +16165,13 @@ spec: that will be attached with the respective Pod type: object + podLabels: + additionalProperties: + type: string + description: PodLabels are the labels + that will be attached with the respective + Pod + type: object priority: description: The priority value. Various system components use this field to @@ -21706,6 +21732,13 @@ spec: that will be attached with the respective Pod type: object + podLabels: + additionalProperties: + type: string + description: PodLabels are the labels + that will be attached with the respective + Pod + type: object priority: description: The priority value. Various system components use this field to @@ -26454,6 +26487,13 @@ spec: set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. type: string + enableServiceLinks: + description: 'EnableServiceLinks indicates + whether information about services should + be injected into pod''s environment variables, + matching the syntax of Docker links. Optional: + Defaults to true.' + type: boolean env: description: List of environment variables to set in the container. Cannot be updated. @@ -26609,12 +26649,13 @@ spec: Optional: Default to false.' type: boolean imagePullSecrets: - description: ImagePullSecrets is an optional + description: 'ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. + More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod' items: description: LocalObjectReference contains enough information to let you locate @@ -28767,6 +28808,7 @@ spec: node''s labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/' type: object + x-kubernetes-map-type: atomic priority: description: The priority value. Various system components use this field to find @@ -29007,6 +29049,17 @@ spec: More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' type: object type: object + runtimeClassName: + description: 'RuntimeClassName refers to + a RuntimeClass object in the node.k8s.io + group, which should be used to run this + pod. If no RuntimeClass resource matches + the named class, the pod will not be run. + If unset or empty, the "legacy" RuntimeClass + will be used, which is an implicit class + with an empty definition that uses the + default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class' + type: string schedulerName: description: If specified, the pod will be dispatched by specified scheduler. diff --git a/crds/core.kubestash.com_backupconfigurations.yaml b/crds/core.kubestash.com_backupconfigurations.yaml index 9209fc53..713b235a 100644 --- a/crds/core.kubestash.com_backupconfigurations.yaml +++ b/crds/core.kubestash.com_backupconfigurations.yaml @@ -1063,7 +1063,7 @@ spec: type: object jobTemplate: description: JobTemplate specifies runtime configurations - for the bakcup/restore Job + for the backup/restore Job properties: controller: description: 'Workload controller''s metadata. More @@ -2466,6 +2466,13 @@ spec: along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. type: string + enableServiceLinks: + description: 'EnableServiceLinks indicates whether + information about services should be injected + into pod''s environment variables, matching the + syntax of Docker links. Optional: Defaults to + true.' + type: boolean env: description: List of environment variables to set in the container. Cannot be updated. @@ -2607,12 +2614,12 @@ spec: Default to false.' type: boolean imagePullSecrets: - description: ImagePullSecrets is an optional list + description: 'ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them - to use. + to use. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod' items: description: LocalObjectReference contains enough information to let you locate the referenced @@ -4509,6 +4516,7 @@ spec: which must match a node''s labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/' type: object + x-kubernetes-map-type: atomic priority: description: The priority value. Various system components use this field to find the priority @@ -4725,6 +4733,16 @@ spec: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' type: object type: object + runtimeClassName: + description: 'RuntimeClassName refers to a RuntimeClass + object in the node.k8s.io group, which should + be used to run this pod. If no RuntimeClass resource + matches the named class, the pod will not be run. + If unset or empty, the "legacy" RuntimeClass will + be used, which is an implicit class with an empty + definition that uses the default runtime handler. + More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class' + type: string schedulerName: description: If specified, the pod will be dispatched by specified scheduler. If not specified, the @@ -14953,6 +14971,12 @@ spec: that will be attached with the respective Pod type: object + podLabels: + additionalProperties: + type: string + description: PodLabels are the labels that + will be attached with the respective Pod + type: object priority: description: The priority value. Various system components use this field to find the priority @@ -20087,6 +20111,12 @@ spec: that will be attached with the respective Pod type: object + podLabels: + additionalProperties: + type: string + description: PodLabels are the labels that + will be attached with the respective Pod + type: object priority: description: The priority value. Various system components use this field to find the priority @@ -24490,6 +24520,13 @@ spec: options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. type: string + enableServiceLinks: + description: 'EnableServiceLinks indicates whether + information about services should be injected + into pod''s environment variables, matching + the syntax of Docker links. Optional: Defaults + to true.' + type: boolean env: description: List of environment variables to set in the container. Cannot be updated. @@ -24636,12 +24673,13 @@ spec: Optional: Default to false.' type: boolean imagePullSecrets: - description: ImagePullSecrets is an optional + description: 'ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller - implementations for them to use. + implementations for them to use. More info: + https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod' items: description: LocalObjectReference contains enough information to let you locate the @@ -26645,6 +26683,7 @@ spec: for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/' type: object + x-kubernetes-map-type: atomic priority: description: The priority value. Various system components use this field to find the priority @@ -26874,6 +26913,16 @@ spec: value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' type: object type: object + runtimeClassName: + description: 'RuntimeClassName refers to a RuntimeClass + object in the node.k8s.io group, which should + be used to run this pod. If no RuntimeClass + resource matches the named class, the pod + will not be run. If unset or empty, the "legacy" + RuntimeClass will be used, which is an implicit + class with an empty definition that uses the + default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class' + type: string schedulerName: description: If specified, the pod will be dispatched by specified scheduler. If not specified, diff --git a/crds/core.kubestash.com_restoresessions.yaml b/crds/core.kubestash.com_restoresessions.yaml index 8f0088fd..6474b2ba 100644 --- a/crds/core.kubestash.com_restoresessions.yaml +++ b/crds/core.kubestash.com_restoresessions.yaml @@ -958,7 +958,7 @@ spec: type: object jobTemplate: description: JobTemplate specifies runtime configurations for - the bakcup/restore Job + the backup/restore Job properties: controller: description: 'Workload controller''s metadata. More info: @@ -2209,6 +2209,12 @@ spec: To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. type: string + enableServiceLinks: + description: 'EnableServiceLinks indicates whether information + about services should be injected into pod''s environment + variables, matching the syntax of Docker links. Optional: + Defaults to true.' + type: boolean env: description: List of environment variables to set in the container. Cannot be updated. @@ -2345,11 +2351,11 @@ spec: Default to false.' type: boolean imagePullSecrets: - description: ImagePullSecrets is an optional list of references - to secrets in the same namespace to use for pulling - any of the images used by this PodSpec. If specified, + description: 'ImagePullSecrets is an optional list of + references to secrets in the same namespace to use for + pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations - for them to use. + for them to use. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod' items: description: LocalObjectReference contains enough information to let you locate the referenced object inside the @@ -4101,6 +4107,7 @@ spec: match a node''s labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/' type: object + x-kubernetes-map-type: atomic priority: description: The priority value. Various system components use this field to find the priority of the pod. When @@ -4305,6 +4312,15 @@ spec: value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' type: object type: object + runtimeClassName: + description: 'RuntimeClassName refers to a RuntimeClass + object in the node.k8s.io group, which should be used + to run this pod. If no RuntimeClass resource matches + the named class, the pod will not be run. If unset or + empty, the "legacy" RuntimeClass will be used, which + is an implicit class with an empty definition that uses + the default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class' + type: string schedulerName: description: If specified, the pod will be dispatched by specified scheduler. If not specified, the pod will @@ -13654,6 +13670,12 @@ spec: description: PodAnnotations are the annotations that will be attached with the respective Pod type: object + podLabels: + additionalProperties: + type: string + description: PodLabels are the labels that will + be attached with the respective Pod + type: object priority: description: The priority value. Various system components use this field to find the priority @@ -18343,6 +18365,12 @@ spec: description: PodAnnotations are the annotations that will be attached with the respective Pod type: object + podLabels: + additionalProperties: + type: string + description: PodLabels are the labels that will + be attached with the respective Pod + type: object priority: description: The priority value. Various system components use this field to find the priority @@ -22772,6 +22800,12 @@ spec: description: PodAnnotations are the annotations that will be attached with the respective Pod type: object + podLabels: + additionalProperties: + type: string + description: PodLabels are the labels that will be attached + with the respective Pod + type: object priority: description: The priority value. Various system components use this field to find the priority of the pod. When Priority diff --git a/crds/storage.kubestash.com_backupstorages.yaml b/crds/storage.kubestash.com_backupstorages.yaml index 24cd70d2..4c55d498 100644 --- a/crds/storage.kubestash.com_backupstorages.yaml +++ b/crds/storage.kubestash.com_backupstorages.yaml @@ -1931,6 +1931,12 @@ spec: description: PodAnnotations are the annotations that will be attached with the respective Pod type: object + podLabels: + additionalProperties: + type: string + description: PodLabels are the labels that will be attached + with the respective Pod + type: object priority: description: The priority value. Various system components use this field to find the priority of the pod. When Priority @@ -2429,6 +2435,10 @@ spec: description: Secret specifies the name of the Secret that contains the access credential for this storage. type: string + storageAccount: + description: StorageAccount specifies the name of the Azure + Storage Account + type: string type: object b2: description: B2 specifies the storage information for B2 bucket diff --git a/go.mod b/go.mod index 37f91b7f..c877426e 100644 --- a/go.mod +++ b/go.mod @@ -16,7 +16,7 @@ require ( kmodules.xyz/client-go v0.25.27 kmodules.xyz/crd-schema-fuzz v0.25.0 kmodules.xyz/objectstore-api v0.25.1 - kmodules.xyz/offshoot-api v0.25.2 + kmodules.xyz/offshoot-api v0.25.5-0.20231004063620-dff8fb030d57 kmodules.xyz/prober v0.25.0 sigs.k8s.io/controller-runtime v0.13.1 sigs.k8s.io/yaml v1.3.0 diff --git a/go.sum b/go.sum index 724ce899..1bee00d1 100644 --- a/go.sum +++ b/go.sum @@ -625,8 +625,8 @@ kmodules.xyz/crd-schema-fuzz v0.25.0 h1:c5ZxNRqJak1bkGhECmyrKpzKGThFMB4088Kynyvn kmodules.xyz/crd-schema-fuzz v0.25.0/go.mod h1:VigFz19GwCxMGhb3YjCtlSXmfXb0J/g9du1So6rvqsk= kmodules.xyz/objectstore-api v0.25.1 h1:lYQlxk+edgZYakhq+OoRBXTbHbZTGKhatGZWnKixgEQ= kmodules.xyz/objectstore-api v0.25.1/go.mod h1:6wBtktN7/EXyE429OTCB9nwEe+d0ADaoCtm6+IZnJso= -kmodules.xyz/offshoot-api v0.25.2 h1:71x+MB0AwD9UhzlNGRPAFuB3HVMIAjtXi2yB0IIs+1Y= -kmodules.xyz/offshoot-api v0.25.2/go.mod h1:PUk4EuJFhhyQykCflHj7EgXcljGIqs9vi0IN0RpxtY4= +kmodules.xyz/offshoot-api v0.25.5-0.20231004063620-dff8fb030d57 h1:4ld/ujZum5JX6cfYrW1yQErAl1AONEfJa8TDyRpnHuU= +kmodules.xyz/offshoot-api v0.25.5-0.20231004063620-dff8fb030d57/go.mod h1:PUk4EuJFhhyQykCflHj7EgXcljGIqs9vi0IN0RpxtY4= kmodules.xyz/prober v0.25.0 h1:R5uRLHJEvEtEoogj+vaTAob0Btph6+PX5IlS6hPh8PA= kmodules.xyz/prober v0.25.0/go.mod h1:z4RTnjaajNQa/vPltsiOnO3xI716I/ziD2ac2Exm+1M= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= diff --git a/pkg/restic/config.go b/pkg/restic/config.go index 77212751..1d1669c7 100644 --- a/pkg/restic/config.go +++ b/pkg/restic/config.go @@ -80,11 +80,12 @@ type DumpOptions struct { } type backend struct { - provider v1alpha1.StorageProvider - bucket string - endpoint string - region string - path string + provider v1alpha1.StorageProvider + bucket string + endpoint string + region string + path string + storageAccount string } type SetupOptions struct { diff --git a/pkg/restic/setup.go b/pkg/restic/setup.go index b2af86ab..c719a505 100644 --- a/pkg/restic/setup.go +++ b/pkg/restic/setup.go @@ -174,9 +174,10 @@ func (w *ResticWrapper) setupEnv() error { r := fmt.Sprintf("azure:%s:/%s", w.config.bucket, filepath.Join(w.config.path, w.config.Directory)) w.sh.SetEnv(RESTIC_REPOSITORY, r) - if err := w.exportSecretKey(AZURE_ACCOUNT_NAME, false); err != nil { - return err + if w.config.storageAccount == "" { + return fmt.Errorf("storageAccount name is empty") } + w.sh.SetEnv(AZURE_ACCOUNT_NAME, w.config.storageAccount) if err := w.exportSecretKey(AZURE_ACCOUNT_KEY, false); err != nil { return err @@ -389,6 +390,7 @@ func (w *ResticWrapper) setBackupStorageVariables() error { if azure := bs.Spec.Storage.Azure; azure != nil { w.config.provider = v1alpha1.ProviderAzure + w.config.storageAccount = azure.StorageAccount w.config.bucket = azure.Container w.config.path = azure.Prefix w.config.MaxConnections = azure.MaxConnections @@ -409,12 +411,16 @@ func (w *ResticWrapper) setBackupStorageVariables() error { return nil } - ss, err := w.getSecret(&kmapi.ObjectReference{ - Name: secret, - Namespace: bs.Namespace, - }) - if err != nil { - return fmt.Errorf("failed to get storage Secret %s/%s: %w", bs.Namespace, secret, err) + ss := &core.Secret{} + if secret != "" { + var err error + ss, err = w.getSecret(&kmapi.ObjectReference{ + Name: secret, + Namespace: bs.Namespace, + }) + if err != nil { + return fmt.Errorf("failed to get storage Secret %s/%s: %w", bs.Namespace, secret, err) + } } es, err := w.getSecret(w.config.EncryptionSecret) diff --git a/vendor/kmodules.xyz/offshoot-api/api/v1/generated.pb.go b/vendor/kmodules.xyz/offshoot-api/api/v1/generated.pb.go index 9d01b59f..aacde229 100644 --- a/vendor/kmodules.xyz/offshoot-api/api/v1/generated.pb.go +++ b/vendor/kmodules.xyz/offshoot-api/api/v1/generated.pb.go @@ -537,6 +537,7 @@ func init() { proto.RegisterType((*PodRuntimeSettings)(nil), "kmodules.xyz.offshoot_api.api.v1.PodRuntimeSettings") proto.RegisterMapType((map[string]string)(nil), "kmodules.xyz.offshoot_api.api.v1.PodRuntimeSettings.NodeSelectorEntry") proto.RegisterMapType((map[string]string)(nil), "kmodules.xyz.offshoot_api.api.v1.PodRuntimeSettings.PodAnnotationsEntry") + proto.RegisterMapType((map[string]string)(nil), "kmodules.xyz.offshoot_api.api.v1.PodRuntimeSettings.PodLabelsEntry") proto.RegisterMapType((map[string]string)(nil), "kmodules.xyz.offshoot_api.api.v1.PodRuntimeSettings.ServiceAccountAnnotationsEntry") proto.RegisterType((*PodSpec)(nil), "kmodules.xyz.offshoot_api.api.v1.PodSpec") proto.RegisterMapType((map[string]string)(nil), "kmodules.xyz.offshoot_api.api.v1.PodSpec.NodeSelectorEntry") @@ -554,198 +555,203 @@ func init() { } var fileDescriptor_3a450b99b211cb39 = []byte{ - // 3048 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x5a, 0xcd, 0x6f, 0x1b, 0xc7, - 0x15, 0x37, 0x25, 0x51, 0x12, 0x87, 0xfa, 0x1c, 0x59, 0xf6, 0x4a, 0x91, 0x45, 0x85, 0x6d, 0x53, - 0x07, 0x89, 0xa9, 0x58, 0x71, 0x50, 0x27, 0x41, 0x9d, 0x6a, 0x29, 0xc9, 0x56, 0x2a, 0x4b, 0xec, - 0x50, 0x71, 0x9a, 0xa2, 0x4d, 0xb3, 0x5a, 0x0e, 0xc9, 0x8d, 0x96, 0x3b, 0xcc, 0xce, 0x50, 0xb2, - 0x52, 0x14, 0x0d, 0x7a, 0x28, 0x8a, 0x00, 0x05, 0x7a, 0xe8, 0xb9, 0xa7, 0x5e, 0x7b, 0x28, 0xd0, - 0x3f, 0xa1, 0x87, 0x00, 0xbd, 0xe4, 0x98, 0x43, 0xc1, 0x36, 0xcc, 0x7f, 0xe1, 0xa2, 0x40, 0x31, - 0x1f, 0xfb, 0xc5, 0x1d, 0xea, 0x2b, 0x76, 0x3f, 0x0e, 0x02, 0xb4, 0xef, 0xe3, 0xf7, 0x66, 0xde, - 0xbe, 0x79, 0xef, 0xcd, 0x5b, 0x82, 0x57, 0x0e, 0x5b, 0xa4, 0xd6, 0x71, 0x31, 0x2d, 0x3d, 0x3e, - 0xf9, 0x78, 0x95, 0xd4, 0xeb, 0xb4, 0x49, 0x08, 0xbb, 0x65, 0xb5, 0x9d, 0x55, 0xfe, 0x77, 0x74, - 0x7b, 0xb5, 0x81, 0x3d, 0xec, 0x5b, 0x0c, 0xd7, 0x4a, 0x6d, 0x9f, 0x30, 0x02, 0x57, 0xe2, 0x1a, - 0xa5, 0x40, 0xe3, 0xa7, 0x56, 0xdb, 0x29, 0xf1, 0xbf, 0xa3, 0xdb, 0x8b, 0xb7, 0x1a, 0x0e, 0x6b, - 0x76, 0x0e, 0x4a, 0x36, 0x69, 0xad, 0x36, 0x48, 0x83, 0xac, 0x0a, 0xc5, 0x83, 0x4e, 0x5d, 0x3c, - 0x89, 0x07, 0xf1, 0x9f, 0x04, 0x5c, 0x2c, 0x1e, 0xde, 0xa5, 0x25, 0x87, 0x08, 0x7b, 0x36, 0xf1, - 0xb1, 0xc6, 0xe8, 0xe2, 0x9d, 0x48, 0xa6, 0x65, 0xd9, 0x4d, 0xc7, 0xc3, 0xfe, 0xc9, 0x6a, 0xfb, - 0xb0, 0xc1, 0x09, 0x74, 0xb5, 0x85, 0x99, 0xa5, 0xd1, 0x2a, 0xfe, 0x2b, 0x0b, 0x8c, 0x32, 0xf1, - 0x98, 0xc5, 0xe5, 0x51, 0xc7, 0x63, 0x4e, 0x0b, 0x57, 0x31, 0x63, 0x8e, 0xd7, 0xa0, 0xf0, 0x3d, - 0x90, 0xf3, 0x31, 0x25, 0x1d, 0xdf, 0xc6, 0xd4, 0xc8, 0xac, 0x64, 0x6e, 0xe6, 0xd7, 0x6e, 0x96, - 0xa4, 0x19, 0xb1, 0x11, 0xbe, 0x94, 0xd2, 0xd1, 0xed, 0x12, 0x52, 0x42, 0x08, 0x7f, 0xd4, 0x71, - 0x7c, 0xdc, 0xc2, 0x1e, 0xa3, 0xe6, 0xec, 0x67, 0xdd, 0xc2, 0x95, 0x5e, 0xb7, 0x90, 0x0b, 0xb8, - 0x14, 0x45, 0x68, 0x10, 0x81, 0x49, 0xd7, 0x39, 0xc2, 0x1e, 0xa6, 0xb4, 0xe2, 0x93, 0x03, 0x6c, - 0x0c, 0x09, 0xf8, 0x05, 0x1d, 0xbc, 0x10, 0x30, 0x67, 0x7b, 0xdd, 0xc2, 0xe4, 0x4e, 0x5c, 0x07, - 0x25, 0x21, 0xe0, 0x3b, 0x60, 0xca, 0xc7, 0x56, 0xcd, 0x89, 0x40, 0x87, 0xcf, 0x02, 0x85, 0xbd, - 0x6e, 0x61, 0x0a, 0x25, 0x94, 0x50, 0x1f, 0x08, 0x7c, 0x1b, 0xe4, 0x5c, 0xa7, 0x8e, 0xed, 0x13, - 0xdb, 0xc5, 0xc6, 0x88, 0x40, 0xbc, 0xa1, 0x43, 0xdc, 0x09, 0x84, 0xcc, 0x49, 0xbe, 0xed, 0xf0, - 0x11, 0x45, 0xea, 0xf0, 0x00, 0x4c, 0x53, 0x6c, 0x77, 0x7c, 0x87, 0x9d, 0x70, 0xaf, 0xe3, 0xc7, - 0xcc, 0xc8, 0x0a, 0xc4, 0x6f, 0xe8, 0x10, 0xab, 0x49, 0x51, 0x73, 0xae, 0xd7, 0x2d, 0x4c, 0xf7, - 0x11, 0x51, 0x3f, 0x20, 0xdc, 0x01, 0x23, 0x9e, 0x63, 0x63, 0x63, 0x54, 0x00, 0x97, 0x4a, 0x67, - 0x05, 0x63, 0x69, 0xd7, 0xb1, 0xc3, 0x77, 0x6e, 0x8e, 0xf7, 0xba, 0x85, 0x11, 0x4e, 0x41, 0x02, - 0x05, 0xee, 0x83, 0x51, 0x87, 0x08, 0xbc, 0x31, 0x81, 0xf7, 0xca, 0xd9, 0x78, 0xdb, 0x7b, 0x09, - 0x44, 0xd0, 0xeb, 0x16, 0x46, 0x25, 0x0d, 0x29, 0x2c, 0xb8, 0x03, 0xc6, 0xb0, 0x77, 0xb4, 0xe5, - 0x93, 0x96, 0x31, 0xbe, 0x32, 0x7c, 0x33, 0xbf, 0xf6, 0xbc, 0x6e, 0xff, 0x9b, 0x52, 0xa4, 0x2a, - 0x62, 0xc6, 0x9c, 0x56, 0x01, 0x35, 0xa6, 0xc8, 0x28, 0x80, 0x80, 0xaf, 0x83, 0x61, 0xec, 0x1d, - 0x19, 0x39, 0x81, 0xb4, 0x38, 0x00, 0xe9, 0x91, 0xe5, 0x9b, 0x79, 0x05, 0x31, 0xbc, 0xe9, 0x1d, - 0x21, 0xae, 0x53, 0xfc, 0x43, 0x06, 0xcc, 0x6f, 0xb6, 0x9b, 0xb8, 0x85, 0x7d, 0xcb, 0x7d, 0x44, - 0xdc, 0x4e, 0x0b, 0x4b, 0x73, 0xf0, 0xd3, 0x0c, 0x98, 0x3b, 0x12, 0x84, 0xb2, 0x6b, 0x39, 0xad, - 0x7d, 0xdc, 0x6a, 0xbb, 0x16, 0xc3, 0xea, 0x1c, 0xbc, 0x75, 0xb6, 0x1b, 0x2a, 0xd8, 0xa7, 0x0e, - 0x65, 0xd8, 0x63, 0x8f, 0xd2, 0x30, 0xe6, 0xf5, 0x5e, 0xb7, 0x30, 0xa7, 0x61, 0x20, 0x9d, 0xd1, - 0xe2, 0xfb, 0x60, 0x2a, 0xe9, 0x55, 0x58, 0x00, 0x59, 0xdb, 0xb5, 0xa8, 0x3c, 0x97, 0x59, 0x33, - 0xd7, 0xeb, 0x16, 0xb2, 0x65, 0x4e, 0x40, 0x92, 0x0e, 0x5f, 0x02, 0x39, 0xf1, 0xcf, 0x86, 0xc5, - 0x2c, 0x71, 0xba, 0xb2, 0x32, 0x2e, 0xcb, 0x01, 0x11, 0x45, 0xfc, 0xe2, 0x3d, 0x30, 0x91, 0x40, - 0x2f, 0x01, 0x60, 0xd5, 0x3e, 0xec, 0x50, 0xc6, 0xcf, 0xb2, 0x32, 0x31, 0xd5, 0xeb, 0x16, 0xc0, - 0x7a, 0x48, 0x45, 0x31, 0x89, 0xe2, 0xdf, 0x87, 0x00, 0xd8, 0x3b, 0xf8, 0x10, 0xdb, 0xec, 0x21, - 0x66, 0x16, 0xfc, 0x00, 0x8c, 0xba, 0xd6, 0x01, 0x76, 0xf9, 0xea, 0xf8, 0x3b, 0xb9, 0x7b, 0xb6, - 0xb7, 0x22, 0xed, 0xd2, 0x8e, 0x50, 0xdd, 0xf4, 0x98, 0x7f, 0x62, 0x4e, 0xa9, 0x37, 0x36, 0x2a, - 0x89, 0x48, 0xe1, 0x42, 0x06, 0xf2, 0x96, 0xe7, 0x11, 0x66, 0x31, 0x87, 0x78, 0xd4, 0x18, 0x12, - 0x66, 0xbe, 0x7b, 0x21, 0x33, 0xeb, 0x91, 0xbe, 0xb4, 0x35, 0xa7, 0x6c, 0xe5, 0x63, 0x1c, 0x14, - 0x37, 0xb3, 0xf8, 0x3a, 0xc8, 0xc7, 0x16, 0x07, 0x67, 0xc0, 0xf0, 0x21, 0x3e, 0x11, 0xee, 0xc9, - 0x21, 0xfe, 0x2f, 0xbc, 0x0a, 0xb2, 0x47, 0x96, 0xdb, 0x91, 0xe9, 0x2c, 0x87, 0xe4, 0xc3, 0x1b, - 0x43, 0x77, 0x33, 0x8b, 0xf7, 0xc0, 0x4c, 0xbf, 0xc1, 0x8b, 0xe8, 0x17, 0x9f, 0x8c, 0x80, 0xd9, - 0x8a, 0xe5, 0x33, 0xc7, 0x72, 0x63, 0x8e, 0x5e, 0x01, 0x23, 0x9e, 0xd5, 0x92, 0x41, 0x99, 0x33, - 0x27, 0xd4, 0x06, 0x46, 0x76, 0xad, 0x16, 0x3f, 0xbf, 0x56, 0x0b, 0xc3, 0xbb, 0x60, 0x22, 0xc8, - 0xf9, 0x9c, 0x2a, 0x81, 0xcd, 0xab, 0x4a, 0x72, 0xe2, 0x7e, 0x8c, 0x87, 0x12, 0x92, 0x70, 0x15, - 0xe4, 0x38, 0x02, 0x6d, 0x5b, 0xb6, 0xcc, 0xa4, 0xb9, 0x28, 0xa7, 0xef, 0x06, 0x0c, 0x14, 0xc9, - 0xc0, 0x46, 0xf8, 0xd6, 0x47, 0xc4, 0xeb, 0x38, 0xcf, 0x19, 0xe9, 0xdf, 0xd1, 0xb9, 0x5e, 0xfe, - 0xcf, 0x92, 0x2f, 0x3f, 0x2b, 0xac, 0x6d, 0x5c, 0xc6, 0xda, 0xc5, 0x63, 0x00, 0x1e, 0x83, 0x69, - 0x72, 0xcc, 0x8b, 0x25, 0xae, 0x63, 0x1f, 0x7b, 0xbc, 0x34, 0x8e, 0x8a, 0x05, 0xdc, 0x89, 0x25, - 0x9e, 0xb0, 0x02, 0x97, 0xda, 0x87, 0x0d, 0x4e, 0xa0, 0x25, 0x5e, 0x81, 0x45, 0x04, 0x26, 0x94, - 0xcd, 0xeb, 0xca, 0xe0, 0x74, 0x92, 0x4e, 0x51, 0xbf, 0x95, 0xff, 0x66, 0xf0, 0xfd, 0x71, 0x08, - 0xcc, 0x6b, 0xd3, 0x19, 0xfc, 0x10, 0x8c, 0xf3, 0x8d, 0xd5, 0x78, 0x92, 0x91, 0x99, 0xf1, 0xd5, - 0x4b, 0xbc, 0x07, 0x73, 0x41, 0x79, 0x21, 0x1d, 0xe2, 0x28, 0xc4, 0x87, 0x7b, 0x60, 0x84, 0xb6, - 0xb1, 0xad, 0x5a, 0x85, 0x5b, 0xda, 0xaa, 0xae, 0x5b, 0x64, 0xb5, 0x8d, 0xed, 0xe8, 0x6c, 0xf0, - 0x27, 0x24, 0x80, 0xe0, 0xbb, 0x60, 0x94, 0x32, 0x8b, 0x75, 0xa8, 0x6a, 0x14, 0x56, 0xcf, 0x0f, - 0x29, 0xd4, 0xa2, 0x00, 0x95, 0xcf, 0x48, 0xc1, 0x15, 0xff, 0x96, 0x01, 0x37, 0x4e, 0x4d, 0xff, - 0xff, 0xd7, 0x7e, 0x2b, 0xfe, 0x69, 0x0a, 0xc0, 0x0a, 0xa9, 0xf5, 0xb7, 0x8b, 0xbf, 0xce, 0x80, - 0xa9, 0x36, 0xa9, 0xc5, 0x22, 0x4d, 0xa5, 0xff, 0x07, 0xe7, 0xd8, 0x5a, 0x0a, 0x8e, 0x93, 0x52, - 0xc7, 0xf3, 0x9a, 0x5a, 0xcd, 0x54, 0x92, 0x89, 0xfa, 0xec, 0xc2, 0x4f, 0x32, 0x60, 0xc2, 0x23, - 0x35, 0x5c, 0xc5, 0x2e, 0xb6, 0x19, 0xf1, 0x55, 0x81, 0xd8, 0xba, 0xd4, 0x42, 0x76, 0x63, 0x40, - 0x72, 0x19, 0x61, 0xfa, 0x8c, 0xb3, 0x50, 0xc2, 0x22, 0x7c, 0x1b, 0x40, 0x8a, 0xfd, 0x23, 0xc7, - 0xc6, 0xeb, 0xb6, 0x4d, 0x3a, 0x1e, 0x13, 0xe9, 0x57, 0xe6, 0xd1, 0x45, 0xa5, 0x0f, 0xab, 0x29, - 0x09, 0xa4, 0xd1, 0x82, 0x7f, 0xce, 0x80, 0x85, 0x24, 0x39, 0xee, 0x64, 0x99, 0x6d, 0xab, 0x97, - 0xda, 0x5b, 0x75, 0x10, 0xaa, 0xdc, 0xe8, 0xf3, 0x6a, 0xa1, 0x0b, 0x03, 0xe5, 0xd0, 0xe0, 0x85, - 0xc1, 0x1a, 0x58, 0xb2, 0x3a, 0x8c, 0xb4, 0x38, 0x3d, 0x09, 0xb0, 0x4f, 0x0e, 0xb1, 0x27, 0x5a, - 0xdf, 0x71, 0x73, 0xa5, 0xd7, 0x2d, 0x2c, 0xad, 0x9f, 0x22, 0x87, 0x4e, 0x45, 0x81, 0x2f, 0x83, - 0x71, 0xee, 0x78, 0xe1, 0xde, 0x51, 0xe1, 0xde, 0x19, 0xb5, 0xea, 0xf1, 0x5d, 0x45, 0x47, 0xa1, - 0x04, 0xc4, 0xe9, 0x0e, 0x5c, 0x36, 0xb6, 0x2f, 0x68, 0xcf, 0x05, 0xa9, 0x5d, 0xae, 0x09, 0xf7, - 0xc0, 0x8c, 0xd3, 0xb2, 0x1a, 0xb8, 0xd2, 0x71, 0xdd, 0x2a, 0xb6, 0x7d, 0xcc, 0xa8, 0xea, 0x74, - 0xb5, 0x37, 0xa8, 0x1d, 0x62, 0x07, 0x87, 0x37, 0x2a, 0x0d, 0x86, 0xda, 0xc6, 0xcc, 0x76, 0x1f, - 0x12, 0x4a, 0x61, 0xc3, 0x2d, 0x30, 0x6e, 0xd5, 0xeb, 0x8e, 0xe7, 0xb0, 0x13, 0x23, 0x27, 0xf6, - 0xb3, 0xa4, 0xb3, 0xb3, 0xae, 0x64, 0xcc, 0x09, 0xee, 0x9e, 0xe0, 0x09, 0x85, 0xba, 0xf0, 0x4d, - 0x30, 0x49, 0xed, 0x26, 0xe6, 0x71, 0xe4, 0x0b, 0x8f, 0x02, 0xe1, 0xd1, 0x79, 0xb5, 0x94, 0xc9, - 0x6a, 0x9c, 0x89, 0x92, 0xb2, 0xf0, 0x1d, 0x90, 0x67, 0xc4, 0xe5, 0x1d, 0x84, 0x88, 0xcb, 0xbc, - 0xd8, 0xef, 0xb2, 0x6e, 0x1d, 0xfb, 0xa1, 0x58, 0x54, 0x71, 0x23, 0x1a, 0x45, 0x71, 0x1c, 0x78, - 0x1f, 0xcc, 0xb6, 0x7d, 0x87, 0x08, 0xf7, 0xf2, 0x8e, 0x55, 0xac, 0x6b, 0x42, 0xac, 0x2b, 0xca, - 0x7f, 0xfd, 0x02, 0x28, 0xad, 0x03, 0x6f, 0x82, 0xf1, 0x80, 0x68, 0x4c, 0x8a, 0x9e, 0x56, 0xb8, - 0x21, 0xd0, 0x45, 0x21, 0x17, 0xd6, 0x62, 0x57, 0xc9, 0xfb, 0x16, 0xc3, 0xd4, 0x98, 0x12, 0x9b, - 0xf9, 0xe6, 0x80, 0x20, 0x41, 0x71, 0xe1, 0x28, 0x4b, 0x25, 0xc8, 0x14, 0xf5, 0x61, 0xc2, 0xef, - 0x81, 0x19, 0x5f, 0x9e, 0xc7, 0x68, 0x5f, 0xd3, 0xb2, 0x3f, 0xe3, 0xaf, 0x1d, 0xf5, 0xf1, 0x50, - 0x4a, 0x1a, 0x6e, 0x01, 0x88, 0x3d, 0xeb, 0xc0, 0xc5, 0xea, 0x60, 0xec, 0x38, 0xde, 0x21, 0x35, - 0x66, 0xc4, 0xb9, 0xba, 0xc6, 0x13, 0xcc, 0x66, 0x8a, 0x8b, 0x34, 0x1a, 0xf0, 0x37, 0x19, 0xb0, - 0xc0, 0x48, 0x9b, 0xb8, 0xa4, 0x71, 0x52, 0x6d, 0xf3, 0x65, 0x96, 0x89, 0x47, 0x99, 0x6f, 0x39, - 0x1e, 0xa3, 0xc6, 0xac, 0xd8, 0xfb, 0xcb, 0xfa, 0x17, 0xa9, 0x57, 0x8a, 0x32, 0xc7, 0x20, 0x09, - 0x8a, 0x06, 0x5b, 0x5c, 0x5c, 0x07, 0x73, 0x9a, 0xf4, 0x7f, 0xa1, 0x9e, 0xe7, 0x2d, 0x30, 0x9b, - 0x4a, 0xdc, 0x17, 0x02, 0xd8, 0x01, 0xcb, 0xa7, 0x67, 0xc7, 0x0b, 0xb5, 0x50, 0x5f, 0xcd, 0x82, - 0x31, 0x9e, 0x4d, 0x78, 0xdf, 0xa1, 0x2f, 0x0d, 0x99, 0x4b, 0x95, 0x86, 0x8e, 0xb6, 0xd0, 0xbd, - 0x79, 0xae, 0x62, 0xc0, 0x17, 0x73, 0xc9, 0xea, 0x16, 0xcf, 0x37, 0xc3, 0x4f, 0x33, 0xdf, 0x8c, - 0x5c, 0x3e, 0xdf, 0x64, 0x9f, 0x52, 0xbe, 0xd1, 0xe5, 0xee, 0xd1, 0x67, 0x98, 0xbb, 0xb5, 0xf9, - 0x6d, 0xec, 0x6b, 0xe6, 0xb7, 0xf1, 0x53, 0xf3, 0xdb, 0x6b, 0x20, 0xdf, 0x24, 0x94, 0xed, 0x62, - 0x76, 0x4c, 0xfc, 0x43, 0x51, 0x31, 0xc6, 0x23, 0xcf, 0x3c, 0x88, 0x58, 0x28, 0x2e, 0x07, 0x5f, - 0x04, 0x63, 0xfc, 0xb1, 0xb2, 0xbd, 0x21, 0xea, 0xc2, 0x78, 0x34, 0x93, 0x79, 0x20, 0xc9, 0x28, - 0xe0, 0x07, 0xa2, 0xdb, 0x95, 0xb2, 0x91, 0x4f, 0x8b, 0x6e, 0x57, 0xca, 0x28, 0xe0, 0xc3, 0x3d, - 0x30, 0x4f, 0x9b, 0x96, 0x8f, 0x2b, 0x3e, 0xb1, 0xb1, 0xdc, 0x8a, 0xbc, 0x74, 0x4e, 0x08, 0xc5, - 0x85, 0x5e, 0xb7, 0x30, 0x5f, 0xd5, 0x09, 0x20, 0xbd, 0x9e, 0xae, 0xc6, 0x4f, 0x3e, 0x83, 0x1a, - 0xdf, 0x00, 0x37, 0x18, 0xf6, 0x5b, 0x8e, 0x27, 0xe2, 0xe6, 0xbe, 0x6f, 0xd9, 0xb8, 0x82, 0x7d, - 0x47, 0xc0, 0x11, 0xaf, 0xc6, 0x6b, 0x46, 0xe6, 0xe6, 0xb0, 0xf9, 0x7c, 0xaf, 0x5b, 0xb8, 0xb1, - 0x7f, 0x9a, 0x20, 0x3a, 0x1d, 0x07, 0xee, 0x81, 0x5c, 0xcd, 0xa3, 0x15, 0xe2, 0x3a, 0xf6, 0x89, - 0x2a, 0x10, 0xb7, 0x83, 0x9b, 0xf8, 0xc6, 0x6e, 0x55, 0x32, 0x9e, 0x74, 0x0b, 0x4b, 0xe9, 0x31, - 0x71, 0x29, 0xe4, 0xa3, 0x08, 0x03, 0x3e, 0x14, 0x80, 0x65, 0xe2, 0xd5, 0x9d, 0x86, 0xa8, 0x16, - 0xf9, 0xb5, 0x95, 0x01, 0xae, 0xd9, 0xd8, 0xad, 0x4a, 0x39, 0x39, 0x3d, 0x0a, 0x1f, 0x51, 0x84, - 0xf0, 0xbf, 0x56, 0x3d, 0x60, 0x15, 0x8c, 0xc9, 0x21, 0x1a, 0x35, 0x60, 0x70, 0x6e, 0xcf, 0x4a, - 0x87, 0xf2, 0xde, 0x13, 0x45, 0xa9, 0x7c, 0xa6, 0x28, 0x40, 0x82, 0x3f, 0x01, 0x53, 0x3c, 0x65, - 0x85, 0xc3, 0x72, 0x6a, 0xcc, 0x09, 0x6c, 0xed, 0x2c, 0x38, 0x94, 0x8a, 0x7a, 0x81, 0xed, 0x84, - 0x32, 0xea, 0x03, 0x83, 0x4b, 0x60, 0xc4, 0xf2, 0x1b, 0xd4, 0xb8, 0xba, 0x32, 0x7c, 0x33, 0x27, - 0xa7, 0xb0, 0xeb, 0x7e, 0x83, 0x22, 0x41, 0x0d, 0x26, 0x9c, 0xf3, 0x17, 0x9f, 0x70, 0x26, 0x87, - 0xf8, 0xd7, 0x9e, 0xed, 0x10, 0xff, 0xfa, 0xb3, 0x18, 0xe2, 0x1b, 0x4f, 0x7d, 0x88, 0xbf, 0xf0, - 0xf5, 0x86, 0xf8, 0x3f, 0x07, 0x86, 0x1d, 0xbc, 0xb8, 0xbe, 0x24, 0x61, 0x2c, 0x9e, 0x7f, 0x9a, - 0xbf, 0xd4, 0xeb, 0x16, 0xa2, 0x6f, 0x2f, 0xfd, 0xd9, 0x66, 0xa0, 0x09, 0xf8, 0x1e, 0x98, 0x90, - 0x31, 0xf9, 0x90, 0x37, 0x01, 0xd4, 0x78, 0x4e, 0x04, 0x45, 0x41, 0x67, 0xf2, 0x51, 0x24, 0x17, - 0x55, 0xf5, 0x18, 0x91, 0xa2, 0x04, 0xd4, 0xd7, 0xee, 0x99, 0x8a, 0xbf, 0x1f, 0x02, 0xd3, 0x15, - 0x52, 0x0b, 0xc6, 0x1c, 0xa2, 0xdb, 0xf9, 0x71, 0x6a, 0xd4, 0xf1, 0xf2, 0x45, 0xe6, 0xb4, 0x26, - 0x54, 0x0b, 0x07, 0xda, 0xe1, 0xc6, 0x07, 0x00, 0x70, 0x4f, 0xf9, 0xc4, 0x75, 0xb1, 0xaf, 0x46, - 0x1c, 0x97, 0xc4, 0x2f, 0x87, 0x38, 0x28, 0x86, 0x09, 0xbf, 0xaf, 0xc6, 0x27, 0xb2, 0xcd, 0x79, - 0xf1, 0xdc, 0x9d, 0x95, 0x76, 0x74, 0xf2, 0xd7, 0x0c, 0x98, 0xee, 0x9f, 0x9b, 0xec, 0x81, 0xe1, - 0x36, 0xa9, 0x29, 0xdf, 0xdc, 0xb9, 0xcc, 0x35, 0xde, 0x1c, 0xe3, 0x47, 0x9e, 0xd3, 0x39, 0x12, - 0x6c, 0x80, 0x5c, 0x18, 0x3d, 0xca, 0x25, 0x6f, 0x9c, 0x0d, 0x3b, 0xe8, 0x33, 0xa0, 0xfa, 0x6c, - 0x10, 0x72, 0x23, 0xec, 0xe2, 0x2f, 0x40, 0x5e, 0xb5, 0xa9, 0x15, 0xe2, 0xb3, 0x73, 0x4c, 0xa3, - 0x57, 0xc0, 0x48, 0x9b, 0xf8, 0x4c, 0x7d, 0x8f, 0x08, 0x25, 0xb8, 0x36, 0x12, 0x9c, 0xe0, 0x36, - 0xcf, 0x29, 0xc2, 0xe3, 0xd9, 0xe4, 0x6d, 0x5e, 0x48, 0x86, 0x12, 0xc5, 0x7f, 0x66, 0xc3, 0x15, - 0x88, 0x58, 0x43, 0x20, 0xcb, 0x51, 0x82, 0xc1, 0xd3, 0xad, 0xb3, 0x77, 0x1d, 0x5b, 0xbf, 0x39, - 0xa9, 0x2c, 0x65, 0xf9, 0x13, 0x45, 0x12, 0x0a, 0xae, 0x82, 0x9c, 0xed, 0x76, 0x28, 0xc3, 0xfe, - 0x76, 0x45, 0x8d, 0xcf, 0xc3, 0xb4, 0x58, 0x0e, 0x18, 0x28, 0x92, 0x81, 0x26, 0x18, 0x61, 0x27, - 0xed, 0x60, 0xd6, 0x53, 0x0a, 0x36, 0xb9, 0x7f, 0xd2, 0xc6, 0x4f, 0xba, 0x85, 0x65, 0x4d, 0x91, - 0x56, 0x8b, 0xe0, 0x12, 0x48, 0xe8, 0xc2, 0xdb, 0x20, 0x8f, 0x1f, 0x33, 0xec, 0x7b, 0x96, 0xbb, - 0x5d, 0x91, 0x23, 0x9e, 0x9c, 0x39, 0xcd, 0x9b, 0xb3, 0xcd, 0x88, 0x8c, 0xe2, 0x32, 0xf0, 0x1e, - 0x98, 0x72, 0x89, 0x55, 0x33, 0x2d, 0xd7, 0xf2, 0x6c, 0xb1, 0xd8, 0xac, 0x58, 0x40, 0x58, 0x81, - 0x76, 0x12, 0x5c, 0xd4, 0x27, 0x0d, 0x7f, 0x08, 0x8c, 0x38, 0x45, 0x7e, 0x06, 0x43, 0x96, 0xd7, - 0x50, 0x13, 0xee, 0x9c, 0xcc, 0x58, 0x3b, 0x03, 0x64, 0xd0, 0x40, 0x6d, 0xf8, 0x69, 0x06, 0xcc, - 0x07, 0x2b, 0xdd, 0xf7, 0x79, 0xef, 0x6f, 0xab, 0x66, 0x46, 0x76, 0xb9, 0xfb, 0x6a, 0x85, 0xf3, - 0x9b, 0x3a, 0xa1, 0x27, 0xdd, 0xc2, 0xab, 0x83, 0x7d, 0xa6, 0x55, 0x11, 0x8e, 0xd4, 0x9b, 0x84, - 0x0f, 0xc1, 0x5c, 0x13, 0x5b, 0x2e, 0x6b, 0x96, 0x9b, 0xd8, 0x3e, 0x0c, 0x62, 0x4a, 0xf5, 0xcb, - 0xcf, 0xa9, 0x95, 0xcc, 0x3d, 0x48, 0x8b, 0x20, 0x9d, 0x1e, 0xfc, 0x18, 0xcc, 0x53, 0x4c, 0xa9, - 0x43, 0xbc, 0xe0, 0x76, 0xa3, 0xda, 0xaa, 0x5c, 0x90, 0x2e, 0x74, 0x95, 0x40, 0xa3, 0xa0, 0xfa, - 0x5c, 0x1d, 0x0b, 0xe9, 0x4d, 0x14, 0xff, 0x92, 0x01, 0x73, 0x41, 0xe8, 0xfc, 0xe7, 0x32, 0x6e, - 0x6a, 0x9c, 0x7c, 0xce, 0x23, 0x36, 0x30, 0x27, 0xfe, 0x2e, 0x03, 0x46, 0x65, 0x51, 0x3a, 0x47, - 0x06, 0x69, 0x06, 0xd5, 0x4f, 0x46, 0x98, 0x5a, 0x45, 0xe9, 0xbc, 0x0d, 0x9e, 0xfa, 0x96, 0xdc, - 0x57, 0x0c, 0x55, 0xb4, 0x26, 0x90, 0x8b, 0x5f, 0xcc, 0x81, 0x04, 0x1b, 0x22, 0x30, 0x2e, 0x6e, - 0x37, 0x16, 0x6b, 0x9e, 0xf6, 0x6b, 0x88, 0x07, 0x4a, 0x26, 0x61, 0x50, 0x5c, 0xc4, 0x02, 0x0e, - 0x0a, 0x71, 0x38, 0x26, 0x6e, 0xb5, 0xd9, 0xc9, 0x86, 0x13, 0x64, 0x6a, 0x2d, 0xe6, 0xa6, 0x92, - 0x49, 0x63, 0x06, 0x1c, 0x14, 0xe2, 0xc0, 0x23, 0x30, 0xdb, 0x10, 0x57, 0x08, 0x35, 0xd2, 0xdf, - 0x70, 0xe8, 0xa1, 0xaa, 0x5e, 0xb7, 0x75, 0xe0, 0xf7, 0xcb, 0x9b, 0x49, 0xe1, 0x84, 0x95, 0x79, - 0x7e, 0xfd, 0x4c, 0x89, 0xa0, 0xb4, 0x09, 0xf8, 0xcb, 0x0c, 0xb8, 0x6a, 0x1d, 0xd3, 0x4d, 0xd7, - 0xa2, 0xcc, 0xb1, 0x4d, 0x97, 0xd8, 0x87, 0x55, 0x46, 0xfc, 0xe0, 0x47, 0x13, 0x77, 0xb4, 0x03, - 0x82, 0x77, 0xab, 0x29, 0xf9, 0x84, 0x79, 0xa3, 0xd7, 0x2d, 0x5c, 0xd5, 0x49, 0x21, 0xad, 0x2d, - 0xf8, 0x36, 0x18, 0xa5, 0xe2, 0x5e, 0xad, 0x7e, 0xff, 0xf0, 0xc2, 0x80, 0x56, 0xcc, 0xc7, 0x2c, - 0x61, 0x47, 0xfc, 0x4a, 0x41, 0xd2, 0x91, 0x42, 0x80, 0xf7, 0xc0, 0xb0, 0x57, 0xa7, 0x6a, 0x3e, - 0xac, 0xed, 0xe9, 0x76, 0xb7, 0xaa, 0x09, 0x14, 0x51, 0x87, 0x77, 0xb7, 0xaa, 0x88, 0x2b, 0xc2, - 0x2d, 0x90, 0x75, 0xa8, 0x4d, 0x1d, 0x91, 0x5c, 0xf2, 0x6b, 0xdf, 0xd2, 0x21, 0x6c, 0x57, 0xcb, - 0xd5, 0xed, 0x04, 0x86, 0xf8, 0x94, 0x2f, 0xc8, 0x48, 0xaa, 0xc3, 0x47, 0x20, 0xd7, 0x90, 0xd5, - 0xa5, 0x4e, 0x4f, 0xcb, 0x2b, 0xf7, 0x03, 0xa1, 0x04, 0x9e, 0x28, 0xdf, 0x21, 0x0b, 0x45, 0x50, - 0xf0, 0x57, 0x19, 0x30, 0xdf, 0xd6, 0x7d, 0xf9, 0x11, 0xb7, 0xfb, 0xfc, 0xda, 0x6b, 0xe7, 0xfe, - 0x54, 0x94, 0x30, 0x28, 0x12, 0x99, 0x56, 0x0c, 0xe9, 0xcd, 0x71, 0x47, 0xfb, 0x07, 0x35, 0x31, - 0x28, 0x18, 0xe0, 0x68, 0x64, 0x6e, 0xa4, 0x1d, 0x8d, 0xcc, 0x0d, 0xc4, 0x15, 0xe1, 0x3e, 0x00, - 0x75, 0x17, 0x3f, 0x96, 0x12, 0x62, 0x6c, 0x30, 0x60, 0x54, 0xbb, 0x15, 0x4a, 0x29, 0x1c, 0xf1, - 0xa3, 0x86, 0x88, 0x8a, 0x62, 0x38, 0x3c, 0x94, 0x6c, 0xc7, 0xab, 0x61, 0xff, 0xb4, 0xe9, 0x41, - 0x59, 0x48, 0xa4, 0x43, 0x49, 0xd2, 0x91, 0x42, 0x10, 0x58, 0xb8, 0xdd, 0xac, 0xcb, 0xa1, 0xc0, - 0x20, 0x2c, 0xdc, 0x6e, 0xf6, 0x05, 0x94, 0xc4, 0x12, 0x74, 0xa4, 0x10, 0xe0, 0x2e, 0x18, 0xab, - 0xf3, 0x80, 0xc7, 0xbe, 0x18, 0x06, 0xe4, 0xd7, 0xbe, 0xad, 0xdf, 0xaa, 0x10, 0x49, 0xa0, 0xe5, - 0xf9, 0xcd, 0x56, 0x31, 0x50, 0x00, 0x02, 0xdf, 0x07, 0xf9, 0x1a, 0x39, 0xf6, 0x8e, 0x2d, 0xbf, - 0xb6, 0x5e, 0xd9, 0x56, 0xf3, 0x80, 0x97, 0x74, 0x98, 0x1b, 0x91, 0x58, 0x02, 0x57, 0x34, 0x26, - 0x31, 0x26, 0x8a, 0x03, 0xc2, 0x37, 0xc0, 0x50, 0xdd, 0x36, 0x66, 0x05, 0x6c, 0x51, 0xbb, 0xd4, - 0x72, 0x02, 0x6d, 0xb4, 0xd7, 0x2d, 0x0c, 0x6d, 0x95, 0xd1, 0x50, 0xdd, 0xe6, 0xa1, 0x6f, 0x7d, - 0xdc, 0xf1, 0xf1, 0x96, 0xe3, 0x62, 0x03, 0x0e, 0x0e, 0xfd, 0xf5, 0x40, 0x28, 0x1d, 0xfa, 0x21, - 0x0b, 0x45, 0x50, 0x1c, 0xd7, 0x16, 0x45, 0xf4, 0xa1, 0xd5, 0x36, 0xe6, 0x06, 0xe3, 0x96, 0x03, - 0xa1, 0x34, 0x6e, 0xc8, 0x42, 0x11, 0x14, 0x3c, 0x04, 0x93, 0x47, 0xb4, 0xdd, 0xc4, 0x41, 0x16, - 0x33, 0xae, 0x0a, 0xec, 0x35, 0xed, 0xed, 0x4c, 0x09, 0x3a, 0x3e, 0xeb, 0x58, 0x6e, 0x2a, 0xf1, - 0x8a, 0xbb, 0xf2, 0xa3, 0x38, 0x18, 0x4a, 0x62, 0xf3, 0x40, 0xf8, 0xa8, 0x43, 0x0e, 0x4e, 0x18, - 0x36, 0xe6, 0x07, 0x07, 0xc2, 0x0f, 0xa4, 0x48, 0x3a, 0x10, 0x14, 0x03, 0x05, 0x20, 0xa1, 0xb3, - 0x45, 0xc1, 0xb8, 0x76, 0x86, 0xb3, 0x53, 0xeb, 0x8d, 0x9c, 0x2d, 0x0a, 0x44, 0x04, 0x25, 0x0a, - 0x43, 0xbb, 0x49, 0x18, 0xf1, 0xfa, 0x8a, 0xd2, 0xf5, 0xc1, 0x85, 0xa1, 0xa2, 0x91, 0x4f, 0x17, - 0x06, 0x9d, 0x14, 0xd2, 0xda, 0xe2, 0x9b, 0x6b, 0xfb, 0x84, 0xf7, 0x33, 0xb8, 0xa6, 0xae, 0xe9, - 0x2f, 0x0e, 0x98, 0x29, 0x48, 0xa1, 0xf4, 0xe6, 0x42, 0x16, 0x8a, 0xa0, 0x60, 0x0d, 0x4c, 0xf1, - 0x7b, 0xc2, 0x31, 0xf1, 0x83, 0xfc, 0x63, 0x0c, 0xae, 0xe3, 0x95, 0x84, 0xa4, 0xc2, 0x86, 0xf2, - 0x83, 0x76, 0x9c, 0x83, 0xfa, 0x30, 0xf9, 0xab, 0xa6, 0xb6, 0xe5, 0xe2, 0xed, 0x3d, 0x35, 0xbd, - 0xd0, 0xbe, 0xea, 0xaa, 0x14, 0x49, 0xbf, 0x6a, 0xc5, 0x40, 0x01, 0x08, 0xf7, 0x06, 0x65, 0xc4, - 0xb7, 0x1a, 0x98, 0x50, 0xe3, 0xb9, 0x53, 0x5a, 0x55, 0x29, 0xb4, 0x57, 0x4d, 0x7b, 0x23, 0x64, - 0xa1, 0x08, 0x8a, 0x67, 0x72, 0x5e, 0xf0, 0x96, 0x06, 0x67, 0xf2, 0xfe, 0x72, 0x27, 0x32, 0x39, - 0x2f, 0x76, 0x5c, 0x11, 0xd6, 0x40, 0x0e, 0x07, 0x3f, 0xc7, 0x33, 0x6e, 0x08, 0x94, 0xef, 0x9c, - 0xdd, 0xdb, 0x69, 0x7f, 0xc1, 0x27, 0x57, 0x19, 0xb2, 0x50, 0x04, 0x6c, 0x6e, 0x7d, 0xf6, 0xe5, - 0xf2, 0x95, 0xcf, 0xbf, 0x5c, 0xbe, 0xf2, 0xc5, 0x97, 0xcb, 0x57, 0x3e, 0xe9, 0x2d, 0x67, 0x3e, - 0xeb, 0x2d, 0x67, 0x3e, 0xef, 0x2d, 0x67, 0xbe, 0xe8, 0x2d, 0x67, 0xfe, 0xd1, 0x5b, 0xce, 0xfc, - 0xf6, 0xab, 0xe5, 0x2b, 0x3f, 0x5a, 0x39, 0xeb, 0x87, 0xbf, 0xff, 0x0e, 0x00, 0x00, 0xff, 0xff, - 0xa4, 0x49, 0x77, 0x9a, 0x1b, 0x2c, 0x00, 0x00, + // 3127 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x5a, 0xcb, 0x6f, 0x5b, 0xc7, + 0xd5, 0x37, 0x25, 0x51, 0x14, 0x87, 0x7a, 0x58, 0x23, 0xcb, 0xb9, 0x52, 0x6c, 0x51, 0xe6, 0xf7, + 0x35, 0x75, 0x90, 0x98, 0x8a, 0x15, 0x07, 0x75, 0x9c, 0xd6, 0xa9, 0x48, 0x49, 0xb6, 0x12, 0x59, + 0x62, 0x87, 0x8a, 0xd2, 0x06, 0x6d, 0x9a, 0xab, 0xcb, 0x21, 0x79, 0xa3, 0xcb, 0x3b, 0xcc, 0x9d, + 0xa1, 0x64, 0xa5, 0x40, 0x1b, 0x74, 0x51, 0x14, 0x01, 0x0a, 0x74, 0xd1, 0x75, 0x57, 0xdd, 0x76, + 0xd7, 0x3f, 0xa1, 0x8b, 0x00, 0xdd, 0x64, 0x99, 0x45, 0xc1, 0x36, 0x2c, 0xba, 0xe8, 0xbb, 0x9b, + 0x6e, 0x5c, 0x14, 0x28, 0xe6, 0x71, 0x5f, 0xbc, 0x43, 0xbd, 0xec, 0xba, 0xe8, 0x42, 0x80, 0xee, + 0x79, 0xfc, 0xce, 0xcc, 0xb9, 0xe7, 0x9e, 0x73, 0xe6, 0x0c, 0xc1, 0x4b, 0xfb, 0x2d, 0x52, 0xeb, + 0x38, 0x98, 0x16, 0x1f, 0x1e, 0x7d, 0xb8, 0x44, 0xea, 0x75, 0xda, 0x24, 0x84, 0xdd, 0x30, 0xdb, + 0xf6, 0x12, 0xff, 0x3b, 0xb8, 0xb9, 0xd4, 0xc0, 0x2e, 0xf6, 0x4c, 0x86, 0x6b, 0xc5, 0xb6, 0x47, + 0x18, 0x81, 0x8b, 0x51, 0x8d, 0xa2, 0xaf, 0xf1, 0x6d, 0xb3, 0x6d, 0x17, 0xf9, 0xdf, 0xc1, 0xcd, + 0xf9, 0x1b, 0x0d, 0x9b, 0x35, 0x3b, 0x7b, 0x45, 0x8b, 0xb4, 0x96, 0x1a, 0xa4, 0x41, 0x96, 0x84, + 0xe2, 0x5e, 0xa7, 0x2e, 0x9e, 0xc4, 0x83, 0xf8, 0x4f, 0x02, 0xce, 0x17, 0xf6, 0x6f, 0xd3, 0xa2, + 0x4d, 0x84, 0x3d, 0x8b, 0x78, 0x58, 0x63, 0x74, 0xfe, 0x56, 0x28, 0xd3, 0x32, 0xad, 0xa6, 0xed, + 0x62, 0xef, 0x68, 0xa9, 0xbd, 0xdf, 0xe0, 0x04, 0xba, 0xd4, 0xc2, 0xcc, 0xd4, 0x68, 0x15, 0xfe, + 0x95, 0x06, 0x46, 0x99, 0xb8, 0xcc, 0xe4, 0xf2, 0xa8, 0xe3, 0x32, 0xbb, 0x85, 0xab, 0x98, 0x31, + 0xdb, 0x6d, 0x50, 0xf8, 0x0d, 0x90, 0xf5, 0x30, 0x25, 0x1d, 0xcf, 0xc2, 0xd4, 0x48, 0x2d, 0xa6, + 0xae, 0xe7, 0x96, 0xaf, 0x17, 0xa5, 0x19, 0xb1, 0x11, 0xbe, 0x94, 0xe2, 0xc1, 0xcd, 0x22, 0x52, + 0x42, 0x08, 0x7f, 0xd0, 0xb1, 0x3d, 0xdc, 0xc2, 0x2e, 0xa3, 0xa5, 0xe9, 0x4f, 0xba, 0xf9, 0x0b, + 0xbd, 0x6e, 0x3e, 0xeb, 0x73, 0x29, 0x0a, 0xd1, 0x20, 0x02, 0x13, 0x8e, 0x7d, 0x80, 0x5d, 0x4c, + 0x69, 0xc5, 0x23, 0x7b, 0xd8, 0x18, 0x12, 0xf0, 0x73, 0x3a, 0x78, 0x21, 0x50, 0x9a, 0xee, 0x75, + 0xf3, 0x13, 0x9b, 0x51, 0x1d, 0x14, 0x87, 0x80, 0x6f, 0x81, 0x49, 0x0f, 0x9b, 0x35, 0x3b, 0x04, + 0x1d, 0x3e, 0x09, 0x14, 0xf6, 0xba, 0xf9, 0x49, 0x14, 0x53, 0x42, 0x7d, 0x20, 0xf0, 0x0d, 0x90, + 0x75, 0xec, 0x3a, 0xb6, 0x8e, 0x2c, 0x07, 0x1b, 0x23, 0x02, 0xf1, 0xaa, 0x0e, 0x71, 0xd3, 0x17, + 0x2a, 0x4d, 0xf0, 0x6d, 0x07, 0x8f, 0x28, 0x54, 0x87, 0x7b, 0x60, 0x8a, 0x62, 0xab, 0xe3, 0xd9, + 0xec, 0x88, 0x7b, 0x1d, 0x3f, 0x64, 0x46, 0x5a, 0x20, 0xfe, 0x9f, 0x0e, 0xb1, 0x1a, 0x17, 0x2d, + 0xcd, 0xf4, 0xba, 0xf9, 0xa9, 0x3e, 0x22, 0xea, 0x07, 0x84, 0x9b, 0x60, 0xc4, 0xb5, 0x2d, 0x6c, + 0x8c, 0x0a, 0xe0, 0x62, 0xf1, 0xa4, 0x60, 0x2c, 0x6e, 0xd9, 0x56, 0xf0, 0xce, 0x4b, 0x63, 0xbd, + 0x6e, 0x7e, 0x84, 0x53, 0x90, 0x40, 0x81, 0x3b, 0x60, 0xd4, 0x26, 0x02, 0x2f, 0x23, 0xf0, 0x5e, + 0x3a, 0x19, 0x6f, 0x63, 0x3b, 0x86, 0x08, 0x7a, 0xdd, 0xfc, 0xa8, 0xa4, 0x21, 0x85, 0x05, 0x37, + 0x41, 0x06, 0xbb, 0x07, 0xeb, 0x1e, 0x69, 0x19, 0x63, 0x8b, 0xc3, 0xd7, 0x73, 0xcb, 0xd7, 0x74, + 0xfb, 0x5f, 0x93, 0x22, 0x55, 0x11, 0x33, 0xa5, 0x29, 0x15, 0x50, 0x19, 0x45, 0x46, 0x3e, 0x04, + 0x7c, 0x15, 0x0c, 0x63, 0xf7, 0xc0, 0xc8, 0x0a, 0xa4, 0xf9, 0x01, 0x48, 0xbb, 0xa6, 0x57, 0xca, + 0x29, 0x88, 0xe1, 0x35, 0xf7, 0x00, 0x71, 0x9d, 0xc2, 0xcf, 0x52, 0x60, 0x76, 0xad, 0xdd, 0xc4, + 0x2d, 0xec, 0x99, 0xce, 0x2e, 0x71, 0x3a, 0x2d, 0x2c, 0xcd, 0xc1, 0x8f, 0x53, 0x60, 0xe6, 0x40, + 0x10, 0xca, 0x8e, 0x69, 0xb7, 0x76, 0x70, 0xab, 0xed, 0x98, 0x0c, 0xab, 0xef, 0xe0, 0xf5, 0x93, + 0xdd, 0x50, 0xc1, 0x1e, 0xb5, 0x29, 0xc3, 0x2e, 0xdb, 0x4d, 0xc2, 0x94, 0x9e, 0xe9, 0x75, 0xf3, + 0x33, 0x1a, 0x06, 0xd2, 0x19, 0x2d, 0xbc, 0x0b, 0x26, 0xe3, 0x5e, 0x85, 0x79, 0x90, 0xb6, 0x1c, + 0x93, 0xca, 0xef, 0x32, 0x5d, 0xca, 0xf6, 0xba, 0xf9, 0x74, 0x99, 0x13, 0x90, 0xa4, 0xc3, 0x17, + 0x40, 0x56, 0xfc, 0xb3, 0x6a, 0x32, 0x53, 0x7c, 0x5d, 0x69, 0x19, 0x97, 0x65, 0x9f, 0x88, 0x42, + 0x7e, 0xe1, 0x2e, 0x18, 0x8f, 0xa1, 0x17, 0x01, 0x30, 0x6b, 0xef, 0x77, 0x28, 0xe3, 0xdf, 0xb2, + 0x32, 0x31, 0xd9, 0xeb, 0xe6, 0xc1, 0x4a, 0x40, 0x45, 0x11, 0x89, 0xc2, 0x6f, 0x86, 0x00, 0xd8, + 0xde, 0x7b, 0x1f, 0x5b, 0xec, 0x01, 0x66, 0x26, 0x7c, 0x0f, 0x8c, 0x3a, 0xe6, 0x1e, 0x76, 0xf8, + 0xea, 0xf8, 0x3b, 0xb9, 0x7d, 0xb2, 0xb7, 0x42, 0xed, 0xe2, 0xa6, 0x50, 0x5d, 0x73, 0x99, 0x77, + 0x54, 0x9a, 0x54, 0x6f, 0x6c, 0x54, 0x12, 0x91, 0xc2, 0x85, 0x0c, 0xe4, 0x4c, 0xd7, 0x25, 0xcc, + 0x64, 0x36, 0x71, 0xa9, 0x31, 0x24, 0xcc, 0x7c, 0xe5, 0x4c, 0x66, 0x56, 0x42, 0x7d, 0x69, 0x6b, + 0x46, 0xd9, 0xca, 0x45, 0x38, 0x28, 0x6a, 0x66, 0xfe, 0x55, 0x90, 0x8b, 0x2c, 0x0e, 0x5e, 0x04, + 0xc3, 0xfb, 0xf8, 0x48, 0xb8, 0x27, 0x8b, 0xf8, 0xbf, 0xf0, 0x12, 0x48, 0x1f, 0x98, 0x4e, 0x47, + 0xa6, 0xb3, 0x2c, 0x92, 0x0f, 0x77, 0x86, 0x6e, 0xa7, 0xe6, 0xef, 0x82, 0x8b, 0xfd, 0x06, 0xcf, + 0xa2, 0x5f, 0x78, 0x34, 0x02, 0xa6, 0x2b, 0xa6, 0xc7, 0x6c, 0xd3, 0x89, 0x38, 0x7a, 0x11, 0x8c, + 0xb8, 0x66, 0x4b, 0x06, 0x65, 0xb6, 0x34, 0xae, 0x36, 0x30, 0xb2, 0x65, 0xb6, 0xf8, 0xf7, 0x6b, + 0xb6, 0x30, 0xbc, 0x0d, 0xc6, 0xfd, 0x9c, 0xcf, 0xa9, 0x12, 0xb8, 0x74, 0x49, 0x49, 0x8e, 0xdf, + 0x8b, 0xf0, 0x50, 0x4c, 0x12, 0x2e, 0x81, 0x2c, 0x47, 0xa0, 0x6d, 0xd3, 0x92, 0x99, 0x34, 0x1b, + 0xe6, 0xf4, 0x2d, 0x9f, 0x81, 0x42, 0x19, 0xd8, 0x08, 0xde, 0xfa, 0x88, 0x78, 0x1d, 0xa7, 0xf9, + 0x46, 0xfa, 0x77, 0x74, 0xaa, 0x97, 0xff, 0x9d, 0xf8, 0xcb, 0x4f, 0x0b, 0x6b, 0xab, 0xe7, 0xb1, + 0x76, 0xf6, 0x18, 0x80, 0x87, 0x60, 0x8a, 0x1c, 0xf2, 0x62, 0x89, 0xeb, 0xd8, 0xc3, 0x2e, 0x2f, + 0x8d, 0xa3, 0x62, 0x01, 0xb7, 0x22, 0x89, 0x27, 0xa8, 0xc0, 0xc5, 0xf6, 0x7e, 0x83, 0x13, 0x68, + 0x91, 0x57, 0x60, 0x11, 0x81, 0x31, 0xe5, 0xd2, 0x33, 0xca, 0xe0, 0x54, 0x9c, 0x4e, 0x51, 0xbf, + 0x95, 0xff, 0x66, 0xf0, 0xfd, 0x7c, 0x08, 0xcc, 0x6a, 0xd3, 0x19, 0x7c, 0x1f, 0x8c, 0xf1, 0x8d, + 0xd5, 0x78, 0x92, 0x91, 0x99, 0xf1, 0xe5, 0x73, 0xbc, 0x87, 0xd2, 0x9c, 0xf2, 0x42, 0x32, 0xc4, + 0x51, 0x80, 0x0f, 0xb7, 0xc1, 0x08, 0x6d, 0x63, 0x4b, 0xb5, 0x0a, 0x37, 0xb4, 0x55, 0x5d, 0xb7, + 0xc8, 0x6a, 0x1b, 0x5b, 0xe1, 0xb7, 0xc1, 0x9f, 0x90, 0x00, 0x82, 0x6f, 0x83, 0x51, 0xca, 0x4c, + 0xd6, 0xa1, 0xaa, 0x51, 0x58, 0x3a, 0x3d, 0xa4, 0x50, 0x0b, 0x03, 0x54, 0x3e, 0x23, 0x05, 0x57, + 0xf8, 0x75, 0x0a, 0x5c, 0x3d, 0x36, 0xfd, 0xff, 0x4f, 0xfb, 0xad, 0xf0, 0xfb, 0x29, 0x00, 0x2b, + 0xa4, 0xd6, 0xdf, 0x2e, 0x32, 0x90, 0x6d, 0x93, 0x9a, 0x8c, 0x51, 0x03, 0x8a, 0x6f, 0xa2, 0x7c, + 0x8a, 0x4d, 0x25, 0x80, 0x38, 0x29, 0x9a, 0x06, 0x82, 0xac, 0x13, 0xd0, 0x51, 0x68, 0x08, 0xfe, + 0x30, 0x05, 0x26, 0xdb, 0xa4, 0x16, 0x89, 0x6f, 0x55, 0x74, 0xee, 0x9f, 0xd7, 0x76, 0x22, 0x29, + 0x5c, 0x56, 0x0b, 0x98, 0x8c, 0x33, 0x51, 0x9f, 0x5d, 0xf8, 0x51, 0x0a, 0x8c, 0xbb, 0xa4, 0x86, + 0xab, 0xd8, 0xc1, 0x16, 0x23, 0x9e, 0x2a, 0x4b, 0xeb, 0xe7, 0x5a, 0xc8, 0x56, 0x04, 0x48, 0x2e, + 0x23, 0x48, 0xda, 0x51, 0x16, 0x8a, 0x59, 0x84, 0x6f, 0x00, 0x48, 0xb1, 0x77, 0x60, 0x5b, 0x78, + 0xc5, 0xb2, 0x48, 0xc7, 0x65, 0x22, 0xe9, 0xcb, 0xec, 0x3d, 0xaf, 0xf4, 0x61, 0x35, 0x21, 0x81, + 0x34, 0x5a, 0xf0, 0x17, 0x29, 0x30, 0x17, 0x27, 0x47, 0x9d, 0x2c, 0x73, 0x7c, 0xf5, 0x5c, 0x7b, + 0xab, 0x0e, 0x42, 0x95, 0x1b, 0xbd, 0xa6, 0x16, 0x3a, 0x37, 0x50, 0x0e, 0x0d, 0x5e, 0x18, 0xac, + 0x81, 0x2b, 0x66, 0x87, 0x91, 0x16, 0xa7, 0xc7, 0x01, 0x76, 0xc8, 0x3e, 0x76, 0x45, 0xc3, 0x3d, + 0x56, 0x5a, 0xec, 0x75, 0xf3, 0x57, 0x56, 0x8e, 0x91, 0x43, 0xc7, 0xa2, 0xc0, 0x17, 0xc1, 0x18, + 0x77, 0xbc, 0x70, 0xef, 0xa8, 0x70, 0xef, 0x45, 0xb5, 0xea, 0xb1, 0x2d, 0x45, 0x47, 0x81, 0x04, + 0xc4, 0xc9, 0xbe, 0x5f, 0xb6, 0xd3, 0xcf, 0x69, 0xbf, 0x46, 0x52, 0x3b, 0x5f, 0xeb, 0xef, 0x82, + 0x8b, 0x76, 0xcb, 0x6c, 0xe0, 0x4a, 0xc7, 0x71, 0xaa, 0xd8, 0xf2, 0x30, 0xa3, 0xaa, 0xbf, 0xd6, + 0x9e, 0xdb, 0x36, 0x89, 0xe5, 0xa7, 0x8c, 0xb0, 0x20, 0x19, 0x6a, 0x1b, 0x17, 0x37, 0xfa, 0x90, + 0x50, 0x02, 0x1b, 0xae, 0x83, 0x31, 0xb3, 0x5e, 0xb7, 0x5d, 0x9b, 0x1d, 0x19, 0x59, 0xb1, 0x9f, + 0x2b, 0x3a, 0x3b, 0x2b, 0x4a, 0xa6, 0x34, 0xce, 0xdd, 0xe3, 0x3f, 0xa1, 0x40, 0x17, 0xbe, 0x06, + 0x26, 0xa8, 0xd5, 0xc4, 0x3c, 0x8e, 0x3c, 0xe1, 0x51, 0x20, 0x3c, 0x3a, 0xab, 0x96, 0x32, 0x51, + 0x8d, 0x32, 0x51, 0x5c, 0x16, 0xbe, 0x05, 0x72, 0x8c, 0x38, 0xbc, 0x6f, 0x11, 0x71, 0x99, 0x13, + 0xfb, 0x5d, 0xd0, 0xad, 0x63, 0x27, 0x10, 0x0b, 0xeb, 0x7c, 0x48, 0xa3, 0x28, 0x8a, 0x03, 0xef, + 0x81, 0xe9, 0xb6, 0x67, 0x13, 0xe1, 0x5e, 0xde, 0x27, 0x8b, 0x75, 0x8d, 0x8b, 0x75, 0x85, 0x59, + 0xb7, 0x5f, 0x00, 0x25, 0x75, 0xe0, 0x75, 0x30, 0xe6, 0x13, 0x8d, 0x09, 0xd1, 0x49, 0x0b, 0x37, + 0xf8, 0xba, 0x28, 0xe0, 0xc2, 0x5a, 0xe4, 0x00, 0x7b, 0xcf, 0x64, 0x98, 0x1a, 0x93, 0x62, 0x33, + 0xff, 0x3f, 0x20, 0x48, 0x50, 0x54, 0x38, 0xcc, 0x52, 0x31, 0x32, 0x45, 0x7d, 0x98, 0xf0, 0xab, + 0xe0, 0xa2, 0x27, 0xbf, 0xc7, 0x70, 0x5f, 0x53, 0xb2, 0x2b, 0xe4, 0xaf, 0x1d, 0xf5, 0xf1, 0x50, + 0x42, 0x1a, 0xae, 0x03, 0x88, 0x5d, 0x73, 0xcf, 0xc1, 0xea, 0xc3, 0xd8, 0xb4, 0xdd, 0x7d, 0x6a, + 0x5c, 0x14, 0xdf, 0xd5, 0x65, 0x9e, 0x60, 0xd6, 0x12, 0x5c, 0xa4, 0xd1, 0x80, 0x3f, 0x4a, 0x81, + 0x39, 0x46, 0xda, 0xc4, 0x21, 0x8d, 0xa3, 0x6a, 0x9b, 0x2f, 0xb3, 0x4c, 0x5c, 0xca, 0x3c, 0xd3, + 0x76, 0x19, 0x35, 0xa6, 0xc5, 0xde, 0x5f, 0xd4, 0xbf, 0x48, 0xbd, 0x52, 0x98, 0x39, 0x06, 0x49, + 0x50, 0x34, 0xd8, 0xe2, 0xfc, 0x97, 0xc1, 0x64, 0xbc, 0xf4, 0x9c, 0xa9, 0xc9, 0x5a, 0x01, 0x33, + 0x9a, 0xe2, 0x71, 0x26, 0x88, 0xd7, 0xc1, 0x74, 0x22, 0xed, 0x9f, 0x09, 0x60, 0x13, 0x2c, 0x1c, + 0x9f, 0x5b, 0xcf, 0xd4, 0xf6, 0xfd, 0x03, 0x82, 0x0c, 0xcf, 0x45, 0xbc, 0x57, 0xaa, 0x82, 0x8c, + 0x3c, 0x98, 0xfa, 0xe5, 0xf5, 0xfa, 0xc9, 0x99, 0x5f, 0xf6, 0x12, 0xe1, 0xc1, 0x5d, 0x3e, 0x53, + 0xe4, 0x23, 0xc1, 0x6f, 0x81, 0x49, 0x9e, 0x00, 0x82, 0x01, 0x14, 0x35, 0x2e, 0x09, 0x6c, 0xed, + 0x7c, 0x25, 0x90, 0x0a, 0x23, 0x7d, 0x23, 0xa6, 0x8c, 0xfa, 0xc0, 0x60, 0x03, 0x5c, 0x65, 0xd8, + 0x6b, 0xd9, 0xae, 0x70, 0xc0, 0x3d, 0xcf, 0xb4, 0x70, 0x05, 0x7b, 0xb6, 0xc8, 0xae, 0xc4, 0xad, + 0x51, 0x31, 0xcd, 0x19, 0x2e, 0x5d, 0xeb, 0x75, 0xf3, 0x57, 0x77, 0x8e, 0x13, 0x44, 0xc7, 0xe3, + 0xc0, 0x6d, 0x90, 0xad, 0xb9, 0xb4, 0x42, 0x1c, 0xdb, 0x3a, 0x52, 0xd5, 0xe0, 0xa6, 0xdf, 0xb4, + 0xac, 0x6e, 0x55, 0x25, 0xe3, 0x51, 0x37, 0x7f, 0x25, 0x39, 0xc7, 0x2b, 0x06, 0x7c, 0x14, 0x62, + 0xc0, 0x4e, 0x5f, 0x23, 0x91, 0x11, 0x6e, 0x79, 0xed, 0x54, 0xc5, 0x96, 0xbf, 0xae, 0x27, 0xda, + 0x3d, 0x8c, 0x9d, 0xab, 0x7b, 0x78, 0x05, 0xe4, 0x9a, 0x84, 0xb2, 0x2d, 0xcc, 0x0e, 0x89, 0xb7, + 0x6f, 0xe4, 0x44, 0x76, 0x08, 0xd2, 0xee, 0xfd, 0x90, 0x85, 0xa2, 0x72, 0xf0, 0x79, 0x90, 0xe1, + 0x8f, 0x95, 0x8d, 0x55, 0x91, 0x6c, 0xc7, 0xc2, 0xe8, 0xb9, 0x2f, 0xc9, 0xc8, 0xe7, 0xfb, 0xa2, + 0x1b, 0x95, 0xb2, 0xc8, 0xab, 0x7d, 0xa2, 0x1b, 0x95, 0x32, 0xf2, 0xf9, 0x70, 0x1b, 0xcc, 0xd2, + 0xa6, 0xe9, 0xe1, 0x8a, 0x47, 0x2c, 0x2c, 0xb3, 0x98, 0x3c, 0xd7, 0x3e, 0x2b, 0x14, 0xe7, 0x7a, + 0xdd, 0xfc, 0x6c, 0x55, 0x27, 0x80, 0xf4, 0x7a, 0xba, 0x82, 0x3e, 0xf9, 0x94, 0x0a, 0xfa, 0xd4, + 0x53, 0x2a, 0xe8, 0xf0, 0x49, 0x16, 0xf4, 0x99, 0xf3, 0x17, 0xf4, 0xcb, 0xff, 0xc9, 0x82, 0x6e, + 0x3c, 0x66, 0x41, 0x9f, 0x3b, 0xb6, 0xa0, 0x3f, 0x10, 0x79, 0xa1, 0x4c, 0xdc, 0xba, 0xdd, 0x30, + 0xe6, 0x85, 0x3f, 0x17, 0x07, 0xc4, 0xc7, 0xea, 0x56, 0x55, 0xca, 0xc9, 0x29, 0x5d, 0xf0, 0x88, + 0x42, 0x04, 0x6d, 0xe5, 0xbe, 0xfa, 0x04, 0x2a, 0xf7, 0xc2, 0x13, 0xae, 0xdc, 0xd7, 0x9e, 0x76, + 0xe5, 0x86, 0x57, 0xc1, 0x88, 0xe9, 0x35, 0xa8, 0xf1, 0x07, 0x9e, 0x28, 0xb3, 0x72, 0x88, 0xbd, + 0xe2, 0x35, 0x28, 0x12, 0x64, 0x78, 0x47, 0x0e, 0x88, 0xff, 0x98, 0x39, 0xfb, 0x84, 0x18, 0xbe, + 0x13, 0xbd, 0x04, 0xf9, 0x53, 0xe6, 0x89, 0xde, 0x82, 0x54, 0xfb, 0x6f, 0x41, 0xfe, 0x9c, 0x79, + 0xfc, 0x6b, 0x90, 0xdd, 0xc4, 0x35, 0xc8, 0x5f, 0x32, 0x4f, 0xe2, 0x1e, 0xe4, 0xcd, 0xe8, 0x3d, + 0xc8, 0x5f, 0x33, 0x8f, 0x77, 0x11, 0xf2, 0x5d, 0x60, 0x58, 0x7e, 0xa1, 0xee, 0xcb, 0x82, 0xc6, + 0xdf, 0x32, 0xa7, 0xbf, 0x12, 0xb9, 0xd2, 0xeb, 0xe6, 0xc3, 0x0b, 0xac, 0xfe, 0x7c, 0x3a, 0xd0, + 0x06, 0x7c, 0x07, 0x8c, 0xcb, 0x26, 0xe4, 0x01, 0x2f, 0x58, 0xd4, 0xf8, 0xbb, 0x0c, 0x8d, 0xbc, + 0xce, 0xe6, 0x6e, 0x28, 0x18, 0x56, 0xd1, 0x08, 0x91, 0xa2, 0x18, 0xd6, 0x63, 0x77, 0x71, 0x85, + 0x9f, 0x0e, 0x81, 0xa9, 0x0a, 0xa9, 0xf9, 0xc3, 0x22, 0xd1, 0x7f, 0x7d, 0x33, 0x31, 0x30, 0x7a, + 0xf1, 0x2c, 0xd3, 0xee, 0x12, 0x54, 0x0b, 0x07, 0xda, 0x11, 0xd1, 0x7b, 0x00, 0x70, 0x57, 0x79, + 0xc4, 0x71, 0xb0, 0xa7, 0x06, 0x45, 0xe7, 0xc4, 0x2f, 0x07, 0x38, 0x28, 0x82, 0x09, 0xdf, 0x54, + 0x43, 0x28, 0x39, 0x69, 0x7b, 0xfe, 0xd4, 0x9d, 0x8c, 0x76, 0x00, 0xf5, 0xab, 0x14, 0x98, 0xea, + 0x9f, 0x3e, 0x6d, 0x83, 0xe1, 0x36, 0xa9, 0x29, 0xdf, 0xdc, 0x3a, 0xcf, 0x58, 0xa2, 0x94, 0xe1, + 0x1f, 0x3e, 0xa7, 0x73, 0x24, 0xd8, 0x00, 0xd9, 0x20, 0x7c, 0x94, 0x4b, 0xee, 0x9c, 0x0c, 0x3b, + 0xe8, 0x32, 0x55, 0x5d, 0xbe, 0x04, 0xdc, 0x10, 0xbb, 0xf0, 0x3d, 0x90, 0x53, 0xc9, 0xb5, 0x42, + 0x3c, 0x76, 0x8a, 0x99, 0xfe, 0x22, 0x18, 0x69, 0x13, 0x8f, 0xa9, 0x5b, 0x9d, 0x40, 0x82, 0x6b, + 0x23, 0xc1, 0xf1, 0xa7, 0x13, 0x9c, 0x22, 0x3c, 0x9e, 0x8e, 0x4f, 0x27, 0x84, 0x64, 0x20, 0x51, + 0xf8, 0x67, 0x3a, 0x58, 0x81, 0x88, 0x35, 0x04, 0xd2, 0x1c, 0xc5, 0xef, 0xf4, 0x6f, 0x9c, 0xbc, + 0xeb, 0xc8, 0xfa, 0x4b, 0x13, 0xca, 0x52, 0x9a, 0x3f, 0x51, 0x24, 0xa1, 0xe0, 0x12, 0xc8, 0x5a, + 0x4e, 0x87, 0x32, 0xec, 0x6d, 0x54, 0xd4, 0x25, 0x44, 0x90, 0x1b, 0xcb, 0x3e, 0x03, 0x85, 0x32, + 0xb0, 0x04, 0x46, 0xd8, 0x51, 0xdb, 0x9f, 0x5d, 0x15, 0xfd, 0x4d, 0xee, 0x1c, 0xb5, 0xf1, 0xa3, + 0x6e, 0x7e, 0x41, 0xd3, 0x49, 0xab, 0x45, 0x70, 0x09, 0x24, 0x74, 0xe1, 0x4d, 0x90, 0xc3, 0x0f, + 0x19, 0xf6, 0x5c, 0xd3, 0xd9, 0xa8, 0xc8, 0x91, 0x55, 0xb6, 0x34, 0xc5, 0xbb, 0x84, 0xb5, 0x90, + 0x8c, 0xa2, 0x32, 0xf0, 0x2e, 0x98, 0x74, 0x88, 0x59, 0x2b, 0x99, 0x8e, 0xe9, 0x5a, 0x62, 0xb1, + 0x69, 0xb1, 0x80, 0xe0, 0xcc, 0xb1, 0x19, 0xe3, 0xa2, 0x3e, 0x69, 0xf8, 0x75, 0x60, 0x44, 0x29, + 0xf2, 0x32, 0x11, 0x99, 0x6e, 0x43, 0xdd, 0x13, 0x64, 0x65, 0xca, 0xda, 0x1c, 0x20, 0x83, 0x06, + 0x6a, 0xc3, 0x8f, 0x53, 0x60, 0xd6, 0x5f, 0xe9, 0x8e, 0xc7, 0x5b, 0x2d, 0x4b, 0x9d, 0x38, 0x32, + 0x62, 0x85, 0x3b, 0x6a, 0x85, 0xb3, 0x6b, 0x3a, 0xa1, 0x47, 0xdd, 0xfc, 0xcb, 0x83, 0x7d, 0xa6, + 0x55, 0x11, 0x8e, 0xd4, 0x9b, 0x84, 0x0f, 0xc0, 0x4c, 0x13, 0x9b, 0x0e, 0x6b, 0x96, 0x9b, 0xd8, + 0xda, 0xf7, 0x63, 0x4a, 0x1c, 0x15, 0xd2, 0xa5, 0x67, 0xd5, 0x4a, 0x66, 0xee, 0x27, 0x45, 0x90, + 0x4e, 0x0f, 0x7e, 0x08, 0x66, 0x29, 0xa6, 0xd4, 0x26, 0xae, 0xdf, 0x4c, 0xaa, 0xa6, 0x29, 0xeb, + 0xa7, 0x0b, 0x5d, 0x29, 0xd0, 0x28, 0xa8, 0x56, 0x5e, 0xc7, 0x42, 0x7a, 0x13, 0x85, 0x5f, 0xa6, + 0xc0, 0x8c, 0x1f, 0x3a, 0x4f, 0x2f, 0xe3, 0x26, 0x86, 0xf2, 0xa7, 0xfc, 0xc4, 0x06, 0xe6, 0xc4, + 0x9f, 0xa4, 0xc0, 0xa8, 0x2c, 0x4a, 0xa7, 0xc8, 0x20, 0x4d, 0xbf, 0xfc, 0xc9, 0x08, 0x53, 0xab, + 0x28, 0x9e, 0xf6, 0x48, 0xaf, 0x6e, 0xe4, 0xfb, 0x8a, 0xa1, 0x8a, 0xd6, 0x18, 0x72, 0xe1, 0xb3, + 0x19, 0x10, 0x63, 0x43, 0x04, 0xc6, 0xc4, 0x01, 0xce, 0x64, 0xcd, 0xe3, 0x7e, 0x53, 0x72, 0x5f, + 0xc9, 0xc4, 0x0c, 0x8a, 0x3e, 0xdb, 0xe7, 0xa0, 0x00, 0x87, 0x63, 0xe2, 0x56, 0x9b, 0x1d, 0xad, + 0xda, 0x7e, 0xa6, 0xd6, 0x62, 0xae, 0x29, 0x99, 0x24, 0xa6, 0xcf, 0x41, 0x01, 0x0e, 0x3c, 0x00, + 0xd3, 0x0d, 0x71, 0xce, 0x57, 0x17, 0x23, 0xab, 0x36, 0xdd, 0x57, 0xd5, 0xeb, 0xa6, 0x0e, 0xfc, + 0x5e, 0x79, 0x2d, 0x2e, 0x1c, 0xb3, 0x32, 0xcb, 0x4f, 0x17, 0x09, 0x11, 0x94, 0x34, 0x01, 0xbf, + 0x9f, 0x02, 0x97, 0xcc, 0x43, 0xba, 0xe6, 0x98, 0x94, 0xd9, 0x56, 0xc9, 0x21, 0xd6, 0x7e, 0x95, + 0x11, 0xcf, 0xff, 0xe9, 0xc9, 0x2d, 0xed, 0x79, 0xec, 0xed, 0x6a, 0x42, 0x3e, 0x66, 0xde, 0xe8, + 0x75, 0xf3, 0x97, 0x74, 0x52, 0x48, 0x6b, 0x0b, 0xbe, 0x01, 0x46, 0xa9, 0x38, 0x12, 0xaa, 0x5f, + 0x91, 0x3c, 0x37, 0xa0, 0x17, 0xf3, 0x30, 0x8b, 0xd9, 0x11, 0xbf, 0xf5, 0x90, 0x74, 0xa4, 0x10, + 0xe0, 0x5d, 0x30, 0xec, 0xd6, 0xa9, 0x71, 0x4c, 0x53, 0xb7, 0xb5, 0x5e, 0x8d, 0xa1, 0x88, 0x3a, + 0xbc, 0xb5, 0x5e, 0x45, 0x5c, 0x11, 0xae, 0x83, 0xb4, 0x4d, 0x2d, 0x6a, 0x8b, 0xe4, 0x92, 0x5b, + 0xfe, 0x82, 0x0e, 0x61, 0xa3, 0x5a, 0xae, 0x6e, 0xc4, 0x30, 0xc4, 0x0f, 0x22, 0x04, 0x19, 0x49, + 0x75, 0xb8, 0x0b, 0xb2, 0x0d, 0x59, 0x5d, 0xea, 0xf4, 0xb8, 0xbc, 0x72, 0xcf, 0x17, 0x8a, 0xe1, + 0x89, 0xf2, 0x1d, 0xb0, 0x50, 0x08, 0x05, 0x7f, 0x90, 0x02, 0xb3, 0x6d, 0xdd, 0xfd, 0x99, 0x98, + 0x62, 0xe7, 0x96, 0x5f, 0x39, 0xf5, 0x85, 0x5b, 0xcc, 0xa0, 0x48, 0x64, 0x5a, 0x31, 0xa4, 0x37, + 0xc7, 0x1d, 0xed, 0xed, 0xd5, 0xc4, 0xa4, 0x65, 0x80, 0xa3, 0x51, 0x69, 0x35, 0xe9, 0x68, 0x54, + 0x5a, 0x45, 0x5c, 0x11, 0xee, 0x00, 0x50, 0x77, 0xf0, 0x43, 0x29, 0x21, 0xa6, 0x2f, 0x03, 0x46, + 0xcf, 0xeb, 0x81, 0x94, 0xc2, 0x11, 0x3f, 0x0d, 0x09, 0xa9, 0x28, 0x82, 0xc3, 0x43, 0xc9, 0xb2, + 0xdd, 0x1a, 0xf6, 0xc4, 0x90, 0x66, 0x40, 0x28, 0x95, 0x85, 0x44, 0x32, 0x94, 0x24, 0x1d, 0x29, + 0x04, 0x81, 0x85, 0xdb, 0xcd, 0x3a, 0x3d, 0x6e, 0xd8, 0x52, 0xc6, 0xed, 0x66, 0x5f, 0x40, 0x49, + 0x2c, 0x41, 0x47, 0x0a, 0x01, 0x6e, 0x81, 0x4c, 0x9d, 0x07, 0x3c, 0xf6, 0xc4, 0xf4, 0x3b, 0xb7, + 0xfc, 0x45, 0xfd, 0x56, 0x85, 0x48, 0x0c, 0x2d, 0xd7, 0xeb, 0xe6, 0x33, 0x8a, 0x81, 0x7c, 0x10, + 0xf8, 0x2e, 0xc8, 0xd5, 0xc8, 0xa1, 0x7b, 0x68, 0x7a, 0xb5, 0x95, 0xca, 0x86, 0x98, 0x86, 0xe7, + 0x96, 0x5f, 0xd0, 0x61, 0xae, 0x86, 0x62, 0x31, 0x5c, 0xd1, 0x98, 0x44, 0x98, 0x28, 0x0a, 0x08, + 0xef, 0x80, 0xa1, 0xba, 0x65, 0x4c, 0x0b, 0xd8, 0x82, 0x76, 0xa9, 0xe5, 0x18, 0xda, 0x68, 0xaf, + 0x9b, 0x1f, 0x5a, 0x2f, 0xa3, 0xa1, 0xba, 0xc5, 0x43, 0xdf, 0xfc, 0xb0, 0xe3, 0xe1, 0x75, 0xdb, + 0xc1, 0x6a, 0xae, 0xa3, 0x0d, 0xfd, 0x15, 0x5f, 0x28, 0x19, 0xfa, 0x01, 0x0b, 0x85, 0x50, 0x1c, + 0xd7, 0x12, 0x45, 0xf4, 0x81, 0xd9, 0x16, 0x23, 0x9e, 0x01, 0xb8, 0x65, 0x5f, 0x28, 0x89, 0x1b, + 0xb0, 0x50, 0x08, 0x05, 0xf7, 0xc1, 0xc4, 0x01, 0x6d, 0x37, 0xb1, 0x9f, 0xc5, 0x8c, 0x4b, 0x02, + 0x7b, 0x59, 0x7b, 0x3a, 0x53, 0x82, 0xb6, 0xc7, 0x3a, 0xa6, 0x93, 0x48, 0xbc, 0xe2, 0xbc, 0xbc, + 0x1b, 0x05, 0x43, 0x71, 0x6c, 0x1e, 0x08, 0x1f, 0x74, 0xc8, 0xde, 0x11, 0xc3, 0xc6, 0xec, 0xe0, + 0x40, 0xf8, 0x9a, 0x14, 0x49, 0x06, 0x82, 0x62, 0x20, 0x1f, 0x24, 0x70, 0xb6, 0x28, 0x18, 0x97, + 0x4f, 0x70, 0x76, 0x62, 0xbd, 0xa1, 0xb3, 0x45, 0x81, 0x08, 0xa1, 0x44, 0x61, 0x68, 0x37, 0x09, + 0x23, 0x6e, 0x5f, 0x51, 0x7a, 0x66, 0x70, 0x61, 0xa8, 0x68, 0xe4, 0x93, 0x85, 0x41, 0x27, 0x85, + 0xb4, 0xb6, 0xf8, 0xe6, 0xda, 0x1e, 0xe1, 0xfd, 0x0c, 0xae, 0xa9, 0x89, 0xd6, 0xf3, 0x03, 0xc6, + 0x0a, 0x52, 0x28, 0xb9, 0xb9, 0x80, 0x85, 0x42, 0x28, 0x58, 0x03, 0x93, 0xfc, 0x9c, 0x70, 0x48, + 0x3c, 0x3f, 0xff, 0x18, 0x83, 0xeb, 0x78, 0x25, 0x26, 0xa9, 0xb0, 0xa1, 0xbc, 0xa0, 0x8f, 0x72, + 0x50, 0x1f, 0x26, 0x7f, 0xd5, 0xd4, 0x32, 0x1d, 0xbc, 0xb1, 0x2d, 0x06, 0x77, 0x03, 0x5e, 0x75, + 0x55, 0x8a, 0x24, 0x5f, 0xb5, 0x62, 0x20, 0x1f, 0x84, 0x7b, 0x83, 0x32, 0xe2, 0x99, 0x0d, 0x4c, + 0xa8, 0x18, 0x25, 0x0f, 0x6a, 0x55, 0xa5, 0xd0, 0x76, 0x35, 0xe9, 0x8d, 0x80, 0x85, 0x42, 0x28, + 0x9e, 0xc9, 0x79, 0xc1, 0xbb, 0x32, 0x38, 0x93, 0xf7, 0x97, 0x3b, 0x91, 0xc9, 0x79, 0xb1, 0xe3, + 0x8a, 0xb0, 0x06, 0xb2, 0xd8, 0xff, 0x51, 0xa3, 0x98, 0x10, 0xe6, 0x96, 0xbf, 0x74, 0x72, 0x6f, + 0xa7, 0xfd, 0x1d, 0xa4, 0x5c, 0x65, 0xc0, 0x42, 0x21, 0x70, 0x69, 0xfd, 0x93, 0xcf, 0x17, 0x2e, + 0x7c, 0xfa, 0xf9, 0xc2, 0x85, 0xcf, 0x3e, 0x5f, 0xb8, 0xf0, 0x51, 0x6f, 0x21, 0xf5, 0x49, 0x6f, + 0x21, 0xf5, 0x69, 0x6f, 0x21, 0xf5, 0x59, 0x6f, 0x21, 0xf5, 0xdb, 0xde, 0x42, 0xea, 0xc7, 0xbf, + 0x5b, 0xb8, 0xf0, 0xce, 0xe2, 0x49, 0x3f, 0x9f, 0xfe, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0x6f, + 0xfe, 0x62, 0xbb, 0x61, 0x2d, 0x00, 0x00, } func (m *ContainerRuntimeSettings) Marshal() (dAtA []byte, err error) { @@ -1264,6 +1270,32 @@ func (m *PodRuntimeSettings) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.PodLabels) > 0 { + keysForPodLabels := make([]string, 0, len(m.PodLabels)) + for k := range m.PodLabels { + keysForPodLabels = append(keysForPodLabels, string(k)) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForPodLabels) + for iNdEx := len(keysForPodLabels) - 1; iNdEx >= 0; iNdEx-- { + v := m.PodLabels[string(keysForPodLabels[iNdEx])] + baseI := i + i -= len(v) + copy(dAtA[i:], v) + i = encodeVarintGenerated(dAtA, i, uint64(len(v))) + i-- + dAtA[i] = 0x12 + i -= len(keysForPodLabels[iNdEx]) + copy(dAtA[i:], keysForPodLabels[iNdEx]) + i = encodeVarintGenerated(dAtA, i, uint64(len(keysForPodLabels[iNdEx]))) + i-- + dAtA[i] = 0xa + i = encodeVarintGenerated(dAtA, i, uint64(baseI-i)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x92 + } + } if len(m.TopologySpreadConstraints) > 0 { for iNdEx := len(m.TopologySpreadConstraints) - 1; iNdEx >= 0; iNdEx-- { { @@ -1506,9 +1538,9 @@ func (m *PodSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) { i = encodeVarintGenerated(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0x1 + dAtA[i] = 0x3f i-- - dAtA[i] = 0xda + dAtA[i] = 0x82 } } if m.ContainerSecurityContext != nil { @@ -1521,9 +1553,9 @@ func (m *PodSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) { i = encodeVarintGenerated(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0x1 + dAtA[i] = 0x3e i-- - dAtA[i] = 0xd2 + dAtA[i] = 0xfa } if m.Lifecycle != nil { { @@ -1535,9 +1567,9 @@ func (m *PodSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) { i = encodeVarintGenerated(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0x1 + dAtA[i] = 0x3e i-- - dAtA[i] = 0xca + dAtA[i] = 0xf2 } if m.ReadinessProbe != nil { { @@ -1549,9 +1581,9 @@ func (m *PodSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) { i = encodeVarintGenerated(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0x1 + dAtA[i] = 0x3e i-- - dAtA[i] = 0xc2 + dAtA[i] = 0xea } if m.LivenessProbe != nil { { @@ -1563,9 +1595,9 @@ func (m *PodSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) { i = encodeVarintGenerated(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0x1 + dAtA[i] = 0x3e i-- - dAtA[i] = 0xba + dAtA[i] = 0xe2 } { size, err := m.Resources.MarshalToSizedBuffer(dAtA[:i]) @@ -1576,9 +1608,9 @@ func (m *PodSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) { i = encodeVarintGenerated(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0x1 + dAtA[i] = 0x3e i-- - dAtA[i] = 0xb2 + dAtA[i] = 0xda if len(m.Env) > 0 { for iNdEx := len(m.Env) - 1; iNdEx >= 0; iNdEx-- { { @@ -1590,9 +1622,9 @@ func (m *PodSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) { i = encodeVarintGenerated(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0x1 + dAtA[i] = 0x3e i-- - dAtA[i] = 0xaa + dAtA[i] = 0xd2 } } if len(m.Args) > 0 { @@ -1601,15 +1633,15 @@ func (m *PodSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) { copy(dAtA[i:], m.Args[iNdEx]) i = encodeVarintGenerated(dAtA, i, uint64(len(m.Args[iNdEx]))) i-- - dAtA[i] = 0x1 + dAtA[i] = 0x3e i-- - dAtA[i] = 0xa2 + dAtA[i] = 0xca } } - if len(m.InitContainers) > 0 { - for iNdEx := len(m.InitContainers) - 1; iNdEx >= 0; iNdEx-- { + if len(m.TopologySpreadConstraints) > 0 { + for iNdEx := len(m.TopologySpreadConstraints) - 1; iNdEx >= 0; iNdEx-- { { - size, err := m.InitContainers[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + size, err := m.TopologySpreadConstraints[iNdEx].MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -1617,15 +1649,76 @@ func (m *PodSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) { i = encodeVarintGenerated(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0x1 + dAtA[i] = 0x2 i-- - dAtA[i] = 0x9a + dAtA[i] = 0x8a } } - if len(m.Volumes) > 0 { - for iNdEx := len(m.Volumes) - 1; iNdEx >= 0; iNdEx-- { + if m.EnableServiceLinks != nil { + i-- + if *m.EnableServiceLinks { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xf0 + } + if m.RuntimeClassName != nil { + i -= len(*m.RuntimeClassName) + copy(dAtA[i:], *m.RuntimeClassName) + i = encodeVarintGenerated(dAtA, i, uint64(len(*m.RuntimeClassName))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xea + } + if m.ShareProcessNamespace != nil { + i-- + if *m.ShareProcessNamespace { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xd8 + } + if m.DNSConfig != nil { + { + size, err := m.DNSConfig.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenerated(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xd2 + } + if m.Priority != nil { + i = encodeVarintGenerated(dAtA, i, uint64(*m.Priority)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xc8 + } + i -= len(m.PriorityClassName) + copy(dAtA[i:], m.PriorityClassName) + i = encodeVarintGenerated(dAtA, i, uint64(len(m.PriorityClassName))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xc2 + if len(m.Tolerations) > 0 { + for iNdEx := len(m.Tolerations) - 1; iNdEx >= 0; iNdEx-- { { - size, err := m.Volumes[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + size, err := m.Tolerations[iNdEx].MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -1635,13 +1728,13 @@ func (m *PodSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x1 i-- - dAtA[i] = 0x92 + dAtA[i] = 0xb2 } } - if len(m.TopologySpreadConstraints) > 0 { - for iNdEx := len(m.TopologySpreadConstraints) - 1; iNdEx >= 0; iNdEx-- { + if len(m.InitContainers) > 0 { + for iNdEx := len(m.InitContainers) - 1; iNdEx >= 0; iNdEx-- { { - size, err := m.TopologySpreadConstraints[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + size, err := m.InitContainers[iNdEx].MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -1651,12 +1744,19 @@ func (m *PodSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x1 i-- - dAtA[i] = 0x8a + dAtA[i] = 0xa2 } } - if m.DNSConfig != nil { + i -= len(m.SchedulerName) + copy(dAtA[i:], m.SchedulerName) + i = encodeVarintGenerated(dAtA, i, uint64(len(m.SchedulerName))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x9a + if m.Affinity != nil { { - size, err := m.DNSConfig.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.Affinity.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -1666,17 +1766,21 @@ func (m *PodSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x1 i-- - dAtA[i] = 0x82 + dAtA[i] = 0x92 } - i -= len(m.DNSPolicy) - copy(dAtA[i:], m.DNSPolicy) - i = encodeVarintGenerated(dAtA, i, uint64(len(m.DNSPolicy))) - i-- - dAtA[i] = 0x7a - if m.TerminationGracePeriodSeconds != nil { - i = encodeVarintGenerated(dAtA, i, uint64(*m.TerminationGracePeriodSeconds)) - i-- - dAtA[i] = 0x70 + if len(m.ImagePullSecrets) > 0 { + for iNdEx := len(m.ImagePullSecrets) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.ImagePullSecrets[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenerated(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x7a + } } if m.SecurityContext != nil { { @@ -1688,17 +1792,7 @@ func (m *PodSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) { i = encodeVarintGenerated(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0x6a - } - if m.ShareProcessNamespace != nil { - i-- - if *m.ShareProcessNamespace { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x60 + dAtA[i] = 0x72 } i-- if m.HostIPC { @@ -1707,7 +1801,7 @@ func (m *PodSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) { dAtA[i] = 0 } i-- - dAtA[i] = 0x58 + dAtA[i] = 0x68 i-- if m.HostPID { dAtA[i] = 1 @@ -1715,7 +1809,7 @@ func (m *PodSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) { dAtA[i] = 0 } i-- - dAtA[i] = 0x50 + dAtA[i] = 0x60 i-- if m.HostNetwork { dAtA[i] = 1 @@ -1723,62 +1817,12 @@ func (m *PodSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) { dAtA[i] = 0 } i-- - dAtA[i] = 0x48 - if m.Priority != nil { - i = encodeVarintGenerated(dAtA, i, uint64(*m.Priority)) - i-- - dAtA[i] = 0x40 - } - i -= len(m.PriorityClassName) - copy(dAtA[i:], m.PriorityClassName) - i = encodeVarintGenerated(dAtA, i, uint64(len(m.PriorityClassName))) - i-- - dAtA[i] = 0x3a - if len(m.ImagePullSecrets) > 0 { - for iNdEx := len(m.ImagePullSecrets) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.ImagePullSecrets[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintGenerated(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x32 - } - } - if len(m.Tolerations) > 0 { - for iNdEx := len(m.Tolerations) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Tolerations[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintGenerated(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x2a - } - } - i -= len(m.SchedulerName) - copy(dAtA[i:], m.SchedulerName) - i = encodeVarintGenerated(dAtA, i, uint64(len(m.SchedulerName))) + dAtA[i] = 0x58 + i -= len(m.ServiceAccountName) + copy(dAtA[i:], m.ServiceAccountName) + i = encodeVarintGenerated(dAtA, i, uint64(len(m.ServiceAccountName))) i-- - dAtA[i] = 0x22 - if m.Affinity != nil { - { - size, err := m.Affinity.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintGenerated(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x1a - } + dAtA[i] = 0x42 if len(m.NodeSelector) > 0 { keysForNodeSelector := make([]string, 0, len(m.NodeSelector)) for k := range m.NodeSelector { @@ -1800,14 +1844,33 @@ func (m *PodSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) { dAtA[i] = 0xa i = encodeVarintGenerated(dAtA, i, uint64(baseI-i)) i-- - dAtA[i] = 0x12 + dAtA[i] = 0x3a } } - i -= len(m.ServiceAccountName) - copy(dAtA[i:], m.ServiceAccountName) - i = encodeVarintGenerated(dAtA, i, uint64(len(m.ServiceAccountName))) + i -= len(m.DNSPolicy) + copy(dAtA[i:], m.DNSPolicy) + i = encodeVarintGenerated(dAtA, i, uint64(len(m.DNSPolicy))) i-- - dAtA[i] = 0xa + dAtA[i] = 0x32 + if m.TerminationGracePeriodSeconds != nil { + i = encodeVarintGenerated(dAtA, i, uint64(*m.TerminationGracePeriodSeconds)) + i-- + dAtA[i] = 0x20 + } + if len(m.Volumes) > 0 { + for iNdEx := len(m.Volumes) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Volumes[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenerated(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + } return len(dAtA) - i, nil } @@ -2774,6 +2837,14 @@ func (m *PodRuntimeSettings) Size() (n int) { n += 2 + l + sovGenerated(uint64(l)) } } + if len(m.PodLabels) > 0 { + for k, v := range m.PodLabels { + _ = k + _ = v + mapEntrySize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + len(v) + sovGenerated(uint64(len(v))) + n += mapEntrySize + 2 + sovGenerated(uint64(mapEntrySize)) + } + } return n } @@ -2783,7 +2854,16 @@ func (m *PodSpec) Size() (n int) { } var l int _ = l - l = len(m.ServiceAccountName) + if len(m.Volumes) > 0 { + for _, e := range m.Volumes { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + if m.TerminationGracePeriodSeconds != nil { + n += 1 + sovGenerated(uint64(*m.TerminationGracePeriodSeconds)) + } + l = len(m.DNSPolicy) n += 1 + l + sovGenerated(uint64(l)) if len(m.NodeSelector) > 0 { for k, v := range m.NodeSelector { @@ -2793,62 +2873,60 @@ func (m *PodSpec) Size() (n int) { n += mapEntrySize + 1 + sovGenerated(uint64(mapEntrySize)) } } - if m.Affinity != nil { - l = m.Affinity.Size() - n += 1 + l + sovGenerated(uint64(l)) - } - l = len(m.SchedulerName) - n += 1 + l + sovGenerated(uint64(l)) - if len(m.Tolerations) > 0 { - for _, e := range m.Tolerations { - l = e.Size() - n += 1 + l + sovGenerated(uint64(l)) - } - } - if len(m.ImagePullSecrets) > 0 { - for _, e := range m.ImagePullSecrets { - l = e.Size() - n += 1 + l + sovGenerated(uint64(l)) - } - } - l = len(m.PriorityClassName) + l = len(m.ServiceAccountName) n += 1 + l + sovGenerated(uint64(l)) - if m.Priority != nil { - n += 1 + sovGenerated(uint64(*m.Priority)) - } n += 2 n += 2 n += 2 - if m.ShareProcessNamespace != nil { - n += 2 - } if m.SecurityContext != nil { l = m.SecurityContext.Size() n += 1 + l + sovGenerated(uint64(l)) } - if m.TerminationGracePeriodSeconds != nil { - n += 1 + sovGenerated(uint64(*m.TerminationGracePeriodSeconds)) + if len(m.ImagePullSecrets) > 0 { + for _, e := range m.ImagePullSecrets { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } } - l = len(m.DNSPolicy) - n += 1 + l + sovGenerated(uint64(l)) - if m.DNSConfig != nil { - l = m.DNSConfig.Size() + if m.Affinity != nil { + l = m.Affinity.Size() n += 2 + l + sovGenerated(uint64(l)) } - if len(m.TopologySpreadConstraints) > 0 { - for _, e := range m.TopologySpreadConstraints { + l = len(m.SchedulerName) + n += 2 + l + sovGenerated(uint64(l)) + if len(m.InitContainers) > 0 { + for _, e := range m.InitContainers { l = e.Size() n += 2 + l + sovGenerated(uint64(l)) } } - if len(m.Volumes) > 0 { - for _, e := range m.Volumes { + if len(m.Tolerations) > 0 { + for _, e := range m.Tolerations { l = e.Size() n += 2 + l + sovGenerated(uint64(l)) } } - if len(m.InitContainers) > 0 { - for _, e := range m.InitContainers { + l = len(m.PriorityClassName) + n += 2 + l + sovGenerated(uint64(l)) + if m.Priority != nil { + n += 2 + sovGenerated(uint64(*m.Priority)) + } + if m.DNSConfig != nil { + l = m.DNSConfig.Size() + n += 2 + l + sovGenerated(uint64(l)) + } + if m.ShareProcessNamespace != nil { + n += 3 + } + if m.RuntimeClassName != nil { + l = len(*m.RuntimeClassName) + n += 2 + l + sovGenerated(uint64(l)) + } + if m.EnableServiceLinks != nil { + n += 3 + } + if len(m.TopologySpreadConstraints) > 0 { + for _, e := range m.TopologySpreadConstraints { l = e.Size() n += 2 + l + sovGenerated(uint64(l)) } @@ -3337,6 +3415,16 @@ func (this *PodRuntimeSettings) String() string { mapStringForServiceAccountAnnotations += fmt.Sprintf("%v: %v,", k, this.ServiceAccountAnnotations[k]) } mapStringForServiceAccountAnnotations += "}" + keysForPodLabels := make([]string, 0, len(this.PodLabels)) + for k := range this.PodLabels { + keysForPodLabels = append(keysForPodLabels, k) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForPodLabels) + mapStringForPodLabels := "map[string]string{" + for _, k := range keysForPodLabels { + mapStringForPodLabels += fmt.Sprintf("%v: %v,", k, this.PodLabels[k]) + } + mapStringForPodLabels += "}" s := strings.Join([]string{`&PodRuntimeSettings{`, `PodAnnotations:` + mapStringForPodAnnotations + `,`, `NodeSelector:` + mapStringForNodeSelector + `,`, @@ -3355,6 +3443,7 @@ func (this *PodRuntimeSettings) String() string { `RuntimeClassName:` + valueToStringGenerated(this.RuntimeClassName) + `,`, `EnableServiceLinks:` + valueToStringGenerated(this.EnableServiceLinks) + `,`, `TopologySpreadConstraints:` + repeatedStringForTopologySpreadConstraints + `,`, + `PodLabels:` + mapStringForPodLabels + `,`, `}`, }, "") return s @@ -3363,31 +3452,31 @@ func (this *PodSpec) String() string { if this == nil { return "nil" } - repeatedStringForTolerations := "[]Toleration{" - for _, f := range this.Tolerations { - repeatedStringForTolerations += fmt.Sprintf("%v", f) + "," + repeatedStringForVolumes := "[]Volume{" + for _, f := range this.Volumes { + repeatedStringForVolumes += strings.Replace(strings.Replace(f.String(), "Volume", "Volume", 1), `&`, ``, 1) + "," } - repeatedStringForTolerations += "}" + repeatedStringForVolumes += "}" repeatedStringForImagePullSecrets := "[]LocalObjectReference{" for _, f := range this.ImagePullSecrets { repeatedStringForImagePullSecrets += fmt.Sprintf("%v", f) + "," } repeatedStringForImagePullSecrets += "}" - repeatedStringForTopologySpreadConstraints := "[]TopologySpreadConstraint{" - for _, f := range this.TopologySpreadConstraints { - repeatedStringForTopologySpreadConstraints += fmt.Sprintf("%v", f) + "," - } - repeatedStringForTopologySpreadConstraints += "}" - repeatedStringForVolumes := "[]Volume{" - for _, f := range this.Volumes { - repeatedStringForVolumes += strings.Replace(strings.Replace(f.String(), "Volume", "Volume", 1), `&`, ``, 1) + "," - } - repeatedStringForVolumes += "}" repeatedStringForInitContainers := "[]Container{" for _, f := range this.InitContainers { repeatedStringForInitContainers += fmt.Sprintf("%v", f) + "," } repeatedStringForInitContainers += "}" + repeatedStringForTolerations := "[]Toleration{" + for _, f := range this.Tolerations { + repeatedStringForTolerations += fmt.Sprintf("%v", f) + "," + } + repeatedStringForTolerations += "}" + repeatedStringForTopologySpreadConstraints := "[]TopologySpreadConstraint{" + for _, f := range this.TopologySpreadConstraints { + repeatedStringForTopologySpreadConstraints += fmt.Sprintf("%v", f) + "," + } + repeatedStringForTopologySpreadConstraints += "}" repeatedStringForEnv := "[]EnvVar{" for _, f := range this.Env { repeatedStringForEnv += fmt.Sprintf("%v", f) + "," @@ -3409,25 +3498,27 @@ func (this *PodSpec) String() string { } mapStringForNodeSelector += "}" s := strings.Join([]string{`&PodSpec{`, - `ServiceAccountName:` + fmt.Sprintf("%v", this.ServiceAccountName) + `,`, + `Volumes:` + repeatedStringForVolumes + `,`, + `TerminationGracePeriodSeconds:` + valueToStringGenerated(this.TerminationGracePeriodSeconds) + `,`, + `DNSPolicy:` + fmt.Sprintf("%v", this.DNSPolicy) + `,`, `NodeSelector:` + mapStringForNodeSelector + `,`, + `ServiceAccountName:` + fmt.Sprintf("%v", this.ServiceAccountName) + `,`, + `HostNetwork:` + fmt.Sprintf("%v", this.HostNetwork) + `,`, + `HostPID:` + fmt.Sprintf("%v", this.HostPID) + `,`, + `HostIPC:` + fmt.Sprintf("%v", this.HostIPC) + `,`, + `SecurityContext:` + strings.Replace(fmt.Sprintf("%v", this.SecurityContext), "PodSecurityContext", "v1.PodSecurityContext", 1) + `,`, + `ImagePullSecrets:` + repeatedStringForImagePullSecrets + `,`, `Affinity:` + strings.Replace(fmt.Sprintf("%v", this.Affinity), "Affinity", "v1.Affinity", 1) + `,`, `SchedulerName:` + fmt.Sprintf("%v", this.SchedulerName) + `,`, + `InitContainers:` + repeatedStringForInitContainers + `,`, `Tolerations:` + repeatedStringForTolerations + `,`, - `ImagePullSecrets:` + repeatedStringForImagePullSecrets + `,`, `PriorityClassName:` + fmt.Sprintf("%v", this.PriorityClassName) + `,`, `Priority:` + valueToStringGenerated(this.Priority) + `,`, - `HostNetwork:` + fmt.Sprintf("%v", this.HostNetwork) + `,`, - `HostPID:` + fmt.Sprintf("%v", this.HostPID) + `,`, - `HostIPC:` + fmt.Sprintf("%v", this.HostIPC) + `,`, - `ShareProcessNamespace:` + valueToStringGenerated(this.ShareProcessNamespace) + `,`, - `SecurityContext:` + strings.Replace(fmt.Sprintf("%v", this.SecurityContext), "PodSecurityContext", "v1.PodSecurityContext", 1) + `,`, - `TerminationGracePeriodSeconds:` + valueToStringGenerated(this.TerminationGracePeriodSeconds) + `,`, - `DNSPolicy:` + fmt.Sprintf("%v", this.DNSPolicy) + `,`, `DNSConfig:` + strings.Replace(fmt.Sprintf("%v", this.DNSConfig), "PodDNSConfig", "v1.PodDNSConfig", 1) + `,`, + `ShareProcessNamespace:` + valueToStringGenerated(this.ShareProcessNamespace) + `,`, + `RuntimeClassName:` + valueToStringGenerated(this.RuntimeClassName) + `,`, + `EnableServiceLinks:` + valueToStringGenerated(this.EnableServiceLinks) + `,`, `TopologySpreadConstraints:` + repeatedStringForTopologySpreadConstraints + `,`, - `Volumes:` + repeatedStringForVolumes + `,`, - `InitContainers:` + repeatedStringForInitContainers + `,`, `Args:` + fmt.Sprintf("%v", this.Args) + `,`, `Env:` + repeatedStringForEnv + `,`, `Resources:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Resources), "ResourceRequirements", "v1.ResourceRequirements", 1), `&`, ``, 1) + `,`, @@ -6022,91 +6113,9 @@ func (m *PodRuntimeSettings) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipGenerated(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthGenerated - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *PodSpec) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenerated - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: PodSpec: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: PodSpec: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ServiceAccountName", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenerated - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthGenerated - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthGenerated - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ServiceAccountName = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: + case 18: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NodeSelector", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PodLabels", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -6133,8 +6142,8 @@ func (m *PodSpec) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.NodeSelector == nil { - m.NodeSelector = make(map[string]string) + if m.PodLabels == nil { + m.PodLabels = make(map[string]string) } var mapkey string var mapvalue string @@ -6229,81 +6238,117 @@ func (m *PodSpec) Unmarshal(dAtA []byte) error { iNdEx += skippy } } - m.NodeSelector[mapkey] = mapvalue + m.PodLabels[mapkey] = mapvalue iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Affinity", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenerated - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthGenerated + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err } - postIndex := iNdEx + msglen - if postIndex < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthGenerated } - if postIndex > l { + if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - if m.Affinity == nil { - m.Affinity = &v1.Affinity{} - } - if err := m.Affinity.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SchedulerName", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenerated - } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *PodSpec) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: PodSpec: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: PodSpec: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Volumes", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } if iNdEx >= l { return io.ErrUnexpectedEOF } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthGenerated } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthGenerated } if postIndex > l { return io.ErrUnexpectedEOF } - m.SchedulerName = string(dAtA[iNdEx:postIndex]) + m.Volumes = append(m.Volumes, Volume{}) + if err := m.Volumes[len(m.Volumes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 5: + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TerminationGracePeriodSeconds", wireType) + } + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.TerminationGracePeriodSeconds = &v + case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Tolerations", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DNSPolicy", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowGenerated @@ -6313,29 +6358,27 @@ func (m *PodSpec) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthGenerated } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthGenerated } if postIndex > l { return io.ErrUnexpectedEOF } - m.Tolerations = append(m.Tolerations, v1.Toleration{}) - if err := m.Tolerations[len(m.Tolerations)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.DNSPolicy = k8s_io_api_core_v1.DNSPolicy(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 6: + case 7: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ImagePullSecrets", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field NodeSelector", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -6362,14 +6405,107 @@ func (m *PodSpec) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.ImagePullSecrets = append(m.ImagePullSecrets, v1.LocalObjectReference{}) - if err := m.ImagePullSecrets[len(m.ImagePullSecrets)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err + if m.NodeSelector == nil { + m.NodeSelector = make(map[string]string) } + var mapkey string + var mapvalue string + for iNdEx < postIndex { + entryPreIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + if fieldNum == 1 { + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return ErrInvalidLengthGenerated + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthGenerated + } + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + } else if fieldNum == 2 { + var stringLenmapvalue uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapvalue |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapvalue := int(stringLenmapvalue) + if intStringLenmapvalue < 0 { + return ErrInvalidLengthGenerated + } + postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthGenerated + } + if postStringIndexmapvalue > l { + return io.ErrUnexpectedEOF + } + mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue]) + iNdEx = postStringIndexmapvalue + } else { + iNdEx = entryPreIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > postIndex { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + m.NodeSelector[mapkey] = mapvalue iNdEx = postIndex - case 7: + case 8: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PriorityClassName", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ServiceAccountName", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -6397,29 +6533,9 @@ func (m *PodSpec) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.PriorityClassName = string(dAtA[iNdEx:postIndex]) + m.ServiceAccountName = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 8: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Priority", wireType) - } - var v int32 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenerated - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int32(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.Priority = &v - case 9: + case 11: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field HostNetwork", wireType) } @@ -6439,7 +6555,7 @@ func (m *PodSpec) Unmarshal(dAtA []byte) error { } } m.HostNetwork = bool(v != 0) - case 10: + case 12: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field HostPID", wireType) } @@ -6459,7 +6575,7 @@ func (m *PodSpec) Unmarshal(dAtA []byte) error { } } m.HostPID = bool(v != 0) - case 11: + case 13: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field HostIPC", wireType) } @@ -6479,11 +6595,11 @@ func (m *PodSpec) Unmarshal(dAtA []byte) error { } } m.HostIPC = bool(v != 0) - case 12: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ShareProcessNamespace", wireType) + case 14: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SecurityContext", wireType) } - var v int + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowGenerated @@ -6493,16 +6609,31 @@ func (m *PodSpec) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - b := bool(v != 0) - m.ShareProcessNamespace = &b - case 13: + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenerated + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.SecurityContext == nil { + m.SecurityContext = &v1.PodSecurityContext{} + } + if err := m.SecurityContext.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 15: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SecurityContext", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ImagePullSecrets", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -6529,18 +6660,16 @@ func (m *PodSpec) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.SecurityContext == nil { - m.SecurityContext = &v1.PodSecurityContext{} - } - if err := m.SecurityContext.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.ImagePullSecrets = append(m.ImagePullSecrets, v1.LocalObjectReference{}) + if err := m.ImagePullSecrets[len(m.ImagePullSecrets)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 14: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TerminationGracePeriodSeconds", wireType) + case 18: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Affinity", wireType) } - var v int64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowGenerated @@ -6550,15 +6679,31 @@ func (m *PodSpec) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - m.TerminationGracePeriodSeconds = &v - case 15: + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenerated + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Affinity == nil { + m.Affinity = &v1.Affinity{} + } + if err := m.Affinity.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 19: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DNSPolicy", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SchedulerName", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -6586,11 +6731,11 @@ func (m *PodSpec) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.DNSPolicy = k8s_io_api_core_v1.DNSPolicy(dAtA[iNdEx:postIndex]) + m.SchedulerName = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 16: + case 20: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DNSConfig", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field InitContainers", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -6617,16 +6762,14 @@ func (m *PodSpec) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.DNSConfig == nil { - m.DNSConfig = &v1.PodDNSConfig{} - } - if err := m.DNSConfig.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.InitContainers = append(m.InitContainers, v1.Container{}) + if err := m.InitContainers[len(m.InitContainers)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 17: + case 22: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TopologySpreadConstraints", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Tolerations", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -6653,14 +6796,66 @@ func (m *PodSpec) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.TopologySpreadConstraints = append(m.TopologySpreadConstraints, v1.TopologySpreadConstraint{}) - if err := m.TopologySpreadConstraints[len(m.TopologySpreadConstraints)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.Tolerations = append(m.Tolerations, v1.Toleration{}) + if err := m.Tolerations[len(m.Tolerations)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 18: + case 24: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Volumes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PriorityClassName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGenerated + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.PriorityClassName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 25: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Priority", wireType) + } + var v int32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Priority = &v + case 26: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DNSConfig", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -6687,14 +6882,91 @@ func (m *PodSpec) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Volumes = append(m.Volumes, Volume{}) - if err := m.Volumes[len(m.Volumes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if m.DNSConfig == nil { + m.DNSConfig = &v1.PodDNSConfig{} + } + if err := m.DNSConfig.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 19: + case 27: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ShareProcessNamespace", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.ShareProcessNamespace = &b + case 29: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field InitContainers", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RuntimeClassName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGenerated + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + s := string(dAtA[iNdEx:postIndex]) + m.RuntimeClassName = &s + iNdEx = postIndex + case 30: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field EnableServiceLinks", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.EnableServiceLinks = &b + case 33: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TopologySpreadConstraints", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -6721,12 +6993,12 @@ func (m *PodSpec) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.InitContainers = append(m.InitContainers, v1.Container{}) - if err := m.InitContainers[len(m.InitContainers)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.TopologySpreadConstraints = append(m.TopologySpreadConstraints, v1.TopologySpreadConstraint{}) + if err := m.TopologySpreadConstraints[len(m.TopologySpreadConstraints)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 20: + case 1001: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Args", wireType) } @@ -6758,7 +7030,7 @@ func (m *PodSpec) Unmarshal(dAtA []byte) error { } m.Args = append(m.Args, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex - case 21: + case 1002: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Env", wireType) } @@ -6792,7 +7064,7 @@ func (m *PodSpec) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 22: + case 1003: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Resources", wireType) } @@ -6825,7 +7097,7 @@ func (m *PodSpec) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 23: + case 1004: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field LivenessProbe", wireType) } @@ -6861,7 +7133,7 @@ func (m *PodSpec) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 24: + case 1005: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field ReadinessProbe", wireType) } @@ -6897,7 +7169,7 @@ func (m *PodSpec) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 25: + case 1006: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Lifecycle", wireType) } @@ -6933,7 +7205,7 @@ func (m *PodSpec) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 26: + case 1007: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field ContainerSecurityContext", wireType) } @@ -6969,7 +7241,7 @@ func (m *PodSpec) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 27: + case 1008: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field VolumeMounts", wireType) } diff --git a/vendor/kmodules.xyz/offshoot-api/api/v1/generated.proto b/vendor/kmodules.xyz/offshoot-api/api/v1/generated.proto index 7f07008c..bf86d4c9 100644 --- a/vendor/kmodules.xyz/offshoot-api/api/v1/generated.proto +++ b/vendor/kmodules.xyz/offshoot-api/api/v1/generated.proto @@ -246,6 +246,10 @@ message PersistentVolumeClaimTemplate { } message PodRuntimeSettings { + // PodLabels are the labels that will be attached with the respective Pod + // +optional + map podLabels = 18; + // PodAnnotations are the annotations that will be attached with the respective Pod // +optional map podAnnotations = 1; @@ -353,70 +357,80 @@ message PodRuntimeSettings { } message PodSpec { - // ServiceAccountName is the name of the ServiceAccount to use to run this pod. - // More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ - // +optional - optional string serviceAccountName = 1; - - // NodeSelector is a selector which must be true for the pod to fit on a node. - // Selector which must match a node's labels for the pod to be scheduled on that node. - // More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ - // +optional - map nodeSelector = 2; - - // If specified, the pod's scheduling constraints + // List of volumes that can be mounted by containers belonging to the pod. + // More info: https://kubernetes.io/docs/concepts/storage/volumes // +optional - optional k8s.io.api.core.v1.Affinity affinity = 3; + // +patchMergeKey=name + // +patchStrategy=merge,retainKeys + repeated Volume volumes = 1; - // If specified, the pod will be dispatched by specified scheduler. - // If not specified, the pod will be dispatched by default scheduler. - // +optional - optional string schedulerName = 4; + // List of initialization containers belonging to the pod. + // Init containers are executed in order prior to containers being started. If any + // init container fails, the pod is considered to have failed and is handled according + // to its restartPolicy. The name for an init container or normal container must be + // unique among all containers. + // Init containers may not have Lifecycle actions, Readiness probes, or Liveness probes. + // The resourceRequirements of an init container are taken into account during scheduling + // by finding the highest request/limit for each resource type, and then using the max of + // of that value or the sum of the normal containers. Limits are applied to init containers + // in a similar fashion. + // Init containers cannot currently be added or removed. + // Cannot be updated. + // More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ + // +patchMergeKey=name + // +patchStrategy=merge + repeated k8s.io.api.core.v1.Container initContainers = 20; - // If specified, the pod's tolerations. + // Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. + // Value must be non-negative integer. The value zero indicates stop immediately via + // the kill signal (no opportunity to shut down). + // If this value is nil, the default grace period will be used instead. + // The grace period is the duration in seconds after the processes running in the pod are sent + // a termination signal and the time when the processes are forcibly halted with a kill signal. + // Set this value longer than the expected cleanup time for your process. + // Defaults to 30 seconds. // +optional - repeated k8s.io.api.core.v1.Toleration tolerations = 5; + optional int64 terminationGracePeriodSeconds = 4; - // ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. - // If specified, these secrets will be passed to individual puller implementations for them to use. + // Set DNS policy for the pod. + // Defaults to "ClusterFirst". + // Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. + // DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. + // To have DNS options set along with hostNetwork, you have to specify DNS policy + // explicitly to 'ClusterFirstWithHostNet'. // +optional - repeated k8s.io.api.core.v1.LocalObjectReference imagePullSecrets = 6; + optional string dnsPolicy = 6; - // If specified, indicates the pod's priority. "system-node-critical" and - // "system-cluster-critical" are two special keywords which indicate the - // highest priorities with the former being the highest priority. Any other - // name must be defined by creating a PriorityClass object with that name. - // If not specified, the pod priority will be default or zero if there is no - // default. + // NodeSelector is a selector which must be true for the pod to fit on a node. + // Selector which must match a node's labels for the pod to be scheduled on that node. + // More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ // +optional - optional string priorityClassName = 7; + // +mapType=atomic + map nodeSelector = 7; - // The priority value. Various system components use this field to find the - // priority of the pod. When Priority Admission Controller is enabled, it - // prevents users from setting this field. The admission controller populates - // this field from PriorityClassName. - // The higher the value, the higher the priority. + // ServiceAccountName is the name of the ServiceAccount to use to run this pod. + // More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ // +optional - optional int32 priority = 8; + optional string serviceAccountName = 8; // Host networking requested for this pod. Use the host's network namespace. // If this option is set, the ports that will be used must be specified. // Default to false. // +k8s:conversion-gen=false // +optional - optional bool hostNetwork = 9; + optional bool hostNetwork = 11; // Use the host's pid namespace. // Optional: Default to false. // +k8s:conversion-gen=false // +optional - optional bool hostPID = 10; + optional bool hostPID = 12; // Use the host's ipc namespace. // Optional: Default to false. // +k8s:conversion-gen=false // +optional - optional bool hostIPC = 11; + optional bool hostIPC = 13; // Share a single process namespace between all of the containers in a pod. // When this is set containers will be able to view and signal processes from other containers @@ -425,38 +439,70 @@ message PodSpec { // Optional: Default to false. // +k8s:conversion-gen=false // +optional - optional bool shareProcessNamespace = 12; + optional bool shareProcessNamespace = 27; // SecurityContext holds pod-level security attributes and common container settings. // Optional: Defaults to empty. See type description for default values of each field. // +optional - optional k8s.io.api.core.v1.PodSecurityContext securityContext = 13; + optional k8s.io.api.core.v1.PodSecurityContext securityContext = 14; - // Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. - // Value must be non-negative integer. The value zero indicates stop immediately via - // the kill signal (no opportunity to shut down). - // If this value is nil, the default grace period will be used instead. - // The grace period is the duration in seconds after the processes running in the pod are sent - // a termination signal and the time when the processes are forcibly halted with a kill signal. - // Set this value longer than the expected cleanup time for your process. - // Defaults to 30 seconds. + // ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. + // If specified, these secrets will be passed to individual puller implementations for them to use. + // More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod + // +optional + // +patchMergeKey=name + // +patchStrategy=merge + repeated k8s.io.api.core.v1.LocalObjectReference imagePullSecrets = 15; + + // If specified, the pod's scheduling constraints // +optional - optional int64 terminationGracePeriodSeconds = 14; + optional k8s.io.api.core.v1.Affinity affinity = 18; - // Set DNS policy for the pod. - // Defaults to "ClusterFirst". - // Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. - // DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. - // To have DNS options set along with hostNetwork, you have to specify DNS policy - // explicitly to 'ClusterFirstWithHostNet'. + // If specified, the pod will be dispatched by specified scheduler. + // If not specified, the pod will be dispatched by default scheduler. + // +optional + optional string schedulerName = 19; + + // If specified, the pod's tolerations. + // +optional + repeated k8s.io.api.core.v1.Toleration tolerations = 22; + + // If specified, indicates the pod's priority. "system-node-critical" and + // "system-cluster-critical" are two special keywords which indicate the + // highest priorities with the former being the highest priority. Any other + // name must be defined by creating a PriorityClass object with that name. + // If not specified, the pod priority will be default or zero if there is no + // default. + // +optional + optional string priorityClassName = 24; + + // The priority value. Various system components use this field to find the + // priority of the pod. When Priority Admission Controller is enabled, it + // prevents users from setting this field. The admission controller populates + // this field from PriorityClassName. + // The higher the value, the higher the priority. // +optional - optional string dnsPolicy = 15; + optional int32 priority = 25; // Specifies the DNS parameters of a pod. // Parameters specified here will be merged to the generated DNS // configuration based on DNSPolicy. // +optional - optional k8s.io.api.core.v1.PodDNSConfig dnsConfig = 16; + optional k8s.io.api.core.v1.PodDNSConfig dnsConfig = 26; + + // RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used + // to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run. + // If unset or empty, the "legacy" RuntimeClass will be used, which is an implicit class with an + // empty definition that uses the default runtime handler. + // More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class + // +optional + optional string runtimeClassName = 29; + + // EnableServiceLinks indicates whether information about services should be injected into pod's + // environment variables, matching the syntax of Docker links. + // Optional: Defaults to true. + // +optional + optional bool enableServiceLinks = 30; // TopologySpreadConstraints describes how a group of pods ought to spread across topology // domains. Scheduler will schedule pods in a way which abides by the constraints. @@ -467,31 +513,7 @@ message PodSpec { // +listType=map // +listMapKey=topologyKey // +listMapKey=whenUnsatisfiable - repeated k8s.io.api.core.v1.TopologySpreadConstraint topologySpreadConstraints = 17; - - // List of volumes that can be mounted by containers belonging to the pod. - // More info: https://kubernetes.io/docs/concepts/storage/volumes - // +optional - // +patchMergeKey=name - // +patchStrategy=merge,retainKeys - repeated Volume volumes = 18; - - // List of initialization containers belonging to the pod. - // Init containers are executed in order prior to containers being started. If any - // init container fails, the pod is considered to have failed and is handled according - // to its restartPolicy. The name for an init container or normal container must be - // unique among all containers. - // Init containers may not have Lifecycle actions, Readiness probes, or Liveness probes. - // The resourceRequirements of an init container are taken into account during scheduling - // by finding the highest request/limit for each resource type, and then using the max of - // of that value or the sum of the normal containers. Limits are applied to init containers - // in a similar fashion. - // Init containers cannot currently be added or removed. - // Cannot be updated. - // More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ - // +patchMergeKey=name - // +patchStrategy=merge - repeated k8s.io.api.core.v1.Container initContainers = 19; + repeated k8s.io.api.core.v1.TopologySpreadConstraint topologySpreadConstraints = 33; // Arguments to the entrypoint. // The docker image's CMD is used if this is not provided. @@ -502,16 +524,16 @@ message PodSpec { // Cannot be updated. // More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell // +optional - repeated string args = 20; + repeated string args = 1001; // List of environment variables to set in the container. // Cannot be updated. // +optional - repeated k8s.io.api.core.v1.EnvVar env = 21; + repeated k8s.io.api.core.v1.EnvVar env = 1002; // Compute Resources required by the sidecar container. // +optional - optional k8s.io.api.core.v1.ResourceRequirements resources = 22; + optional k8s.io.api.core.v1.ResourceRequirements resources = 1003; // Periodic probe of container liveness. // Container will be restarted if the probe fails. @@ -520,7 +542,7 @@ message PodSpec { // Cannot be updated. // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes // +optional - optional k8s.io.api.core.v1.Probe livenessProbe = 23; + optional k8s.io.api.core.v1.Probe livenessProbe = 1004; // Periodic probe of container service readiness. // Container will be removed from service endpoints if the probe fails. @@ -529,25 +551,25 @@ message PodSpec { // To ignore defaulting, set the value to empty ReadynessProbe "{}". // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes // +optional - optional k8s.io.api.core.v1.Probe readinessProbe = 24; + optional k8s.io.api.core.v1.Probe readinessProbe = 1005; // Actions that the management system should take in response to container lifecycle events. // Cannot be updated. // +optional - optional k8s.io.api.core.v1.Lifecycle lifecycle = 25; + optional k8s.io.api.core.v1.Lifecycle lifecycle = 1006; // Security options the pod should run with. // More info: https://kubernetes.io/docs/concepts/policy/security-context/ // More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ // +optional - optional k8s.io.api.core.v1.SecurityContext containerSecurityContext = 26; + optional k8s.io.api.core.v1.SecurityContext containerSecurityContext = 1007; // Pod volumes to mount into the container's filesystem. // Cannot be updated. // +optional // +patchMergeKey=mountPath // +patchStrategy=merge - repeated k8s.io.api.core.v1.VolumeMount volumeMounts = 27; + repeated k8s.io.api.core.v1.VolumeMount volumeMounts = 1008; } // PodTemplateSpec describes the data a pod should have when created from a template diff --git a/vendor/kmodules.xyz/offshoot-api/api/v1/openapi_generated.go b/vendor/kmodules.xyz/offshoot-api/api/v1/openapi_generated.go index a93371f3..4581bead 100644 --- a/vendor/kmodules.xyz/offshoot-api/api/v1/openapi_generated.go +++ b/vendor/kmodules.xyz/offshoot-api/api/v1/openapi_generated.go @@ -425,6 +425,22 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodRuntimeSettings(ref common.Refere SchemaProps: spec.SchemaProps{ Type: []string{"object"}, Properties: map[string]spec.Schema{ + "podLabels": { + SchemaProps: spec.SchemaProps{ + Description: "PodLabels are the labels that will be attached with the respective Pod", + Type: []string{"object"}, + AdditionalProperties: &spec.SchemaOrBool{ + Allows: true, + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, "podAnnotations": { SchemaProps: spec.SchemaProps{ Description: "PodAnnotations are the annotations that will be attached with the respective Pod", @@ -622,84 +638,88 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback SchemaProps: spec.SchemaProps{ Type: []string{"object"}, Properties: map[string]spec.Schema{ - "serviceAccountName": { - SchemaProps: spec.SchemaProps{ - Description: "ServiceAccountName is the name of the ServiceAccount to use to run this pod. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/", - Type: []string{"string"}, - Format: "", + "volumes": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-patch-merge-key": "name", + "x-kubernetes-patch-strategy": "merge,retainKeys", + }, }, - }, - "nodeSelector": { SchemaProps: spec.SchemaProps{ - Description: "NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/", - Type: []string{"object"}, - AdditionalProperties: &spec.SchemaOrBool{ - Allows: true, + Description: "List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ - Default: "", - Type: []string{"string"}, - Format: "", + Default: map[string]interface{}{}, + Ref: ref("kmodules.xyz/offshoot-api/api/v1.Volume"), }, }, }, }, }, - "affinity": { - SchemaProps: spec.SchemaProps{ - Description: "If specified, the pod's scheduling constraints", - Ref: ref("k8s.io/api/core/v1.Affinity"), - }, - }, - "schedulerName": { - SchemaProps: spec.SchemaProps{ - Description: "If specified, the pod will be dispatched by specified scheduler. If not specified, the pod will be dispatched by default scheduler.", - Type: []string{"string"}, - Format: "", + "initContainers": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-patch-merge-key": "name", + "x-kubernetes-patch-strategy": "merge", + }, }, - }, - "tolerations": { SchemaProps: spec.SchemaProps{ - Description: "If specified, the pod's tolerations.", + Description: "List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, or Liveness probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/", Type: []string{"array"}, Items: &spec.SchemaOrArray{ Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.Toleration"), + Ref: ref("k8s.io/api/core/v1.Container"), }, }, }, }, }, - "imagePullSecrets": { + "terminationGracePeriodSeconds": { SchemaProps: spec.SchemaProps{ - Description: "ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use.", - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ + Description: "Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds.", + Type: []string{"integer"}, + Format: "int64", + }, + }, + "dnsPolicy": { + SchemaProps: spec.SchemaProps{ + Description: "Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'.", + Type: []string{"string"}, + Format: "", + }, + }, + "nodeSelector": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-map-type": "atomic", + }, + }, + SchemaProps: spec.SchemaProps{ + Description: "NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/", + Type: []string{"object"}, + AdditionalProperties: &spec.SchemaOrBool{ + Allows: true, Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), + Default: "", + Type: []string{"string"}, + Format: "", }, }, }, }, }, - "priorityClassName": { + "serviceAccountName": { SchemaProps: spec.SchemaProps{ - Description: "If specified, indicates the pod's priority. \"system-node-critical\" and \"system-cluster-critical\" are two special keywords which indicate the highest priorities with the former being the highest priority. Any other name must be defined by creating a PriorityClass object with that name. If not specified, the pod priority will be default or zero if there is no default.", + Description: "ServiceAccountName is the name of the ServiceAccount to use to run this pod. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/", Type: []string{"string"}, Format: "", }, }, - "priority": { - SchemaProps: spec.SchemaProps{ - Description: "The priority value. Various system components use this field to find the priority of the pod. When Priority Admission Controller is enabled, it prevents users from setting this field. The admission controller populates this field from PriorityClassName. The higher the value, the higher the priority.", - Type: []string{"integer"}, - Format: "int32", - }, - }, "hostNetwork": { SchemaProps: spec.SchemaProps{ Description: "Host networking requested for this pod. Use the host's network namespace. If this option is set, the ports that will be used must be specified. Default to false.", @@ -734,86 +754,107 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback Ref: ref("k8s.io/api/core/v1.PodSecurityContext"), }, }, - "terminationGracePeriodSeconds": { - SchemaProps: spec.SchemaProps{ - Description: "Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds.", - Type: []string{"integer"}, - Format: "int64", - }, - }, - "dnsPolicy": { - SchemaProps: spec.SchemaProps{ - Description: "Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'.", - Type: []string{"string"}, - Format: "", - }, - }, - "dnsConfig": { - SchemaProps: spec.SchemaProps{ - Description: "Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy.", - Ref: ref("k8s.io/api/core/v1.PodDNSConfig"), - }, - }, - "topologySpreadConstraints": { + "imagePullSecrets": { VendorExtensible: spec.VendorExtensible{ Extensions: spec.Extensions{ - "x-kubernetes-list-map-keys": []interface{}{ - "topologyKey", - "whenUnsatisfiable", - }, - "x-kubernetes-list-type": "map", - "x-kubernetes-patch-merge-key": "topologyKey", + "x-kubernetes-patch-merge-key": "name", "x-kubernetes-patch-strategy": "merge", }, }, SchemaProps: spec.SchemaProps{ - Description: "TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed.", + Description: "ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod", Type: []string{"array"}, Items: &spec.SchemaOrArray{ Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.TopologySpreadConstraint"), + Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), }, }, }, }, }, - "volumes": { - VendorExtensible: spec.VendorExtensible{ - Extensions: spec.Extensions{ - "x-kubernetes-patch-merge-key": "name", - "x-kubernetes-patch-strategy": "merge,retainKeys", - }, + "affinity": { + SchemaProps: spec.SchemaProps{ + Description: "If specified, the pod's scheduling constraints", + Ref: ref("k8s.io/api/core/v1.Affinity"), }, + }, + "schedulerName": { SchemaProps: spec.SchemaProps{ - Description: "List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes", + Description: "If specified, the pod will be dispatched by specified scheduler. If not specified, the pod will be dispatched by default scheduler.", + Type: []string{"string"}, + Format: "", + }, + }, + "tolerations": { + SchemaProps: spec.SchemaProps{ + Description: "If specified, the pod's tolerations.", Type: []string{"array"}, Items: &spec.SchemaOrArray{ Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("kmodules.xyz/offshoot-api/api/v1.Volume"), + Ref: ref("k8s.io/api/core/v1.Toleration"), }, }, }, }, }, - "initContainers": { + "priorityClassName": { + SchemaProps: spec.SchemaProps{ + Description: "If specified, indicates the pod's priority. \"system-node-critical\" and \"system-cluster-critical\" are two special keywords which indicate the highest priorities with the former being the highest priority. Any other name must be defined by creating a PriorityClass object with that name. If not specified, the pod priority will be default or zero if there is no default.", + Type: []string{"string"}, + Format: "", + }, + }, + "priority": { + SchemaProps: spec.SchemaProps{ + Description: "The priority value. Various system components use this field to find the priority of the pod. When Priority Admission Controller is enabled, it prevents users from setting this field. The admission controller populates this field from PriorityClassName. The higher the value, the higher the priority.", + Type: []string{"integer"}, + Format: "int32", + }, + }, + "dnsConfig": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy.", + Ref: ref("k8s.io/api/core/v1.PodDNSConfig"), + }, + }, + "runtimeClassName": { + SchemaProps: spec.SchemaProps{ + Description: "RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run. If unset or empty, the \"legacy\" RuntimeClass will be used, which is an implicit class with an empty definition that uses the default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class", + Type: []string{"string"}, + Format: "", + }, + }, + "enableServiceLinks": { + SchemaProps: spec.SchemaProps{ + Description: "EnableServiceLinks indicates whether information about services should be injected into pod's environment variables, matching the syntax of Docker links. Optional: Defaults to true.", + Type: []string{"boolean"}, + Format: "", + }, + }, + "topologySpreadConstraints": { VendorExtensible: spec.VendorExtensible{ Extensions: spec.Extensions{ - "x-kubernetes-patch-merge-key": "name", + "x-kubernetes-list-map-keys": []interface{}{ + "topologyKey", + "whenUnsatisfiable", + }, + "x-kubernetes-list-type": "map", + "x-kubernetes-patch-merge-key": "topologyKey", "x-kubernetes-patch-strategy": "merge", }, }, SchemaProps: spec.SchemaProps{ - Description: "List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, or Liveness probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/", + Description: "TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed.", Type: []string{"array"}, Items: &spec.SchemaOrArray{ Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.Container"), + Ref: ref("k8s.io/api/core/v1.TopologySpreadConstraint"), }, }, }, diff --git a/vendor/kmodules.xyz/offshoot-api/api/v1/pvc.go b/vendor/kmodules.xyz/offshoot-api/api/v1/pvc.go index 370a9588..9e81d735 100644 --- a/vendor/kmodules.xyz/offshoot-api/api/v1/pvc.go +++ b/vendor/kmodules.xyz/offshoot-api/api/v1/pvc.go @@ -386,3 +386,11 @@ func (in *EphemeralVolumeSource) ToAPIObject() *core.EphemeralVolumeSource { VolumeClaimTemplate: in.VolumeClaimTemplate.ToAPIObject(), } } + +func ConvertVolumes(in []Volume) []core.Volume { + out := make([]core.Volume, 0, len(in)) + for _, v := range in { + out = append(out, *v.ToAPIObject()) + } + return out +} diff --git a/vendor/kmodules.xyz/offshoot-api/api/v1/runtime_settings_types.go b/vendor/kmodules.xyz/offshoot-api/api/v1/runtime_settings_types.go index 6005d47c..9b152236 100644 --- a/vendor/kmodules.xyz/offshoot-api/api/v1/runtime_settings_types.go +++ b/vendor/kmodules.xyz/offshoot-api/api/v1/runtime_settings_types.go @@ -29,6 +29,9 @@ type RuntimeSettings struct { } type PodRuntimeSettings struct { + // PodLabels are the labels that will be attached with the respective Pod + // +optional + PodLabels map[string]string `json:"podLabels,omitempty" protobuf:"bytes,18,rep,name=podLabels"` // PodAnnotations are the annotations that will be attached with the respective Pod // +optional PodAnnotations map[string]string `json:"podAnnotations,omitempty" protobuf:"bytes,1,rep,name=podAnnotations"` diff --git a/vendor/kmodules.xyz/offshoot-api/api/v1/types.go b/vendor/kmodules.xyz/offshoot-api/api/v1/types.go index 08a4ac94..0b374eae 100644 --- a/vendor/kmodules.xyz/offshoot-api/api/v1/types.go +++ b/vendor/kmodules.xyz/offshoot-api/api/v1/types.go @@ -57,70 +57,80 @@ type PodTemplateSpec struct { } type PodSpec struct { - // ServiceAccountName is the name of the ServiceAccount to use to run this pod. - // More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ - // +optional - ServiceAccountName string `json:"serviceAccountName,omitempty" protobuf:"bytes,1,opt,name=serviceAccountName"` - - // NodeSelector is a selector which must be true for the pod to fit on a node. - // Selector which must match a node's labels for the pod to be scheduled on that node. - // More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ - // +optional - NodeSelector map[string]string `json:"nodeSelector,omitempty" protobuf:"bytes,2,rep,name=nodeSelector"` - - // If specified, the pod's scheduling constraints + // List of volumes that can be mounted by containers belonging to the pod. + // More info: https://kubernetes.io/docs/concepts/storage/volumes // +optional - Affinity *core.Affinity `json:"affinity,omitempty" protobuf:"bytes,3,opt,name=affinity"` + // +patchMergeKey=name + // +patchStrategy=merge,retainKeys + Volumes []Volume `json:"volumes,omitempty" patchStrategy:"merge,retainKeys" patchMergeKey:"name" protobuf:"bytes,1,rep,name=volumes"` - // If specified, the pod will be dispatched by specified scheduler. - // If not specified, the pod will be dispatched by default scheduler. - // +optional - SchedulerName string `json:"schedulerName,omitempty" protobuf:"bytes,4,opt,name=schedulerName"` + // List of initialization containers belonging to the pod. + // Init containers are executed in order prior to containers being started. If any + // init container fails, the pod is considered to have failed and is handled according + // to its restartPolicy. The name for an init container or normal container must be + // unique among all containers. + // Init containers may not have Lifecycle actions, Readiness probes, or Liveness probes. + // The resourceRequirements of an init container are taken into account during scheduling + // by finding the highest request/limit for each resource type, and then using the max of + // of that value or the sum of the normal containers. Limits are applied to init containers + // in a similar fashion. + // Init containers cannot currently be added or removed. + // Cannot be updated. + // More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ + // +patchMergeKey=name + // +patchStrategy=merge + InitContainers []core.Container `json:"initContainers,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,20,rep,name=initContainers"` - // If specified, the pod's tolerations. + // Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. + // Value must be non-negative integer. The value zero indicates stop immediately via + // the kill signal (no opportunity to shut down). + // If this value is nil, the default grace period will be used instead. + // The grace period is the duration in seconds after the processes running in the pod are sent + // a termination signal and the time when the processes are forcibly halted with a kill signal. + // Set this value longer than the expected cleanup time for your process. + // Defaults to 30 seconds. // +optional - Tolerations []core.Toleration `json:"tolerations,omitempty" protobuf:"bytes,5,rep,name=tolerations"` + TerminationGracePeriodSeconds *int64 `json:"terminationGracePeriodSeconds,omitempty" protobuf:"varint,4,opt,name=terminationGracePeriodSeconds"` - // ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. - // If specified, these secrets will be passed to individual puller implementations for them to use. + // Set DNS policy for the pod. + // Defaults to "ClusterFirst". + // Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. + // DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. + // To have DNS options set along with hostNetwork, you have to specify DNS policy + // explicitly to 'ClusterFirstWithHostNet'. // +optional - ImagePullSecrets []core.LocalObjectReference `json:"imagePullSecrets,omitempty" protobuf:"bytes,6,rep,name=imagePullSecrets"` + DNSPolicy core.DNSPolicy `json:"dnsPolicy,omitempty" protobuf:"bytes,6,opt,name=dnsPolicy,casttype=DNSPolicy"` - // If specified, indicates the pod's priority. "system-node-critical" and - // "system-cluster-critical" are two special keywords which indicate the - // highest priorities with the former being the highest priority. Any other - // name must be defined by creating a PriorityClass object with that name. - // If not specified, the pod priority will be default or zero if there is no - // default. + // NodeSelector is a selector which must be true for the pod to fit on a node. + // Selector which must match a node's labels for the pod to be scheduled on that node. + // More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ // +optional - PriorityClassName string `json:"priorityClassName,omitempty" protobuf:"bytes,7,opt,name=priorityClassName"` + // +mapType=atomic + NodeSelector map[string]string `json:"nodeSelector,omitempty" protobuf:"bytes,7,rep,name=nodeSelector"` - // The priority value. Various system components use this field to find the - // priority of the pod. When Priority Admission Controller is enabled, it - // prevents users from setting this field. The admission controller populates - // this field from PriorityClassName. - // The higher the value, the higher the priority. + // ServiceAccountName is the name of the ServiceAccount to use to run this pod. + // More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ // +optional - Priority *int32 `json:"priority,omitempty" protobuf:"varint,8,opt,name=priority"` + ServiceAccountName string `json:"serviceAccountName,omitempty" protobuf:"bytes,8,opt,name=serviceAccountName"` // Host networking requested for this pod. Use the host's network namespace. // If this option is set, the ports that will be used must be specified. // Default to false. // +k8s:conversion-gen=false // +optional - HostNetwork bool `json:"hostNetwork,omitempty" protobuf:"varint,9,opt,name=hostNetwork"` + HostNetwork bool `json:"hostNetwork,omitempty" protobuf:"varint,11,opt,name=hostNetwork"` // Use the host's pid namespace. // Optional: Default to false. // +k8s:conversion-gen=false // +optional - HostPID bool `json:"hostPID,omitempty" protobuf:"varint,10,opt,name=hostPID"` + HostPID bool `json:"hostPID,omitempty" protobuf:"varint,12,opt,name=hostPID"` // Use the host's ipc namespace. // Optional: Default to false. // +k8s:conversion-gen=false // +optional - HostIPC bool `json:"hostIPC,omitempty" protobuf:"varint,11,opt,name=hostIPC"` + HostIPC bool `json:"hostIPC,omitempty" protobuf:"varint,13,opt,name=hostIPC"` // Share a single process namespace between all of the containers in a pod. // When this is set containers will be able to view and signal processes from other containers @@ -129,38 +139,70 @@ type PodSpec struct { // Optional: Default to false. // +k8s:conversion-gen=false // +optional - ShareProcessNamespace *bool `json:"shareProcessNamespace,omitempty" protobuf:"varint,12,opt,name=shareProcessNamespace"` + ShareProcessNamespace *bool `json:"shareProcessNamespace,omitempty" protobuf:"varint,27,opt,name=shareProcessNamespace"` // SecurityContext holds pod-level security attributes and common container settings. // Optional: Defaults to empty. See type description for default values of each field. // +optional - SecurityContext *core.PodSecurityContext `json:"securityContext,omitempty" protobuf:"bytes,13,opt,name=securityContext"` + SecurityContext *core.PodSecurityContext `json:"securityContext,omitempty" protobuf:"bytes,14,opt,name=securityContext"` - // Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. - // Value must be non-negative integer. The value zero indicates stop immediately via - // the kill signal (no opportunity to shut down). - // If this value is nil, the default grace period will be used instead. - // The grace period is the duration in seconds after the processes running in the pod are sent - // a termination signal and the time when the processes are forcibly halted with a kill signal. - // Set this value longer than the expected cleanup time for your process. - // Defaults to 30 seconds. + // ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. + // If specified, these secrets will be passed to individual puller implementations for them to use. + // More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod // +optional - TerminationGracePeriodSeconds *int64 `json:"terminationGracePeriodSeconds,omitempty" protobuf:"varint,14,opt,name=terminationGracePeriodSeconds"` + // +patchMergeKey=name + // +patchStrategy=merge + ImagePullSecrets []core.LocalObjectReference `json:"imagePullSecrets,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,15,rep,name=imagePullSecrets"` - // Set DNS policy for the pod. - // Defaults to "ClusterFirst". - // Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. - // DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. - // To have DNS options set along with hostNetwork, you have to specify DNS policy - // explicitly to 'ClusterFirstWithHostNet'. + // If specified, the pod's scheduling constraints + // +optional + Affinity *core.Affinity `json:"affinity,omitempty" protobuf:"bytes,18,opt,name=affinity"` + + // If specified, the pod will be dispatched by specified scheduler. + // If not specified, the pod will be dispatched by default scheduler. + // +optional + SchedulerName string `json:"schedulerName,omitempty" protobuf:"bytes,19,opt,name=schedulerName"` + + // If specified, the pod's tolerations. + // +optional + Tolerations []core.Toleration `json:"tolerations,omitempty" protobuf:"bytes,22,opt,name=tolerations"` + + // If specified, indicates the pod's priority. "system-node-critical" and + // "system-cluster-critical" are two special keywords which indicate the + // highest priorities with the former being the highest priority. Any other + // name must be defined by creating a PriorityClass object with that name. + // If not specified, the pod priority will be default or zero if there is no + // default. // +optional - DNSPolicy core.DNSPolicy `json:"dnsPolicy,omitempty" protobuf:"bytes,15,opt,name=dnsPolicy,casttype=k8s.io/api/core/v1.DNSPolicy"` + PriorityClassName string `json:"priorityClassName,omitempty" protobuf:"bytes,24,opt,name=priorityClassName"` + + // The priority value. Various system components use this field to find the + // priority of the pod. When Priority Admission Controller is enabled, it + // prevents users from setting this field. The admission controller populates + // this field from PriorityClassName. + // The higher the value, the higher the priority. + // +optional + Priority *int32 `json:"priority,omitempty" protobuf:"bytes,25,opt,name=priority"` // Specifies the DNS parameters of a pod. // Parameters specified here will be merged to the generated DNS // configuration based on DNSPolicy. // +optional - DNSConfig *core.PodDNSConfig `json:"dnsConfig,omitempty" protobuf:"bytes,16,opt,name=dnsConfig"` + DNSConfig *core.PodDNSConfig `json:"dnsConfig,omitempty" protobuf:"bytes,26,opt,name=dnsConfig"` + + // RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used + // to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run. + // If unset or empty, the "legacy" RuntimeClass will be used, which is an implicit class with an + // empty definition that uses the default runtime handler. + // More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class + // +optional + RuntimeClassName *string `json:"runtimeClassName,omitempty" protobuf:"bytes,29,opt,name=runtimeClassName"` + + // EnableServiceLinks indicates whether information about services should be injected into pod's + // environment variables, matching the syntax of Docker links. + // Optional: Defaults to true. + // +optional + EnableServiceLinks *bool `json:"enableServiceLinks,omitempty" protobuf:"varint,30,opt,name=enableServiceLinks"` // TopologySpreadConstraints describes how a group of pods ought to spread across topology // domains. Scheduler will schedule pods in a way which abides by the constraints. @@ -171,31 +213,7 @@ type PodSpec struct { // +listType=map // +listMapKey=topologyKey // +listMapKey=whenUnsatisfiable - TopologySpreadConstraints []core.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty" patchStrategy:"merge" patchMergeKey:"topologyKey" protobuf:"bytes,17,rep,name=topologySpreadConstraints"` - - // List of volumes that can be mounted by containers belonging to the pod. - // More info: https://kubernetes.io/docs/concepts/storage/volumes - // +optional - // +patchMergeKey=name - // +patchStrategy=merge,retainKeys - Volumes []Volume `json:"volumes,omitempty" patchStrategy:"merge,retainKeys" patchMergeKey:"name" protobuf:"bytes,18,rep,name=volumes"` - - // List of initialization containers belonging to the pod. - // Init containers are executed in order prior to containers being started. If any - // init container fails, the pod is considered to have failed and is handled according - // to its restartPolicy. The name for an init container or normal container must be - // unique among all containers. - // Init containers may not have Lifecycle actions, Readiness probes, or Liveness probes. - // The resourceRequirements of an init container are taken into account during scheduling - // by finding the highest request/limit for each resource type, and then using the max of - // of that value or the sum of the normal containers. Limits are applied to init containers - // in a similar fashion. - // Init containers cannot currently be added or removed. - // Cannot be updated. - // More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ - // +patchMergeKey=name - // +patchStrategy=merge - InitContainers []core.Container `json:"initContainers,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,19,rep,name=initContainers"` + TopologySpreadConstraints []core.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty" patchStrategy:"merge" patchMergeKey:"topologyKey" protobuf:"bytes,33,opt,name=topologySpreadConstraints"` //////////////////////////////////////////////////////// // Application (database) Container Specific Settings // @@ -210,16 +228,16 @@ type PodSpec struct { // Cannot be updated. // More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell // +optional - Args []string `json:"args,omitempty" protobuf:"bytes,20,rep,name=args"` + Args []string `json:"args,omitempty" protobuf:"bytes,1001,rep,name=args"` // List of environment variables to set in the container. // Cannot be updated. // +optional - Env []core.EnvVar `json:"env,omitempty" protobuf:"bytes,21,rep,name=env"` + Env []core.EnvVar `json:"env,omitempty" protobuf:"bytes,1002,rep,name=env"` // Compute Resources required by the sidecar container. // +optional - Resources core.ResourceRequirements `json:"resources,omitempty" protobuf:"bytes,22,opt,name=resources"` + Resources core.ResourceRequirements `json:"resources,omitempty" protobuf:"bytes,1003,opt,name=resources"` // Periodic probe of container liveness. // Container will be restarted if the probe fails. @@ -228,7 +246,7 @@ type PodSpec struct { // Cannot be updated. // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes // +optional - LivenessProbe *core.Probe `json:"livenessProbe,omitempty" protobuf:"bytes,23,opt,name=livenessProbe"` + LivenessProbe *core.Probe `json:"livenessProbe,omitempty" protobuf:"bytes,1004,opt,name=livenessProbe"` // Periodic probe of container service readiness. // Container will be removed from service endpoints if the probe fails. @@ -237,25 +255,25 @@ type PodSpec struct { // To ignore defaulting, set the value to empty ReadynessProbe "{}". // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes // +optional - ReadinessProbe *core.Probe `json:"readinessProbe,omitempty" protobuf:"bytes,24,opt,name=readinessProbe"` + ReadinessProbe *core.Probe `json:"readinessProbe,omitempty" protobuf:"bytes,1005,opt,name=readinessProbe"` // Actions that the management system should take in response to container lifecycle events. // Cannot be updated. // +optional - Lifecycle *core.Lifecycle `json:"lifecycle,omitempty" protobuf:"bytes,25,opt,name=lifecycle"` + Lifecycle *core.Lifecycle `json:"lifecycle,omitempty" protobuf:"bytes,1006,opt,name=lifecycle"` // Security options the pod should run with. // More info: https://kubernetes.io/docs/concepts/policy/security-context/ // More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ // +optional - ContainerSecurityContext *core.SecurityContext `json:"containerSecurityContext,omitempty" protobuf:"bytes,26,opt,name=containerSecurityContext"` + ContainerSecurityContext *core.SecurityContext `json:"containerSecurityContext,omitempty" protobuf:"bytes,1007,opt,name=containerSecurityContext"` // Pod volumes to mount into the container's filesystem. // Cannot be updated. // +optional // +patchMergeKey=mountPath // +patchStrategy=merge - VolumeMounts []core.VolumeMount `json:"volumeMounts,omitempty" patchStrategy:"merge" patchMergeKey:"mountPath" protobuf:"bytes,27,rep,name=volumeMounts"` + VolumeMounts []core.VolumeMount `json:"volumeMounts,omitempty" patchStrategy:"merge" patchMergeKey:"mountPath" protobuf:"bytes,1008,rep,name=volumeMounts"` } // ServiceTemplateSpec describes the data a service should have when created from a template diff --git a/vendor/kmodules.xyz/offshoot-api/api/v1/zz_generated.deepcopy.go b/vendor/kmodules.xyz/offshoot-api/api/v1/zz_generated.deepcopy.go index 66acce9b..2dc937aa 100644 --- a/vendor/kmodules.xyz/offshoot-api/api/v1/zz_generated.deepcopy.go +++ b/vendor/kmodules.xyz/offshoot-api/api/v1/zz_generated.deepcopy.go @@ -263,6 +263,13 @@ func (in *PersistentVolumeClaimTemplate) DeepCopy() *PersistentVolumeClaimTempla // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PodRuntimeSettings) DeepCopyInto(out *PodRuntimeSettings) { *out = *in + if in.PodLabels != nil { + in, out := &in.PodLabels, &out.PodLabels + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } if in.PodAnnotations != nil { in, out := &in.PodAnnotations, &out.PodAnnotations *out = make(map[string]string, len(*in)) @@ -354,6 +361,25 @@ func (in *PodRuntimeSettings) DeepCopy() *PodRuntimeSettings { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PodSpec) DeepCopyInto(out *PodSpec) { *out = *in + if in.Volumes != nil { + in, out := &in.Volumes, &out.Volumes + *out = make([]Volume, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.InitContainers != nil { + in, out := &in.InitContainers, &out.InitContainers + *out = make([]corev1.Container, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TerminationGracePeriodSeconds != nil { + in, out := &in.TerminationGracePeriodSeconds, &out.TerminationGracePeriodSeconds + *out = new(int64) + **out = **in + } if in.NodeSelector != nil { in, out := &in.NodeSelector, &out.NodeSelector *out = make(map[string]string, len(*in)) @@ -361,6 +387,21 @@ func (in *PodSpec) DeepCopyInto(out *PodSpec) { (*out)[key] = val } } + if in.ShareProcessNamespace != nil { + in, out := &in.ShareProcessNamespace, &out.ShareProcessNamespace + *out = new(bool) + **out = **in + } + if in.SecurityContext != nil { + in, out := &in.SecurityContext, &out.SecurityContext + *out = new(corev1.PodSecurityContext) + (*in).DeepCopyInto(*out) + } + if in.ImagePullSecrets != nil { + in, out := &in.ImagePullSecrets, &out.ImagePullSecrets + *out = make([]corev1.LocalObjectReference, len(*in)) + copy(*out, *in) + } if in.Affinity != nil { in, out := &in.Affinity, &out.Affinity *out = new(corev1.Affinity) @@ -373,36 +414,26 @@ func (in *PodSpec) DeepCopyInto(out *PodSpec) { (*in)[i].DeepCopyInto(&(*out)[i]) } } - if in.ImagePullSecrets != nil { - in, out := &in.ImagePullSecrets, &out.ImagePullSecrets - *out = make([]corev1.LocalObjectReference, len(*in)) - copy(*out, *in) - } if in.Priority != nil { in, out := &in.Priority, &out.Priority *out = new(int32) **out = **in } - if in.ShareProcessNamespace != nil { - in, out := &in.ShareProcessNamespace, &out.ShareProcessNamespace - *out = new(bool) - **out = **in - } - if in.SecurityContext != nil { - in, out := &in.SecurityContext, &out.SecurityContext - *out = new(corev1.PodSecurityContext) - (*in).DeepCopyInto(*out) - } - if in.TerminationGracePeriodSeconds != nil { - in, out := &in.TerminationGracePeriodSeconds, &out.TerminationGracePeriodSeconds - *out = new(int64) - **out = **in - } if in.DNSConfig != nil { in, out := &in.DNSConfig, &out.DNSConfig *out = new(corev1.PodDNSConfig) (*in).DeepCopyInto(*out) } + if in.RuntimeClassName != nil { + in, out := &in.RuntimeClassName, &out.RuntimeClassName + *out = new(string) + **out = **in + } + if in.EnableServiceLinks != nil { + in, out := &in.EnableServiceLinks, &out.EnableServiceLinks + *out = new(bool) + **out = **in + } if in.TopologySpreadConstraints != nil { in, out := &in.TopologySpreadConstraints, &out.TopologySpreadConstraints *out = make([]corev1.TopologySpreadConstraint, len(*in)) @@ -410,20 +441,6 @@ func (in *PodSpec) DeepCopyInto(out *PodSpec) { (*in)[i].DeepCopyInto(&(*out)[i]) } } - if in.Volumes != nil { - in, out := &in.Volumes, &out.Volumes - *out = make([]Volume, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.InitContainers != nil { - in, out := &in.InitContainers, &out.InitContainers - *out = make([]corev1.Container, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } if in.Args != nil { in, out := &in.Args, &out.Args *out = make([]string, len(*in)) diff --git a/vendor/modules.txt b/vendor/modules.txt index 2fbd5841..95d7a720 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -572,7 +572,7 @@ kmodules.xyz/crd-schema-fuzz # kmodules.xyz/objectstore-api v0.25.1 ## explicit; go 1.18 kmodules.xyz/objectstore-api/api/v1 -# kmodules.xyz/offshoot-api v0.25.2 +# kmodules.xyz/offshoot-api v0.25.5-0.20231004063620-dff8fb030d57 ## explicit; go 1.18 kmodules.xyz/offshoot-api/api/v1 # kmodules.xyz/prober v0.25.0