mirror of
https://github.com/rancher/types.git
synced 2025-07-31 04:49:37 +00:00
GlobalDns CRD changes
This commit is contained in:
parent
eca6b068ee
commit
9244fec8ed
49
apis/management.cattle.io/v3/globaldns_types.go
Normal file
49
apis/management.cattle.io/v3/globaldns_types.go
Normal file
@ -0,0 +1,49 @@
|
||||
package v3
|
||||
|
||||
import (
|
||||
"github.com/rancher/norman/types"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
)
|
||||
|
||||
type GlobalDNS struct {
|
||||
types.Namespaced
|
||||
|
||||
metav1.TypeMeta `json:",inline"`
|
||||
// Standard object’s metadata. More info:
|
||||
// https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#metadata
|
||||
metav1.ObjectMeta `json:"metadata,omitempty"`
|
||||
|
||||
Spec GlobalDNSSpec `json:"spec,omitempty"`
|
||||
Status GlobalDNSStatus `json:"status,omitempty"`
|
||||
}
|
||||
|
||||
type GlobalDNSSpec struct {
|
||||
FQDN string `json:"fqdn,omitempty"`
|
||||
ProjectNames []string `json:"projectNames" norman:"type=array[reference[project]]"`
|
||||
MultiClusterAppName string `json:"multiClusterAppName,omitempty" norman:"type=reference[multiClusterApp]"`
|
||||
ProviderName string `json:"providerName,omitempty" norman:"type=reference[globalDnsProvider]"`
|
||||
}
|
||||
|
||||
type GlobalDNSStatus struct {
|
||||
Endpoints []string `json:"endpoints,omitempty"`
|
||||
}
|
||||
|
||||
type GlobalDNSProvider struct {
|
||||
metav1.TypeMeta `json:",inline"`
|
||||
// Standard object’s metadata. More info:
|
||||
// https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#metadata
|
||||
//ObjectMeta.Name = GlobalDNSProviderID
|
||||
metav1.ObjectMeta `json:"metadata,omitempty"`
|
||||
|
||||
Spec GlobalDNSProviderSpec `json:"spec,omitempty"`
|
||||
}
|
||||
|
||||
type GlobalDNSProviderSpec struct {
|
||||
Route53ProviderConfig *Route53ProviderConfig `json:"route53ProviderConfig,omitempty"`
|
||||
}
|
||||
|
||||
type Route53ProviderConfig struct {
|
||||
RootDomain string `json:"rootDomain" norman:"required"`
|
||||
AccessKey string `json:"accessKey"`
|
||||
SecretKey string `json:"secretKey" norman:"type=password"`
|
||||
}
|
@ -37,7 +37,8 @@ var (
|
||||
Init(composeType).
|
||||
Init(projectCatalogTypes).
|
||||
Init(clusterCatalogTypes).
|
||||
Init(multiClusterAppTypes)
|
||||
Init(multiClusterAppTypes).
|
||||
Init(globalDNSTypes)
|
||||
|
||||
TokenSchemas = factory.Schemas(&Version).
|
||||
Init(tokens)
|
||||
@ -586,3 +587,17 @@ func multiClusterAppTypes(schemas *types.Schemas) *types.Schemas {
|
||||
MustImport(&Version, v3.MultiClusterApp{}).
|
||||
MustImport(&Version, v3.Target{})
|
||||
}
|
||||
|
||||
func globalDNSTypes(schemas *types.Schemas) *types.Schemas {
|
||||
return schemas.
|
||||
TypeName("globalDns", v3.GlobalDNS{}).
|
||||
TypeName("globalDnsProvider", v3.GlobalDNSProvider{}).
|
||||
TypeName("globalDnsSpec", v3.GlobalDNSSpec{}).
|
||||
TypeName("globalDnsStatus", v3.GlobalDNSStatus{}).
|
||||
TypeName("globalDnsProviderSpec", v3.GlobalDNSProviderSpec{}).
|
||||
AddMapperForType(&Version, v3.GlobalDNS{}, m.Drop{Field: "namespaceId"}).
|
||||
MustImportAndCustomize(&Version, v3.GlobalDNS{}, func(schema *types.Schema) {
|
||||
}).
|
||||
MustImportAndCustomize(&Version, v3.GlobalDNSProvider{}, func(schema *types.Schema) {
|
||||
})
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user