Consul Service Deregister

v1.0.4

Consul service deregistration tool. Triggered when users mention Consul deregister, remove service instance, service removal, or offline. Supports batch dere...

0· 90·1 current·1 all-time
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
The name/description match the included Python script and SKILL.md. The script implements Deregister via Consul's /v1/agent/service/deregister endpoint and supports the documented modes (service-id + agents, parse curl, agents file, dry-run, ACL token, parallel execution). Nothing requested or installed is unrelated to Consul deregistration.
Instruction Scope
Instructions explicitly tell the agent to run the bundled Python script and describe reading an agents file or parsing curl text — all within the scope of deregistration. Minor caveat: example commands reference a user-specific absolute path (/Users/shiheng/.qclaw/...), which may not match the runtime environment; the agent should run the skill's script from the correct workspace path. The skill will also accept arbitrary agent addresses and ACL tokens and will send HTTP requests to them (expected but potentially destructive if used incorrectly).
Install Mechanism
No install spec or external downloads — instruction-only with a small included script. There are no external packages or network-based installers to review.
Credentials
No required environment variables or declared credentials. The script accepts an optional --token argument for Consul ACL tokens (documented). The requested inputs are proportional to the stated function — no unrelated secrets or services are requested.
Persistence & Privilege
Skill is not always-enabled and does not request persistent or elevated platform privileges. It does not modify other skills or system-wide settings.
Assessment
This skill appears coherent and implements Consul service deregistration as described, but deregistration is a destructive operation. Before using it: (1) run with --dry-run to verify target URLs and service IDs; (2) double-check the list of agents (agents file or pasted curl commands) to avoid accidental broad impact; (3) never paste production ACL tokens into untrusted contexts — provide tokens only when necessary and prefer short-lived tokens scoped to deregistration if your environment supports them; (4) be aware the script will send PUT requests to arbitrary host:port addresses you supply, so confirm network targets are correct; (5) if you want extra assurance, review or run the included scripts/deregister.py locally in a test environment before using in production.

Like a lobster shell, security has layers — review code before you run it.

latestvk97fje25veghcznp7h5dk7e90n83pyda
90downloads
0stars
5versions
Updated 3w ago
v1.0.4
MIT-0

Consul Service Deregister

Deregister service instances from Consul via the HTTP API.

Usage

Mode 1: Service ID + Agent List (Most Common)

User: Deregister service my-service-id on consul-agent-1, consul-agent-2, and consul-agent-3

AI executes:

python3 /Users/shiheng/.qclaw/workspace/skills/consul-deregister/scripts/deregister.py \
  --service-id my-service-id \
  --agents http://<CONSUL_HOST_1>:8500 http://<CONSUL_HOST_2>:8500 http://<CONSUL_HOST_3>:8500

Mode 2: Paste Raw curl Commands (Easiest)

User pastes existing curl commands, AI parses and replays them:

User: Execute these deregister commands:
      curl -XPUT http://<CONSUL_HOST_1>:8500/v1/agent/service/deregister/<SERVICE_ID>
      curl -XPUT http://<CONSUL_HOST_2>:8500/v1/agent/service/deregister/<SERVICE_ID>

AI executes:

python3 /Users/shiheng/.qclaw/workspace/skills/consul-deregister/scripts/deregister.py \
  --from-curl "curl -XPUT http://<CONSUL_HOST>:8500/v1/agent/service/deregister/<SERVICE_ID> ..."

Mode 3: Read Agent List from File

python3 /Users/shiheng/.qclaw/workspace/skills/consul-deregister/scripts/deregister.py \
  --service-id my-service-id \
  --agents-file ./agents.txt

agents.txt format (supports # comments):

# Consul Agent node list
<CONSUL_HOST_1>:8500
<CONSUL_HOST_2>:8500
<CONSUL_HOST_3>:8500

Dry-Run Preview

Add --dry-run to any mode to preview the requests without actually sending them:

python3 /Users/shiheng/.qclaw/workspace/skills/consul-deregister/scripts/deregister.py \
  --service-id my-service-id \
  --agents http://<CONSUL_HOST_1>:8500 http://<CONSUL_HOST_2>:8500 \
  --dry-run

With ACL Token

python3 /Users/shiheng/.qclaw/workspace/skills/consul-deregister/scripts/deregister.py \
  --service-id my-service-id \
  --agents http://<CONSUL_HOST>:8500 \
  --token your-consul-acl-token

Common Workflows

Scenario 1: Batch Deregister Gray Nodes User provides a service ID and multiple IP:port pairs.

Scenario 2: Release Rollback User triggers rollback; AI finds the old version's service ID from config/docs and deregisters.

Scenario 3: Service Migration Moving a service from old cluster to new cluster — deregister from all old cluster nodes first.

Notes

  • service-id must exactly match the ID registered in Consul (no extra spaces)
  • Agent addresses accept both host:port and full URL (http://host:port) — auto-completed
  • Parallel requests by default (up to 10 concurrent), automatic speedup for many nodes
  • Non-zero exit code on any failure; AI will surface failure details
  • Use --json for JSON output suitable for scripting / pipeline integration

Comments

Loading comments...