mirror of
https://github.com/rancher/types.git
synced 2025-07-30 20:44:34 +00:00
PublicEndpoints to node/service/pod
This commit is contained in:
parent
3c6d1ba9b8
commit
c15c1cf920
@ -3,6 +3,7 @@ package schema
|
||||
import (
|
||||
"github.com/rancher/norman/types"
|
||||
m "github.com/rancher/norman/types/mapper"
|
||||
"github.com/rancher/types/apis/project.cattle.io/v3"
|
||||
"github.com/rancher/types/apis/project.cattle.io/v3/schema"
|
||||
"github.com/rancher/types/factory"
|
||||
"github.com/rancher/types/mapper"
|
||||
@ -56,6 +57,7 @@ func NodeTypes(version *types.APIVersion, schemas *types.Schemas) *types.Schemas
|
||||
}}).
|
||||
AddMapperForType(version, v1.Node{},
|
||||
&m.AnnotationField{Field: "description"},
|
||||
&m.AnnotationField{Field: "publicEndpoints", List: true},
|
||||
&m.Embed{Field: "status"},
|
||||
).
|
||||
MustImport(version, v1.NodeStatus{}, struct {
|
||||
@ -63,8 +65,10 @@ func NodeTypes(version *types.APIVersion, schemas *types.Schemas) *types.Schemas
|
||||
Hostname string
|
||||
Info NodeInfo
|
||||
}{}).
|
||||
MustImport(version, v3.PublicEndpoint{}).
|
||||
MustImport(version, v1.Node{}, struct {
|
||||
Description string `json:"description"`
|
||||
Description string `json:"description"`
|
||||
PublicEndpoints string `json:"publicEndpoints" norman:"type=array[publicEndpoint],nocreate,noupdate"`
|
||||
}{})
|
||||
}
|
||||
|
||||
|
@ -295,8 +295,10 @@ func podTypes(schemas *types.Schemas) *types.Schemas {
|
||||
AddMapperForType(&Version, v1.ResourceRequirements{},
|
||||
mapper.PivotMapper{Plural: true},
|
||||
).
|
||||
MustImport(&Version, v3.PublicEndpoint{}).
|
||||
AddMapperForType(&Version, v1.Pod{},
|
||||
&m.AnnotationField{Field: "description"},
|
||||
&m.AnnotationField{Field: "publicEndpoints", List: true},
|
||||
).
|
||||
// Must import handlers before Container
|
||||
MustImport(&Version, v1.Capabilities{}, struct {
|
||||
@ -320,8 +322,9 @@ func podTypes(schemas *types.Schemas) *types.Schemas {
|
||||
PullPolicy string `norman:"type=enum,options=Always|Never|IfNotPresent,default=IfNotPresent"`
|
||||
}{}).
|
||||
MustImport(&Version, v1.Pod{}, projectOverride{}, struct {
|
||||
Description string `json:"description"`
|
||||
WorkloadID string `norman:"type=reference[workload]"`
|
||||
Description string `json:"description"`
|
||||
WorkloadID string `norman:"type=reference[workload]"`
|
||||
PublicEndpoints string `json:"publicEndpoints" norman:"type=array[publicEndpoint],nocreate,noupdate"`
|
||||
}{})
|
||||
}
|
||||
|
||||
@ -368,6 +371,7 @@ func addServiceOrDNSRecord(dns bool) types.SchemasInitFunc {
|
||||
&m.AnnotationField{Field: "ipAddresses", List: true},
|
||||
&m.AnnotationField{Field: "targetWorkloadIds", List: true},
|
||||
&m.AnnotationField{Field: "targetDnsRecordIds", List: true},
|
||||
&m.AnnotationField{Field: "publicEndpoints", List: true},
|
||||
&m.Move{From: "serviceKind", To: "kind"},
|
||||
)
|
||||
|
||||
@ -402,6 +406,7 @@ func addServiceOrDNSRecord(dns bool) types.SchemasInitFunc {
|
||||
WorkloadID string `json:"workloadId" norman:"type=reference[workload],nocreate,noupdate"`
|
||||
TargetWorkloadIDs string `json:"targetWorkloadIds" norman:"type=array[reference[workload]]"`
|
||||
TargetDNSRecordIDs string `json:"targetDnsRecordIds" norman:"type=array[reference[dnsRecord]]"`
|
||||
PublicEndpoints string `json:"publicEndpoints" norman:"type=array[publicEndpoint],nocreate,noupdate"`
|
||||
}{})
|
||||
}
|
||||
}
|
||||
|
@ -141,3 +141,15 @@ type SSHAuth struct {
|
||||
Fingerprint string `json:"certFingerprint" norman:"nocreate,noupdate"`
|
||||
}
|
||||
type NamespacedSSHAuth SSHAuth
|
||||
|
||||
type PublicEndpoint struct {
|
||||
Node string `json:"node,omitempty" norman:"type=reference[node],nocreate,noupdate"`
|
||||
Address string `json:"address,omitempty" norman:"nocreate,noupdate"`
|
||||
Port int32 `json:"port,omitempty" norman:"nocreate,noupdate"`
|
||||
Protocol string `json:"protocol,omitempty" norman:"nocreate,noupdate"`
|
||||
// for node port service
|
||||
Service string `json:"service,omitempty" norman:"type=reference[service],nocreate,noupdate"`
|
||||
// for host port
|
||||
Pod string `json:"pod,omitempty" norman:"type=reference[pod],nocreate,noupdate"`
|
||||
//serviceName and podName are mutually exclusive
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user