|
6 | 6 | package v1alpha1 |
7 | 7 |
|
8 | 8 | import ( |
| 9 | + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" |
| 10 | + "k8s.io/apimachinery/pkg/runtime" |
9 | 11 | "k8s.io/apimachinery/pkg/runtime/schema" |
10 | 12 | "sigs.k8s.io/controller-runtime/pkg/scheme" |
11 | 13 | ) |
12 | 14 |
|
13 | 15 | const GroupName = "gateway.envoyproxy.io" |
14 | 16 |
|
15 | 17 | var ( |
16 | | - |
17 | 18 | // GroupVersion is group version used to register these objects |
18 | 19 | GroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"} |
19 | 20 |
|
| 21 | + // SchemeGroupVersion is an alias for GroupVersion for code-generator compatibility |
| 22 | + SchemeGroupVersion = GroupVersion |
| 23 | + |
20 | 24 | // SchemeBuilder is used to add go types to the GroupVersionKind scheme |
21 | | - SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} |
| 25 | + SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) |
| 26 | + |
| 27 | + // localSchemeBuilder is used for controller-runtime compatibility |
| 28 | + localSchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} |
22 | 29 |
|
23 | 30 | // AddToScheme adds the types in this group-version to the given scheme. |
24 | 31 | AddToScheme = SchemeBuilder.AddToScheme |
25 | 32 | ) |
| 33 | + |
| 34 | +// Resource takes an unqualified resource and returns a Group qualified GroupResource |
| 35 | +func Resource(resource string) schema.GroupResource { |
| 36 | + return GroupVersion.WithResource(resource).GroupResource() |
| 37 | +} |
| 38 | + |
| 39 | +// addKnownTypes adds the set of types defined in this package to the supplied scheme. |
| 40 | +func addKnownTypes(scheme *runtime.Scheme) error { |
| 41 | + scheme.AddKnownTypes(GroupVersion, |
| 42 | + &Backend{}, |
| 43 | + &BackendList{}, |
| 44 | + &BackendTrafficPolicy{}, |
| 45 | + &BackendTrafficPolicyList{}, |
| 46 | + &ClientTrafficPolicy{}, |
| 47 | + &ClientTrafficPolicyList{}, |
| 48 | + &EnvoyExtensionPolicy{}, |
| 49 | + &EnvoyExtensionPolicyList{}, |
| 50 | + &EnvoyPatchPolicy{}, |
| 51 | + &EnvoyPatchPolicyList{}, |
| 52 | + &EnvoyProxy{}, |
| 53 | + &EnvoyProxyList{}, |
| 54 | + &HTTPRouteFilter{}, |
| 55 | + &HTTPRouteFilterList{}, |
| 56 | + &SecurityPolicy{}, |
| 57 | + &SecurityPolicyList{}, |
| 58 | + ) |
| 59 | + metav1.AddToGroupVersion(scheme, GroupVersion) |
| 60 | + return nil |
| 61 | +} |
0 commit comments