1
0
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:
Prachi Damle 2018-11-28 16:10:33 -08:00 committed by Alena Prokharchyk
parent eca6b068ee
commit 9244fec8ed
2 changed files with 65 additions and 1 deletions

View 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 objects 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 objects 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"`
}

View File

@ -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) {
})
}