Feature Lifecycle

Lifecycle of features and their status

This document describes the lifecycle of features in FSM, their versioning phases, and information about their availability, stability, upgradeability, support, and deprecation policy.

Feature versioning

A feature in FSM is versioned based on its maturity. The following table describes the versioning states for a feature, along with information about each state in the feature’s versioning lifecycle.

AlphaBetaStable
DefinitionFeature is experimental and under active development. APIs may change and require a migration effort during version upgrades.Feature is ready for use but needs to be vetted in production environments. APIs may change and require a migration effort during version upgrades.Feature is ready for use in production environments. APIs are expected to be supported in several subsequent releases.
StabilityUsing the feature may expose bugs. Disabled by default.Well tested and usable in production.Well tested and stable for production use.
SupportMay not be backward compatible. Behavior is subject to change and feature may be deprecated at any time.May not be backward compatible. Behavior is subject to change and feature is expected to be supported in subsequent versions.Behavior is not expected to change and is considered usable for several subsequent releases.
Deprecation PolicyNone. Can be deprecated at any time.Feature will be supported for at least 2 minor releases, and will only be deprecated with advanced notice.Feature will be supported for several subsequent releases, and will only be deprecated with advanced notice and an upgrade path to alternative options.
DocumentationDocumentation may or may not be present.Documentation present on docs.flomesh.io with information on how to use it.Documentation present on docs.flomesh.io with thorough guide and sample demos.

Feature state

The following sections list the features supported in FSM and their versioning state.

Core

FeatureState
FSM CLIStable
Control plane install using FSM CLI and HelmStable
Control plane uninstall using FSM CLI and HelmStable
Automatic sidecar injectionStable
Configuration validating webhookStable
Control plane upgrade using FSM CLI and HelmBeta
MulticlusterAlpha

Traffic management

FeatureState
Traffic access control using SMIStable
Traffic shifting using SMIStable
HTTP routing using SMIStable
TCP routing using SMIStable
Permissive traffic policyStable
Protocols: HTTP1.1, HTTP2, TCP, gRPCStable
Egress policiesStable
Ingress policiesStable
Ingress gateway (Contour)Beta
Circuit breakingAlpha

Security and certificate management

FeatureState
Automatic mutual TLSStable
Authorization using SMI access controlStable
Certificate provider - Tresor (native implementation)Stable
Mutual TLS for IngressStable
Certificate provider - cert-managerBeta
Certificate provider - Hashicorp VaultBeta

Observability

FeatureState
Prometheus integrationStable
Grafana integrationStable
Control plane metricsStable
Pipy traffic metricsStable
Distributed tracing with JaegarBeta

Integrations

FeatureState
Progressive delivery with FlaggerAlpha
Dapr integrationAlpha

Helm chart values deprecation

Values in the Helm chart may be deprecated in preparation to be removed in a future release. A value that is deprecated will be prefixed with the DEPRECATED keyword alongside its comment in the values file and in the title of the corresponding property in the JSON schema for the Helm values.

For example, the value foo is considered to be deprecated due to the DEPRECATED keyword in its description in the values file:

# -- DEPRECATED
# foo configuration
foo: bar

The helm show values command can be used to view the Helm chart’s values.

A value marked as DEPRECATED in a release will only be removed in the next minor release at the earliest. This means, a value deprecated in release vX.Y.Z will only be removed on or after release vX.Y+1.Z. Deprecated values will be documented in the release notes.

Feedback

Was this page helpful?


Last modified April 11, 2024: update versions of fsm and pipy (cea5b3e)