This is the multi-page printable view of this section. Click here to print.
API Reference
1 - Config API Reference
1.1 - Config v1alpha1 API Reference
Packages:
config.flomesh.io/v1alpha1
Package v1alpha1 is the v1alpha1 version of the API.
CertificateSpec
(Appears on:MeshConfigSpec)
CertificateSpec is the type to reperesent FSM’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. |
ClusterPropertySpec
(Appears on:ClusterSetSpec)
ClusterPropertySpec is the type to represent cluster property.
| Field | Description |
|---|---|
namestring | Name defines the name of cluster property. |
valuestring | Value defines the name of cluster property. |
ClusterSetSpec
(Appears on:MeshConfigSpec)
ClusterSetSpec is the type to represent cluster set.
| Field | Description |
|---|---|
properties[]ClusterPropertySpec | Properties defines properties for cluster. |
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 FSM’s feature flags.
| Field | Description |
|---|---|
enableEgressPolicybool | EnableEgressPolicy defines if FSM’s Egress policy is enabled. |
enableSnapshotCacheModebool | EnableSnapshotCacheMode defines if XDS server starts with snapshot cache. |
enableAsyncProxyServiceMappingbool | EnableAsyncProxyServiceMapping defines if FSM will map proxies to services asynchronously. |
enableIngressBackendPolicybool | EnableIngressBackendPolicy defines if FSM will use the IngressBackend API to allow ingress traffic to service mesh backends. |
enableAccessControlPolicybool | EnableAccessControlPolicy defines if FSM will use the AccessControl API to allow access control traffic to service mesh backends. |
enableAccessCertPolicybool | EnableAccessCertPolicy defines if FSM can issue certificates for external services.. |
enableSidecarActiveHealthChecksbool | EnableSidecarActiveHealthChecks defines if FSM will sidecar active health checks between services allowed to communicate. |
enableRetryPolicybool | EnableRetryPolicy defines if retry policy is enabled. |
enablePluginPolicybool | EnablePluginPolicy defines if plugin policy is enabled. |
enableAutoDefaultRoutebool | EnableAutoDefaultRoute defines if auto default route 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. |
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 FSM’s configuration.
| Field | Description |
|---|---|
clusterSetClusterSetSpec | ClusterSetSpec defines the configurations of cluster. |
sidecarSidecarSpec | Sidecar defines the configurations of the proxy sidecar in a mesh. |
repoServerRepoServerSpec | RepoServer defines the configurations of pipy repo server. |
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. |
pluginChainsPluginChainsSpec | PluginChains defines the default plugin chains. |
ObservabilitySpec
(Appears on:MeshConfigSpec)
ObservabilitySpec is the type to represent FSM’s observability configurations.
| Field | Description |
|---|---|
fsmLogLevelstring | FSMLogLevel defines the log level for FSM control plane logs. |
enableDebugServerbool | EnableDebugServer defines if the debug endpoint on the FSM controller pod is enabled. |
tracingTracingSpec | Tracing defines FSM’s tracing configuration. |
remoteLoggingRemoteLoggingSpec | RemoteLogging defines FSM’s remot logging configuration. |
PluginChainSpec
(Appears on:PluginChainsSpec)
PluginChainSpec is the type to represent plugin chain.
| Field | Description |
|---|---|
pluginstring | Plugin defines the name of plugin |
priorityfloat32 | Priority defines the priority of plugin |
disablebool | Disable defines the visibility of plugin |
PluginChainsSpec
(Appears on:MeshConfigSpec)
PluginChainsSpec is the type to represent plugin chains.
| Field | Description |
|---|---|
inbound-tcp[]PluginChainSpec | InboundTCPChains defines inbound tcp chains |
inbound-http[]PluginChainSpec | InboundHTTPChains defines inbound http chains |
outbound-tcp[]PluginChainSpec | OutboundTCPChains defines outbound tcp chains |
outbound-http[]PluginChainSpec | OutboundHTTPChains defines outbound http chains |
RemoteLoggingSpec
(Appears on:ObservabilitySpec)
RemoteLoggingSpec is the type to represent FSM’s remote logging configuration.
| Field | Description |
|---|---|
enablebool | Enable defines a boolean indicating if the sidecars are enabled for remote logging. |
leveluint16 | Level defines the remote logging’s level. |
portuint16 | Port defines the remote loggings port. |
addressstring | Address defines the remote logging’s hostname. |
endpointstring | Endpoint defines the API endpoint for remote logging requests sent to the collector. |
authorizationstring | Authorization defines the access entity that allows to authorize someone in remote logging service. |
sampledFractionfloat32 | SampledFraction defines the sampled fraction. |
RepoServerSpec
(Appears on:MeshConfigSpec)
RepoServerSpec is the type to represent repo server.
| Field | Description |
|---|---|
ipaddrstring | IPAddr of the pipy repo server |
codebasestring | Codebase is the folder used by fsmController |
SidecarDriverSpec
(Appears on:SidecarSpec)
SidecarDriverSpec is the type to represent FSM’s sidecar driver define.
| Field | Description |
|---|---|
sidecarNamestring | SidecarName defines the name of the sidecar driver. |
sidecarImagestring | SidecarImage defines the container image used for the proxy sidecar. |
initContainerImagestring | InitContainerImage defines the container image used for the init container injected to meshed pods. |
proxyServerPortuint32 | ProxyServerPort is the port on which the Discovery Service listens for new connections from Sidecars |
sidecarDisabledMTLSbool | SidecarDisabledMTLS defines if mTLS are disabled. |
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. |
sidecarClassstring | SidecarClass defines the container provider used for the proxy sidecar. |
sidecarImagestring | SidecarImage defines the container image used for the proxy sidecar. |
sidecarDisabledMTLSbool | SidecarDisabledMTLS defines whether mTLS is disabled. |
initContainerImagestring | InitContainerImage defines the container image used for the init container injected to meshed pods. |
sidecarDrivers[]SidecarDriverSpec | SidecarDrivers defines the sidecar supported. |
maxDataPlaneConnectionsint | MaxDataPlaneConnections defines the maximum allowed data plane connections from a proxy sidecar to the FSM controller. |
configResyncIntervalstring | ConfigResyncInterval defines the resync interval for regular proxy broadcast updates. |
sidecarTimeoutint | SidecarTimeout defines the connect/idle/read/write timeout. |
resourcesKubernetes core/v1.ResourceRequirements | Resources defines the compute resources for the sidecar. |
TracingSpec
(Appears on:ObservabilitySpec)
TracingSpec is the type to represent FSM’s tracing configuration.
| Field | Description |
|---|---|
enablebool | Enable defines a boolean indicating if the sidecars are enabled for tracing. |
portuint16 | 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. |
sampledFractionfloat32 | SampledFraction defines the sampled fraction. |
TrafficSpec
(Appears on:MeshConfigSpec)
TrafficSpec is the type used to represent FSM’s traffic management configuration.
| Field | Description |
|---|---|
interceptionModestring | InterceptionMode defines a string indicating which traffic interception mode is used. |
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. |
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. |
serviceAccessModestring | ServiceAccessMode defines a string indicating service access mode. |
inboundExternalAuthorizationExternalAuthzSpec | InboundExternalAuthorization defines a ruleset that, if enabled, will configure a remote external authorization endpoint for all inbound and ingress traffic in the mesh. |
http1PerRequestLoadBalancingbool | HTTP1PerRequestLoadBalancing defines a boolean indicating if load balancing based on request is enabled for http1. |
http2PerRequestLoadBalancingbool | HTTP1PerRequestLoadBalancing defines a boolean indicating if load balancing based on request is enabled for http2. |
Generated with gen-crd-api-reference-docs
on git commit 8abe9ab.
1.2 - Config v1alpha2 API Reference
Packages:
config.flomesh.io/v1alpha2
Package v1alpha2 is the v1alpha2 version of the API.
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 FSM’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. |
ClusterPropertySpec
(Appears on:ClusterSetSpec)
ClusterPropertySpec is the type to represent cluster property.
| Field | Description |
|---|---|
namestring | Name defines the name of cluster property. |
valuestring | Value defines the name of cluster property. |
ClusterSetSpec
(Appears on:MeshConfigSpec)
ClusterSetSpec is the type to represent cluster set.
| Field | Description |
|---|---|
properties[]ClusterPropertySpec | Properties defines properties for cluster. |
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 FSM’s feature flags.
| Field | Description |
|---|---|
enableEgressPolicybool | EnableEgressPolicy defines if FSM’s Egress policy is enabled. |
enableSnapshotCacheModebool | EnableSnapshotCacheMode defines if XDS server starts with snapshot cache. |
enableAsyncProxyServiceMappingbool | EnableAsyncProxyServiceMapping defines if FSM will map proxies to services asynchronously. |
enableIngressBackendPolicybool | EnableIngressBackendPolicy defines if FSM will use the IngressBackend API to allow ingress traffic to service mesh backends. |
enableAccessControlPolicybool | EnableAccessControlPolicy defines if FSM will use the AccessControl API to allow access control traffic to service mesh backends. |
enableAccessCertPolicybool | EnableAccessCertPolicy defines if FSM can issue certificates for external services.. |
enableSidecarActiveHealthChecksbool | EnableSidecarActiveHealthChecks defines if FSM will Sidecar active health checks between services allowed to communicate. |
enableRetryPolicybool | EnableRetryPolicy defines if retry policy is enabled. |
enablePluginPolicybool | EnablePluginPolicy defines if plugin policy is enabled. |
enableAutoDefaultRoutebool | EnableAutoDefaultRoute defines if auto default route 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. |
LocalDNSProxy
(Appears on:SidecarSpec)
LocalDNSProxy is the type to represent FSM’s local DNS proxy configuration.
| Field | Description |
|---|---|
enablebool | Enable defines a boolean indicating if the sidecars are enabled for local DNS Proxy. |
primaryUpstreamDNSServerIPAddrstring | PrimaryUpstreamDNSServerIPAddr defines a primary upstream DNS server for local DNS Proxy. |
secondaryUpstreamDNSServerIPAddrstring | SecondaryUpstreamDNSServerIPAddr defines a secondary upstream DNS server for local DNS Proxy. |
LocalProxyMode
(string alias)
(Appears on:SidecarSpec)
LocalProxyMode is a type alias representing the way the 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 FSM’s configuration.
| Field | Description |
|---|---|
clusterSetClusterSetSpec | ClusterSetSpec defines the configurations of cluster. |
sidecarSidecarSpec | Sidecar defines the configurations of the proxy sidecar in a mesh. |
repoServerRepoServerSpec | RepoServer defines the configurations of pipy repo server. |
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. |
pluginChainsPluginChainsSpec | PluginChains defines the default plugin chains. |
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 |
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. |
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 |
ObservabilitySpec
(Appears on:MeshConfigSpec)
ObservabilitySpec is the type to represent FSM’s observability configurations.
| Field | Description |
|---|---|
fsmLogLevelstring | FSMLogLevel defines the log level for FSM control plane logs. |
enableDebugServerbool | EnableDebugServer defines if the debug endpoint on the FSM controller pod is enabled. |
tracingTracingSpec | Tracing defines FSM’s tracing configuration. |
remoteLoggingRemoteLoggingSpec | RemoteLogging defines FSM’s remote logging configuration. |
PluginChainSpec
(Appears on:PluginChainsSpec)
PluginChainSpec is the type to represent plugin chain.
| Field | Description |
|---|---|
pluginstring | Plugin defines the name of plugin |
priorityfloat32 | Priority defines the priority of plugin |
disablebool | Disable defines the visibility of plugin |
PluginChainsSpec
(Appears on:MeshConfigSpec)
PluginChainsSpec is the type to represent plugin chains.
| Field | Description |
|---|---|
inbound-tcp[]PluginChainSpec | InboundTCPChains defines inbound tcp chains |
inbound-http[]PluginChainSpec | InboundHTTPChains defines inbound http chains |
outbound-tcp[]PluginChainSpec | OutboundTCPChains defines outbound tcp chains |
outbound-http[]PluginChainSpec | OutboundHTTPChains defines outbound http chains |
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 |
RemoteLoggingSpec
(Appears on:ObservabilitySpec)
RemoteLoggingSpec is the type to represent FSM’s remote logging configuration.
| Field | Description |
|---|---|
enablebool | Enable defines a boolean indicating if the sidecars are enabled for remote logging. |
leveluint16 | Level defines the remote logging’s level. |
portint16 | Port defines the remote logging’s port. |
addressstring | Address defines the remote logging’s hostname. |
endpointstring | Endpoint defines the API endpoint for remote logging requests sent to the collector. |
authorizationstring | Authorization defines the access entity that allows to authorize someone in remote logging service. |
sampledFractionstring | SampledFraction defines the sampled fraction. |
RepoServerSpec
(Appears on:MeshConfigSpec)
RepoServerSpec is the type to represent repo server.
| Field | Description |
|---|---|
ipaddrstring | IPAddr of the pipy repo server |
codebasestring | Codebase is the folder used by fsmController |
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 |
SidecarDriverSpec
(Appears on:SidecarSpec)
SidecarDriverSpec is the type to represent FSM’s sidecar driver define.
| Field | Description |
|---|---|
sidecarNamestring | SidecarName defines the name of the sidecar driver. |
sidecarImagestring | SidecarImage defines the container image used for the proxy sidecar. |
initContainerImagestring | InitContainerImage defines the container image used for the init container injected to meshed pods. |
proxyServerPortuint32 | ProxyServerPort is the port on which the Discovery Service listens for new connections from Sidecars |
sidecarDisabledMTLSbool | SidecarDisabledMTLS defines whether mTLS is disabled. |
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. |
sidecarClassstring | SidecarClass defines the class used for the proxy sidecar. |
sidecarImagestring | SidecarImage defines the container image used for the proxy sidecar. |
sidecarDisabledMTLSbool | SidecarDisabledMTLS defines whether mTLS is disabled. |
initContainerImagestring | InitContainerImage defines the container image used for the init container injected to meshed pods. |
sidecarDrivers[]SidecarDriverSpec | SidecarDrivers defines the sidecar supported. |
maxDataPlaneConnectionsint | MaxDataPlaneConnections defines the maximum allowed data plane connections from a proxy sidecar to the FSM controller. |
configResyncIntervalstring | ConfigResyncInterval defines the resync interval for regular proxy broadcast updates. |
sidecarTimeoutint | SidecarTimeout defines the connect/idle/read/write timeout. |
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, TLSv1_1, 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 proxy will use to send traffic to the backend service application. Acceptable values are [ |
localDNSProxyLocalDNSProxy | LocalDNSProxy improves the performance of your computer by caching the responses coming from your DNS servers |
TracingSpec
(Appears on:ObservabilitySpec)
TracingSpec is the type to represent FSM’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. |
sampledFractionstring | SampledFraction defines the sampled fraction. |
TrafficSpec
(Appears on:MeshConfigSpec)
TrafficSpec is the type used to represent FSM’s traffic management configuration.
| Field | Description |
|---|---|
interceptionModestring | InterceptionMode defines a string indicating which traffic interception mode is used. |
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. |
serviceAccessModestring | ServiceAccessMode defines a string indicating service access mode. |
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. |
http1PerRequestLoadBalancingbool | HTTP1PerRequestLoadBalancing defines a boolean indicating if load balancing based on request is enabled for http1. |
http2PerRequestLoadBalancingbool | HTTP1PerRequestLoadBalancing defines a boolean indicating if load balancing based on request is enabled for http2. |
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 8abe9ab.
1.3 - Config v1alpha3 API Reference
Packages:
config.flomesh.io/v1alpha3
Package v1alpha3 is the v1alpha3 version of the API.
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 FSM’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. |
ClusterPropertySpec
(Appears on:ClusterSetSpec)
ClusterPropertySpec is the type to represent cluster property.
| Field | Description |
|---|---|
namestring | Name defines the name of cluster property. |
valuestring | Value defines the name of cluster property. |
ClusterSetSpec
(Appears on:MeshConfigSpec)
ClusterSetSpec is the type to represent cluster set.
| Field | Description |
|---|---|
isManagedbool | IsManaged defines if the cluster is managed. |
uidstring | UID defines Unique ID of cluster. |
regionstring | (Optional) Region defines Region of cluster. |
zonestring | (Optional) Zone defines Zone of cluster. |
groupstring | (Optional) Group defines Group of cluster. |
namestring | Name defines Name of cluster. |
controlPlaneUIDstring | ControlPlaneUID defines the unique ID of the control plane cluster, in case it’s managed |
properties[]ClusterPropertySpec | Properties defines properties for cluster. |
EgressGatewaySpec
(Appears on:MeshConfigSpec)
EgressGatewaySpec is the type to represent egress gateway.
| Field | Description |
|---|---|
enabledbool | Enabled defines if flb is enabled. |
logLevelstring | LogLevel defines the log level of gateway api. |
modestring | Mode defines the mode of egress gateway. |
portint32 | Port defines the port of egress gateway. |
adminPortint32 | AdminPort defines the admin port of egress gateway. |
replicasint32 | Replicas defines the replicas of egress gateway. |
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. |
FLBSpec
(Appears on:MeshConfigSpec)
FLBSpec is the type to represent flb.
| Field | Description |
|---|---|
enabledbool | Enabled defines if flb is enabled. |
strictModebool | StrictMode defines if flb is in strict mode. |
upstreamModeFLBUpstreamMode | UpstreamMode defines the upstream mode of flb. |
secretNamestring | SecretName defines the secret name of flb. |
FLBUpstreamMode
(string alias)
(Appears on:FLBSpec)
| Value | Description |
|---|---|
"Endpoint" | |
"NodePort" |
FeatureFlags
(Appears on:MeshConfigSpec)
FeatureFlags is a type to represent FSM’s feature flags.
| Field | Description |
|---|---|
enableEgressPolicybool | EnableEgressPolicy defines if FSM’s Egress policy is enabled. |
enableSnapshotCacheModebool | EnableSnapshotCacheMode defines if XDS server starts with snapshot cache. |
enableAsyncProxyServiceMappingbool | EnableAsyncProxyServiceMapping defines if FSM will map proxies to services asynchronously. |
enableIngressBackendPolicybool | EnableIngressBackendPolicy defines if FSM will use the IngressBackend API to allow ingress traffic to service mesh backends. |
enableAccessControlPolicybool | EnableAccessControlPolicy defines if FSM will use the AccessControl API to allow access control traffic to service mesh backends. |
enableAccessCertPolicybool | EnableAccessCertPolicy defines if FSM can issue certificates for external services.. |
enableSidecarActiveHealthChecksbool | EnableSidecarActiveHealthChecks defines if FSM will Sidecar active health checks between services allowed to communicate. |
enableRetryPolicybool | EnableRetryPolicy defines if retry policy is enabled. |
enablePluginPolicybool | EnablePluginPolicy defines if plugin policy is enabled. |
enableAutoDefaultRoutebool | EnableAutoDefaultRoute defines if auto default route is enabled. |
enableValidateGatewayListenerHostnamebool | EnableValidateGatewayListenerHostname defines if validate gateway listener hostname is enabled. |
enableValidateHTTPRouteHostnamesbool | EnableValidateHTTPRouteHostnames defines if validate http route hostnames is enabled. |
enableValidateGRPCRouteHostnamesbool | EnableValidateGRPCRouteHostnames defines if validate grpc route hostnames is enabled. |
enableValidateTLSRouteHostnamesbool | EnableValidateTCPRouteHostnames defines if validate tcp route hostnames is enabled. |
enableGatewayAgentServicebool | EnableGatewayAgentService defines if agent service is enabled. |
enableGatewayProxyTagbool | EnableGatewayProxyTag defines if gateway proxy-tag header is enabled. |
GatewayAPISpec
(Appears on:MeshConfigSpec)
GatewayAPISpec is the type to represent gateway api.
| Field | Description |
|---|---|
enabledbool | Enabled defines if gateway api is enabled. |
logLevelstring | LogLevel defines the log level of gateway api. |
fgwLogLevelstring | FGWLogLevel defines the log level of FGW. |
StripAnyHostPortbool | StripAnyHostPort defines if strip any host port is enabled. |
sslPassthroughUpstreamPortint32 | SSLPassthroughUpstreamPort defines the default upstream port of SSL passthrough. |
http1PerRequestLoadBalancingbool | HTTP1PerRequestLoadBalancing defines if load balancing based on per-request is enabled for http1. |
http2PerRequestLoadBalancingbool | HTTP2PerRequestLoadBalancing defines if load balancing based on per-request is enabled for http2. |
proxyTagProxyTag | ProxyTag defines the proxy tag configuration of gateway api. |
HTTP
(Appears on:IngressSpec)
HTTP is the type to represent http.
| Field | Description |
|---|---|
enabledbool | Enabled defines if http is enabled. |
bindint32 | Bind defines the bind port of http. |
listenint32 | Listen defines the listen port of http. |
nodePortint32 | NodePort defines the node port of http. |
ImageSpec
(Appears on:MeshConfigSpec)
ImageSpec is the type to represent image.
| Field | Description |
|---|---|
registrystring | Registry defines the registry of docker image. |
tagstring | Tag defines the tag of docker image. |
pullPolicyKubernetes core/v1.PullPolicy | PullPolicy defines the pull policy of docker image. |
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. |
IngressSpec
(Appears on:MeshConfigSpec)
IngressSpec is the type to represent ingress.
| Field | Description |
|---|---|
enabledbool | Enabled defines if ingress is enabled. |
namespacedbool | Namespaced defines if ingress is namespaced. |
typeKubernetes core/v1.ServiceType | Type defines the type of ingress service. |
logLevelstring | LogLevel defines the log level of ingress. |
httpHTTP | (Optional) HTTP defines the http configuration of ingress. |
tlsTLS | (Optional) TLS defines the tls configuration of ingress. |
LocalDNSProxy
(Appears on:SidecarSpec)
LocalDNSProxy is the type to represent FSM’s local DNS proxy configuration.
| Field | Description |
|---|---|
enablebool | Enable defines a boolean indicating if the sidecars are enabled for local DNS Proxy. |
primaryUpstreamDNSServerIPAddrstring | (Optional) PrimaryUpstreamDNSServerIPAddr defines a primary upstream DNS server for local DNS Proxy. |
secondaryUpstreamDNSServerIPAddrstring | (Optional) SecondaryUpstreamDNSServerIPAddr defines a secondary upstream DNS server for local DNS Proxy. |
wildcardWildcardDN | Wildcard defines Wildcard DN. |
db[]ResolveDN | DB defines Resolve DB. |
LocalProxyMode
(string alias)
(Appears on:SidecarSpec)
LocalProxyMode is a type alias representing the way the 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 FSM’s configuration.
| Field | Description |
|---|---|
clusterSetClusterSetSpec | ClusterSetSpec defines the configurations of cluster. |
sidecarSidecarSpec | Sidecar defines the configurations of the proxy sidecar in a mesh. |
repoServerRepoServerSpec | RepoServer defines the configurations of pipy repo server. |
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. |
pluginChainsPluginChainsSpec | PluginChains defines the default plugin chains. |
ingressIngressSpec | Ingress defines the configurations of Ingress features. |
gatewayAPIGatewayAPISpec | GatewayAPI defines the configurations of GatewayAPI features. |
serviceLBServiceLBSpec | ServiceLB defines the configurations of ServiceLBServiceLB features. |
flbFLBSpec | FLB defines the configurations of FLB features. |
egressGatewayEgressGatewaySpec | EgressGateway defines the configurations of EgressGateway features. |
imageImageSpec | Image defines the configurations of Image info |
miscMiscSpec | Misc defines the configurations of misc info |
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 |
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. |
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 |
MiscSpec
(Appears on:MeshConfigSpec)
MiscSpec is the type to represent misc configs.
| Field | Description |
|---|---|
curlImagestring | CurlImage defines the image of curl. |
repoServerImagestring | RepoServerImage defines the image of repo server. |
ObservabilitySpec
(Appears on:MeshConfigSpec)
ObservabilitySpec is the type to represent FSM’s observability configurations.
| Field | Description |
|---|---|
fsmLogLevelstring | FSMLogLevel defines the log level for FSM control plane logs. |
enableDebugServerbool | EnableDebugServer defines if the debug endpoint on the FSM controller pod is enabled. |
tracingTracingSpec | Tracing defines FSM’s tracing configuration. |
remoteLoggingRemoteLoggingSpec | RemoteLogging defines FSM’s remote logging configuration. |
PluginChainSpec
(Appears on:PluginChainsSpec)
PluginChainSpec is the type to represent plugin chain.
| Field | Description |
|---|---|
pluginstring | Plugin defines the name of plugin |
priorityfloat32 | Priority defines the priority of plugin |
disablebool | Disable defines the visibility of plugin |
PluginChainsSpec
(Appears on:MeshConfigSpec)
PluginChainsSpec is the type to represent plugin chains.
| Field | Description |
|---|---|
inbound-tcp[]PluginChainSpec | InboundTCPChains defines inbound tcp chains |
inbound-http[]PluginChainSpec | InboundHTTPChains defines inbound http chains |
outbound-tcp[]PluginChainSpec | OutboundTCPChains defines outbound tcp chains |
outbound-http[]PluginChainSpec | OutboundHTTPChains defines outbound http chains |
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 |
ProxyTag
(Appears on:GatewayAPISpec)
| Field | Description |
|---|---|
srcHostHeaderstring | SrcHostHeader defines the src host header. |
dstHostHeaderstring | DstHostHeader defines the dst host header. |
RemoteLoggingSpec
(Appears on:ObservabilitySpec)
RemoteLoggingSpec is the type to represent FSM’s remote logging configuration.
| Field | Description |
|---|---|
enablebool | Enable defines a boolean indicating if the sidecars are enabled for remote logging. |
leveluint16 | Level defines the remote logging’s level. |
portint16 | Port defines the remote logging’s port. |
addressstring | Address defines the remote logging’s hostname. |
endpointstring | Endpoint defines the API endpoint for remote logging requests sent to the collector. |
authorizationstring | Authorization defines the access entity that allows to authorize someone in remote logging service. |
sampledFractionstring | SampledFraction defines the sampled fraction. |
secretNamestring | SecretName defines the name of the secret that contains the configuration for remote logging. |
RepoServerSpec
(Appears on:MeshConfigSpec)
RepoServerSpec is the type to represent repo server.
| Field | Description |
|---|---|
ipaddrstring | IPAddr of the pipy repo server |
portint16 | Port defines the pipy repo server’s port. |
codebasestring | Codebase is the folder used by fsmController |
ResolveDN
(Appears on:LocalDNSProxy)
ResolveDN is the type to represent FSM’s Resolve DN configuration.
| Field | Description |
|---|---|
dnstring | DN defines resolve DN. |
ipv4[]string | IPv4 defines a ipv4 address for resolve DN. |
SSLPassthrough
(Appears on:TLS)
SSLPassthrough is the type to represent ssl passthrough.
| Field | Description |
|---|---|
enabledbool | Enabled defines if ssl passthrough is enabled. |
upstreamPortint32 | UpstreamPort defines the upstream port of ssl passthrough. |
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 |
ServiceLBSpec
(Appears on:MeshConfigSpec)
ServiceLBSpec is the type to represent service lb.
| Field | Description |
|---|---|
enabledbool | Enabled defines if service lb is enabled. |
imagestring | Image defines the service lb image. |
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. |
sidecarImagestring | SidecarImage defines the container image used for the proxy sidecar. |
sidecarDisabledMTLSbool | SidecarDisabledMTLS defines whether mTLS is disabled. |
maxDataPlaneConnectionsint | MaxDataPlaneConnections defines the maximum allowed data plane connections from a proxy sidecar to the FSM controller. |
configResyncIntervalstring | ConfigResyncInterval defines the resync interval for regular proxy broadcast updates. |
sidecarTimeoutint | SidecarTimeout defines the connect/idle/read/write timeout. |
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, TLSv1_1, 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 proxy will use to send traffic to the backend service application. Acceptable values are [ |
localDNSProxyLocalDNSProxy | LocalDNSProxy improves the performance of your computer by caching the responses coming from your DNS servers |
TLS
(Appears on:IngressSpec)
TLS is the type to represent tls.
| Field | Description |
|---|---|
enabledbool | Enabled defines if tls is enabled. |
bindint32 | Bind defines the bind port of tls. |
listenint32 | Listen defines the listen port of tls. |
nodePortint32 | NodePort defines the node port of tls. |
mTLSbool | MTLS defines if mTLS is enabled. |
sslPassthroughSSLPassthrough | (Optional) SSLPassthrough defines the ssl passthrough configuration of tls. |
TracingSpec
(Appears on:ObservabilitySpec)
TracingSpec is the type to represent FSM’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. |
sampledFractionstring | SampledFraction defines the sampled fraction. |
TrafficSpec
(Appears on:MeshConfigSpec)
TrafficSpec is the type used to represent FSM’s traffic management configuration.
| Field | Description |
|---|---|
interceptionModestring | InterceptionMode defines a string indicating which traffic interception mode is used. |
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. |
serviceAccessModestring | ServiceAccessMode defines a string indicating service access mode. |
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. |
http1PerRequestLoadBalancingbool | HTTP1PerRequestLoadBalancing defines a boolean indicating if load balancing based on request is enabled for http1. |
http2PerRequestLoadBalancingbool | HTTP1PerRequestLoadBalancing defines a boolean indicating if load balancing based on request is enabled for http2. |
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 |
WildcardDN
(Appears on:LocalDNSProxy)
WildcardDN is the type to represent FSM’s Wildcard DN configuration.
| Field | Description |
|---|---|
enablebool | Enable defines a boolean indicating if wildcard are enabled for local DNS Proxy. |
ipv4[]string | IPv4 defines a ipv4 address for wildcard DN. |
Generated with gen-crd-api-reference-docs
on git commit 8abe9ab.
2 - MultiCluster API Reference
2.1 - MultiCluster v1alpha1 API Reference
Packages:
flomesh.io/v1alpha1
Package v1alpha1 is the v1alpha1 version of the API.
Cluster
Cluster is the Schema for the clusters API
| Field | Description | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
apiVersionstring | flomesh.io/v1alpha1 | ||||||||||||||||
kindstring | Cluster | ||||||||||||||||
metadataKubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||||||||||||||
specClusterSpec |
| ||||||||||||||||
statusClusterStatus |
GlobalTrafficPolicy
GlobalTrafficPolicy is the Schema for the GlobalTrafficPolicys API
| Field | Description | ||||
|---|---|---|---|---|---|
apiVersionstring | flomesh.io/v1alpha1 | ||||
kindstring | GlobalTrafficPolicy | ||||
metadataKubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||
specGlobalTrafficPolicySpec |
| ||||
statusGlobalTrafficPolicyStatus |
ServiceExport
ServiceExport is the Schema for the ServiceExports API
| Field | Description | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
apiVersionstring | flomesh.io/v1alpha1 | ||||||||||||
kindstring | ServiceExport | ||||||||||||
metadataKubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||||||||||
specServiceExportSpec |
| ||||||||||||
statusServiceExportStatus |
ServiceImport
ServiceImport is the Schema for the ServiceImports API
| Field | Description | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
apiVersionstring | flomesh.io/v1alpha1 | ||||||||||||
kindstring | ServiceImport | ||||||||||||
metadataKubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||||||||||
specServiceImportSpec |
| ||||||||||||
statusServiceImportStatus |
ClusterConditionType
(string alias)
ClusterConditionType identifies a specific condition.
| Value | Description |
|---|---|
"Managed" | ClusterManaged means that the cluster has joined the CLusterSet successfully and is managed by Control Plane. |
ClusterSpec
(Appears on:Cluster)
ClusterSpec defines the desired state of Cluster
| Field | Description |
|---|---|
regionstring | Region, the locality information of this cluster |
zonestring | Zone, the locality information of this cluster |
groupstring | Group, the locality information of this cluster |
gatewayHoststring | GatewayHost, the Full Qualified Domain Name or IP of the gateway/ingress of this cluster If it’s an IP address, only IPv4 is supported |
gatewayPortint32 | The port number of the gateway |
kubeconfigstring | Kubeconfig, The kubeconfig of the cluster you want to connnect to This’s not needed if ClusterMode is InCluster, it will use InCluster config |
fsmMeshConfigNamestring | (Optional) FsmMeshConfigName, defines the name of the MeshConfig of managed cluster |
fsmNamespacestring | FsmNamespace, defines the namespace of managed cluster in which fsm is installed |
ClusterStatus
(Appears on:Cluster)
ClusterStatus defines the observed state of Cluster
| Field | Description |
|---|---|
conditions[]Kubernetes meta/v1.Condition | (Optional) |
Endpoint
(Appears on:ServicePort)
Endpoint represents a single logical “backend” implementing a service.
| Field | Description |
|---|---|
targetTarget | |
clusterKeystring |
GlobalTrafficPolicySpec
(Appears on:GlobalTrafficPolicy)
GlobalTrafficPolicySpec defines the desired state of GlobalTrafficPolicy
| Field | Description |
|---|---|
lbTypeLoadBalancerType | Type of global load distribution |
targets[]TrafficTarget | (Optional) |
GlobalTrafficPolicyStatus
(Appears on:GlobalTrafficPolicy)
GlobalTrafficPolicyStatus defines the observed state of GlobalTrafficPolicy
LoadBalancerType
(string alias)
(Appears on:GlobalTrafficPolicySpec)
LoadBalancerType defines the type of load balancer
| Value | Description |
|---|---|
"ActiveActive" | ActiveActiveLbType is the type of load balancer that distributes traffic to all targets |
"FailOver" | FailOverLbType is the type of load balancer that distributes traffic to the first available target |
"Locality" | LocalityLbType is the type of load balancer that distributes traffic to targets in the same locality |
PathRewrite
(Appears on:ServiceExportSpec)
PathRewrite defines the rewrite rule for service export
| Field | Description |
|---|---|
fromstring | |
tostring |
ServiceExportConditionType
(string alias)
ServiceExportConditionType identifies a specific condition.
| Value | Description |
|---|---|
"Conflict" | ServiceExportConflict means that there is a conflict between two exports for the same Service. When “True”, the condition message should contain enough information to diagnose the conflict: field(s) under contention, which cluster won, and why. Users should not expect detailed per-cluster information in the conflict message. |
"Valid" | ServiceExportValid means that the service referenced by this service export has been recognized as valid by controller. This will be false if the service is found to be unexportable (ExternalName, not found). |
ServiceExportRule
(Appears on:ServiceExportSpec)
ServiceExportRule defines the rule for service export
| Field | Description |
|---|---|
portNumberint32 | The port number of service |
pathstring | Path is matched against the path of an incoming request. Currently it can contain characters disallowed from the conventional “path” part of a URL as defined by RFC 3986. Paths must begin with a ‘/’ and must be present when using PathType with value “Exact” or “Prefix”. |
pathTypeKubernetes networking/v1.PathType |
ServiceExportSpec
(Appears on:ServiceExport)
ServiceExportSpec defines the desired state of ServiceExport
| Field | Description |
|---|---|
pathRewritePathRewrite | (Optional) PathRewrite, it shares ONE rewrite rule for the same ServiceExport |
sessionStickybool | (Optional) Indicates if session sticky is enabled |
loadBalancergithub.com/flomesh-io/fsm/pkg/apis.AlgoBalancer | (Optional) The LoadBalancer Type applied to the Ingress Rules those created by the ServiceExport |
rules[]ServiceExportRule | The paths for accessing the service via Ingress controller |
targetClusters[]string | (Optional) If empty, service is exported to all managed clusters. If not empty, service is exported to specified clusters, must be in format [region]/[zone]/[group]/[cluster] |
serviceAccountNamestring | (Optional) The ServiceAccount associated with this service |
ServiceExportStatus
(Appears on:ServiceExport)
ServiceExportStatus defines the observed state of ServiceExport
| Field | Description |
|---|---|
conditions[]Kubernetes meta/v1.Condition | (Optional) |
ServiceImportSpec
(Appears on:ServiceImport)
ServiceImportSpec describes an imported service and the information necessary to consume it.
| Field | Description |
|---|---|
ports[]ServicePort | |
ips[]string | (Optional) ip will be used as the VIP for this service when type is ClusterSetIP. |
typeServiceImportType | (Optional) type defines the type of this service. Must be ClusterSetIP or Headless. |
sessionAffinityKubernetes core/v1.ServiceAffinity | (Optional) Supports “ClientIP” and “None”. Used to maintain session affinity. Enable client IP based session affinity. Must be ClientIP or None. Defaults to None. Ignored when type is Headless More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies |
sessionAffinityConfigKubernetes core/v1.SessionAffinityConfig | (Optional) sessionAffinityConfig contains session affinity configuration. |
serviceAccountNamestring | (Optional) The ServiceAccount associated with this service |
ServiceImportStatus
(Appears on:ServiceImport)
ServiceImportStatus describes derived state of an imported service.
| Field | Description |
|---|---|
clusters[]SourceStatus | (Optional) clusters is the list of exporting clusters from which this service was derived. |
ServiceImportType
(string alias)
(Appears on:ServiceImportSpec)
ServiceImportType designates the type of a ServiceImport
| Value | Description |
|---|---|
"ClusterSetIP" | ClusterSetIP are only accessible via the ClusterSet IP. |
"Headless" | Headless services allow backend pods to be addressed directly. |
ServicePort
(Appears on:ServiceImportSpec)
ServicePort represents the port on which the service is exposed
| Field | Description |
|---|---|
namestring | (Optional) The name of this port within the service. This must be a DNS_LABEL. All ports within a ServiceSpec must have unique names. When considering the endpoints for a Service, this must match the ‘name’ field in the EndpointPort. Optional if only one ServicePort is defined on this service. |
protocolKubernetes core/v1.Protocol | (Optional) The IP protocol for this port. Supports “TCP”, “UDP”, and “SCTP”. Default is TCP. |
appProtocolstring | (Optional) The application protocol for this port. This field follows standard Kubernetes label syntax. Un-prefixed names are reserved for IANA standard service names (as per RFC-6335 and http://www.iana.org/assignments/service-names). Non-standard protocols should use prefixed names such as mycompany.com/my-custom-protocol. Field can be enabled with ServiceAppProtocol feature gate. |
portint32 | The port that will be exposed by this service. |
endpoints[]Endpoint | The address of accessing the service |
SourceStatus
(Appears on:ServiceImportStatus)
SourceStatus contains service configuration mapped to a specific source cluster
| Field | Description |
|---|---|
clusterstring | cluster is the name of the exporting cluster. Must be a valid RFC-1123 DNS label. |
addresses[]string | in-cluster service, it’s the cluster IPs otherwise, it’s the url of accessing that service in remote cluster for example, http(s)://[Ingress IP/domain name]:[port]/[path] |
Target
(Appears on:Endpoint)
Target represents a single logical “backend” implementing a service.
| Field | Description |
|---|---|
hoststring | |
ipstring | |
portint32 | |
pathstring |
TrafficTarget
(Appears on:GlobalTrafficPolicySpec)
TrafficTarget defines the target of traffic
| Field | Description |
|---|---|
clusterKeystring | Format: [region]/[zone]/[group]/[cluster] |
weightint | (Optional) |
Generated with gen-crd-api-reference-docs
on git commit 8abe9ab.
3 - Networking API Reference
3.1 - Networking v1 API Reference
Packages:
networking.k8s.io/v1
Package v1 is the v1 version of the API.
AlgoBalancer
(string alias)
AlgoBalancer defines Balancer Algo
IngressClass
IngressClass represents the class of the Ingress, referenced by the Ingress Spec.
| Field | Description | ||||
|---|---|---|---|---|---|
metadataKubernetes meta/v1.ObjectMeta | (Optional) Standard object’s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata Refer to the Kubernetes API documentation for the fields of themetadata field. | ||||
specKubernetes networking/v1.IngressClassSpec | (Optional) Spec is the desired state of the IngressClass. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
|
Generated with gen-crd-api-reference-docs
on git commit 8abe9ab.
4 - Plugin API Reference
4.1 - Plugin v1alpha1 API Reference
Packages:
plugin.flomesh.io/v1alpha1
Package v1alpha1 is the v1alpha1 version of the API.
ChainPluginSpec
(Appears on:PluginChainSpec)
ChainPluginSpec is the type used to represent plugins within chain.
| Field | Description |
|---|---|
namestring | Name defines the name of chain. |
plugins[]string | Plugins defines the plugins within chain. |
ChainSelectorSpec
(Appears on:PluginChainSpec)
ChainSelectorSpec is the type used to represent plugins for plugin chain.
| Field | Description |
|---|---|
podSelectorKubernetes meta/v1.LabelSelector | (Optional) PodSelector for pods. Existing pods are selected by this will be the ones affected by this plugin chain. |
namespaceSelectorKubernetes meta/v1.LabelSelector | (Optional) NamespaceSelector for namespaces. Existing pods are selected by this will be the ones affected by this plugin chain. |
Plugin
Plugin is the type used to represent a Plugin policy.
| Field | Description | ||||
|---|---|---|---|---|---|
metadataKubernetes meta/v1.ObjectMeta | (Optional) Object’s metadata Refer to the Kubernetes API documentation for the fields of themetadata field. | ||||
specPluginSpec | (Optional) Spec is the PlugIn specification
| ||||
statusPluginStatus | (Optional) Status is the status of the Plugin configuration. |
PluginChain
PluginChain is the type used to represent a PluginChain.
| Field | Description | ||||
|---|---|---|---|---|---|
metadataKubernetes meta/v1.ObjectMeta | (Optional) Object’s metadata Refer to the Kubernetes API documentation for the fields of themetadata field. | ||||
specPluginChainSpec | (Optional) Spec is the PluginChain specification
| ||||
statusPluginChainStatus | (Optional) Status is the status of the PluginChain configuration. |
PluginChainSpec
(Appears on:PluginChain)
PluginChainSpec is the type used to represent the PluginChain specification.
| Field | Description |
|---|---|
chains[]ChainPluginSpec | Chains defines the plugins within chains |
selectorsChainSelectorSpec | Selectors defines the selectors of chains. |
PluginChainStatus
(Appears on:PluginChain)
PluginChainStatus is the type used to represent the status of a PluginChain resource.
| Field | Description |
|---|---|
currentStatusstring | (Optional) CurrentStatus defines the current status of a PluginChain resource. |
reasonstring | (Optional) Reason defines the reason for the current status of a PluginChain resource. |
PluginConfig
PluginConfig is the type used to represent a plugin config policy.
| Field | Description | ||||||
|---|---|---|---|---|---|---|---|
metadataKubernetes meta/v1.ObjectMeta | (Optional) Object’s metadata Refer to the Kubernetes API documentation for the fields of themetadata field. | ||||||
specPluginConfigSpec | (Optional) Spec is the PlugIn specification
| ||||||
statusPluginConfigStatus | (Optional) Status is the status of the plugin config configuration. |
PluginConfigSpec
(Appears on:PluginConfig)
PluginConfigSpec is the type used to represent the plugin config specification.
| Field | Description |
|---|---|
pluginstring | Plugin is the name of plugin. |
destinationRefs[]Kubernetes core/v1.ObjectReference | DestinationRefs is the destination references of plugin. |
configk8s.io/apimachinery/pkg/runtime.RawExtension | Config is the config of plugin. |
PluginConfigStatus
(Appears on:PluginConfig)
PluginConfigStatus is the type used to represent the status of a PluginConfig resource.
| Field | Description |
|---|---|
currentStatusstring | (Optional) CurrentStatus defines the current status of a PluginConfig resource. |
reasonstring | (Optional) Reason defines the reason for the current status of a PluginConfig resource. |
PluginSpec
(Appears on:Plugin)
PluginSpec is the type used to represent the Plugin policy specification.
| Field | Description |
|---|---|
priorityfloat32 | priority defines the priority of the plugin. |
pipyscriptstring | Script defines the Script of the plugin. |
PluginStatus
(Appears on:Plugin)
PluginStatus is the type used to represent the status of a Plugin resource.
| Field | Description |
|---|---|
currentStatusstring | (Optional) CurrentStatus defines the current status of a Plugin resource. |
reasonstring | (Optional) Reason defines the reason for the current status of a Plugin resource. |
Generated with gen-crd-api-reference-docs
on git commit 8abe9ab.
5 - Policy API Reference
5.1 - Policy v1alpha1 API Reference
Packages:
policy.flomesh.io/v1alpha1
Package v1alpha1 is the v1alpha1 version of the API.
AccessCert
AccessCert is the type used to represent an AccessCert policy.
| Field | Description | ||||
|---|---|---|---|---|---|
metadataKubernetes meta/v1.ObjectMeta | (Optional) Object’s metadata Refer to the Kubernetes API documentation for the fields of themetadata field. | ||||
specAccessCertSpec | (Optional) Spec is the Access Cert specification
| ||||
statusAccessCertStatus | (Optional) Status is the status of the AccessCert configuration. |
AccessCertSpec
(Appears on:AccessCert)
AccessCertSpec is the type used to represent the AccessCert policy specification.
| Field | Description |
|---|---|
subjectAltNames[]string | SubjectAltNames defines the Subject Alternative Names (domain names and IP addresses) secured by the certificate. |
secretKubernetes core/v1.SecretReference | Secret defines the secret in which the certificate is stored. |
AccessCertStatus
(Appears on:AccessCert)
AccessCertStatus is the type used to represent the status of an AccessCert resource.
| Field | Description |
|---|---|
currentStatusstring | (Optional) CurrentStatus defines the current status of an AccessCert resource. |
reasonstring | (Optional) Reason defines the reason for the current status of an AccessCert resource. |
AccessControl
AccessControl is the type used to represent an AccessControl policy. An AccessControl policy authorizes one or more backends to accept ingress traffic from one or more sources.
| Field | Description | ||||||
|---|---|---|---|---|---|---|---|
metadataKubernetes meta/v1.ObjectMeta | (Optional) Object’s metadata Refer to the Kubernetes API documentation for the fields of themetadata field. | ||||||
specAccessControlSpec | (Optional) Spec is the Ingress backend policy specification
| ||||||
statusAccessControlStatus | (Optional) Status is the status of the AccessControl configuration. |
AccessControlBackendSpec
(Appears on:AccessControlSpec)
AccessControlBackendSpec is the type used to represent a Backend specified in the AccessControl policy specification.
| Field | Description |
|---|---|
namestring | Name defines the name of the backend. |
portPortSpec | Port defines the specification for the backend’s port. |
tlsTLSSpec | (Optional) TLS defines the specification for the backend’s TLS configuration. |
AccessControlSourceSpec
(Appears on:AccessControlSpec)
AccessControlSourceSpec is the type used to represent the Source in the list of Sources specified in an AccessControl policy specification.
| Field | Description |
|---|---|
kindstring | Kind defines the kind for the source in the AccessControl policy. Must be one of: Service, AuthenticatedPrincipal, IPRange |
namestring | Name defines the name of the source for the given Kind. |
namespacestring | (Optional) Namespace defines the namespace for the given source. |
AccessControlSpec
(Appears on:AccessControl)
AccessControlSpec is the type used to represent the AccessControl policy specification.
| Field | Description |
|---|---|
backends[]AccessControlBackendSpec | (Optional) Backends defines the list of backends the AccessControl policy applies to. |
sources[]AccessControlSourceSpec | Sources defines the list of sources the AccessControl policy applies to. |
matches[]Kubernetes core/v1.TypedLocalObjectReference | (Optional) Matches defines the list of object references the AccessControl policy should match on. |
AccessControlStatus
(Appears on:AccessControl)
AccessControlStatus is the type used to represent the status of an AccessControl resource.
| Field | Description |
|---|---|
currentStatusstring | (Optional) CurrentStatus defines the current status of an AccessControl resource. |
reasonstring | (Optional) Reason defines the reason for the current status of an AccessControl resource. |
BackendSpec
(Appears on:IngressBackendSpec)
BackendSpec is the type used to represent a Backend specified in the IngressBackend policy specification.
| Field | Description |
|---|---|
namestring | Name defines the name of the backend. |
portPortSpec | Port defines the specification for the backend’s port. |
tlsTLSSpec | (Optional) TLS defines the specification for the backend’s TLS configuration. |
ConnectionSettingsSpec
(Appears on:UpstreamTrafficSettingSpec)
ConnectionSettingsSpec defines the connection settings for an upstream host.
| Field | Description |
|---|---|
tcpTCPConnectionSettings | (Optional) TCP specifies the TCP level connection settings. Applies to both TCP and HTTP connections. |
httpHTTPConnectionSettings | (Optional) HTTP specifies the HTTP level connection settings. |
Egress
Egress is the type used to represent an Egress traffic policy. An Egress policy allows applications to access endpoints external to the service mesh or cluster based on the specified rules in the policy.
| Field | Description | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
metadataKubernetes meta/v1.ObjectMeta | (Optional) Object’s metadata Refer to the Kubernetes API documentation for the fields of themetadata field. | ||||||||||
specEgressSpec | (Optional) Spec is the Egress policy specification
|
EgressBindingSubject
(Appears on:EgressPolicyGatewayRule)
EgressBindingSubject is a Kubernetes objects which should be allowed egress
| Field | Description |
|---|---|
namestring | |
namespacestring |
EgressGateway
EgressGateway is the type used to represent an Egress Gateway policy.
| Field | Description | ||
|---|---|---|---|
metadataKubernetes meta/v1.ObjectMeta | (Optional) Object’s metadata Refer to the Kubernetes API documentation for the fields of themetadata field. | ||
specEgressGatewaySpec | (Optional) Spec is the EgressGateway policy specification
|
EgressGatewaySpec
(Appears on:EgressGateway)
EgressGatewaySpec is the type used to represent the Egress Gateway specification.
| Field | Description |
|---|---|
global[]GatewayBindingSubject | (Optional) GlobalEgressGateways defines the list of Global egress gateway. |
EgressPolicyGatewayRule
EgressPolicyGatewayRule is the type used to represent the rule of Egress Gateway specification based egress policies.
| Field | Description |
|---|---|
egressPolicies[]EgressBindingSubject | |
egressGateways[]GatewayBindingSubject |
EgressSourceCertSpec
(Appears on:EgressSourceMTLSSpec)
EgressSourceCertSpec is the type to represent the certificate specification for an egress source.
| Field | Description |
|---|---|
snint | SerialNumber defines the serial number of the certificate. |
subjectAltNames[]string | SubjectAltNames defines the Subject Alternative Names (domain names and IP addresses) secured by the certificate. |
expirationstring | Expiration defines the expiration of the certificate. |
secretKubernetes core/v1.SecretReference | Secret defines the secret in which the certificate is stored. |
EgressSourceMTLSSpec
(Appears on:EgressSourceSpec)
EgressSourceMTLSSpec is the type to represent the mTLS specification for an egress source.
| Field | Description |
|---|---|
issuerstring | |
certEgressSourceCertSpec |
EgressSourceSpec
(Appears on:EgressSpec)
EgressSourceSpec is the type used to represent the Source in the list of Sources specified in an Egress policy specification.
| Field | Description |
|---|---|
kindstring | Kind defines the kind for the source in the Egress policy, ex. ServiceAccount. |
namestring | Name defines the name of the source for the given Kind. |
namespacestring | Namespace defines the namespace for the given source. |
mtlsEgressSourceMTLSSpec | (Optional) MTLS defines the certificate specification for the egress source. |
EgressSpec
(Appears on:Egress)
EgressSpec is the type used to represent the Egress policy specification.
| Field | Description |
|---|---|
sources[]EgressSourceSpec | Sources defines the list of sources the Egress policy applies to. |
hosts[]string | (Optional) Hosts defines the list of external hosts the Egress policy will allow access to.
|
ipAddresses[]string | (Optional) IPAddresses defines the list of external IP address ranges the Egress policy applies to. The destination IP address of the traffic is matched against the list of IPAddresses specified as a CIDR range. |
ports[]PortSpec | Ports defines the list of ports the Egress policy is applies to. The destination port of the traffic is matched against the list of Ports specified. |
matches[]Kubernetes core/v1.TypedLocalObjectReference | (Optional) Matches defines the list of object references the Egress policy should match on. |
GatewayBindingSubject
(Appears on:EgressGatewaySpec, EgressPolicyGatewayRule)
GatewayBindingSubject is a Kubernetes objects which should be allowed forward to
| Field | Description |
|---|---|
servicestring | |
namespacestring | |
weightint |
HTTPCircuitBreaking
(Appears on:HTTPConnectionSettings)
HTTPCircuitBreaking defines the HTTP Circuit Breaking settings for an upstream host.
| Field | Description |
|---|---|
statTimeWindowKubernetes meta/v1.Duration | StatTimeWindow specifies statistical time period of circuit breaking |
minRequestAmountuint32 | MinRequestAmount specifies minimum number of requests (in an active statistic time span) that can trigger circuit breaking. |
degradedTimeWindowKubernetes meta/v1.Duration | DegradedTimeWindow specifies recovery timeout (in seconds) when circuit breaker opens. |
slowTimeThresholdKubernetes meta/v1.Duration | SlowTimeThreshold specifies the time threshold of slow request |
slowAmountThresholduint32 | SlowAmountThreshold specifies the amount threshold of slow request |
slowRatioThresholdfloat32 | SlowRatioThreshold specifies the ratio threshold of slow request |
errorAmountThresholduint32 | ErrorAmountThreshold specifies the amount threshold of error request |
errorRatioThresholdfloat32 | ErrorRatioThreshold specifies the ratio threshold of error request |
degradedStatusCodeint32 | DegradedStatusCode specifies the degraded http status code of circuit breaking |
degradedResponseContentstring | DegradedResponseContent specifies the degraded http response content of circuit breaking |
HTTPConnectionSettings
(Appears on:ConnectionSettingsSpec)
HTTPConnectionSettings defines the HTTP connection settings for an upstream host.
| Field | Description |
|---|---|
maxRequestsuint32 | (Optional) MaxRequests specifies the maximum number of parallel requests allowed to the upstream host. Defaults to 4294967295 (2^32 - 1) if not specified. |
maxRequestsPerConnectionuint32 | (Optional) MaxRequestsPerConnection specifies the maximum number of requests per connection allowed to the upstream host. Defaults to unlimited if not specified. |
maxPendingRequestsuint32 | (Optional) MaxPendingRequests specifies the maximum number of pending HTTP
requests allowed to the upstream host. For HTTP/2 connections,
if |
maxRetriesuint32 | (Optional) MaxRetries specifies the maximum number of parallel retries allowed to the upstream host. Defaults to 4294967295 (2^32 - 1) if not specified. |
circuitBreakingHTTPCircuitBreaking | CircuitBreaking specifies the HTTP connection circuit breaking setting. |
HTTPHeaderValue
(Appears on:HTTPLocalRateLimitSpec)
HTTPHeaderValue defines an HTTP header name/value pair
| Field | Description |
|---|---|
namestring | Name defines the name of the HTTP header. |
valuestring | Value defines the value of the header corresponding to the name key. |
HTTPLocalRateLimitSpec
(Appears on:HTTPPerRouteRateLimitSpec, LocalRateLimitSpec)
HTTPLocalRateLimitSpec defines the local rate limiting specification for the upstream host at the HTTP level.
| Field | Description |
|---|---|
requestsuint32 | Requests defines the number of requests allowed per unit of time before rate limiting occurs. |
unitstring | Unit defines the period of time within which requests over the limit will be rate limited. Valid values are “second”, “minute” and “hour”. |
burstuint32 | (Optional) Burst defines the number of requests above the baseline rate that are allowed in a short period of time. |
responseStatusCodeuint32 | (Optional) ResponseStatusCode defines the HTTP status code to use for responses to rate limited requests. Code must be in the 400-599 (inclusive) error range. If not specified, a default of 429 (Too Many Requests) is used. |
responseHeadersToAdd[]HTTPHeaderValue | (Optional) ResponseHeadersToAdd defines the list of HTTP headers that should be added to each response for requests that have been rate limited. |
HTTPPerRouteRateLimitSpec
(Appears on:HTTPRouteSpec)
HTTPPerRouteRateLimitSpec defines the rate limiting specification per HTTP route.
| Field | Description |
|---|---|
localHTTPLocalRateLimitSpec | Local defines the local rate limiting specification applied per HTTP route. |
HTTPRouteSpec
(Appears on:UpstreamTrafficSettingSpec)
HTTPRouteSpec defines the settings corresponding to an HTTP route
| Field | Description |
|---|---|
pathstring | Path defines the HTTP path. |
rateLimitHTTPPerRouteRateLimitSpec | RateLimit defines the HTTP rate limiting specification for the specified HTTP route. |
IngressBackend
IngressBackend is the type used to represent an Ingress backend policy. An Ingress backend policy authorizes one or more backends to accept ingress traffic from one or more sources.
| Field | Description | ||||||
|---|---|---|---|---|---|---|---|
metadataKubernetes meta/v1.ObjectMeta | (Optional) Object’s metadata Refer to the Kubernetes API documentation for the fields of themetadata field. | ||||||
specIngressBackendSpec | (Optional) Spec is the Ingress backend policy specification
| ||||||
statusIngressBackendStatus | (Optional) Status is the status of the IngressBackend configuration. |
IngressBackendSpec
(Appears on:IngressBackend)
IngressBackendSpec is the type used to represent the IngressBackend policy specification.
| Field | Description |
|---|---|
backends[]BackendSpec | Backends defines the list of backends the IngressBackend policy applies to. |
sources[]IngressSourceSpec | Sources defines the list of sources the IngressBackend policy applies to. |
matches[]Kubernetes core/v1.TypedLocalObjectReference | (Optional) Matches defines the list of object references the IngressBackend policy should match on. |
IngressBackendStatus
(Appears on:IngressBackend)
IngressBackendStatus is the type used to represent the status of an IngressBackend resource.
| Field | Description |
|---|---|
currentStatusstring | (Optional) CurrentStatus defines the current status of an IngressBackend resource. |
reasonstring | (Optional) Reason defines the reason for the current status of an IngressBackend resource. |
IngressSourceSpec
(Appears on:IngressBackendSpec)
IngressSourceSpec is the type used to represent the Source in the list of Sources specified in an IngressBackend policy specification.
| Field | Description |
|---|---|
kindstring | Kind defines the kind for the source in the IngressBackend policy. Must be one of: Service, AuthenticatedPrincipal, IPRange |
namestring | Name defines the name of the source for the given Kind. |
namespacestring | (Optional) Namespace defines the namespace for the given source. |
LocalRateLimitSpec
(Appears on:RateLimitSpec)
LocalRateLimitSpec defines the local rate limiting specification for the upstream host.
| Field | Description |
|---|---|
tcpTCPLocalRateLimitSpec | (Optional) TCP defines the local rate limiting specification at the network level. This is a token bucket rate limiter where each connection consumes a single token. If the token is available, the connection will be allowed. If no tokens are available, the connection will be immediately closed. |
httpHTTPLocalRateLimitSpec | HTTP defines the local rate limiting specification for HTTP traffic. This is a token bucket rate limiter where each request consumes a single token. If the token is available, the request will be allowed. If no tokens are available, the request will receive the configured rate limit status. |
PortSpec
(Appears on:AccessControlBackendSpec, BackendSpec, EgressSpec)
PortSpec is the type used to represent the Port in the list of Ports specified in an Egress policy specification.
| Field | Description |
|---|---|
numberint | Number defines the port number. |
protocolstring | Protocol defines the protocol served by the port. |
RateLimitSpec
(Appears on:UpstreamTrafficSettingSpec)
RateLimitSpec defines the rate limiting specification for the upstream host.
| Field | Description |
|---|---|
localLocalRateLimitSpec | (Optional) Local specified the local rate limiting specification for the upstream host. Local rate limiting is enforced directly by the upstream host without any involvement of a global rate limiting service. This is applied as a token bucket rate limiter. |
Retry
Retry is the type used to represent a Retry policy. A Retry policy authorizes retries to failed attempts for outbound traffic from one service source to one or more destination services.
| Field | Description | ||||||
|---|---|---|---|---|---|---|---|
metadataKubernetes meta/v1.ObjectMeta | (Optional) Object’s metadata Refer to the Kubernetes API documentation for the fields of themetadata field. | ||||||
specRetrySpec | (Optional) Spec is the Retry policy specification
|
RetryPolicySpec
(Appears on:RetrySpec)
RetryPolicySpec is the type used to represent the retry policy specified in the Retry policy specification.
| Field | Description |
|---|---|
retryOnstring | RetryOn defines the policies to retry on, delimited by comma. |
perTryTimeoutKubernetes meta/v1.Duration | (Optional) PerTryTimeout defines the time allowed for a retry before it’s considered a failed attempt. |
numRetriesuint32 | (Optional) NumRetries defines the max number of retries to attempt. |
retryBackoffBaseIntervalKubernetes meta/v1.Duration | (Optional) RetryBackoffBaseInterval defines the base interval for exponential retry backoff. |
RetrySpec
(Appears on:Retry)
RetrySpec is the type used to represent the Retry policy specification.
| Field | Description |
|---|---|
sourceRetrySrcDstSpec | Source defines the source the Retry policy applies to. |
destinations[]RetrySrcDstSpec | Destinations defines the list of destinations the Retry policy applies to. |
retryPolicyRetryPolicySpec | RetryPolicy defines the retry policy the Retry policy applies. |
RetrySrcDstSpec
(Appears on:RetrySpec)
RetrySrcDstSpec is the type used to represent the Destination in the list of Destinations and the Source specified in the Retry policy specification.
| Field | Description |
|---|---|
kindstring | Kind defines the kind for the Src/Dst in the Retry policy. |
namestring | Name defines the name of the Src/Dst for the given Kind. |
namespacestring | Namespace defines the namespace for the given Src/Dst. |
TCPConnectionSettings
(Appears on:ConnectionSettingsSpec)
TCPConnectionSettings defines the TCP connection settings for an upstream host.
| Field | Description |
|---|---|
maxConnectionsuint32 | (Optional) MaxConnections specifies the maximum number of TCP connections allowed to the upstream host. Defaults to 4294967295 (2^32 - 1) if not specified. |
connectTimeoutKubernetes meta/v1.Duration | (Optional) ConnectTimeout specifies the TCP connection timeout. Defaults to 5s if not specified. |
TCPLocalRateLimitSpec
(Appears on:LocalRateLimitSpec)
TCPLocalRateLimitSpec defines the local rate limiting specification for the upstream host at the TCP level.
| Field | Description |
|---|---|
connectionsuint32 | Connections defines the number of connections allowed per unit of time before rate limiting occurs. |
unitstring | Unit defines the period of time within which connections over the limit will be rate limited. Valid values are “second”, “minute” and “hour”. |
burstuint32 | (Optional) Burst defines the number of connections above the baseline rate that are allowed in a short period of time. |
TLSSpec
(Appears on:AccessControlBackendSpec, BackendSpec)
TLSSpec is the type used to represent the backend’s TLS configuration.
| Field | Description |
|---|---|
skipClientCertValidationbool | SkipClientCertValidation defines whether the backend should skip validating the certificate presented by the client. |
sniHosts[]string | (Optional) SNIHosts defines the SNI hostnames that the backend allows the client to connect to. |
UpstreamTrafficSetting
UpstreamTrafficSetting defines the settings applicable to traffic destined to an upstream host.
| Field | Description | ||||||||
|---|---|---|---|---|---|---|---|---|---|
metadataKubernetes meta/v1.ObjectMeta | (Optional) Object’s metadata Refer to the Kubernetes API documentation for the fields of themetadata field. | ||||||||
specUpstreamTrafficSettingSpec | (Optional) Spec is the UpstreamTrafficSetting policy specification
| ||||||||
statusUpstreamTrafficSettingStatus | (Optional) Status is the status of the UpstreamTrafficSetting resource. |
UpstreamTrafficSettingSpec
(Appears on:UpstreamTrafficSetting)
UpstreamTrafficSettingSpec defines the upstream traffic setting specification.
| Field | Description |
|---|---|
hoststring | Host the upstream traffic is directed to. Must either be an FQDN corresponding to the upstream service or the name of the upstream service. If only the service name is specified, the FQDN is derived from the service name and the namespace of the UpstreamTrafficSetting rule. |
connectionSettingsConnectionSettingsSpec | (Optional) ConnectionSettings specifies the connection settings for traffic directed to the upstream host. |
rateLimitRateLimitSpec | (Optional) RateLimit specifies the rate limit settings for the traffic directed to the upstream host. If HTTP rate limiting is specified, the rate limiting is applied at the VirtualHost level applicable to all routes within the VirtualHost. |
httpRoutes[]HTTPRouteSpec | (Optional) HTTPRoutes defines the list of HTTP routes settings for the upstream host. Settings are applied at a per route level. |
UpstreamTrafficSettingStatus
(Appears on:UpstreamTrafficSetting)
UpstreamTrafficSettingStatus defines the status of an UpstreamTrafficSetting resource.
| Field | Description |
|---|---|
currentStatusstring | (Optional) CurrentStatus defines the current status of an UpstreamTrafficSetting resource. |
reasonstring | (Optional) Reason defines the reason for the current status of an UpstreamTrafficSetting resource. |
Generated with gen-crd-api-reference-docs
on git commit 8abe9ab.
6 - Policy Attachment API Reference
6.1 - Policy Attachment v1alpha1 API Reference
Packages:
gateway.flomesh.io/v1alpha1
Package v1alpha1 is the v1alpha3 version of the API.
- AccessControlPolicy
- CircuitBreakingPolicy
- FaultInjectionPolicy
- GatewayTLSPolicy
- HealthCheckPolicy
- LoadBalancerPolicy
- RateLimitPolicy
- RetryPolicy
- SessionStickyPolicy
- UpstreamTLSPolicy
AccessControlPolicy
AccessControlPolicy is the Schema for the AccessControlPolicy API
| Field | Description | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
apiVersionstring | gateway.flomesh.io/v1alpha1 | ||||||||||||
kindstring | AccessControlPolicy | ||||||||||||
metadataKubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||||||||||
specAccessControlPolicySpec |
| ||||||||||||
statusAccessControlPolicyStatus |
CircuitBreakingPolicy
CircuitBreakingPolicy is the Schema for the CircuitBreakingPolicy API
| Field | Description | ||||||
|---|---|---|---|---|---|---|---|
apiVersionstring | gateway.flomesh.io/v1alpha1 | ||||||
kindstring | CircuitBreakingPolicy | ||||||
metadataKubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||||
specCircuitBreakingPolicySpec |
| ||||||
statusCircuitBreakingPolicyStatus |
FaultInjectionPolicy
FaultInjectionPolicy is the Schema for the FaultInjectionPolicy API
| Field | Description | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
apiVersionstring | gateway.flomesh.io/v1alpha1 | ||||||||||||
kindstring | FaultInjectionPolicy | ||||||||||||
metadataKubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||||||||||
specFaultInjectionPolicySpec |
| ||||||||||||
statusFaultInjectionPolicyStatus |
GatewayTLSPolicy
GatewayTLSPolicy is the Schema for the GatewayTLSPolicy API
| Field | Description | ||||||
|---|---|---|---|---|---|---|---|
apiVersionstring | gateway.flomesh.io/v1alpha1 | ||||||
kindstring | GatewayTLSPolicy | ||||||
metadataKubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||||
specGatewayTLSPolicySpec |
| ||||||
statusGatewayTLSPolicyStatus |
HealthCheckPolicy
HealthCheckPolicy is the Schema for the HealthCheckPolicy API
| Field | Description | ||||||
|---|---|---|---|---|---|---|---|
apiVersionstring | gateway.flomesh.io/v1alpha1 | ||||||
kindstring | HealthCheckPolicy | ||||||
metadataKubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||||
specHealthCheckPolicySpec |
| ||||||
statusHealthCheckPolicyStatus |
LoadBalancerPolicy
LoadBalancerPolicy is the Schema for the LoadBalancerPolicy API
| Field | Description | ||||||
|---|---|---|---|---|---|---|---|
apiVersionstring | gateway.flomesh.io/v1alpha1 | ||||||
kindstring | LoadBalancerPolicy | ||||||
metadataKubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||||
specLoadBalancerPolicySpec |
| ||||||
statusLoadBalancerPolicyStatus |
RateLimitPolicy
RateLimitPolicy is the Schema for the RateLimitPolicy API
| Field | Description | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
apiVersionstring | gateway.flomesh.io/v1alpha1 | ||||||||||||||
kindstring | RateLimitPolicy | ||||||||||||||
metadataKubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||||||||||||
specRateLimitPolicySpec |
| ||||||||||||||
statusRateLimitPolicyStatus |
RetryPolicy
RetryPolicy is the Schema for the RetryPolicy API
| Field | Description | ||||||
|---|---|---|---|---|---|---|---|
apiVersionstring | gateway.flomesh.io/v1alpha1 | ||||||
kindstring | RetryPolicy | ||||||
metadataKubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||||
specRetryPolicySpec |
| ||||||
statusRetryPolicyStatus |
SessionStickyPolicy
SessionStickyPolicy is the Schema for the SessionStickyPolicy API
| Field | Description | ||||||
|---|---|---|---|---|---|---|---|
apiVersionstring | gateway.flomesh.io/v1alpha1 | ||||||
kindstring | SessionStickyPolicy | ||||||
metadataKubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||||
specSessionStickyPolicySpec |
| ||||||
statusSessionStickyPolicyStatus |
UpstreamTLSPolicy
UpstreamTLSPolicy is the Schema for the UpstreamTLSPolicy API
| Field | Description | ||||||
|---|---|---|---|---|---|---|---|
apiVersionstring | gateway.flomesh.io/v1alpha1 | ||||||
kindstring | UpstreamTLSPolicy | ||||||
metadataKubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||||
specUpstreamTLSPolicySpec |
| ||||||
statusUpstreamTLSPolicyStatus |
AccessControlConfig
(Appears on:AccessControlPolicySpec, GRPCAccessControl, HTTPAccessControl, HostnameAccessControl, PortAccessControl)
AccessControlConfig defines the access control configuration for a route
| Field | Description |
|---|---|
blacklist[]string | (Optional) Blacklist is the list of IP addresses to be blacklisted |
whitelist[]string | (Optional) Whitelist is the list of IP addresses to be whitelisted |
enableXFFbool | (Optional) EnableXFF is the flag to enable X-Forwarded-For header |
statusCodeint32 | (Optional) StatusCode is the response status code to be returned when the access control is exceeded |
messagestring | (Optional) Message is the response message to be returned when the access control is exceeded |
AccessControlPolicySpec
(Appears on:AccessControlPolicy)
AccessControlPolicySpec defines the desired state of AccessControlPolicy
| Field | Description |
|---|---|
targetRefsigs.k8s.io/gateway-api/apis/v1alpha2.PolicyTargetReference | TargetRef is the reference to the target resource to which the policy is applied |
ports[]PortAccessControl | (Optional) Ports is the access control configuration for ports |
hostnames[]HostnameAccessControl | (Optional) Hostnames is the access control configuration for hostnames |
http[]HTTPAccessControl | (Optional) HTTPAccessControls is the access control configuration for HTTP routes |
grpc[]GRPCAccessControl | (Optional) GRPCAccessControls is the access control configuration for GRPC routes |
configAccessControlConfig | (Optional) DefaultConfig is the default access control for all ports, routes and hostnames |
AccessControlPolicyStatus
(Appears on:AccessControlPolicy)
AccessControlPolicyStatus defines the observed state of AccessControlPolicy
| Field | Description |
|---|---|
conditions[]Kubernetes meta/v1.Condition | (Optional) Conditions describe the current conditions of the AccessControlPolicy. |
CircuitBreakingConfig
(Appears on:CircuitBreakingPolicySpec, PortCircuitBreaking)
| Field | Description |
|---|---|
minRequestAmountint32 | MinRequestAmount is the minimum number of requests in the StatTimeWindow |
statTimeWindowint32 | StatTimeWindow is the time window in seconds to collect statistics |
slowTimeThresholdfloat32 | (Optional) SlowTimeThreshold is the threshold in seconds to determine a slow request |
slowAmountThresholdint32 | (Optional) SlowAmountThreshold is the threshold of slow requests in the StatTimeWindow to trigger circuit breaking |
slowRatioThresholdfloat32 | (Optional) SlowRatioThreshold is the threshold of slow requests ratio in the StatTimeWindow to trigger circuit breaking |
errorAmountThresholdint32 | (Optional) ErrorAmountThreshold is the threshold of error requests in the StatTimeWindow to trigger circuit breaking |
errorRatioThresholdfloat32 | (Optional) ErrorRatioThreshold is the threshold of error requests ratio in the StatTimeWindow to trigger circuit breaking |
degradedTimeWindowint32 | DegradedTimeWindow is the time window in seconds to degrade the service |
degradedStatusCodeint32 | DegradedStatusCode is the status code to return when the service is degraded |
degradedResponseContentstring | (Optional) DegradedResponseContent is the response content to return when the service is degraded |
CircuitBreakingPolicySpec
(Appears on:CircuitBreakingPolicy)
CircuitBreakingPolicySpec defines the desired state of CircuitBreakingPolicy
| Field | Description |
|---|---|
targetRefsigs.k8s.io/gateway-api/apis/v1alpha2.PolicyTargetReference | TargetRef is the reference to the target resource to which the policy is applied |
ports[]PortCircuitBreaking | Ports is the circuit breaking configuration for ports |
configCircuitBreakingConfig | (Optional) DefaultConfig is the default circuit breaking configuration for all ports |
CircuitBreakingPolicyStatus
(Appears on:CircuitBreakingPolicy)
CircuitBreakingPolicyStatus defines the observed state of CircuitBreakingPolicy
| Field | Description |
|---|---|
conditions[]Kubernetes meta/v1.Condition | (Optional) Conditions describe the current conditions of the CircuitBreakingPolicy. |
FaultInjectionAbort
(Appears on:FaultInjectionConfig)
FaultInjectionAbort defines the abort configuration
| Field | Description |
|---|---|
percentint32 | Percent is the percentage of requests to abort |
statusCodeint32 | (Optional) StatusCode is the HTTP status code to return for the aborted request |
messagestring | (Optional) Message is the HTTP status message to return for the aborted request |
FaultInjectionConfig
(Appears on:FaultInjectionPolicySpec, GRPCFaultInjection, HTTPFaultInjection, HostnameFaultInjection)
FaultInjectionConfig defines the access control configuration for a route
| Field | Description |
|---|---|
delayFaultInjectionDelay | (Optional) Delay defines the delay configuration |
abortFaultInjectionAbort | (Optional) Abort defines the abort configuration |
FaultInjectionDelay
(Appears on:FaultInjectionConfig)
FaultInjectionDelay defines the delay configuration
| Field | Description |
|---|---|
percentint32 | Percent is the percentage of requests to delay |
fixedint64 | (Optional) Fixed is the fixed delay duration, default Unit is ms |
rangeFaultInjectionRange | (Optional) Range is the range of delay duration |
unitstring | (Optional) Unit is the unit of delay duration, default Unit is ms |
FaultInjectionPolicySpec
(Appears on:FaultInjectionPolicy)
FaultInjectionPolicySpec defines the desired state of FaultInjectionPolicy
| Field | Description |
|---|---|
targetRefsigs.k8s.io/gateway-api/apis/v1alpha2.PolicyTargetReference | TargetRef is the reference to the target resource to which the policy is applied |
hostnames[]HostnameFaultInjection | (Optional) Hostnames is the access control configuration for hostnames |
http[]HTTPFaultInjection | (Optional) HTTPFaultInjections is the access control configuration for HTTP routes |
grpc[]GRPCFaultInjection | (Optional) GRPCFaultInjections is the access control configuration for GRPC routes |
configFaultInjectionConfig | (Optional) DefaultConfig is the default access control for all ports, routes and hostnames |
unitstring | (Optional) Unit is the unit of delay duration, default Unit is ms |
FaultInjectionPolicyStatus
(Appears on:FaultInjectionPolicy)
FaultInjectionPolicyStatus defines the observed state of FaultInjectionPolicy
| Field | Description |
|---|---|
conditions[]Kubernetes meta/v1.Condition | (Optional) Conditions describe the current conditions of the FaultInjectionPolicy. |
FaultInjectionRange
(Appears on:FaultInjectionDelay)
| Field | Description |
|---|---|
minint64 | Min is the minimum value of the range, default Unit is ms |
maxint64 | Max is the maximum value of the range, default Unit is ms |
GRPCAccessControl
(Appears on:AccessControlPolicySpec)
GRPCAccessControl defines the access control configuration for a GRPC route
| Field | Description |
|---|---|
matchsigs.k8s.io/gateway-api/apis/v1alpha2.GRPCRouteMatch | Match is the match condition for the GRPC route |
configAccessControlConfig | (Optional) Config is the access control configuration for the GRPC route |
GRPCFaultInjection
(Appears on:FaultInjectionPolicySpec)
GRPCFaultInjection defines the access control configuration for a GRPC route
| Field | Description |
|---|---|
matchsigs.k8s.io/gateway-api/apis/v1alpha2.GRPCRouteMatch | Match is the match condition for the GRPC route |
configFaultInjectionConfig | (Optional) Config is the access control configuration for the GRPC route |
GRPCRateLimit
(Appears on:RateLimitPolicySpec)
GRPCRateLimit defines the rate limit configuration for a GRPC route
| Field | Description |
|---|---|
matchsigs.k8s.io/gateway-api/apis/v1alpha2.GRPCRouteMatch | Match is the match condition for the GRPC route |
configL7RateLimit | (Optional) Config is the rate limit configuration for the GRPC route |
GatewayTLSConfig
(Appears on:GatewayTLSPolicySpec, PortGatewayTLS)
GatewayTLSConfig defines the Gateway TLS configuration
| Field | Description |
|---|---|
mTLSbool | (Optional) MTLS defines if the gateway port should use mTLS or not |
GatewayTLSPolicySpec
(Appears on:GatewayTLSPolicy)
GatewayTLSPolicySpec defines the desired state of GatewayTLSPolicy
| Field | Description |
|---|---|
targetRefsigs.k8s.io/gateway-api/apis/v1alpha2.PolicyTargetReference | TargetRef is the reference to the target resource to which the policy is applied |
ports[]PortGatewayTLS | Ports is the Gateway TLS configuration for ports |
configGatewayTLSConfig | (Optional) DefaultConfig is the default Gateway TLS configuration for all ports |
GatewayTLSPolicyStatus
(Appears on:GatewayTLSPolicy)
GatewayTLSPolicyStatus defines the observed state of GatewayTLSPolicy
| Field | Description |
|---|---|
conditions[]Kubernetes meta/v1.Condition | (Optional) Conditions describe the current conditions of the GatewayTLSPolicy. |
HTTPAccessControl
(Appears on:AccessControlPolicySpec)
HTTPAccessControl defines the access control configuration for a HTTP route
| Field | Description |
|---|---|
matchsigs.k8s.io/gateway-api/apis/v1beta1.HTTPRouteMatch | Match is the match condition for the HTTP route |
configAccessControlConfig | (Optional) Config is the access control configuration for the HTTP route |
HTTPFaultInjection
(Appears on:FaultInjectionPolicySpec)
HTTPFaultInjection defines the access control configuration for a HTTP route
| Field | Description |
|---|---|
matchsigs.k8s.io/gateway-api/apis/v1beta1.HTTPRouteMatch | Match is the match condition for the HTTP route |
configFaultInjectionConfig | (Optional) Config is the access control configuration for the HTTP route |
HTTPRateLimit
(Appears on:RateLimitPolicySpec)
HTTPRateLimit defines the rate limit configuration for a HTTP route
| Field | Description |
|---|---|
matchsigs.k8s.io/gateway-api/apis/v1beta1.HTTPRouteMatch | Match is the match condition for the HTTP route |
configL7RateLimit | (Optional) Config is the rate limit configuration for the HTTP route |
HealthCheckConfig
(Appears on:HealthCheckPolicySpec, PortHealthCheck)
| Field | Description |
|---|---|
intervalint32 | Interval is the interval in seconds to check the health of the service |
maxFailsint32 | MaxFails is the maximum number of consecutive failed health checks before considering the service as unhealthy |
failTimeoutint32 | (Optional) FailTimeout is the time in seconds before considering the service as healthy if it’s marked as unhealthy, even if it’s already healthy |
pathstring | (Optional) Path is the path to check the health of the HTTP service, if it’s not set, the health check will be TCP based |
matches[]HealthCheckMatch | (Optional) Matches is the list of health check match conditions of HTTP service |
HealthCheckMatch
(Appears on:HealthCheckConfig)
| Field | Description |
|---|---|
statusCodes[]int32 | (Optional) StatusCodes is the list of status codes to match |
bodystring | (Optional) Body is the content of response body to match |
headers[]sigs.k8s.io/gateway-api/apis/v1beta1.HTTPHeader | (Optional) Headers is the list of response headers to match |
HealthCheckPolicySpec
(Appears on:HealthCheckPolicy)
HealthCheckPolicySpec defines the desired state of HealthCheckPolicy
| Field | Description |
|---|---|
targetRefsigs.k8s.io/gateway-api/apis/v1alpha2.PolicyTargetReference | TargetRef is the reference to the target resource to which the policy is applied |
ports[]PortHealthCheck | Ports is the health check configuration for ports |
configHealthCheckConfig | (Optional) DefaultConfig is the default health check configuration for all ports |
HealthCheckPolicyStatus
(Appears on:HealthCheckPolicy)
HealthCheckPolicyStatus defines the observed state of HealthCheckPolicy
| Field | Description |
|---|---|
conditions[]Kubernetes meta/v1.Condition | (Optional) Conditions describe the current conditions of the HealthCheckPolicy. |
HostnameAccessControl
(Appears on:AccessControlPolicySpec)
HostnameAccessControl defines the access control configuration for a hostname
| Field | Description |
|---|---|
hostnamesigs.k8s.io/gateway-api/apis/v1beta1.Hostname | Hostname is the hostname for matching the access control |
configAccessControlConfig | (Optional) Config is the access control configuration for the hostname |
HostnameFaultInjection
(Appears on:FaultInjectionPolicySpec)
HostnameFaultInjection defines the access control configuration for a hostname
| Field | Description |
|---|---|
hostnamesigs.k8s.io/gateway-api/apis/v1beta1.Hostname | Hostname is the hostname for matching the access control |
configFaultInjectionConfig | (Optional) Config is the access control configuration for the hostname |
HostnameRateLimit
(Appears on:RateLimitPolicySpec)
HostnameRateLimit defines the rate limit configuration for a hostname
| Field | Description |
|---|---|
hostnamesigs.k8s.io/gateway-api/apis/v1beta1.Hostname | Hostname is the hostname for matching the rate limit |
configL7RateLimit | (Optional) Config is the rate limit configuration for the hostname |
L7RateLimit
(Appears on:GRPCRateLimit, HTTPRateLimit, HostnameRateLimit, RateLimitPolicySpec)
L7RateLimit defines the rate limit configuration for a route
| Field | Description |
|---|---|
modeRateLimitPolicyMode | (Optional) Mode is the mode of the rate limit policy, Local or Global, default is Local |
backlogint32 | (Optional) Backlog is the number of requests allowed to wait in the queue |
requestsint32 | Requests is the number of requests allowed per statTimeWindow |
burstint32 | (Optional) Burst is the number of requests allowed to be bursted, if not specified, it will be the same as Requests |
statTimeWindowint32 | StatTimeWindow is the time window in seconds |
responseStatusCodeint32 | (Optional) ResponseStatusCode is the response status code to be returned when the rate limit is exceeded |
responseHeadersToAdd[]sigs.k8s.io/gateway-api/apis/v1beta1.HTTPHeader | (Optional) ResponseHeadersToAdd is the response headers to be added when the rate limit is exceeded |
LoadBalancerPolicySpec
(Appears on:LoadBalancerPolicy)
LoadBalancerPolicySpec defines the desired state of LoadBalancerPolicy
| Field | Description |
|---|---|
targetRefsigs.k8s.io/gateway-api/apis/v1alpha2.PolicyTargetReference | TargetRef is the reference to the target resource to which the policy is applied |
ports[]PortLoadBalancer | Ports is the load balancer configuration for ports |
typeLoadBalancerType | (Optional) DefaultType is the default type of the load balancer for all ports |
LoadBalancerPolicyStatus
(Appears on:LoadBalancerPolicy)
LoadBalancerPolicyStatus defines the observed state of LoadBalancerPolicy
| Field | Description |
|---|---|
conditions[]Kubernetes meta/v1.Condition | (Optional) Conditions describe the current conditions of the LoadBalancerPolicy. |
LoadBalancerType
(string alias)
(Appears on:LoadBalancerPolicySpec, PortLoadBalancer)
| Value | Description |
|---|---|
"HashingLoadBalancer" | |
"LeastConnectionLoadBalancer" | |
"RoundRobinLoadBalancer" |
PortAccessControl
(Appears on:AccessControlPolicySpec)
PortAccessControl defines the access control configuration for a port
| Field | Description |
|---|---|
portsigs.k8s.io/gateway-api/apis/v1beta1.PortNumber | Port is the port number for matching the access control |
configAccessControlConfig | (Optional) Config is the access control configuration for the port |
PortCircuitBreaking
(Appears on:CircuitBreakingPolicySpec)
| Field | Description |
|---|---|
portsigs.k8s.io/gateway-api/apis/v1beta1.PortNumber | Port is the port number of the target service |
configCircuitBreakingConfig | (Optional) Config is the circuit breaking configuration for the port |
PortGatewayTLS
(Appears on:GatewayTLSPolicySpec)
PortGatewayTLS defines the Gateway TLS configuration for a port
| Field | Description |
|---|---|
portsigs.k8s.io/gateway-api/apis/v1beta1.PortNumber | Port is the port number of the target service |
configGatewayTLSConfig | (Optional) Config is the Gateway TLS configuration for the port |
PortHealthCheck
(Appears on:HealthCheckPolicySpec)
| Field | Description |
|---|---|
portsigs.k8s.io/gateway-api/apis/v1beta1.PortNumber | Port is the port number of the target service |
configHealthCheckConfig | (Optional) Config is the health check configuration for the port |
PortLoadBalancer
(Appears on:LoadBalancerPolicySpec)
PortLoadBalancer defines the load balancer configuration for a port
| Field | Description |
|---|---|
portsigs.k8s.io/gateway-api/apis/v1beta1.PortNumber | Port is the port number for matching the load balancer |
typeLoadBalancerType | (Optional) Type is the type of the load balancer |
PortRateLimit
(Appears on:RateLimitPolicySpec)
PortRateLimit defines the rate limit configuration for a port
| Field | Description |
|---|---|
portsigs.k8s.io/gateway-api/apis/v1beta1.PortNumber | Port is the port number for matching the rate limit |
bpsint64 | (Optional) BPS is the rate limit in bytes per second for the port |
PortRetry
(Appears on:RetryPolicySpec)
PortRetry defines the retry configuration for a port
| Field | Description |
|---|---|
portsigs.k8s.io/gateway-api/apis/v1beta1.PortNumber | Port is the port number of the target service |
configRetryConfig | (Optional) Config is the retry configuration for the port |
PortSessionSticky
(Appears on:SessionStickyPolicySpec)
PortSessionSticky defines the session sticky configuration for a port
| Field | Description |
|---|---|
portsigs.k8s.io/gateway-api/apis/v1beta1.PortNumber | Port is the port number of the target service |
configSessionStickyConfig | (Optional) Config is the session sticky configuration for the port |
PortUpstreamTLS
(Appears on:UpstreamTLSPolicySpec)
PortUpstreamTLS defines the session sticky configuration for a port
| Field | Description |
|---|---|
portsigs.k8s.io/gateway-api/apis/v1beta1.PortNumber | Port is the port number of the target service |
configUpstreamTLSConfig | (Optional) Config is the session sticky configuration for the port |
RateLimitPolicyMode
(string alias)
(Appears on:L7RateLimit)
| Value | Description |
|---|---|
"Global" | RateLimitPolicyModeGlobal is the global mode |
"Local" | RateLimitPolicyModeLocal is the local mode |
RateLimitPolicySpec
(Appears on:RateLimitPolicy)
RateLimitPolicySpec defines the desired state of RateLimitPolicy
| Field | Description |
|---|---|
targetRefsigs.k8s.io/gateway-api/apis/v1alpha2.PolicyTargetReference | TargetRef is the reference to the target resource to which the policy is applied |
ports[]PortRateLimit | (Optional) Ports is the rate limit configuration for ports |
bpsint64 | (Optional) DefaultBPS is the default rate limit for all ports |
hostnames[]HostnameRateLimit | (Optional) Hostnames is the rate limit configuration for hostnames |
http[]HTTPRateLimit | (Optional) HTTPRateLimits is the rate limit configuration for HTTP routes |
grpc[]GRPCRateLimit | (Optional) GRPCRateLimits is the rate limit configuration for GRPC routes |
configL7RateLimit | (Optional) DefaultConfig is the default rate limit for all routes and hostnames |
RateLimitPolicyStatus
(Appears on:RateLimitPolicy)
RateLimitPolicyStatus defines the observed state of RateLimitPolicy
| Field | Description |
|---|---|
conditions[]Kubernetes meta/v1.Condition | (Optional) Conditions describe the current conditions of the RateLimitPolicy. |
RetryConfig
(Appears on:PortRetry, RetryPolicySpec)
RetryConfig defines the retry configuration
| Field | Description |
|---|---|
retryOn[]string | RetryOn is the list of retryable response codes, e.g. 5xx matches 500-599, or 500 matches just 500 |
numRetriesint32 | (Optional) NumRetries is the number of retries |
backoffBaseIntervalfloat32 | (Optional) BackoffBaseInterval is the base interval for computing backoff in seconds |
RetryPolicySpec
(Appears on:RetryPolicy)
RetryPolicySpec defines the desired state of RetryPolicy
| Field | Description |
|---|---|
targetRefsigs.k8s.io/gateway-api/apis/v1alpha2.PolicyTargetReference | TargetRef is the reference to the target resource to which the policy is applied |
ports[]PortRetry | Ports is the retry configuration for ports |
configRetryConfig | (Optional) DefaultConfig is the default retry configuration for all ports |
RetryPolicyStatus
(Appears on:RetryPolicy)
RetryPolicyStatus defines the observed state of RetryPolicy
| Field | Description |
|---|---|
conditions[]Kubernetes meta/v1.Condition | (Optional) Conditions describe the current conditions of the RetryPolicy. |
SessionStickyConfig
(Appears on:PortSessionSticky, SessionStickyPolicySpec)
SessionStickyConfig defines the session sticky configuration
| Field | Description |
|---|---|
cookieNamestring | (Optional) CookieName is the name of the cookie used for sticky session |
expiresint32 | (Optional) Expires is the expiration time of the cookie in seconds |
SessionStickyPolicySpec
(Appears on:SessionStickyPolicy)
SessionStickyPolicySpec defines the desired state of SessionStickyPolicy
| Field | Description |
|---|---|
targetRefsigs.k8s.io/gateway-api/apis/v1alpha2.PolicyTargetReference | TargetRef is the reference to the target resource to which the policy is applied |
ports[]PortSessionSticky | Ports is the session sticky configuration for ports |
configSessionStickyConfig | (Optional) DefaultConfig is the default session sticky configuration for all ports |
SessionStickyPolicyStatus
(Appears on:SessionStickyPolicy)
SessionStickyPolicyStatus defines the observed state of SessionStickyPolicy
| Field | Description |
|---|---|
conditions[]Kubernetes meta/v1.Condition | (Optional) Conditions describe the current conditions of the SessionStickyPolicy. |
UpstreamTLSConfig
(Appears on:PortUpstreamTLS, UpstreamTLSPolicySpec)
UpstreamTLSConfig defines the session sticky configuration
| Field | Description |
|---|---|
certificateRefsigs.k8s.io/gateway-api/apis/v1beta1.SecretObjectReference | CertificateRef is the reference to the certificate used for TLS connection to upstream |
mTLSbool | (Optional) MTLS is the flag to enable mutual TLS to upstream |
UpstreamTLSPolicySpec
(Appears on:UpstreamTLSPolicy)
UpstreamTLSPolicySpec defines the desired state of UpstreamTLSPolicy
| Field | Description |
|---|---|
targetRefsigs.k8s.io/gateway-api/apis/v1alpha2.PolicyTargetReference | TargetRef is the reference to the target resource to which the policy is applied |
ports[]PortUpstreamTLS | Ports is the session sticky configuration for ports |
configUpstreamTLSConfig | (Optional) DefaultConfig is the default session sticky configuration for all ports |
UpstreamTLSPolicyStatus
(Appears on:UpstreamTLSPolicy)
UpstreamTLSPolicyStatus defines the observed state of UpstreamTLSPolicy
| Field | Description |
|---|---|
conditions[]Kubernetes meta/v1.Condition | (Optional) Conditions describe the current conditions of the UpstreamTLSPolicy. |
Generated with gen-crd-api-reference-docs
on git commit 8abe9ab.