2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

re:dashのREDASH_MULTI_ORG機能の適用方法とデバッグ方法

Posted at

REDASH_MULTI_ORGを利用する

概要

  • redashで複数組織を管理したい場合(互いにダッシュボードを見れないように管理したい場合)REDASH_MULTI_ORG機能を利用する必要がある。
  • groupsは組織内でユーザ権限を分けることはできるが、組織単位で制御ができない。
  • 今回はdocker-imageから引っ張って来たre:dashで検証
  • REDASH_MULTI_ORGはドキュメントが少ないので、手順とデバッグの方法を記載する。

REDASH_MULTI_ORGの適用手順

  1. envにREDASH_MULTI_ORG=trueを追加する。
  2. docker-compose downで一度コンテナを削除する
  3. docker-compose up -d でコンテナを再生成する ←この時にenvが適用されるようでrestartだと適用されない模様
  4. http://{URL}/loginhttp://{URL}/default/loginでアクセスする
    organizationsテーブルの slugがpathに適用されるため、デフォが defaultになる。(←ここが分からずハマった。。)
  5. organizationsテーブルに
    insert into organizations (updated_at,created_at,name,slug,settings) values (now(),now(),'Test','test_org','{}');のように新しい組織を突っ込む
  6. 5で突っ込んだ組織のidで update users set org_id={5で追加したorg_id} where id={user_id};ユーザを更新する。
  7. http://{URL}/test/loginで新しい組織でアクセス可能になる。

デバッグ方法

  • docker exec -it -u root redash_server_1 bashでappコンテナに入る
  • apt update; apt install vimでとりあえずvimを入れる
  • 〜.pyを編集し、printなどを仕込む。編集したファイルと同名の 〜.pycを削除する
  • pythonimport py_compilepy_compile.compile('〜.pyc')でコンパイルし直す。
  • chown redash.redash 〜.pyc
  • コンテナからexitし、docker restart redash_server_1でコンテナをrestartする。
  • docker logs -f redash_server_1でログを出力する
  • http://{URL}/defaultなどでアクセスしてログを確認する。

まとめ

OSSのコード真面目に読んでデバッグしたことがあまりなかったので勉強になりました。
REDASH_MULTI_ORGの詳細な利用方法など、redashのドキュメントが充実していない仕様があるようなので、躓きポイントは記事などに落とし、シェアできると幸せになれる気がしました!
(↑我流でやったので良法があればコメントくださいmm)

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?