Packages:
config.openservicemesh.io/v1alpha2
Package v1alpha2 is the v1alpha2 version of the API.
Resource Types:CertManagerProviderSpec
(Appears on:ProviderSpec)
CertManagerProviderSpec defines the configuration of the cert-manager provider
| Field | Description |
|---|---|
issuerNamestring |
IssuerName specifies the name of the Issuer resource |
issuerKindstring |
IssuerKind specifies the kind of Issuer |
issuerGroupstring |
IssuerGroup specifies the group the Issuer belongs to |
CertificateSpec
(Appears on:MeshConfigSpec)
CertificateSpec is the type to reperesent OSM’s certificate management configuration.
| Field | Description |
|---|---|
serviceCertValidityDurationstring |
ServiceCertValidityDuration defines the service certificate validity duration. |
certKeyBitSizeint |
CertKeyBitSize defines the certicate key bit size. |
ingressGatewayIngressGatewayCertSpec |
(Optional)
IngressGateway defines the certificate specification for an ingress gateway. |
ExtensionService
ExtensionService defines the configuration of the external service that an OSM managed mesh integrates with.
| Field | Description | ||||||||
|---|---|---|---|---|---|---|---|---|---|
metadataKubernetes meta/v1.ObjectMeta |
(Optional)
Object’s metadata. Refer to the Kubernetes API documentation for the fields of themetadata field.
|
||||||||
specExtensionServiceSpec |
(Optional)
Spec defines the specification of the extension service.
|
ExtensionServiceSpec
(Appears on:ExtensionService)
ExtensionServiceSpec defines the specification of the extension service.
| Field | Description |
|---|---|
hoststring |
Host defines the hostname of the extension service. |
portuint32 |
Port defines the port number of the extension service. |
protocolstring |
Protocol defines the protocol of the extension service. |
connectTimeoutKubernetes meta/v1.Duration |
(Optional)
ConnectTimeout defines the timeout for connecting to the extension service. |
ExternalAuthzSpec
(Appears on:TrafficSpec)
ExternalAuthzSpec is a type to represent external authorization configuration.
| Field | Description |
|---|---|
enablebool |
Enable defines a boolean indicating if the external authorization policy is to be enabled. |
addressstring |
Address defines the remote address of the external authorization endpoint. |
portuint16 |
Port defines the destination port of the remote external authorization endpoint. |
statPrefixstring |
StatPrefix defines a prefix for the stats sink for this external authorization policy. |
timeoutstring |
Timeout defines the timeout in which a response from the external authorization endpoint. is expected to execute. |
failureModeAllowbool |
FailureModeAllow defines a boolean indicating if traffic should be allowed on a failure to get a response against the external authorization endpoint. |
FeatureFlags
(Appears on:MeshConfigSpec)
FeatureFlags is a type to represent OSM’s feature flags.
| Field | Description |
|---|---|
enableWASMStatsbool |
EnableWASMStats defines if WASM Stats are enabled. |
enableEgressPolicybool |
EnableEgressPolicy defines if OSM’s EgressPolicy API is enabled. DEPRECATED, do not use. Disable mesh-wide global egress by setting ‘spec.traffic.enableEgress’ to ‘false’ to implicitly enable the usage of EgressPolicy API. |
enableSnapshotCacheModebool |
EnableSnapshotCacheMode defines if XDS server starts with snapshot cache. |
enableAsyncProxyServiceMappingbool |
EnableAsyncProxyServiceMapping defines if OSM will map proxies to services asynchronously. |
enableIngressBackendPolicybool |
EnableIngressBackendPolicy defines if OSM will use the IngressBackend API to allow ingress traffic to service mesh backends. |
enableEnvoyActiveHealthChecksbool |
EnableEnvoyActiveHealthChecks defines if OSM will Envoy active health checks between services allowed to communicate. |
enableRetryPolicybool |
EnableRetryPolicy defines if retry policy is enabled. |
IngressGatewayCertSpec
(Appears on:CertificateSpec)
IngressGatewayCertSpec is the type to represent the certificate specification for an ingress gateway.
| Field | Description |
|---|---|
subjectAltNames[]string |
SubjectAltNames defines the Subject Alternative Names (domain names and IP addresses) secured by the certificate. |
validityDurationstring |
ValidityDuration defines the validity duration of the certificate. |
secretKubernetes core/v1.SecretReference |
Secret defines the secret in which the certificate is stored. |
LocalProxyMode
(string alias)
(Appears on:SidecarSpec)
LocalProxyMode is a type alias representing the way the envoy sidecar proxies to the main application
| Value | Description |
|---|---|
"Localhost" |
LocalProxyModeLocalhost indicates the the sidecar should communicate with the main application over localhost |
"PodIP" |
LocalProxyModePodIP indicates that the sidecar should communicate with the main application via the pod ip |
MeshConfig
MeshConfig is the type used to represent the mesh configuration.
| Field | Description | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
metadataKubernetes meta/v1.ObjectMeta |
(Optional)
Object’s metadata. Refer to the Kubernetes API documentation for the fields of themetadata field.
|
||||||||||
specMeshConfigSpec |
(Optional)
Spec is the MeshConfig specification.
|
MeshConfigSpec
(Appears on:MeshConfig)
MeshConfigSpec is the spec for OSM’s configuration.
| Field | Description |
|---|---|
sidecarSidecarSpec |
Sidecar defines the configurations of the proxy sidecar in a mesh. |
trafficTrafficSpec |
Traffic defines the traffic management configurations for a mesh instance. |
observabilityObservabilitySpec |
Observalility defines the observability configurations for a mesh instance. |
certificateCertificateSpec |
Certificate defines the certificate management configurations for a mesh instance. |
featureFlagsFeatureFlags |
FeatureFlags defines the feature flags for a mesh instance. |
MeshRootCertificate
MeshRootCertificate defines the configuration for certificate issuing by the mesh control plane
| Field | Description | ||||||||
|---|---|---|---|---|---|---|---|---|---|
metadataKubernetes meta/v1.ObjectMeta |
(Optional)
Object’s metadata Refer to the Kubernetes API documentation for the fields of themetadata field.
|
||||||||
specMeshRootCertificateSpec |
(Optional)
Spec is the MeshRootCertificate config specification
|
||||||||
statusMeshRootCertificateStatus |
(Optional)
Status of the MeshRootCertificate resource |
MeshRootCertificateComponentStatus
(string alias)
(Appears on:MeshRootCertificateComponentStatuses)
MeshRootCertificateComponentStatus specifies the status of the certificate component,
can be (Issuing, Validating, Unknown).
| Value | Description |
|---|---|
"issuing" |
Issuing means that the root cert described by this MRC is now issuing certs for this component of OSM. |
"unknown" |
UnknownComponentStatus means that the use of the root cert described by this MRC is in an unknown state for this component. |
"unused" |
Unused means that the root cert described by this MRC is unused. |
"validating" |
Validating means that the root cert’s cert chain, described by this MRC is now part of the CABundle used to validate requests for this component.. |
MeshRootCertificateComponentStatuses
(Appears on:MeshRootCertificateStatus)
MeshRootCertificateComponentStatuses is the set of statuses for each certificate component in the cluster.
| Field | Description |
|---|---|
validatingWebhookMeshRootCertificateComponentStatus |
|
mutatingWebhookMeshRootCertificateComponentStatus |
|
xdsControlPlaneMeshRootCertificateComponentStatus |
|
sidecarMeshRootCertificateComponentStatus |
|
bootstrapMeshRootCertificateComponentStatus |
|
gatewayMeshRootCertificateComponentStatus |
MeshRootCertificateCondition
(Appears on:MeshRootCertificateStatus)
MeshRootCertificateCondition defines the condition of the MeshRootCertificate resource.
| Field | Description |
|---|---|
typeMeshRootCertificateConditionType |
Type of the condition,
one of ( |
statusMeshRootCertificateConditionStatus |
Status of the condition, one of ( |
lastTransitionTimeKubernetes meta/v1.Time |
(Optional)
LastTransitionTime is the timestamp corresponding to the last status change of this condition. |
reasonstring |
(Optional)
Reason is a brief machine readable explanation for the condition’s last transition (should be in camelCase). |
messagestring |
(Optional)
Message is a human readable description of the details of the last transition, complementing reason. |
MeshRootCertificateConditionStatus
(string alias)
(Appears on:MeshRootCertificateCondition)
MeshRootCertificateConditionStatus specifies the status of the MeshRootCertificate condition,
one of (True, False, Unknown).
MeshRootCertificateConditionType
(string alias)
(Appears on:MeshRootCertificateCondition)
MeshRootCertificateConditionType specifies the type of the condition,
one of (Ready, Accepted, IssuingRollout, ValidatingRollout, IssuingRollback, ValidatingRollback).
MeshRootCertificateIntent
(string alias)
(Appears on:MeshRootCertificateSpec)
MeshRootCertificateIntent specifies the intent of the MeshRootCertificate can be (Active, Passive).
MeshRootCertificateSpec
(Appears on:MeshRootCertificate)
MeshRootCertificateSpec defines the mesh root certificate specification
| Field | Description |
|---|---|
providerProviderSpec |
Provider specifies the mesh certificate provider |
trustDomainstring |
TrustDomain is the trust domain to use as a suffix in Common Names for new certificates. |
intentMeshRootCertificateIntent |
Intent of the MeshRootCertificate resource |
spiffeEnabledbool |
SpiffeEnabled will add a SPIFFE ID to the certificates, creating a SPIFFE compatible x509 SVID document To use SPIFFE ID for validation and routing, ‘enableSPIFFE’ must be true in the MeshConfig after the MeshRootCertificate is made ‘active’ |
MeshRootCertificateStatus
(Appears on:MeshRootCertificate)
MeshRootCertificateStatus defines the status of the MeshRootCertificate resource.
| Field | Description |
|---|---|
statestring |
State specifies the state of the certificate provider. All states are specified in constants.go |
transitionAfterKubernetes meta/v1.Time |
If present, this MRC can transition to the next state in the state machine after this timestamp. |
componentStatusesMeshRootCertificateComponentStatuses |
Set of statuses for each certificate component in the cluster (e.g. webhooks, bootstrap, etc.) NOTE: There is a caveat that since these components belong to horizontally scalable pods, it is possible that not all of these components will be ready. That is, one controller might mark the ADS server as ready, while all other controllers have yet to rotate their controller cert. |
conditions[]MeshRootCertificateCondition |
(Optional)
List of status conditions to indicate the status of a MeshRootCertificate.
Known condition types are |
ObservabilitySpec
(Appears on:MeshConfigSpec)
ObservabilitySpec is the type to represent OSM’s observability configurations.
| Field | Description |
|---|---|
osmLogLevelstring |
OSMLogLevel defines the log level for OSM control plane logs. |
enableDebugServerbool |
EnableDebugServer defines if the debug endpoint on the OSM controller pod is enabled. |
tracingTracingSpec |
Tracing defines OSM’s tracing configuration. |
ProviderSpec
(Appears on:MeshRootCertificateSpec)
ProviderSpec defines the certificate provider used by the mesh control plane
| Field | Description |
|---|---|
certManagerCertManagerProviderSpec |
(Optional)
CertManager specifies the cert-manager provider configuration |
vaultVaultProviderSpec |
(Optional)
Vault specifies the vault provider configuration |
tresorTresorProviderSpec |
(Optional)
Tresor specifies the Tresor provider configuration |
SecretKeyReferenceSpec
(Appears on:VaultTokenSpec)
SecretKeyReferenceSpec defines the configuration of the secret reference
| Field | Description |
|---|---|
namestring |
Name specifies the name of the secret in which the Vault token is stored |
keystring |
Key specifies the key whose value is the Vault token |
namespacestring |
Namespace specifies the namespace of the secret in which the Vault token is stored |
SidecarSpec
(Appears on:MeshConfigSpec)
SidecarSpec is the type used to represent the specifications for the proxy sidecar.
| Field | Description |
|---|---|
enablePrivilegedInitContainerbool |
EnablePrivilegedInitContainer defines a boolean indicating whether the init container for a meshed pod should run as privileged. |
logLevelstring |
LogLevel defines the logging level for the sidecar’s logs. Non developers should generally never set this value. In production environments the LogLevel should be set to error. |
envoyImagestring |
EnvoyImage defines the container image used for the Envoy proxy sidecar. |
envoyWindowsImagestring |
EnvoyWindowsImage defines the windows container image used for the Envoy proxy sidecar. |
initContainerImagestring |
InitContainerImage defines the container image used for the init container injected to meshed pods. |
maxDataPlaneConnectionsint |
MaxDataPlaneConnections defines the maximum allowed data plane connections from a proxy sidecar to the OSM controller. |
configResyncIntervalstring |
ConfigResyncInterval defines the resync interval for regular proxy broadcast updates. |
resourcesKubernetes core/v1.ResourceRequirements |
Resources defines the compute resources for the sidecar. |
tlsMinProtocolVersionstring |
TLSMinProtocolVersion defines the minimum TLS protocol version that the sidecar supports. Valid TLS protocol versions are TLS_AUTO, TLSv1_0, TLSv1_1, TLSv1_2 and TLSv1_3. |
tlsMaxProtocolVersionstring |
TLSMaxProtocolVersion defines the maximum TLS protocol version that the sidecar supports. Valid TLS protocol versions are TLS_AUTO, TLSv1_0 (deprecated), TLSv1_1 (deprecated), TLSv1_2 and TLSv1_3. |
cipherSuites[]string |
CipherSuites defines a list of ciphers that listener supports when negotiating TLS 1.0-1.2. This setting has no effect when negotiating TLS 1.3. For valid cipher names, see the latest OpenSSL ciphers manual page. E.g. https://www.openssl.org/docs/man1.1.1/apps/ciphers.html. |
ecdhCurves[]string |
ECDHCurves defines a list of ECDH curves that TLS connection supports. If not specified, the curves are [X25519, P-256] for non-FIPS build and P-256 for builds using BoringSSL FIPS. |
localProxyModeLocalProxyMode |
LocalProxyMode defines the network interface the envoy proxy will use to send traffic to the backend service application. Acceptable values are [ |
TracingSpec
(Appears on:ObservabilitySpec)
TracingSpec is the type to represent OSM’s tracing configuration.
| Field | Description |
|---|---|
enablebool |
Enable defines a boolean indicating if the sidecars are enabled for tracing. |
portint16 |
Port defines the tracing collector’s port. |
addressstring |
Address defines the tracing collectio’s hostname. |
endpointstring |
Endpoint defines the API endpoint for tracing requests sent to the collector. |
TrafficSpec
(Appears on:MeshConfigSpec)
TrafficSpec is the type used to represent OSM’s traffic management configuration.
| Field | Description |
|---|---|
enableEgressbool |
EnableEgress defines a boolean indicating if mesh-wide Egress is enabled. |
outboundIPRangeExclusionList[]string |
OutboundIPRangeExclusionList defines a global list of IP address ranges to exclude from outbound traffic interception by the sidecar proxy. |
outboundIPRangeInclusionList[]string |
OutboundIPRangeInclusionList defines a global list of IP address ranges to include for outbound traffic interception by the sidecar proxy. IP addresses outside this range will be excluded from outbound traffic interception by the sidecar proxy. |
outboundPortExclusionList[]int |
OutboundPortExclusionList defines a global list of ports to exclude from outbound traffic interception by the sidecar proxy. |
inboundPortExclusionList[]int |
InboundPortExclusionList defines a global list of ports to exclude from inbound traffic interception by the sidecar proxy. |
enablePermissiveTrafficPolicyModebool |
EnablePermissiveTrafficPolicyMode defines a boolean indicating if permissive traffic policy mode is enabled mesh-wide. |
inboundExternalAuthorizationExternalAuthzSpec |
InboundExternalAuthorization defines a ruleset that, if enabled, will configure a remote external authorization endpoint for all inbound and ingress traffic in the mesh. |
networkInterfaceExclusionList[]string |
NetworkInterfaceExclusionList defines a global list of network interface names to exclude from inbound and outbound traffic interception by the sidecar proxy. |
TresorCASpec
(Appears on:TresorProviderSpec)
TresorCASpec defines the configuration of Tresor’s root certificate
| Field | Description |
|---|---|
secretRefKubernetes core/v1.SecretReference |
SecretRef specifies the secret in which the root certificate is stored |
TresorProviderSpec
(Appears on:ProviderSpec)
TresorProviderSpec defines the configuration of the Tresor provider
| Field | Description |
|---|---|
caTresorCASpec |
CA specifies Tresor’s ca configuration |
VaultProviderSpec
(Appears on:ProviderSpec)
VaultProviderSpec defines the configuration of the Vault provider
| Field | Description |
|---|---|
hoststring |
Host specifies the name of the Vault server |
portint |
Port specifies the port of the Vault server |
rolestring |
Role specifies the name of the role for use by mesh control plane |
protocolstring |
Protocol specifies the protocol for connections to Vault |
tokenVaultTokenSpec |
Token specifies the configuration of the token to be used by mesh control plane to connect to Vault |
VaultTokenSpec
(Appears on:VaultProviderSpec)
VaultTokenSpec defines the configuration of the Vault token
| Field | Description |
|---|---|
secretKeyRefSecretKeyReferenceSpec |
SecretKeyRef specifies the secret in which the Vault token is stored |
Generated with gen-crd-api-reference-docs
on git commit a65cd374.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.