Skip to content

A helm chart for installing an authenticating proxy in front of your kubernetes services

License

Notifications You must be signed in to change notification settings

mvitale1989/helm-keycloak-gatekeeper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

helm-keycloak-gatekeeper

A helm chart for installing an OpenID Connect authenticating proxy in front of your HTTP services. Based on the excellent keycloak/keycloak-gatekeeper.

How it works

This charts installs a service, and optionally also an ingress, that sits between a service (e.g. an internal ClusterIP service) and its clients, allowing incoming requests only if they've been authenticated by an OIDC provider of your choice.

Example configuration

The following values.yaml lets you protect requests to the in-cluster service my-service, given a proper configuration of your IdP (e.g. registration of the my-service client, generation of a client-secret, etc):

upstreamUrl: "http://my-service:8080"

oidc:
  clientId: "my-service"
  clientSecret: "theSecretGeneratedByTheIdP"
  discoveryUrl: "https://idp.example.com/"

ingress:
  enabled: true
  annotations:
    kubernetes.io/tls-acme: "true"
  path: /
  hosts:
  - my-service.example.com
  tls:
  - secretName: tls-my-service
    hosts:
    - my-service.example.com

Check out values.yaml for other options tha are configurable in this chart.

Future work

  • Expose distributed caching flags, already implemented in keycloak/keycloak-gatekeeper (e.g. --store-url=redis://127.0.0.1:6379)
  • Expose optional prometheus endpoint, through flags and proper pod/service configuration
  • Expose tags flag, for configuring the forbidden/login templates
  • Add option for specifying the redirect URL e.g. for logouts

About

A helm chart for installing an authenticating proxy in front of your kubernetes services

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages