{"id":19806370,"url":"https://github.com/ory/hydra-maester","last_synced_at":"2025-04-05T10:08:57.469Z","repository":{"id":38375238,"uuid":"191736864","full_name":"ory/hydra-maester","owner":"ory","description":"Kuberenetes CRD Controller for Ory Hydra. :warning: Maintained by the community, not an official Ory project!","archived":false,"fork":false,"pushed_at":"2024-10-17T07:47:45.000Z","size":321,"stargazers_count":32,"open_issues_count":8,"forks_count":37,"subscribers_count":12,"default_branch":"master","last_synced_at":"2024-10-29T17:19:34.683Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ory.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"patreon":"_ory","open_collective":"ory"}},"created_at":"2019-06-13T09:54:02.000Z","updated_at":"2024-10-17T07:47:49.000Z","dependencies_parsed_at":"2023-10-26T14:53:38.855Z","dependency_job_id":"b17154cf-a436-4283-8284-1e0a42662b48","html_url":"https://github.com/ory/hydra-maester","commit_stats":{"total_commits":194,"total_committers":31,"mean_commits":6.258064516129032,"dds":0.5927835051546392,"last_synced_commit":"aa0bff206ad33d1ac410094b04de1049d5d131c4"},"previous_names":[],"tags_count":37,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ory%2Fhydra-maester","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ory%2Fhydra-maester/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ory%2Fhydra-maester/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ory%2Fhydra-maester/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ory","download_url":"https://codeload.github.com/ory/hydra-maester/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246952413,"owners_count":20859833,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T09:07:23.906Z","updated_at":"2025-04-05T10:08:57.447Z","avatar_url":"https://github.com/ory.png","language":"Go","funding_links":["https://patreon.com/_ory","https://opencollective.com/ory"],"categories":[],"sub_categories":[],"readme":"\u003c!-- START doctoc generated TOC please keep comment here to allow auto update --\u003e\n\u003c!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --\u003e\n\n- [Ory Hydra Maester](#ory-hydra-maester)\n  - [Prerequisites](#prerequisites)\n  - [Design](#design)\n  - [How to use it](#how-to-use-it)\n    - [Command-line flags](#command-line-flags)\n  - [Development](#development)\n    - [Testing](#testing)\n\n\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e\n\n# Ory Hydra Maester\n\n⚠️ ⚠️ ⚠️\n\n\u003e Ory Hydra Maester is developed by the Ory community and is not actively\n\u003e maintained by Ory core maintainers due to lack of resources, time, and\n\u003e knolwedge. As such please be aware that there might be issues with the system.\n\u003e If you have ideas for better testing and development principles please open an\n\u003e issue or PR!\n\n⚠️ ⚠️ ⚠️\n\nThis project contains a Kubernetes controller that uses Custom Resources (CR) to\nmanage Hydra Oauth2 clients. ORY Hydra Maester watches for instances of\n`oauth2clients.hydra.ory.sh/v1alpha1` CR and creates, updates, or deletes\ncorresponding OAuth2 clients by communicating with ORY Hydra's API.\n\nVisit Hydra-maester's\n[chart documentation](https://github.com/ory/k8s/blob/master/docs/helm/hydra-maester.md)\nand view [sample OAuth2 client resources](config/samples) to learn more about\nthe `oauth2clients.hydra.ory.sh/v1alpha1` CR.\n\nThe project is based on\n[Kubebuilder](https://github.com/kubernetes-sigs/kubebuilder).\n\n## Prerequisites\n\n- recent version of Go language with support for modules (e.g: 1.12.6)\n- make\n- kubectl\n- kustomize\n- [kubebuilder](https://github.com/kubernetes-sigs/kubebuilder) for running\n  tests\n- [ginkgo](https://onsi.github.io/ginkgo/) for local integration testing\n- access to K8s environment: minikube or a remote K8s cluster\n- [mockery](https://github.com/vektra/mockery) to generate mocks for testing\n  purposes\n\n## Design\n\nTake a look at [Design Readme](./docs/README.md).\n\n## How to use it\n\n- `make test` to run tests\n- `make test-integration` to run integration tests\n- `make install` to generate CRD file from go sources and install it on the\n  cluster\n- `export HYDRA_URL={HYDRA_SERVICE_URL} \u0026\u0026 make run` to run the controller\n\nTo deploy the controller, edit the value of the `--hydra-url` argument in the\n[manager.yaml](config/manager/manager.yaml) file and run `make deploy`.\n\n### Command-line flags\n\n| Name                         | Required | Description                                                                                                      | Default value | Example values                           |\n| ---------------------------- | -------- | ---------------------------------------------------------------------------------------------------------------- | ------------- | ---------------------------------------- |\n| **hydra-url**                | yes      | ORY Hydra's service address                                                                                      | -             | ` ory-hydra-admin.ory.svc.cluster.local` |\n| **hydra-port**               | no       | ORY Hydra's service port                                                                                         | `4445`        | `4445`                                   |\n| **tls-trust-store**          | no       | TLS cert path for hydra client                                                                                   | `\"\"`          | `/etc/ssl/certs/ca-certificates.crt`     |\n| **insecure-skip-verify**     | no       | Skip http client insecure verification                                                                           | `false`       | `true` or `false`                        |\n| **namespace**                | no       | Namespace in which the controller should operate. Setting this will make the controller ignore other namespaces. | `\"\"`          | `\"my-namespace\"`                         |\n| **leader-elector-namespace** | no       | Leader elector namespace where controller should be set.                                                         | `\"\"`          | `\"my-namespace\"`                         |\n\n### Environmental Variables\n\n| Variable name           | Default value       | Example value         |\n| :---------------------- | ------------------- | --------------------- |\n| `**CLIENT_ID_KEY**`     | `**CLIENT_ID**`     | `**MY_SECRET_NAME**`  |\n| `**CLIENT_SECRET_KEY**` | `**CLIENT_SECRET**` | `**MY_SECRET_VALUE**` |\n\n## Development\n\n### Testing\n\nUse mockery to generate mock types that implement existing interfaces. To\ngenerate a mock type for an interface, navigate to the directory containing that\ninterface and run this command:\n\n```\nmockery -name={INTERFACE_NAME}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fory%2Fhydra-maester","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fory%2Fhydra-maester","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fory%2Fhydra-maester/lists"}