enter-services
This skill manages Pollinations AI infrastructure by checking service statuses, reviewing logs, and restarting services in production or staging.
Install
mkdir -p .claude/skills/enter-services && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/5889" && unzip -o skill.zip -d .claude/skills/enter-services && rm skill.zipInstalls to .claude/skills/enter-services
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Deploy and manage enter.pollinations.ai text/image services on EC2 and Cloudflare Workers. Requires: SSH keys, sops, wrangler.Key capabilities
- →Check status of text and image services on EC2
- →View real-time logs for production and staging services
- →Restart production or staging service instances
- →Deploy updates to Cloudflare Workers
- →Decrypt and manage environment variables
How it works
The skill executes SSH commands to interact with systemd services on EC2 instances and uses Wrangler to manage Cloudflare Worker deployments.
Inputs & outputs
When to use enter-services
- →Checking deployment service status
- →Viewing real-time logs for image/text services
- →Restarting production instances
- →Debugging service errors via journalctl
About this skill
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_STAGINGinenter.pollinations.ai/.testingtokens. If auth fails, runnpm run check-tokensinenter.pollinations.aibefore blaming the deploy; tokens expire without the file changing. - Agents are called by
owner/namemodel 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 itsoauth_sessionrow 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 shortexpires_inso the refresh fires, and return 200 from the refresh endpoint for every live account. apikeytable: inshared/db/better-auth.tsthe owner field isreferenceId, notuserId.row.userIdcompiles in loosely typed code and fails at runtime with a misleading "Unauthorized or invalid session" fromcreateApiKey. Runtscon new files touching this table before testing live.
Notes
- Production deploys on push to
productionbranch - Staging deploys via the
Deploy / Cloudflare stagingworkflow (manual dispatch), or per service withnpm run deploy:staging - Always test on staging before merging to production
enter.pollinations.aihandles auth/billing; generation requests are served by thegen.pollinations.aiWorker
When not to use it
- →Tasks outside the pollinations infrastructure scope
Prerequisites
Limitations
- →Must be run from the pollinations repository root
- →Requires specific SSH configuration and access
How it compares
It provides a centralized, command-based interface for managing distributed services instead of manual SSH and deployment steps.
Compared to similar skills
enter-services side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| enter-services (this skill) | 1 | 5mo | Review | Advanced |
| deployment-pipeline-design | 6 | 4mo | Review | Advanced |
| kubernetes-architect | 6 | 5mo | No flags | Advanced |
| ecs | 2 | 4mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by pollinations
View all by pollinations →You might also like
deployment-pipeline-design
wshobson
Design multi-stage CI/CD pipelines with approval gates, security checks, and deployment orchestration. Use when architecting deployment workflows, setting up continuous delivery, or implementing GitOps practices.
kubernetes-architect
sickn33
Expert Kubernetes architect specializing in cloud-native infrastructure, advanced GitOps workflows (ArgoCD/Flux), and enterprise container orchestration. Masters EKS/AKS/GKE, service mesh (Istio/Linkerd), progressive delivery, multi-tenancy, and platform engineering. Handles security, observability, cost optimization, and developer experience. Use PROACTIVELY for K8s architecture, GitOps implementation, or cloud-native platform design.
ecs
itsmostafa
AWS ECS container orchestration for running Docker containers. Use when deploying containerized applications, configuring task definitions, setting up services, managing clusters, or troubleshooting container issues.
dstack
dstackai
dstack is an open-source control plane for GPU provisioning and orchestration across GPU clouds, Kubernetes, and on-prem clusters.
exa-deploy-integration
jeremylongshore
Deploy Exa integrations to Vercel, Fly.io, and Cloud Run platforms. Use when deploying Exa-powered applications to production, configuring platform-specific secrets, or setting up deployment pipelines. Trigger with phrases like "deploy exa", "exa Vercel", "exa production deploy", "exa Cloud Run", "exa Fly.io".
ecs-runtime-debug-playbook
talolard
Debug AWS ECS or Fargate deployments where CI or workflow status does not match live behavior, especially when an old task definition keeps serving traffic, a new task exits during startup, health checks are false-green, Alembic or schema state may be inconsistent with physical tables, or AWS profil