• Stars
    star
    698
  • Rank 64,841 (Top 2 %)
  • Language
    TypeScript
  • License
    Apache License 2.0
  • Created almost 9 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

JHipster Registry, based on Spring Cloud Netflix Eureka and Spring Cloud Config

JHipster Registry

Build Status Docker Status Docker Pulls

This is the JHipster registry service, based on Spring Cloud Netflix, Eureka and Spring Cloud Config.

Full documentation is available on the JHipster documentation for microservices.

Deploy to Heroku

Click this button to deploy your own instance of the registry:

Deploy to Heroku

There are a few limitations when deploying to Heroku.

  • The registry will only work with native configuration (and not Git config).
  • The registry service cannot be scaled up to multiple dynos to provide redundancy. You must deploy multiple applications (i.e. click the button more than once). This is because Eureka requires distinct URLs to synchronize in-memory state between instances.

Running locally

To run the cloned repository;

  • For development run ./mvnw -Pdev,webapp to just start in development or run ./mvnw and run npm install && npm start for hot reload of client side code.
  • For production profile run ./mvnw -Pprod

HashiCorp Vault Integration

Development Mode

JHipster Registry default integration uses a vault server with an in-memory backend. The data shall not be persisted and shall require you to configure secrets after every restart. The in-memory configuration provides an easy way to test out the integration and later switch to the recommended server mode.

  • Start vault server docker container:
docker-compose -f src/main/docker/vault.yml up -d
  • The default configured root token is jhipster-registry. We shall use the default secrets engine backend mounted on the secrets path. Configure secrets using either of ui, cli or http.
  • Create a new secret sub-path jhipster-registry/dev and add the following secret in JSON format. Here jhipster-registry refers to the application name and dev refers to the development profile. Do follow the same convention to configure secrets of other applications.
{
  "spring.security.user.password": "admin123!"
}
  • Start JHipster Registry server in development mode using the following command (skipping execution of test cases):
./mvnw -DskipTests
  • After successful start, open http://localhost:8761/ in a browser. You shall require entering a new password as provided in the above vault configuration.

Server Mode

JHipster Registry also provides configuration to use the native file system as the persistent backend.

  • Uncomment the following configurations in vault.yml. You can refer config.hcl to view provided vault server configurations:
command: server
volumes:
  - ./vault-config/config:/vault/config
  - ./vault-config/logs:/vault/logs
  - ./vault-config/data:/vault/file
  • Start vault server docker container:
docker-compose -f src/main/docker/vault.yml up -d
  • Open vault server ui to initialize master key shares. In this guide, we shall enter 1 as the number of key shares and 1 as the key threshold value. Do refer to vault documentation for recommended configuration. Note down the initial root token and the key and keep it at a safe place. You shall require the key to unseal the vault server after a restart.
  • Enable secret engine backend kv and use secret as the mount path.
  • Create a new secret sub-path jhipster-registry/dev and add the following secrets in JSON format. Here jhipster-registry refers to the application name and dev refers to the development profile. Do follow the same convention to configure secrets of other applications.
{
  "spring.security.user.password": "admin123!"
}
  • In this guide, we shall use the token authentication mechanism to retrieve secrets from the vault server. Update bootstrap.yml to specify root token in place of default dev token.
vault:
  authentication: token
  token: jhipster-registry # In server mode, provide a token having read access on secrets
  • Start JHipster Registry server in development mode using the following command (skipping execution of test cases):
./mvnw -DskipTests
  • After successful start, you shall require entering a new password as provided in vault.

OAuth 2.0 and OpenID Connect

OAuth is a stateful security mechanism, like HTTP Session. Spring Security provides excellent OAuth 2.0 and OIDC support, and this is leveraged by JHipster. If you’re not sure what OAuth and OpenID Connect (OIDC) are, please see What the Heck is OAuth?

Please note that JSON Web Token (JWT) is the default option when using the JHipster Registry. It has to be started with oauth2 spring profile to enable the OAuth authentication.

In order to run your JHipster Registry with OAuth 2.0 and OpenID Connect:

  • For development run SPRING_PROFILES_ACTIVE=dev,oauth2,native ./mvnw
  • For production you can use environment variables. For example:
export SPRING_PROFILES_ACTIVE=prod,oauth2,api-docs

Keycloak

Keycloak is the default OpenID Connect server configured with JHipster.

If you want to use Keycloak, you can follow the documentation for Keycloak

Okta

If you'd like to use Okta instead of Keycloak, you can follow the documentation for Okta

Auth0

If you'd like to use Auth0 instead of Keycloak, you can follow the documentation for Auth0

*NOTE: Using the JHipster Registry, add URLs for port 8761 too ("Allowed Callback URLs" and "Allowed Logout URLs")

More Repositories

1

generator-jhipster

JHipster is a development platform to quickly generate, develop, & deploy modern web applications & microservice architectures.
TypeScript
21,481
star
2

jhipster-sample-app

This is a sample application created with JHipster
TypeScript
1,366
star
3

prettier-java

Prettier Java Plugin
Java
1,080
star
4

jhipster-lite

JHipster Lite ⚡ is a development platform to generate, develop & deploy modern web applications & microservices architecture, step by step - using Hexagonal Architecture 💎
Java
460
star
5

jhipster-kotlin

Kotlin based JHipster
EJS
451
star
6

jhipster

DEPRECATED: use https://github.com/jhipster/jhipster-bom instead
Java
410
star
7

jdl-studio

JDL Studio is an online JHipster Domain Language visual editor
TypeScript
405
star
8

jhipster.github.io

Public website for JHipster - generates https://www.jhipster.tech
TypeScript
346
star
9

jhipster-core

JHipster Domain Language, used by JHipster UML and JDL-Studio to generate entities
JavaScript
345
star
10

jhipster-dotnetcore

JHipster.NET blueprint
EJS
313
star
11

jhipster-vuejs

A Vue.js blueprint for JHipster. It will use Vue.js as the frontend library!
TypeScript
301
star
12

generator-jhipster-react-native

A React Native blueprint for JHipster
EJS
263
star
13

jhipster-uml

UML support for JHipster
JavaScript
260
star
14

generator-jhipster-nodejs

A NodeJS blueprint that creates the backend using NestJS
EJS
257
star
15

jhipster-console

JHipster monitoring & alerting console, based on ELK
Go
226
star
16

jdl-samples

Sample JDL files
220
star
17

jhipster-sample-app-react

This is a sample application created with JHipster, using React
Java
218
star
18

jhipster-online

JHipster Online lets you generate your JHipster projects through a user friendly web interface.
Java
205
star
19

jhipster-devbox

JHipster virtualized development box
Shell
199
star
20

generator-jhipster-ionic

Ionic for JHipster ✨
TypeScript
191
star
21

jhipster-guides

Guides to help you learn JHipster quickly
Shell
186
star
22

generator-jhipster-quarkus

Quarkus blueprint for JHipster
EJS
140
star
23

generator-jhipster-entity-audit

JHipster module to enable entity audit and audit log page
EJS
135
star
24

jhipster-ide

An IDE for the JHipster Domain Language
Xtend
127
star
25

ng-jhipster

JHipster Angular library
TypeScript
122
star
26

generator-jhipster-micronaut

Micronaut blueprint for JHipster
EJS
99
star
27

jhipster-sample-app-ng2

DEPRECATED now that Angular 2+ is the default - This is a sample application created with JHipster, using Angular 2
Java
95
star
28

jhipster-sample-app-vuejs

This is a sample application created with JHipster, with the Vue.js blueprint
Java
94
star
29

react-jhipster

JHipster React library
TypeScript
83
star
30

jhipster-bom

JHipster BOM and server-side library
Java
77
star
31

webflux-jhipster

HTML
69
star
32

generator-jhipster-svelte

Generate Svelte powered JHipster web applications
EJS
64
star
33

jhipster-control-center

Manage your JHipster applications from a single place
TypeScript
60
star
34

jhipster-docker

DO NOT USE - DEPRECATED REPO - Old jdubois/jhipster Docker image, replaced by https://hub.docker.com/r/jhipster/jhipster/
59
star
35

jhipster-sample-app-microservice

This is a sample application created with JHipster, with the Microservice type
Java
53
star
36

jhipster-sample-app-oauth2

This is a sample application created with JHipster, with the OAuth2 option
TypeScript
52
star
37

jhipster-loaded

DEPRECATED - Java Agent used by JHipster to hot-reload Java classes
Java
51
star
38

jhipster-net-sample-app-template

JHipster.NET sample application
C#
50
star
39

jhipster-experimental-microservices

DON'T USE THIS - old experimental repository
Java
45
star
40

generator-jhipster-native

JavaScript
43
star
41

jhipster-sample-app-gradle

This is a sample application created with JHipster, with the Gradle option
TypeScript
43
star
42

generator-jhipster-module

DEPRECATED: use https://github.com/jhipster/generator-jhipster instead
EJS
43
star
43

jhipster-sample-app-dotnetcore

This is a sample .NET application created with the JHipster .NET blueprint
TypeScript
40
star
44

jhipster-oh-my-zsh-plugin

JHipster plugin for oh-my-zsh
Shell
39
star
45

jhipster-sample-app-elasticsearch

This is a sample application created with JHipster, using ElasticSearch
TypeScript
39
star
46

jhipster-sample-app-nodejs

This is a sample application created with NodeJS JHipster Official Blueprint (NHipster)
TypeScript
38
star
47

jhipster-sample-app-gateway

This is a sample application created with JHipster, with the Gateway type
TypeScript
37
star
48

generator-jhipster-blueprint

DEPRECATED: use https://github.com/jhipster/generator-jhipster instead
JavaScript
35
star
49

jhipster-app

The JHipster App lives in the menu bar, and helps running the most usual JHipster tasks
JavaScript
33
star
50

cn

中文官方版本, 由社区维护
JavaScript
30
star
51

consul-config-loader

A small docker based tool to load Spring Boot property files into Consul's K/V Store
Shell
29
star
52

jhipster-sample-app-quarkus

JHipster on Quarkus
TypeScript
28
star
53

chevrotain-java

A javascript based java parser based on chevrotain
JavaScript
28
star
54

jhipster-sample-app-mongodb

This is a sample application created with JHipster, with the MongoDB option
TypeScript
26
star
55

jhipster-sample-app-websocket

This is a sample application created with JHipster, with the Websocket option
TypeScript
26
star
56

devoxx-2016

Code developed live during Devoxx 2016: video is at https://www.youtube.com/watch?v=dzdjP3CPOCs and slides are at http://www.slideshare.net/julien.dubois/devoxx-being-productive-with-jhipster
Java
25
star
57

jhipster-sample-app-hazelcast

This is a sample application created with JHipster, with the Hazelcast option
TypeScript
24
star
58

jhipster-sample-app-micronaut

[WORK IN PROGRESS] JHipster on Micronaut
Java
23
star
59

jhipster-sample-app-token

DEPRECATED as JWT is now the default option - this is a sample application created with JHipster, with the JWT authentication option
Java
22
star
60

jhipster-sample-app-dto

This is a sample application created with JHipster, using DTOs
TypeScript
21
star
61

jhipster-go

GoHipster: A JHipster blueprint that will provide Golang as the server side language
JavaScript
21
star
62

jhipster-artwork

All artwork related to JHipster
19
star
63

jhipster-registry-sample-config

Sample Spring Cloud Config repository for the JHipster Registry
18
star
64

jhipster-dashboard

Hystrix dashboard for JHipster microservices architecture
Shell
16
star
65

jhipster-bot

Bot for creating JHipster applications
JavaScript
15
star
66

jhipster-sample-app-kotlin

This is a sample application created with JHipster, with the Kotlin blueprint
Kotlin
14
star
67

jhipster-docker-hub

docker-compose files using images from JHipster organization at Docker Hub
Shell
14
star
68

jhipster-ansible

Ansible role for managing releases
13
star
69

jhipster-sample-app-cassandra

This is a sample application created with JHipster, with the Cassandra option
TypeScript
13
star
70

jhipster-openid-connect

WORK IN PROGRESS - DO NOT USE YET - JHipster OpenID Connect server, based on CloudFoundry UAA
13
star
71

jhipster-operator

Java
12
star
72

generator-jhipster-docker-compose

DO NOT USE THIS REPO - it's now a sub-generator in the main generator-jhipster project
JavaScript
12
star
73

jhipster-sample-app-svelte

This is a sample application created with JHipster Svelte blueprint
Java
10
star
74

jhipster-lite-sample-app

This is a sample application created with JHipster Lite
Java
10
star
75

jhipster-automated-samples

Automatically generate the JHipster sample applications
Shell
10
star
76

jhipster-sample-app-nodejs-oauth2

This is a sample application created with NodeJS JHipster Official Blueprint (NHipster), with OAuth2 and the React option
TypeScript
9
star
77

jhipster-dependencies

DEPRECATED - Maven BOM for all JHipster projects
Shell
9
star
78

generator-jhipster-jooq

JHipster blueprint for jOOQ support
JavaScript
9
star
79

jhipster-fisher-plugin

A fisher plug-in for JHipster
Shell
8
star
80

jhipster-neo4j-app

Sample JHipster application forked to use Neo4J
Java
8
star
81

eslint-config-jhipster

JavaScript
8
star
82

jhipster-sample-app-ng1

DEPRECATED as AngularJS 1.X support is removed in JHipster 5 - This is a sample application created with JHipster, using AngularJS 1.x
Java
8
star
83

jhipster-net

Core library for JHipster.NET
C#
7
star
84

jhipster-dotnet

C#
7
star
85

jhipster-sample-app-java7

DEPRECATED as Java 7 is deprecated on JHipster
Java
7
star
86

jhipster-php

[work in progress] PHP implementation for JHipster
Java
7
star
87

hipslacker

A Slack bot for JHipster
Python
7
star
88

jhipster-ci-stack

DO NOT USE - UNDER DEVELOPMENT Official Docker continuous integration agent image
7
star
89

jhipster-sample-app-nocache

This is a sample application created with JHipster, without using a 2nd level cache
TypeScript
6
star
90

jhipster-lite-extension

JHipster Lite Sample Extension ⚡
Java
5
star
91

jhipster-registry-buildpack

A buildpack for the JHipster Registry
Shell
5
star
92

jhipster-sample-app-couchbase

This is a sample application created with JHipster, with the Couchbase option
TypeScript
4
star
93

jhipster-sample-app-blazor

Blazor front-end for JHipster .NET Core
C#
4
star
94

jhipster-code

Website for JHipster Code
JavaScript
4
star
95

jhipster-sample-app-noi18n

This is a sample application created with JHipster, without using i18n
TypeScript
4
star
96

documentation-archive

Archive for old JHipster documentation
HTML
3
star
97

jhipster-sample-app-golang

A sample application for go blueprint
3
star
98

jhipster-sample-app-nodejs-vuejs

This is a sample application created with NodeJS JHipster Official Blueprint (NHipster), with MongoDB and the Vue.js option
TypeScript
3
star
99

.github

Maintains all of the default policies for the JHipster organization
2
star
100

jhipster-sample-application

Java
2
star