Skip to content

Introduce aliases for data streams #66163

@martijnvg

Description

@martijnvg

Currently aliases can only refer to indices. This issue is about extending that ability to data streams.

In order to reduce complexity aliases for data streams will behave differently than aliases for indices. Data stream aliases should only be able to refer to data streams. A data stream alias should not be able to refer to a backing index or any other regular index.

Aliases pointing to data streams will implementation wise be different than aliases pointing to indices. Data stream aliases will refer to data stream names. This should automatically allow resolvability to all backing indices of a data stream, even when rollovers have occurred. Data stream aliases are separately stored next to data streams in the cluster state.

Authorization shouldn't be defined on the alias level, but be determined by the authorization defined on the data stream level.

Ideally we should reuse the current aliases api in order to allow users to define aliases for data streams.

Data stream aliases should at least support the following functionality:

  • Being able to refer to one or more data streams by a common name. For example logs alias that point to logs-http and logs-my-application data stream.
  • Being able to define which data stream is the write data stream, so ingesting can happen via a data stream alias. Write requests are then resolved to the write index of the data stream designated as write data stream. This to support fail over scenario in a bi-direction ccr setup (as is described here).

I currently do not see use cases where we need to be able to support index and search routing on aliases for data streams.
Being able to define a filter on a data stream alias seems to make sense to me, but I think when needed can be added as a follow up.

Tasks:

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions