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 |
---|---|
serviceCertValidityDuration string | ServiceCertValidityDuration defines the service certificate validity duration. |
certKeyBitSize int | CertKeyBitSize defines the certicate key bit size. |
ingressGateway IngressGatewayCertSpec | (Optional) IngressGateway defines the certificate specification for an ingress gateway. |
ClusterPropertySpec
(Appears on:ClusterSetSpec)
ClusterPropertySpec is the type to represent cluster property.
Field | Description |
---|---|
name string | Name defines the name of cluster property. |
value string | 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 |
---|---|
enable bool | Enable defines a boolean indicating if the external authorization policy is to be enabled. |
address string | Address defines the remote address of the external authorization endpoint. |
port uint16 | Port defines the destination port of the remote external authorization endpoint. |
statPrefix string | StatPrefix defines a prefix for the stats sink for this external authorization policy. |
timeout string | Timeout defines the timeout in which a response from the external authorization endpoint. is expected to execute. |
failureModeAllow bool | 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 |
---|---|
enableEgressPolicy bool | EnableEgressPolicy defines if FSM’s Egress policy is enabled. |
enableSnapshotCacheMode bool | EnableSnapshotCacheMode defines if XDS server starts with snapshot cache. |
enableAsyncProxyServiceMapping bool | EnableAsyncProxyServiceMapping defines if FSM will map proxies to services asynchronously. |
enableIngressBackendPolicy bool | EnableIngressBackendPolicy defines if FSM will use the IngressBackend API to allow ingress traffic to service mesh backends. |
enableAccessControlPolicy bool | EnableAccessControlPolicy defines if FSM will use the AccessControl API to allow access control traffic to service mesh backends. |
enableAccessCertPolicy bool | EnableAccessCertPolicy defines if FSM can issue certificates for external services.. |
enableSidecarActiveHealthChecks bool | EnableSidecarActiveHealthChecks defines if FSM will sidecar active health checks between services allowed to communicate. |
enableRetryPolicy bool | EnableRetryPolicy defines if retry policy is enabled. |
enablePluginPolicy bool | EnablePluginPolicy defines if plugin policy is enabled. |
enableAutoDefaultRoute bool | 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. |
validityDuration string | ValidityDuration defines the validity duration of the certificate. |
secret Kubernetes 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 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
metadata Kubernetes meta/v1.ObjectMeta | (Optional) Object’s metadata. Refer to the Kubernetes API documentation for the fields of themetadata field. | ||||||||||||||||
spec MeshConfigSpec | (Optional) Spec is the MeshConfig specification.
|
MeshConfigSpec
(Appears on:MeshConfig)
MeshConfigSpec is the spec for FSM’s configuration.
Field | Description |
---|---|
clusterSet ClusterSetSpec | ClusterSetSpec defines the configurations of cluster. |
sidecar SidecarSpec | Sidecar defines the configurations of the proxy sidecar in a mesh. |
repoServer RepoServerSpec | RepoServer defines the configurations of pipy repo server. |
traffic TrafficSpec | Traffic defines the traffic management configurations for a mesh instance. |
observability ObservabilitySpec | Observalility defines the observability configurations for a mesh instance. |
certificate CertificateSpec | Certificate defines the certificate management configurations for a mesh instance. |
featureFlags FeatureFlags | FeatureFlags defines the feature flags for a mesh instance. |
pluginChains PluginChainsSpec | PluginChains defines the default plugin chains. |
ObservabilitySpec
(Appears on:MeshConfigSpec)
ObservabilitySpec is the type to represent FSM’s observability configurations.
Field | Description |
---|---|
fsmLogLevel string | FSMLogLevel defines the log level for FSM control plane logs. |
enableDebugServer bool | EnableDebugServer defines if the debug endpoint on the FSM controller pod is enabled. |
tracing TracingSpec | Tracing defines FSM’s tracing configuration. |
remoteLogging RemoteLoggingSpec | RemoteLogging defines FSM’s remot logging configuration. |
PluginChainSpec
(Appears on:PluginChainsSpec)
PluginChainSpec is the type to represent plugin chain.
Field | Description |
---|---|
plugin string | Plugin defines the name of plugin |
priority float32 | Priority defines the priority of plugin |
disable bool | 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 |
---|---|
enable bool | Enable defines a boolean indicating if the sidecars are enabled for remote logging. |
level uint16 | Level defines the remote logging’s level. |
port uint16 | Port defines the remote loggings port. |
address string | Address defines the remote logging’s hostname. |
endpoint string | Endpoint defines the API endpoint for remote logging requests sent to the collector. |
authorization string | Authorization defines the access entity that allows to authorize someone in remote logging service. |
sampledFraction float32 | SampledFraction defines the sampled fraction. |
RepoServerSpec
(Appears on:MeshConfigSpec)
RepoServerSpec is the type to represent repo server.
Field | Description |
---|---|
ipaddr string | IPAddr of the pipy repo server |
codebase string | Codebase is the folder used by fsmController |
SidecarDriverSpec
(Appears on:SidecarSpec)
SidecarDriverSpec is the type to represent FSM’s sidecar driver define.
Field | Description |
---|---|
sidecarName string | SidecarName defines the name of the sidecar driver. |
sidecarImage string | SidecarImage defines the container image used for the proxy sidecar. |
initContainerImage string | InitContainerImage defines the container image used for the init container injected to meshed pods. |
proxyServerPort uint32 | ProxyServerPort is the port on which the Discovery Service listens for new connections from Sidecars |
sidecarDisabledMTLS bool | 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 |
---|---|
enablePrivilegedInitContainer bool | EnablePrivilegedInitContainer defines a boolean indicating whether the init container for a meshed pod should run as privileged. |
logLevel string | 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. |
sidecarClass string | SidecarClass defines the container provider used for the proxy sidecar. |
sidecarImage string | SidecarImage defines the container image used for the proxy sidecar. |
sidecarDisabledMTLS bool | SidecarDisabledMTLS defines whether mTLS is disabled. |
initContainerImage string | InitContainerImage defines the container image used for the init container injected to meshed pods. |
sidecarDrivers []SidecarDriverSpec | SidecarDrivers defines the sidecar supported. |
maxDataPlaneConnections int | MaxDataPlaneConnections defines the maximum allowed data plane connections from a proxy sidecar to the FSM controller. |
configResyncInterval string | ConfigResyncInterval defines the resync interval for regular proxy broadcast updates. |
sidecarTimeout int | SidecarTimeout defines the connect/idle/read/write timeout. |
resources Kubernetes 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 |
---|---|
enable bool | Enable defines a boolean indicating if the sidecars are enabled for tracing. |
port uint16 | Port defines the tracing collector’s port. |
address string | Address defines the tracing collectio’s hostname. |
endpoint string | Endpoint defines the API endpoint for tracing requests sent to the collector. |
sampledFraction float32 | SampledFraction defines the sampled fraction. |
TrafficSpec
(Appears on:MeshConfigSpec)
TrafficSpec is the type used to represent FSM’s traffic management configuration.
Field | Description |
---|---|
interceptionMode string | InterceptionMode defines a string indicating which traffic interception mode is used. |
enableEgress bool | 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. |
enablePermissiveTrafficPolicyMode bool | EnablePermissiveTrafficPolicyMode defines a boolean indicating if permissive traffic policy mode is enabled mesh-wide. |
serviceAccessMode string | ServiceAccessMode defines a string indicating service access mode. |
inboundExternalAuthorization ExternalAuthzSpec | InboundExternalAuthorization defines a ruleset that, if enabled, will configure a remote external authorization endpoint for all inbound and ingress traffic in the mesh. |
http1PerRequestLoadBalancing bool | HTTP1PerRequestLoadBalancing defines a boolean indicating if load balancing based on request is enabled for http1. |
http2PerRequestLoadBalancing bool | 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 |
---|---|
issuerName string | IssuerName specifies the name of the Issuer resource |
issuerKind string | IssuerKind specifies the kind of Issuer |
issuerGroup string | 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 |
---|---|
serviceCertValidityDuration string | ServiceCertValidityDuration defines the service certificate validity duration. |
certKeyBitSize int | CertKeyBitSize defines the certicate key bit size. |
ingressGateway IngressGatewayCertSpec | (Optional) IngressGateway defines the certificate specification for an ingress gateway. |
ClusterPropertySpec
(Appears on:ClusterSetSpec)
ClusterPropertySpec is the type to represent cluster property.
Field | Description |
---|---|
name string | Name defines the name of cluster property. |
value string | 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 |
---|---|
enable bool | Enable defines a boolean indicating if the external authorization policy is to be enabled. |
address string | Address defines the remote address of the external authorization endpoint. |
port uint16 | Port defines the destination port of the remote external authorization endpoint. |
statPrefix string | StatPrefix defines a prefix for the stats sink for this external authorization policy. |
timeout string | Timeout defines the timeout in which a response from the external authorization endpoint. is expected to execute. |
failureModeAllow bool | 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 |
---|---|
enableEgressPolicy bool | EnableEgressPolicy defines if FSM’s Egress policy is enabled. |
enableSnapshotCacheMode bool | EnableSnapshotCacheMode defines if XDS server starts with snapshot cache. |
enableAsyncProxyServiceMapping bool | EnableAsyncProxyServiceMapping defines if FSM will map proxies to services asynchronously. |
enableIngressBackendPolicy bool | EnableIngressBackendPolicy defines if FSM will use the IngressBackend API to allow ingress traffic to service mesh backends. |
enableAccessControlPolicy bool | EnableAccessControlPolicy defines if FSM will use the AccessControl API to allow access control traffic to service mesh backends. |
enableAccessCertPolicy bool | EnableAccessCertPolicy defines if FSM can issue certificates for external services.. |
enableSidecarActiveHealthChecks bool | EnableSidecarActiveHealthChecks defines if FSM will Sidecar active health checks between services allowed to communicate. |
enableRetryPolicy bool | EnableRetryPolicy defines if retry policy is enabled. |
enablePluginPolicy bool | EnablePluginPolicy defines if plugin policy is enabled. |
enableAutoDefaultRoute bool | 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. |
validityDuration string | ValidityDuration defines the validity duration of the certificate. |
secret Kubernetes 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 |
---|---|
enable bool | Enable defines a boolean indicating if the sidecars are enabled for local DNS Proxy. |
primaryUpstreamDNSServerIPAddr string | PrimaryUpstreamDNSServerIPAddr defines a primary upstream DNS server for local DNS Proxy. |
secondaryUpstreamDNSServerIPAddr string | 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 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
metadata Kubernetes meta/v1.ObjectMeta | (Optional) Object’s metadata. Refer to the Kubernetes API documentation for the fields of themetadata field. | ||||||||||||||||
spec MeshConfigSpec | (Optional) Spec is the MeshConfig specification.
|
MeshConfigSpec
(Appears on:MeshConfig)
MeshConfigSpec is the spec for FSM’s configuration.
Field | Description |
---|---|
clusterSet ClusterSetSpec | ClusterSetSpec defines the configurations of cluster. |
sidecar SidecarSpec | Sidecar defines the configurations of the proxy sidecar in a mesh. |
repoServer RepoServerSpec | RepoServer defines the configurations of pipy repo server. |
traffic TrafficSpec | Traffic defines the traffic management configurations for a mesh instance. |
observability ObservabilitySpec | Observalility defines the observability configurations for a mesh instance. |
certificate CertificateSpec | Certificate defines the certificate management configurations for a mesh instance. |
featureFlags FeatureFlags | FeatureFlags defines the feature flags for a mesh instance. |
pluginChains PluginChainsSpec | PluginChains defines the default plugin chains. |
MeshRootCertificate
MeshRootCertificate defines the configuration for certificate issuing by the mesh control plane
Field | Description | ||||
---|---|---|---|---|---|
metadata Kubernetes meta/v1.ObjectMeta | (Optional) Object’s metadata Refer to the Kubernetes API documentation for the fields of themetadata field. | ||||
spec MeshRootCertificateSpec | (Optional) Spec is the MeshRootCertificate config specification
| ||||
status MeshRootCertificateStatus | (Optional) Status of the MeshRootCertificate resource |
MeshRootCertificateSpec
(Appears on:MeshRootCertificate)
MeshRootCertificateSpec defines the mesh root certificate specification
Field | Description |
---|---|
provider ProviderSpec | Provider specifies the mesh certificate provider |
trustDomain string | 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 |
---|---|
state string | 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 |
---|---|
fsmLogLevel string | FSMLogLevel defines the log level for FSM control plane logs. |
enableDebugServer bool | EnableDebugServer defines if the debug endpoint on the FSM controller pod is enabled. |
tracing TracingSpec | Tracing defines FSM’s tracing configuration. |
remoteLogging RemoteLoggingSpec | RemoteLogging defines FSM’s remote logging configuration. |
PluginChainSpec
(Appears on:PluginChainsSpec)
PluginChainSpec is the type to represent plugin chain.
Field | Description |
---|---|
plugin string | Plugin defines the name of plugin |
priority float32 | Priority defines the priority of plugin |
disable bool | 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 |
---|---|
certManager CertManagerProviderSpec | (Optional) CertManager specifies the cert-manager provider configuration |
vault VaultProviderSpec | (Optional) Vault specifies the vault provider configuration |
tresor TresorProviderSpec | (Optional) Tresor specifies the Tresor provider configuration |
RemoteLoggingSpec
(Appears on:ObservabilitySpec)
RemoteLoggingSpec is the type to represent FSM’s remote logging configuration.
Field | Description |
---|---|
enable bool | Enable defines a boolean indicating if the sidecars are enabled for remote logging. |
level uint16 | Level defines the remote logging’s level. |
port int16 | Port defines the remote logging’s port. |
address string | Address defines the remote logging’s hostname. |
endpoint string | Endpoint defines the API endpoint for remote logging requests sent to the collector. |
authorization string | Authorization defines the access entity that allows to authorize someone in remote logging service. |
sampledFraction string | SampledFraction defines the sampled fraction. |
RepoServerSpec
(Appears on:MeshConfigSpec)
RepoServerSpec is the type to represent repo server.
Field | Description |
---|---|
ipaddr string | IPAddr of the pipy repo server |
codebase string | Codebase is the folder used by fsmController |
SecretKeyReferenceSpec
(Appears on:VaultTokenSpec)
SecretKeyReferenceSpec defines the configuration of the secret reference
Field | Description |
---|---|
name string | Name specifies the name of the secret in which the Vault token is stored |
key string | Key specifies the key whose value is the Vault token |
namespace string | 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 |
---|---|
sidecarName string | SidecarName defines the name of the sidecar driver. |
sidecarImage string | SidecarImage defines the container image used for the proxy sidecar. |
initContainerImage string | InitContainerImage defines the container image used for the init container injected to meshed pods. |
proxyServerPort uint32 | ProxyServerPort is the port on which the Discovery Service listens for new connections from Sidecars |
sidecarDisabledMTLS bool | 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 |
---|---|
enablePrivilegedInitContainer bool | EnablePrivilegedInitContainer defines a boolean indicating whether the init container for a meshed pod should run as privileged. |
logLevel string | 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. |
sidecarClass string | SidecarClass defines the class used for the proxy sidecar. |
sidecarImage string | SidecarImage defines the container image used for the proxy sidecar. |
sidecarDisabledMTLS bool | SidecarDisabledMTLS defines whether mTLS is disabled. |
initContainerImage string | InitContainerImage defines the container image used for the init container injected to meshed pods. |
sidecarDrivers []SidecarDriverSpec | SidecarDrivers defines the sidecar supported. |
maxDataPlaneConnections int | MaxDataPlaneConnections defines the maximum allowed data plane connections from a proxy sidecar to the FSM controller. |
configResyncInterval string | ConfigResyncInterval defines the resync interval for regular proxy broadcast updates. |
sidecarTimeout int | SidecarTimeout defines the connect/idle/read/write timeout. |
resources Kubernetes core/v1.ResourceRequirements | Resources defines the compute resources for the sidecar. |
tlsMinProtocolVersion string | 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. |
tlsMaxProtocolVersion string | 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. |
localProxyMode LocalProxyMode | LocalProxyMode defines the network interface the proxy will use to send traffic to the backend service application. Acceptable values are [ |
localDNSProxy LocalDNSProxy | 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 |
---|---|
enable bool | Enable defines a boolean indicating if the sidecars are enabled for tracing. |
port int16 | Port defines the tracing collector’s port. |
address string | Address defines the tracing collectio’s hostname. |
endpoint string | Endpoint defines the API endpoint for tracing requests sent to the collector. |
sampledFraction string | SampledFraction defines the sampled fraction. |
TrafficSpec
(Appears on:MeshConfigSpec)
TrafficSpec is the type used to represent FSM’s traffic management configuration.
Field | Description |
---|---|
interceptionMode string | InterceptionMode defines a string indicating which traffic interception mode is used. |
enableEgress bool | 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. |
enablePermissiveTrafficPolicyMode bool | EnablePermissiveTrafficPolicyMode defines a boolean indicating if permissive traffic policy mode is enabled mesh-wide. |
serviceAccessMode string | ServiceAccessMode defines a string indicating service access mode. |
inboundExternalAuthorization ExternalAuthzSpec | 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. |
http1PerRequestLoadBalancing bool | HTTP1PerRequestLoadBalancing defines a boolean indicating if load balancing based on request is enabled for http1. |
http2PerRequestLoadBalancing bool | 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 |
---|---|
secretRef Kubernetes 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 |
---|---|
ca TresorCASpec | CA specifies Tresor’s ca configuration |
VaultProviderSpec
(Appears on:ProviderSpec)
VaultProviderSpec defines the configuration of the Vault provider
Field | Description |
---|---|
host string | Host specifies the name of the Vault server |
port int | Port specifies the port of the Vault server |
role string | Role specifies the name of the role for use by mesh control plane |
protocol string | Protocol specifies the protocol for connections to Vault |
token VaultTokenSpec | 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 |
---|---|
secretKeyRef SecretKeyReferenceSpec | 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 |
---|---|
issuerName string | IssuerName specifies the name of the Issuer resource |
issuerKind string | IssuerKind specifies the kind of Issuer |
issuerGroup string | 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 |
---|---|
serviceCertValidityDuration string | ServiceCertValidityDuration defines the service certificate validity duration. |
certKeyBitSize int | CertKeyBitSize defines the certicate key bit size. |
ingressGateway IngressGatewayCertSpec | (Optional) IngressGateway defines the certificate specification for an ingress gateway. |
ClusterPropertySpec
(Appears on:ClusterSetSpec)
ClusterPropertySpec is the type to represent cluster property.
Field | Description |
---|---|
name string | Name defines the name of cluster property. |
value string | Value defines the name of cluster property. |
ClusterSetSpec
(Appears on:MeshConfigSpec)
ClusterSetSpec is the type to represent cluster set.
Field | Description |
---|---|
isManaged bool | IsManaged defines if the cluster is managed. |
uid string | UID defines Unique ID of cluster. |
region string | (Optional) Region defines Region of cluster. |
zone string | (Optional) Zone defines Zone of cluster. |
group string | (Optional) Group defines Group of cluster. |
name string | Name defines Name of cluster. |
controlPlaneUID string | 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 |
---|---|
enabled bool | Enabled defines if flb is enabled. |
logLevel string | LogLevel defines the log level of gateway api. |
mode string | Mode defines the mode of egress gateway. |
port int32 | Port defines the port of egress gateway. |
adminPort int32 | AdminPort defines the admin port of egress gateway. |
replicas int32 | Replicas defines the replicas of egress gateway. |
ExternalAuthzSpec
(Appears on:TrafficSpec)
ExternalAuthzSpec is a type to represent external authorization configuration.
Field | Description |
---|---|
enable bool | Enable defines a boolean indicating if the external authorization policy is to be enabled. |
address string | Address defines the remote address of the external authorization endpoint. |
port uint16 | Port defines the destination port of the remote external authorization endpoint. |
statPrefix string | StatPrefix defines a prefix for the stats sink for this external authorization policy. |
timeout string | Timeout defines the timeout in which a response from the external authorization endpoint. is expected to execute. |
failureModeAllow bool | 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 |
---|---|
enabled bool | Enabled defines if flb is enabled. |
strictMode bool | StrictMode defines if flb is in strict mode. |
upstreamMode FLBUpstreamMode | UpstreamMode defines the upstream mode of flb. |
secretName string | 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 |
---|---|
enableEgressPolicy bool | EnableEgressPolicy defines if FSM’s Egress policy is enabled. |
enableSnapshotCacheMode bool | EnableSnapshotCacheMode defines if XDS server starts with snapshot cache. |
enableAsyncProxyServiceMapping bool | EnableAsyncProxyServiceMapping defines if FSM will map proxies to services asynchronously. |
enableIngressBackendPolicy bool | EnableIngressBackendPolicy defines if FSM will use the IngressBackend API to allow ingress traffic to service mesh backends. |
enableAccessControlPolicy bool | EnableAccessControlPolicy defines if FSM will use the AccessControl API to allow access control traffic to service mesh backends. |
enableAccessCertPolicy bool | EnableAccessCertPolicy defines if FSM can issue certificates for external services.. |
enableSidecarActiveHealthChecks bool | EnableSidecarActiveHealthChecks defines if FSM will Sidecar active health checks between services allowed to communicate. |
enableRetryPolicy bool | EnableRetryPolicy defines if retry policy is enabled. |
enablePluginPolicy bool | EnablePluginPolicy defines if plugin policy is enabled. |
enableAutoDefaultRoute bool | EnableAutoDefaultRoute defines if auto default route is enabled. |
enableValidateGatewayListenerHostname bool | EnableValidateGatewayListenerHostname defines if validate gateway listener hostname is enabled. |
enableValidateHTTPRouteHostnames bool | EnableValidateHTTPRouteHostnames defines if validate http route hostnames is enabled. |
enableValidateGRPCRouteHostnames bool | EnableValidateGRPCRouteHostnames defines if validate grpc route hostnames is enabled. |
enableValidateTLSRouteHostnames bool | EnableValidateTCPRouteHostnames defines if validate tcp route hostnames is enabled. |
enableGatewayAgentService bool | EnableGatewayAgentService defines if agent service is enabled. |
enableGatewayProxyTag bool | EnableGatewayProxyTag defines if gateway proxy-tag header is enabled. |
GatewayAPISpec
(Appears on:MeshConfigSpec)
GatewayAPISpec is the type to represent gateway api.
Field | Description |
---|---|
enabled bool | Enabled defines if gateway api is enabled. |
logLevel string | LogLevel defines the log level of gateway api. |
fgwLogLevel string | FGWLogLevel defines the log level of FGW. |
StripAnyHostPort bool | StripAnyHostPort defines if strip any host port is enabled. |
sslPassthroughUpstreamPort int32 | SSLPassthroughUpstreamPort defines the default upstream port of SSL passthrough. |
http1PerRequestLoadBalancing bool | HTTP1PerRequestLoadBalancing defines if load balancing based on per-request is enabled for http1. |
http2PerRequestLoadBalancing bool | HTTP2PerRequestLoadBalancing defines if load balancing based on per-request is enabled for http2. |
proxyTag ProxyTag | ProxyTag defines the proxy tag configuration of gateway api. |
HTTP
(Appears on:IngressSpec)
HTTP is the type to represent http.
Field | Description |
---|---|
enabled bool | Enabled defines if http is enabled. |
bind int32 | Bind defines the bind port of http. |
listen int32 | Listen defines the listen port of http. |
nodePort int32 | NodePort defines the node port of http. |
ImageSpec
(Appears on:MeshConfigSpec)
ImageSpec is the type to represent image.
Field | Description |
---|---|
registry string | Registry defines the registry of docker image. |
tag string | Tag defines the tag of docker image. |
pullPolicy Kubernetes 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. |
validityDuration string | ValidityDuration defines the validity duration of the certificate. |
secret Kubernetes 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 |
---|---|
enabled bool | Enabled defines if ingress is enabled. |
namespaced bool | Namespaced defines if ingress is namespaced. |
type Kubernetes core/v1.ServiceType | Type defines the type of ingress service. |
logLevel string | LogLevel defines the log level of ingress. |
http HTTP | (Optional) HTTP defines the http configuration of ingress. |
tls TLS | (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 |
---|---|
enable bool | Enable defines a boolean indicating if the sidecars are enabled for local DNS Proxy. |
primaryUpstreamDNSServerIPAddr string | (Optional) PrimaryUpstreamDNSServerIPAddr defines a primary upstream DNS server for local DNS Proxy. |
secondaryUpstreamDNSServerIPAddr string | (Optional) SecondaryUpstreamDNSServerIPAddr defines a secondary upstream DNS server for local DNS Proxy. |
wildcard WildcardDN | 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 | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
metadata Kubernetes meta/v1.ObjectMeta | (Optional) Object’s metadata. Refer to the Kubernetes API documentation for the fields of themetadata field. | ||||||||||||||||||||||||||||||
spec MeshConfigSpec | (Optional) Spec is the MeshConfig specification.
|
MeshConfigSpec
(Appears on:MeshConfig)
MeshConfigSpec is the spec for FSM’s configuration.
Field | Description |
---|---|
clusterSet ClusterSetSpec | ClusterSetSpec defines the configurations of cluster. |
sidecar SidecarSpec | Sidecar defines the configurations of the proxy sidecar in a mesh. |
repoServer RepoServerSpec | RepoServer defines the configurations of pipy repo server. |
traffic TrafficSpec | Traffic defines the traffic management configurations for a mesh instance. |
observability ObservabilitySpec | Observalility defines the observability configurations for a mesh instance. |
certificate CertificateSpec | Certificate defines the certificate management configurations for a mesh instance. |
featureFlags FeatureFlags | FeatureFlags defines the feature flags for a mesh instance. |
pluginChains PluginChainsSpec | PluginChains defines the default plugin chains. |
ingress IngressSpec | Ingress defines the configurations of Ingress features. |
gatewayAPI GatewayAPISpec | GatewayAPI defines the configurations of GatewayAPI features. |
serviceLB ServiceLBSpec | ServiceLB defines the configurations of ServiceLBServiceLB features. |
flb FLBSpec | FLB defines the configurations of FLB features. |
egressGateway EgressGatewaySpec | EgressGateway defines the configurations of EgressGateway features. |
image ImageSpec | Image defines the configurations of Image info |
misc MiscSpec | Misc defines the configurations of misc info |
MeshRootCertificate
MeshRootCertificate defines the configuration for certificate issuing by the mesh control plane
Field | Description | ||||
---|---|---|---|---|---|
metadata Kubernetes meta/v1.ObjectMeta | (Optional) Object’s metadata Refer to the Kubernetes API documentation for the fields of themetadata field. | ||||
spec MeshRootCertificateSpec | (Optional) Spec is the MeshRootCertificate config specification
| ||||
status MeshRootCertificateStatus | (Optional) Status of the MeshRootCertificate resource |
MeshRootCertificateSpec
(Appears on:MeshRootCertificate)
MeshRootCertificateSpec defines the mesh root certificate specification
Field | Description |
---|---|
provider ProviderSpec | Provider specifies the mesh certificate provider |
trustDomain string | 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 |
---|---|
state string | 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 |
---|---|
curlImage string | CurlImage defines the image of curl. |
repoServerImage string | RepoServerImage defines the image of repo server. |
ObservabilitySpec
(Appears on:MeshConfigSpec)
ObservabilitySpec is the type to represent FSM’s observability configurations.
Field | Description |
---|---|
fsmLogLevel string | FSMLogLevel defines the log level for FSM control plane logs. |
enableDebugServer bool | EnableDebugServer defines if the debug endpoint on the FSM controller pod is enabled. |
tracing TracingSpec | Tracing defines FSM’s tracing configuration. |
remoteLogging RemoteLoggingSpec | RemoteLogging defines FSM’s remote logging configuration. |
PluginChainSpec
(Appears on:PluginChainsSpec)
PluginChainSpec is the type to represent plugin chain.
Field | Description |
---|---|
plugin string | Plugin defines the name of plugin |
priority float32 | Priority defines the priority of plugin |
disable bool | 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 |
---|---|
certManager CertManagerProviderSpec | (Optional) CertManager specifies the cert-manager provider configuration |
vault VaultProviderSpec | (Optional) Vault specifies the vault provider configuration |
tresor TresorProviderSpec | (Optional) Tresor specifies the Tresor provider configuration |
ProxyTag
(Appears on:GatewayAPISpec)
Field | Description |
---|---|
srcHostHeader string | SrcHostHeader defines the src host header. |
dstHostHeader string | DstHostHeader defines the dst host header. |
RemoteLoggingSpec
(Appears on:ObservabilitySpec)
RemoteLoggingSpec is the type to represent FSM’s remote logging configuration.
Field | Description |
---|---|
enable bool | Enable defines a boolean indicating if the sidecars are enabled for remote logging. |
level uint16 | Level defines the remote logging’s level. |
port int16 | Port defines the remote logging’s port. |
address string | Address defines the remote logging’s hostname. |
endpoint string | Endpoint defines the API endpoint for remote logging requests sent to the collector. |
authorization string | Authorization defines the access entity that allows to authorize someone in remote logging service. |
sampledFraction string | SampledFraction defines the sampled fraction. |
secretName string | 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 |
---|---|
ipaddr string | IPAddr of the pipy repo server |
port int16 | Port defines the pipy repo server’s port. |
codebase string | Codebase is the folder used by fsmController |
ResolveDN
(Appears on:LocalDNSProxy)
ResolveDN is the type to represent FSM’s Resolve DN configuration.
Field | Description |
---|---|
dn string | 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 |
---|---|
enabled bool | Enabled defines if ssl passthrough is enabled. |
upstreamPort int32 | UpstreamPort defines the upstream port of ssl passthrough. |
SecretKeyReferenceSpec
(Appears on:VaultTokenSpec)
SecretKeyReferenceSpec defines the configuration of the secret reference
Field | Description |
---|---|
name string | Name specifies the name of the secret in which the Vault token is stored |
key string | Key specifies the key whose value is the Vault token |
namespace string | 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 |
---|---|
enabled bool | Enabled defines if service lb is enabled. |
image string | 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 |
---|---|
enablePrivilegedInitContainer bool | EnablePrivilegedInitContainer defines a boolean indicating whether the init container for a meshed pod should run as privileged. |
logLevel string | 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. |
sidecarImage string | SidecarImage defines the container image used for the proxy sidecar. |
sidecarDisabledMTLS bool | SidecarDisabledMTLS defines whether mTLS is disabled. |
maxDataPlaneConnections int | MaxDataPlaneConnections defines the maximum allowed data plane connections from a proxy sidecar to the FSM controller. |
configResyncInterval string | ConfigResyncInterval defines the resync interval for regular proxy broadcast updates. |
sidecarTimeout int | SidecarTimeout defines the connect/idle/read/write timeout. |
resources Kubernetes core/v1.ResourceRequirements | Resources defines the compute resources for the sidecar. |
tlsMinProtocolVersion string | 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. |
tlsMaxProtocolVersion string | 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. |
localProxyMode LocalProxyMode | LocalProxyMode defines the network interface the proxy will use to send traffic to the backend service application. Acceptable values are [ |
localDNSProxy LocalDNSProxy | 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 |
---|---|
enabled bool | Enabled defines if tls is enabled. |
bind int32 | Bind defines the bind port of tls. |
listen int32 | Listen defines the listen port of tls. |
nodePort int32 | NodePort defines the node port of tls. |
mTLS bool | MTLS defines if mTLS is enabled. |
sslPassthrough SSLPassthrough | (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 |
---|---|
enable bool | Enable defines a boolean indicating if the sidecars are enabled for tracing. |
port int16 | Port defines the tracing collector’s port. |
address string | Address defines the tracing collectio’s hostname. |
endpoint string | Endpoint defines the API endpoint for tracing requests sent to the collector. |
sampledFraction string | SampledFraction defines the sampled fraction. |
TrafficSpec
(Appears on:MeshConfigSpec)
TrafficSpec is the type used to represent FSM’s traffic management configuration.
Field | Description |
---|---|
interceptionMode string | InterceptionMode defines a string indicating which traffic interception mode is used. |
enableEgress bool | 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. |
enablePermissiveTrafficPolicyMode bool | EnablePermissiveTrafficPolicyMode defines a boolean indicating if permissive traffic policy mode is enabled mesh-wide. |
serviceAccessMode string | ServiceAccessMode defines a string indicating service access mode. |
inboundExternalAuthorization ExternalAuthzSpec | 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. |
http1PerRequestLoadBalancing bool | HTTP1PerRequestLoadBalancing defines a boolean indicating if load balancing based on request is enabled for http1. |
http2PerRequestLoadBalancing bool | 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 |
---|---|
secretRef Kubernetes 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 |
---|---|
ca TresorCASpec | CA specifies Tresor’s ca configuration |
VaultProviderSpec
(Appears on:ProviderSpec)
VaultProviderSpec defines the configuration of the Vault provider
Field | Description |
---|---|
host string | Host specifies the name of the Vault server |
port int | Port specifies the port of the Vault server |
role string | Role specifies the name of the role for use by mesh control plane |
protocol string | Protocol specifies the protocol for connections to Vault |
token VaultTokenSpec | 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 |
---|---|
secretKeyRef SecretKeyReferenceSpec | 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 |
---|---|
enable bool | 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 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
apiVersion string | flomesh.io/v1alpha1 | ||||||||||||||||
kind string | Cluster | ||||||||||||||||
metadata Kubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||||||||||||||
spec ClusterSpec |
| ||||||||||||||||
status ClusterStatus |
GlobalTrafficPolicy
GlobalTrafficPolicy is the Schema for the GlobalTrafficPolicys API
Field | Description | ||||
---|---|---|---|---|---|
apiVersion string | flomesh.io/v1alpha1 | ||||
kind string | GlobalTrafficPolicy | ||||
metadata Kubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||
spec GlobalTrafficPolicySpec |
| ||||
status GlobalTrafficPolicyStatus |
ServiceExport
ServiceExport is the Schema for the ServiceExports API
Field | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
apiVersion string | flomesh.io/v1alpha1 | ||||||||||||
kind string | ServiceExport | ||||||||||||
metadata Kubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||||||||||
spec ServiceExportSpec |
| ||||||||||||
status ServiceExportStatus |
ServiceImport
ServiceImport is the Schema for the ServiceImports API
Field | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
apiVersion string | flomesh.io/v1alpha1 | ||||||||||||
kind string | ServiceImport | ||||||||||||
metadata Kubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||||||||||
spec ServiceImportSpec |
| ||||||||||||
status ServiceImportStatus |
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 |
---|---|
region string | Region, the locality information of this cluster |
zone string | Zone, the locality information of this cluster |
group string | Group, the locality information of this cluster |
gatewayHost string | 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 |
gatewayPort int32 | The port number of the gateway |
kubeconfig string | Kubeconfig, The kubeconfig of the cluster you want to connnect to This’s not needed if ClusterMode is InCluster, it will use InCluster config |
fsmMeshConfigName string | (Optional) FsmMeshConfigName, defines the name of the MeshConfig of managed cluster |
fsmNamespace string | 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 |
---|---|
target Target | |
clusterKey string |
GlobalTrafficPolicySpec
(Appears on:GlobalTrafficPolicy)
GlobalTrafficPolicySpec defines the desired state of GlobalTrafficPolicy
Field | Description |
---|---|
lbType LoadBalancerType | 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 |
---|---|
from string | |
to string |
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 |
---|---|
portNumber int32 | The port number of service |
path string | 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”. |
pathType Kubernetes networking/v1.PathType |
ServiceExportSpec
(Appears on:ServiceExport)
ServiceExportSpec defines the desired state of ServiceExport
Field | Description |
---|---|
pathRewrite PathRewrite | (Optional) PathRewrite, it shares ONE rewrite rule for the same ServiceExport |
sessionSticky bool | (Optional) Indicates if session sticky is enabled |
loadBalancer github.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] |
serviceAccountName string | (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. |
type ServiceImportType | (Optional) type defines the type of this service. Must be ClusterSetIP or Headless. |
sessionAffinity Kubernetes 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 |
sessionAffinityConfig Kubernetes core/v1.SessionAffinityConfig | (Optional) sessionAffinityConfig contains session affinity configuration. |
serviceAccountName string | (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 |
---|---|
name string | (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. |
protocol Kubernetes core/v1.Protocol | (Optional) The IP protocol for this port. Supports “TCP”, “UDP”, and “SCTP”. Default is TCP. |
appProtocol string | (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. |
port int32 | 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 |
---|---|
cluster string | 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 |
---|---|
host string | |
ip string | |
port int32 | |
path string |
TrafficTarget
(Appears on:GlobalTrafficPolicySpec)
TrafficTarget defines the target of traffic
Field | Description |
---|---|
clusterKey string | Format: [region]/[zone]/[group]/[cluster] |
weight int | (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 | ||||
---|---|---|---|---|---|
metadata Kubernetes 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. | ||||
spec Kubernetes 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 |
---|---|
name string | 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 |
---|---|
podSelector Kubernetes meta/v1.LabelSelector | (Optional) PodSelector for pods. Existing pods are selected by this will be the ones affected by this plugin chain. |
namespaceSelector Kubernetes 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 | ||||
---|---|---|---|---|---|
metadata Kubernetes meta/v1.ObjectMeta | (Optional) Object’s metadata Refer to the Kubernetes API documentation for the fields of themetadata field. | ||||
spec PluginSpec | (Optional) Spec is the PlugIn specification
| ||||
status PluginStatus | (Optional) Status is the status of the Plugin configuration. |
PluginChain
PluginChain is the type used to represent a PluginChain.
Field | Description | ||||
---|---|---|---|---|---|
metadata Kubernetes meta/v1.ObjectMeta | (Optional) Object’s metadata Refer to the Kubernetes API documentation for the fields of themetadata field. | ||||
spec PluginChainSpec | (Optional) Spec is the PluginChain specification
| ||||
status PluginChainStatus | (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 |
selectors ChainSelectorSpec | 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 |
---|---|
currentStatus string | (Optional) CurrentStatus defines the current status of a PluginChain resource. |
reason string | (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 | ||||||
---|---|---|---|---|---|---|---|
metadata Kubernetes meta/v1.ObjectMeta | (Optional) Object’s metadata Refer to the Kubernetes API documentation for the fields of themetadata field. | ||||||
spec PluginConfigSpec | (Optional) Spec is the PlugIn specification
| ||||||
status PluginConfigStatus | (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 |
---|---|
plugin string | Plugin is the name of plugin. |
destinationRefs []Kubernetes core/v1.ObjectReference | DestinationRefs is the destination references of plugin. |
config k8s.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 |
---|---|
currentStatus string | (Optional) CurrentStatus defines the current status of a PluginConfig resource. |
reason string | (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 |
---|---|
priority float32 | priority defines the priority of the plugin. |
pipyscript string | 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 |
---|---|
currentStatus string | (Optional) CurrentStatus defines the current status of a Plugin resource. |
reason string | (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 | ||||
---|---|---|---|---|---|
metadata Kubernetes meta/v1.ObjectMeta | (Optional) Object’s metadata Refer to the Kubernetes API documentation for the fields of themetadata field. | ||||
spec AccessCertSpec | (Optional) Spec is the Access Cert specification
| ||||
status AccessCertStatus | (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. |
secret Kubernetes 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 |
---|---|
currentStatus string | (Optional) CurrentStatus defines the current status of an AccessCert resource. |
reason string | (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 | ||||||
---|---|---|---|---|---|---|---|
metadata Kubernetes meta/v1.ObjectMeta | (Optional) Object’s metadata Refer to the Kubernetes API documentation for the fields of themetadata field. | ||||||
spec AccessControlSpec | (Optional) Spec is the Ingress backend policy specification
| ||||||
status AccessControlStatus | (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 |
---|---|
name string | Name defines the name of the backend. |
port PortSpec | Port defines the specification for the backend’s port. |
tls TLSSpec | (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 |
---|---|
kind string | Kind defines the kind for the source in the AccessControl policy. Must be one of: Service, AuthenticatedPrincipal, IPRange |
name string | Name defines the name of the source for the given Kind. |
namespace string | (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 |
---|---|
currentStatus string | (Optional) CurrentStatus defines the current status of an AccessControl resource. |
reason string | (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 |
---|---|
name string | Name defines the name of the backend. |
port PortSpec | Port defines the specification for the backend’s port. |
tls TLSSpec | (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 |
---|---|
tcp TCPConnectionSettings | (Optional) TCP specifies the TCP level connection settings. Applies to both TCP and HTTP connections. |
http HTTPConnectionSettings | (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 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
metadata Kubernetes meta/v1.ObjectMeta | (Optional) Object’s metadata Refer to the Kubernetes API documentation for the fields of themetadata field. | ||||||||||
spec EgressSpec | (Optional) Spec is the Egress policy specification
|
EgressBindingSubject
(Appears on:EgressPolicyGatewayRule)
EgressBindingSubject is a Kubernetes objects which should be allowed egress
Field | Description |
---|---|
name string | |
namespace string |
EgressGateway
EgressGateway is the type used to represent an Egress Gateway policy.
Field | Description | ||
---|---|---|---|
metadata Kubernetes meta/v1.ObjectMeta | (Optional) Object’s metadata Refer to the Kubernetes API documentation for the fields of themetadata field. | ||
spec EgressGatewaySpec | (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 |
---|---|
sn int | 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. |
expiration string | Expiration defines the expiration of the certificate. |
secret Kubernetes 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 |
---|---|
issuer string | |
cert EgressSourceCertSpec |
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 |
---|---|
kind string | Kind defines the kind for the source in the Egress policy, ex. ServiceAccount. |
name string | Name defines the name of the source for the given Kind. |
namespace string | Namespace defines the namespace for the given source. |
mtls EgressSourceMTLSSpec | (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 |
---|---|
service string | |
namespace string | |
weight int |
HTTPCircuitBreaking
(Appears on:HTTPConnectionSettings)
HTTPCircuitBreaking defines the HTTP Circuit Breaking settings for an upstream host.
Field | Description |
---|---|
statTimeWindow Kubernetes meta/v1.Duration | StatTimeWindow specifies statistical time period of circuit breaking |
minRequestAmount uint32 | MinRequestAmount specifies minimum number of requests (in an active statistic time span) that can trigger circuit breaking. |
degradedTimeWindow Kubernetes meta/v1.Duration | DegradedTimeWindow specifies recovery timeout (in seconds) when circuit breaker opens. |
slowTimeThreshold Kubernetes meta/v1.Duration | SlowTimeThreshold specifies the time threshold of slow request |
slowAmountThreshold uint32 | SlowAmountThreshold specifies the amount threshold of slow request |
slowRatioThreshold float32 | SlowRatioThreshold specifies the ratio threshold of slow request |
errorAmountThreshold uint32 | ErrorAmountThreshold specifies the amount threshold of error request |
errorRatioThreshold float32 | ErrorRatioThreshold specifies the ratio threshold of error request |
degradedStatusCode int32 | DegradedStatusCode specifies the degraded http status code of circuit breaking |
degradedResponseContent string | 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 |
---|---|
maxRequests uint32 | (Optional) MaxRequests specifies the maximum number of parallel requests allowed to the upstream host. Defaults to 4294967295 (2^32 - 1) if not specified. |
maxRequestsPerConnection uint32 | (Optional) MaxRequestsPerConnection specifies the maximum number of requests per connection allowed to the upstream host. Defaults to unlimited if not specified. |
maxPendingRequests uint32 | (Optional) MaxPendingRequests specifies the maximum number of pending HTTP
requests allowed to the upstream host. For HTTP/2 connections,
if |
maxRetries uint32 | (Optional) MaxRetries specifies the maximum number of parallel retries allowed to the upstream host. Defaults to 4294967295 (2^32 - 1) if not specified. |
circuitBreaking HTTPCircuitBreaking | CircuitBreaking specifies the HTTP connection circuit breaking setting. |
HTTPHeaderValue
(Appears on:HTTPLocalRateLimitSpec)
HTTPHeaderValue defines an HTTP header name/value pair
Field | Description |
---|---|
name string | Name defines the name of the HTTP header. |
value string | 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 |
---|---|
requests uint32 | Requests defines the number of requests allowed per unit of time before rate limiting occurs. |
unit string | Unit defines the period of time within which requests over the limit will be rate limited. Valid values are “second”, “minute” and “hour”. |
burst uint32 | (Optional) Burst defines the number of requests above the baseline rate that are allowed in a short period of time. |
responseStatusCode uint32 | (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 |
---|---|
local HTTPLocalRateLimitSpec | 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 |
---|---|
path string | Path defines the HTTP path. |
rateLimit HTTPPerRouteRateLimitSpec | 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 | ||||||
---|---|---|---|---|---|---|---|
metadata Kubernetes meta/v1.ObjectMeta | (Optional) Object’s metadata Refer to the Kubernetes API documentation for the fields of themetadata field. | ||||||
spec IngressBackendSpec | (Optional) Spec is the Ingress backend policy specification
| ||||||
status IngressBackendStatus | (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 |
---|---|
currentStatus string | (Optional) CurrentStatus defines the current status of an IngressBackend resource. |
reason string | (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 |
---|---|
kind string | Kind defines the kind for the source in the IngressBackend policy. Must be one of: Service, AuthenticatedPrincipal, IPRange |
name string | Name defines the name of the source for the given Kind. |
namespace string | (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 |
---|---|
tcp TCPLocalRateLimitSpec | (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. |
http HTTPLocalRateLimitSpec | 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 |
---|---|
number int | Number defines the port number. |
protocol string | Protocol defines the protocol served by the port. |
RateLimitSpec
(Appears on:UpstreamTrafficSettingSpec)
RateLimitSpec defines the rate limiting specification for the upstream host.
Field | Description |
---|---|
local LocalRateLimitSpec | (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 | ||||||
---|---|---|---|---|---|---|---|
metadata Kubernetes meta/v1.ObjectMeta | (Optional) Object’s metadata Refer to the Kubernetes API documentation for the fields of themetadata field. | ||||||
spec RetrySpec | (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 |
---|---|
retryOn string | RetryOn defines the policies to retry on, delimited by comma. |
perTryTimeout Kubernetes meta/v1.Duration | (Optional) PerTryTimeout defines the time allowed for a retry before it’s considered a failed attempt. |
numRetries uint32 | (Optional) NumRetries defines the max number of retries to attempt. |
retryBackoffBaseInterval Kubernetes 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 |
---|---|
source RetrySrcDstSpec | Source defines the source the Retry policy applies to. |
destinations []RetrySrcDstSpec | Destinations defines the list of destinations the Retry policy applies to. |
retryPolicy RetryPolicySpec | 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 |
---|---|
kind string | Kind defines the kind for the Src/Dst in the Retry policy. |
name string | Name defines the name of the Src/Dst for the given Kind. |
namespace string | 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 |
---|---|
maxConnections uint32 | (Optional) MaxConnections specifies the maximum number of TCP connections allowed to the upstream host. Defaults to 4294967295 (2^32 - 1) if not specified. |
connectTimeout Kubernetes 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 |
---|---|
connections uint32 | Connections defines the number of connections allowed per unit of time before rate limiting occurs. |
unit string | Unit defines the period of time within which connections over the limit will be rate limited. Valid values are “second”, “minute” and “hour”. |
burst uint32 | (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 |
---|---|
skipClientCertValidation bool | 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 | ||||||||
---|---|---|---|---|---|---|---|---|---|
metadata Kubernetes meta/v1.ObjectMeta | (Optional) Object’s metadata Refer to the Kubernetes API documentation for the fields of themetadata field. | ||||||||
spec UpstreamTrafficSettingSpec | (Optional) Spec is the UpstreamTrafficSetting policy specification
| ||||||||
status UpstreamTrafficSettingStatus | (Optional) Status is the status of the UpstreamTrafficSetting resource. |
UpstreamTrafficSettingSpec
(Appears on:UpstreamTrafficSetting)
UpstreamTrafficSettingSpec defines the upstream traffic setting specification.
Field | Description |
---|---|
host string | 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. |
connectionSettings ConnectionSettingsSpec | (Optional) ConnectionSettings specifies the connection settings for traffic directed to the upstream host. |
rateLimit RateLimitSpec | (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 |
---|---|
currentStatus string | (Optional) CurrentStatus defines the current status of an UpstreamTrafficSetting resource. |
reason string | (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 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
apiVersion string | gateway.flomesh.io/v1alpha1 | ||||||||||||
kind string | AccessControlPolicy | ||||||||||||
metadata Kubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||||||||||
spec AccessControlPolicySpec |
| ||||||||||||
status AccessControlPolicyStatus |
CircuitBreakingPolicy
CircuitBreakingPolicy is the Schema for the CircuitBreakingPolicy API
Field | Description | ||||||
---|---|---|---|---|---|---|---|
apiVersion string | gateway.flomesh.io/v1alpha1 | ||||||
kind string | CircuitBreakingPolicy | ||||||
metadata Kubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||||
spec CircuitBreakingPolicySpec |
| ||||||
status CircuitBreakingPolicyStatus |
FaultInjectionPolicy
FaultInjectionPolicy is the Schema for the FaultInjectionPolicy API
Field | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
apiVersion string | gateway.flomesh.io/v1alpha1 | ||||||||||||
kind string | FaultInjectionPolicy | ||||||||||||
metadata Kubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||||||||||
spec FaultInjectionPolicySpec |
| ||||||||||||
status FaultInjectionPolicyStatus |
GatewayTLSPolicy
GatewayTLSPolicy is the Schema for the GatewayTLSPolicy API
Field | Description | ||||||
---|---|---|---|---|---|---|---|
apiVersion string | gateway.flomesh.io/v1alpha1 | ||||||
kind string | GatewayTLSPolicy | ||||||
metadata Kubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||||
spec GatewayTLSPolicySpec |
| ||||||
status GatewayTLSPolicyStatus |
HealthCheckPolicy
HealthCheckPolicy is the Schema for the HealthCheckPolicy API
Field | Description | ||||||
---|---|---|---|---|---|---|---|
apiVersion string | gateway.flomesh.io/v1alpha1 | ||||||
kind string | HealthCheckPolicy | ||||||
metadata Kubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||||
spec HealthCheckPolicySpec |
| ||||||
status HealthCheckPolicyStatus |
LoadBalancerPolicy
LoadBalancerPolicy is the Schema for the LoadBalancerPolicy API
Field | Description | ||||||
---|---|---|---|---|---|---|---|
apiVersion string | gateway.flomesh.io/v1alpha1 | ||||||
kind string | LoadBalancerPolicy | ||||||
metadata Kubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||||
spec LoadBalancerPolicySpec |
| ||||||
status LoadBalancerPolicyStatus |
RateLimitPolicy
RateLimitPolicy is the Schema for the RateLimitPolicy API
Field | Description | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
apiVersion string | gateway.flomesh.io/v1alpha1 | ||||||||||||||
kind string | RateLimitPolicy | ||||||||||||||
metadata Kubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||||||||||||
spec RateLimitPolicySpec |
| ||||||||||||||
status RateLimitPolicyStatus |
RetryPolicy
RetryPolicy is the Schema for the RetryPolicy API
Field | Description | ||||||
---|---|---|---|---|---|---|---|
apiVersion string | gateway.flomesh.io/v1alpha1 | ||||||
kind string | RetryPolicy | ||||||
metadata Kubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||||
spec RetryPolicySpec |
| ||||||
status RetryPolicyStatus |
SessionStickyPolicy
SessionStickyPolicy is the Schema for the SessionStickyPolicy API
Field | Description | ||||||
---|---|---|---|---|---|---|---|
apiVersion string | gateway.flomesh.io/v1alpha1 | ||||||
kind string | SessionStickyPolicy | ||||||
metadata Kubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||||
spec SessionStickyPolicySpec |
| ||||||
status SessionStickyPolicyStatus |
UpstreamTLSPolicy
UpstreamTLSPolicy is the Schema for the UpstreamTLSPolicy API
Field | Description | ||||||
---|---|---|---|---|---|---|---|
apiVersion string | gateway.flomesh.io/v1alpha1 | ||||||
kind string | UpstreamTLSPolicy | ||||||
metadata Kubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||||
spec UpstreamTLSPolicySpec |
| ||||||
status UpstreamTLSPolicyStatus |
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 |
enableXFF bool | (Optional) EnableXFF is the flag to enable X-Forwarded-For header |
statusCode int32 | (Optional) StatusCode is the response status code to be returned when the access control is exceeded |
message string | (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 |
---|---|
targetRef sigs.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 |
config AccessControlConfig | (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 |
---|---|
minRequestAmount int32 | MinRequestAmount is the minimum number of requests in the StatTimeWindow |
statTimeWindow int32 | StatTimeWindow is the time window in seconds to collect statistics |
slowTimeThreshold float32 | (Optional) SlowTimeThreshold is the threshold in seconds to determine a slow request |
slowAmountThreshold int32 | (Optional) SlowAmountThreshold is the threshold of slow requests in the StatTimeWindow to trigger circuit breaking |
slowRatioThreshold float32 | (Optional) SlowRatioThreshold is the threshold of slow requests ratio in the StatTimeWindow to trigger circuit breaking |
errorAmountThreshold int32 | (Optional) ErrorAmountThreshold is the threshold of error requests in the StatTimeWindow to trigger circuit breaking |
errorRatioThreshold float32 | (Optional) ErrorRatioThreshold is the threshold of error requests ratio in the StatTimeWindow to trigger circuit breaking |
degradedTimeWindow int32 | DegradedTimeWindow is the time window in seconds to degrade the service |
degradedStatusCode int32 | DegradedStatusCode is the status code to return when the service is degraded |
degradedResponseContent string | (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 |
---|---|
targetRef sigs.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 |
config CircuitBreakingConfig | (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 |
---|---|
percent int32 | Percent is the percentage of requests to abort |
statusCode int32 | (Optional) StatusCode is the HTTP status code to return for the aborted request |
message string | (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 |
---|---|
delay FaultInjectionDelay | (Optional) Delay defines the delay configuration |
abort FaultInjectionAbort | (Optional) Abort defines the abort configuration |
FaultInjectionDelay
(Appears on:FaultInjectionConfig)
FaultInjectionDelay defines the delay configuration
Field | Description |
---|---|
percent int32 | Percent is the percentage of requests to delay |
fixed int64 | (Optional) Fixed is the fixed delay duration, default Unit is ms |
range FaultInjectionRange | (Optional) Range is the range of delay duration |
unit string | (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 |
---|---|
targetRef sigs.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 |
config FaultInjectionConfig | (Optional) DefaultConfig is the default access control for all ports, routes and hostnames |
unit string | (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 |
---|---|
min int64 | Min is the minimum value of the range, default Unit is ms |
max int64 | 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 |
---|---|
match sigs.k8s.io/gateway-api/apis/v1alpha2.GRPCRouteMatch | Match is the match condition for the GRPC route |
config AccessControlConfig | (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 |
---|---|
match sigs.k8s.io/gateway-api/apis/v1alpha2.GRPCRouteMatch | Match is the match condition for the GRPC route |
config FaultInjectionConfig | (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 |
---|---|
match sigs.k8s.io/gateway-api/apis/v1alpha2.GRPCRouteMatch | Match is the match condition for the GRPC route |
config L7RateLimit | (Optional) Config is the rate limit configuration for the GRPC route |
GatewayTLSConfig
(Appears on:GatewayTLSPolicySpec, PortGatewayTLS)
GatewayTLSConfig defines the Gateway TLS configuration
Field | Description |
---|---|
mTLS bool | (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 |
---|---|
targetRef sigs.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 |
config GatewayTLSConfig | (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 |
---|---|
match sigs.k8s.io/gateway-api/apis/v1beta1.HTTPRouteMatch | Match is the match condition for the HTTP route |
config AccessControlConfig | (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 |
---|---|
match sigs.k8s.io/gateway-api/apis/v1beta1.HTTPRouteMatch | Match is the match condition for the HTTP route |
config FaultInjectionConfig | (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 |
---|---|
match sigs.k8s.io/gateway-api/apis/v1beta1.HTTPRouteMatch | Match is the match condition for the HTTP route |
config L7RateLimit | (Optional) Config is the rate limit configuration for the HTTP route |
HealthCheckConfig
(Appears on:HealthCheckPolicySpec, PortHealthCheck)
Field | Description |
---|---|
interval int32 | Interval is the interval in seconds to check the health of the service |
maxFails int32 | MaxFails is the maximum number of consecutive failed health checks before considering the service as unhealthy |
failTimeout int32 | (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 |
path string | (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 |
body string | (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 |
---|---|
targetRef sigs.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 |
config HealthCheckConfig | (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 |
---|---|
hostname sigs.k8s.io/gateway-api/apis/v1beta1.Hostname | Hostname is the hostname for matching the access control |
config AccessControlConfig | (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 |
---|---|
hostname sigs.k8s.io/gateway-api/apis/v1beta1.Hostname | Hostname is the hostname for matching the access control |
config FaultInjectionConfig | (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 |
---|---|
hostname sigs.k8s.io/gateway-api/apis/v1beta1.Hostname | Hostname is the hostname for matching the rate limit |
config L7RateLimit | (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 |
---|---|
mode RateLimitPolicyMode | (Optional) Mode is the mode of the rate limit policy, Local or Global, default is Local |
backlog int32 | (Optional) Backlog is the number of requests allowed to wait in the queue |
requests int32 | Requests is the number of requests allowed per statTimeWindow |
burst int32 | (Optional) Burst is the number of requests allowed to be bursted, if not specified, it will be the same as Requests |
statTimeWindow int32 | StatTimeWindow is the time window in seconds |
responseStatusCode int32 | (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 |
---|---|
targetRef sigs.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 |
type LoadBalancerType | (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 |
---|---|
port sigs.k8s.io/gateway-api/apis/v1beta1.PortNumber | Port is the port number for matching the access control |
config AccessControlConfig | (Optional) Config is the access control configuration for the port |
PortCircuitBreaking
(Appears on:CircuitBreakingPolicySpec)
Field | Description |
---|---|
port sigs.k8s.io/gateway-api/apis/v1beta1.PortNumber | Port is the port number of the target service |
config CircuitBreakingConfig | (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 |
---|---|
port sigs.k8s.io/gateway-api/apis/v1beta1.PortNumber | Port is the port number of the target service |
config GatewayTLSConfig | (Optional) Config is the Gateway TLS configuration for the port |
PortHealthCheck
(Appears on:HealthCheckPolicySpec)
Field | Description |
---|---|
port sigs.k8s.io/gateway-api/apis/v1beta1.PortNumber | Port is the port number of the target service |
config HealthCheckConfig | (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 |
---|---|
port sigs.k8s.io/gateway-api/apis/v1beta1.PortNumber | Port is the port number for matching the load balancer |
type LoadBalancerType | (Optional) Type is the type of the load balancer |
PortRateLimit
(Appears on:RateLimitPolicySpec)
PortRateLimit defines the rate limit configuration for a port
Field | Description |
---|---|
port sigs.k8s.io/gateway-api/apis/v1beta1.PortNumber | Port is the port number for matching the rate limit |
bps int64 | (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 |
---|---|
port sigs.k8s.io/gateway-api/apis/v1beta1.PortNumber | Port is the port number of the target service |
config RetryConfig | (Optional) Config is the retry configuration for the port |
PortSessionSticky
(Appears on:SessionStickyPolicySpec)
PortSessionSticky defines the session sticky configuration for a port
Field | Description |
---|---|
port sigs.k8s.io/gateway-api/apis/v1beta1.PortNumber | Port is the port number of the target service |
config SessionStickyConfig | (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 |
---|---|
port sigs.k8s.io/gateway-api/apis/v1beta1.PortNumber | Port is the port number of the target service |
config UpstreamTLSConfig | (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 |
---|---|
targetRef sigs.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 |
bps int64 | (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 |
config L7RateLimit | (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 |
numRetries int32 | (Optional) NumRetries is the number of retries |
backoffBaseInterval float32 | (Optional) BackoffBaseInterval is the base interval for computing backoff in seconds |
RetryPolicySpec
(Appears on:RetryPolicy)
RetryPolicySpec defines the desired state of RetryPolicy
Field | Description |
---|---|
targetRef sigs.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 |
config RetryConfig | (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 |
---|---|
cookieName string | (Optional) CookieName is the name of the cookie used for sticky session |
expires int32 | (Optional) Expires is the expiration time of the cookie in seconds |
SessionStickyPolicySpec
(Appears on:SessionStickyPolicy)
SessionStickyPolicySpec defines the desired state of SessionStickyPolicy
Field | Description |
---|---|
targetRef sigs.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 |
config SessionStickyConfig | (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 |
---|---|
certificateRef sigs.k8s.io/gateway-api/apis/v1beta1.SecretObjectReference | CertificateRef is the reference to the certificate used for TLS connection to upstream |
mTLS bool | (Optional) MTLS is the flag to enable mutual TLS to upstream |
UpstreamTLSPolicySpec
(Appears on:UpstreamTLSPolicy)
UpstreamTLSPolicySpec defines the desired state of UpstreamTLSPolicy
Field | Description |
---|---|
targetRef sigs.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 |
config UpstreamTLSConfig | (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
.