Skip to content
This repository was archived by the owner on Oct 5, 2026. It is now read-only.
This repository was archived by the owner on Oct 5, 2026. It is now read-only.

The service has no deployable Worker: compose the modules, add wrangler config and a deploy pipeline #41

Closed

Description

@ParallelEntrepreneur

Found while wiring the first consumer. Yoginini needs to sign people in (Yoginini/ios#8, yoginini-backend#3), so I went looking for the deployed service. auth.factory0.ventures does not resolve, and the reason is not a DNS record.

Context. This repository is five library crates: auth-core, auth-oidc, auth-passkeys, auth-meta, auth-client. There is no #[event(fetch)] anywhere in it, no wrangler.toml, and .github/workflows holds only ci.yml. Thirteen of the twenty two issues are merged and the login methods work in tests, but nothing composes them into a Worker, so there is no artifact to deploy and no environment to deploy it to.

Every consuming venture is blocked behind this, not behind any of the remaining login-method issues.

Proposed approach. The same shape as any other harness venture, because that is what this is:

  • A crates/auth-worker (or a root src/) that calls Harness::builder, mounts auth-core plus the login-method modules that are merged today, and exposes #[event(fetch)] and #[event(scheduled)] through factory0-runtime-cloudflare. Factory-Zero/venture-backend-template already has the layout; follow it rather than inventing one.
  • wrangler.toml with staging and production environments, a D1 binding per environment, the rate limit binding, and auth.factory0.ventures as the production route.
  • Migrations collected with fz migrations collect and committed.
  • deploy.yml: main to staging, a v* tag to production behind the approval gate, matching the template.
  • smoke.sh hitting /__health, /.well-known/openid-configuration and /.well-known/jwks.json against a deployed URL. The well-known routes need harness#46, which is merged.
  • A first client registered so a consumer can actually complete a flow end to end.

Owner-only steps (needs-human). wrangler d1 create for both databases, HARNESS_SECRET and the signing key material per environment, the auth.factory0.ventures route on the Kontinuum Cloudflare account, and the first production tag.

Acceptance criteria

  • wrangler dev serves the discovery document and JWKS locally
  • Staging deploys from main and smoke.sh passes against it
  • auth.factory0.ventures serves /.well-known/openid-configuration over TLS
  • One registered client completes authorization code plus PKCE against staging
  • The README's status badge stops saying SPIKES

Out of scope. The login methods still open (#16 through #21). Whatever is merged when this ships is what ships; the rest mount later without redeploying the consumers.

Estimate. Medium

References. #1, #25 (git pins to crates.io), harness#46, Yoginini/ios#8, Yoginini/yoginini-backend#3

Activity

  1. ParallelEntrepreneur commented on Sep 8, 2026

    @ParallelEntrepreneur
    ContributorAuthor

    The deployable Worker landed in #46 (merged, CI green incl. the workspace wasm build + conformance kit): crates/auth-worker composes auth-core + oidc + passkeys + magic-link + password + meta into one harness venture with #[event(fetch)]/scheduled over cratefield-runtime-cloudflare; wrangler.toml (staging + auth.factory0.ventures production), .github/workflows/deploy.yml (main→staging, v*→prod behind the approval gate, applying D1 migrations + smoke), and smoke.sh (/__health + discovery + JWKS).

    Remaining — owner-only (needs-human):

    • wrangler d1 create factory0-auth-staging / -production, paste the ids into wrangler.toml.
    • Secrets per env: HARNESS_SECRET (+ HARNESS_SECRET_PREVIOUS on rotation), RESEND_API_KEY; and CLOUDFLARE_API_TOKEN/CLOUDFLARE_ACCOUNT_ID repo secrets + AUTH_STAGING_URL var for the workflow.
    • Run fz migrations collect and commit migrations/ (needs the fz CLI).
    • Add the auth.factory0.ventures custom domain on the Kontinuum account.
    • Cut the first v* tag.

    Then the four live acceptance boxes (wrangler dev discovery/JWKS, staging smoke, TLS discovery, a client completing code+PKCE) can be checked, and the Cratefield control plane can switch to the proper relay path (option B), retiring the console's direct-Google deviation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    authshared authentication serviceneeds-humanrequires an action only the owner can take

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions