EN

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.zip

Installs 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.
126 charsno explicit “when” trigger
Advanced

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

You give it
Service management command
You get back
Service status, logs, or deployment confirmation

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:

  • SSH keys: Configured via GitHub secrets (see workflow)
  • 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

EnvironmentGateway (Cloudflare Worker)Text/Image Services (EC2)
Productionenter.pollinations.ai54.147.14.220 (ports 16384/16385)
Stagingstaging.enter.pollinations.ai44.222.254.250 (ports 16384/16385)

SSH Configuration

Add to ~/.ssh/config:

# Production instance
Host enter-services
  HostName 54.147.14.220
  User ubuntu
  IdentityFile ~/.ssh/enter-services-shared

# Staging instance
Host enter-services-staging
  HostName 44.222.254.250
  User ubuntu
  IdentityFile ~/.ssh/enter-services-staging

Quick Commands

Production

# Service status
ssh enter-services "sudo systemctl status text-pollinations.service image-pollinations.service"

# View logs (real-time)
ssh enter-services "sudo journalctl -u text-pollinations.service -f"
ssh enter-services "sudo journalctl -u image-pollinations.service -f"

# Restart services
ssh enter-services "sudo systemctl restart text-pollinations.service image-pollinations.service"

# Recent errors
ssh enter-services "sudo journalctl -u text-pollinations.service -p err -n 20"

Staging

# Service status
ssh enter-services-staging "sudo systemctl status text-pollinations.service image-pollinations.service"

# View logs
ssh enter-services-staging "sudo journalctl -u text-pollinations.service -f"

# Restart
ssh enter-services-staging "sudo systemctl restart text-pollinations.service image-pollinations.service"

Deploy to Production

The GitHub workflow handles production deployments automatically on push to production branch.

Manual deployment:

# 1. SSH into production
ssh enter-services

# 2. Pull and restart
cd /home/ubuntu/pollinations
git pull origin production
cd text.pollinations.ai && npm install
sudo systemctl restart text-pollinations.service

Deploy to Staging

Full Setup (New Instance)

# 1. SSH into the new instance
ssh enter-services-staging

# 2. Install build tools (if needed)
sudo apt-get update && sudo apt-get install -y build-essential

# 3. Clone repo
git clone https://github.com/pollinations/pollinations.git
cd pollinations

# 4. Run setup script
bash enter.pollinations.ai/scripts/setup-services.sh /home/ubuntu/pollinations

# 5. Restart the text service
ssh enter-services-staging "sudo systemctl restart text-pollinations.service"

Update Staging

ssh enter-services-staging "cd /home/ubuntu/pollinations && git pull && cd text.pollinations.ai && npm install && sudo systemctl restart text-pollinations.service"

Deploy Cloudflare Worker (enter.pollinations.ai)

cd enter.pollinations.ai

# Production
npm run deploy:production

# Staging
npm run deploy:staging

Service Locations (on EC2)

  • Service definitions: /etc/systemd/system/
  • Text service: /home/ubuntu/pollinations/text.pollinations.ai/

Wrangler Configuration

The wrangler.toml contains environment configs:

EnvironmentRouteService URLs
productionenter.pollinations.aiProduction EC2
stagingstaging.enter.pollinations.aiStaging EC2
locallocalhost:3000Local dev

Troubleshooting

Services won't start

# Check logs
ssh enter-services-staging "sudo journalctl -u text-pollinations.service -n 50"

# Check if .env exists
ssh enter-services-staging "ls -la /home/ubuntu/pollinations/text.pollinations.ai/.env"

# Check node/npm
ssh enter-services-staging "node -v && npm -v"

Missing dependencies

ssh enter-services-staging "cd /home/ubuntu/pollinations/text.pollinations.ai && npm install"

Need build tools

ssh enter-services-staging "sudo apt-get install -y build-essential"

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.


Notes

  • Production deploys on push to production branch
  • Staging deploys on push to staging branch
  • Always test on staging before merging to production
  • The Cloudflare Worker (enter.pollinations.ai) routes to EC2 services
  • Text service: port 16385, Image service: port 16384

When not to use it

  • Tasks outside the pollinations infrastructure scope

Prerequisites

SSH keys configured via GitHub secretssops installedWrangler installedNode.js installed

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.

SkillInstallsUpdatedSafetyDifficulty
enter-services (this skill)13moReviewAdvanced
deployment-pipeline-design62moReviewAdvanced
kubernetes-architect64moNo flagsAdvanced
ecs23moReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

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.

670

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.

636

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.

215

dstack

dstackai

dstack is an open-source control plane for GPU provisioning and orchestration across GPU clouds, Kubernetes, and on-prem clusters.

14

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".

01

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

00

Search skills

Search the agent skills registry