mirror of https://github.com/grafana/grafana
Devenv: Add an oauth block (#51514)
* Devenv: Add an oauth block * Adding profile to responses Co-authored-by: Jguer <joao.guerreiro@grafana.com> Co-authored-by: Jguer <joao.guerreiro@grafana.com>pull/51623/head^2
parent
986b766ca0
commit
c9708e1813
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,9 @@ |
||||
#/bin/sh |
||||
|
||||
VERSION=12.0.1 # set version here |
||||
|
||||
cd /tmp |
||||
git clone git@github.com:keycloak/keycloak-containers.git |
||||
cd keycloak-containers/server |
||||
git checkout $VERSION |
||||
docker build -t "quay.io/keycloak/keycloak:${VERSION}" . |
||||
@ -0,0 +1,30 @@ |
||||
oauthkeycloakdb: |
||||
image: postgres:12.2 |
||||
container_name: oauthkeycloakdb |
||||
environment: |
||||
POSTGRES_DB: keycloak |
||||
POSTGRES_USER: keycloak |
||||
POSTGRES_PASSWORD: password |
||||
volumes: |
||||
- ./docker/blocks/oauth/cloak.sql:/docker-entrypoint-initdb.d/cloak.sql |
||||
restart: unless-stopped |
||||
|
||||
oauthkeycloak: |
||||
image: quay.io/keycloak/keycloak:12.0.1 |
||||
container_name: oauthkeycloak |
||||
environment: |
||||
DB_VENDOR: POSTGRES |
||||
DB_ADDR: oauthkeycloakdb |
||||
DB_DATABASE: keycloak |
||||
DB_USER: keycloak |
||||
DB_PASSWORD: password |
||||
KEYCLOAK_USER: admin |
||||
KEYCLOAK_PASSWORD: admin |
||||
PROXY_ADDRESS_FORWARDING: "true" |
||||
ports: |
||||
- 8087:8080 |
||||
depends_on: |
||||
- oauthkeycloakdb |
||||
links: |
||||
- "oauthkeycloakdb:oauthkeycloakdb" |
||||
restart: unless-stopped |
||||
@ -0,0 +1,65 @@ |
||||
# OAUTH BLOCK |
||||
|
||||
## Devenv setup |
||||
|
||||
To launch the block, use the oauth source. Ex: |
||||
```bash |
||||
make devenv sources="oauth" |
||||
``` |
||||
|
||||
Here is the conf you need to add to your configuration file (conf/custom.ini): |
||||
|
||||
```ini |
||||
[auth] |
||||
signout_redirect_url = http://localhost:8087/auth/realms/grafana/protocol/openid-connect/logout?redirect_uri=http%3A%2F%2Flocalhost%3A3000%2Flogin |
||||
|
||||
[auth.generic_oauth] |
||||
enabled = true |
||||
name = Keycloak-OAuth |
||||
allow_sign_up = true |
||||
client_id = grafana-oauth |
||||
client_secret = d17b9ea9-bcb1-43d2-b132-d339e55872a8 |
||||
empty_scopes = true |
||||
email_attribute_path = email |
||||
login_attribute_path = login |
||||
name_attribute_path = name |
||||
auth_url = http://localhost:8087/auth/realms/grafana/protocol/openid-connect/auth |
||||
token_url = http://localhost:8087/auth/realms/grafana/protocol/openid-connect/token |
||||
api_url = http://localhost:8087/auth/realms/grafana/protocol/openid-connect/userinfo |
||||
role_attribute_path = contains(roles[*], 'admin') && 'Admin' || contains(roles[*], 'editor') && 'Editor' || 'Viewer' |
||||
``` |
||||
|
||||
## Backing up keycloak DB |
||||
|
||||
In case you want to make changes to the devenv setup, you can dump keycloack's DB: |
||||
|
||||
```bash |
||||
cd devenv; |
||||
docker-compose exec -T oauthkeycloakdb bash -c "pg_dump -U keycloak keycloak" > docker/blocks/oauth/cloak.sql |
||||
``` |
||||
|
||||
## Connecting to keycloack: |
||||
|
||||
- keycloak admin: http://localhost:8087 |
||||
- keycloak admin login: admin:admin |
||||
- grafana oauth viewer login: oauth-viewer:grafana |
||||
- grafana oauth editor login: oauth-editor:grafana |
||||
- grafana oauth admin login: oauth-admin:grafana |
||||
|
||||
# Troubleshooting |
||||
|
||||
## Mac M1 Users |
||||
|
||||
The new arm64 architecture does not build for the latest docker image of keycloack. Refer to https://github.com/docker/for-mac/issues/5310 for the issue to see if it resolved. |
||||
Until then you need to build the docker image locally and then run `devenv`. |
||||
|
||||
1. Remove any lingering keycloack image |
||||
```sh |
||||
$ docker rmi $(docker images | grep 'keycloack') |
||||
``` |
||||
1. Build keycloack image locally |
||||
```sh |
||||
$ ./docker-build-keycloack-m1-image.sh |
||||
``` |
||||
1. Start from beginning of this readme |
||||
|
||||
Loading…
Reference in new issue