ingress

package
v0.9.1 Latest Latest
Warning

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

Go to latest
Published: Jun 4, 2026 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ExtractSubdomainLabel added in v0.8.0

func ExtractSubdomainLabel(requestHost, routeHost string) string

ExtractSubdomainLabel extracts an ephemeral label from a request host by comparing it against the route's configured host pattern. For example, if requestHost is "feat-x.app.example.com" and the route host is "*.app.example.com", it returns "feat-x". Returns an empty string if the route is not a wildcard or if there's no subdomain prefix.

func ValidateWildcardHost added in v0.6.0

func ValidateWildcardHost(host string) error

ValidateWildcardHost validates a wildcard host pattern. Valid patterns: *.example.com, *.sub.example.com Invalid: *.com, foo.*.com, **, *

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client provides a domain-specific client for HttpRoute entities

func NewClient

func NewClient(log *slog.Logger, client rpc.Client) *Client

NewClient creates a new Ingress client from an RPC client

func (*Client) AttachAuthProviderToRoute added in v0.8.0

func (c *Client) AttachAuthProviderToRoute(ctx context.Context, route *ingress_v1alpha.HttpRoute, providerID entity.Id, claimMappings []ingress_v1alpha.ClaimMappings) (*ingress_v1alpha.HttpRoute, error)

AttachAuthProviderToRoute associates an auth provider with an already-resolved route. The providerID should be the entity ID of either an OIDC or password provider.

func (*Client) CreateOrUpdateOIDCProvider added in v0.4.0

func (c *Client) CreateOrUpdateOIDCProvider(ctx context.Context, provider *ingress_v1alpha.OidcProvider) (*ingress_v1alpha.OidcProvider, error)

CreateOrUpdateOIDCProvider creates or updates an OIDC provider

func (*Client) CreateOrUpdatePasswordProvider added in v0.8.0

func (c *Client) CreateOrUpdatePasswordProvider(ctx context.Context, provider *ingress_v1alpha.PasswordProvider) (*ingress_v1alpha.PasswordProvider, error)

CreateOrUpdatePasswordProvider creates or updates a password provider

func (*Client) CreateWAFProfile added in v0.8.0

func (c *Client) CreateWAFProfile(ctx context.Context, level int) (*ingress_v1alpha.WafProfile, error)

func (*Client) DeleteByHost

func (c *Client) DeleteByHost(ctx context.Context, host string) error

DeleteByHost deletes an http_route by hostname

func (*Client) DeleteOIDCProvider added in v0.4.0

func (c *Client) DeleteOIDCProvider(ctx context.Context, name string) error

DeleteOIDCProvider deletes an OIDC provider by name

func (*Client) DeletePasswordProvider added in v0.8.0

func (c *Client) DeletePasswordProvider(ctx context.Context, name string) error

DeletePasswordProvider deletes a password provider by name

func (*Client) DetachAuthProviderFromRoute added in v0.8.0

func (c *Client) DetachAuthProviderFromRoute(ctx context.Context, route *ingress_v1alpha.HttpRoute) (*ingress_v1alpha.HttpRoute, error)

DetachAuthProviderFromRoute removes auth provider association from a route

func (*Client) DetachWAFProfile added in v0.8.0

func (c *Client) DetachWAFProfile(ctx context.Context, host string) (*ingress_v1alpha.HttpRoute, error)

func (*Client) DetachWAFProfileFromRoute added in v0.8.0

func (c *Client) DetachWAFProfileFromRoute(ctx context.Context, route *ingress_v1alpha.HttpRoute) (*ingress_v1alpha.HttpRoute, error)

func (*Client) EnsureSingleDefault

func (c *Client) EnsureSingleDefault(ctx context.Context, routeToKeep *ingress_v1alpha.HttpRoute) error

EnsureSingleDefault removes any default routes but the one specified

func (*Client) GetEntityStore added in v0.4.0

func (c *Client) GetEntityStore() *entityserver.Client

GetEntityStore returns the underlying entity store

func (*Client) GetOIDCProvider added in v0.4.0

func (c *Client) GetOIDCProvider(ctx context.Context, name string) (*ingress_v1alpha.OidcProvider, error)

GetOIDCProvider looks up an OIDC provider by name

func (*Client) GetPasswordProvider added in v0.8.0

func (c *Client) GetPasswordProvider(ctx context.Context, name string) (*ingress_v1alpha.PasswordProvider, error)

GetPasswordProvider looks up a password provider by name

func (*Client) GetWAFProfileByID added in v0.8.0

func (c *Client) GetWAFProfileByID(ctx context.Context, id entity.Id) (*ingress_v1alpha.WafProfile, error)

func (*Client) List

func (c *Client) List(ctx context.Context) ([]*RouteWithMeta, error)

List returns all http_routes with metadata

func (*Client) ListOIDCProviders added in v0.4.0

func (c *Client) ListOIDCProviders(ctx context.Context) ([]*ingress_v1alpha.OidcProvider, error)

ListOIDCProviders returns all OIDC providers

func (*Client) ListPasswordProviders added in v0.8.0

func (c *Client) ListPasswordProviders(ctx context.Context) ([]*ingress_v1alpha.PasswordProvider, error)

ListPasswordProviders returns all password providers

func (*Client) Lookup

func (c *Client) Lookup(ctx context.Context, host string) (*ingress_v1alpha.HttpRoute, error)

Lookup finds an http_route by hostname, returns nil if not found

func (*Client) LookupDefault

func (c *Client) LookupDefault(ctx context.Context) (*ingress_v1alpha.HttpRoute, error)

LookupDefault finds the default http_route

func (*Client) LookupWithWildcard added in v0.6.0

func (c *Client) LookupWithWildcard(ctx context.Context, host string) (*ingress_v1alpha.HttpRoute, error)

LookupWithWildcard finds an http_route by hostname with wildcard fallback. It tries in order: exact match, then wildcard subdomain (*.rest). A wildcard like *.example.com matches foo.example.com but not example.com itself.

func (*Client) SetDefault

func (c *Client) SetDefault(ctx context.Context, appId entity.Id) (*ingress_v1alpha.HttpRoute, error)

SetDefault sets the default route to the provided app

func (*Client) SetRoute

func (c *Client) SetRoute(ctx context.Context, host string, appId entity.Id) (*ingress_v1alpha.HttpRoute, error)

SetRoute creates or updates an http_route for the given host and app

func (*Client) SetRouteWAFLevel added in v0.8.0

func (c *Client) SetRouteWAFLevel(ctx context.Context, host string, level int) (*ingress_v1alpha.HttpRoute, error)

func (*Client) SetRouteWAFLevelOnRoute added in v0.8.0

func (c *Client) SetRouteWAFLevelOnRoute(ctx context.Context, route *ingress_v1alpha.HttpRoute, level int) (*ingress_v1alpha.HttpRoute, error)

func (*Client) UnsetDefault

func (c *Client) UnsetDefault(ctx context.Context) (*ingress_v1alpha.HttpRoute, error)

UnsetDefault unsets the default route, if any. It returns the route that it unset the default from.

type RouteWithMeta

type RouteWithMeta struct {
	Route     *ingress_v1alpha.HttpRoute
	CreatedAt int64
	UpdatedAt int64
}

RouteWithMeta includes an http_route with its metadata

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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