Documentation ¶
Index ¶
- Constants
- func PrettyPrintServiceList(services map[string]*corev1.Service) string
- func RawConfigToConfiguration(config apiextensionsv1.JSON) (kong.Configuration, error)
- func SecretToConfiguration(s SecretGetter, reference configurationv1.SecretValueFromSource, ...) (kong.Configuration, error)
- type ACLGroup
- type BasicAuth
- type Certificate
- type Consumer
- type HMACAuth
- type JWTAuth
- type KeyAuth
- type KongState
- type MTLSAuth
- type Oauth2Credential
- type Plugin
- type PortDef
- type PortMode
- type Route
- type SecretGetter
- type Service
- type ServiceBackend
- type ServiceBackends
- type Services
- type Target
- type Upstream
Constants ¶
const ImplicitPort = "implicitPort"
Variables ¶
This section is empty.
Functions ¶
func PrettyPrintServiceList ¶ added in v2.4.0
PrettyPrintServiceList makes a clean printable list of a map of Kubernetes services for the purpose of logging (errors, info, e.t.c.).
func RawConfigToConfiguration ¶
func RawConfigToConfiguration(config apiextensionsv1.JSON) (kong.Configuration, error)
func SecretToConfiguration ¶
func SecretToConfiguration( s SecretGetter, reference configurationv1.SecretValueFromSource, namespace string) ( kong.Configuration, error, )
Types ¶
type ACLGroup ¶
ACLGroup represents an ACL associated with a consumer. Due to ACL implementation in Kong being similar to credentials, ACLs are treated as credentials, too.
func NewACLGroup ¶
type BasicAuth ¶
BasicAuth represents a basic authentication credential.
func NewBasicAuth ¶
func (*BasicAuth) SanitizedCopy ¶
SanitizedCopy returns a shallow copy with sensitive values redacted best-effort.
type Certificate ¶
type Certificate struct {
kong.Certificate
}
Certificate represents the certificate object in Kong.
func (*Certificate) SanitizedCopy ¶
func (c *Certificate) SanitizedCopy() *Certificate
SanitizedCopy returns a shallow copy with sensitive values redacted best-effort.
type Consumer ¶
type Consumer struct { kong.Consumer Plugins []kong.Plugin KeyAuths []*KeyAuth HMACAuths []*HMACAuth JWTAuths []*JWTAuth BasicAuths []*BasicAuth ACLGroups []*ACLGroup Oauth2Creds []*Oauth2Credential MTLSAuths []*MTLSAuth K8sKongConsumer configurationv1.KongConsumer }
Consumer holds a Kong consumer and its plugins and credentials.
func (*Consumer) SanitizedCopy ¶
SanitizedCopy returns a shallow copy with sensitive values redacted best-effort.
type HMACAuth ¶
HMACAuth represents a HMAC credential.
func NewHMACAuth ¶
func (*HMACAuth) SanitizedCopy ¶
SanitizedCopy returns a shallow copy with sensitive values redacted best-effort.
type JWTAuth ¶
JWTAuth represents a JWT credential.
func NewJWTAuth ¶
func (*JWTAuth) SanitizedCopy ¶
SanitizedCopy returns a shallow copy with sensitive values redacted best-effort.
type KeyAuth ¶
KeyAuth represents a key-auth credential.
func NewKeyAuth ¶
func (*KeyAuth) SanitizedCopy ¶
SanitizedCopy returns a shallow copy with sensitive values redacted best-effort.
type KongState ¶
type KongState struct { Services []Service Upstreams []Upstream Certificates []Certificate CACertificates []kong.CACertificate Plugins []Plugin Consumers []Consumer Version semver.Version }
KongState holds the configuration that should be applied to Kong.
func (*KongState) FillConsumersAndCredentials ¶
func (ks *KongState) FillConsumersAndCredentials(log logrus.FieldLogger, s store.Storer)
func (*KongState) FillOverrides ¶
func (ks *KongState) FillOverrides(log logrus.FieldLogger, s store.Storer)
func (*KongState) FillPlugins ¶
func (ks *KongState) FillPlugins(log logrus.FieldLogger, s store.Storer)
func (*KongState) SanitizedCopy ¶
SanitizedCopy returns a shallow copy with sensitive values redacted best-effort.
type Oauth2Credential ¶
type Oauth2Credential struct {
kong.Oauth2Credential
}
Oauth2Credential represents an OAuth2 client configuration including credentials.
func NewOauth2Credential ¶
func NewOauth2Credential(config interface{}) (*Oauth2Credential, error)
func (*Oauth2Credential) SanitizedCopy ¶
func (c *Oauth2Credential) SanitizedCopy() *Oauth2Credential
SanitizedCopy returns a shallow copy with sensitive values redacted best-effort.
type PortDef ¶
type PortDef struct { Mode PortMode // Name is the port name as stated in the Kubernetes service. Must be set iff Mode == PortModeName. Name string // Number is the port number. Must be set iff PortMode == PortModeNumber. Number int32 }
func (*PortDef) CanonicalString ¶
type PortMode ¶
type PortMode int
const ( // PortModeImplicit means that the Ingress does not specify the Kubernetes Service port, and that KIC should expect // the Service to have only one port defined. PortModeImplicit PortMode = iota // PortModeNumber means that the Ingress specifies the Service port by raw port number. PortModeByNumber PortMode = iota // PortModeNumber means that the Ingress specifies the Service port by its name field. PortModeByName PortMode = iota )
type SecretGetter ¶
type Service ¶
type Service struct { kong.Service Namespace string Routes []Route Plugins []kong.Plugin Backends []ServiceBackend K8sServices map[string]*corev1.Service Parent client.Object }
Service represents a service in Kong and holds routes associated with the service and other k8s metadata.
type ServiceBackend ¶
type ServiceBackends ¶ added in v2.4.0
type ServiceBackends []ServiceBackend