manifests

package
v0.2.1-patch-1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 16, 2024 License: MIT Imports: 21 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// NginxResourceTypes is a list of resource types used to deploy the Nginx Ingress Controller
	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",
		},
	}
)
View Source
var (
	// 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
	OldExternalDnsGks []schema.GroupKind
)

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

func GetTopLevelLabels() map[string]string

GetTopLevelLabels returns labels that every resource App Routing manages have

func HasTopLevelLabels added in v0.0.6

func HasTopLevelLabels(objLabels map[string]string) bool

HasTopLevelLabels returns true if the given labels match the top level labels

func Namespace added in v0.1.0

func Namespace(conf *config.Config) *corev1.Namespace

func WithPreferSystemNodes

func WithPreferSystemNodes(spec *corev1.PodSpec) *corev1.PodSpec

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
	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 Provider added in v0.0.2

type Provider int
const (
	PublicProvider Provider = iota
	PrivateProvider
)

func (Provider) Labels added in v0.0.2

func (p Provider) Labels() map[string]string

func (Provider) ResourceName added in v0.0.2

func (p Provider) ResourceName() string

func (Provider) String added in v0.0.2

func (p Provider) String() string

type ServiceConfig added in v0.0.2

type ServiceConfig struct {
	Annotations map[string]string
}

ServiceConfig defines configuration options for required resources for a Service that goes with an Ingress

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL