Documentation
¶
Index ¶
- func ExtractSubdomainLabel(requestHost, routeHost string) string
- func ValidateWildcardHost(host string) error
- type Client
- func (c *Client) AttachAuthProviderToRoute(ctx context.Context, route *ingress_v1alpha.HttpRoute, providerID entity.Id, ...) (*ingress_v1alpha.HttpRoute, error)
- func (c *Client) CreateOrUpdateOIDCProvider(ctx context.Context, provider *ingress_v1alpha.OidcProvider) (*ingress_v1alpha.OidcProvider, error)
- func (c *Client) CreateOrUpdatePasswordProvider(ctx context.Context, provider *ingress_v1alpha.PasswordProvider) (*ingress_v1alpha.PasswordProvider, error)
- func (c *Client) CreateWAFProfile(ctx context.Context, level int) (*ingress_v1alpha.WafProfile, error)
- func (c *Client) DeleteByHost(ctx context.Context, host string) error
- func (c *Client) DeleteOIDCProvider(ctx context.Context, name string) error
- func (c *Client) DeletePasswordProvider(ctx context.Context, name string) error
- func (c *Client) DetachAuthProviderFromRoute(ctx context.Context, route *ingress_v1alpha.HttpRoute) (*ingress_v1alpha.HttpRoute, error)
- func (c *Client) DetachWAFProfile(ctx context.Context, host string) (*ingress_v1alpha.HttpRoute, error)
- func (c *Client) DetachWAFProfileFromRoute(ctx context.Context, route *ingress_v1alpha.HttpRoute) (*ingress_v1alpha.HttpRoute, error)
- func (c *Client) EnsureSingleDefault(ctx context.Context, routeToKeep *ingress_v1alpha.HttpRoute) error
- func (c *Client) GetEntityStore() *entityserver.Client
- func (c *Client) GetOIDCProvider(ctx context.Context, name string) (*ingress_v1alpha.OidcProvider, error)
- func (c *Client) GetPasswordProvider(ctx context.Context, name string) (*ingress_v1alpha.PasswordProvider, error)
- func (c *Client) GetWAFProfileByID(ctx context.Context, id entity.Id) (*ingress_v1alpha.WafProfile, error)
- func (c *Client) List(ctx context.Context) ([]*RouteWithMeta, error)
- func (c *Client) ListOIDCProviders(ctx context.Context) ([]*ingress_v1alpha.OidcProvider, error)
- func (c *Client) ListPasswordProviders(ctx context.Context) ([]*ingress_v1alpha.PasswordProvider, error)
- func (c *Client) Lookup(ctx context.Context, host string) (*ingress_v1alpha.HttpRoute, error)
- func (c *Client) LookupDefault(ctx context.Context) (*ingress_v1alpha.HttpRoute, error)
- func (c *Client) LookupWithWildcard(ctx context.Context, host string) (*ingress_v1alpha.HttpRoute, error)
- func (c *Client) SetDefault(ctx context.Context, appId entity.Id) (*ingress_v1alpha.HttpRoute, error)
- func (c *Client) SetRoute(ctx context.Context, host string, appId entity.Id) (*ingress_v1alpha.HttpRoute, error)
- func (c *Client) SetRouteWAFLevel(ctx context.Context, host string, level int) (*ingress_v1alpha.HttpRoute, error)
- func (c *Client) SetRouteWAFLevelOnRoute(ctx context.Context, route *ingress_v1alpha.HttpRoute, level int) (*ingress_v1alpha.HttpRoute, error)
- func (c *Client) UnsetDefault(ctx context.Context) (*ingress_v1alpha.HttpRoute, error)
- type RouteWithMeta
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ExtractSubdomainLabel ¶ added in v0.8.0
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
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 (*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 ¶
DeleteByHost deletes an http_route by hostname
func (*Client) DeleteOIDCProvider ¶ added in v0.4.0
DeleteOIDCProvider deletes an OIDC provider by name
func (*Client) DeletePasswordProvider ¶ added in v0.8.0
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 (*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) LookupDefault ¶
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 (*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 ¶
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