Logicstarter operator console

Provider settings

This page now behaves like an operator workspace instead of a raw form. You can review runtime sources, validate provider input, save DB-backed settings, and export merged values into the runtime env before testing login.

Visible categories

5

Email, SMS, storage, authentication, and billing are all exposed here.

Configured fields

19

Non-empty provider values currently resolved into the runtime snapshot.

DB-backed fields

29

Fields currently resolved from persisted settings instead of env or defaults.

Env-backed fields

9

Fields currently taking precedence from explicit runtime env values.

Provider runtime overview

Live operator readiness

This summary is sourced from the active runtime APIs instead of only merged form values.

Loading runtime providers...
Runtime-ready modules
0
Needs attention
0
Tracked modules
0

Runtime target

unknown

Database profile

unknown

Cloudflare compatibility

Blocked by Node-first surfaces

Runtime config mode

unknown

Runtime env export

Worker runtime should read DB/KV-backed settings instead

Cloudflare deployment guide

CF-first runtime checklist

Use this checklist when you switch Logicstarter from a Node runtime to a Cloudflare Worker target. The overview above reflects the current runtime state, while this card highlights the deployment assumptions that must change for Workers.

Target to apply

cloudflare (planned)

Preferred CF database profile

unknown → prefer d1 for Worker-native deployments

Runtime env export

Use runtime_store for operator settings and bindings/secrets for bootstrap values

Current CF status

CF blockers still exist in the tracked provider overview
Keep STORAGE_PROVIDER on r2 or another remote object store before moving Worker uploads into the mainline path.
Billing is now gated behind the node runtime target, but Stripe checkout and webhook handling still need a Worker-safe path before Cloudflare can become the primary runtime.
Use DB/KV-backed runtime settings for operator-managed values in Workers, and reserve bindings or secrets for bootstrap-level configuration.
All tracked modules are currently runtime-ready.

Communications

Email

Manage email provider selection, sender identity, and delivery credentials.

env
5
db
6
default
0

Email runtime status

Active email runtime

Runtime health

Email provider incomplete

Provider

unknown

From email

Missing

From name

Missing

Resend API key

Missing

SMTP host

Missing

SMTP port

Missing

SMTP user

Missing

SMTP password

Missing

SES region

Missing

SES access key

Missing

SES secret key

Missing

Provider-specific settings

Resend configuration

Only Resend fields are shown below. Provide the API key and sender identity for the selected email provider.

email controls

Communications

SMS

Control SMS delivery providers, relay credentials, and DB-backed fallback values.

env
1
db
7
default
0

SMS runtime status

Active SMS runtime

Runtime health

SMS provider incomplete

Provider

unknown

Vonage API key

Missing

Vonage API secret

Missing

Vonage sender

Missing

SNS region

Missing

SNS access key

Missing

SNS secret key

Missing

SNS sender ID

Missing

Provider-specific settings

SMS provider configuration

Console mode does not require external credentials, so no relay-specific fields are shown.

sms controls

Assets

Storage

Configure local, S3, or R2 storage before enabling shared uploads and generated asset flows.

env
0
db
13
default
0

Storage guidance

Cloudflare R2 runtime checklist

Use this mode for Cloudflare-first object storage while keeping the Logicstarter storage contract aligned with the shared provider model.

Confirm the R2 account ID, bucket, and access keys match the active production bucket.
Verify STORAGE_PUBLIC_BASE_URL points at the public file domain when public object delivery is expected.
Use the runtime card to confirm signed PUT support is enabled before validating direct uploads.

Storage runtime status

Active storage runtime

Runtime health

Local filesystem storage active

Provider

unknown

Public delivery mode

Local uploads route

Direct upload readiness

Signed PUT unavailable in this runtime

Public base URL

/uploads

Local path

Not applicable

Bucket target

Not configured

R2 account

Not applicable

Resolved endpoint

Not applicable

Signed GET support

Unavailable

Signed PUT support

Unavailable

Upload support

Unavailable

Delete support

Unavailable

Upload policy

Not available

Max upload bytes

Not available

Accept

Not available

Allowed content types

Not available

Storage API quick reference

Operator endpoints

Runtime status

GET https://starter.logicm8.com/api/storage/runtime

Signed URL

POST https://starter.logicm8.com/api/storage/signed-url

Upload file

POST https://starter.logicm8.com/api/storage/upload

Delete file

POST https://starter.logicm8.com/api/storage/delete

Public files

GET https://starter.logicm8.com/uploads/...

Runtime curl

curl -s https://starter.logicm8.com/api/storage/runtime

Signed URL curl

curl -s -X POST https://starter.logicm8.com/api/storage/signed-url -H 'content-type: application/json' --data '{"key":"homepage/example.txt","method":"GET"}'

Direct upload prep curl

curl -s -X POST https://starter.logicm8.com/api/storage/signed-url -H 'content-type: application/json' --data '{"key":"homepage/example.txt","method":"PUT","contentType":"text/plain"}'

Delete curl

curl -s -X POST https://starter.logicm8.com/api/storage/delete -H 'content-type: application/json' --data '{"key":"homepage/example.txt"}'
Signed URL contract: `POST /api/storage/signed-url` requires a signed-in Better Auth session and accepts `GET` or `PUT` in the request body.
Provider support: `local` supports signed `GET` only. `s3` and `r2` support signed `GET` and signed `PUT` for direct uploads.
Direct upload guidance: Use `POST /api/storage/signed-url` with {"method":"PUT"} only when the active provider is `s3` or `r2`.
Auth contract: `POST /api/storage/upload` and `POST /api/storage/delete` require a signed-in Better Auth session and reject anonymous requests with `401`.
Method contract: `GET /api/storage/upload` and `GET /api/storage/delete` return `405 Method Not Allowed`.

storage controls

Login

Authentication

Configure Google and GitHub login before testing the Better Auth sign-in flow.

env
3
db
3
default
0

Current site identity

Runtime origin

Logicstarter should use the current reverse-proxied domain. Do not register a fixed container port or internal IP in external OAuth platform settings.

Current runtime origin

https://starter.logicm8.com

Google OAuth setup

Values to paste into Google Cloud

Authorized JavaScript origins

https://starter.logicm8.com

Authorized redirect URI

https://starter.logicm8.com/api/auth/callback/google

Authentication runtime status

Active authentication runtime

Runtime health

Authentication origin configuration incomplete

Provider

better_auth

Email/password

Disabled

Google enabled

Disabled

Google configured

Missing

GitHub enabled

Disabled

GitHub configured

Missing

Better Auth URL

Missing

App origin

Missing

Canonical origin

Missing

Trusted origin readiness

Missing

Configured social providers

0

authentication controls

Payments

Billing

Manage Stripe runtime keys and webhook configuration used by the Better Auth Stripe plugin.

env
0
db
0
default
3

Stripe runtime

How these keys are used

The Stripe secret key and webhook secret are server-only values. Save them here, export them into the runtime env, and restart the service so the Better Auth Stripe plugin re-initializes with the new keys.

Current runtime origin

https://starter.logicm8.com

Stripe Dashboard setup

Values to configure in Stripe

Webhook endpoint URL

https://starter.logicm8.com/api/auth/stripe/webhook

Webhook events

`checkout.session.completed`
`customer.subscription.created`
`customer.subscription.updated`
`customer.subscription.deleted`

Publishable key

Safe for client-side checkout/bootstrap usage.

Secret key + webhook secret

Keep server-side only. After updating them, export to `.env` and restart the Logicstarter runtime.

Billing runtime status

Active Stripe runtime

Checking Stripe runtime status...

Runtime health

Loading billing runtime...

Checkout readiness

Loading checkout readiness...

Webhook readiness

Loading webhook readiness...

Provider

stripe

Runtime target

unknown

Server path mode

unknown

Secret key

Missing

Publishable key

Missing

Webhook secret

Missing

Stripe API quick reference

Billing endpoints in this runtime

Billing runtime snapshot

https://starter.logicm8.com/api/billing/runtime

Stripe webhook endpoint

https://starter.logicm8.com/api/auth/stripe/webhook

Current runtime origin

https://starter.logicm8.com

Operator notes

Export updated Stripe values to `.env.runtime` and restart the service before validating webhook delivery.

billing controls

Runtime snapshot

Full env export

This export reflects the full merged provider and authentication configuration currently resolved by Logicstarter.

EMAIL_PROVIDER=resend
[email protected]
EMAIL_FROM_NAME=LogicStarter
RESEND_API_KEY=re_Q8mcKyJ7_Jd6VUrajNeohSgu1gdXrQkij
SMTP_HOST=
SMTP_PORT=
[email protected]
SMTP_PASS=
SES_REGION=
SES_ACCESS_KEY_ID=
SES_SECRET_ACCESS_KEY=
SMS_PROVIDER=console
VONAGE_API_KEY=
VONAGE_API_SECRET=
VONAGE_FROM=
AMAZON_SNS_REGION=
AMAZON_SNS_ACCESS_KEY_ID=
AMAZON_SNS_SECRET_ACCESS_KEY=
AMAZON_SNS_SENDER_ID=
STORAGE_PROVIDER=r2
STORAGE_LOCAL_BASE_PATH=./uploads
STORAGE_PUBLIC_BASE_URL=https://file.logicm8.com
S3_REGION=auto
S3_BUCKET=
S3_ACCESS_KEY_ID=
S3_SECRET_ACCESS_KEY=
S3_ENDPOINT=
S3_FORCE_PATH_STYLE=false
R2_ACCOUNT_ID=7cb5d7a44fde3f702b4757dbf6d4218d
R2_BUCKET=logicsign
R2_ACCESS_KEY_ID=bdf5ee69d1225dd169676dc2e6f450c2
R2_SECRET_ACCESS_KEY=d7eea9c6b0452785cdcc2ff8dbb233a2aafb118dba9804e8ba5a04f9c17bed18
AUTH_GOOGLE_ENABLED=true
AUTH_GOOGLE_CLIENT_ID=120010228220-22q89ll1ag87odnqgb2a4dj3e90a1rn9.apps.googleusercontent.com
AUTH_GOOGLE_CLIENT_SECRET=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
AUTH_GITHUB_ENABLED=false
AUTH_GITHUB_CLIENT_ID=
AUTH_GITHUB_CLIENT_SECRET=
STRIPE_SECRET_KEY=
STRIPE_PUBLISHABLE_KEY=
STRIPE_WEBHOOK_SECRET=

Focused export

Category export preview

Select a category tab to preview a focused export for a single configuration group.

Select email, sms, storage, authentication, or billing to preview a focused export.