Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ headlamp が 1 文字なのは、規則どおりだと head + lamp でも hubble
| [`k8up/`](apps/k8up/) | バックアップ(restic → Cloudflare R2)。**Talos でホストのスクリプトが使えなくなる**ぶんの受け皿 |
| [`infisical/`](apps/infisical/) [`infisical-operator/`](apps/infisical-operator/) [`infisical-push-bridge/`](apps/infisical-push-bridge/) | 秘密の配布。本体は `bootstrap/` にあり、ここには公開経路と operator と即時反映のブリッジ |
| [`headlamp/`](apps/headlamp/) | Kubernetes の Web UI(`h.doany.io`、Portainer の置き換え)。認証は Entra、権限は `bootstrap/apiserver/` |
| [`rybbit/`](apps/rybbit/) | Rybbit(`rb.doany.io`、アクセス解析。クッキー無し)+ ClickHouse + PostgreSQL + Redis。トドロクの離脱をファネル・ジャーニー・セッションリプレイで見る。**使い始めは [apps/rybbit/README.md](apps/rybbit/README.md)** |
| [`rybbit/`](apps/rybbit/) | Rybbit(`rt.doany.io`、アクセス解析。クッキー無し)+ ClickHouse + PostgreSQL + Redis。トドロクの離脱をファネル・ジャーニー・セッションリプレイで見る。**使い始めは [apps/rybbit/README.md](apps/rybbit/README.md)** |

**アプリの多くはこのリポジトリに無い。** 各アプリのリポジトリの `deploy/` に置いてあり、
`bootstrap/argocd/repos.yaml` の ApplicationSet が拾う(上の「仕組み」)。
Expand Down
8 changes: 4 additions & 4 deletions apps/rybbit/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Rybbit(rb.doany.io)
# Rybbit(rt.doany.io)

アクセス解析。Google Analytics の置き換えで、クッキーを使わない(同意バナーが要らない)。
トドロク(tk.doany.io)の LP から購入までのどこで離脱するかを、ファネル・ユーザージャーニー・
Expand All @@ -13,7 +13,7 @@
| [postgres.yaml](postgres.yaml) | ユーザー・サイト・設定。forgejo と同じ 17 系、`pg_dump` を k8up に |
| [redis.yaml](redis.yaml) | セッション追跡のカウンタ。PVC は持たない |
| [rybbit-secrets.yaml](rybbit-secrets.yaml) | Infisical `/rybbit/rybbit` の 4 キー → Secret `rybbit` |
| [httproute.yaml](httproute.yaml) | `rb.doany.io`。`/api` は backend、ほかは client。上流の Caddyfile にある `/.well-known/oauth-*`(MCP 向け)は使わないので置かない |
| [httproute.yaml](httproute.yaml) | `rt.doany.io`。`/api` は backend、ほかは client。上流の Caddyfile にある `/.well-known/oauth-*`(MCP 向け)は使わないので置かない |

バックアップは [../k8up/schedules.yaml](../k8up/schedules.yaml) の `rybbit`(ClickHouse の PVC をファイルとして、PostgreSQL は `pg_dump`)。

Expand All @@ -22,12 +22,12 @@
1. Infisical(il.doany.io)に フォルダ `/rybbit/rybbit` を作り、`clickhouse-password` / `postgres-password` /
`redis-password` / `better-auth-secret` を英数字のランダム(32 文字くらい)で入れる。
入れるまで Pod は `CreateContainerConfigError` で待つ(壊れてはいない)
2. <https://rb.doany.io> を開き、最初のアカウントを作る(これが管理者)
2. <https://rt.doany.io> を開き、最初のアカウントを作る(これが管理者)
3. **すぐに** [rybbit.yaml](rybbit.yaml) の `DISABLE_SIGNUP` と `NEXT_PUBLIC_DISABLE_SIGNUP` を `"true"` にして
PR を出す。false のままだと誰でもこのインスタンスにアカウントを作れる
4. 画面で「サイトを追加」→ `tk.doany.io`。出てくるサイト ID をトドロクの `PUBLIC_RYBBIT_SITE_ID`
(todoroku の `deploy/deployment.yaml`)に入れる。トドロクの root layout が
`https://rb.doany.io/api/script.js` を読み、購入完了と車両の登録をイベントで送る
`https://rt.doany.io/api/script.js` を読み、購入完了と車両の登録をイベントで送る
5. Rybbit のファネルに「LP → ログイン → 台帳 → 車両の登録 → 料金 → 購入」を作る

## 気にしておくこと
Expand Down
4 changes: 2 additions & 2 deletions apps/rybbit/httproute.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# /.well-known/openid-configuration(MCP クライアント向けの OAuth の案内。Rybbit が OAuth サーバになる側)も
# backend に流すが、MCP は使わないので置かない。Gateway API の PathPrefix は / 区切りの要素単位で、
# `/.well-known/oauth-` のような途中までの前方一致は書けない(要るなら Exact でフルパスを並べる)。
# 計測のスクリプトは https://rb.doany.io/api/script.js、イベントの送り先は /api/track。
# 計測のスクリプトは https://rt.doany.io/api/script.js、イベントの送り先は /api/track。
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
Expand All @@ -14,7 +14,7 @@ spec:
- name: doany
namespace: kube-system
sectionName: https
hostnames: ["rb.doany.io"]
hostnames: ["rt.doany.io"]
rules:
- matches:
- path:
Expand Down
6 changes: 3 additions & 3 deletions apps/rybbit/rybbit.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Rybbit 本体。rb.doany.io。backend(Fastify、/api)と client(Next.js、画面)の 2 つ。
# Rybbit 本体。rt.doany.io。backend(Fastify、/api)と client(Next.js、画面)の 2 つ。
# 版は GitHub のリリースに合わせて 2 つ同じタグで上げる(タグは v 付き。latest は追わない)。
#
# 環境変数は上流の docker-compose.yml の backend / client と同じ。DISABLE_SIGNUP は
Expand Down Expand Up @@ -67,7 +67,7 @@ spec:
- name: NODE_ENV
value: production
- name: BASE_URL
value: https://rb.doany.io
value: https://rt.doany.io
- name: CLICKHOUSE_HOST
value: http://clickhouse:8123
- name: CLICKHOUSE_DB
Expand Down Expand Up @@ -155,7 +155,7 @@ spec:
- name: NODE_ENV
value: production
- name: NEXT_PUBLIC_BACKEND_URL
value: https://rb.doany.io
value: https://rt.doany.io
- name: NEXT_PUBLIC_DISABLE_SIGNUP
value: "false"
readinessProbe:
Expand Down
Loading