reportportal / kubernetes

Kubernetes/Helm configs for ReportPortal
https://reportportal.io
Apache License 2.0
76 stars 190 forks source link

Requesting support for Amazon Load Balancer (ALB) Controller #274

Open gnazgit opened 2 years ago

gnazgit commented 2 years ago

Support for Amazon Load Balancer (ALB) Controller

Right now, NGINX support and example is provided. But considering performance and native TLS certificate from AWS, ALB looks better option.

The current issue with ALB controller is, they don't provide support for rewrite-target and complex regex. Because of this, even if we were able to bring up the Login page with ALB, rest of the redirection is not working.

Please consider supporting ALB controller in future releases.

@HardNorth

ALB annotations used:

annotations:
kubernetes.io/ingress.class: "alb" alb.ingress.kubernetes.io/actions.ssl-redirect: "{\"type\": \"redirect\", \"redirectConfig\": { \"protocol\": \"HTTPS\", \"port\": \"443\", \"statusCode\": \"HTTP_301\"}}" alb.ingress.kubernetes.io/backend-protocol: HTTP alb.ingress.kubernetes.io/healthcheck-protocol: HTTPS alb.ingress.kubernetes.io/certificate-arn: "xxxxxxxxxxxxxxxxxxxxxx" alb.ingress.kubernetes.io/healthcheck-path: "/health" alb.ingress.kubernetes.io/listen-ports: "[{\"HTTP\":80,\"HTTPS\":443}]" alb.ingress.kubernetes.io/scheme: "internal" alb.ingress.kubernetes.io/subnets: "subnet-xxxxxxx,subnet-xxxxxxx" alb.ingress.kubernetes.io/success-codes: "200" alb.ingress.kubernetes.io/tags: "xxxxxx: yyyyyyyy" alb.ingress.kubernetes.io/load-balancer-attributes: "idle_timeout.timeout_seconds=300"

ALB ingress file:

  • host: {{ $host }} http: paths:
    • path: /ui/* pathType: ImplementationSpecific backend: service: name: {{ $fullName }}-ui port: number: 8080
    • path: /uat/* pathType: ImplementationSpecific backend: service: name: {{ $fullName }}-uat port: number: 9999
    • path: /api/* pathType: ImplementationSpecific backend: service: name: {{ $fullName }}-api port: number: 8585
    • path: /* pathType: ImplementationSpecific backend: service: name: {{ $fullName }}-index port: number: 8080
Jmainguy commented 2 years ago

Seems like a reasonable request, can someone create a PR and examples of a test using it? https://github.com/reportportal/kubernetes/tree/develop/reportportal/templates is where you add the templatized yaml files, https://github.com/reportportal/kubernetes/blob/develop/reportportal/values.yaml is where you add default values for the helm. Choose defaults that would not use this unless specified, to keep backwards compatibility

eldiiar-duishenaliev commented 1 year ago

Hi there! Is there any progress on this topic?

aladdin-atypon commented 10 months ago

Any update here?