Skip to content
Kuberenetes CRD Controller for ORY Hydra
Go Makefile Other
Branch: master
Clone or download
ORY Continuous Integration
Latest commit 84b05ca Nov 18, 2019

Table of Contents generated with DocToc


This project contains a Kubernetes controller that uses Custom Resources (CR) to manage Hydra Oauth2 clients. ORY Hydra Maester watches for instances of CR and creates, updates, or deletes corresponding OAuth2 clients by communicating with ORY Hydra's API.

Visit Hydra-maester's chart documentation and view sample OAuth2 client resources to learn more about the CR.

The project is based on Kubebuilder.


  • recent version of Go language with support for modules (e.g: 1.12.6)
  • make
  • kubectl
  • kustomize
  • kubebuilder for running tests
  • ginkgo for local integration testing
  • access to K8s environment: minikube or a remote K8s cluster
  • mockery to generate mocks for testing purposes


Take a look at Design Readme.

How to use it

  • make test to run tests
  • make test-integration to run integration tests
  • make install to generate CRD file from go sources and install it on the cluster
  • export HYDRA_URL={HYDRA_SERVICE_URL} && make run to run the controller

To deploy the controller, edit the value of the --hydra-url argument in the manager.yaml file and run make deploy.

Command-line flags

Name Required Description Default value Example values
hydra-url yes ORY Hydra's service address - ory-hydra-admin.ory.svc.cluster.local
hydra-port no ORY Hydra's service port 4445 4445



Use mockery to generate mock types that implement existing interfaces. To generate a mock type for an interface, navigate to the directory containing that interface and run this command:

mockery -name={INTERFACE_NAME}
You can’t perform that action at this time.