1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
package apigen
import (
"reflect"
eventsv1alpha1 "github.com/johnandersen777/socialweb-computer-kcp/api/events/v1alpha1"
exposurev1alpha1 "github.com/johnandersen777/socialweb-computer-kcp/api/exposure/v1alpha1"
pdsv1alpha1 "github.com/johnandersen777/socialweb-computer-kcp/api/pds/v1alpha1"
policyv1alpha1 "github.com/johnandersen777/socialweb-computer-kcp/api/policy/v1alpha1"
v1alpha1 "github.com/johnandersen777/socialweb-computer-kcp/api/v1alpha1"
)
type Group struct {
Dir string
Package string
Group string
Version string
Resources []v1alpha1.APIResource
}
func Groups() []Group {
return []Group{
{
Dir: "api/v1alpha1",
Package: reflect.TypeFor[v1alpha1.Cluster]().PkgPath(),
Group: v1alpha1.GroupName,
Version: v1alpha1.Version,
Resources: v1alpha1.APIResources,
},
{
Dir: "api/policy/v1alpha1",
Package: reflect.TypeFor[policyv1alpha1.PolicyEngine]().PkgPath(),
Group: policyv1alpha1.GroupName,
Version: policyv1alpha1.Version,
Resources: policyv1alpha1.APIResources,
},
{
Dir: "api/exposure/v1alpha1",
Package: reflect.TypeFor[exposurev1alpha1.Service]().PkgPath(),
Group: exposurev1alpha1.GroupName,
Version: exposurev1alpha1.Version,
Resources: exposurev1alpha1.APIResources,
},
{
Dir: "api/pds/v1alpha1",
Package: reflect.TypeFor[pdsv1alpha1.RemotePDS]().PkgPath(),
Group: pdsv1alpha1.GroupName,
Version: pdsv1alpha1.Version,
Resources: pdsv1alpha1.APIResources,
},
{
Dir: "api/events/v1alpha1",
Package: reflect.TypeFor[eventsv1alpha1.EventStream]().PkgPath(),
Group: eventsv1alpha1.GroupName,
Version: eventsv1alpha1.Version,
Resources: eventsv1alpha1.APIResources,
},
}
}