mirror of https://github.com/k3s-io/k3s
promote certificates.k8s.io to beta
parent
80f3e93b9a
commit
96c146c8f2
|
@ -28,7 +28,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
func startCSRController(ctx ControllerContext) (bool, error) {
|
func startCSRController(ctx ControllerContext) (bool, error) {
|
||||||
if !ctx.AvailableResources[schema.GroupVersionResource{Group: "certificates.k8s.io", Version: "v1alpha1", Resource: "certificatesigningrequests"}] {
|
if !ctx.AvailableResources[schema.GroupVersionResource{Group: "certificates.k8s.io", Version: "v1beta1", Resource: "certificatesigningrequests"}] {
|
||||||
return false, nil
|
return false, nil
|
||||||
}
|
}
|
||||||
resyncPeriod := ResyncPeriod(&ctx.Options)()
|
resyncPeriod := ResyncPeriod(&ctx.Options)()
|
||||||
|
|
|
@ -27,7 +27,7 @@ import (
|
||||||
|
|
||||||
"k8s.io/apimachinery/pkg/types"
|
"k8s.io/apimachinery/pkg/types"
|
||||||
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
|
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
|
||||||
unversionedcertificates "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/certificates/v1alpha1"
|
certificates "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/certificates/v1beta1"
|
||||||
"k8s.io/kubernetes/pkg/client/restclient"
|
"k8s.io/kubernetes/pkg/client/restclient"
|
||||||
"k8s.io/kubernetes/pkg/client/unversioned/clientcmd"
|
"k8s.io/kubernetes/pkg/client/unversioned/clientcmd"
|
||||||
"k8s.io/kubernetes/pkg/kubelet/util/csr"
|
"k8s.io/kubernetes/pkg/kubelet/util/csr"
|
||||||
|
@ -62,7 +62,7 @@ func bootstrapClientCert(kubeconfigPath string, bootstrapPath string, certDir st
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("unable to load bootstrap kubeconfig: %v", err)
|
return fmt.Errorf("unable to load bootstrap kubeconfig: %v", err)
|
||||||
}
|
}
|
||||||
bootstrapClient, err := unversionedcertificates.NewForConfig(bootstrapClientConfig)
|
bootstrapClient, err := certificates.NewForConfig(bootstrapClientConfig)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("unable to create certificates signing request client: %v", err)
|
return fmt.Errorf("unable to create certificates signing request client: %v", err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -79,7 +79,7 @@ func New() *Generator {
|
||||||
`k8s.io/kubernetes/pkg/apis/rbac/v1alpha1`,
|
`k8s.io/kubernetes/pkg/apis/rbac/v1alpha1`,
|
||||||
`k8s.io/kubernetes/pkg/apis/rbac/v1beta1`,
|
`k8s.io/kubernetes/pkg/apis/rbac/v1beta1`,
|
||||||
`k8s.io/kubernetes/federation/apis/federation/v1beta1`,
|
`k8s.io/kubernetes/federation/apis/federation/v1beta1`,
|
||||||
`k8s.io/kubernetes/pkg/apis/certificates/v1alpha1`,
|
`k8s.io/kubernetes/pkg/apis/certificates/v1beta1`,
|
||||||
`k8s.io/kubernetes/pkg/apis/imagepolicy/v1alpha1`,
|
`k8s.io/kubernetes/pkg/apis/imagepolicy/v1alpha1`,
|
||||||
`k8s.io/kubernetes/pkg/apis/storage/v1beta1`,
|
`k8s.io/kubernetes/pkg/apis/storage/v1beta1`,
|
||||||
}, ","),
|
}, ","),
|
||||||
|
|
|
@ -59,7 +59,7 @@ authorization.k8s.io/v1beta1 \
|
||||||
autoscaling/v1 \
|
autoscaling/v1 \
|
||||||
batch/v1 \
|
batch/v1 \
|
||||||
batch/v2alpha1 \
|
batch/v2alpha1 \
|
||||||
certificates.k8s.io/v1alpha1 \
|
certificates.k8s.io/v1beta1 \
|
||||||
extensions/v1beta1 \
|
extensions/v1beta1 \
|
||||||
imagepolicy.k8s.io/v1alpha1 \
|
imagepolicy.k8s.io/v1alpha1 \
|
||||||
policy/v1beta1 \
|
policy/v1beta1 \
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
apiVersion: certificates.k8s.io/v1alpha1
|
apiVersion: certificates.k8s.io/v1beta1
|
||||||
kind: CertificateSigningRequest
|
kind: CertificateSigningRequest
|
||||||
metadata:
|
metadata:
|
||||||
name: foo
|
name: foo
|
||||||
|
|
|
@ -54,49 +54,49 @@ func TestVerifyDefaulting(t *testing.T) {
|
||||||
func TestDefaulting(t *testing.T) {
|
func TestDefaulting(t *testing.T) {
|
||||||
// these are the known types with defaulters - you must add to this list if you add a top level defaulter
|
// these are the known types with defaulters - you must add to this list if you add a top level defaulter
|
||||||
typesWithDefaulting := map[schema.GroupVersionKind]struct{}{
|
typesWithDefaulting := map[schema.GroupVersionKind]struct{}{
|
||||||
{Group: "", Version: "v1", Kind: "ConfigMap"}: {},
|
{Group: "", Version: "v1", Kind: "ConfigMap"}: {},
|
||||||
{Group: "", Version: "v1", Kind: "ConfigMapList"}: {},
|
{Group: "", Version: "v1", Kind: "ConfigMapList"}: {},
|
||||||
{Group: "", Version: "v1", Kind: "Endpoints"}: {},
|
{Group: "", Version: "v1", Kind: "Endpoints"}: {},
|
||||||
{Group: "", Version: "v1", Kind: "EndpointsList"}: {},
|
{Group: "", Version: "v1", Kind: "EndpointsList"}: {},
|
||||||
{Group: "", Version: "v1", Kind: "Namespace"}: {},
|
{Group: "", Version: "v1", Kind: "Namespace"}: {},
|
||||||
{Group: "", Version: "v1", Kind: "NamespaceList"}: {},
|
{Group: "", Version: "v1", Kind: "NamespaceList"}: {},
|
||||||
{Group: "", Version: "v1", Kind: "Node"}: {},
|
{Group: "", Version: "v1", Kind: "Node"}: {},
|
||||||
{Group: "", Version: "v1", Kind: "NodeList"}: {},
|
{Group: "", Version: "v1", Kind: "NodeList"}: {},
|
||||||
{Group: "", Version: "v1", Kind: "PersistentVolume"}: {},
|
{Group: "", Version: "v1", Kind: "PersistentVolume"}: {},
|
||||||
{Group: "", Version: "v1", Kind: "PersistentVolumeList"}: {},
|
{Group: "", Version: "v1", Kind: "PersistentVolumeList"}: {},
|
||||||
{Group: "", Version: "v1", Kind: "PersistentVolumeClaim"}: {},
|
{Group: "", Version: "v1", Kind: "PersistentVolumeClaim"}: {},
|
||||||
{Group: "", Version: "v1", Kind: "PersistentVolumeClaimList"}: {},
|
{Group: "", Version: "v1", Kind: "PersistentVolumeClaimList"}: {},
|
||||||
{Group: "", Version: "v1", Kind: "PodAttachOptions"}: {},
|
{Group: "", Version: "v1", Kind: "PodAttachOptions"}: {},
|
||||||
{Group: "", Version: "v1", Kind: "PodExecOptions"}: {},
|
{Group: "", Version: "v1", Kind: "PodExecOptions"}: {},
|
||||||
{Group: "", Version: "v1", Kind: "Pod"}: {},
|
{Group: "", Version: "v1", Kind: "Pod"}: {},
|
||||||
{Group: "", Version: "v1", Kind: "PodList"}: {},
|
{Group: "", Version: "v1", Kind: "PodList"}: {},
|
||||||
{Group: "", Version: "v1", Kind: "PodTemplate"}: {},
|
{Group: "", Version: "v1", Kind: "PodTemplate"}: {},
|
||||||
{Group: "", Version: "v1", Kind: "PodTemplateList"}: {},
|
{Group: "", Version: "v1", Kind: "PodTemplateList"}: {},
|
||||||
{Group: "", Version: "v1", Kind: "ReplicationController"}: {},
|
{Group: "", Version: "v1", Kind: "ReplicationController"}: {},
|
||||||
{Group: "", Version: "v1", Kind: "ReplicationControllerList"}: {},
|
{Group: "", Version: "v1", Kind: "ReplicationControllerList"}: {},
|
||||||
{Group: "", Version: "v1", Kind: "Secret"}: {},
|
{Group: "", Version: "v1", Kind: "Secret"}: {},
|
||||||
{Group: "", Version: "v1", Kind: "SecretList"}: {},
|
{Group: "", Version: "v1", Kind: "SecretList"}: {},
|
||||||
{Group: "", Version: "v1", Kind: "Service"}: {},
|
{Group: "", Version: "v1", Kind: "Service"}: {},
|
||||||
{Group: "", Version: "v1", Kind: "ServiceList"}: {},
|
{Group: "", Version: "v1", Kind: "ServiceList"}: {},
|
||||||
{Group: "apps", Version: "v1beta1", Kind: "StatefulSet"}: {},
|
{Group: "apps", Version: "v1beta1", Kind: "StatefulSet"}: {},
|
||||||
{Group: "apps", Version: "v1beta1", Kind: "StatefulSetList"}: {},
|
{Group: "apps", Version: "v1beta1", Kind: "StatefulSetList"}: {},
|
||||||
{Group: "autoscaling", Version: "v1", Kind: "HorizontalPodAutoscaler"}: {},
|
{Group: "autoscaling", Version: "v1", Kind: "HorizontalPodAutoscaler"}: {},
|
||||||
{Group: "autoscaling", Version: "v1", Kind: "HorizontalPodAutoscalerList"}: {},
|
{Group: "autoscaling", Version: "v1", Kind: "HorizontalPodAutoscalerList"}: {},
|
||||||
{Group: "batch", Version: "v1", Kind: "Job"}: {},
|
{Group: "batch", Version: "v1", Kind: "Job"}: {},
|
||||||
{Group: "batch", Version: "v1", Kind: "JobList"}: {},
|
{Group: "batch", Version: "v1", Kind: "JobList"}: {},
|
||||||
{Group: "batch", Version: "v2alpha1", Kind: "CronJob"}: {},
|
{Group: "batch", Version: "v2alpha1", Kind: "CronJob"}: {},
|
||||||
{Group: "batch", Version: "v2alpha1", Kind: "CronJobList"}: {},
|
{Group: "batch", Version: "v2alpha1", Kind: "CronJobList"}: {},
|
||||||
{Group: "batch", Version: "v2alpha1", Kind: "Job"}: {},
|
{Group: "batch", Version: "v2alpha1", Kind: "Job"}: {},
|
||||||
{Group: "batch", Version: "v2alpha1", Kind: "JobList"}: {},
|
{Group: "batch", Version: "v2alpha1", Kind: "JobList"}: {},
|
||||||
{Group: "batch", Version: "v2alpha1", Kind: "JobTemplate"}: {},
|
{Group: "batch", Version: "v2alpha1", Kind: "JobTemplate"}: {},
|
||||||
{Group: "batch", Version: "v2alpha1", Kind: "ScheduledJob"}: {},
|
{Group: "batch", Version: "v2alpha1", Kind: "ScheduledJob"}: {},
|
||||||
{Group: "batch", Version: "v2alpha1", Kind: "ScheduledJobList"}: {},
|
{Group: "batch", Version: "v2alpha1", Kind: "ScheduledJobList"}: {},
|
||||||
{Group: "certificates.k8s.io", Version: "v1alpha1", Kind: "CertificateSigningRequest"}: {},
|
{Group: "certificates.k8s.io", Version: "v1beta1", Kind: "CertificateSigningRequest"}: {},
|
||||||
{Group: "certificates.k8s.io", Version: "v1alpha1", Kind: "CertificateSigningRequestList"}: {},
|
{Group: "certificates.k8s.io", Version: "v1beta1", Kind: "CertificateSigningRequestList"}: {},
|
||||||
{Group: "componentconfig", Version: "v1alpha1", Kind: "KubeProxyConfiguration"}: {},
|
{Group: "componentconfig", Version: "v1alpha1", Kind: "KubeProxyConfiguration"}: {},
|
||||||
{Group: "componentconfig", Version: "v1alpha1", Kind: "KubeSchedulerConfiguration"}: {},
|
{Group: "componentconfig", Version: "v1alpha1", Kind: "KubeSchedulerConfiguration"}: {},
|
||||||
{Group: "componentconfig", Version: "v1alpha1", Kind: "KubeletConfiguration"}: {},
|
{Group: "componentconfig", Version: "v1alpha1", Kind: "KubeletConfiguration"}: {},
|
||||||
{Group: "kubeadm.k8s.io", Version: "v1alpha1", Kind: "MasterConfiguration"}: {},
|
{Group: "kubeadm.k8s.io", Version: "v1alpha1", Kind: "MasterConfiguration"}: {},
|
||||||
// This object contains only int fields which currently breaks the defaulting test because
|
// This object contains only int fields which currently breaks the defaulting test because
|
||||||
// it's pretty stupid. Once we add non integer fields, we should uncomment this.
|
// it's pretty stupid. Once we add non integer fields, we should uncomment this.
|
||||||
// {Group: "kubeadm.k8s.io", Version: "v1alpha1", Kind: "NodeConfiguration"}: {},
|
// {Group: "kubeadm.k8s.io", Version: "v1alpha1", Kind: "NodeConfiguration"}: {},
|
||||||
|
|
|
@ -22,20 +22,20 @@ import (
|
||||||
"k8s.io/apimachinery/pkg/util/sets"
|
"k8s.io/apimachinery/pkg/util/sets"
|
||||||
"k8s.io/kubernetes/pkg/apimachinery/announced"
|
"k8s.io/kubernetes/pkg/apimachinery/announced"
|
||||||
"k8s.io/kubernetes/pkg/apis/certificates"
|
"k8s.io/kubernetes/pkg/apis/certificates"
|
||||||
"k8s.io/kubernetes/pkg/apis/certificates/v1alpha1"
|
"k8s.io/kubernetes/pkg/apis/certificates/v1beta1"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
if err := announced.NewGroupMetaFactory(
|
if err := announced.NewGroupMetaFactory(
|
||||||
&announced.GroupMetaFactoryArgs{
|
&announced.GroupMetaFactoryArgs{
|
||||||
GroupName: certificates.GroupName,
|
GroupName: certificates.GroupName,
|
||||||
VersionPreferenceOrder: []string{v1alpha1.SchemeGroupVersion.Version},
|
VersionPreferenceOrder: []string{v1beta1.SchemeGroupVersion.Version},
|
||||||
ImportPrefix: "k8s.io/kubernetes/pkg/apis/certificates",
|
ImportPrefix: "k8s.io/kubernetes/pkg/apis/certificates",
|
||||||
RootScopedKinds: sets.NewString("CertificateSigningRequest"),
|
RootScopedKinds: sets.NewString("CertificateSigningRequest"),
|
||||||
AddInternalObjectsToScheme: certificates.AddToScheme,
|
AddInternalObjectsToScheme: certificates.AddToScheme,
|
||||||
},
|
},
|
||||||
announced.VersionToSchemeFunc{
|
announced.VersionToSchemeFunc{
|
||||||
v1alpha1.SchemeGroupVersion.Version: v1alpha1.AddToScheme,
|
v1beta1.SchemeGroupVersion.Version: v1beta1.AddToScheme,
|
||||||
},
|
},
|
||||||
).Announce().RegisterAndEnable(); err != nil {
|
).Announce().RegisterAndEnable(); err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
|
|
|
@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package v1alpha1
|
package v1beta1
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
|
@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package v1alpha1
|
package v1beta1
|
||||||
|
|
||||||
import "k8s.io/apimachinery/pkg/runtime"
|
import "k8s.io/apimachinery/pkg/runtime"
|
||||||
|
|
|
@ -20,4 +20,4 @@ limitations under the License.
|
||||||
// +k8s:defaulter-gen=TypeMeta
|
// +k8s:defaulter-gen=TypeMeta
|
||||||
|
|
||||||
// +groupName=certificates.k8s.io
|
// +groupName=certificates.k8s.io
|
||||||
package v1alpha1 // import "k8s.io/kubernetes/pkg/apis/certificates/v1alpha1"
|
package v1beta1 // import "k8s.io/kubernetes/pkg/apis/certificates/v1beta1"
|
|
@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package v1alpha1
|
package v1beta1
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"crypto/x509"
|
"crypto/x509"
|
|
@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package v1alpha1
|
package v1beta1
|
||||||
|
|
||||||
import (
|
import (
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
|
@ -27,7 +27,7 @@ import (
|
||||||
const GroupName = "certificates.k8s.io"
|
const GroupName = "certificates.k8s.io"
|
||||||
|
|
||||||
// SchemeGroupVersion is group version used to register these objects
|
// SchemeGroupVersion is group version used to register these objects
|
||||||
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}
|
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1beta1"}
|
||||||
|
|
||||||
// Kind takes an unqualified kind and returns a Group qualified GroupKind
|
// Kind takes an unqualified kind and returns a Group qualified GroupKind
|
||||||
func Kind(kind string) schema.GroupKind {
|
func Kind(kind string) schema.GroupKind {
|
|
@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package v1alpha1
|
package v1beta1
|
||||||
|
|
||||||
import (
|
import (
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
|
@ -22,8 +22,8 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
||||||
certificates "k8s.io/kubernetes/pkg/apis/certificates/v1alpha1"
|
certificates "k8s.io/kubernetes/pkg/apis/certificates/v1beta1"
|
||||||
clientcertificates "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/certificates/v1alpha1"
|
clientcertificates "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/certificates/v1beta1"
|
||||||
)
|
)
|
||||||
|
|
||||||
// groupApprover implements AutoApprover for signing Kubelet certificates.
|
// groupApprover implements AutoApprover for signing Kubelet certificates.
|
||||||
|
|
|
@ -25,8 +25,8 @@ import (
|
||||||
"k8s.io/apimachinery/pkg/types"
|
"k8s.io/apimachinery/pkg/types"
|
||||||
"k8s.io/apimachinery/pkg/watch"
|
"k8s.io/apimachinery/pkg/watch"
|
||||||
"k8s.io/kubernetes/pkg/api/v1"
|
"k8s.io/kubernetes/pkg/api/v1"
|
||||||
certificates "k8s.io/kubernetes/pkg/apis/certificates/v1alpha1"
|
certificates "k8s.io/kubernetes/pkg/apis/certificates/v1beta1"
|
||||||
unversionedcertificates "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/certificates/v1alpha1"
|
certificatesclient "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/certificates/v1beta1"
|
||||||
certutil "k8s.io/kubernetes/pkg/util/cert"
|
certutil "k8s.io/kubernetes/pkg/util/cert"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ import (
|
||||||
// then it will watch the object's status, once approved by API server, it will return the API
|
// then it will watch the object's status, once approved by API server, it will return the API
|
||||||
// server's issued certificate (pem-encoded). If there is any errors, or the watch timeouts,
|
// server's issued certificate (pem-encoded). If there is any errors, or the watch timeouts,
|
||||||
// it will return an error. This is intended for use on nodes (kubelet and kubeadm).
|
// it will return an error. This is intended for use on nodes (kubelet and kubeadm).
|
||||||
func RequestNodeCertificate(client unversionedcertificates.CertificateSigningRequestInterface, privateKeyData []byte, nodeName types.NodeName) (certData []byte, err error) {
|
func RequestNodeCertificate(client certificatesclient.CertificateSigningRequestInterface, privateKeyData []byte, nodeName types.NodeName) (certData []byte, err error) {
|
||||||
subject := &pkix.Name{
|
subject := &pkix.Name{
|
||||||
Organization: []string{"system:nodes"},
|
Organization: []string{"system:nodes"},
|
||||||
CommonName: fmt.Sprintf("system:node:%s", nodeName),
|
CommonName: fmt.Sprintf("system:node:%s", nodeName),
|
||||||
|
|
|
@ -35,7 +35,7 @@ import (
|
||||||
authorizationapiv1beta1 "k8s.io/kubernetes/pkg/apis/authorization/v1beta1"
|
authorizationapiv1beta1 "k8s.io/kubernetes/pkg/apis/authorization/v1beta1"
|
||||||
autoscalingapiv1 "k8s.io/kubernetes/pkg/apis/autoscaling/v1"
|
autoscalingapiv1 "k8s.io/kubernetes/pkg/apis/autoscaling/v1"
|
||||||
batchapiv1 "k8s.io/kubernetes/pkg/apis/batch/v1"
|
batchapiv1 "k8s.io/kubernetes/pkg/apis/batch/v1"
|
||||||
certificatesapiv1alpha1 "k8s.io/kubernetes/pkg/apis/certificates/v1alpha1"
|
certificatesapiv1beta1 "k8s.io/kubernetes/pkg/apis/certificates/v1beta1"
|
||||||
extensionsapiv1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
|
extensionsapiv1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
|
||||||
policyapiv1beta1 "k8s.io/kubernetes/pkg/apis/policy/v1beta1"
|
policyapiv1beta1 "k8s.io/kubernetes/pkg/apis/policy/v1beta1"
|
||||||
rbacapi "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1"
|
rbacapi "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1"
|
||||||
|
@ -397,7 +397,7 @@ func DefaultAPIResourceConfigSource() *genericapiserver.ResourceConfig {
|
||||||
rbacv1beta1.SchemeGroupVersion,
|
rbacv1beta1.SchemeGroupVersion,
|
||||||
rbacapi.SchemeGroupVersion,
|
rbacapi.SchemeGroupVersion,
|
||||||
storageapiv1beta1.SchemeGroupVersion,
|
storageapiv1beta1.SchemeGroupVersion,
|
||||||
certificatesapiv1alpha1.SchemeGroupVersion,
|
certificatesapiv1beta1.SchemeGroupVersion,
|
||||||
authorizationapiv1beta1.SchemeGroupVersion,
|
authorizationapiv1beta1.SchemeGroupVersion,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@ package rest
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"k8s.io/kubernetes/pkg/apis/certificates"
|
"k8s.io/kubernetes/pkg/apis/certificates"
|
||||||
certificatesapiv1alpha1 "k8s.io/kubernetes/pkg/apis/certificates/v1alpha1"
|
certificatesapiv1beta1 "k8s.io/kubernetes/pkg/apis/certificates/v1beta1"
|
||||||
"k8s.io/kubernetes/pkg/genericapiserver/registry/generic"
|
"k8s.io/kubernetes/pkg/genericapiserver/registry/generic"
|
||||||
"k8s.io/kubernetes/pkg/genericapiserver/registry/rest"
|
"k8s.io/kubernetes/pkg/genericapiserver/registry/rest"
|
||||||
genericapiserver "k8s.io/kubernetes/pkg/genericapiserver/server"
|
genericapiserver "k8s.io/kubernetes/pkg/genericapiserver/server"
|
||||||
|
@ -30,16 +30,16 @@ type RESTStorageProvider struct{}
|
||||||
func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) {
|
func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) {
|
||||||
apiGroupInfo := genericapiserver.NewDefaultAPIGroupInfo(certificates.GroupName)
|
apiGroupInfo := genericapiserver.NewDefaultAPIGroupInfo(certificates.GroupName)
|
||||||
|
|
||||||
if apiResourceConfigSource.AnyResourcesForVersionEnabled(certificatesapiv1alpha1.SchemeGroupVersion) {
|
if apiResourceConfigSource.AnyResourcesForVersionEnabled(certificatesapiv1beta1.SchemeGroupVersion) {
|
||||||
apiGroupInfo.VersionedResourcesStorageMap[certificatesapiv1alpha1.SchemeGroupVersion.Version] = p.v1alpha1Storage(apiResourceConfigSource, restOptionsGetter)
|
apiGroupInfo.VersionedResourcesStorageMap[certificatesapiv1beta1.SchemeGroupVersion.Version] = p.v1beta1Storage(apiResourceConfigSource, restOptionsGetter)
|
||||||
apiGroupInfo.GroupMeta.GroupVersion = certificatesapiv1alpha1.SchemeGroupVersion
|
apiGroupInfo.GroupMeta.GroupVersion = certificatesapiv1beta1.SchemeGroupVersion
|
||||||
}
|
}
|
||||||
|
|
||||||
return apiGroupInfo, true
|
return apiGroupInfo, true
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p RESTStorageProvider) v1alpha1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) map[string]rest.Storage {
|
func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) map[string]rest.Storage {
|
||||||
version := certificatesapiv1alpha1.SchemeGroupVersion
|
version := certificatesapiv1beta1.SchemeGroupVersion
|
||||||
|
|
||||||
storage := map[string]rest.Storage{}
|
storage := map[string]rest.Storage{}
|
||||||
if apiResourceConfigSource.ResourceEnabled(version.WithResource("certificatesigningrequests")) {
|
if apiResourceConfigSource.ResourceEnabled(version.WithResource("certificatesigningrequests")) {
|
||||||
|
|
|
@ -43,7 +43,7 @@ import (
|
||||||
apps "k8s.io/kubernetes/pkg/apis/apps/v1beta1"
|
apps "k8s.io/kubernetes/pkg/apis/apps/v1beta1"
|
||||||
autoscaling "k8s.io/kubernetes/pkg/apis/autoscaling/v1"
|
autoscaling "k8s.io/kubernetes/pkg/apis/autoscaling/v1"
|
||||||
"k8s.io/kubernetes/pkg/apis/batch"
|
"k8s.io/kubernetes/pkg/apis/batch"
|
||||||
certificates "k8s.io/kubernetes/pkg/apis/certificates/v1alpha1"
|
certificates "k8s.io/kubernetes/pkg/apis/certificates/v1beta1"
|
||||||
extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
|
extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
|
||||||
policy "k8s.io/kubernetes/pkg/apis/policy/v1alpha1"
|
policy "k8s.io/kubernetes/pkg/apis/policy/v1alpha1"
|
||||||
rbac "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1"
|
rbac "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1"
|
||||||
|
|
Loading…
Reference in New Issue