Copy authentication.k8s.io/v1beta1 types to v1
This commit is contained in:
26
pkg/apis/authentication/v1/conversion.go
Normal file
26
pkg/apis/authentication/v1/conversion.go
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2017 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package v1
|
||||||
|
|
||||||
|
import (
|
||||||
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
|
)
|
||||||
|
|
||||||
|
func addConversionFuncs(scheme *runtime.Scheme) error {
|
||||||
|
// Add non-generated conversion functions
|
||||||
|
return scheme.AddConversionFuncs()
|
||||||
|
}
|
25
pkg/apis/authentication/v1/defaults.go
Normal file
25
pkg/apis/authentication/v1/defaults.go
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2017 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package v1
|
||||||
|
|
||||||
|
import (
|
||||||
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
|
)
|
||||||
|
|
||||||
|
func addDefaultingFuncs(scheme *runtime.Scheme) error {
|
||||||
|
return scheme.AddDefaultingFuncs()
|
||||||
|
}
|
22
pkg/apis/authentication/v1/doc.go
Normal file
22
pkg/apis/authentication/v1/doc.go
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2017 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// +k8s:deepcopy-gen=package,register
|
||||||
|
// +k8s:conversion-gen=k8s.io/kubernetes/pkg/apis/authentication
|
||||||
|
// +groupName=authentication.k8s.io
|
||||||
|
// +k8s:openapi-gen=true
|
||||||
|
// +k8s:defaulter-gen=TypeMeta
|
||||||
|
package v1 // import "k8s.io/kubernetes/pkg/apis/authentication/v1"
|
48
pkg/apis/authentication/v1/register.go
Normal file
48
pkg/apis/authentication/v1/register.go
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2017 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package v1
|
||||||
|
|
||||||
|
import (
|
||||||
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
|
)
|
||||||
|
|
||||||
|
// GroupName is the group name use in this package
|
||||||
|
const GroupName = "authentication.k8s.io"
|
||||||
|
|
||||||
|
// SchemeGroupVersion is group version used to register these objects
|
||||||
|
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"}
|
||||||
|
|
||||||
|
// Resource takes an unqualified resource and returns a Group qualified GroupResource
|
||||||
|
func Resource(resource string) schema.GroupResource {
|
||||||
|
return SchemeGroupVersion.WithResource(resource).GroupResource()
|
||||||
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addDefaultingFuncs, addConversionFuncs)
|
||||||
|
AddToScheme = SchemeBuilder.AddToScheme
|
||||||
|
)
|
||||||
|
|
||||||
|
// Adds the list of known types to api.Scheme.
|
||||||
|
func addKnownTypes(scheme *runtime.Scheme) error {
|
||||||
|
scheme.AddKnownTypes(SchemeGroupVersion,
|
||||||
|
&TokenReview{},
|
||||||
|
)
|
||||||
|
metav1.AddToGroupVersion(scheme, SchemeGroupVersion)
|
||||||
|
return nil
|
||||||
|
}
|
91
pkg/apis/authentication/v1/types.go
Normal file
91
pkg/apis/authentication/v1/types.go
Normal file
@@ -0,0 +1,91 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2017 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package v1
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
|
)
|
||||||
|
|
||||||
|
// +genclient=true
|
||||||
|
// +nonNamespaced=true
|
||||||
|
// +noMethods=true
|
||||||
|
|
||||||
|
// TokenReview attempts to authenticate a token to a known user.
|
||||||
|
// Note: TokenReview requests may be cached by the webhook token authenticator
|
||||||
|
// plugin in the kube-apiserver.
|
||||||
|
type TokenReview struct {
|
||||||
|
metav1.TypeMeta `json:",inline"`
|
||||||
|
// +optional
|
||||||
|
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
||||||
|
|
||||||
|
// Spec holds information about the request being evaluated
|
||||||
|
Spec TokenReviewSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
|
||||||
|
|
||||||
|
// Status is filled in by the server and indicates whether the request can be authenticated.
|
||||||
|
// +optional
|
||||||
|
Status TokenReviewStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// TokenReviewSpec is a description of the token authentication request.
|
||||||
|
type TokenReviewSpec struct {
|
||||||
|
// Token is the opaque bearer token.
|
||||||
|
// +optional
|
||||||
|
Token string `json:"token,omitempty" protobuf:"bytes,1,opt,name=token"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// TokenReviewStatus is the result of the token authentication request.
|
||||||
|
type TokenReviewStatus struct {
|
||||||
|
// Authenticated indicates that the token was associated with a known user.
|
||||||
|
// +optional
|
||||||
|
Authenticated bool `json:"authenticated,omitempty" protobuf:"varint,1,opt,name=authenticated"`
|
||||||
|
// User is the UserInfo associated with the provided token.
|
||||||
|
// +optional
|
||||||
|
User UserInfo `json:"user,omitempty" protobuf:"bytes,2,opt,name=user"`
|
||||||
|
// Error indicates that the token couldn't be checked
|
||||||
|
// +optional
|
||||||
|
Error string `json:"error,omitempty" protobuf:"bytes,3,opt,name=error"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// UserInfo holds the information about the user needed to implement the
|
||||||
|
// user.Info interface.
|
||||||
|
type UserInfo struct {
|
||||||
|
// The name that uniquely identifies this user among all active users.
|
||||||
|
// +optional
|
||||||
|
Username string `json:"username,omitempty" protobuf:"bytes,1,opt,name=username"`
|
||||||
|
// A unique value that identifies this user across time. If this user is
|
||||||
|
// deleted and another user by the same name is added, they will have
|
||||||
|
// different UIDs.
|
||||||
|
// +optional
|
||||||
|
UID string `json:"uid,omitempty" protobuf:"bytes,2,opt,name=uid"`
|
||||||
|
// The names of groups this user is a part of.
|
||||||
|
// +optional
|
||||||
|
Groups []string `json:"groups,omitempty" protobuf:"bytes,3,rep,name=groups"`
|
||||||
|
// Any additional information provided by the authenticator.
|
||||||
|
// +optional
|
||||||
|
Extra map[string]ExtraValue `json:"extra,omitempty" protobuf:"bytes,4,rep,name=extra"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// ExtraValue masks the value so protobuf can generate
|
||||||
|
// +protobuf.nullable=true
|
||||||
|
// +protobuf.options.(gogoproto.goproto_stringer)=false
|
||||||
|
type ExtraValue []string
|
||||||
|
|
||||||
|
func (t ExtraValue) String() string {
|
||||||
|
return fmt.Sprintf("%v", []string(t))
|
||||||
|
}
|
Reference in New Issue
Block a user