1
0
mirror of https://github.com/rancher/types.git synced 2025-05-08 15:16:18 +00:00

Update APIs being used

This commit is contained in:
Dan Ramich 2019-08-28 16:35:54 -07:00 committed by Craig Jellick
parent b8273c5853
commit 3aced2bfa2
4 changed files with 70 additions and 44 deletions
apis
management.cattle.io/v3
project.cattle.io/v3/schema
config
main.go

View File

@ -4,7 +4,7 @@ import (
"github.com/rancher/norman/condition"
"github.com/rancher/norman/types"
v1 "k8s.io/api/core/v1"
extv1 "k8s.io/api/extensions/v1beta1"
policyv1 "k8s.io/api/policy/v1beta1"
rbacv1 "k8s.io/api/rbac/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
@ -99,8 +99,8 @@ type PodSecurityPolicyTemplate struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Description string `json:"description"`
Spec extv1.PodSecurityPolicySpec `json:"spec,omitempty"`
Description string `json:"description"`
Spec policyv1.PodSecurityPolicySpec `json:"spec,omitempty"`
}
type PodSecurityPolicyTemplateProjectBinding struct {

View File

@ -10,7 +10,8 @@ import (
v3 "github.com/rancher/types/apis/project.cattle.io/v3"
"github.com/rancher/types/factory"
"github.com/rancher/types/mapper"
"k8s.io/api/apps/v1beta2"
appsv1 "k8s.io/api/apps/v1"
k8sappv1 "k8s.io/api/apps/v1"
autoscaling "k8s.io/api/autoscaling/v2beta2"
batchv1 "k8s.io/api/batch/v1"
batchv1beta1 "k8s.io/api/batch/v1beta1"
@ -136,7 +137,7 @@ func workloadTypes(schemas *types.Schemas) *types.Schemas {
func statefulSetTypes(schemas *types.Schemas) *types.Schemas {
return schemas.
AddMapperForType(&Version, v1beta2.StatefulSetUpdateStrategy{},
AddMapperForType(&Version, k8sappv1.StatefulSetUpdateStrategy{},
&m.Embed{Field: "rollingUpdate"},
m.Enum{Field: "type", Options: []string{
"RollingUpdate",
@ -144,7 +145,7 @@ func statefulSetTypes(schemas *types.Schemas) *types.Schemas {
}},
m.Move{From: "type", To: "strategy"},
).
AddMapperForType(&Version, v1beta2.StatefulSetSpec{},
AddMapperForType(&Version, k8sappv1.StatefulSetSpec{},
&m.Move{
From: "replicas",
To: "scale",
@ -171,15 +172,15 @@ func statefulSetTypes(schemas *types.Schemas) *types.Schemas {
&m.Embed{Field: "template"},
).
MustImport(&Version, v3.WorkloadMetric{}).
AddMapperForType(&Version, v1beta2.StatefulSet{},
AddMapperForType(&Version, k8sappv1.StatefulSet{},
&m.Move{
From: "status",
To: "statefulSetStatus",
},
NewWorkloadTypeMapper(),
).
MustImport(&Version, v1beta2.StatefulSetSpec{}, statefulSetConfigOverride{}).
MustImportAndCustomize(&Version, v1beta2.StatefulSet{}, func(schema *types.Schema) {
MustImport(&Version, k8sappv1.StatefulSetSpec{}, statefulSetConfigOverride{}).
MustImportAndCustomize(&Version, k8sappv1.StatefulSet{}, func(schema *types.Schema) {
schema.BaseType = "workload"
schema.MustCustomizeField("name", func(field types.Field) types.Field {
field.Type = "dnsLabelRestricted"
@ -195,7 +196,7 @@ func statefulSetTypes(schemas *types.Schemas) *types.Schemas {
func replicaSetTypes(schemas *types.Schemas) *types.Schemas {
return schemas.
AddMapperForType(&Version, v1beta1.ReplicaSetSpec{},
AddMapperForType(&Version, appsv1.ReplicaSetSpec{},
&m.Move{
From: "replicas",
To: "scale",
@ -206,7 +207,7 @@ func replicaSetTypes(schemas *types.Schemas) *types.Schemas {
},
).
MustImport(&Version, v3.WorkloadMetric{}).
AddMapperForType(&Version, v1beta1.ReplicaSet{},
AddMapperForType(&Version, appsv1.ReplicaSet{},
&m.Move{
From: "status",
To: "replicaSetStatus",
@ -214,8 +215,8 @@ func replicaSetTypes(schemas *types.Schemas) *types.Schemas {
&m.Embed{Field: "template"},
NewWorkloadTypeMapper(),
).
MustImport(&Version, v1beta1.ReplicaSetSpec{}, replicaSetConfigOverride{}).
MustImportAndCustomize(&Version, v1beta1.ReplicaSet{}, func(schema *types.Schema) {
MustImport(&Version, appsv1.ReplicaSetSpec{}, replicaSetConfigOverride{}).
MustImportAndCustomize(&Version, appsv1.ReplicaSet{}, func(schema *types.Schema) {
schema.BaseType = "workload"
schema.MustCustomizeField("name", func(field types.Field) types.Field {
field.Type = "dnsLabelRestricted"
@ -269,7 +270,7 @@ func replicationControllerTypes(schemas *types.Schemas) *types.Schemas {
func daemonSetTypes(schemas *types.Schemas) *types.Schemas {
return schemas.
AddMapperForType(&Version, v1beta2.DaemonSetUpdateStrategy{},
AddMapperForType(&Version, k8sappv1.DaemonSetUpdateStrategy{},
&m.Embed{Field: "rollingUpdate"},
m.Enum{Field: "type", Options: []string{
"RollingUpdate",
@ -277,7 +278,7 @@ func daemonSetTypes(schemas *types.Schemas) *types.Schemas {
}},
m.Move{From: "type", To: "strategy"},
).
AddMapperForType(&Version, v1beta2.DaemonSetSpec{},
AddMapperForType(&Version, k8sappv1.DaemonSetSpec{},
&m.Embed{Field: "updateStrategy"},
&m.BatchMove{
From: []string{
@ -291,15 +292,15 @@ func daemonSetTypes(schemas *types.Schemas) *types.Schemas {
&m.Embed{Field: "template"},
).
MustImport(&Version, v3.WorkloadMetric{}).
AddMapperForType(&Version, v1beta2.DaemonSet{},
AddMapperForType(&Version, k8sappv1.DaemonSet{},
&m.Move{
From: "status",
To: "daemonSetStatus",
},
NewWorkloadTypeMapper(),
).
MustImport(&Version, v1beta2.DaemonSetSpec{}, daemonSetOverride{}).
MustImportAndCustomize(&Version, v1beta2.DaemonSet{}, func(schema *types.Schema) {
MustImport(&Version, k8sappv1.DaemonSetSpec{}, daemonSetOverride{}).
MustImportAndCustomize(&Version, k8sappv1.DaemonSet{}, func(schema *types.Schema) {
schema.BaseType = "workload"
schema.MustCustomizeField("name", func(field types.Field) types.Field {
field.Type = "dnsLabelRestricted"
@ -421,7 +422,7 @@ func cronJobTypes(schemas *types.Schemas) *types.Schemas {
func deploymentTypes(schemas *types.Schemas) *types.Schemas {
return schemas.
AddMapperForType(&Version, v1beta2.DeploymentStrategy{},
AddMapperForType(&Version, k8sappv1.DeploymentStrategy{},
&m.Embed{Field: "rollingUpdate", EmptyValueOk: true},
m.Enum{Field: "type", Options: []string{
"Recreate",
@ -429,7 +430,7 @@ func deploymentTypes(schemas *types.Schemas) *types.Schemas {
}},
m.Move{From: "type", To: "strategy"},
).
AddMapperForType(&Version, v1beta2.DeploymentSpec{},
AddMapperForType(&Version, k8sappv1.DeploymentSpec{},
&m.Move{
From: "strategy",
To: "upgradeStrategy",
@ -453,16 +454,16 @@ func deploymentTypes(schemas *types.Schemas) *types.Schemas {
&m.Embed{Field: "template"},
).
MustImport(&Version, v3.WorkloadMetric{}).
AddMapperForType(&Version, v1beta2.Deployment{},
AddMapperForType(&Version, k8sappv1.Deployment{},
&m.Move{
From: "status",
To: "deploymentStatus",
},
NewWorkloadTypeMapper(),
).
MustImport(&Version, v1beta2.DeploymentSpec{}, deploymentConfigOverride{}).
MustImport(&Version, k8sappv1.DeploymentSpec{}, deploymentConfigOverride{}).
MustImport(&Version, v3.DeploymentRollbackInput{}).
MustImportAndCustomize(&Version, v1beta2.Deployment{}, func(schema *types.Schema) {
MustImportAndCustomize(&Version, k8sappv1.Deployment{}, func(schema *types.Schema) {
schema.BaseType = "workload"
schema.ResourceActions = map[string]types.Action{
"rollback": {

View File

@ -9,7 +9,7 @@ import (
"github.com/rancher/norman/store/proxy"
"github.com/rancher/norman/types"
apiregistrationv1 "github.com/rancher/types/apis/apiregistration.k8s.io/v1"
appsv1beta2 "github.com/rancher/types/apis/apps/v1beta2"
appsv1 "github.com/rancher/types/apis/apps/v1"
autoscaling "github.com/rancher/types/apis/autoscaling/v2beta2"
batchv1 "github.com/rancher/types/apis/batch/v1"
batchv1beta1 "github.com/rancher/types/apis/batch/v1beta1"
@ -22,6 +22,7 @@ import (
monitoringv1 "github.com/rancher/types/apis/monitoring.coreos.com/v1"
istiov1alpha3 "github.com/rancher/types/apis/networking.istio.io/v1alpha3"
knetworkingv1 "github.com/rancher/types/apis/networking.k8s.io/v1"
policyv1beta1 "github.com/rancher/types/apis/policy/v1beta1"
projectv3 "github.com/rancher/types/apis/project.cattle.io/v3"
projectSchema "github.com/rancher/types/apis/project.cattle.io/v3/schema"
rbacv1 "github.com/rancher/types/apis/rbac.authorization.k8s.io/v1"
@ -181,7 +182,7 @@ type UserContext struct {
K8sClient kubernetes.Interface
APIAggregation apiregistrationv1.Interface
Apps appsv1beta2.Interface
Apps appsv1.Interface
Autoscaling autoscaling.Interface
Project projectv3.Interface
Core corev1.Interface
@ -194,6 +195,7 @@ type UserContext struct {
Cluster clusterv3.Interface
Istio istiov1alpha3.Interface
Storage storagev1.Interface
Policy policyv1beta1.Interface
}
func (w *UserContext) controllers() []controller.Starter {
@ -210,6 +212,7 @@ func (w *UserContext) controllers() []controller.Starter {
w.Monitoring,
w.Cluster,
w.Storage,
w.Policy,
}
}
@ -233,6 +236,7 @@ func (w *UserContext) UserOnlyContext() *UserOnlyContext {
Cluster: w.Cluster,
Istio: w.Istio,
Storage: w.Storage,
Policy: w.Policy,
}
}
@ -244,7 +248,7 @@ type UserOnlyContext struct {
K8sClient kubernetes.Interface
APIRegistration apiregistrationv1.Interface
Apps appsv1beta2.Interface
Apps appsv1.Interface
Autoscaling autoscaling.Interface
Project projectv3.Interface
Core corev1.Interface
@ -256,6 +260,7 @@ type UserOnlyContext struct {
Cluster clusterv3.Interface
Istio istiov1alpha3.Interface
Storage storagev1.Interface
Policy policyv1beta1.Interface
}
func (w *UserOnlyContext) controllers() []controller.Starter {
@ -270,6 +275,7 @@ func (w *UserOnlyContext) controllers() []controller.Starter {
w.BatchV1Beta1,
w.Monitoring,
w.Storage,
w.Policy,
}
}
@ -364,7 +370,7 @@ func NewUserContext(scaledContext *ScaledContext, config rest.Config, clusterNam
return nil, err
}
context.Apps, err = appsv1beta2.NewForConfig(config)
context.Apps, err = appsv1.NewForConfig(config)
if err != nil {
return nil, err
}
@ -399,6 +405,11 @@ func NewUserContext(scaledContext *ScaledContext, config rest.Config, clusterNam
return nil, err
}
context.Policy, err = policyv1beta1.NewForConfig(config)
if err != nil {
return nil, err
}
context.BatchV1, err = batchv1.NewForConfig(config)
if err != nil {
return nil, err
@ -470,7 +481,7 @@ func NewUserOnlyContext(config rest.Config) (*UserOnlyContext, error) {
return nil, err
}
context.Apps, err = appsv1beta2.NewForConfig(config)
context.Apps, err = appsv1.NewForConfig(config)
if err != nil {
return nil, err
}
@ -500,6 +511,11 @@ func NewUserOnlyContext(config rest.Config) (*UserOnlyContext, error) {
return nil, err
}
context.Policy, err = policyv1beta1.NewForConfig(config)
if err != nil {
return nil, err
}
context.BatchV1, err = batchv1.NewForConfig(config)
if err != nil {
return nil, err

41
main.go
View File

@ -11,14 +11,15 @@ import (
publicSchema "github.com/rancher/types/apis/management.cattle.io/v3public/schema"
projectSchema "github.com/rancher/types/apis/project.cattle.io/v3/schema"
"github.com/rancher/types/generator"
"k8s.io/api/apps/v1beta2"
appsv1 "k8s.io/api/apps/v1"
scalingv2beta2 "k8s.io/api/autoscaling/v2beta2"
batchv1 "k8s.io/api/batch/v1"
batchv1beta1 "k8s.io/api/batch/v1beta1"
scalingv2beta2 "k8s.io/api/autoscaling/v2beta2"
v1 "k8s.io/api/core/v1"
extv1beta1 "k8s.io/api/extensions/v1beta1"
knetworkingv1 "k8s.io/api/networking/v1"
policyv1beta1 "k8s.io/api/policy/v1beta1"
rbacv1 "k8s.io/api/rbac/v1"
storagev1 "k8s.io/api/storage/v1"
k8sschema "k8s.io/apimachinery/pkg/runtime/schema"
@ -53,11 +54,11 @@ func main() {
v1.Namespace{},
v1.Event{},
})
generator.GenerateNativeTypes(v1beta2.SchemeGroupVersion, []interface{}{
v1beta2.Deployment{},
v1beta2.DaemonSet{},
v1beta2.StatefulSet{},
v1beta2.ReplicaSet{},
generator.GenerateNativeTypes(appsv1.SchemeGroupVersion, []interface{}{
appsv1.Deployment{},
appsv1.DaemonSet{},
appsv1.StatefulSet{},
appsv1.ReplicaSet{},
}, nil)
generator.GenerateNativeTypes(rbacv1.SchemeGroupVersion, []interface{}{
rbacv1.RoleBinding{},
@ -79,13 +80,20 @@ func main() {
[]interface{}{
extv1beta1.Ingress{},
},
nil,
)
generator.GenerateNativeTypes(policyv1beta1.SchemeGroupVersion,
nil,
[]interface{}{
extv1beta1.PodSecurityPolicy{},
policyv1beta1.PodSecurityPolicy{},
},
)
generator.GenerateNativeTypes(storagev1.SchemeGroupVersion,
nil,
[]interface{}{
storagev1.StorageClass{},
},
)
generator.GenerateNativeTypes(storagev1.SchemeGroupVersion, nil, []interface{}{
storagev1.StorageClass{},
})
generator.GenerateNativeTypes(
k8sschema.GroupVersion{Group: monitoringv1.Group, Version: monitoringv1.Version},
[]interface{}{
@ -94,23 +102,24 @@ func main() {
monitoringv1.PrometheusRule{},
monitoringv1.ServiceMonitor{},
},
[]interface{}{},
nil,
)
generator.GenerateNativeTypes(scalingv2beta2.SchemeGroupVersion,
[]interface{}{
scalingv2beta2.HorizontalPodAutoscaler{},
},
[]interface{}{},
nil,
)
generator.GenerateNativeTypes(istiov1alpha3.SchemeGroupVersion,
[]interface{}{
istiov1alpha3.VirtualService{},
istiov1alpha3.DestinationRule{},
},
[]interface{}{},
nil,
)
generator.GenerateNativeTypes(apiregistrationv1.SchemeGroupVersion,
[]interface{}{}, []interface{}{
nil,
[]interface{}{
apiregistrationv1.APIService{},
},
)