Agent Skillspollinations/pollinations › enter-services

enter-services

GitHub

用于部署和管理 enter.pollinations.ai Cloudflare Worker(认证网关与计费)。涵盖环境配置、Staging/Production 发布流程、Secrets 管理及 Token 轮换,依赖 sops 和 wrangler。

.claude/skills/enter-services/SKILL.md pollinations/pollinations

Trigger Scenarios

需要部署或更新 Cloudflare Worker 管理 Staging 或 Production 环境配置 执行 Secrets 轮换或检查

Install

npx skills add pollinations/pollinations --skill enter-services -g -y
More Options

Non-standard path

npx skills add https://github.com/pollinations/pollinations/tree/main/.claude/skills/enter-services -g -y

Use without installing

npx skills use pollinations/pollinations@enter-services

指定 Agent (Claude Code)

npx skills add pollinations/pollinations --skill enter-services -a claude-code -g -y

安装 repo 全部 skill

npx skills add pollinations/pollinations --all -g -y

预览 repo 内 skill

npx skills add pollinations/pollinations --list

SKILL.md

Frontmatter
{
    "name": "enter-services",
    "description": "Deploy and manage the enter.pollinations.ai Cloudflare Worker (auth gateway + billing). Requires: sops, wrangler."
}

Requirements

Before using this skill, ensure you have:

  • sops: brew install sops (for decrypting secrets)
  • Wrangler: npm install -g wrangler
  • Node.js: brew install node

Must run from the pollinations repo root.


Architecture Overview

Environment Gateway (Cloudflare Worker) Generation
Production enter.pollinations.ai gen.pollinations.ai Worker
Staging staging.enter.pollinations.ai staging.gen.pollinations.ai Worker

The former enter-services / enter-services-staging EC2 boxes (text-pollinations.service, image-pollinations.service) are decommissioned; text and image generation run inside the gen.pollinations.ai Worker. The Discord bots that lived on enter-services now run on the monitoring-agents EC2 box — see apps/discord-bot-family/README.md and operations/infrastructure/gpu/GPU_INSTANCES.md.


Deploy Cloudflare Worker (enter.pollinations.ai)

Production deploys only through GitHub Actions (Deploy / Cloudflare production, dispatched from the production branch) — never wrangler deploy --env production from a local machine. See AGENTS.md "Cloudflare Production Deployment Safety".

Staging deploys through the Deploy / Cloudflare staging workflow (workflow_dispatch: pick the branch and the service). It runs migrate:staging first, then deploy:staging. Tick push_secrets to also push secrets/staging.vars.json to the Workers; a new or changed value needs Secret Mutation Safety approval (AGENTS.md) before it is merged. The same npm scripts also work locally per service:

cd enter.pollinations.ai
npm run deploy:staging   # staging only

Check what a Worker has with wrangler secret list --env staging. Details: token-rotation.md.

Testing on Staging

  • Test token: ENTER_API_TOKEN_STAGING in enter.pollinations.ai/.testingtokens. If auth fails, run npm run check-tokens in enter.pollinations.ai before blaming the deploy; tokens expire without the file changing.
  • Agents are called by owner/name model id on staging, same as production.
  • Cheap read-only checks: wrangler d1 migrations list DB --remote --env staging, wrangler secret list --env staging, and the dispatch namespace list.

Wrangler Configuration

The wrangler.toml contains environment configs:

Environment Route Service URLs
production enter.pollinations.ai gen.pollinations.ai
staging staging.enter.pollinations.ai staging.gen.pollinations.ai
local localhost:3000 Local dev

Token Rotation

Internal trust-boundary tokens (PLN_ENTER_TOKEN, PLN_GPU_TOKEN, Tinybird tokens, SOPS recipients): see token-rotation.md for the inventory, rotation mechanisms, deploy path, and rollback.


OAuth Client Notes

Dated notes from building third-party OAuth clients against enter. Check current source before relying on them.

  • Open WebUI 0.11.x (2026-09): refreshes its token only within 5 minutes of expires_at, never in response to a 401 from a model call. A failed refresh deletes its oauth_session row but keeps the user logged in, so a failed refresh and a revoked API key look the same to the user (401 on the next model call). For self-healing: issue a short expires_in so the refresh fires, and return 200 from the refresh endpoint for every live account.
  • apikey table: in shared/db/better-auth.ts the owner field is referenceId, not userId. row.userId compiles in loosely typed code and fails at runtime with a misleading "Unauthorized or invalid session" from createApiKey. Run tsc on new files touching this table before testing live.

Notes

  • Production deploys on push to production branch
  • Staging deploys via the Deploy / Cloudflare staging workflow (manual dispatch), or per service with npm run deploy:staging
  • Always test on staging before merging to production
  • enter.pollinations.ai handles auth/billing; generation requests are served by the gen.pollinations.ai Worker

Version History

  • 55af554 Current 2026-09-22 18:00

    新增 Staging 部署工作流(含迁移和可选 Secret 推送)、生产环境 SOPS 密钥推送逻辑、check-tokens 脚本及 observability 工具;移除旧版 EC2 架构说明。

  • 3e1cabf 2026-09-09 11:59

    从 EC2 迁移至 Cloudflare Worker 架构;移除 SSH 配置,改为基于 Wrangler 的部署;生产环境强制使用 GitHub Actions 发布。

  • 8303332 2026-08-20 04:57

    移除了遗留的image backend root代码,并将GPU后端相关文档重构至operations目录下。

  • 99bce92 2026-07-25 10:38

Same Skill Collection

.claude/skills/abuse-detection/SKILL.md
.claude/skills/candidate-evaluation/SKILL.md
.claude/skills/code-formatting/SKILL.md
.claude/skills/community-leaderboard/SKILL.md
.claude/skills/economics-provider-collection/SKILL.md
.claude/skills/issue-maker/SKILL.md
.claude/skills/manage-vast-gpu-fleet/SKILL.md
.claude/skills/model-debugging/SKILL.md
.claude/skills/model-management/SKILL.md
.claude/skills/monitor-services/SKILL.md
.claude/skills/polli-video/SKILL.md
.claude/skills/polli/SKILL.md
.claude/skills/quest-solution-review/SKILL.md
.claude/skills/r2-glacier-migration/SKILL.md
.claude/skills/spending-analysis/SKILL.md
.claude/skills/sync-production/SKILL.md
.claude/skills/tinybird-deploy/SKILL.md
.claude/skills/voting-status/SKILL.md
.claude/skills/web-research/SKILL.md
apps/openclaw/skills/founder-meditation/SKILL.md
packages/polli-cli/SKILL.md

Metadata

Files
0
Version
55af554
Hash
cd4915b5
Indexed
2026-07-25 10:38

Accueil - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-09-23 07:19
浙ICP备14020137号-1