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 oauth2clients.hydra.ory.sh/v1alpha1 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 oauth2clients.hydra.ory.sh/v1alpha1 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.
make testto run testsmake test-integrationto run integration testsmake installto generate CRD file from go sources and install it on the clusterexport HYDRA_URL={HYDRA_SERVICE_URL} && make runto run the controller
To deploy the controller, edit the value of the --hydra-url argument in the manager.yaml file and run make deploy.
| 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}