TT Lab
ブログ

한국어 English 日本語 中文

はじめる
ブログ

ブログ

Grafanaの管理者パスワードは初回起動時にのみ読み込まれる:Grafana HelmチャートのREADMEのPRがわずか26分でマージされるまで

結果:マージ(2026-10-17 01:16、 grafana-community/helm-charts#896)、チャート grafana 14.0.1 としてリリース。 実際はGitHubのPR・チェック・リリース履歴、チャートのソース(PRのベースコミット 71c86de1)、Grafana公式ドキュメント、TT Labリポジトリのコミット履歴から 取得しました。時刻は韓国時間です。

目次

一言まとめ

PR grafana-community/helm-charts#896 [grafana] Document that the admin password is only applied on first start
変更点 チャートのREADMEに「Admin user and password」の節33行、チャートバージョン 14.0.0 → 14.0.1
反応 ボットのレビューなし。チェック14個通過、メンテナーによる「Thanks!」と承認
結果 PR公開 10-17 00:50 → マージ 01:16(26分)、28秒後に grafana-14.0.1 リリース
관리자 비밀번호는 첫 기동에만 읽힌다 Grafana 13.2.0, 재시작해도 남는 sqlite 데이터 디렉터리 ① 첫 기동(빈 DB) Secret: pw-one 관리자 생성: pw-one pw-one 200 pw-two 401 ② Secret 을 pw-two 로 바꾸고 재시작 Secret: pw-two DB 그대로: pw-one pw-one 200 pw-two 401 사이드카도 pw-two 로 부른다 → 401(템플릿 기준) ③ grafana cli 로 DB 를 먼저 바꿈 reset-admin-password DB: pw-two pw-one 401 pw-two 200 그다음 Secret 을 같은 값으로 오른쪽: GET /api/user 응답 코드(실측). 사이드카는 미실측 값을 비워 두면 차트가 무작위 값을 만들고 lookup 으로 지킨다 helm template 렌더(Argo CD 등)에서는 렌더마다 새 값
図:初回起動時にのみ読み込まれる管理者パスワードとSecretが食い違う瞬間

1. 何が問題だったのか:私たちが経験した症状

TT LabクラスターのGrafanaは kube-prometheus-stack チャットについてきたGrafanaチャートで稼働しています。2026-09-24、管理者パスワードを値ファイルから 削除し、 admin.existingSecret でSecretを参照するように変更した際、パスワードを変更する手順を記載する必要がありました。

ここで引っかかりました。Secretのみを新しい値に変更するとGrafanaは再起動しますが、 ログインは古いパスワードでしかできません。 そしてダッシュボードやデータ ソースを再読み込みさせるサイドカーはSecretの新しい値でGrafanaを呼び出すため、認証に失敗することになります(チャートテンプレート基準)。そのため手順に「Grafana内のパスワードを grafana cli で先に変更する」というステップを追加しました。

同じ経験をした人が多くいました。チャートが移行される前の旧リポジトリに同様の報告が複数あり(grafana/helm-charts#152、#3568、#3790)、 新しいリポジトリのREADMEにはこの話がまだ載っていませんでした。

2. 原因:ドキュメントとテンプレートのどの行か

チャートの行番号はPRのベースコミット 71c86de1 基準です。

直接測定した内容

PRを作成する前にドキュメントの文章だけに頼らず測定しました。TT Labクラスターにすでに取得してあった Grafana 13.2.0 イメージで一時的なPodを1つ起動し、 再起動しても残るsqliteデータディレクトリ上で GET /api/user のレスポンスコードを確認しました。

ステップ pw-one pw-two
初回起動、環境変数 pw-one 200 401
同じデータで再起動、環境変数 pw-two 200 401
README に追加する grafana cli … reset-admin-password --password-from-stdin として pw-two 401 200

3. 変更内容: diff の要点

チャートの README の既存セクションの間に「Admin user and password」セクションを追加し、リポジトリのルールに従ってドキュメントの変更だけでもチャートのバージョンを上げました。

-version: 14.0.0
+version: 14.0.1
+## Admin user and password
+...
+Grafana reads these variables only when it creates the admin user, that is on the first
+start with an empty database. When the database survives pod restarts ...
+- Changing `adminPassword`, or the password in `admin.existingSecret`, and running
+  `helm upgrade` restarts the pod but does not change the password stored in the database.
+- The sidecars ... call the Grafana reload API with the user and password from the same
+  Secret. Once the Secret and the database disagree, these calls fail with `401 Unauthorized`.
+- When neither `adminPassword` nor `admin.existingSecret` is set, ... `lookup` ...
+To rotate the password of a running installation, change it in Grafana first and then
+update the Secret (or `adminPassword`) to the same value:

パスワードを変更するコマンドは、値がシェル履歴やプロセス引数に残らないように標準入力で渡す形式(--password-from-stdin)で記述しました。 PR 本文には、何をなぜ変更するのか、上記の計測結果、旧リポジトリのイシューへのリンク、「ドキュメントの変更のみのため helm-unittest は追加していない」という説明を書き、 テンプレートのチェックリスト(DCO 署名、チャートのバージョンアップ、タイトルの [grafana] プレフィックス)をすべて埋めました。本文の最後には、AI の助けを借りて作成し、自身で 確認したという一文を入れました。

4. 反応: 26分

時刻(10-17) 日
00:35 コミット(DCO 署名・SSH 署名)
00:50 PR 公開
00:50 ~ チェック: チャートテスト、生成ファイル、タイトル、DCO、統合テスト9件、Super Linter — 14件すべて合格
01:14 メンテナーのコメント「Thanks!」
01:16 承認、5秒後にマージ
01:16 マージの28秒後に grafana-14.0.1 リリース

SeaweedFS の時とは異なりレビューボットはおらず、メンテナーの言葉も一言だけでした。修正すべき点がなかったということです。こちらで個別に対応すべき事項はありませんでした。

5. 学んだこと: オープンソースへの貢献のコツ

TT の一言。 パスワードは最初に一度だけ覚えるタイプの友達です。Secret を変更しても記憶はそのままなので、まず友達に直接新しいパスワードを教えてから Secret を変更しなければなりません。それをドキュメントに書いたら、26分で「ありがとう!」が返ってきました。

リンク

すべての資料は 2026-10-17 に閲覧しました。

ログインするといいねできます

コメント

まだコメントはありません。

ログインするとコメントできます