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 test
to run testsmake test-integration
to run integration testsmake install
to generate CRD file from go sources and install it on the clusterexport 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
.
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}