Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
1e41fdb1
Commit
1e41fdb1
authored
Oct 08, 2018
by
Darren Shepherd
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Delete abac api
parent
77fde229
Hide whitespace changes
Inline
Side-by-side
Showing
26 changed files
with
0 additions
and
1291 deletions
+0
-1291
BUILD
pkg/apis/abac/BUILD
+0
-42
OWNERS
pkg/apis/abac/OWNERS
+0
-7
doc.go
pkg/apis/abac/doc.go
+0
-19
BUILD
pkg/apis/abac/fuzzer/BUILD
+0
-26
fuzzer.go
pkg/apis/abac/fuzzer/fuzzer.go
+0
-26
BUILD
pkg/apis/abac/latest/BUILD
+0
-30
latest.go
pkg/apis/abac/latest/latest.go
+0
-26
register.go
pkg/apis/abac/register.go
+0
-52
types.go
pkg/apis/abac/types.go
+0
-74
BUILD
pkg/apis/abac/v0/BUILD
+0
-49
conversion.go
pkg/apis/abac/v0/conversion.go
+0
-68
conversion_test.go
pkg/apis/abac/v0/conversion_test.go
+0
-88
doc.go
pkg/apis/abac/v0/doc.go
+0
-20
register.go
pkg/apis/abac/v0/register.go
+0
-62
types.go
pkg/apis/abac/v0/types.go
+0
-55
zz_generated.deepcopy.go
pkg/apis/abac/v0/zz_generated.deepcopy.go
+0
-50
BUILD
pkg/apis/abac/v1beta1/BUILD
+0
-51
conversion.go
pkg/apis/abac/v1beta1/conversion.go
+0
-46
conversion_test.go
pkg/apis/abac/v1beta1/conversion_test.go
+0
-64
doc.go
pkg/apis/abac/v1beta1/doc.go
+0
-23
register.go
pkg/apis/abac/v1beta1/register.go
+0
-62
types.go
pkg/apis/abac/v1beta1/types.go
+0
-72
zz_generated.conversion.go
pkg/apis/abac/v1beta1/zz_generated.conversion.go
+0
-113
zz_generated.deepcopy.go
pkg/apis/abac/v1beta1/zz_generated.deepcopy.go
+0
-67
zz_generated.defaults.go
pkg/apis/abac/v1beta1/zz_generated.defaults.go
+0
-32
zz_generated.deepcopy.go
pkg/apis/abac/zz_generated.deepcopy.go
+0
-67
No files found.
pkg/apis/abac/BUILD
deleted
100644 → 0
View file @
77fde229
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = [
"doc.go",
"register.go",
"types.go",
"zz_generated.deepcopy.go",
],
importpath = "k8s.io/kubernetes/pkg/apis/abac",
deps = [
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/runtime/serializer:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [
":package-srcs",
"//pkg/apis/abac/fuzzer:all-srcs",
"//pkg/apis/abac/latest:all-srcs",
"//pkg/apis/abac/v0:all-srcs",
"//pkg/apis/abac/v1beta1:all-srcs",
],
tags = ["automanaged"],
)
pkg/apis/abac/OWNERS
deleted
100755 → 0
View file @
77fde229
reviewers:
- lavalamp
- smarterclayton
- deads2k
- liggitt
- mbohlool
- david-mcmahon
pkg/apis/abac/doc.go
deleted
100644 → 0
View file @
77fde229
/*
Copyright 2016 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
package
abac
pkg/apis/abac/fuzzer/BUILD
deleted
100644 → 0
View file @
77fde229
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = ["fuzzer.go"],
importpath = "k8s.io/kubernetes/pkg/apis/abac/fuzzer",
deps = ["//staging/src/k8s.io/apimachinery/pkg/runtime/serializer:go_default_library"],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
)
pkg/apis/abac/fuzzer/fuzzer.go
deleted
100644 → 0
View file @
77fde229
/*
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
fuzzer
import
(
runtimeserializer
"k8s.io/apimachinery/pkg/runtime/serializer"
)
// Funcs returns the fuzzer functions for the abac api group.
var
Funcs
=
func
(
codecs
runtimeserializer
.
CodecFactory
)
[]
interface
{}
{
return
[]
interface
{}{}
}
pkg/apis/abac/latest/BUILD
deleted
100644 → 0
View file @
77fde229
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = ["latest.go"],
importpath = "k8s.io/kubernetes/pkg/apis/abac/latest",
deps = [
"//pkg/apis/abac:go_default_library",
"//pkg/apis/abac/v0:go_default_library",
"//pkg/apis/abac/v1beta1:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
)
pkg/apis/abac/latest/latest.go
deleted
100644 → 0
View file @
77fde229
/*
Copyright 2014 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
latest
import
(
_
"k8s.io/kubernetes/pkg/apis/abac"
_
"k8s.io/kubernetes/pkg/apis/abac/v0"
_
"k8s.io/kubernetes/pkg/apis/abac/v1beta1"
)
// TODO: this file is totally wrong, it should look like other latest files.
// lavalamp is in the middle of fixing this code, so wait for the new way of doing things..
pkg/apis/abac/register.go
deleted
100644 → 0
View file @
77fde229
/*
Copyright 2015 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
abac
import
(
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/runtime/serializer"
)
// Group is the API group for abac
const
GroupName
=
"abac.authorization.kubernetes.io"
var
SchemeGroupVersion
=
schema
.
GroupVersion
{
Group
:
GroupName
,
Version
:
runtime
.
APIVersionInternal
}
// Scheme is the default instance of runtime.Scheme to which types in the abac API group are api.Registry.
// TODO: remove this, abac should not have its own scheme.
var
Scheme
=
runtime
.
NewScheme
()
// Codecs provides access to encoding and decoding for the scheme
var
Codecs
=
serializer
.
NewCodecFactory
(
Scheme
)
func
init
()
{
// TODO: delete this, abac should not have its own scheme.
addKnownTypes
(
Scheme
)
}
var
(
SchemeBuilder
=
runtime
.
NewSchemeBuilder
(
addKnownTypes
)
AddToScheme
=
SchemeBuilder
.
AddToScheme
)
func
addKnownTypes
(
scheme
*
runtime
.
Scheme
)
error
{
scheme
.
AddKnownTypes
(
SchemeGroupVersion
,
&
Policy
{},
)
return
nil
}
pkg/apis/abac/types.go
deleted
100644 → 0
View file @
77fde229
/*
Copyright 2015 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
abac
import
(
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
)
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// Policy contains a single ABAC policy rule
type
Policy
struct
{
metav1
.
TypeMeta
// Spec describes the policy rule
Spec
PolicySpec
}
// PolicySpec contains the attributes for a policy rule
type
PolicySpec
struct
{
// User is the username this rule applies to.
// Either user or group is required to match the request.
// "*" matches all users.
User
string
// Group is the group this rule applies to.
// Either user or group is required to match the request.
// "*" matches all groups.
Group
string
// Readonly matches readonly requests when true, and all requests when false
Readonly
bool
// APIGroup is the name of an API group. APIGroup, Resource, and Namespace are required to match resource requests.
// "*" matches all API groups
APIGroup
string
// Resource is the name of a resource. APIGroup, Resource, and Namespace are required to match resource requests.
// "*" matches all resources
Resource
string
// Namespace is the name of a namespace. APIGroup, Resource, and Namespace are required to match resource requests.
// "*" matches all namespaces (including unnamespaced requests)
Namespace
string
// NonResourcePath matches non-resource request paths.
// "*" matches all paths
// "/foo/*" matches all subpaths of foo
NonResourcePath
string
// TODO: "expires" string in RFC3339 format.
// TODO: want a way to allow some users to restart containers of a pod but
// not delete or modify it.
// TODO: want a way to allow a controller to create a pod based only on a
// certain podTemplates.
}
pkg/apis/abac/v0/BUILD
deleted
100644 → 0
View file @
77fde229
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
"go_test",
)
go_library(
name = "go_default_library",
srcs = [
"conversion.go",
"doc.go",
"register.go",
"types.go",
"zz_generated.deepcopy.go",
],
importpath = "k8s.io/kubernetes/pkg/apis/abac/v0",
deps = [
"//pkg/apis/abac:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/conversion:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
],
)
go_test(
name = "go_default_test",
srcs = ["conversion_test.go"],
embed = [":go_default_library"],
deps = [
"//pkg/apis/abac:go_default_library",
"//staging/src/k8s.io/apiserver/pkg/authentication/user:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
)
pkg/apis/abac/v0/conversion.go
deleted
100644 → 0
View file @
77fde229
/*
Copyright 2015 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
v0
import
(
"k8s.io/apimachinery/pkg/conversion"
"k8s.io/apimachinery/pkg/runtime"
api
"k8s.io/kubernetes/pkg/apis/abac"
)
// allAuthenticated matches k8s.io/apiserver/pkg/authentication/user.AllAuthenticated,
// but we don't want an client library (which must include types), depending on a server library
const
allAuthenticated
=
"system:authenticated"
func
addConversionFuncs
(
scheme
*
runtime
.
Scheme
)
error
{
return
scheme
.
AddConversionFuncs
(
func
(
in
*
Policy
,
out
*
api
.
Policy
,
s
conversion
.
Scope
)
error
{
// Begin by copying all fields
out
.
Spec
.
User
=
in
.
User
out
.
Spec
.
Group
=
in
.
Group
out
.
Spec
.
Namespace
=
in
.
Namespace
out
.
Spec
.
Resource
=
in
.
Resource
out
.
Spec
.
Readonly
=
in
.
Readonly
// In v0, unspecified user and group matches all authenticated subjects
if
len
(
in
.
User
)
==
0
&&
len
(
in
.
Group
)
==
0
{
out
.
Spec
.
Group
=
allAuthenticated
}
// In v0, user or group of * matches all authenticated subjects
if
in
.
User
==
"*"
||
in
.
Group
==
"*"
{
out
.
Spec
.
Group
=
allAuthenticated
out
.
Spec
.
User
=
""
}
// In v0, leaving namespace empty matches all namespaces
if
len
(
in
.
Namespace
)
==
0
{
out
.
Spec
.
Namespace
=
"*"
}
// In v0, leaving resource empty matches all resources
if
len
(
in
.
Resource
)
==
0
{
out
.
Spec
.
Resource
=
"*"
}
// Any rule in v0 should match all API groups
out
.
Spec
.
APIGroup
=
"*"
// In v0, leaving namespace and resource blank allows non-resource paths
if
len
(
in
.
Namespace
)
==
0
&&
len
(
in
.
Resource
)
==
0
{
out
.
Spec
.
NonResourcePath
=
"*"
}
return
nil
},
)
}
pkg/apis/abac/v0/conversion_test.go
deleted
100644 → 0
View file @
77fde229
/*
Copyright 2015 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
v0_test
import
(
"reflect"
"testing"
"k8s.io/apiserver/pkg/authentication/user"
"k8s.io/kubernetes/pkg/apis/abac"
"k8s.io/kubernetes/pkg/apis/abac/v0"
)
func
TestV0Conversion
(
t
*
testing
.
T
)
{
testcases
:=
map
[
string
]
struct
{
old
*
v0
.
Policy
expected
*
abac
.
Policy
}{
// a completely empty policy rule allows everything to all users
"empty"
:
{
old
:
&
v0
.
Policy
{},
expected
:
&
abac
.
Policy
{
Spec
:
abac
.
PolicySpec
{
Group
:
user
.
AllAuthenticated
,
Readonly
:
false
,
NonResourcePath
:
"*"
,
Namespace
:
"*"
,
Resource
:
"*"
,
APIGroup
:
"*"
}},
},
// specifying a user is preserved
"user"
:
{
old
:
&
v0
.
Policy
{
User
:
"bob"
},
expected
:
&
abac
.
Policy
{
Spec
:
abac
.
PolicySpec
{
User
:
"bob"
,
Readonly
:
false
,
NonResourcePath
:
"*"
,
Namespace
:
"*"
,
Resource
:
"*"
,
APIGroup
:
"*"
}},
},
// specifying a group is preserved (and no longer matches all users)
"group"
:
{
old
:
&
v0
.
Policy
{
Group
:
"mygroup"
},
expected
:
&
abac
.
Policy
{
Spec
:
abac
.
PolicySpec
{
Group
:
"mygroup"
,
Readonly
:
false
,
NonResourcePath
:
"*"
,
Namespace
:
"*"
,
Resource
:
"*"
,
APIGroup
:
"*"
}},
},
// specifying * for user or group maps to all authenticated subjects
"* user"
:
{
old
:
&
v0
.
Policy
{
User
:
"*"
},
expected
:
&
abac
.
Policy
{
Spec
:
abac
.
PolicySpec
{
Group
:
user
.
AllAuthenticated
,
Readonly
:
false
,
NonResourcePath
:
"*"
,
Namespace
:
"*"
,
Resource
:
"*"
,
APIGroup
:
"*"
}},
},
"* group"
:
{
old
:
&
v0
.
Policy
{
Group
:
"*"
},
expected
:
&
abac
.
Policy
{
Spec
:
abac
.
PolicySpec
{
Group
:
user
.
AllAuthenticated
,
Readonly
:
false
,
NonResourcePath
:
"*"
,
Namespace
:
"*"
,
Resource
:
"*"
,
APIGroup
:
"*"
}},
},
// specifying a namespace removes the * match on non-resource path
"namespace"
:
{
old
:
&
v0
.
Policy
{
Namespace
:
"myns"
},
expected
:
&
abac
.
Policy
{
Spec
:
abac
.
PolicySpec
{
Group
:
user
.
AllAuthenticated
,
Readonly
:
false
,
NonResourcePath
:
""
,
Namespace
:
"myns"
,
Resource
:
"*"
,
APIGroup
:
"*"
}},
},
// specifying a resource removes the * match on non-resource path
"resource"
:
{
old
:
&
v0
.
Policy
{
Resource
:
"myresource"
},
expected
:
&
abac
.
Policy
{
Spec
:
abac
.
PolicySpec
{
Group
:
user
.
AllAuthenticated
,
Readonly
:
false
,
NonResourcePath
:
""
,
Namespace
:
"*"
,
Resource
:
"myresource"
,
APIGroup
:
"*"
}},
},
// specifying a namespace+resource removes the * match on non-resource path
"namespace+resource"
:
{
old
:
&
v0
.
Policy
{
Namespace
:
"myns"
,
Resource
:
"myresource"
},
expected
:
&
abac
.
Policy
{
Spec
:
abac
.
PolicySpec
{
Group
:
user
.
AllAuthenticated
,
Readonly
:
false
,
NonResourcePath
:
""
,
Namespace
:
"myns"
,
Resource
:
"myresource"
,
APIGroup
:
"*"
}},
},
}
for
k
,
tc
:=
range
testcases
{
internal
:=
&
abac
.
Policy
{}
if
err
:=
abac
.
Scheme
.
Convert
(
tc
.
old
,
internal
,
nil
);
err
!=
nil
{
t
.
Errorf
(
"%s: unexpected error: %v"
,
k
,
err
)
}
if
!
reflect
.
DeepEqual
(
internal
,
tc
.
expected
)
{
t
.
Errorf
(
"%s: expected
\n\t
%#v, got
\n\t
%#v"
,
k
,
tc
.
expected
,
internal
)
}
}
}
pkg/apis/abac/v0/doc.go
deleted
100644 → 0
View file @
77fde229
/*
Copyright 2016 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
// +groupName=abac.authorization.kubernetes.io
package
v0
// import "k8s.io/kubernetes/pkg/apis/abac/v0"
pkg/apis/abac/v0/register.go
deleted
100644 → 0
View file @
77fde229
/*
Copyright 2015 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
v0
import
(
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/kubernetes/pkg/apis/abac"
)
const
GroupName
=
"abac.authorization.kubernetes.io"
// GroupVersion is the API group and version for abac v0
var
SchemeGroupVersion
=
schema
.
GroupVersion
{
Group
:
GroupName
,
Version
:
"v0"
}
func
init
()
{
// TODO: Delete this init function, abac should not have its own scheme.
if
err
:=
addKnownTypes
(
abac
.
Scheme
);
err
!=
nil
{
// Programmer error.
panic
(
err
)
}
if
err
:=
addConversionFuncs
(
abac
.
Scheme
);
err
!=
nil
{
// Programmer error.
panic
(
err
)
}
}
var
(
// TODO: move SchemeBuilder with zz_generated.deepcopy.go to k8s.io/api.
// localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes.
SchemeBuilder
runtime
.
SchemeBuilder
localSchemeBuilder
=
&
SchemeBuilder
AddToScheme
=
localSchemeBuilder
.
AddToScheme
)
func
init
()
{
// We only register manually written functions here. The registration of the
// generated functions takes place in the generated files. The separation
// makes the code compile even when the generated files are missing.
localSchemeBuilder
.
Register
(
addKnownTypes
,
addConversionFuncs
)
}
func
addKnownTypes
(
scheme
*
runtime
.
Scheme
)
error
{
scheme
.
AddKnownTypes
(
SchemeGroupVersion
,
&
Policy
{},
)
return
nil
}
pkg/apis/abac/v0/types.go
deleted
100644 → 0
View file @
77fde229
/*
Copyright 2015 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:openapi-gen=true
package
v0
import
(
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
)
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// Policy contains a single ABAC policy rule
type
Policy
struct
{
metav1
.
TypeMeta
`json:",inline"`
// User is the username this rule applies to.
// Either user or group is required to match the request.
// "*" matches all users.
// +optional
User
string
`json:"user,omitempty"`
// Group is the group this rule applies to.
// Either user or group is required to match the request.
// "*" matches all groups.
// +optional
Group
string
`json:"group,omitempty"`
// Readonly matches readonly requests when true, and all requests when false
// +optional
Readonly
bool
`json:"readonly,omitempty"`
// Resource is the name of a resource
// "*" matches all resources
// +optional
Resource
string
`json:"resource,omitempty"`
// Namespace is the name of a namespace
// "*" matches all namespaces (including unnamespaced requests)
// +optional
Namespace
string
`json:"namespace,omitempty"`
}
pkg/apis/abac/v0/zz_generated.deepcopy.go
deleted
100644 → 0
View file @
77fde229
// +build !ignore_autogenerated
/*
Copyright 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.
*/
// Code generated by deepcopy-gen. DO NOT EDIT.
package
v0
import
(
runtime
"k8s.io/apimachinery/pkg/runtime"
)
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func
(
in
*
Policy
)
DeepCopyInto
(
out
*
Policy
)
{
*
out
=
*
in
out
.
TypeMeta
=
in
.
TypeMeta
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Policy.
func
(
in
*
Policy
)
DeepCopy
()
*
Policy
{
if
in
==
nil
{
return
nil
}
out
:=
new
(
Policy
)
in
.
DeepCopyInto
(
out
)
return
out
}
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func
(
in
*
Policy
)
DeepCopyObject
()
runtime
.
Object
{
if
c
:=
in
.
DeepCopy
();
c
!=
nil
{
return
c
}
return
nil
}
pkg/apis/abac/v1beta1/BUILD
deleted
100644 → 0
View file @
77fde229
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
"go_test",
)
go_library(
name = "go_default_library",
srcs = [
"conversion.go",
"doc.go",
"register.go",
"types.go",
"zz_generated.conversion.go",
"zz_generated.deepcopy.go",
"zz_generated.defaults.go",
],
importpath = "k8s.io/kubernetes/pkg/apis/abac/v1beta1",
deps = [
"//pkg/apis/abac:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/conversion:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
],
)
go_test(
name = "go_default_test",
srcs = ["conversion_test.go"],
embed = [":go_default_library"],
deps = [
"//pkg/apis/abac:go_default_library",
"//staging/src/k8s.io/apiserver/pkg/authentication/user:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
)
pkg/apis/abac/v1beta1/conversion.go
deleted
100644 → 0
View file @
77fde229
/*
Copyright 2016 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
v1beta1
import
(
"k8s.io/apimachinery/pkg/conversion"
"k8s.io/apimachinery/pkg/runtime"
api
"k8s.io/kubernetes/pkg/apis/abac"
)
// allAuthenticated matches k8s.io/apiserver/pkg/authentication/user.AllAuthenticated,
// but we don't want an client library (which must include types), depending on a server library
const
allAuthenticated
=
"system:authenticated"
func
addConversionFuncs
(
scheme
*
runtime
.
Scheme
)
error
{
return
scheme
.
AddConversionFuncs
(
func
(
in
*
Policy
,
out
*
api
.
Policy
,
s
conversion
.
Scope
)
error
{
// Begin by copying all fields
if
err
:=
autoConvert_v1beta1_Policy_To_abac_Policy
(
in
,
out
,
s
);
err
!=
nil
{
return
err
}
// In v1beta1, * user or group maps to all authenticated subjects
if
in
.
Spec
.
User
==
"*"
||
in
.
Spec
.
Group
==
"*"
{
out
.
Spec
.
Group
=
allAuthenticated
out
.
Spec
.
User
=
""
}
return
nil
},
)
}
pkg/apis/abac/v1beta1/conversion_test.go
deleted
100644 → 0
View file @
77fde229
/*
Copyright 2016 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
v1beta1_test
import
(
"reflect"
"testing"
"k8s.io/apiserver/pkg/authentication/user"
"k8s.io/kubernetes/pkg/apis/abac"
"k8s.io/kubernetes/pkg/apis/abac/v1beta1"
)
func
TestV1Beta1Conversion
(
t
*
testing
.
T
)
{
testcases
:=
map
[
string
]
struct
{
old
*
v1beta1
.
Policy
expected
*
abac
.
Policy
}{
// specifying a user is preserved
"user"
:
{
old
:
&
v1beta1
.
Policy
{
Spec
:
v1beta1
.
PolicySpec
{
User
:
"bob"
}},
expected
:
&
abac
.
Policy
{
Spec
:
abac
.
PolicySpec
{
User
:
"bob"
}},
},
// specifying a group is preserved
"group"
:
{
old
:
&
v1beta1
.
Policy
{
Spec
:
v1beta1
.
PolicySpec
{
Group
:
"mygroup"
}},
expected
:
&
abac
.
Policy
{
Spec
:
abac
.
PolicySpec
{
Group
:
"mygroup"
}},
},
// specifying * for user or group maps to all authenticated subjects
"* user"
:
{
old
:
&
v1beta1
.
Policy
{
Spec
:
v1beta1
.
PolicySpec
{
User
:
"*"
}},
expected
:
&
abac
.
Policy
{
Spec
:
abac
.
PolicySpec
{
Group
:
user
.
AllAuthenticated
}},
},
"* group"
:
{
old
:
&
v1beta1
.
Policy
{
Spec
:
v1beta1
.
PolicySpec
{
Group
:
"*"
}},
expected
:
&
abac
.
Policy
{
Spec
:
abac
.
PolicySpec
{
Group
:
user
.
AllAuthenticated
}},
},
}
for
k
,
tc
:=
range
testcases
{
internal
:=
&
abac
.
Policy
{}
if
err
:=
abac
.
Scheme
.
Convert
(
tc
.
old
,
internal
,
nil
);
err
!=
nil
{
t
.
Errorf
(
"%s: unexpected error: %v"
,
k
,
err
)
}
if
!
reflect
.
DeepEqual
(
internal
,
tc
.
expected
)
{
t
.
Errorf
(
"%s: expected
\n\t
%#v, got
\n\t
%#v"
,
k
,
tc
.
expected
,
internal
)
}
}
}
pkg/apis/abac/v1beta1/doc.go
deleted
100644 → 0
View file @
77fde229
/*
Copyright 2016 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
// +k8s:conversion-gen=k8s.io/kubernetes/pkg/apis/abac
// +k8s:openapi-gen=true
// +k8s:defaulter-gen=TypeMeta
// +groupName=abac.authorization.kubernetes.io
package
v1beta1
// import "k8s.io/kubernetes/pkg/apis/abac/v1beta1"
pkg/apis/abac/v1beta1/register.go
deleted
100644 → 0
View file @
77fde229
/*
Copyright 2015 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
v1beta1
import
(
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/kubernetes/pkg/apis/abac"
)
const
GroupName
=
"abac.authorization.kubernetes.io"
// SchemeGroupVersion is the API group and version for abac v1beta1
var
SchemeGroupVersion
=
schema
.
GroupVersion
{
Group
:
GroupName
,
Version
:
"v1beta1"
}
func
init
()
{
// TODO: delete this, abac should not have its own scheme.
if
err
:=
addKnownTypes
(
abac
.
Scheme
);
err
!=
nil
{
// Programmer error.
panic
(
err
)
}
if
err
:=
addConversionFuncs
(
abac
.
Scheme
);
err
!=
nil
{
// Programmer error.
panic
(
err
)
}
}
var
(
// TODO: move SchemeBuilder with zz_generated.deepcopy.go to k8s.io/api.
// localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes.
SchemeBuilder
runtime
.
SchemeBuilder
localSchemeBuilder
=
&
SchemeBuilder
AddToScheme
=
localSchemeBuilder
.
AddToScheme
)
func
init
()
{
// We only register manually written functions here. The registration of the
// generated functions takes place in the generated files. The separation
// makes the code compile even when the generated files are missing.
localSchemeBuilder
.
Register
(
addKnownTypes
,
addConversionFuncs
,
RegisterDefaults
)
}
func
addKnownTypes
(
scheme
*
runtime
.
Scheme
)
error
{
scheme
.
AddKnownTypes
(
SchemeGroupVersion
,
&
Policy
{},
)
return
nil
}
pkg/apis/abac/v1beta1/types.go
deleted
100644 → 0
View file @
77fde229
/*
Copyright 2015 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:openapi-gen=true
package
v1beta1
import
(
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
)
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// Policy contains a single ABAC policy rule
type
Policy
struct
{
metav1
.
TypeMeta
`json:",inline"`
// Spec describes the policy rule
Spec
PolicySpec
`json:"spec"`
}
// PolicySpec contains the attributes for a policy rule
type
PolicySpec
struct
{
// User is the username this rule applies to.
// Either user or group is required to match the request.
// "*" matches all users.
// +optional
User
string
`json:"user,omitempty"`
// Group is the group this rule applies to.
// Either user or group is required to match the request.
// "*" matches all groups.
// +optional
Group
string
`json:"group,omitempty"`
// Readonly matches readonly requests when true, and all requests when false
// +optional
Readonly
bool
`json:"readonly,omitempty"`
// APIGroup is the name of an API group. APIGroup, Resource, and Namespace are required to match resource requests.
// "*" matches all API groups
// +optional
APIGroup
string
`json:"apiGroup,omitempty"`
// Resource is the name of a resource. APIGroup, Resource, and Namespace are required to match resource requests.
// "*" matches all resources
// +optional
Resource
string
`json:"resource,omitempty"`
// Namespace is the name of a namespace. APIGroup, Resource, and Namespace are required to match resource requests.
// "*" matches all namespaces (including unnamespaced requests)
// +optional
Namespace
string
`json:"namespace,omitempty"`
// NonResourcePath matches non-resource request paths.
// "*" matches all paths
// "/foo/*" matches all subpaths of foo
// +optional
NonResourcePath
string
`json:"nonResourcePath,omitempty"`
}
pkg/apis/abac/v1beta1/zz_generated.conversion.go
deleted
100644 → 0
View file @
77fde229
// +build !ignore_autogenerated
/*
Copyright 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.
*/
// Code generated by conversion-gen. DO NOT EDIT.
package
v1beta1
import
(
conversion
"k8s.io/apimachinery/pkg/conversion"
runtime
"k8s.io/apimachinery/pkg/runtime"
abac
"k8s.io/kubernetes/pkg/apis/abac"
)
func
init
()
{
localSchemeBuilder
.
Register
(
RegisterConversions
)
}
// RegisterConversions adds conversion functions to the given scheme.
// Public to allow building arbitrary schemes.
func
RegisterConversions
(
s
*
runtime
.
Scheme
)
error
{
if
err
:=
s
.
AddGeneratedConversionFunc
((
*
Policy
)(
nil
),
(
*
abac
.
Policy
)(
nil
),
func
(
a
,
b
interface
{},
scope
conversion
.
Scope
)
error
{
return
Convert_v1beta1_Policy_To_abac_Policy
(
a
.
(
*
Policy
),
b
.
(
*
abac
.
Policy
),
scope
)
});
err
!=
nil
{
return
err
}
if
err
:=
s
.
AddGeneratedConversionFunc
((
*
abac
.
Policy
)(
nil
),
(
*
Policy
)(
nil
),
func
(
a
,
b
interface
{},
scope
conversion
.
Scope
)
error
{
return
Convert_abac_Policy_To_v1beta1_Policy
(
a
.
(
*
abac
.
Policy
),
b
.
(
*
Policy
),
scope
)
});
err
!=
nil
{
return
err
}
if
err
:=
s
.
AddGeneratedConversionFunc
((
*
PolicySpec
)(
nil
),
(
*
abac
.
PolicySpec
)(
nil
),
func
(
a
,
b
interface
{},
scope
conversion
.
Scope
)
error
{
return
Convert_v1beta1_PolicySpec_To_abac_PolicySpec
(
a
.
(
*
PolicySpec
),
b
.
(
*
abac
.
PolicySpec
),
scope
)
});
err
!=
nil
{
return
err
}
if
err
:=
s
.
AddGeneratedConversionFunc
((
*
abac
.
PolicySpec
)(
nil
),
(
*
PolicySpec
)(
nil
),
func
(
a
,
b
interface
{},
scope
conversion
.
Scope
)
error
{
return
Convert_abac_PolicySpec_To_v1beta1_PolicySpec
(
a
.
(
*
abac
.
PolicySpec
),
b
.
(
*
PolicySpec
),
scope
)
});
err
!=
nil
{
return
err
}
return
nil
}
func
autoConvert_v1beta1_Policy_To_abac_Policy
(
in
*
Policy
,
out
*
abac
.
Policy
,
s
conversion
.
Scope
)
error
{
if
err
:=
Convert_v1beta1_PolicySpec_To_abac_PolicySpec
(
&
in
.
Spec
,
&
out
.
Spec
,
s
);
err
!=
nil
{
return
err
}
return
nil
}
// Convert_v1beta1_Policy_To_abac_Policy is an autogenerated conversion function.
func
Convert_v1beta1_Policy_To_abac_Policy
(
in
*
Policy
,
out
*
abac
.
Policy
,
s
conversion
.
Scope
)
error
{
return
autoConvert_v1beta1_Policy_To_abac_Policy
(
in
,
out
,
s
)
}
func
autoConvert_abac_Policy_To_v1beta1_Policy
(
in
*
abac
.
Policy
,
out
*
Policy
,
s
conversion
.
Scope
)
error
{
if
err
:=
Convert_abac_PolicySpec_To_v1beta1_PolicySpec
(
&
in
.
Spec
,
&
out
.
Spec
,
s
);
err
!=
nil
{
return
err
}
return
nil
}
// Convert_abac_Policy_To_v1beta1_Policy is an autogenerated conversion function.
func
Convert_abac_Policy_To_v1beta1_Policy
(
in
*
abac
.
Policy
,
out
*
Policy
,
s
conversion
.
Scope
)
error
{
return
autoConvert_abac_Policy_To_v1beta1_Policy
(
in
,
out
,
s
)
}
func
autoConvert_v1beta1_PolicySpec_To_abac_PolicySpec
(
in
*
PolicySpec
,
out
*
abac
.
PolicySpec
,
s
conversion
.
Scope
)
error
{
out
.
User
=
in
.
User
out
.
Group
=
in
.
Group
out
.
Readonly
=
in
.
Readonly
out
.
APIGroup
=
in
.
APIGroup
out
.
Resource
=
in
.
Resource
out
.
Namespace
=
in
.
Namespace
out
.
NonResourcePath
=
in
.
NonResourcePath
return
nil
}
// Convert_v1beta1_PolicySpec_To_abac_PolicySpec is an autogenerated conversion function.
func
Convert_v1beta1_PolicySpec_To_abac_PolicySpec
(
in
*
PolicySpec
,
out
*
abac
.
PolicySpec
,
s
conversion
.
Scope
)
error
{
return
autoConvert_v1beta1_PolicySpec_To_abac_PolicySpec
(
in
,
out
,
s
)
}
func
autoConvert_abac_PolicySpec_To_v1beta1_PolicySpec
(
in
*
abac
.
PolicySpec
,
out
*
PolicySpec
,
s
conversion
.
Scope
)
error
{
out
.
User
=
in
.
User
out
.
Group
=
in
.
Group
out
.
Readonly
=
in
.
Readonly
out
.
APIGroup
=
in
.
APIGroup
out
.
Resource
=
in
.
Resource
out
.
Namespace
=
in
.
Namespace
out
.
NonResourcePath
=
in
.
NonResourcePath
return
nil
}
// Convert_abac_PolicySpec_To_v1beta1_PolicySpec is an autogenerated conversion function.
func
Convert_abac_PolicySpec_To_v1beta1_PolicySpec
(
in
*
abac
.
PolicySpec
,
out
*
PolicySpec
,
s
conversion
.
Scope
)
error
{
return
autoConvert_abac_PolicySpec_To_v1beta1_PolicySpec
(
in
,
out
,
s
)
}
pkg/apis/abac/v1beta1/zz_generated.deepcopy.go
deleted
100644 → 0
View file @
77fde229
// +build !ignore_autogenerated
/*
Copyright 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.
*/
// Code generated by deepcopy-gen. DO NOT EDIT.
package
v1beta1
import
(
runtime
"k8s.io/apimachinery/pkg/runtime"
)
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func
(
in
*
Policy
)
DeepCopyInto
(
out
*
Policy
)
{
*
out
=
*
in
out
.
TypeMeta
=
in
.
TypeMeta
out
.
Spec
=
in
.
Spec
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Policy.
func
(
in
*
Policy
)
DeepCopy
()
*
Policy
{
if
in
==
nil
{
return
nil
}
out
:=
new
(
Policy
)
in
.
DeepCopyInto
(
out
)
return
out
}
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func
(
in
*
Policy
)
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
*
PolicySpec
)
DeepCopyInto
(
out
*
PolicySpec
)
{
*
out
=
*
in
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicySpec.
func
(
in
*
PolicySpec
)
DeepCopy
()
*
PolicySpec
{
if
in
==
nil
{
return
nil
}
out
:=
new
(
PolicySpec
)
in
.
DeepCopyInto
(
out
)
return
out
}
pkg/apis/abac/v1beta1/zz_generated.defaults.go
deleted
100644 → 0
View file @
77fde229
// +build !ignore_autogenerated
/*
Copyright 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.
*/
// Code generated by defaulter-gen. DO NOT EDIT.
package
v1beta1
import
(
runtime
"k8s.io/apimachinery/pkg/runtime"
)
// RegisterDefaults adds defaulters functions to the given scheme.
// Public to allow building arbitrary schemes.
// All generated defaulters are covering - they call all nested defaulters.
func
RegisterDefaults
(
scheme
*
runtime
.
Scheme
)
error
{
return
nil
}
pkg/apis/abac/zz_generated.deepcopy.go
deleted
100644 → 0
View file @
77fde229
// +build !ignore_autogenerated
/*
Copyright 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.
*/
// Code generated by deepcopy-gen. DO NOT EDIT.
package
abac
import
(
runtime
"k8s.io/apimachinery/pkg/runtime"
)
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func
(
in
*
Policy
)
DeepCopyInto
(
out
*
Policy
)
{
*
out
=
*
in
out
.
TypeMeta
=
in
.
TypeMeta
out
.
Spec
=
in
.
Spec
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Policy.
func
(
in
*
Policy
)
DeepCopy
()
*
Policy
{
if
in
==
nil
{
return
nil
}
out
:=
new
(
Policy
)
in
.
DeepCopyInto
(
out
)
return
out
}
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func
(
in
*
Policy
)
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
*
PolicySpec
)
DeepCopyInto
(
out
*
PolicySpec
)
{
*
out
=
*
in
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicySpec.
func
(
in
*
PolicySpec
)
DeepCopy
()
*
PolicySpec
{
if
in
==
nil
{
return
nil
}
out
:=
new
(
PolicySpec
)
in
.
DeepCopyInto
(
out
)
return
out
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment