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

[FEATURE] - Add an ability to provide a mesh service that acts as a proxy through which dependencies should be accessed #278

Closed
shriramsharma opened this issue Jan 23, 2023 · 0 comments · Fixed by #279 or #282
Assignees
Labels
enhancement New feature or request

Comments

@shriramsharma
Copy link
Collaborator

Is your feature request related to a problem? Please describe.
Need the ability to automatically forward requests to a mesh dependency through a proxy service.

Describe the solution you'd like
Create a new CRD that contains the configuration of how a destination can be reached through a given proxy. The configuration also provides the ability to generate additional hostnames through which a service can be called.

Example CRD:

apiVersion: admiral.io/v1alpha1
kind: DependencyProxy
metadata:
  name: dependency-proxy-example
  namespace: admiral
  annotations:
     admiral.io/env: stage
spec:
  destination:
    identity: greeting
    dns_suffix: "xyz"
    dns_prefix: 
        - "test00.foo"
        - "test01.bar"
  proxy:
    identity: nginx-proxy

This generates the following ServiceEntry

apiVersion: networking.istio.io/v1beta1
kind: ServiceEntry
metadata:
  name: stage.nginx.global-se
spec:
  addresses:
  - 240.0.10.1
  endpoints:
  - address: nginx-gw-svc.default.svc.cluster.local
    locality: us-west-2
    ports:
      http: 80
  hosts:
  - test00.foo.stage.greeting.xyz
  - test01.bar.stage.greeting.xyz
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
1 participant