Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Export by matching labels #143

Open
bartoszmajsak opened this issue Jan 20, 2025 · 0 comments · May be fixed by #170
Open

Export by matching labels #143

bartoszmajsak opened this issue Jan 20, 2025 · 0 comments · May be fixed by #170

Comments

@bartoszmajsak
Copy link
Collaborator

Introduce support for service selectors that allow users to export specific services based on labels across any namespace.

The implementation should support matchLabels criteria, with key:value pairs.

Example structure

serviceSelectors:
  - matchLabels:
      export: "true"
@bartoszmajsak bartoszmajsak changed the title Exporting by Labels Exporting by matching labels Jan 20, 2025
@bartoszmajsak bartoszmajsak changed the title Exporting by matching labels Export by matching labels Jan 20, 2025
bartoszmajsak pushed a commit to bartoszmajsak/ossm-federation that referenced this issue Jan 24, 2025
This PR extends `MeshFederation` Custom Resource with configuration for local Federation setup.

This configuration that includes:

- network name
- trust domain
- controlPlane's namespace
   - required to create certain mesh-wide resources
- ingress configuration to be used for creating Federation Ingress Gateway
   - the default should be `istio`
   - support for `openshift-router`

It also defines export rules based on selectors (both label matching as
well as expressions)

### Current assumptions

- there should be only one instance of `MeshFederation`  per namespace
- `metadata.name` is used instead of originally proposed `id` to uniquely identify the local instance

### Related Issues

API for openshift-service-mesh#52 openshift-service-mesh#143

Fixes openshift-service-mesh#141
bartoszmajsak pushed a commit to bartoszmajsak/ossm-federation that referenced this issue Jan 24, 2025
This PR extends `MeshFederation` Custom Resource with configuration for local Federation setup.

This configuration that includes:

- network name
- trust domain
- controlPlane's namespace
   - required to create certain mesh-wide resources
- ingress configuration to be used for creating Federation Ingress Gateway
   - the default should be `istio`
   - support for `openshift-router`

It also defines export rules based on selectors (both label matching as
well as expressions)

### Current assumptions

- there should be only one instance of `MeshFederation`  per namespace
- `metadata.name` is used instead of originally proposed `id` to uniquely identify the local instance

### Related Issues

API for openshift-service-mesh#52 openshift-service-mesh#143

Fixes openshift-service-mesh#141
bartoszmajsak pushed a commit to bartoszmajsak/ossm-federation that referenced this issue Jan 24, 2025
This PR extends `MeshFederation` Custom Resource with configuration for local Federation setup.

This configuration that includes:

- network name
- trust domain
- controlPlane's namespace
   - required to create certain mesh-wide resources
- ingress configuration to be used for creating Federation Ingress Gateway
   - the default should be `istio`
   - support for `openshift-router`

It also defines export rules based on selectors (both label matching as
well as expressions)

### Current assumptions

- there should be only one instance of `MeshFederation`  per namespace
- `metadata.name` is used instead of originally proposed `id` to uniquely identify the local instance

### Related Issues

API for openshift-service-mesh#52 openshift-service-mesh#143

Fixes openshift-service-mesh#141
bartoszmajsak pushed a commit that referenced this issue Jan 24, 2025
This PR extends `MeshFederation` Custom Resource with configuration for local Federation setup.

This configuration that includes:

- network name
- trust domain
- controlPlane's namespace
   - required to create certain mesh-wide resources
- ingress configuration to be used for creating Federation Ingress Gateway
   - the default should be `istio`
   - support for `openshift-router`

It also defines export rules based on selectors (both label matching as
well as expressions)

### Current assumptions

- there should be only one instance of `MeshFederation`  per namespace
- `metadata.name` is used instead of originally proposed `id` to uniquely identify the local instance

### Related Issues

API for #52 #143

Fixes #141
openshift-merge-bot bot pushed a commit that referenced this issue Jan 25, 2025
This PR extends `MeshFederation` Custom Resource with configuration for
local Federation setup.

This configuration includes:

- network name
- trust domain
- controlPlane's namespace
   - required to create certain mesh-wide resources
- ingress configuration to be used for creating Federation Ingress
Gateway
   - the default should be `istio`
   - support for `openshift-router`

It also defines export rules based on selectors (both label matching as
well as expressions)

### Current assumptions

- there should be only one instance of `MeshFederation`  per namespace
- `metadata.name` is used instead of originally proposed `id` to
uniquely identify the local instance

### Related Issues

API for #52 #143

Fixes #141

Co-authored-by: Eoin Fennessy <[email protected]>
bartoszmajsak added a commit to bartoszmajsak/ossm-federation that referenced this issue Jan 27, 2025
This commit introduces the initial implementation of the MeshFederation
controller. The controller is responsible for:

- Managing the MeshFederation server lifecycle (openshift-service-mesh#152)
- Configuring MeshFederation resources, including:
  - IngressGateway
  - PeerAuthentication
  - EnvoyFilter (for OpenShift Router)
  - Routes (for OpenShift Router)
- Watching Kubernetes services to:
  - Push SotW updates to all connected peers (openshift-service-mesh#153)
  - Update MeshFederation cluster configuration
  - Support both label selectors and expressions (openshift-service-mesh#52 openshift-service-mesh#143)

Basic EnvTest tests are included to verify the setup.

Fixes openshift-service-mesh#152 openshift-service-mesh#52 openshift-service-mesh#143 openshift-service-mesh#153
bartoszmajsak added a commit to bartoszmajsak/ossm-federation that referenced this issue Jan 27, 2025
This commit introduces the initial implementation of the MeshFederation
controller. The controller is responsible for:

- Managing the MeshFederation server lifecycle (openshift-service-mesh#152)
- Configuring MeshFederation resources, including:
  - IngressGateway
  - PeerAuthentication
  - EnvoyFilter (for OpenShift Router)
  - Routes (for OpenShift Router)
- Watching Kubernetes services to:
  - Push SotW updates to all connected peers (openshift-service-mesh#153)
  - Update MeshFederation cluster configuration
  - Support both label selectors and expressions (openshift-service-mesh#52 openshift-service-mesh#143)

Basic EnvTest tests are included to verify the setup.

Fixes openshift-service-mesh#152 openshift-service-mesh#52 openshift-service-mesh#143 openshift-service-mesh#153
bartoszmajsak added a commit to bartoszmajsak/ossm-federation that referenced this issue Jan 27, 2025
This commit introduces the initial implementation of the MeshFederation
controller. The controller is responsible for:

- Managing the MeshFederation server lifecycle (openshift-service-mesh#152)
- Configuring MeshFederation resources, including:
  - IngressGateway
  - PeerAuthentication
  - EnvoyFilter (for OpenShift Router)
  - Routes (for OpenShift Router)
- Watching Kubernetes services to:
  - Push SotW updates to all connected peers (openshift-service-mesh#153)
  - Update MeshFederation cluster configuration
  - Support both label selectors and expressions (openshift-service-mesh#52 openshift-service-mesh#143)

Basic EnvTest tests are included to verify the setup.

Fixes openshift-service-mesh#152 openshift-service-mesh#52 openshift-service-mesh#143 openshift-service-mesh#153
bartoszmajsak added a commit to bartoszmajsak/ossm-federation that referenced this issue Jan 27, 2025
This commit introduces the initial implementation of the MeshFederation
controller. The controller is responsible for:

- Managing the MeshFederation server lifecycle (openshift-service-mesh#152)
- Configuring MeshFederation resources, including:
  - IngressGateway
  - PeerAuthentication
  - EnvoyFilter (for OpenShift Router)
  - Routes (for OpenShift Router)
- Watching Kubernetes services to:
  - Push SotW updates to all connected peers (openshift-service-mesh#153)
  - Update MeshFederation cluster configuration
  - Support both label selectors and expressions (openshift-service-mesh#52 openshift-service-mesh#143)

Basic EnvTest tests are included to verify the setup.

Fixes openshift-service-mesh#152 openshift-service-mesh#52 openshift-service-mesh#143 openshift-service-mesh#153
bartoszmajsak added a commit to bartoszmajsak/ossm-federation that referenced this issue Jan 27, 2025
This commit introduces the initial implementation of the MeshFederation
controller. The controller is responsible for:

- Managing the MeshFederation server lifecycle (openshift-service-mesh#152)
- Configuring MeshFederation resources, including:
  - IngressGateway
  - PeerAuthentication
  - EnvoyFilter (for OpenShift Router)
  - Routes (for OpenShift Router)
- Watching Kubernetes services to:
  - Push SotW updates to all connected peers (openshift-service-mesh#153)
  - Update MeshFederation cluster configuration
  - Support both label selectors and expressions (openshift-service-mesh#52 openshift-service-mesh#143)

Basic EnvTest tests are included to verify the setup.

Fixes openshift-service-mesh#152 openshift-service-mesh#52 openshift-service-mesh#143 openshift-service-mesh#153
bartoszmajsak added a commit to bartoszmajsak/ossm-federation that referenced this issue Jan 27, 2025
This commit introduces the initial implementation of the MeshFederation
controller. The controller is responsible for:

- Managing the MeshFederation server lifecycle (openshift-service-mesh#152)
- Configuring MeshFederation resources, including:
  - IngressGateway
  - PeerAuthentication
  - EnvoyFilter (for OpenShift Router)
  - Routes (for OpenShift Router)
- Watching Kubernetes services to:
  - Push SotW updates to all connected peers (openshift-service-mesh#153)
  - Update MeshFederation cluster configuration
  - Support both label selectors and expressions (openshift-service-mesh#52 openshift-service-mesh#143)

Basic EnvTest tests are included to verify the setup.

Fixes openshift-service-mesh#152 openshift-service-mesh#52 openshift-service-mesh#143 openshift-service-mesh#153
bartoszmajsak added a commit to bartoszmajsak/ossm-federation that referenced this issue Jan 27, 2025
This commit introduces the initial implementation of the MeshFederation
controller. The controller is responsible for:

- Managing the MeshFederation server lifecycle (openshift-service-mesh#152)
- Configuring MeshFederation resources, including:
  - IngressGateway
  - PeerAuthentication
  - EnvoyFilter (for OpenShift Router)
  - Routes (for OpenShift Router)
- Watching Kubernetes services to:
  - Push SotW updates to all connected peers (openshift-service-mesh#153)
  - Update MeshFederation cluster configuration
  - Support both label selectors and expressions (openshift-service-mesh#52 openshift-service-mesh#143)

Basic EnvTest tests are included to verify the setup.

Fixes openshift-service-mesh#152 openshift-service-mesh#52 openshift-service-mesh#143 openshift-service-mesh#153
bartoszmajsak added a commit to bartoszmajsak/ossm-federation that referenced this issue Jan 27, 2025
This commit introduces the initial implementation of the MeshFederation
controller. The controller is responsible for:

- Managing the MeshFederation server lifecycle (openshift-service-mesh#152)
- Configuring MeshFederation resources, including:
  - IngressGateway
  - PeerAuthentication
  - EnvoyFilter (for OpenShift Router)
  - Routes (for OpenShift Router)
- Watching Kubernetes services to:
  - Push SotW updates to all connected peers (openshift-service-mesh#153)
  - Update MeshFederation cluster configuration
  - Support both label selectors and expressions (openshift-service-mesh#52 openshift-service-mesh#143)

Basic EnvTest tests are included to verify the setup.

Fixes openshift-service-mesh#152 openshift-service-mesh#52 openshift-service-mesh#143 openshift-service-mesh#153
bartoszmajsak added a commit to bartoszmajsak/ossm-federation that referenced this issue Jan 27, 2025
This commit introduces the initial implementation of the MeshFederation
controller. The controller is responsible for:

- Managing the MeshFederation server lifecycle (openshift-service-mesh#152)
- Configuring MeshFederation resources, including:
  - IngressGateway
  - PeerAuthentication
  - EnvoyFilter (for OpenShift Router)
  - Routes (for OpenShift Router)
- Watching Kubernetes services to:
  - Push SotW updates to all connected peers (openshift-service-mesh#153)
  - Update MeshFederation cluster configuration
  - Support both label selectors and expressions (openshift-service-mesh#52 openshift-service-mesh#143)

Basic EnvTest tests are included to verify the setup.

Fixes openshift-service-mesh#152 openshift-service-mesh#52 openshift-service-mesh#143 openshift-service-mesh#153
bartoszmajsak added a commit to bartoszmajsak/ossm-federation that referenced this issue Jan 27, 2025
This commit introduces the initial implementation of the MeshFederation
controller. The controller is responsible for:

- Managing the MeshFederation server lifecycle (openshift-service-mesh#152)
  - removes a need for a channel to trigger push - pushing directly
    instead
- Configuring MeshFederation resources, including:
  - IngressGateway
  - PeerAuthentication
  - EnvoyFilter (for OpenShift Router)
  - Routes (for OpenShift Router)
- Watching Kubernetes services to:
  - Push SotW updates to all connected peers (openshift-service-mesh#153)
  - Update MeshFederation cluster configuration
  - Support both label selectors and expressions (openshift-service-mesh#52 openshift-service-mesh#143)

Basic EnvTest tests are included to verify the setup.

Fixes openshift-service-mesh#152 openshift-service-mesh#52 openshift-service-mesh#143 openshift-service-mesh#153
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant