github.com/cilium/cilium@v1.16.2/Documentation/community/roadmap.rst (about)

     1  .. only:: not (epub or latex or html)
     2  
     3      WARNING: You are looking at unreleased Cilium documentation.
     4      Please use the official rendered version released here:
     5      https://docs.cilium.io
     6  
     7  Roadmap
     8  =======
     9  
    10  This page describes a high-level view of the main priorities for the project,
    11  agreed as a result of collaboration between Cilium's committers_ and the
    12  broader community. You'll also find here some pointers on how you can
    13  :ref:`influence the roadmap<rm-influence>`. 
    14  
    15  Major Feature Status
    16  --------------------
    17  
    18  +--------------------------------------------------+----------------------------------------------------------+
    19  | eBPF Networking                                  | Stable (:ref:`Roadmap Details<rm-advanced-networking>`)  |
    20  ++-------------------------------------------------+----------------------------------------------------------+
    21  || :ref:`Kubernetes CNI<k8s_network_root>`         | Stable                                                   |
    22  ++-------------------------------------------------+----------------------------------------------------------+
    23  || `Load Balancing`_                               | Stable                                                   |
    24  ++-------------------------------------------------+----------------------------------------------------------+
    25  || :ref:`k8s_policy`                               | Stable                                                   |
    26  ++-------------------------------------------------+----------------------------------------------------------+
    27  || :ref:`Kube-proxy Replacement<kubeproxy-free>`   | Stable                                                   |
    28  ++-------------------------------------------------+----------------------------------------------------------+
    29  || :ref:`egress-gateway`                           | Stable                                                   |
    30  ++-------------------------------------------------+----------------------------------------------------------+
    31  || :ref:`gsg_encryption` (IPsec and WireGuard)     | Stable                                                   |
    32  ++-------------------------------------------------+----------------------------------------------------------+
    33  || :ref:`bandwidth-manager`                        | Stable                                                   |
    34  ++-------------------------------------------------+----------------------------------------------------------+
    35  || :ref:`local-redirect-policy`                    | Stable                                                   |
    36  ++-------------------------------------------------+----------------------------------------------------------+
    37  | Cilium Mesh                                      | Stable (:ref:`Roadmap Details<rm-clustermesh>`)          |
    38  ++-------------------------------------------------+----------------------------------------------------------+
    39  || :ref:`Multi-Cluster (ClusterMesh)<clustermesh>` | Stable                                                   |
    40  ++-------------------------------------------------+----------------------------------------------------------+
    41  || :ref:`External Workloads<external_workloads>`   | Beta                                                     |
    42  ++-------------------------------------------------+----------------------------------------------------------+
    43  | Hubble Observability                             | Stable (:ref:`Roadmap Details<rm-hubble-observability>`) |
    44  ++-------------------------------------------------+----------------------------------------------------------+
    45  || :ref:`Hubble CLI<hubble_cli>`                   | Stable                                                   |
    46  ++-------------------------------------------------+----------------------------------------------------------+
    47  || :ref:`hubble_ui`                                | Stable                                                   |
    48  ++-------------------------------------------------+----------------------------------------------------------+
    49  || :ref:`Prometheus metrics<metrics>`              | Stable                                                   |
    50  ++-------------------------------------------------+----------------------------------------------------------+
    51  | Cilium Service Mesh                              | Stable (:ref:`Roadmap Details<rm-cilium-service-mesh>`)  |
    52  ++-------------------------------------------------+----------------------------------------------------------+
    53  || :ref:`gs_ingress`                               | Stable                                                   |
    54  ++-------------------------------------------------+----------------------------------------------------------+
    55  || :ref:`gs_gateway_api`                           | Beta                                                     |
    56  ++-------------------------------------------------+----------------------------------------------------------+
    57  || :ref:`gs_l7_traffic_management`                 | Beta                                                     |
    58  ++-------------------------------------------------+----------------------------------------------------------+
    59  || :ref:`gs_mutual_authentication`                 | Beta                                                     |
    60  ++-------------------------------------------------+----------------------------------------------------------+
    61  || :ref:`SPIFFE integration<identity_management>`  | Beta                                                     |
    62  ++-------------------------------------------------+----------------------------------------------------------+
    63  | `Tetragon`_ Security                             | Stable (:ref:`Roadmap Details<rm-tetragon>`)             |
    64  +--------------------------------------------------+----------------------------------------------------------+
    65  
    66  "Stable" means that the feature is in use in production (though advanced
    67  features may still be in beta or in development).
    68  
    69  Release Cadence
    70  ~~~~~~~~~~~~~~~
    71  
    72  We aim to make 2 to 3 `point releases`_ per year of Cilium and its core components
    73  (Hubble, Cilium CLI, Tetragon, etc). We also make patch releases available as
    74  necessary for security or urgent fixes. 
    75  
    76  Focus Areas
    77  -----------
    78  
    79  For a finer-granularity view, and insight into detailed enhancements and fixes,
    80  please refer to `issues on GitHub <GitHub issues_>`_. 
    81  
    82  Welcoming New Contributors
    83  ~~~~~~~~~~~~~~~~~~~~~~~~~~
    84  
    85  As a CNCF project we want to make it easier for new contributors to get involved
    86  with Cilium. This includes both code and non-code contributions such as
    87  documentation, blog posts, example configurations, presentations, training
    88  courses, testing and more. Check the :ref:`dev_guide` documentation to understand how to get
    89  involved with code contributions, and the `Get Involved`_ guide for guidance on
    90  contributing blog posts, training and other resources. 
    91  
    92  .. _rm-cilium-service-mesh:
    93  
    94  Cilium Service Mesh 
    95  ~~~~~~~~~~~~~~~~~~~
    96  
    97  As Cilium Service Mesh gets wider adoption, the next steps in
    98  this area (in no particular order) include: 
    99  
   100  * Graduating Gateway API and L7 Traffic management to stable
   101  * Graduating next-gen mutual authentication and SPIFFE integration to stable
   102  * Graduating Prometheus metrics and OpenTelemetry collector to stable
   103  * Extended sample Grafana dashboards for L7 visibility
   104  * SMI integration 
   105  * Performance benchmarking
   106  
   107  .. _rm-clustermesh:
   108  
   109  Cilium Mesh 
   110  ~~~~~~~~~~~
   111  
   112  Cilium Mesh incorporates the ability to connect any application workload to any
   113  other, whether they are distributed within the same or different Kubernetes
   114  clusters, or in external services or VMs in public or private clouds. This
   115  builds on the core :ref:`ClusterMesh<clustermesh>` capability that is stable and
   116  widely adopted. Future extensions include: 
   117  
   118  * Cluster health checks
   119  * :ref:`External Workloads<external_workloads>` graduating to stable
   120  
   121  .. _rm-advanced-networking:
   122  
   123  Advanced Networking Features
   124  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   125  
   126  There are several advanced networking features currently in beta, several of
   127  these are already in production use with a set of adopters. We expect the
   128  following features to graduate to stable:
   129  
   130  * :ref:`BGP<bgp>`
   131  * :ref:`CiliumEndpointSlice<CiliumEndpointSlice>`
   132  * :ref:`Multi-Pool IPAM<ipam_crd_multi_pool>`
   133  * :ref:`Node-to-node WireGuard encryption<node-node-wg>`
   134  
   135  .. _rm-hubble-observability:
   136  
   137  Hubble Observability 
   138  ~~~~~~~~~~~~~~~~~~~~
   139  
   140  Hubble provides visibility into network flows through the :ref:`Hubble CLI<hubble_cli>` (stable)
   141  and :ref:`UI<hubble_ui>` (beta), with support for Prometheus and OpenTelemetry metrics. Areas of
   142  focus currently include:
   143  
   144  * Hubble UI additional features
   145  
   146  CI Test Improvements
   147  ~~~~~~~~~~~~~~~~~~~~
   148  
   149  We have a comprehensive set of tests running in CI, but several contributors are
   150  currently working on `CI improvements`_ to make these more reliable and easier to
   151  maintain. This is a good area to get involved if you are interested in learning
   152  more about Cilium internals and development.
   153  
   154  .. _rm-tetragon:
   155  
   156  Tetragon Security
   157  ~~~~~~~~~~~~~~~~~
   158  
   159  `Tetragon`_ is a sub-project within the Cilium family. It provides security observability and runtime enforcement through the JSON events and the Tetragon
   160  CLI for things like process execution, file access, network observability, and
   161  privileged execution.
   162  
   163  Codebase modularization
   164  ~~~~~~~~~~~~~~~~~~~~~~~
   165  
   166  As the project is growing in complexity it is becoming increasingly important
   167  to be able to divide it into more manageable chunks. To achieve this, we're
   168  working on modularizing the codebase and going from a tightly coupled design
   169  (one large initialization and configuration) to a more loosely coupled design
   170  of mostly self-contained modules. This will make Cilium internals easier to
   171  comprehend, test and extend.
   172  
   173  Contributions in this area are very welcome. To get started, take a look at the
   174  :ref:`guide-to-the-hive` documentation and the issues referenced from
   175  `modularization meta issue <modularization-issue_>`_. If you have any questions
   176  or ideas please join us on the ``#sig-modularization`` channel on `Cilium
   177  Slack`_.
   178  
   179  .. _rm-influence:
   180  
   181  Influencing the Roadmap
   182  -----------------------
   183  
   184  You are welcome to raise feature requests by creating them as `GitHub issues`_.
   185  Please search the existing issues to avoid raising duplicates; if you find that
   186  someone else is making the same or similar request we encourage the use of
   187  GitHub emojis to express your support for an idea! 
   188  
   189  The most active way to influence the capabilities in Cilium is to get involved
   190  in development. We label issues with `good-first-issue`_ to help new potential
   191  contributors find issues and feature requests that are relatively self-contained
   192  and could be a good place to start. Please also read the :ref:`dev_guide` for
   193  details of our pull request process and expectations, along with instructions
   194  for setting up your development environment.
   195  
   196  We encourage you to discuss your ideas for significant enhancements and feature
   197  requests on the ``#development`` channel on `Cilium Slack`_, bring them to the
   198  :ref:`community-meeting`, and/or create a `CFP design doc`_.
   199  
   200  This roadmap does not give date commitments since the work is dependent on the
   201  community. If you're looking for commitments to apply engineering resources to
   202  work on particular features, one option is to discuss this with the companies
   203  who offer `commercial distributions of Cilium <enterprise_>`_ and may be able to
   204  help. 
   205  
   206  Changes to this Roadmap Page
   207  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   208  
   209  This roadmap page will be updated through documentation pull requests in the
   210  usual way, but the Cilium committers_ should be consulted beforehand about
   211  anything other than trivial fixes. 
   212  
   213  
   214  .. _committers: https://raw.githubusercontent.com/cilium/cilium/main/MAINTAINERS.md
   215  .. _Load Balancing: https://cilium.io/use-cases/load-balancer/
   216  .. _Tetragon: https://tetragon.cilium.io
   217  .. _GitHub issues: https://github.com/cilium/cilium/issues
   218  .. _point releases: https://cilium.io/blog/categories/release/
   219  .. _Get Involved: https://cilium.io/get-involved
   220  .. _CNCF Graduation: https://github.com/cncf/toc/pull/952
   221  .. _CI improvements: https://github.com/cilium/cilium/issues?q=is%3Aopen+is%3Aissue+label%3Aarea%2FCI-improvement
   222  .. _good-first-issue: https://github.com/cilium/cilium/labels/good-first-issue
   223  .. _enterprise: https://cilium.io/enterprise
   224  .. _CFP design doc: https://github.com/cilium/design-cfps/tree/main
   225  .. _modularization-issue: https://github.com/cilium/cilium/issues/23425