Documentation
¶
Index ¶
- Variables
- func ExternalDnsResources(conf *config.Config, externalDnsConfigs []*ExternalDnsConfig) []client.Object
- func GetOwnerRefs(owner client.Object, controller bool) []metav1.OwnerReference
- func GetTopLevelLabels() map[string]string
- func HasTopLevelLabels(objLabels map[string]string) bool
- func Namespace(conf *config.Config) *corev1.Namespace
- func WithPreferSystemNodes(spec *corev1.PodSpec) *corev1.PodSpec
- type ExternalDnsConfig
- type NginxIngressConfig
- type NginxResources
- type Provider
- type ServiceConfig
Constants ¶
This section is empty.
Variables ¶
var NginxResourceTypes = []resourceType{ { Group: netv1.GroupName, Version: netv1.SchemeGroupVersion.Version, Name: "IngressClass", }, { Group: corev1.GroupName, Version: corev1.SchemeGroupVersion.Version, Name: "ServiceAccount", }, { Group: rbacv1.GroupName, Version: rbacv1.SchemeGroupVersion.Version, Name: "ClusterRole", }, { Group: rbacv1.GroupName, Version: rbacv1.SchemeGroupVersion.Version, Name: "Role", }, { Group: rbacv1.GroupName, Version: rbacv1.SchemeGroupVersion.Version, Name: "ClusterRoleBinding", }, { Group: rbacv1.GroupName, Version: rbacv1.SchemeGroupVersion.Version, Name: "RoleBinding", }, { Group: corev1.GroupName, Version: corev1.SchemeGroupVersion.Version, Name: "Service", }, { Group: appsv1.GroupName, Version: appsv1.SchemeGroupVersion.Version, Name: "Deployment", }, { Group: corev1.GroupName, Version: corev1.SchemeGroupVersion.Version, Name: "ConfigMap", }, { Group: policyv1.GroupName, Version: policyv1.SchemeGroupVersion.Version, Name: "PodDisruptionBudget", }, { Group: autov1.GroupName, Version: autov1.SchemeGroupVersion.Version, Name: "HorizontalPodAutoscaler", }, }
NginxResourceTypes is a list of resource types used to deploy the Nginx Ingress Controller
var OldExternalDnsGks []schema.GroupKind
OldExternalDnsGks is a slice of GroupKinds that were previously used by ExternalDns. If the manifests used by app routing's external dns removes a GroupKind be sure to add it here to clean it up
var Providers = []Provider{PublicProvider, PrivateProvider}
Functions ¶
func ExternalDnsResources ¶ added in v0.0.2
func ExternalDnsResources(conf *config.Config, externalDnsConfigs []*ExternalDnsConfig) []client.Object
ExternalDnsResources returns Kubernetes objects required for external dns
func GetOwnerRefs ¶ added in v0.1.0
func GetOwnerRefs(owner client.Object, controller bool) []metav1.OwnerReference
GetOwnerRefs returns the owner references for the given object
func GetTopLevelLabels ¶ added in v0.0.3
GetTopLevelLabels returns labels that every resource App Routing manages have
func HasTopLevelLabels ¶ added in v0.0.6
HasTopLevelLabels returns true if the given labels match the top level labels
Types ¶
type ExternalDnsConfig ¶ added in v0.0.2
type ExternalDnsConfig struct {
TenantId, Subscription, ResourceGroup string
Provider Provider
DnsZoneResourceIDs []string
}
ExternalDnsConfig defines configuration options for required resources for external dns
type NginxIngressConfig ¶ added in v0.0.2
type NginxIngressConfig struct {
ControllerClass string // controller class which is equivalent to controller field of IngressClass
ResourceName string // name given to all resources
IcName string // IngressClass name
ServiceConfig *ServiceConfig // service config that specifies details about the LB, defaults if nil
}
NginxIngressConfig defines configuration options for required resources for an Ingress
func (*NginxIngressConfig) PodLabels ¶ added in v0.0.2
func (n *NginxIngressConfig) PodLabels() map[string]string
type NginxResources ¶ added in v0.1.0
type NginxResources struct {
Namespace *corev1.Namespace
IngressClass *netv1.IngressClass
ServiceAccount *corev1.ServiceAccount
ClusterRole *rbacv1.ClusterRole
Role *rbacv1.Role
ClusterRoleBinding *rbacv1.ClusterRoleBinding
RoleBinding *rbacv1.RoleBinding
Service *corev1.Service
PromService *corev1.Service
Deployment *appsv1.Deployment
ConfigMap *corev1.ConfigMap
HorizontalPodAutoscaler *autov1.HorizontalPodAutoscaler
PodDisruptionBudget *policyv1.PodDisruptionBudget
}
NginxResources is a struct that represents the Kubernetes resources that are created for the Nginx Ingress Controller. When these resources are acted upon by client-go, the fields here are updated since they are pointers to the actual resources.
func GetNginxResources ¶ added in v0.1.0
func GetNginxResources(conf *config.Config, ingressConfig *NginxIngressConfig) *NginxResources
func (*NginxResources) Objects ¶ added in v0.1.0
func (n *NginxResources) Objects() []client.Object
type ServiceConfig ¶ added in v0.0.2
ServiceConfig defines configuration options for required resources for a Service that goes with an Ingress