diff --git a/Gopkg.lock b/Gopkg.lock index e478271f2..2fb15ed5b 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -276,11 +276,11 @@ [[projects]] branch = "master" - digest = "1:37fa7771394be69fd94feac6dd07aeaa4fba7da0420119c514a7c85915f5c2c2" + digest = "1:5f41c94102ff5786015cab3a28ff4cc61999d589340336416d16f8d792104ea3" name = "github.com/openshift/api" packages = ["config/v1"] pruneopts = "NUT" - revision = "21e40de482627b2047cbf430594540413539a442" + revision = "77b8897ec79a562e85920134fc65b63300c4d27a" [[projects]] branch = "master" diff --git a/pkg/controller/clusterstorage/clusterstorage_controller.go b/pkg/controller/clusterstorage/clusterstorage_controller.go index d7651354d..d22bd2bb4 100644 --- a/pkg/controller/clusterstorage/clusterstorage_controller.go +++ b/pkg/controller/clusterstorage/clusterstorage_controller.go @@ -192,8 +192,8 @@ var ( Type: configv1.OperatorAvailable, Status: configv1.ConditionFalse, } - notFailing = configv1.ClusterOperatorStatusCondition{ - Type: configv1.OperatorFailing, + notDegraded = configv1.ClusterOperatorStatusCondition{ + Type: configv1.OperatorDegraded, Status: configv1.ConditionFalse, } notProgressing = configv1.ClusterOperatorStatusCondition{ @@ -202,7 +202,7 @@ var ( } ) -// setStatusProgressing sets Available=false;Failing=false;Progressing=true +// setStatusProgressing sets Available=false;Degraded=false;Progressing=true // we set "progressing" if the cluster operator's version is not the latest // and we are about to try to roll it out func (r *ReconcileClusterStorage) setStatusProgressing(clusterOperator *configv1.ClusterOperator) error { @@ -219,7 +219,7 @@ func (r *ReconcileClusterStorage) setStatusProgressing(clusterOperator *configv1 // latest so set progressing=true v1helpers.SetStatusCondition(&clusterOperator.Status.Conditions, unavailable) - v1helpers.SetStatusCondition(&clusterOperator.Status.Conditions, notFailing) + v1helpers.SetStatusCondition(&clusterOperator.Status.Conditions, notDegraded) progressing := configv1.ClusterOperatorStatusCondition{ Type: configv1.OperatorProgressing, @@ -238,8 +238,8 @@ func (r *ReconcileClusterStorage) setStatusProgressing(clusterOperator *configv1 return nil } -// syncStatus will set either Available=true;Failing=false;Progressing=false -// or Available=false;Failing=true;Progressing=false depending on the error +// syncStatus will set either Available=true;Degraded=false;Progressing=false +// or Available=false;Degraded=true;Progressing=false depending on the error func (r *ReconcileClusterStorage) syncStatus(clusterOperator *configv1.ClusterOperator, err error) error { // we set versions if we are "available" to indicate we have rolled out the latest // version of the cluster storage object @@ -255,16 +255,16 @@ func (r *ReconcileClusterStorage) syncStatus(clusterOperator *configv1.ClusterOp var message string - // if error is anything other than unsupported platform, we are failing + // if error is anything other than unsupported platform, we are degraded if err != nil { if err != unsupportedPlatformError { - failing := configv1.ClusterOperatorStatusCondition{ - Type: configv1.OperatorFailing, + degraded := configv1.ClusterOperatorStatusCondition{ + Type: configv1.OperatorDegraded, Status: configv1.ConditionTrue, Reason: "Error", Message: err.Error(), } - v1helpers.SetStatusCondition(&clusterOperator.Status.Conditions, failing) + v1helpers.SetStatusCondition(&clusterOperator.Status.Conditions, degraded) v1helpers.SetStatusCondition(&clusterOperator.Status.Conditions, unavailable) updateErr := r.client.Status().Update(context.TODO(), clusterOperator) @@ -285,7 +285,7 @@ func (r *ReconcileClusterStorage) syncStatus(clusterOperator *configv1.ClusterOp available.Message = message } v1helpers.SetStatusCondition(&clusterOperator.Status.Conditions, available) - v1helpers.SetStatusCondition(&clusterOperator.Status.Conditions, notFailing) + v1helpers.SetStatusCondition(&clusterOperator.Status.Conditions, notDegraded) updateErr := r.client.Status().Update(context.TODO(), clusterOperator) if updateErr != nil { @@ -297,13 +297,13 @@ func (r *ReconcileClusterStorage) syncStatus(clusterOperator *configv1.ClusterOp func newStorageClassForCluster(infrastructure *configv1.Infrastructure) (*storagev1.StorageClass, error) { switch infrastructure.Status.Platform { - case configv1.AWSPlatform: + case configv1.AWSPlatformType: return resourceread.ReadStorageClassV1OrDie(generated.MustAsset("assets/aws.yaml")), nil - case configv1.AzurePlatform: + case configv1.AzurePlatformType: return resourceread.ReadStorageClassV1OrDie(generated.MustAsset("assets/azure.yaml")), nil - case configv1.OpenStackPlatform: + case configv1.OpenStackPlatformType: return resourceread.ReadStorageClassV1OrDie(generated.MustAsset("assets/openstack.yaml")), nil - case configv1.VSpherePlatform: + case configv1.VSpherePlatformType: return resourceread.ReadStorageClassV1OrDie(generated.MustAsset("assets/vsphere.yaml")), nil default: return nil, unsupportedPlatformError diff --git a/vendor/github.com/openshift/api/config/v1/register.go b/vendor/github.com/openshift/api/config/v1/register.go index 2e5914ac5..66c342569 100644 --- a/vendor/github.com/openshift/api/config/v1/register.go +++ b/vendor/github.com/openshift/api/config/v1/register.go @@ -44,8 +44,8 @@ func addKnownTypes(scheme *runtime.Scheme) error { &ConsoleList{}, &DNS{}, &DNSList{}, - &Features{}, - &FeaturesList{}, + &FeatureGate{}, + &FeatureGateList{}, &Image{}, &ImageList{}, &Infrastructure{}, @@ -60,8 +60,8 @@ func addKnownTypes(scheme *runtime.Scheme) error { &ProjectList{}, &Proxy{}, &ProxyList{}, - &Scheduling{}, - &SchedulingList{}, + &Scheduler{}, + &SchedulerList{}, ) metav1.AddToGroupVersion(scheme, GroupVersion) return nil diff --git a/vendor/github.com/openshift/api/config/v1/type_features.go b/vendor/github.com/openshift/api/config/v1/type_features.go deleted file mode 100644 index c943cf133..000000000 --- a/vendor/github.com/openshift/api/config/v1/type_features.go +++ /dev/null @@ -1,70 +0,0 @@ -package v1 - -import metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - -// +genclient -// +genclient:nonNamespaced -// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object - -// Features holds cluster-wide information about feature gates. The canonical name is `cluster` -type Features struct { - metav1.TypeMeta `json:",inline"` - // Standard object's metadata. - metav1.ObjectMeta `json:"metadata,omitempty"` - - // spec holds user settable values for configuration - Spec FeaturesSpec `json:"spec"` - // status holds observed values from the cluster. They may not be overridden. - Status FeaturesStatus `json:"status"` -} - -type FeaturesSpec struct { - // enabled holds a list of features that should be enabled. You only need to enter in the exceptional - // cases. Most features that should be enabled are enabled out of the box. Often times, setting a feature - // enabled can cause your cluster to be unstable. If that is the case, status will be updated. - // Because of the nature of feature gates, - // the full list isn't known by a single entity making static validation unrealistic. You can watch - // status of this resource to figure out where your feature was respected. - // +optional - Enabled []string `json:"enabled"` - - // disabled holds a list of features that should be disabled. You only need to enter in the exceptional - // cases. Most features that should be disabled are disabled out of the box. Often times, setting a feature - // disabled can cause your cluster to be unstable. If that is the case, status will be updated. - // Because of the nature of feature gates, - // the full list isn't known by a single entity making static validation unrealistic. You can watch - // status of this resource to figure out where your feature was respected. - // +optional - Disabled []string `json:"disabled"` -} - -type FeaturesStatus struct { - // featureConditions holds information about each enabled or disabled feature as aggregated from multiple - // operators. It is keyed by name. - FeatureConditions map[string]FeatureCondition `json:"featureConditions"` -} - -type FeatureCondition struct { - // operatorCondition holds information about each operator that attempted to handle a particular feature. - // It is keyed by the operator name and indicates success or failure with a message. No entry for an operator - // means that the operator did not know about or acknowledge your feature. - OperatorConditions map[string]OperatorFeatureCondition `json:"operatorConditions"` -} - -type OperatorFeatureCondition struct { - // failure is a message indicating that the operator had trouble handling a feature and explaining why. - // +optional - Failure string `json:"failure,omitempty"` - // success is a message indicating that the operator honored a feature. - // +optional - Success string `json:"success,omitempty"` -} - -// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object - -type FeaturesList struct { - metav1.TypeMeta `json:",inline"` - // Standard object's metadata. - metav1.ListMeta `json:"metadata,omitempty"` - Items []Features `json:"items"` -} diff --git a/vendor/github.com/openshift/api/config/v1/types.go b/vendor/github.com/openshift/api/config/v1/types.go index cfb9ef805..7cca09471 100644 --- a/vendor/github.com/openshift/api/config/v1/types.go +++ b/vendor/github.com/openshift/api/config/v1/types.go @@ -49,9 +49,10 @@ type ServingInfo struct { // this is anonymous so that we can inline it for serialization CertInfo `json:",inline"` // ClientCA is the certificate bundle for all the signers that you'll recognize for incoming client certificates - ClientCA string `json:"clientCA"` + // +optional + ClientCA string `json:"clientCA,omitempty"` // NamedCertificates is a list of certificates to use to secure requests to specific hostnames - NamedCertificates []NamedCertificate `json:"namedCertificates"` + NamedCertificates []NamedCertificate `json:"namedCertificates,omitempty"` // MinTLSVersion is the minimum TLS version supported. // Values must match version names from https://golang.org/pkg/crypto/tls/#pkg-constants MinTLSVersion string `json:"minTLSVersion,omitempty"` @@ -72,7 +73,7 @@ type CertInfo struct { type NamedCertificate struct { // Names is a list of DNS names this certificate should be used to secure // A name can be a normal DNS name, or can contain leading wildcard segments. - Names []string `json:"names"` + Names []string `json:"names,omitempty"` // CertInfo is the TLS cert info for serving secure traffic CertInfo `json:",inline"` } @@ -92,16 +93,19 @@ type LeaderElection struct { // maximum duration that a leader can be stopped before it is replaced // by another candidate. This is only applicable if leader election is // enabled. - LeaseDuration metav1.Duration `json:"leaseDuration,omitempty"` + // +nullable + LeaseDuration metav1.Duration `json:"leaseDuration"` // renewDeadline is the interval between attempts by the acting master to // renew a leadership slot before it stops leading. This must be less // than or equal to the lease duration. This is only applicable if leader // election is enabled. - RenewDeadline metav1.Duration `json:"renewDeadline,omitempty"` + // +nullable + RenewDeadline metav1.Duration `json:"renewDeadline"` // retryPeriod is the duration the clients should wait between attempting // acquisition and renewal of a leadership. This is only applicable if // leader election is enabled. - RetryPeriod metav1.Duration `json:"retryPeriod,omitempty"` + // +nullable + RetryPeriod metav1.Duration `json:"retryPeriod"` } // StringSource allows specifying a string inline, or externally via env var or file. @@ -137,6 +141,19 @@ type RemoteConnectionInfo struct { CertInfo `json:",inline"` } +type AdmissionConfig struct { + PluginConfig map[string]AdmissionPluginConfig `json:"pluginConfig,omitempty"` + + // enabledPlugins is a list of admission plugins that must be on in addition to the default list. + // Some admission plugins are disabled by default, but certain configurations require them. This is fairly uncommon + // and can result in performance penalties and unexpected behavior. + EnabledAdmissionPlugins []string `json:"enabledPlugins,omitempty"` + + // disabledPlugins is a list of admission plugins that must be off. Putting something in this list + // is almost always a mistake and likely to result in cluster instability. + DisabledAdmissionPlugins []string `json:"disabledPlugins,omitempty"` +} + // AdmissionPluginConfig holds the necessary configuration options for admission plugins type AdmissionPluginConfig struct { // Location is the path to a configuration file that contains the plugin's @@ -145,6 +162,7 @@ type AdmissionPluginConfig struct { // Configuration is an embedded configuration object to be used as the plugin's // configuration. If present, it will be used instead of the path to the configuration file. + // +nullable Configuration runtime.RawExtension `json:"configuration"` } @@ -187,6 +205,7 @@ type AuditConfig struct { // PolicyConfiguration is an embedded policy configuration object to be used // as the audit policy configuration. If present, it will be used instead of // the path to the policy file. + // +nullable PolicyConfiguration runtime.RawExtension `json:"policyConfiguration"` // Format of saved audits (legacy or json). @@ -201,7 +220,7 @@ type AuditConfig struct { // EtcdConnectionInfo holds information necessary for connecting to an etcd server type EtcdConnectionInfo struct { // URLs are the URLs for etcd - URLs []string `json:"urls"` + URLs []string `json:"urls,omitempty"` // CA is a file containing trusted roots for the etcd server certificates CA string `json:"ca"` // CertInfo is the TLS client cert information for securing communication to etcd @@ -220,19 +239,20 @@ type EtcdStorageConfig struct { // GenericAPIServerConfig is an inline-able struct for aggregated apiservers that need to store data in etcd type GenericAPIServerConfig struct { - // ServingInfo describes how to start serving + // servingInfo describes how to start serving ServingInfo HTTPServingInfo `json:"servingInfo"` - // CORSAllowedOrigins + // corsAllowedOrigins CORSAllowedOrigins []string `json:"corsAllowedOrigins"` - // AuditConfig describes how to configure audit information + // auditConfig describes how to configure audit information AuditConfig AuditConfig `json:"auditConfig"` - // StorageConfig contains information about how to use + // storageConfig contains information about how to use StorageConfig EtcdStorageConfig `json:"storageConfig"` - AdmissionPluginConfig map[string]AdmissionPluginConfig `json:"admissionPluginConfig"` + // admissionConfig holds information about how to configure admission. + AdmissionConfig AdmissionConfig `json:"admission"` KubeClientConfig KubeClientConfig `json:"kubeClientConfig"` } @@ -262,15 +282,15 @@ type ClientConnectionOverrides struct { // GenericControllerConfig provides information to configure a controller type GenericControllerConfig struct { // ServingInfo is the HTTP serving information for the controller's endpoints - ServingInfo HTTPServingInfo `json:"servingInfo,omitempty"` + ServingInfo HTTPServingInfo `json:"servingInfo"` // leaderElection provides information to elect a leader. Only override this if you have a specific need - LeaderElection LeaderElection `json:"leaderElection,omitempty"` + LeaderElection LeaderElection `json:"leaderElection"` // authentication allows configuration of authentication for the endpoints - Authentication DelegatedAuthentication `json:"authentication,omitempty"` + Authentication DelegatedAuthentication `json:"authentication"` // authorization allows configuration of authentication for the endpoints - Authorization DelegatedAuthorization `json:"authorization,omitempty"` + Authorization DelegatedAuthorization `json:"authorization"` } // DelegatedAuthentication allows authentication to be disabled. diff --git a/vendor/github.com/openshift/api/config/v1/types_apiserver.go b/vendor/github.com/openshift/api/config/v1/types_apiserver.go index 5f54f8f1a..9a13b8527 100644 --- a/vendor/github.com/openshift/api/config/v1/types_apiserver.go +++ b/vendor/github.com/openshift/api/config/v1/types_apiserver.go @@ -12,22 +12,24 @@ import ( type APIServer struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` - Spec APIServerSpec `json:"spec"` - Status APIServerStatus `json:"status"` + // +required + Spec APIServerSpec `json:"spec"` + // +optional + Status APIServerStatus `json:"status"` } type APIServerSpec struct { // servingCert is the TLS cert info for serving secure traffic. If not specified, operator managed certificates // will be used for serving secure traffic. // +optional - ServingCerts APIServerServingCerts `json:"servingCerts,omitempty"` + ServingCerts APIServerServingCerts `json:"servingCerts"` // clientCA references a ConfigMap containing a certificate bundle for the signers that will be recognized for // incoming client certificates in addition to the operator managed signers. If this is empty, then only operator managed signers are valid. // You usually only have to set this if you have your own PKI you wish to honor client certificates from. // The ConfigMap must exist in the openshift-config namespace and contain the following required fields: // - ConfigMap.Data["ca-bundle.crt"] - CA bundle. // +optional - ClientCA ConfigMapNameReference `json:"clientCA,omitempty"` + ClientCA ConfigMapNameReference `json:"clientCA"` } type APIServerServingCerts struct { @@ -39,7 +41,7 @@ type APIServerServingCerts struct { // - Secret.Data["tls.key"] - TLS private key. // - Secret.Data["tls.crt"] - TLS certificate. // +optional - DefaultServingCertificate SecretNameReference `json:"defaultServingCertificate,omitempty"` + DefaultServingCertificate SecretNameReference `json:"defaultServingCertificate"` // namedCertificates references secrets containing the TLS cert info for serving secure traffic to specific hostnames. // If no named certificates are provided, or no named certificates match the server name as understood by a client, // the defaultServingCertificate will be used. @@ -53,7 +55,7 @@ type APIServerNamedServingCert struct { // serve secure traffic. If no names are provided, the implicit names will be extracted from the certificates. // Exact names trump over wildcard names. Explicit names defined here trump over extracted implicit names. // +optional - Names []string `json:"names"` + Names []string `json:"names,omitempty"` // servingCertificate references a kubernetes.io/tls type secret containing the TLS cert info for serving secure traffic. // The secret must exist in the openshift-config namespace and contain the following required fields: // - Secret.Data["tls.key"] - TLS private key. @@ -68,6 +70,6 @@ type APIServerStatus struct { type APIServerList struct { metav1.TypeMeta `json:",inline"` - metav1.ListMeta `json:"metadata,omitempty"` + metav1.ListMeta `json:"metadata"` Items []APIServer `json:"items"` } diff --git a/vendor/github.com/openshift/api/config/v1/types_authentication.go b/vendor/github.com/openshift/api/config/v1/types_authentication.go index 3880bd593..d712b920f 100644 --- a/vendor/github.com/openshift/api/config/v1/types_authentication.go +++ b/vendor/github.com/openshift/api/config/v1/types_authentication.go @@ -13,8 +13,10 @@ type Authentication struct { metav1.ObjectMeta `json:"metadata,omitempty"` // spec holds user settable values for configuration + // +required Spec AuthenticationSpec `json:"spec"` // status holds observed values from the cluster. They may not be overridden. + // +optional Status AuthenticationStatus `json:"status"` } @@ -45,7 +47,7 @@ type AuthenticationSpec struct { // honor bearer tokens that are provisioned by an external authentication service. // The namespace for these secrets is openshift-config. // +optional - WebhookTokenAuthenticators []WebhookTokenAuthenticator `json:"webhookTokenAuthenticators"` + WebhookTokenAuthenticators []WebhookTokenAuthenticator `json:"webhookTokenAuthenticators,omitempty"` } type AuthenticationStatus struct { @@ -73,7 +75,7 @@ type AuthenticationStatus struct { type AuthenticationList struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. - metav1.ListMeta `json:"metadata,omitempty"` + metav1.ListMeta `json:"metadata"` Items []Authentication `json:"items"` } diff --git a/vendor/github.com/openshift/api/config/v1/types_build.go b/vendor/github.com/openshift/api/config/v1/types_build.go index 05ea4da9f..ca65b3ba3 100644 --- a/vendor/github.com/openshift/api/config/v1/types_build.go +++ b/vendor/github.com/openshift/api/config/v1/types_build.go @@ -14,8 +14,8 @@ type Build struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec holds user-settable values for the build controller configuration - // +optional - Spec BuildSpec `json:"spec,omitempty"` + // +required + Spec BuildSpec `json:"spec"` } type BuildSpec struct { @@ -23,13 +23,13 @@ type BuildSpec struct { // should be trusted for image pushes and pulls during builds. // The namespace for this config map is openshift-config. // +optional - AdditionalTrustedCA ConfigMapNameReference `json:"additionalTrustedCA,omitempty"` + AdditionalTrustedCA ConfigMapNameReference `json:"additionalTrustedCA"` // BuildDefaults controls the default information for Builds // +optional - BuildDefaults BuildDefaults `json:"buildDefaults,omitempty"` + BuildDefaults BuildDefaults `json:"buildDefaults"` // BuildOverrides controls override settings for builds // +optional - BuildOverrides BuildOverrides `json:"buildOverrides,omitempty"` + BuildOverrides BuildOverrides `json:"buildOverrides"` } type BuildDefaults struct { @@ -61,11 +61,7 @@ type BuildDefaults struct { // Resources defines resource requirements to execute the build. // +optional - Resources corev1.ResourceRequirements `json:"resources,omitempty"` - - // RegistriesConfig controls the registries allowed for image pull and push. - // +optional - RegistriesConfig RegistriesConfig `json:"registriesConfig,omitempty"` + Resources corev1.ResourceRequirements `json:"resources"` } type ImageLabel struct { @@ -77,28 +73,6 @@ type ImageLabel struct { Value string `json:"value,omitempty"` } -type RegistriesConfig struct { - // SearchRegistries lists the registries to search for images if an image repository is not specified in an image pull spec. - // - // If this is not set, builds will search Docker Hub (docker.io) when a repository is not specified. - // Setting this to an empty list will require all builds to fully qualify their image pull specs. - // +optional - SearchRegistries *[]string `json:"searchRegistries,omitempty"` - // InsecureRegistries are registries which do not have a valid SSL certificate or only support HTTP connections. - // +optional - InsecureRegistries []string `json:"insecureRegistries,omitempty"` - // BlockedRegistries are blacklisted from image pull/push. All other registries are allowed. - // - // Only one of BlockedRegistries or AllowedRegistries may be set. - // +optional - BlockedRegistries []string `json:"blockedRegistries,omitempty"` - // AllowedRegistries are whitelisted for image pull/push. All other registries are blocked. - // - // Only one of BlockedRegistries or AllowedRegistries may be set. - // +optional - AllowedRegistries []string `json:"allowedRegistries,omitempty"` -} - type BuildOverrides struct { // ImageLabels is a list of docker labels that are applied to the resulting image. // If user provided a label in their Build/BuildConfig with the same name as one in this @@ -121,6 +95,6 @@ type BuildOverrides struct { type BuildList struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. - metav1.ListMeta `json:"metadata,omitempty"` + metav1.ListMeta `json:"metadata"` Items []Build `json:"items"` } diff --git a/vendor/github.com/openshift/api/config/v1/types_cluster_operator.go b/vendor/github.com/openshift/api/config/v1/types_cluster_operator.go index 543c078c7..8508b5cd0 100644 --- a/vendor/github.com/openshift/api/config/v1/types_cluster_operator.go +++ b/vendor/github.com/openshift/api/config/v1/types_cluster_operator.go @@ -17,10 +17,12 @@ type ClusterOperator struct { metav1.ObjectMeta `json:"metadata"` // spec hold the intent of how this operator should behave. + // +required Spec ClusterOperatorSpec `json:"spec"` // status holds the information about the state of an operator. It is consistent with status information across // the kube ecosystem. + // +optional Status ClusterOperatorStatus `json:"status"` } @@ -34,22 +36,27 @@ type ClusterOperatorStatus struct { // conditions describes the state of the operator's reconciliation functionality. // +patchMergeKey=type // +patchStrategy=merge - Conditions []ClusterOperatorStatusCondition `json:"conditions" patchStrategy:"merge" patchMergeKey:"type"` + // +optional + Conditions []ClusterOperatorStatusCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` // versions is a slice of operand version tuples. Operators which manage multiple operands will have multiple // entries in the array. If an operator is Available, it must have at least one entry. You must report the version of // the operator itself with the name "operator". - Versions []OperandVersion `json:"versions"` + // +optional + Versions []OperandVersion `json:"versions,omitempty"` // relatedObjects is a list of objects that are "interesting" or related to this operator. Common uses are: // 1. the detailed resource driving the operator // 2. operator namespaces // 3. operand namespaces - RelatedObjects []ObjectReference `json:"relatedObjects"` + // +optional + RelatedObjects []ObjectReference `json:"relatedObjects,omitempty"` // extension contains any additional status information specific to the // operator which owns this status object. - Extension runtime.RawExtension `json:"extension,omitempty"` + // +nullable + // +optional + Extension runtime.RawExtension `json:"extension"` } type OperandVersion struct { @@ -112,18 +119,24 @@ type ClusterOperatorStatusCondition struct { type ClusterStatusConditionType string const ( - // OperatorAvailable indicates that the binary maintained by the operator (eg: openshift-apiserver for the + // Available indicates that the binary maintained by the operator (eg: openshift-apiserver for the // openshift-apiserver-operator), is functional and available in the cluster. OperatorAvailable ClusterStatusConditionType = "Available" - // OperatorProgressing indicates that the operator is actively making changes to the binary maintained by the + // Progressing indicates that the operator is actively making changes to the binary maintained by the // operator (eg: openshift-apiserver for the openshift-apiserver-operator). OperatorProgressing ClusterStatusConditionType = "Progressing" - // OperatorFailing indicates that the operator has encountered an error that is preventing it from working properly. - // The binary maintained by the operator (eg: openshift-apiserver for the openshift-apiserver-operator) may still be - // available, but the user intent cannot be fulfilled. - OperatorFailing ClusterStatusConditionType = "Failing" + // Degraded indicates that the operand is not functioning completely. An example of a degraded state + // would be if there should be 5 copies of the operand running but only 4 are running. It may still be available, + // but it is degraded + OperatorDegraded ClusterStatusConditionType = "Degraded" + + // Upgradeable indicates whether the operator is in a state that is safe to upgrade. When status is `False` + // administrators should not upgrade their cluster and the message field should contain a human readable description + // of what the administrator should do to allow the operator to successfully update. A missing condition, True, + // and Unknown are all treated by the CVO as allowing an upgrade. + OperatorUpgradeable ClusterStatusConditionType = "Upgradeable" ) // ClusterOperatorList is a list of OperatorStatus resources. diff --git a/vendor/github.com/openshift/api/config/v1/types_cluster_version.go b/vendor/github.com/openshift/api/config/v1/types_cluster_version.go index 3f808ba92..6ab92365b 100644 --- a/vendor/github.com/openshift/api/config/v1/types_cluster_version.go +++ b/vendor/github.com/openshift/api/config/v1/types_cluster_version.go @@ -16,9 +16,11 @@ type ClusterVersion struct { // spec is the desired state of the cluster version - the operator will work // to ensure that the desired version is applied to the cluster. + // +required Spec ClusterVersionSpec `json:"spec"` // status contains information about the available updates and any in-progress // updates. + // +optional Status ClusterVersionStatus `json:"status"` } @@ -46,19 +48,19 @@ type ClusterVersionSpec struct { // rollbacks will succeed. // // +optional - DesiredUpdate *Update `json:"desiredUpdate"` + DesiredUpdate *Update `json:"desiredUpdate,omitempty"` // upstream may be used to specify the preferred update server. By default // it will use the appropriate update server for the cluster and region. // // +optional - Upstream URL `json:"upstream"` + Upstream URL `json:"upstream,omitempty"` // channel is an identifier for explicitly requesting that a non-default // set of updates be applied to this cluster. The default channel will be // contain stable updates that are appropriate for production clusters. // // +optional - Channel string `json:"channel"` + Channel string `json:"channel,omitempty"` // overrides is list of overides for components that are managed by // cluster version operator. Marking a component unmanaged will prevent @@ -86,7 +88,8 @@ type ClusterVersionStatus struct { // Completed if the rollout completed - if an update was failing or halfway // applied the state will be Partial. Only a limited amount of update history // is preserved. - History []UpdateHistory `json:"history"` + // +optional + History []UpdateHistory `json:"history,omitempty"` // observedGeneration reports which version of the spec is being synced. // If this value is not equal to metadata.generation, then the desired @@ -101,16 +104,18 @@ type ClusterVersionStatus struct { // conditions provides information about the cluster version. The condition // "Available" is set to true if the desiredUpdate has been reached. The // condition "Progressing" is set to true if an update is being applied. - // The condition "Failing" is set to true if an update is currently blocked + // The condition "Degraded" is set to true if an update is currently blocked // by a temporary or permanent error. Conditions are only valid for the // current desiredUpdate when metadata.generation is equal to // status.generation. - Conditions []ClusterOperatorStatusCondition `json:"conditions"` + // +optional + Conditions []ClusterOperatorStatusCondition `json:"conditions,omitempty"` // availableUpdates contains the list of updates that are appropriate // for this cluster. This list may be empty if no updates are recommended, // if the update service is unavailable, or if an invalid channel has // been specified. + // +nullable AvailableUpdates []Update `json:"availableUpdates"` } @@ -141,6 +146,7 @@ type UpdateHistory struct { // that is currently being applied will have a null completion time. // Completion time will always be set for entries that are not the current // update (usually to the started time of the next update). + // +nullable CompletionTime *metav1.Time `json:"completionTime"` // version is a semantic versioning identifying the update version. If the @@ -152,6 +158,9 @@ type UpdateHistory struct { // image is a container image location that contains the update. This value // is always populated. Image string `json:"image"` + // verified indicates whether the provided update was properly verified + // before it was installed. If this is false the cluster may not be trusted. + Verified bool `json:"verified"` } // ClusterID is string RFC4122 uuid. @@ -196,6 +205,19 @@ type Update struct { // // +optional Image string `json:"image"` + // force allows an administrator to update to an image that has failed + // verification, does not appear in the availableUpdates list, or otherwise + // would be blocked by normal protections on update. This option should only + // be used when the authenticity of the provided image has been verified out + // of band because the provided image will run with full administrative access + // to the cluster. Do not use this flag with images that comes from unknown + // or potentially malicious sources. + // + // This flag does not override other forms of consistency checking that are + // required before a new update is deployed. + // + // +optional + Force bool `json:"force"` } // RetrievedUpdates reports whether available updates have been retrieved from diff --git a/vendor/github.com/openshift/api/config/v1/types_console.go b/vendor/github.com/openshift/api/config/v1/types_console.go index bbfc89c9c..c8b5b482f 100644 --- a/vendor/github.com/openshift/api/config/v1/types_console.go +++ b/vendor/github.com/openshift/api/config/v1/types_console.go @@ -13,20 +13,22 @@ type Console struct { metav1.ObjectMeta `json:"metadata,omitempty"` // spec holds user settable values for configuration + // +required Spec ConsoleSpec `json:"spec"` // status holds observed values from the cluster. They may not be overridden. + // +optional Status ConsoleStatus `json:"status"` } type ConsoleSpec struct { // +optional - Authentication ConsoleAuthentication `json:"authentication,omitempty"` + Authentication ConsoleAuthentication `json:"authentication"` } type ConsoleStatus struct { - // The hostname for the console. This will match the host for the route that + // The URL for the console. This will be derived from the host for the route that // is created for the console. - PublicHostname string `json:"publicHostname"` + ConsoleURL string `json:"consoleURL"` } // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object @@ -34,7 +36,7 @@ type ConsoleStatus struct { type ConsoleList struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. - metav1.ListMeta `json:"metadata,omitempty"` + metav1.ListMeta `json:"metadata"` Items []Console `json:"items"` } @@ -50,5 +52,6 @@ type ConsoleAuthentication struct { // provides the user the option to perform single logout (SLO) through the identity // provider to destroy their single sign-on session. // +optional + // +kubebuilder:validation:Pattern=^$|^((https):\/\/?)[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|\/?))$ LogoutRedirect string `json:"logoutRedirect,omitempty"` } diff --git a/vendor/github.com/openshift/api/config/v1/types_dns.go b/vendor/github.com/openshift/api/config/v1/types_dns.go index c37189547..c1fa82042 100644 --- a/vendor/github.com/openshift/api/config/v1/types_dns.go +++ b/vendor/github.com/openshift/api/config/v1/types_dns.go @@ -14,8 +14,10 @@ type DNS struct { metav1.ObjectMeta `json:"metadata,omitempty"` // spec holds user settable values for configuration + // +required Spec DNSSpec `json:"spec"` // status holds observed values from the cluster. They may not be overridden. + // +optional Status DNSStatus `json:"status"` } @@ -26,6 +28,40 @@ type DNSSpec struct { // For example, given the base domain `openshift.example.com`, an API server // DNS record may be created for `cluster-api.openshift.example.com`. BaseDomain string `json:"baseDomain"` + // publicZone is the location where all the DNS records that are publicly accessible to + // the internet exist. + // If this field is nil, no public records should be created. + // +optional + PublicZone *DNSZone `json:"publicZone,omitempty"` + // privateZone is the location where all the DNS records that are only available internally + // to the cluster exist. + // If this field is nil, no private records should be created. + // +optional + PrivateZone *DNSZone `json:"privateZone,omitempty"` +} + +// DNSZone is used to define a DNS hosted zone. +// A zone can be identified by an ID or tags. +type DNSZone struct { + // id is the identifier that can be used to find the DNS hosted zone. + // + // on AWS zone can be fetched using `ID` as id in [1] + // on Azure zone can be fetched using `ID` as a pre-determined name in [2], + // on GCP zone can be fetched using `ID` as a pre-determined name in [3]. + // + // [1]: https://docs.aws.amazon.com/cli/latest/reference/route53/get-hosted-zone.html#options + // [2]: https://docs.microsoft.com/en-us/cli/azure/network/dns/zone?view=azure-cli-latest#az-network-dns-zone-show + // [3]: https://cloud.google.com/dns/docs/reference/v1/managedZones/get + // +optional + ID string `json:"id,omitempty"` + + // tags can be used to query the DNS hosted zone. + // + // on AWS, resourcegroupstaggingapi [1] can be used to fetch a zone using `Tags` as tag-filters, + // + // [1]: https://docs.aws.amazon.com/cli/latest/reference/resourcegroupstaggingapi/get-resources.html#options + // +optional + Tags map[string]string `json:"tags,omitempty"` } type DNSStatus struct { @@ -37,6 +73,6 @@ type DNSStatus struct { type DNSList struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. - metav1.ListMeta `json:"metadata,omitempty"` + metav1.ListMeta `json:"metadata"` Items []DNS `json:"items"` } diff --git a/vendor/github.com/openshift/api/config/v1/types_feature.go b/vendor/github.com/openshift/api/config/v1/types_feature.go new file mode 100644 index 000000000..a072f1382 --- /dev/null +++ b/vendor/github.com/openshift/api/config/v1/types_feature.go @@ -0,0 +1,90 @@ +package v1 + +import metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + +// +genclient +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// Feature holds cluster-wide information about feature gates. The canonical name is `cluster` +type FeatureGate struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata,omitempty"` + + // spec holds user settable values for configuration + // +required + Spec FeatureGateSpec `json:"spec"` + // status holds observed values from the cluster. They may not be overridden. + // +optional + Status FeatureGateStatus `json:"status"` +} + +type FeatureSet string + +var ( + // Default feature set that allows upgrades. + Default FeatureSet = "" + + // TechPreviewNoUpgrade turns on tech preview features that are not part of the normal supported platform. Turning + // this feature set on CANNOT BE UNDONE and PREVENTS UPGRADES. + TechPreviewNoUpgrade FeatureSet = "TechPreviewNoUpgrade" +) + +type FeatureGateSpec struct { + // featureSet changes the list of features in the cluster. The default is empty. Be very careful adjusting this setting. + // Turning on or off features may cause irreversible changes in your cluster which cannot be undone. + FeatureSet FeatureSet `json:"featureSet,omitempty"` +} + +type FeatureGateStatus struct { +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +type FeatureGateList struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ListMeta `json:"metadata"` + Items []FeatureGate `json:"items"` +} + +type FeatureGateEnabledDisabled struct { + Enabled []string + Disabled []string +} + +// FeatureSets Contains a map of Feature names to Enabled/Disabled Feature. +// +// NOTE: The caller needs to make sure to check for the existence of the value +// using golang's existence field. A possible scenario is an upgrade where new +// FeatureSets are added and a controller has not been upgraded with a newer +// version of this file. In this upgrade scenario the map could return nil. +// +// example: +// if featureSet, ok := FeatureSets["SomeNewFeature"]; ok { } +// +// If you put an item in either of these lists, put your area and name on it so we can find owners. +var FeatureSets = map[FeatureSet]*FeatureGateEnabledDisabled{ + Default: { + Enabled: []string{ + "ExperimentalCriticalPodAnnotation", // sig-pod, sjenning + "RotateKubeletServerCertificate", // sig-pod, sjenning + "SupportPodPidsLimit", // sig-pod, sjenning + }, + Disabled: []string{ + "LocalStorageCapacityIsolation", // sig-pod, sjenning + }, + }, + TechPreviewNoUpgrade: { + Enabled: []string{ + "ExperimentalCriticalPodAnnotation", // sig-pod, sjenning + "RotateKubeletServerCertificate", // sig-pod, sjenning + "SupportPodPidsLimit", // sig-pod, sjenning + "CSIBlockVolume", // sig-storage, j-griffith + }, + Disabled: []string{ + "LocalStorageCapacityIsolation", // sig-pod, sjenning + }, + }, +} diff --git a/vendor/github.com/openshift/api/config/v1/types_image.go b/vendor/github.com/openshift/api/config/v1/types_image.go index c067d8712..ca51f1637 100644 --- a/vendor/github.com/openshift/api/config/v1/types_image.go +++ b/vendor/github.com/openshift/api/config/v1/types_image.go @@ -13,8 +13,10 @@ type Image struct { metav1.ObjectMeta `json:"metadata,omitempty"` // spec holds user settable values for configuration + // +required Spec ImageSpec `json:"spec"` // status holds observed values from the cluster. They may not be overridden. + // +optional Status ImageStatus `json:"status"` } @@ -25,18 +27,29 @@ type ImageSpec struct { // permission to create Images or ImageStreamMappings via the API are not affected by // this policy - typically only administrators or system integrations will have those // permissions. + // +optional AllowedRegistriesForImport []RegistryLocation `json:"allowedRegistriesForImport,omitempty"` // externalRegistryHostnames provides the hostnames for the default external image // registry. The external hostname should be set only when the image registry // is exposed externally. The first value is used in 'publicDockerImageRepository' // field in ImageStreams. The value must be in "hostname[:port]" format. + // +optional ExternalRegistryHostnames []string `json:"externalRegistryHostnames,omitempty"` // AdditionalTrustedCA is a reference to a ConfigMap containing additional CAs that - // should be trusted during imagestream import. + // should be trusted during imagestream import, pod image pull, and imageregistry + // pullthrough. // The namespace for this config map is openshift-config. - AdditionalTrustedCA ConfigMapNameReference `json:"additionalTrustedCA,omitempty"` + // +optional + AdditionalTrustedCA ConfigMapNameReference `json:"additionalTrustedCA"` + + // RegistrySources contains configuration that determines how the container runtime + // should treat individual registries when accessing images for builds+pods. (e.g. + // whether or not to allow insecure access). It does not contain configuration for the + // internal cluster registry. + // +optional + RegistrySources RegistrySources `json:"registrySources"` } type ImageStatus struct { @@ -46,12 +59,14 @@ type ImageStatus struct { // registry. The value must be in "hostname[:port]" format. // For backward compatibility, users can still use OPENSHIFT_DEFAULT_REGISTRY // environment variable but this setting overrides the environment variable. + // +optional InternalRegistryHostname string `json:"internalRegistryHostname,omitempty"` // externalRegistryHostnames provides the hostnames for the default external image // registry. The external hostname should be set only when the image registry // is exposed externally. The first value is used in 'publicDockerImageRepository' // field in ImageStreams. The value must be in "hostname[:port]" format. + // +optional ExternalRegistryHostnames []string `json:"externalRegistryHostnames,omitempty"` } @@ -60,7 +75,7 @@ type ImageStatus struct { type ImageList struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. - metav1.ListMeta `json:"metadata,omitempty"` + metav1.ListMeta `json:"metadata"` Items []Image `json:"items"` } @@ -73,5 +88,23 @@ type RegistryLocation struct { DomainName string `json:"domainName"` // Insecure indicates whether the registry is secure (https) or insecure (http) // By default (if not specified) the registry is assumed as secure. + // +optional Insecure bool `json:"insecure,omitempty"` } + +// RegistrySources holds cluster-wide information about how to handle the registries config. +type RegistrySources struct { + // InsecureRegistries are registries which do not have a valid SSL certificate or only support HTTP connections. + // +optional + InsecureRegistries []string `json:"insecureRegistries,omitempty"` + // BlockedRegistries are blacklisted from image pull/push. All other registries are allowed. + // + // Only one of BlockedRegistries or AllowedRegistries may be set. + // +optional + BlockedRegistries []string `json:"blockedRegistries,omitempty"` + // AllowedRegistries are whitelisted for image pull/push. All other registries are blocked. + // + // Only one of BlockedRegistries or AllowedRegistries may be set. + // +optional + AllowedRegistries []string `json:"allowedRegistries,omitempty"` +} diff --git a/vendor/github.com/openshift/api/config/v1/types_infrastructure.go b/vendor/github.com/openshift/api/config/v1/types_infrastructure.go index 425ac3a2b..40e3f2c27 100644 --- a/vendor/github.com/openshift/api/config/v1/types_infrastructure.go +++ b/vendor/github.com/openshift/api/config/v1/types_infrastructure.go @@ -13,24 +13,35 @@ type Infrastructure struct { metav1.ObjectMeta `json:"metadata,omitempty"` // spec holds user settable values for configuration + // +required Spec InfrastructureSpec `json:"spec"` // status holds observed values from the cluster. They may not be overridden. + // +optional Status InfrastructureStatus `json:"status"` } // InfrastructureSpec contains settings that apply to the cluster infrastructure. type InfrastructureSpec struct { - // secret reference? - // configmap reference to file? + // cloudConfig is a reference to a ConfigMap containing the cloud provider configuration file. + // This configuration file is used to configure the Kubernetes cloud provider integration + // when using the built-in cloud provider integration or the external cloud controller manager. + // The namespace for this config map is openshift-config. + // +optional + CloudConfig ConfigMapFileReference `json:"cloudConfig"` } // InfrastructureStatus describes the infrastructure the cluster is leveraging. type InfrastructureStatus struct { + // infrastructureName uniquely identifies a cluster with a human friendly name. + // Once set it should not be changed. Must be of max length 27 and must have only + // alphanumeric or hyphen characters. + InfrastructureName string `json:"infrastructureName"` + // platform is the underlying infrastructure provider for the cluster. This // value controls whether infrastructure automation such as service load // balancers, dynamic volume provisioning, machine creation and deletion, and // other integrations are enabled. If None, no infrastructure automation is - // enabled. Allowed values are "AWS", "Azure", "GCP", "Libvirt", + // enabled. Allowed values are "AWS", "Azure", "BareMetal", "GCP", "Libvirt", // "OpenStack", "VSphere", and "None". Individual components may not support // all platforms, and must handle unrecognized platforms as None if they do // not support that platform. @@ -51,26 +62,29 @@ type InfrastructureStatus struct { type PlatformType string const ( - // AWSPlatform represents Amazon Web Services infrastructure. - AWSPlatform PlatformType = "AWS" + // AWSPlatformType represents Amazon Web Services infrastructure. + AWSPlatformType PlatformType = "AWS" + + // AzurePlatformType represents Microsoft Azure infrastructure. + AzurePlatformType PlatformType = "Azure" - // AzurePlatform represents Microsoft Azure infrastructure. - AzurePlatform PlatformType = "Azure" + // BareMetalPlatformType represents managed bare metal infrastructure. + BareMetalPlatformType PlatformType = "BareMetal" - // GCPPlatform represents Google Cloud Platform infrastructure. - GCPPlatform PlatformType = "GCP" + // GCPPlatformType represents Google Cloud Platform infrastructure. + GCPPlatformType PlatformType = "GCP" - // LibvirtPlatform represents libvirt infrastructure. - LibvirtPlatform PlatformType = "Libvirt" + // LibvirtPlatformType represents libvirt infrastructure. + LibvirtPlatformType PlatformType = "Libvirt" - // OpenStackPlatform represents OpenStack infrastructure. - OpenStackPlatform PlatformType = "OpenStack" + // OpenStackPlatformType represents OpenStack infrastructure. + OpenStackPlatformType PlatformType = "OpenStack" - // NonePlatform means there is no infrastructure provider. - NonePlatform PlatformType = "None" + // NonePlatformType means there is no infrastructure provider. + NonePlatformType PlatformType = "None" - // VSpherePlatform represents VMWare vSphere infrastructure. - VSpherePlatform PlatformType = "VSphere" + // VSpherePlatformType represents VMWare vSphere infrastructure. + VSpherePlatformType PlatformType = "VSphere" ) // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object @@ -79,6 +93,6 @@ const ( type InfrastructureList struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. - metav1.ListMeta `json:"metadata,omitempty"` + metav1.ListMeta `json:"metadata"` Items []Infrastructure `json:"items"` } diff --git a/vendor/github.com/openshift/api/config/v1/types_ingress.go b/vendor/github.com/openshift/api/config/v1/types_ingress.go index d9b81988f..4cbefc91b 100644 --- a/vendor/github.com/openshift/api/config/v1/types_ingress.go +++ b/vendor/github.com/openshift/api/config/v1/types_ingress.go @@ -14,8 +14,10 @@ type Ingress struct { metav1.ObjectMeta `json:"metadata,omitempty"` // spec holds user settable values for configuration + // +required Spec IngressSpec `json:"spec"` // status holds observed values from the cluster. They may not be overridden. + // +optional Status IngressStatus `json:"status"` } @@ -34,6 +36,6 @@ type IngressStatus struct { type IngressList struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. - metav1.ListMeta `json:"metadata,omitempty"` + metav1.ListMeta `json:"metadata"` Items []Ingress `json:"items"` } diff --git a/vendor/github.com/openshift/api/config/v1/types_network.go b/vendor/github.com/openshift/api/config/v1/types_network.go index 144ba15b5..5b5ab1929 100644 --- a/vendor/github.com/openshift/api/config/v1/types_network.go +++ b/vendor/github.com/openshift/api/config/v1/types_network.go @@ -14,8 +14,10 @@ type Network struct { metav1.ObjectMeta `json:"metadata,omitempty"` // spec holds user settable values for configuration. + // +required Spec NetworkSpec `json:"spec"` // status holds observed values from the cluster. They may not be overridden. + // +optional Status NetworkStatus `json:"status"` } @@ -42,17 +44,17 @@ type NetworkSpec struct { // NetworkStatus is the current network configuration. type NetworkStatus struct { // IP address pool to use for pod IPs. - ClusterNetwork []ClusterNetworkEntry `json:"clusterNetwork"` + ClusterNetwork []ClusterNetworkEntry `json:"clusterNetwork,omitempty"` // IP address pool for services. // Currently, we only support a single entry here. - ServiceNetwork []string `json:"serviceNetwork"` + ServiceNetwork []string `json:"serviceNetwork,omitempty"` // NetworkType is the plugin that is deployed (e.g. OpenShiftSDN). - NetworkType string `json:"networkType"` + NetworkType string `json:"networkType,omitempty"` // ClusterNetworkMTU is the MTU for inter-pod networking. - ClusterNetworkMTU int `json:"clusterNetworkMTU"` + ClusterNetworkMTU int `json:"clusterNetworkMTU,omitempty"` } // ClusterNetworkEntry is a contiguous block of IP addresses from which pod IPs @@ -70,6 +72,6 @@ type ClusterNetworkEntry struct { type NetworkList struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. - metav1.ListMeta `json:"metadata,omitempty"` + metav1.ListMeta `json:"metadata"` Items []Network `json:"items"` } diff --git a/vendor/github.com/openshift/api/config/v1/types_oauth.go b/vendor/github.com/openshift/api/config/v1/types_oauth.go index 1a24dc7e8..7aa0133e7 100644 --- a/vendor/github.com/openshift/api/config/v1/types_oauth.go +++ b/vendor/github.com/openshift/api/config/v1/types_oauth.go @@ -15,8 +15,9 @@ type OAuth struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` + // +required Spec OAuthSpec `json:"spec"` - + // +optional Status OAuthStatus `json:"status"` } @@ -89,7 +90,7 @@ type OAuthTemplates struct { // If unspecified, the default login page is used. // The namespace for this secret is openshift-config. // +optional - Login SecretNameReference `json:"login,omitempty"` + Login SecretNameReference `json:"login"` // providerSelection is the name of a secret that specifies a go template to use to render // the provider selection page. @@ -99,7 +100,7 @@ type OAuthTemplates struct { // If unspecified, the default provider selection page is used. // The namespace for this secret is openshift-config. // +optional - ProviderSelection SecretNameReference `json:"providerSelection,omitempty"` + ProviderSelection SecretNameReference `json:"providerSelection"` // error is the name of a secret that specifies a go template to use to render error pages // during the authentication or grant flow. @@ -109,7 +110,7 @@ type OAuthTemplates struct { // If unspecified, the default error page is used. // The namespace for this secret is openshift-config. // +optional - Error SecretNameReference `json:"error,omitempty"` + Error SecretNameReference `json:"error"` } // IdentityProvider provides identities for users authenticating using credentials @@ -120,16 +121,10 @@ type IdentityProvider struct { // Ref: https://godoc.org/github.com/openshift/origin/pkg/user/apis/user/validation#ValidateIdentityProviderName Name string `json:"name"` - // challenge indicates whether to issue WWW-Authenticate challenges for this provider - UseAsChallenger bool `json:"challenge"` - - // login indicates whether to use this identity provider for unauthenticated browsers to login against - UseAsLogin bool `json:"login"` - // mappingMethod determines how identities from this provider are mapped to users // Defaults to "claim" // +optional - MappingMethod MappingMethodType `json:"mappingMethod"` + MappingMethod MappingMethodType `json:"mappingMethod,omitempty"` IdentityProviderConfig `json:",inline"` } @@ -332,18 +327,18 @@ type LDAPAttributeMapping struct { // preferredUsername is the list of attributes whose values should be used as the preferred username. // LDAP standard login attribute is "uid" // +optional - PreferredUsername []string `json:"preferredUsername"` + PreferredUsername []string `json:"preferredUsername,omitempty"` // name is the list of attributes whose values should be used as the display name. Optional. // If unspecified, no display name is set for the identity // LDAP standard display name attribute is "cn" // +optional - Name []string `json:"name"` + Name []string `json:"name,omitempty"` // email is the list of attributes whose values should be used as the email address. Optional. // If unspecified, no email is set for the identity // +optional - Email []string `json:"email"` + Email []string `json:"email,omitempty"` } // KeystonePasswordIdentityProvider provides identities for users authenticating using keystone password credentials @@ -394,7 +389,7 @@ type RequestHeaderIdentityProvider struct { // clientCommonNames is an optional list of common names to require a match from. If empty, any // client certificate validated against the clientCA bundle is considered authoritative. // +optional - ClientCommonNames []string `json:"clientCommonNames"` + ClientCommonNames []string `json:"clientCommonNames,omitempty"` // headers is the set of headers to check for identity information Headers []string `json:"headers"` @@ -422,11 +417,11 @@ type GitHubIdentityProvider struct { // organizations optionally restricts which organizations are allowed to log in // +optional - Organizations []string `json:"organizations"` + Organizations []string `json:"organizations,omitempty"` // teams optionally restricts which teams are allowed to log in. Format is /. // +optional - Teams []string `json:"teams"` + Teams []string `json:"teams,omitempty"` // hostname is the optional domain (e.g. "mycompany.com") for use with a hosted instance of // GitHub Enterprise. @@ -510,34 +505,20 @@ type OpenIDIdentityProvider struct { // extraScopes are any scopes to request in addition to the standard "openid" scope. // +optional - ExtraScopes []string `json:"extraScopes"` + ExtraScopes []string `json:"extraScopes,omitempty"` // extraAuthorizeParameters are any custom parameters to add to the authorize request. // +optional - ExtraAuthorizeParameters map[string]string `json:"extraAuthorizeParameters"` + ExtraAuthorizeParameters map[string]string `json:"extraAuthorizeParameters,omitempty"` - // urls to use to authenticate - URLs OpenIDURLs `json:"urls"` + // issuer is the URL that the OpenID Provider asserts as its Issuer Identifier. + // It must use the https scheme with no query or fragment component. + Issuer string `json:"issuer"` // claims mappings Claims OpenIDClaims `json:"claims"` } -// OpenIDURLs are URLs to use when authenticating with an OpenID identity provider -type OpenIDURLs struct { - // authorize is the oauth authorization URL - Authorize string `json:"authorize"` - - // token is the oauth token granting URL - Token string `json:"token"` - - // userInfo is the optional userinfo URL. - // If present, a granted access_token is used to request claims - // If empty, a granted id_token is parsed for claims - // +optional - UserInfo string `json:"userInfo"` -} - // UserIDClaim is the claim used to provide a stable identifier for OIDC identities. // Per http://openid.net/specs/openid-connect-core-1_0.html#ClaimStability // "The sub (subject) and iss (issuer) Claims, used together, are the only Claims that an RP can @@ -552,24 +533,24 @@ type OpenIDClaims struct { // preferredUsername is the list of claims whose values should be used as the preferred username. // If unspecified, the preferred username is determined from the value of the sub claim // +optional - PreferredUsername []string `json:"preferredUsername"` + PreferredUsername []string `json:"preferredUsername,omitempty"` // name is the list of claims whose values should be used as the display name. Optional. // If unspecified, no display name is set for the identity // +optional - Name []string `json:"name"` + Name []string `json:"name,omitempty"` // email is the list of claims whose values should be used as the email address. Optional. // If unspecified, no email is set for the identity // +optional - Email []string `json:"email"` + Email []string `json:"email,omitempty"` } // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object type OAuthList struct { metav1.TypeMeta `json:",inline"` - metav1.ListMeta `json:"metadata,omitempty"` + metav1.ListMeta `json:"metadata"` Items []OAuth `json:"items"` } diff --git a/vendor/github.com/openshift/api/config/v1/types_project.go b/vendor/github.com/openshift/api/config/v1/types_project.go index 783288fc2..e64808459 100644 --- a/vendor/github.com/openshift/api/config/v1/types_project.go +++ b/vendor/github.com/openshift/api/config/v1/types_project.go @@ -13,8 +13,10 @@ type Project struct { metav1.ObjectMeta `json:"metadata,omitempty"` // spec holds user settable values for configuration + // +required Spec ProjectSpec `json:"spec"` // status holds observed values from the cluster. They may not be overridden. + // +optional Status ProjectStatus `json:"status"` } @@ -35,7 +37,7 @@ type ProjectSpec struct { // If it is not specified, a default template is used. // // +optional - ProjectRequestTemplate TemplateReference `json:"projectRequestTemplate,omitempty"` + ProjectRequestTemplate TemplateReference `json:"projectRequestTemplate"` } type ProjectStatus struct { @@ -46,6 +48,6 @@ type ProjectStatus struct { type ProjectList struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. - metav1.ListMeta `json:"metadata,omitempty"` + metav1.ListMeta `json:"metadata"` Items []Project `json:"items"` } diff --git a/vendor/github.com/openshift/api/config/v1/types_proxy.go b/vendor/github.com/openshift/api/config/v1/types_proxy.go index 9ca18416b..4004ace8b 100644 --- a/vendor/github.com/openshift/api/config/v1/types_proxy.go +++ b/vendor/github.com/openshift/api/config/v1/types_proxy.go @@ -13,17 +13,21 @@ type Proxy struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec holds user-settable values for the proxy configuration + // +required Spec ProxySpec `json:"spec"` } type ProxySpec struct { // httpProxy is the URL of the proxy for HTTP requests. Empty means unset and will not result in an env var. + // +optional HTTPProxy string `json:"httpProxy,omitempty"` // httpsProxy is the URL of the proxy for HTTPS requests. Empty means unset and will not result in an env var. + // +optional HTTPSProxy string `json:"httpsProxy,omitempty"` // noProxy is the list of domains for which the proxy should not be used. Empty means unset and will not result in an env var. + // +optional NoProxy string `json:"noProxy,omitempty"` } @@ -32,6 +36,6 @@ type ProxySpec struct { type ProxyList struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. - metav1.ListMeta `json:"metadata,omitempty"` + metav1.ListMeta `json:"metadata"` Items []Proxy `json:"items"` } diff --git a/vendor/github.com/openshift/api/config/v1/types_scheduling.go b/vendor/github.com/openshift/api/config/v1/types_scheduling.go index 3cf135bdb..48195e8b2 100644 --- a/vendor/github.com/openshift/api/config/v1/types_scheduling.go +++ b/vendor/github.com/openshift/api/config/v1/types_scheduling.go @@ -6,35 +6,58 @@ import metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" // +genclient:nonNamespaced // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object -// Scheduling holds cluster-wide information about Scheduling. The canonical name is `cluster` -type Scheduling struct { +// Scheduler holds cluster-wide information about Scheduler. The canonical name is `cluster` +type Scheduler struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. metav1.ObjectMeta `json:"metadata,omitempty"` // spec holds user settable values for configuration - Spec SchedulingSpec `json:"spec"` + // +required + Spec SchedulerSpec `json:"spec"` // status holds observed values from the cluster. They may not be overridden. - Status SchedulingStatus `json:"status"` + // +optional + Status SchedulerStatus `json:"status"` } -type SchedulingSpec struct { +type SchedulerSpec struct { // policy is a reference to a ConfigMap containing scheduler policy which has // user specified predicates and priorities. If this ConfigMap is not available // scheduler will default to use DefaultAlgorithmProvider. - // The namespace for this configmap is openshift-config. + // The namespace for this configmap is openshift-config. + // +optional + Policy ConfigMapNameReference `json:"policy"` + // defaultNodeSelector helps set the cluster-wide default node selector to + // restrict pod placement to specific nodes. This is applied to the pods + // created in all namespaces without a specified nodeSelector value. + // For example, + // defaultNodeSelector: "type=user-node,region=east" would set nodeSelector + // field in pod spec to "type=user-node,region=east" to all pods created + // in all namespaces. Namespaces having project-wide node selectors won't be + // impacted even if this field is set. This adds an annotation section to + // the namespace. + // For example, if a new namespace is created with + // node-selector='type=user-node,region=east', + // the annotation openshift.io/node-selector: type=user-node,region=east + // gets added to the project. When the openshift.io/node-selector annotation + // is set on the project the value is used in preference to the value we are setting + // for defaultNodeSelector field. + // For instance, + // openshift.io/node-selector: "type=user-node,region=west" means + // that the default of "type=user-node,region=east" set in defaultNodeSelector + // would not be applied. // +optional - Policy ConfigMapNameReference `json:"policy,omitempty"` + DefaultNodeSelector string `json:"defaultNodeSelector,omitempty"` } -type SchedulingStatus struct { +type SchedulerStatus struct { } // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object -type SchedulingList struct { +type SchedulerList struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. - metav1.ListMeta `json:"metadata,omitempty"` - Items []Scheduling `json:"items"` + metav1.ListMeta `json:"metadata"` + Items []Scheduler `json:"items"` } diff --git a/vendor/github.com/openshift/api/config/v1/zz_generated.deepcopy.go b/vendor/github.com/openshift/api/config/v1/zz_generated.deepcopy.go index 03908a22a..3ad614c5e 100644 --- a/vendor/github.com/openshift/api/config/v1/zz_generated.deepcopy.go +++ b/vendor/github.com/openshift/api/config/v1/zz_generated.deepcopy.go @@ -5,7 +5,7 @@ package v1 import ( - core_v1 "k8s.io/api/core/v1" + corev1 "k8s.io/api/core/v1" runtime "k8s.io/apimachinery/pkg/runtime" ) @@ -150,6 +150,39 @@ func (in *APIServerStatus) DeepCopy() *APIServerStatus { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AdmissionConfig) DeepCopyInto(out *AdmissionConfig) { + *out = *in + if in.PluginConfig != nil { + in, out := &in.PluginConfig, &out.PluginConfig + *out = make(map[string]AdmissionPluginConfig, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + } + if in.EnabledAdmissionPlugins != nil { + in, out := &in.EnabledAdmissionPlugins, &out.EnabledAdmissionPlugins + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.DisabledAdmissionPlugins != nil { + in, out := &in.DisabledAdmissionPlugins, &out.DisabledAdmissionPlugins + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdmissionConfig. +func (in *AdmissionConfig) DeepCopy() *AdmissionConfig { + if in == nil { + return nil + } + out := new(AdmissionConfig) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *AdmissionPluginConfig) DeepCopyInto(out *AdmissionPluginConfig) { *out = *in @@ -333,25 +366,17 @@ func (in *BuildDefaults) DeepCopyInto(out *BuildDefaults) { *out = *in if in.DefaultProxy != nil { in, out := &in.DefaultProxy, &out.DefaultProxy - if *in == nil { - *out = nil - } else { - *out = new(ProxySpec) - **out = **in - } + *out = new(ProxySpec) + **out = **in } if in.GitProxy != nil { in, out := &in.GitProxy, &out.GitProxy - if *in == nil { - *out = nil - } else { - *out = new(ProxySpec) - **out = **in - } + *out = new(ProxySpec) + **out = **in } if in.Env != nil { in, out := &in.Env, &out.Env - *out = make([]core_v1.EnvVar, len(*in)) + *out = make([]corev1.EnvVar, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } @@ -362,7 +387,6 @@ func (in *BuildDefaults) DeepCopyInto(out *BuildDefaults) { copy(*out, *in) } in.Resources.DeepCopyInto(&out.Resources) - in.RegistriesConfig.DeepCopyInto(&out.RegistriesConfig) return } @@ -426,7 +450,7 @@ func (in *BuildOverrides) DeepCopyInto(out *BuildOverrides) { } if in.Tolerations != nil { in, out := &in.Tolerations, &out.Tolerations - *out = make([]core_v1.Toleration, len(*in)) + *out = make([]corev1.Toleration, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } @@ -705,12 +729,8 @@ func (in *ClusterVersionSpec) DeepCopyInto(out *ClusterVersionSpec) { *out = *in if in.DesiredUpdate != nil { in, out := &in.DesiredUpdate, &out.DesiredUpdate - if *in == nil { - *out = nil - } else { - *out = new(Update) - **out = **in - } + *out = new(Update) + **out = **in } if in.Overrides != nil { in, out := &in.Overrides, &out.Overrides @@ -929,7 +949,7 @@ func (in *DNS) DeepCopyInto(out *DNS) { *out = *in out.TypeMeta = in.TypeMeta in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) - out.Spec = in.Spec + in.Spec.DeepCopyInto(&out.Spec) out.Status = in.Status return } @@ -988,6 +1008,16 @@ func (in *DNSList) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *DNSSpec) DeepCopyInto(out *DNSSpec) { *out = *in + if in.PublicZone != nil { + in, out := &in.PublicZone, &out.PublicZone + *out = new(DNSZone) + (*in).DeepCopyInto(*out) + } + if in.PrivateZone != nil { + in, out := &in.PrivateZone, &out.PrivateZone + *out = new(DNSZone) + (*in).DeepCopyInto(*out) + } return } @@ -1017,6 +1047,29 @@ func (in *DNSStatus) DeepCopy() *DNSStatus { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DNSZone) DeepCopyInto(out *DNSZone) { + *out = *in + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSZone. +func (in *DNSZone) DeepCopy() *DNSZone { + if in == nil { + return nil + } + out := new(DNSZone) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *DelegatedAuthentication) DeepCopyInto(out *DelegatedAuthentication) { *out = *in @@ -1089,64 +1142,67 @@ func (in *EtcdStorageConfig) DeepCopy() *EtcdStorageConfig { } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *FeatureCondition) DeepCopyInto(out *FeatureCondition) { +func (in *FeatureGate) DeepCopyInto(out *FeatureGate) { *out = *in - if in.OperatorConditions != nil { - in, out := &in.OperatorConditions, &out.OperatorConditions - *out = make(map[string]OperatorFeatureCondition, len(*in)) - for key, val := range *in { - (*out)[key] = val - } - } + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + out.Spec = in.Spec + out.Status = in.Status return } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureCondition. -func (in *FeatureCondition) DeepCopy() *FeatureCondition { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureGate. +func (in *FeatureGate) DeepCopy() *FeatureGate { if in == nil { return nil } - out := new(FeatureCondition) + out := new(FeatureGate) in.DeepCopyInto(out) return out } +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FeatureGate) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *Features) DeepCopyInto(out *Features) { +func (in *FeatureGateEnabledDisabled) DeepCopyInto(out *FeatureGateEnabledDisabled) { *out = *in - out.TypeMeta = in.TypeMeta - in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) - in.Spec.DeepCopyInto(&out.Spec) - in.Status.DeepCopyInto(&out.Status) + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Disabled != nil { + in, out := &in.Disabled, &out.Disabled + *out = make([]string, len(*in)) + copy(*out, *in) + } return } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Features. -func (in *Features) DeepCopy() *Features { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureGateEnabledDisabled. +func (in *FeatureGateEnabledDisabled) DeepCopy() *FeatureGateEnabledDisabled { if in == nil { return nil } - out := new(Features) + out := new(FeatureGateEnabledDisabled) in.DeepCopyInto(out) return out } -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *Features) DeepCopyObject() runtime.Object { - if c := in.DeepCopy(); c != nil { - return c - } - return nil -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *FeaturesList) DeepCopyInto(out *FeaturesList) { +func (in *FeatureGateList) DeepCopyInto(out *FeatureGateList) { *out = *in out.TypeMeta = in.TypeMeta out.ListMeta = in.ListMeta if in.Items != nil { in, out := &in.Items, &out.Items - *out = make([]Features, len(*in)) + *out = make([]FeatureGate, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } @@ -1154,18 +1210,18 @@ func (in *FeaturesList) DeepCopyInto(out *FeaturesList) { return } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeaturesList. -func (in *FeaturesList) DeepCopy() *FeaturesList { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureGateList. +func (in *FeatureGateList) DeepCopy() *FeatureGateList { if in == nil { return nil } - out := new(FeaturesList) + out := new(FeatureGateList) in.DeepCopyInto(out) return out } // DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *FeaturesList) DeepCopyObject() runtime.Object { +func (in *FeatureGateList) DeepCopyObject() runtime.Object { if c := in.DeepCopy(); c != nil { return c } @@ -1173,52 +1229,33 @@ func (in *FeaturesList) DeepCopyObject() runtime.Object { } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *FeaturesSpec) DeepCopyInto(out *FeaturesSpec) { +func (in *FeatureGateSpec) DeepCopyInto(out *FeatureGateSpec) { *out = *in - if in.Enabled != nil { - in, out := &in.Enabled, &out.Enabled - *out = make([]string, len(*in)) - copy(*out, *in) - } - if in.Disabled != nil { - in, out := &in.Disabled, &out.Disabled - *out = make([]string, len(*in)) - copy(*out, *in) - } return } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeaturesSpec. -func (in *FeaturesSpec) DeepCopy() *FeaturesSpec { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureGateSpec. +func (in *FeatureGateSpec) DeepCopy() *FeatureGateSpec { if in == nil { return nil } - out := new(FeaturesSpec) + out := new(FeatureGateSpec) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *FeaturesStatus) DeepCopyInto(out *FeaturesStatus) { +func (in *FeatureGateStatus) DeepCopyInto(out *FeatureGateStatus) { *out = *in - if in.FeatureConditions != nil { - in, out := &in.FeatureConditions, &out.FeatureConditions - *out = make(map[string]FeatureCondition, len(*in)) - for key, val := range *in { - newVal := new(FeatureCondition) - val.DeepCopyInto(newVal) - (*out)[key] = *newVal - } - } return } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeaturesStatus. -func (in *FeaturesStatus) DeepCopy() *FeaturesStatus { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureGateStatus. +func (in *FeatureGateStatus) DeepCopy() *FeatureGateStatus { if in == nil { return nil } - out := new(FeaturesStatus) + out := new(FeatureGateStatus) in.DeepCopyInto(out) return out } @@ -1234,15 +1271,7 @@ func (in *GenericAPIServerConfig) DeepCopyInto(out *GenericAPIServerConfig) { } in.AuditConfig.DeepCopyInto(&out.AuditConfig) in.StorageConfig.DeepCopyInto(&out.StorageConfig) - if in.AdmissionPluginConfig != nil { - in, out := &in.AdmissionPluginConfig, &out.AdmissionPluginConfig - *out = make(map[string]AdmissionPluginConfig, len(*in)) - for key, val := range *in { - newVal := new(AdmissionPluginConfig) - val.DeepCopyInto(newVal) - (*out)[key] = *newVal - } - } + in.AdmissionConfig.DeepCopyInto(&out.AdmissionConfig) out.KubeClientConfig = in.KubeClientConfig return } @@ -1396,84 +1425,48 @@ func (in *IdentityProviderConfig) DeepCopyInto(out *IdentityProviderConfig) { *out = *in if in.BasicAuth != nil { in, out := &in.BasicAuth, &out.BasicAuth - if *in == nil { - *out = nil - } else { - *out = new(BasicAuthIdentityProvider) - **out = **in - } + *out = new(BasicAuthIdentityProvider) + **out = **in } if in.GitHub != nil { in, out := &in.GitHub, &out.GitHub - if *in == nil { - *out = nil - } else { - *out = new(GitHubIdentityProvider) - (*in).DeepCopyInto(*out) - } + *out = new(GitHubIdentityProvider) + (*in).DeepCopyInto(*out) } if in.GitLab != nil { in, out := &in.GitLab, &out.GitLab - if *in == nil { - *out = nil - } else { - *out = new(GitLabIdentityProvider) - **out = **in - } + *out = new(GitLabIdentityProvider) + **out = **in } if in.Google != nil { in, out := &in.Google, &out.Google - if *in == nil { - *out = nil - } else { - *out = new(GoogleIdentityProvider) - **out = **in - } + *out = new(GoogleIdentityProvider) + **out = **in } if in.HTPasswd != nil { in, out := &in.HTPasswd, &out.HTPasswd - if *in == nil { - *out = nil - } else { - *out = new(HTPasswdIdentityProvider) - **out = **in - } + *out = new(HTPasswdIdentityProvider) + **out = **in } if in.Keystone != nil { in, out := &in.Keystone, &out.Keystone - if *in == nil { - *out = nil - } else { - *out = new(KeystoneIdentityProvider) - **out = **in - } + *out = new(KeystoneIdentityProvider) + **out = **in } if in.LDAP != nil { in, out := &in.LDAP, &out.LDAP - if *in == nil { - *out = nil - } else { - *out = new(LDAPIdentityProvider) - (*in).DeepCopyInto(*out) - } + *out = new(LDAPIdentityProvider) + (*in).DeepCopyInto(*out) } if in.OpenID != nil { in, out := &in.OpenID, &out.OpenID - if *in == nil { - *out = nil - } else { - *out = new(OpenIDIdentityProvider) - (*in).DeepCopyInto(*out) - } + *out = new(OpenIDIdentityProvider) + (*in).DeepCopyInto(*out) } if in.RequestHeader != nil { in, out := &in.RequestHeader, &out.RequestHeader - if *in == nil { - *out = nil - } else { - *out = new(RequestHeaderIdentityProvider) - (*in).DeepCopyInto(*out) - } + *out = new(RequestHeaderIdentityProvider) + (*in).DeepCopyInto(*out) } return } @@ -1579,6 +1572,7 @@ func (in *ImageSpec) DeepCopyInto(out *ImageSpec) { copy(*out, *in) } out.AdditionalTrustedCA = in.AdditionalTrustedCA + in.RegistrySources.DeepCopyInto(&out.RegistrySources) return } @@ -1677,6 +1671,7 @@ func (in *InfrastructureList) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *InfrastructureSpec) DeepCopyInto(out *InfrastructureSpec) { *out = *in + out.CloudConfig = in.CloudConfig return } @@ -2246,7 +2241,6 @@ func (in *OpenIDIdentityProvider) DeepCopyInto(out *OpenIDIdentityProvider) { (*out)[key] = val } } - out.URLs = in.URLs in.Claims.DeepCopyInto(&out.Claims) return } @@ -2261,22 +2255,6 @@ func (in *OpenIDIdentityProvider) DeepCopy() *OpenIDIdentityProvider { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *OpenIDURLs) DeepCopyInto(out *OpenIDURLs) { - *out = *in - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenIDURLs. -func (in *OpenIDURLs) DeepCopy() *OpenIDURLs { - if in == nil { - return nil - } - out := new(OpenIDURLs) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *OperandVersion) DeepCopyInto(out *OperandVersion) { *out = *in @@ -2293,22 +2271,6 @@ func (in *OperandVersion) DeepCopy() *OperandVersion { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *OperatorFeatureCondition) DeepCopyInto(out *OperatorFeatureCondition) { - *out = *in - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperatorFeatureCondition. -func (in *OperatorFeatureCondition) DeepCopy() *OperatorFeatureCondition { - if in == nil { - return nil - } - out := new(OperatorFeatureCondition) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *Project) DeepCopyInto(out *Project) { *out = *in @@ -2480,21 +2442,24 @@ func (in *ProxySpec) DeepCopy() *ProxySpec { } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *RegistriesConfig) DeepCopyInto(out *RegistriesConfig) { +func (in *RegistryLocation) DeepCopyInto(out *RegistryLocation) { *out = *in - if in.SearchRegistries != nil { - in, out := &in.SearchRegistries, &out.SearchRegistries - if *in == nil { - *out = nil - } else { - *out = new([]string) - if **in != nil { - in, out := *in, *out - *out = make([]string, len(*in)) - copy(*out, *in) - } - } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryLocation. +func (in *RegistryLocation) DeepCopy() *RegistryLocation { + if in == nil { + return nil } + out := new(RegistryLocation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegistrySources) DeepCopyInto(out *RegistrySources) { + *out = *in if in.InsecureRegistries != nil { in, out := &in.InsecureRegistries, &out.InsecureRegistries *out = make([]string, len(*in)) @@ -2513,28 +2478,12 @@ func (in *RegistriesConfig) DeepCopyInto(out *RegistriesConfig) { return } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistriesConfig. -func (in *RegistriesConfig) DeepCopy() *RegistriesConfig { - if in == nil { - return nil - } - out := new(RegistriesConfig) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *RegistryLocation) DeepCopyInto(out *RegistryLocation) { - *out = *in - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryLocation. -func (in *RegistryLocation) DeepCopy() *RegistryLocation { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistrySources. +func (in *RegistrySources) DeepCopy() *RegistrySources { if in == nil { return nil } - out := new(RegistryLocation) + out := new(RegistrySources) in.DeepCopyInto(out) return out } @@ -2599,7 +2548,7 @@ func (in *RequestHeaderIdentityProvider) DeepCopy() *RequestHeaderIdentityProvid } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *Scheduling) DeepCopyInto(out *Scheduling) { +func (in *Scheduler) DeepCopyInto(out *Scheduler) { *out = *in out.TypeMeta = in.TypeMeta in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) @@ -2608,18 +2557,18 @@ func (in *Scheduling) DeepCopyInto(out *Scheduling) { return } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Scheduling. -func (in *Scheduling) DeepCopy() *Scheduling { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Scheduler. +func (in *Scheduler) DeepCopy() *Scheduler { if in == nil { return nil } - out := new(Scheduling) + out := new(Scheduler) in.DeepCopyInto(out) return out } // DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *Scheduling) DeepCopyObject() runtime.Object { +func (in *Scheduler) DeepCopyObject() runtime.Object { if c := in.DeepCopy(); c != nil { return c } @@ -2627,13 +2576,13 @@ func (in *Scheduling) DeepCopyObject() runtime.Object { } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SchedulingList) DeepCopyInto(out *SchedulingList) { +func (in *SchedulerList) DeepCopyInto(out *SchedulerList) { *out = *in out.TypeMeta = in.TypeMeta out.ListMeta = in.ListMeta if in.Items != nil { in, out := &in.Items, &out.Items - *out = make([]Scheduling, len(*in)) + *out = make([]Scheduler, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } @@ -2641,18 +2590,18 @@ func (in *SchedulingList) DeepCopyInto(out *SchedulingList) { return } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulingList. -func (in *SchedulingList) DeepCopy() *SchedulingList { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulerList. +func (in *SchedulerList) DeepCopy() *SchedulerList { if in == nil { return nil } - out := new(SchedulingList) + out := new(SchedulerList) in.DeepCopyInto(out) return out } // DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *SchedulingList) DeepCopyObject() runtime.Object { +func (in *SchedulerList) DeepCopyObject() runtime.Object { if c := in.DeepCopy(); c != nil { return c } @@ -2660,34 +2609,34 @@ func (in *SchedulingList) DeepCopyObject() runtime.Object { } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SchedulingSpec) DeepCopyInto(out *SchedulingSpec) { +func (in *SchedulerSpec) DeepCopyInto(out *SchedulerSpec) { *out = *in out.Policy = in.Policy return } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulingSpec. -func (in *SchedulingSpec) DeepCopy() *SchedulingSpec { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulerSpec. +func (in *SchedulerSpec) DeepCopy() *SchedulerSpec { if in == nil { return nil } - out := new(SchedulingSpec) + out := new(SchedulerSpec) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SchedulingStatus) DeepCopyInto(out *SchedulingStatus) { +func (in *SchedulerStatus) DeepCopyInto(out *SchedulerStatus) { *out = *in return } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulingStatus. -func (in *SchedulingStatus) DeepCopy() *SchedulingStatus { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulerStatus. +func (in *SchedulerStatus) DeepCopy() *SchedulerStatus { if in == nil { return nil } - out := new(SchedulingStatus) + out := new(SchedulerStatus) in.DeepCopyInto(out) return out } @@ -2824,11 +2773,7 @@ func (in *UpdateHistory) DeepCopyInto(out *UpdateHistory) { in.StartedTime.DeepCopyInto(&out.StartedTime) if in.CompletionTime != nil { in, out := &in.CompletionTime, &out.CompletionTime - if *in == nil { - *out = nil - } else { - *out = (*in).DeepCopy() - } + *out = (*in).DeepCopy() } return } diff --git a/vendor/github.com/openshift/api/config/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/config/v1/zz_generated.swagger_doc_generated.go index 476c2e2d9..661970072 100644 --- a/vendor/github.com/openshift/api/config/v1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/config/v1/zz_generated.swagger_doc_generated.go @@ -11,6 +11,15 @@ package v1 // Those methods can be generated by using hack/update-swagger-docs.sh // AUTO-GENERATED FUNCTIONS START HERE +var map_AdmissionConfig = map[string]string{ + "enabledPlugins": "enabledPlugins is a list of admission plugins that must be on in addition to the default list. Some admission plugins are disabled by default, but certain configurations require them. This is fairly uncommon and can result in performance penalties and unexpected behavior.", + "disabledPlugins": "disabledPlugins is a list of admission plugins that must be off. Putting something in this list is almost always a mistake and likely to result in cluster instability.", +} + +func (AdmissionConfig) SwaggerDoc() map[string]string { + return map_AdmissionConfig +} + var map_AdmissionPluginConfig = map[string]string{ "": "AdmissionPluginConfig holds the necessary configuration options for admission plugins", "location": "Location is the path to a configuration file that contains the plugin's configuration", @@ -116,10 +125,11 @@ func (EtcdStorageConfig) SwaggerDoc() map[string]string { var map_GenericAPIServerConfig = map[string]string{ "": "GenericAPIServerConfig is an inline-able struct for aggregated apiservers that need to store data in etcd", - "servingInfo": "ServingInfo describes how to start serving", - "corsAllowedOrigins": "CORSAllowedOrigins", - "auditConfig": "AuditConfig describes how to configure audit information", - "storageConfig": "StorageConfig contains information about how to use", + "servingInfo": "servingInfo describes how to start serving", + "corsAllowedOrigins": "corsAllowedOrigins", + "auditConfig": "auditConfig describes how to configure audit information", + "storageConfig": "storageConfig contains information about how to use", + "admission": "admissionConfig holds information about how to configure admission.", } func (GenericAPIServerConfig) SwaggerDoc() map[string]string { @@ -139,7 +149,7 @@ func (GenericControllerConfig) SwaggerDoc() map[string]string { } var map_HTTPServingInfo = map[string]string{ - "": "HTTPServingInfo holds configuration for serving HTTP", + "": "HTTPServingInfo holds configuration for serving HTTP", "maxRequestsInFlight": "MaxRequestsInFlight is the number of concurrent requests allowed to the server. If zero, no limit.", "requestTimeoutSeconds": "RequestTimeoutSeconds is the number of seconds before requests are timed out. The default is 60 minutes, if -1 there is no limit on requests.", } @@ -325,12 +335,11 @@ func (Build) SwaggerDoc() map[string]string { } var map_BuildDefaults = map[string]string{ - "defaultProxy": "DefaultProxy contains the default proxy settings for all build operations, including image pull/push and source download.\n\nValues can be overrode by setting the `HTTP_PROXY`, `HTTPS_PROXY`, and `NO_PROXY` environment variables in the build config's strategy.", - "gitProxy": "GitProxy contains the proxy settings for git operations only. If set, this will override any Proxy settings for all git commands, such as git clone.\n\nValues that are not set here will be inherited from DefaultProxy.", - "env": "Env is a set of default environment variables that will be applied to the build if the specified variables do not exist on the build", - "imageLabels": "ImageLabels is a list of docker labels that are applied to the resulting image. User can override a default label by providing a label with the same name in their Build/BuildConfig.", - "resources": "Resources defines resource requirements to execute the build.", - "registriesConfig": "RegistriesConfig controls the registries allowed for image pull and push.", + "defaultProxy": "DefaultProxy contains the default proxy settings for all build operations, including image pull/push and source download.\n\nValues can be overrode by setting the `HTTP_PROXY`, `HTTPS_PROXY`, and `NO_PROXY` environment variables in the build config's strategy.", + "gitProxy": "GitProxy contains the proxy settings for git operations only. If set, this will override any Proxy settings for all git commands, such as git clone.\n\nValues that are not set here will be inherited from DefaultProxy.", + "env": "Env is a set of default environment variables that will be applied to the build if the specified variables do not exist on the build", + "imageLabels": "ImageLabels is a list of docker labels that are applied to the resulting image. User can override a default label by providing a label with the same name in their Build/BuildConfig.", + "resources": "Resources defines resource requirements to execute the build.", } func (BuildDefaults) SwaggerDoc() map[string]string { @@ -374,17 +383,6 @@ func (ImageLabel) SwaggerDoc() map[string]string { return map_ImageLabel } -var map_RegistriesConfig = map[string]string{ - "searchRegistries": "SearchRegistries lists the registries to search for images if an image repository is not specified in an image pull spec.\n\nIf this is not set, builds will search Docker Hub (docker.io) when a repository is not specified. Setting this to an empty list will require all builds to fully qualify their image pull specs.", - "insecureRegistries": "InsecureRegistries are registries which do not have a valid SSL certificate or only support HTTP connections.", - "blockedRegistries": "BlockedRegistries are blacklisted from image pull/push. All other registries are allowed.\n\nOnly one of BlockedRegistries or AllowedRegistries may be set.", - "allowedRegistries": "AllowedRegistries are whitelisted for image pull/push. All other registries are blocked.\n\nOnly one of BlockedRegistries or AllowedRegistries may be set.", -} - -func (RegistriesConfig) SwaggerDoc() map[string]string { - return map_RegistriesConfig -} - var map_ClusterOperator = map[string]string{ "": "ClusterOperator is the Custom Resource object which holds the current state of an operator. This object is used by operators to convey their state to the rest of the cluster.", "spec": "spec hold the intent of how this operator should behave.", @@ -494,7 +492,7 @@ var map_ClusterVersionStatus = map[string]string{ "history": "history contains a list of the most recent versions applied to the cluster. This value may be empty during cluster startup, and then will be updated when a new update is being applied. The newest update is first in the list and it is ordered by recency. Updates in the history have state Completed if the rollout completed - if an update was failing or halfway applied the state will be Partial. Only a limited amount of update history is preserved.", "observedGeneration": "observedGeneration reports which version of the spec is being synced. If this value is not equal to metadata.generation, then the desired and conditions fields may represent from a previous version.", "versionHash": "versionHash is a fingerprint of the content that the cluster will be updated with. It is used by the operator to avoid unnecessary work and is for internal use only.", - "conditions": "conditions provides information about the cluster version. The condition \"Available\" is set to true if the desiredUpdate has been reached. The condition \"Progressing\" is set to true if an update is being applied. The condition \"Failing\" is set to true if an update is currently blocked by a temporary or permanent error. Conditions are only valid for the current desiredUpdate when metadata.generation is equal to status.generation.", + "conditions": "conditions provides information about the cluster version. The condition \"Available\" is set to true if the desiredUpdate has been reached. The condition \"Progressing\" is set to true if an update is being applied. The condition \"Degraded\" is set to true if an update is currently blocked by a temporary or permanent error. Conditions are only valid for the current desiredUpdate when metadata.generation is equal to status.generation.", "availableUpdates": "availableUpdates contains the list of updates that are appropriate for this cluster. This list may be empty if no updates are recommended, if the update service is unavailable, or if an invalid channel has been specified.", } @@ -519,6 +517,7 @@ var map_Update = map[string]string{ "": "Update represents a release of the ClusterVersionOperator, referenced by the Image member.", "version": "version is a semantic versioning identifying the update version. When this field is part of spec, version is optional if image is specified.", "image": "image is a container image location that contains the update. When this field is part of spec, image is optional if version is specified and the availableUpdates field contains a matching version.", + "force": "force allows an administrator to update to an image that has failed verification, does not appear in the availableUpdates list, or otherwise would be blocked by normal protections on update. This option should only be used when the authenticity of the provided image has been verified out of band because the provided image will run with full administrative access to the cluster. Do not use this flag with images that comes from unknown or potentially malicious sources.\n\nThis flag does not override other forms of consistency checking that are required before a new update is deployed.", } func (Update) SwaggerDoc() map[string]string { @@ -532,6 +531,7 @@ var map_UpdateHistory = map[string]string{ "completionTime": "completionTime, if set, is when the update was fully applied. The update that is currently being applied will have a null completion time. Completion time will always be set for entries that are not the current update (usually to the started time of the next update).", "version": "version is a semantic versioning identifying the update version. If the requested image does not define a version, or if a failure occurs retrieving the image, this value may be empty.", "image": "image is a container image location that contains the update. This value is always populated.", + "verified": "verified indicates whether the provided update was properly verified before it was installed. If this is false the cluster may not be trusted.", } func (UpdateHistory) SwaggerDoc() map[string]string { @@ -566,7 +566,7 @@ func (ConsoleList) SwaggerDoc() map[string]string { } var map_ConsoleStatus = map[string]string{ - "publicHostname": "The hostname for the console. This will match the host for the route that is created for the console.", + "consoleURL": "The URL for the console. This will be derived from the host for the route that is created for the console.", } func (ConsoleStatus) SwaggerDoc() map[string]string { @@ -593,13 +593,52 @@ func (DNSList) SwaggerDoc() map[string]string { } var map_DNSSpec = map[string]string{ - "baseDomain": "baseDomain is the base domain of the cluster. All managed DNS records will be sub-domains of this base.\n\nFor example, given the base domain `openshift.example.com`, an API server DNS record may be created for `cluster-api.openshift.example.com`.", + "baseDomain": "baseDomain is the base domain of the cluster. All managed DNS records will be sub-domains of this base.\n\nFor example, given the base domain `openshift.example.com`, an API server DNS record may be created for `cluster-api.openshift.example.com`.", + "publicZone": "publicZone is the location where all the DNS records that are publicly accessible to the internet exist. If this field is nil, no public records should be created.", + "privateZone": "privateZone is the location where all the DNS records that are only available internally to the cluster exist. If this field is nil, no private records should be created.", } func (DNSSpec) SwaggerDoc() map[string]string { return map_DNSSpec } +var map_DNSZone = map[string]string{ + "": "DNSZone is used to define a DNS hosted zone. A zone can be identified by an ID or tags.", + "id": "id is the identifier that can be used to find the DNS hosted zone.\n\non AWS zone can be fetched using `ID` as id in [1] on Azure zone can be fetched using `ID` as a pre-determined name in [2], on GCP zone can be fetched using `ID` as a pre-determined name in [3].\n\n[1]: https://docs.aws.amazon.com/cli/latest/reference/route53/get-hosted-zone.html#options [2]: https://docs.microsoft.com/en-us/cli/azure/network/dns/zone?view=azure-cli-latest#az-network-dns-zone-show [3]: https://cloud.google.com/dns/docs/reference/v1/managedZones/get", + "tags": "tags can be used to query the DNS hosted zone.\n\non AWS, resourcegroupstaggingapi [1] can be used to fetch a zone using `Tags` as tag-filters,\n\n[1]: https://docs.aws.amazon.com/cli/latest/reference/resourcegroupstaggingapi/get-resources.html#options", +} + +func (DNSZone) SwaggerDoc() map[string]string { + return map_DNSZone +} + +var map_FeatureGate = map[string]string{ + "": "Feature holds cluster-wide information about feature gates. The canonical name is `cluster`", + "metadata": "Standard object's metadata.", + "spec": "spec holds user settable values for configuration", + "status": "status holds observed values from the cluster. They may not be overridden.", +} + +func (FeatureGate) SwaggerDoc() map[string]string { + return map_FeatureGate +} + +var map_FeatureGateList = map[string]string{ + "metadata": "Standard object's metadata.", +} + +func (FeatureGateList) SwaggerDoc() map[string]string { + return map_FeatureGateList +} + +var map_FeatureGateSpec = map[string]string{ + "featureSet": "featureSet changes the list of features in the cluster. The default is empty. Be very careful adjusting this setting. Turning on or off features may cause irreversible changes in your cluster which cannot be undone.", +} + +func (FeatureGateSpec) SwaggerDoc() map[string]string { + return map_FeatureGateSpec +} + var map_Image = map[string]string{ "": "Image holds cluster-wide information about how to handle images. The canonical name is `cluster`", "metadata": "Standard object's metadata.", @@ -622,7 +661,8 @@ func (ImageList) SwaggerDoc() map[string]string { var map_ImageSpec = map[string]string{ "allowedRegistriesForImport": "AllowedRegistriesForImport limits the container image registries that normal users may import images from. Set this list to the registries that you trust to contain valid Docker images and that you want applications to be able to import from. Users with permission to create Images or ImageStreamMappings via the API are not affected by this policy - typically only administrators or system integrations will have those permissions.", "externalRegistryHostnames": "externalRegistryHostnames provides the hostnames for the default external image registry. The external hostname should be set only when the image registry is exposed externally. The first value is used in 'publicDockerImageRepository' field in ImageStreams. The value must be in \"hostname[:port]\" format.", - "additionalTrustedCA": "AdditionalTrustedCA is a reference to a ConfigMap containing additional CAs that should be trusted during imagestream import. The namespace for this config map is openshift-config.", + "additionalTrustedCA": "AdditionalTrustedCA is a reference to a ConfigMap containing additional CAs that should be trusted during imagestream import, pod image pull, and imageregistry pullthrough. The namespace for this config map is openshift-config.", + "registrySources": "RegistrySources contains configuration that determines how the container runtime should treat individual registries when accessing images for builds+pods. (e.g. whether or not to allow insecure access). It does not contain configuration for the internal cluster registry.", } func (ImageSpec) SwaggerDoc() map[string]string { @@ -648,6 +688,17 @@ func (RegistryLocation) SwaggerDoc() map[string]string { return map_RegistryLocation } +var map_RegistrySources = map[string]string{ + "": "RegistrySources holds cluster-wide information about how to handle the registries config.", + "insecureRegistries": "InsecureRegistries are registries which do not have a valid SSL certificate or only support HTTP connections.", + "blockedRegistries": "BlockedRegistries are blacklisted from image pull/push. All other registries are allowed.\n\nOnly one of BlockedRegistries or AllowedRegistries may be set.", + "allowedRegistries": "AllowedRegistries are whitelisted for image pull/push. All other registries are blocked.\n\nOnly one of BlockedRegistries or AllowedRegistries may be set.", +} + +func (RegistrySources) SwaggerDoc() map[string]string { + return map_RegistrySources +} + var map_Infrastructure = map[string]string{ "": "Infrastructure holds cluster-wide information about Infrastructure. The canonical name is `cluster`", "metadata": "Standard object's metadata.", @@ -669,7 +720,8 @@ func (InfrastructureList) SwaggerDoc() map[string]string { } var map_InfrastructureSpec = map[string]string{ - "": "InfrastructureSpec contains settings that apply to the cluster infrastructure.", + "": "InfrastructureSpec contains settings that apply to the cluster infrastructure.", + "cloudConfig": "cloudConfig is a reference to a ConfigMap containing the cloud provider configuration file. This configuration file is used to configure the Kubernetes cloud provider integration when using the built-in cloud provider integration or the external cloud controller manager. The namespace for this config map is openshift-config.", } func (InfrastructureSpec) SwaggerDoc() map[string]string { @@ -678,7 +730,8 @@ func (InfrastructureSpec) SwaggerDoc() map[string]string { var map_InfrastructureStatus = map[string]string{ "": "InfrastructureStatus describes the infrastructure the cluster is leveraging.", - "platform": "platform is the underlying infrastructure provider for the cluster. This value controls whether infrastructure automation such as service load balancers, dynamic volume provisioning, machine creation and deletion, and other integrations are enabled. If None, no infrastructure automation is enabled. Allowed values are \"AWS\", \"Azure\", \"GCP\", \"Libvirt\", \"OpenStack\", \"VSphere\", and \"None\". Individual components may not support all platforms, and must handle unrecognized platforms as None if they do not support that platform.", + "infrastructureName": "infrastructureName uniquely identifies a cluster with a human friendly name. Once set it should not be changed. Must be of max length 27 and must have only alphanumeric or hyphen characters.", + "platform": "platform is the underlying infrastructure provider for the cluster. This value controls whether infrastructure automation such as service load balancers, dynamic volume provisioning, machine creation and deletion, and other integrations are enabled. If None, no infrastructure automation is enabled. Allowed values are \"AWS\", \"Azure\", \"BareMetal\", \"GCP\", \"Libvirt\", \"OpenStack\", \"VSphere\", and \"None\". Individual components may not support all platforms, and must handle unrecognized platforms as None if they do not support that platform.", "etcdDiscoveryDomain": "etcdDiscoveryDomain is the domain used to fetch the SRV records for discovering etcd servers and clients. For more info: https://github.com/etcd-io/etcd/blob/329be66e8b3f9e2e6af83c123ff89297e49ebd15/Documentation/op-guide/clustering.md#dns-discovery", "apiServerURL": "apiServerURL is a valid URL with scheme(http/https), address and port. apiServerURL can be used by components like kubelet on machines, to contact the `apisever` using the infrastructure provider rather than the kubernetes networking.", } @@ -823,8 +876,6 @@ func (HTPasswdIdentityProvider) SwaggerDoc() map[string]string { var map_IdentityProvider = map[string]string{ "": "IdentityProvider provides identities for users authenticating using credentials", "name": "name is used to qualify the identities returned by this provider. - It MUST be unique and not shared by any other identity provider used - It MUST be a valid path segment: name cannot equal \".\" or \"..\" or contain \"/\" or \"%\" or \":\"\n Ref: https://godoc.org/github.com/openshift/origin/pkg/user/apis/user/validation#ValidateIdentityProviderName", - "challenge": "challenge indicates whether to issue WWW-Authenticate challenges for this provider", - "login": "login indicates whether to use this identity provider for unauthenticated browsers to login against", "mappingMethod": "mappingMethod determines how identities from this provider are mapped to users Defaults to \"claim\"", } @@ -953,25 +1004,14 @@ var map_OpenIDIdentityProvider = map[string]string{ "ca": "ca is an optional reference to a config map by name containing the PEM-encoded CA bundle. It is used as a trust anchor to validate the TLS certificate presented by the remote server. The key \"ca.crt\" is used to locate the data. If specified and the config map or expected key is not found, the identity provider is not honored. If the specified ca data is not valid, the identity provider is not honored. If empty, the default system roots are used. The namespace for this config map is openshift-config.", "extraScopes": "extraScopes are any scopes to request in addition to the standard \"openid\" scope.", "extraAuthorizeParameters": "extraAuthorizeParameters are any custom parameters to add to the authorize request.", - "urls": "urls to use to authenticate", - "claims": "claims mappings", + "issuer": "issuer is the URL that the OpenID Provider asserts as its Issuer Identifier. It must use the https scheme with no query or fragment component.", + "claims": "claims mappings", } func (OpenIDIdentityProvider) SwaggerDoc() map[string]string { return map_OpenIDIdentityProvider } -var map_OpenIDURLs = map[string]string{ - "": "OpenIDURLs are URLs to use when authenticating with an OpenID identity provider", - "authorize": "authorize is the oauth authorization URL", - "token": "token is the oauth token granting URL", - "userInfo": "userInfo is the optional userinfo URL. If present, a granted access_token is used to request claims If empty, a granted id_token is parsed for claims", -} - -func (OpenIDURLs) SwaggerDoc() map[string]string { - return map_OpenIDURLs -} - var map_RequestHeaderIdentityProvider = map[string]string{ "": "RequestHeaderIdentityProvider provides identities for users authenticating using request header credentials", "loginURL": "loginURL is a URL to redirect unauthenticated /authorize requests to Unauthenticated requests from OAuth clients which expect interactive logins will be redirected here ${url} is replaced with the current URL, escaped to be safe in a query parameter\n https://www.example.com/sso-login?then=${url}\n${query} is replaced with the current query string\n https://www.example.com/auth-proxy/oauth/authorize?${query}\nRequired when login is set to true.", @@ -989,7 +1029,7 @@ func (RequestHeaderIdentityProvider) SwaggerDoc() map[string]string { } var map_TokenConfig = map[string]string{ - "": "TokenConfig holds the necessary configuration options for authorization and access tokens", + "": "TokenConfig holds the necessary configuration options for authorization and access tokens", "accessTokenMaxAgeSeconds": "accessTokenMaxAgeSeconds defines the maximum age of access tokens", "accessTokenInactivityTimeoutSeconds": "accessTokenInactivityTimeoutSeconds defines the default token inactivity timeout for tokens granted by any client. The value represents the maximum amount of time that can occur between consecutive uses of the token. Tokens become invalid if they are not used within this temporal window. The user will need to acquire a new token to regain access once a token times out. Valid values are integer values:\n x < 0 Tokens time out is enabled but tokens never timeout unless configured per client (e.g. `-1`)\n x = 0 Tokens time out is disabled (default)\n x > 0 Tokens time out if there is no activity for x seconds\nThe current minimum allowed value for X is 300 (5 minutes)", } @@ -1018,7 +1058,7 @@ func (ProjectList) SwaggerDoc() map[string]string { } var map_ProjectSpec = map[string]string{ - "": "ProjectSpec holds the project creation configuration.", + "": "ProjectSpec holds the project creation configuration.", "projectRequestMessage": "projectRequestMessage is the string presented to a user if they are unable to request a project via the projectrequest api endpoint", "projectRequestTemplate": "projectRequestTemplate is the template to use for creating projects in response to projectrequest. This must point to a template in 'openshift-config' namespace. It is optional. If it is not specified, a default template is used.", } @@ -1063,31 +1103,32 @@ func (ProxySpec) SwaggerDoc() map[string]string { return map_ProxySpec } -var map_Scheduling = map[string]string{ - "": "Scheduling holds cluster-wide information about Scheduling. The canonical name is `cluster`", +var map_Scheduler = map[string]string{ + "": "Scheduler holds cluster-wide information about Scheduler. The canonical name is `cluster`", "metadata": "Standard object's metadata.", "spec": "spec holds user settable values for configuration", "status": "status holds observed values from the cluster. They may not be overridden.", } -func (Scheduling) SwaggerDoc() map[string]string { - return map_Scheduling +func (Scheduler) SwaggerDoc() map[string]string { + return map_Scheduler } -var map_SchedulingList = map[string]string{ +var map_SchedulerList = map[string]string{ "metadata": "Standard object's metadata.", } -func (SchedulingList) SwaggerDoc() map[string]string { - return map_SchedulingList +func (SchedulerList) SwaggerDoc() map[string]string { + return map_SchedulerList } -var map_SchedulingSpec = map[string]string{ - "policy": "policy is a reference to a ConfigMap containing scheduler policy which has user specified predicates and priorities. If this ConfigMap is not available scheduler will default to use DefaultAlgorithmProvider. The namespace for this configmap is openshift-config.", +var map_SchedulerSpec = map[string]string{ + "policy": "policy is a reference to a ConfigMap containing scheduler policy which has user specified predicates and priorities. If this ConfigMap is not available scheduler will default to use DefaultAlgorithmProvider. The namespace for this configmap is openshift-config.", + "defaultNodeSelector": "defaultNodeSelector helps set the cluster-wide default node selector to restrict pod placement to specific nodes. This is applied to the pods created in all namespaces without a specified nodeSelector value. For example, defaultNodeSelector: \"type=user-node,region=east\" would set nodeSelector field in pod spec to \"type=user-node,region=east\" to all pods created in all namespaces. Namespaces having project-wide node selectors won't be impacted even if this field is set. This adds an annotation section to the namespace. For example, if a new namespace is created with node-selector='type=user-node,region=east', the annotation openshift.io/node-selector: type=user-node,region=east gets added to the project. When the openshift.io/node-selector annotation is set on the project the value is used in preference to the value we are setting for defaultNodeSelector field. For instance, openshift.io/node-selector: \"type=user-node,region=west\" means that the default of \"type=user-node,region=east\" set in defaultNodeSelector would not be applied.", } -func (SchedulingSpec) SwaggerDoc() map[string]string { - return map_SchedulingSpec +func (SchedulerSpec) SwaggerDoc() map[string]string { + return map_SchedulerSpec } // AUTO-GENERATED FUNCTIONS END HERE