Skip to content

English {#english}

Install prego_saas_app on the Control Plane (provisioner) Frappe/ERPNext site and configure provisioning, Stripe webhooks, and Usage submission. Prerequisites: Frappe v16 bench with ERPNext (and optionally HRMS/CRM). Steps: bench get-app prego_saas_app, bench install-app, set provisioner site name and env. Full details: see Korean section below.


한국어 {#korean}

prego-saas-app 프로비저너 사이트 설치

목적: Control Plane(프로비저너)용 Frappe/ERPNext 사이트에 prego_saas_app 앱을 설치하고, 프로비저닝·Stripe·Usage 제출이 동작하도록 최소 설정을 한다.

전제

  • Frappe v16 bench 환경이 있고, ERPNext(및 필요 시 HRMS·CRM)가 이미 설치된 사이트가 있음.
  • 해당 사이트를 프로비저너 사이트로 사용할 것(테넌트 생성 API, Stripe 웹훅, Usage → Stripe 제출 등).

1. 앱 설치

Terminal window
cd /path/to/bench
bench get-app https://github.com/Pregoi/prego-saas-app
bench --site <provisioner_site> install-app prego_saas_app
  • provisioner_site: 프로비저너로 쓸 사이트 이름(예: provision.prego.internal).

2. 프로비저너 사이트 지정

프로비저닝 API·Stripe 웹훅은 프로비저너 사이트에서만 허용된다. 해당 사이트의 site_config.json에 다음 중 하나로 프로비저너 목록을 둔다.

  • 단일 사이트: prego_provisioner_sites 없이 사용 시, 기본값 provision.prego.internal 이 프로비저너로 간주된다.
  • 여러 사이트: prego_provisioner_sites 를 JSON 배열로 설정.
Terminal window
bench --site <provisioner_site> set-config prego_provisioner_sites '["provision.prego.internal","backup.provisioner"]'

(실제로 프로비저너로 쓰는 사이트 이름만 넣으면 된다.)

3. (선택) 테넌트 생성 시 bench new-site

create_tenant API 호출 시 bench new-site까지 실행하려면, 프로비저너 사이트에서 다음을 설정한다.

Terminal window
bench --site <provisioner_site> set-config BENCH_DIR /path/to/bench
bench --site <provisioner_site> set-config MARIADB_ROOT_PASSWORD '...'
  • 보안: MARIADB_ROOT_PASSWORD 는 민감 정보이므로 환경 변수나 Secrets 관리에 맞게 처리 권장.

4. Stripe(Phase 6·8)

결제·구독·Usage 제출을 쓰려면 프로비저너 사이트에 Stripe 설정을 둔다.

Terminal window
bench --site <provisioner_site> set-config stripe_secret_key 'sk_...'
bench --site <provisioner_site> set-config stripe_webhook_secret 'whsec_...'
# Plan별 Price ID (또는 stripe_price_ids JSON)
bench --site <provisioner_site> set-config stripe_price_basic 'price_xxx'
bench --site <provisioner_site> set-config stripe_price_pro 'price_yyy'
bench --site <provisioner_site> set-config stripe_price_enterprise 'price_zzz'
  • 웹훅 URL: https://<provisioner_domain>/api/method/prego_saas_app.api.stripe_webhook.webhook
  • Usage 제출: 15분마다 스케줄러가 submit_usage_to_stripe() 를 실행한다. 모든 테넌트의 Prego Usage Aggregation을 볼 수 있는 사이트(보통 프로비저너)에서 스케줄러가 돌아야 한다.

5. 설치 후 확인

  • Workspace: 로그인 후 Prego Control Plane 워크스페이스가 보이는지 확인(Phase 7, after_install로 생성됨).
  • API:
    • Health: GET /api/method/prego_saas_app.api.health_check
    • 프로비저닝: POST /api/method/prego_saas_app.api.provisioning.create_tenant (프로비저너 사이트만).
  • Stripe: 체크아웃 세션 생성·웹훅 수신은 prego-saas-app README Phase 6 참고.

참고

Help