Skip to content

Packages CR (v1alpha1)

Field Type Description
specSpec

Field Type Description
networkNetworkNetwork configuration for the package
monitorMonitor[]Create Service or Pod Monitor configurations
ssoSso[]Create SSO client configurations
caBundleCaBundleCA bundle configuration for the package

Field Type Description
exposeExpose[]Expose a service on an Istio Gateway
allowAllow[]Allow specific traffic (namespace will have a default-deny policy)
serviceMeshServiceMeshService Mesh configuration for the package

Field Type Description
descriptionstringA description of this expose entry, this will become part of the VirtualService name
hoststringThe hostname to expose the service on
gatewaystringThe name of the gateway to expose the service on (default: tenant)
domainstringThe domain to expose the service on, only valid for additional gateways (not tenant, admin, or passthrough)
servicestringThe name of the service to expose
portnumberThe port number to expose
selectorSelector for Pods targeted by the selected Services (so the NetworkPolicy can be generated correctly).
targetPortnumberThe service targetPort. This defaults to port and is only required if the service port is different from the target port (so the NetworkPolicy can be generated correctly).
advancedHTTPAdvancedHTTPAdvanced HTTP settings for the route.
matchMatch[]Match the incoming request based on custom rules. Not permitted when using the passthrough gateway.
podLabelsDeprecated: use selector

Field Type Description
corsPolicyCorsPolicyCross-Origin Resource Sharing policy (CORS).
directResponseDirectResponseA HTTP rule can either return a direct_response, redirect or forward (default) traffic.
headersHeaders
matchMatch[]Match the incoming request based on custom rules. Not permitted when using the passthrough gateway.
rewriteRewriteRewrite HTTP URIs and Authority headers.
redirectRedirectA HTTP rule can either return a direct_response, redirect or forward (default) traffic.
retriesRetriesRetry policy for HTTP requests.
weightintegerWeight specifies the relative proportion of traffic to be forwarded to the destination.
timeoutstringTimeout for HTTP requests, default is disabled.

Field Type Description
allowCredentialsbooleanIndicates whether the caller is allowed to send the actual request (not the preflight) using credentials.
allowHeadersstring[]List of HTTP headers that can be used when requesting the resource.
allowMethodsstring[]List of HTTP methods allowed to access the resource.
allowOriginstring[]
allowOriginsAllowOrigins[]String patterns that match allowed origins.
exposeHeadersstring[]A list of HTTP headers that the browsers are allowed to access.
maxAgestringSpecifies how long the results of a preflight request can be cached.

Field Type Description
exactstring
prefixstring
regexstringRE2 style regex-based match (https://github.com/google/re2/wiki/Syntax).

Field Type Description
bodyBodySpecifies the content of the response body.

Field Type Description
bytesstringresponse body as base64 encoded bytes.
stringstring

Field Type Description
requestRequest
responseResponse

Field Type Description
add
removestring[]
set

Field Type Description
add
removestring[]
set

Field Type Description
ignoreUriCasebooleanFlag to specify whether the URI matching should be case-insensitive.
methodMethod
namestringThe name assigned to a match.
queryParamsQuery parameters for matching.
uriUri

Field Type Description
exactstring
prefixstring
regexstringRE2 style regex-based match (https://github.com/google/re2/wiki/Syntax).

Field Type Description
exactstring
prefixstring
regexstringRE2 style regex-based match (https://github.com/google/re2/wiki/Syntax).

Field Type Description
authoritystringrewrite the Authority/Host header with this value.
uristringrewrite the path (or the prefix) portion of the URI with this value.
uriRegexRewriteUriRegexRewriterewrite the path portion of the URI with the specified regex.

Field Type Description
matchstringRE2 style regex-based match (https://github.com/google/re2/wiki/Syntax).
rewritestringThe string that should replace into matching portions of original URI.

Field Type Description
authoritystringOn a redirect, overwrite the Authority/Host portion of the URL with this value.
portintegerOn a redirect, overwrite the port portion of the URL with this value.
derivePortstring (enum):
  • FROM_PROTOCOL_DEFAULT
  • FROM_REQUEST_PORT
On a redirect, dynamically set the port: * FROM_PROTOCOL_DEFAULT: automatically set to 80 for HTTP and 443 for HTTPS.

Valid Options: FROM_PROTOCOL_DEFAULT, FROM_REQUEST_PORT

redirectCodeintegerOn a redirect, Specifies the HTTP status code to use in the redirect response.
schemestringOn a redirect, overwrite the scheme portion of the URL with this value.
uristringOn a redirect, overwrite the Path portion of the URL with this value.

Field Type Description
attemptsintegerNumber of retries to be allowed for a given request.
perTryTimeoutstringTimeout per attempt for a given request, including the initial call and any retries.
retryOnstringSpecifies the conditions under which retry takes place.
retryRemoteLocalitiesbooleanFlag to specify whether the retries should retry to other localities.

Field Type Description
ignoreUriCasebooleanFlag to specify whether the URI matching should be case-insensitive.
methodMethod
namestringThe name assigned to a match.
queryParamsQuery parameters for matching.
uriUri

Field Type Description
exactstring
prefixstring
regexstringRE2 style regex-based match (https://github.com/google/re2/wiki/Syntax).

Field Type Description
exactstring
prefixstring
regexstringRE2 style regex-based match (https://github.com/google/re2/wiki/Syntax).

Field Type Description
labelsThe labels to apply to the policy
descriptionstringA description of the policy, this will become part of the policy name
directionstring (enum):
  • Ingress
  • Egress
The direction of the traffic
selectorLabels to match pods in the namespace to apply the policy to. Leave empty to apply to all pods in the namespace
remoteNamespacestringThe remote namespace to allow traffic to/from. Use * or empty string to allow all namespaces
remoteSelectorThe remote pod selector labels to allow traffic to/from
remoteGeneratedstring (enum):
  • KubeAPI
  • KubeNodes
  • IntraNamespace
  • CloudMetadata
  • Anywhere
Custom generated remote selector for the policy
remoteCidrstringCustom generated policy CIDR
remoteHoststringRemote host to allow traffic out to
remoteProtocolstring (enum):
  • TLS
  • HTTP
Protocol used for external connection
portnumberThe port to allow (protocol is always TCP)
portsnumber[]A list of ports to allow (protocol is always TCP)
remoteServiceAccountstringThe remote service account to restrict incoming traffic from within the remote namespace. Only valid for Ingress rules.
serviceAccountstringThe service account to restrict outgoing traffic from within the package namespace. Only valid for Egress rules.
podLabelsDeprecated: use selector
remotePodLabelsDeprecated: use remoteSelector

Field Type Description
modestring (enum):
  • sidecar
  • ambient
Set the service mesh mode for this package (namespace), defaults to ambient

Field Type Description
descriptionstringA description of this monitor entry, this will become part of the ServiceMonitor name
portNamestringThe port name for the serviceMonitor
targetPortnumberThe service targetPort. This is required so the NetworkPolicy can be generated correctly.
selectorSelector for Services that expose metrics to scrape
podSelectorSelector for Pods targeted by the selected Services (so the NetworkPolicy can be generated correctly). Defaults to `selector` when not specified.
pathstringHTTP path from which to scrape for metrics, defaults to `/metrics`
kindstring (enum):
  • PodMonitor
  • ServiceMonitor
The type of monitor to create; PodMonitor or ServiceMonitor. ServiceMonitor is the default.
fallbackScrapeProtocolstring (enum):
  • OpenMetricsText0.0.1
  • OpenMetricsText1.0.0
  • PrometheusProto
  • PrometheusText0.0.4
  • PrometheusText1.0.0
The protocol for Prometheus to use if a scrape returns a blank, unparsable, or otherwise invalid Content-Type
authorizationAuthorizationAuthorization settings.

Field Type Description
credentialsCredentialsSelects a key of a Secret in the namespace that contains the credentials for authentication.
typestringDefines the authentication type. The value is case-insensitive. "Basic" is not a supported value. Default: "Bearer"

Field Type Description
keystringThe key of the secret to select from. Must be a valid secret key.
namestringName of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
optionalbooleanSpecify whether the Secret or its key must be defined

Field Type Description
enableAuthserviceSelectorLabels to match pods to automatically protect with authservice. Leave empty to disable authservice protection
secretConfigSecretConfigConfiguration for the generated Kubernetes Secret
clientIdstringThe client identifier registered with the identity provider.
secretstringThe OAuth/OIDC client secret value sent to Keycloak. Typically left blank and auto-generated by Keycloak. Not to be confused with secretConfig, which configures the Kubernetes Secret resource.
secretNamestringDeprecated: use secretConfig.name
secretLabelsDeprecated: use secretConfig.labels
secretAnnotationsDeprecated: use secretConfig.annotations
secretTemplateDeprecated: use secretConfig.template
namestringSpecifies display name of the client
descriptionstringA description for the client, can be a URL to an image to replace the login logo
baseUrlstringDefault URL to use when the auth server needs to redirect or link back to the client.
adminUrlstringThis URL will be used for every binding to both the SP's Assertion Consumer and Single Logout Services.
protocolstring (enum):
  • openid-connect
  • saml
Specifies the protocol of the client, either 'openid-connect' or 'saml'
attributesSpecifies attributes for the client.
protocolMappersProtocolMappers[]Protocol Mappers to configure on the client
rootUrlstringRoot URL appended to relative URLs
redirectUrisstring[]Valid URI pattern a browser can redirect to after a successful login. Simple wildcards are allowed such as 'https://unicorns.uds.dev/*'
webOriginsstring[]Allowed CORS origins. To permit all origins of Valid Redirect URIs, add '+'. This does not include the '*' wildcard though. To permit all origins, explicitly add '*'.
enabledbooleanWhether the SSO client is enabled
alwaysDisplayInConsolebooleanAlways list this client in the Account UI, even if the user does not have an active session.
standardFlowEnabledbooleanEnables the standard OpenID Connect redirect based authentication with authorization code.
serviceAccountsEnabledbooleanEnables the client credentials grant based authentication via OpenID Connect protocol.
publicClientbooleanDefines whether the client requires a client secret for authentication
clientAuthenticatorTypestring (enum):
  • client-secret
  • client-jwt
The client authenticator type
defaultClientScopesstring[]Default client scopes
groupsGroupsThe client SSO group type

Field Type Description
namestringThe name of the secret to store the client secret
labelsAdditional labels to apply to the generated secret, can be used for pod reloading
annotationsAdditional annotations to apply to the generated secret, can be used for pod reloading with a selector
templateA template for the generated secret

Field Type Description
namestringName of the mapper
protocolstring (enum):
  • openid-connect
  • saml
Protocol of the mapper
protocolMapperstringProtocol Mapper type of the mapper
consentRequiredbooleanWhether user consent is required for this mapper
configConfiguration options for the mapper.

Field Type Description
anyOfstring[]List of groups allowed to access the client

Field Type Description
configMapConfigMapConfigMap configuration for CA bundle

Field Type Description
namestringThe name of the ConfigMap to create (default: uds-trust-bundle)
keystringThe key name inside the ConfigMap (default: ca-bundle.pem)
labelsAdditional labels to apply to the generated ConfigMap (default: {})
annotationsAdditional annotations to apply to the generated ConfigMap (default: {})