GithubHelp home page GithubHelp logo

isabella232 / hydra-maester Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ory/hydra-maester

0.0 0.0 0.0 232 KB

Kuberenetes CRD Controller for Ory Hydra. :warning: Maintained by the community, not an official Ory project!

License: Apache License 2.0

Shell 0.54% Go 94.57% Makefile 4.48% Dockerfile 0.41%

hydra-maester's Introduction

Ory Hydra Maester

⚠️ ⚠️ ⚠️

Ory Hydra Maester is developed by the Ory community and is not actively maintained by Ory core maintainers due to lack of resources, time, and knolwedge. As such please be aware that there might be issues with the system. If you have ideas for better testing and development principles please open an issue or PR!

⚠️ ⚠️ ⚠️

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.

Prerequisites

  • 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

Design

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
tls-trust-store no TLS cert path for hydra client "" /etc/ssl/certs/ca-certificates.crt
insecure-skip-verify no Skip http client insecure verification false true or false
namespace no Namespace in which the controller should operate. Setting this will make the controller ignore other namespaces. "" "my-namespace"
leader-elector-namespace no Leader elector namespace where controller should be set. "" "my-namespace"

Development

Testing

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}

hydra-maester's People

Contributors

aeneasr avatar alexandrem avatar amihalj avatar angelokurtis avatar clement-buchart avatar colunira avatar demonsthere avatar fjvierap avatar greenboxal avatar jakkab avatar jhutchins avatar kubadz avatar paulbdavis avatar piotrmsc avatar poulpifr avatar romanlytvyn avatar tomasz-smelcerz-sap avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.