Config v1alpha3 API Reference
Packages:
config.flomesh.io/v1alpha3
Package v1alpha3 is the v1alpha3 version of the API.
CertManagerProviderSpec
(Appears on:ProviderSpec)
CertManagerProviderSpec defines the configuration of the cert-manager provider
| Field | Description |
|---|---|
issuerNamestring | IssuerName specifies the name of the Issuer resource |
issuerKindstring | IssuerKind specifies the kind of Issuer |
issuerGroupstring | IssuerGroup specifies the group the Issuer belongs to |
CertificateSpec
(Appears on:MeshConfigSpec)
CertificateSpec is the type to reperesent FSM’s certificate management configuration.
| Field | Description |
|---|---|
serviceCertValidityDurationstring | ServiceCertValidityDuration defines the service certificate validity duration. |
certKeyBitSizeint | CertKeyBitSize defines the certicate key bit size. |
ingressGatewayIngressGatewayCertSpec | (Optional) IngressGateway defines the certificate specification for an ingress gateway. |
ClusterPropertySpec
(Appears on:ClusterSetSpec)
ClusterPropertySpec is the type to represent cluster property.
| Field | Description |
|---|---|
namestring | Name defines the name of cluster property. |
valuestring | Value defines the name of cluster property. |
ClusterSetSpec
(Appears on:MeshConfigSpec)
ClusterSetSpec is the type to represent cluster set.
| Field | Description |
|---|---|
isManagedbool | IsManaged defines if the cluster is managed. |
uidstring | UID defines Unique ID of cluster. |
regionstring | (Optional) Region defines Region of cluster. |
zonestring | (Optional) Zone defines Zone of cluster. |
groupstring | (Optional) Group defines Group of cluster. |
namestring | Name defines Name of cluster. |
controlPlaneUIDstring | ControlPlaneUID defines the unique ID of the control plane cluster, in case it’s managed |
properties[]ClusterPropertySpec | Properties defines properties for cluster. |
EgressGatewaySpec
(Appears on:MeshConfigSpec)
EgressGatewaySpec is the type to represent egress gateway.
| Field | Description |
|---|---|
enabledbool | Enabled defines if flb is enabled. |
logLevelstring | LogLevel defines the log level of gateway api. |
modestring | Mode defines the mode of egress gateway. |
portint32 | Port defines the port of egress gateway. |
adminPortint32 | AdminPort defines the admin port of egress gateway. |
replicasint32 | Replicas defines the replicas of egress gateway. |
ExternalAuthzSpec
(Appears on:TrafficSpec)
ExternalAuthzSpec is a type to represent external authorization configuration.
| Field | Description |
|---|---|
enablebool | Enable defines a boolean indicating if the external authorization policy is to be enabled. |
addressstring | Address defines the remote address of the external authorization endpoint. |
portuint16 | Port defines the destination port of the remote external authorization endpoint. |
statPrefixstring | StatPrefix defines a prefix for the stats sink for this external authorization policy. |
timeoutstring | Timeout defines the timeout in which a response from the external authorization endpoint. is expected to execute. |
failureModeAllowbool | FailureModeAllow defines a boolean indicating if traffic should be allowed on a failure to get a response against the external authorization endpoint. |
FLBSpec
(Appears on:MeshConfigSpec)
FLBSpec is the type to represent flb.
| Field | Description |
|---|---|
enabledbool | Enabled defines if flb is enabled. |
strictModebool | StrictMode defines if flb is in strict mode. |
upstreamModeFLBUpstreamMode | UpstreamMode defines the upstream mode of flb. |
secretNamestring | SecretName defines the secret name of flb. |
FLBUpstreamMode
(string alias)
(Appears on:FLBSpec)
| Value | Description |
|---|---|
"Endpoint" | |
"NodePort" |
FeatureFlags
(Appears on:MeshConfigSpec)
FeatureFlags is a type to represent FSM’s feature flags.
| Field | Description |
|---|---|
enableEgressPolicybool | EnableEgressPolicy defines if FSM’s Egress policy is enabled. |
enableSnapshotCacheModebool | EnableSnapshotCacheMode defines if XDS server starts with snapshot cache. |
enableAsyncProxyServiceMappingbool | EnableAsyncProxyServiceMapping defines if FSM will map proxies to services asynchronously. |
enableIngressBackendPolicybool | EnableIngressBackendPolicy defines if FSM will use the IngressBackend API to allow ingress traffic to service mesh backends. |
enableAccessControlPolicybool | EnableAccessControlPolicy defines if FSM will use the AccessControl API to allow access control traffic to service mesh backends. |
enableAccessCertPolicybool | EnableAccessCertPolicy defines if FSM can issue certificates for external services.. |
enableSidecarActiveHealthChecksbool | EnableSidecarActiveHealthChecks defines if FSM will Sidecar active health checks between services allowed to communicate. |
enableRetryPolicybool | EnableRetryPolicy defines if retry policy is enabled. |
enablePluginPolicybool | EnablePluginPolicy defines if plugin policy is enabled. |
enableAutoDefaultRoutebool | EnableAutoDefaultRoute defines if auto default route is enabled. |
enableValidateGatewayListenerHostnamebool | EnableValidateGatewayListenerHostname defines if validate gateway listener hostname is enabled. |
enableValidateHTTPRouteHostnamesbool | EnableValidateHTTPRouteHostnames defines if validate http route hostnames is enabled. |
enableValidateGRPCRouteHostnamesbool | EnableValidateGRPCRouteHostnames defines if validate grpc route hostnames is enabled. |
enableValidateTLSRouteHostnamesbool | EnableValidateTCPRouteHostnames defines if validate tcp route hostnames is enabled. |
enableGatewayAgentServicebool | EnableGatewayAgentService defines if agent service is enabled. |
enableGatewayProxyTagbool | EnableGatewayProxyTag defines if gateway proxy-tag header is enabled. |
GatewayAPISpec
(Appears on:MeshConfigSpec)
GatewayAPISpec is the type to represent gateway api.
| Field | Description |
|---|---|
enabledbool | Enabled defines if gateway api is enabled. |
logLevelstring | LogLevel defines the log level of gateway api. |
fgwLogLevelstring | FGWLogLevel defines the log level of FGW. |
StripAnyHostPortbool | StripAnyHostPort defines if strip any host port is enabled. |
sslPassthroughUpstreamPortint32 | SSLPassthroughUpstreamPort defines the default upstream port of SSL passthrough. |
http1PerRequestLoadBalancingbool | HTTP1PerRequestLoadBalancing defines if load balancing based on per-request is enabled for http1. |
http2PerRequestLoadBalancingbool | HTTP2PerRequestLoadBalancing defines if load balancing based on per-request is enabled for http2. |
proxyTagProxyTag | ProxyTag defines the proxy tag configuration of gateway api. |
HTTP
(Appears on:IngressSpec)
HTTP is the type to represent http.
| Field | Description |
|---|---|
enabledbool | Enabled defines if http is enabled. |
bindint32 | Bind defines the bind port of http. |
listenint32 | Listen defines the listen port of http. |
nodePortint32 | NodePort defines the node port of http. |
ImageSpec
(Appears on:MeshConfigSpec)
ImageSpec is the type to represent image.
| Field | Description |
|---|---|
registrystring | Registry defines the registry of docker image. |
tagstring | Tag defines the tag of docker image. |
pullPolicyKubernetes core/v1.PullPolicy | PullPolicy defines the pull policy of docker image. |
IngressGatewayCertSpec
(Appears on:CertificateSpec)
IngressGatewayCertSpec is the type to represent the certificate specification for an ingress gateway.
| Field | Description |
|---|---|
subjectAltNames[]string | SubjectAltNames defines the Subject Alternative Names (domain names and IP addresses) secured by the certificate. |
validityDurationstring | ValidityDuration defines the validity duration of the certificate. |
secretKubernetes core/v1.SecretReference | Secret defines the secret in which the certificate is stored. |
IngressSpec
(Appears on:MeshConfigSpec)
IngressSpec is the type to represent ingress.
| Field | Description |
|---|---|
enabledbool | Enabled defines if ingress is enabled. |
namespacedbool | Namespaced defines if ingress is namespaced. |
typeKubernetes core/v1.ServiceType | Type defines the type of ingress service. |
logLevelstring | LogLevel defines the log level of ingress. |
httpHTTP | (Optional) HTTP defines the http configuration of ingress. |
tlsTLS | (Optional) TLS defines the tls configuration of ingress. |
LocalDNSProxy
(Appears on:SidecarSpec)
LocalDNSProxy is the type to represent FSM’s local DNS proxy configuration.
| Field | Description |
|---|---|
enablebool | Enable defines a boolean indicating if the sidecars are enabled for local DNS Proxy. |
primaryUpstreamDNSServerIPAddrstring | (Optional) PrimaryUpstreamDNSServerIPAddr defines a primary upstream DNS server for local DNS Proxy. |
secondaryUpstreamDNSServerIPAddrstring | (Optional) SecondaryUpstreamDNSServerIPAddr defines a secondary upstream DNS server for local DNS Proxy. |
wildcardWildcardDN | Wildcard defines Wildcard DN. |
db[]ResolveDN | DB defines Resolve DB. |
LocalProxyMode
(string alias)
(Appears on:SidecarSpec)
LocalProxyMode is a type alias representing the way the sidecar proxies to the main application
| Value | Description |
|---|---|
"Localhost" | LocalProxyModeLocalhost indicates the the sidecar should communicate with the main application over localhost |
"PodIP" | LocalProxyModePodIP indicates that the sidecar should communicate with the main application via the pod ip |
MeshConfig
MeshConfig is the type used to represent the mesh configuration.
| Field | Description | ||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
metadataKubernetes meta/v1.ObjectMeta | (Optional) Object’s metadata. Refer to the Kubernetes API documentation for the fields of themetadata field. | ||||||||||||||||||||||||||||||
specMeshConfigSpec | (Optional) Spec is the MeshConfig specification.
|
MeshConfigSpec
(Appears on:MeshConfig)
MeshConfigSpec is the spec for FSM’s configuration.
| Field | Description |
|---|---|
clusterSetClusterSetSpec | ClusterSetSpec defines the configurations of cluster. |
sidecarSidecarSpec | Sidecar defines the configurations of the proxy sidecar in a mesh. |
repoServerRepoServerSpec | RepoServer defines the configurations of pipy repo server. |
trafficTrafficSpec | Traffic defines the traffic management configurations for a mesh instance. |
observabilityObservabilitySpec | Observalility defines the observability configurations for a mesh instance. |
certificateCertificateSpec | Certificate defines the certificate management configurations for a mesh instance. |
featureFlagsFeatureFlags | FeatureFlags defines the feature flags for a mesh instance. |
pluginChainsPluginChainsSpec | PluginChains defines the default plugin chains. |
ingressIngressSpec | Ingress defines the configurations of Ingress features. |
gatewayAPIGatewayAPISpec | GatewayAPI defines the configurations of GatewayAPI features. |
serviceLBServiceLBSpec | ServiceLB defines the configurations of ServiceLBServiceLB features. |
flbFLBSpec | FLB defines the configurations of FLB features. |
egressGatewayEgressGatewaySpec | EgressGateway defines the configurations of EgressGateway features. |
imageImageSpec | Image defines the configurations of Image info |
miscMiscSpec | Misc defines the configurations of misc info |
MeshRootCertificate
MeshRootCertificate defines the configuration for certificate issuing by the mesh control plane
| Field | Description | ||||
|---|---|---|---|---|---|
metadataKubernetes meta/v1.ObjectMeta | (Optional) Object’s metadata Refer to the Kubernetes API documentation for the fields of themetadata field. | ||||
specMeshRootCertificateSpec | (Optional) Spec is the MeshRootCertificate config specification
| ||||
statusMeshRootCertificateStatus | (Optional) Status of the MeshRootCertificate resource |
MeshRootCertificateSpec
(Appears on:MeshRootCertificate)
MeshRootCertificateSpec defines the mesh root certificate specification
| Field | Description |
|---|---|
providerProviderSpec | Provider specifies the mesh certificate provider |
trustDomainstring | TrustDomain is the trust domain to use as a suffix in Common Names for new certificates. |
MeshRootCertificateStatus
(Appears on:MeshRootCertificate)
MeshRootCertificateStatus defines the status of the MeshRootCertificate resource
| Field | Description |
|---|---|
statestring | State specifies the state of the certificate provider All states are specified in constants.go |
MiscSpec
(Appears on:MeshConfigSpec)
MiscSpec is the type to represent misc configs.
| Field | Description |
|---|---|
curlImagestring | CurlImage defines the image of curl. |
repoServerImagestring | RepoServerImage defines the image of repo server. |
ObservabilitySpec
(Appears on:MeshConfigSpec)
ObservabilitySpec is the type to represent FSM’s observability configurations.
| Field | Description |
|---|---|
fsmLogLevelstring | FSMLogLevel defines the log level for FSM control plane logs. |
enableDebugServerbool | EnableDebugServer defines if the debug endpoint on the FSM controller pod is enabled. |
tracingTracingSpec | Tracing defines FSM’s tracing configuration. |
remoteLoggingRemoteLoggingSpec | RemoteLogging defines FSM’s remote logging configuration. |
PluginChainSpec
(Appears on:PluginChainsSpec)
PluginChainSpec is the type to represent plugin chain.
| Field | Description |
|---|---|
pluginstring | Plugin defines the name of plugin |
priorityfloat32 | Priority defines the priority of plugin |
disablebool | Disable defines the visibility of plugin |
PluginChainsSpec
(Appears on:MeshConfigSpec)
PluginChainsSpec is the type to represent plugin chains.
| Field | Description |
|---|---|
inbound-tcp[]PluginChainSpec | InboundTCPChains defines inbound tcp chains |
inbound-http[]PluginChainSpec | InboundHTTPChains defines inbound http chains |
outbound-tcp[]PluginChainSpec | OutboundTCPChains defines outbound tcp chains |
outbound-http[]PluginChainSpec | OutboundHTTPChains defines outbound http chains |
ProviderSpec
(Appears on:MeshRootCertificateSpec)
ProviderSpec defines the certificate provider used by the mesh control plane
| Field | Description |
|---|---|
certManagerCertManagerProviderSpec | (Optional) CertManager specifies the cert-manager provider configuration |
vaultVaultProviderSpec | (Optional) Vault specifies the vault provider configuration |
tresorTresorProviderSpec | (Optional) Tresor specifies the Tresor provider configuration |
ProxyTag
(Appears on:GatewayAPISpec)
| Field | Description |
|---|---|
srcHostHeaderstring | SrcHostHeader defines the src host header. |
dstHostHeaderstring | DstHostHeader defines the dst host header. |
RemoteLoggingSpec
(Appears on:ObservabilitySpec)
RemoteLoggingSpec is the type to represent FSM’s remote logging configuration.
| Field | Description |
|---|---|
enablebool | Enable defines a boolean indicating if the sidecars are enabled for remote logging. |
leveluint16 | Level defines the remote logging’s level. |
portint16 | Port defines the remote logging’s port. |
addressstring | Address defines the remote logging’s hostname. |
endpointstring | Endpoint defines the API endpoint for remote logging requests sent to the collector. |
authorizationstring | Authorization defines the access entity that allows to authorize someone in remote logging service. |
sampledFractionstring | SampledFraction defines the sampled fraction. |
secretNamestring | SecretName defines the name of the secret that contains the configuration for remote logging. |
RepoServerSpec
(Appears on:MeshConfigSpec)
RepoServerSpec is the type to represent repo server.
| Field | Description |
|---|---|
ipaddrstring | IPAddr of the pipy repo server |
portint16 | Port defines the pipy repo server’s port. |
codebasestring | Codebase is the folder used by fsmController |
ResolveDN
(Appears on:LocalDNSProxy)
ResolveDN is the type to represent FSM’s Resolve DN configuration.
| Field | Description |
|---|---|
dnstring | DN defines resolve DN. |
ipv4[]string | IPv4 defines a ipv4 address for resolve DN. |
SSLPassthrough
(Appears on:TLS)
SSLPassthrough is the type to represent ssl passthrough.
| Field | Description |
|---|---|
enabledbool | Enabled defines if ssl passthrough is enabled. |
upstreamPortint32 | UpstreamPort defines the upstream port of ssl passthrough. |
SecretKeyReferenceSpec
(Appears on:VaultTokenSpec)
SecretKeyReferenceSpec defines the configuration of the secret reference
| Field | Description |
|---|---|
namestring | Name specifies the name of the secret in which the Vault token is stored |
keystring | Key specifies the key whose value is the Vault token |
namespacestring | Namespace specifies the namespace of the secret in which the Vault token is stored |
ServiceLBSpec
(Appears on:MeshConfigSpec)
ServiceLBSpec is the type to represent service lb.
| Field | Description |
|---|---|
enabledbool | Enabled defines if service lb is enabled. |
imagestring | Image defines the service lb image. |
SidecarSpec
(Appears on:MeshConfigSpec)
SidecarSpec is the type used to represent the specifications for the proxy sidecar.
| Field | Description |
|---|---|
enablePrivilegedInitContainerbool | EnablePrivilegedInitContainer defines a boolean indicating whether the init container for a meshed pod should run as privileged. |
logLevelstring | LogLevel defines the logging level for the sidecar’s logs. Non developers should generally never set this value. In production environments the LogLevel should be set to error. |
sidecarImagestring | SidecarImage defines the container image used for the proxy sidecar. |
sidecarDisabledMTLSbool | SidecarDisabledMTLS defines whether mTLS is disabled. |
maxDataPlaneConnectionsint | MaxDataPlaneConnections defines the maximum allowed data plane connections from a proxy sidecar to the FSM controller. |
configResyncIntervalstring | ConfigResyncInterval defines the resync interval for regular proxy broadcast updates. |
sidecarTimeoutint | SidecarTimeout defines the connect/idle/read/write timeout. |
resourcesKubernetes core/v1.ResourceRequirements | Resources defines the compute resources for the sidecar. |
tlsMinProtocolVersionstring | TLSMinProtocolVersion defines the minimum TLS protocol version that the sidecar supports. Valid TLS protocol versions are TLS_AUTO, TLSv1_0, TLSv1_1, TLSv1_2 and TLSv1_3. |
tlsMaxProtocolVersionstring | TLSMaxProtocolVersion defines the maximum TLS protocol version that the sidecar supports. Valid TLS protocol versions are TLS_AUTO, TLSv1_0, TLSv1_1, TLSv1_2 and TLSv1_3. |
cipherSuites[]string | CipherSuites defines a list of ciphers that listener supports when negotiating TLS 1.0-1.2. This setting has no effect when negotiating TLS 1.3. For valid cipher names, see the latest OpenSSL ciphers manual page. E.g. https://www.openssl.org/docs/man1.1.1/apps/ciphers.html. |
ecdhCurves[]string | ECDHCurves defines a list of ECDH curves that TLS connection supports. If not specified, the curves are [X25519, P-256] for non-FIPS build and P-256 for builds using BoringSSL FIPS. |
localProxyModeLocalProxyMode | LocalProxyMode defines the network interface the proxy will use to send traffic to the backend service application. Acceptable values are [ |
localDNSProxyLocalDNSProxy | LocalDNSProxy improves the performance of your computer by caching the responses coming from your DNS servers |
TLS
(Appears on:IngressSpec)
TLS is the type to represent tls.
| Field | Description |
|---|---|
enabledbool | Enabled defines if tls is enabled. |
bindint32 | Bind defines the bind port of tls. |
listenint32 | Listen defines the listen port of tls. |
nodePortint32 | NodePort defines the node port of tls. |
mTLSbool | MTLS defines if mTLS is enabled. |
sslPassthroughSSLPassthrough | (Optional) SSLPassthrough defines the ssl passthrough configuration of tls. |
TracingSpec
(Appears on:ObservabilitySpec)
TracingSpec is the type to represent FSM’s tracing configuration.
| Field | Description |
|---|---|
enablebool | Enable defines a boolean indicating if the sidecars are enabled for tracing. |
portint16 | Port defines the tracing collector’s port. |
addressstring | Address defines the tracing collectio’s hostname. |
endpointstring | Endpoint defines the API endpoint for tracing requests sent to the collector. |
sampledFractionstring | SampledFraction defines the sampled fraction. |
TrafficSpec
(Appears on:MeshConfigSpec)
TrafficSpec is the type used to represent FSM’s traffic management configuration.
| Field | Description |
|---|---|
interceptionModestring | InterceptionMode defines a string indicating which traffic interception mode is used. |
enableEgressbool | EnableEgress defines a boolean indicating if mesh-wide Egress is enabled. |
outboundIPRangeExclusionList[]string | OutboundIPRangeExclusionList defines a global list of IP address ranges to exclude from outbound traffic interception by the sidecar proxy. |
outboundIPRangeInclusionList[]string | OutboundIPRangeInclusionList defines a global list of IP address ranges to include for outbound traffic interception by the sidecar proxy. IP addresses outside this range will be excluded from outbound traffic interception by the sidecar proxy. |
outboundPortExclusionList[]int | OutboundPortExclusionList defines a global list of ports to exclude from outbound traffic interception by the sidecar proxy. |
inboundPortExclusionList[]int | InboundPortExclusionList defines a global list of ports to exclude from inbound traffic interception by the sidecar proxy. |
enablePermissiveTrafficPolicyModebool | EnablePermissiveTrafficPolicyMode defines a boolean indicating if permissive traffic policy mode is enabled mesh-wide. |
serviceAccessModestring | ServiceAccessMode defines a string indicating service access mode. |
inboundExternalAuthorizationExternalAuthzSpec | InboundExternalAuthorization defines a ruleset that, if enabled, will configure a remote external authorization endpoint for all inbound and ingress traffic in the mesh. |
networkInterfaceExclusionList[]string | NetworkInterfaceExclusionList defines a global list of network interface names to exclude from inbound and outbound traffic interception by the sidecar proxy. |
http1PerRequestLoadBalancingbool | HTTP1PerRequestLoadBalancing defines a boolean indicating if load balancing based on request is enabled for http1. |
http2PerRequestLoadBalancingbool | HTTP1PerRequestLoadBalancing defines a boolean indicating if load balancing based on request is enabled for http2. |
TresorCASpec
(Appears on:TresorProviderSpec)
TresorCASpec defines the configuration of Tresor’s root certificate
| Field | Description |
|---|---|
secretRefKubernetes core/v1.SecretReference | SecretRef specifies the secret in which the root certificate is stored |
TresorProviderSpec
(Appears on:ProviderSpec)
TresorProviderSpec defines the configuration of the Tresor provider
| Field | Description |
|---|---|
caTresorCASpec | CA specifies Tresor’s ca configuration |
VaultProviderSpec
(Appears on:ProviderSpec)
VaultProviderSpec defines the configuration of the Vault provider
| Field | Description |
|---|---|
hoststring | Host specifies the name of the Vault server |
portint | Port specifies the port of the Vault server |
rolestring | Role specifies the name of the role for use by mesh control plane |
protocolstring | Protocol specifies the protocol for connections to Vault |
tokenVaultTokenSpec | Token specifies the configuration of the token to be used by mesh control plane to connect to Vault |
VaultTokenSpec
(Appears on:VaultProviderSpec)
VaultTokenSpec defines the configuration of the Vault token
| Field | Description |
|---|---|
secretKeyRefSecretKeyReferenceSpec | SecretKeyRef specifies the secret in which the Vault token is stored |
WildcardDN
(Appears on:LocalDNSProxy)
WildcardDN is the type to represent FSM’s Wildcard DN configuration.
| Field | Description |
|---|---|
enablebool | Enable defines a boolean indicating if wildcard are enabled for local DNS Proxy. |
ipv4[]string | IPv4 defines a ipv4 address for wildcard DN. |
Generated with gen-crd-api-reference-docs
on git commit 8abe9ab.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.