Skip to content

Rebrand ServerMe → Deployzy + tokenless release CI/CD - #1

Merged
jams24 merged 1 commit into
mainfrom
rebrand-deployzy
Jul 1, 2026
Merged

Rebrand ServerMe → Deployzy + tokenless release CI/CD#1
jams24 merged 1 commit into
mainfrom
rebrand-deployzy

Conversation

@jams24

@jams24 jams24 commented Jul 1, 2026

Copy link
Copy Markdown
Owner

Summary

Full rebrand ServerMe → Deployzy plus a complete tokenless (OIDC) release pipeline.

  • Domain: serverme.site → deployzy.com (dashboard, API, project subdomains) + protocol headers X-Deployzy-*
  • Packages: npm deployzy (CLI) + deployzy-sdk (JS SDK); pip deployzy (Python SDK)
  • Repo/URLs → jams24/deployzy; goreleaser targets deployzy
  • CI/CD (.github/workflows/release.yml): on v* tags → GitHub release binaries (goreleaser) + npm SDK + npm CLI + PyPI, all via OIDC trusted publishing (no stored tokens)
  • CLI wrapper self-versions from package.json; installer hardened (retry + timeout + Windows zip fix)
  • Also bundles this session's features: referrals, webhooks, scoped API keys, multi-service, image/upload deploys
  • Untrack 18MB build binary; ignore .claude/ + build artifacts

⚠️ One-time OIDC setup (before first CI release)

  • npm: on both deployzy and deployzy-sdk → Settings → Trusted Publisher → GitHub Actions → repo jams24/deployzy, workflow release.yml
  • PyPI: project deployzy → Publishing → add GitHub publisher → owner jams24, repo deployzy, workflow release.yml

Release flow after merge

Bump versions in sdk-js/package.json, npm-package/package.json, sdk-python/pyproject.toml → commit → git tag vX.Y.Z && git push origin main --tags. Use v1.1.2+ (v1.1.0/1.1.1 already published; a v1.1.0 release already exists).

- domain serverme.site → deployzy.com; brand + protocol headers (X-Deployzy-*)
- npm: deployzy (CLI) + deployzy-sdk; pip: deployzy; repo → jams24/deployzy
- OIDC release workflow: goreleaser + npm + PyPI on v* tags
- CLI wrapper self-versions from package.json; installer retries + fixes
- session features: referrals, webhooks, scoped API keys, multi-service, image/upload deploys
- untrack build binary; ignore .claude/, build artifacts
@jams24
jams24 merged commit 875f790 into main Jul 1, 2026
2 checks passed
jams24 added a commit that referenced this pull request Aug 31, 2026
#1 Force sleep/wake (admin/ops, observe on demand):
- engine.ForceSleep/ForceWake (platform-local only, bypass eligibility)
- admin POST /projects/{id}/sleep|wake; 'Sleep' (moon) button on admin Projects
  rows, 'Wake' button on the Density 'Currently sleeping' list
- verified live: force-sleep -> container exited/sleeping; request wakes + clears

#2 Reclaim never-visited free apps (carefully):
- eligibility now also includes free/local/non-admin apps with NULL
  last_request_at that were deployed >24h ago, flagged never_visited
- the sweeper HTTP-probes those before sleeping: any HTTP response = real web
  server (safe to sleep, wakes on request); a connection error = worker/bot with
  no HTTP listener -> left running. This probe is the worker/bot protection.
- audit-logged; per-project sleep_enabled=false still opts out

Residual risk (documented): a background worker that ALSO exposes an HTTP health
page would pass the probe and be slept, then not self-wake. Mitigated by 24h
grace + opt-out; the zero-risk path is manual force-sleep (#1).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant