MCPInstall

newt blueprint generator

Generate and validate Pangolin Newt blueprint configurations in YAML or Docker Labels format. Use when creating Pangolin resource configurations, proxy resources, client resources, authentication settings, or Docker Compose blueprints.

Installs
290
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/rknall/claude-skills --skill newt-blueprint-generator
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads newt blueprint generator automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Newt Blueprint Generator

Expert assistance for creating, validating, and managing Pangolin Newt blueprint configurations.

When to Use This Skill

This skill should be triggered when:

  • Creating Pangolin blueprint configurations
  • Generating YAML configuration files for Newt
  • Creating Docker Compose files with Pangolin labels
  • Configuring proxy resources (HTTP, TCP, UDP)
  • Setting up client resources for Olm
  • Configuring authentication (SSO, basic auth, pincode, password)
  • Validating blueprint configurations
  • Troubleshooting blueprint validation errors
  • Converting between YAML and Docker Labels formats

Overview

Pangolin Blueprints are declarative configurations that allow you to define resources and their settings in a structured format. They support two formats:

  1. YAML Configuration Files: Standalone configuration files
  2. Docker Labels: Configuration embedded in Docker Compose files

Blueprint Formats

YAML Configuration Format

YAML configs can be applied using:

  • Newt CLI: Pass --blueprint-file /path/to/blueprint.yaml
  • API: POST to /org/{orgId}/blueprint with base64-encoded JSON body

Example Newt usage:

newt --blueprint-file /path/to/blueprint.yaml <other-args>

Docker Labels Format

For containerized applications, blueprints can be defined using Docker labels with the pangolin. prefix.

Enable Docker socket access:

newt --docker-socket /var/run/docker.sock <other-args>

Or use environment variable:

DOCKER_SOCKET=/var/run/docker.sock

Resource Types

Proxy Resources

Proxy resources expose HTTP, TCP, or UDP services through Pangolin.

HTTP Proxy Resource Example

proxy-resources:
  resource-nice-id-uno:
    name: this is a http resource
    protocol: http
    full-domain: uno.example.com
    host-header: example.com
    tls-server-name: example.com
    headers:
      - name: X-Example-Header
        value: example-value
      - name: X-Another-Header
        value: another-value
    rules:
      - action: allow
        match: ip
        value: 1.1.1.1
      - action: deny
        match: cidr
        value: 2.2.2.2/32
      - action: pass
        match: path
        value: /admin
    targets:
      - site: lively-yosemite-toad
        hostname: localhost
        method: http
        port: 8000
      - site: slim-alpine-chipmunk
        hostname: localhost
        path: /admin
        path-match: exact
        method: https
        port: 8001

TCP/UDP Proxy Resource Example

proxy-resources:
  resource-nice-id-dos:
    name: this is a raw resource
    protocol: tcp
    proxy-port: 3000
    targets:
      - site: lively-yosemite-toad
        hostname: localhost
        port: 3000

Targets-Only Resources

Simplified resources containing only target configurations:

proxy-resources:
  additional-targets:
    targets:
      - site: another-site
        hostname: backend-server
        method: https
        port: 8443
      - site: another-site
        hostname: backup-server
        method: http
        port: 8080

Note: When using targets-only resources, name and protocol fields are not required.

Client Resources

Client resources define proxied resources accessible via Olm client (SSH, RDP):

client-resources:
  client-resource-nice-id-uno:
    name: this is my resource
    protocol: tcp
    proxy-port: 3001
    hostname: localhost
    internal-port: 3000
    site: lively-yosemite-toad

Authentication Configuration

Authentication is off by default. Enable by adding fields in the auth section.

Note: Authentication is only allowed on HTTP resources, not TCP/UDP.

proxy-resources:
  secure-resource:
    name: Secured Resource
    protocol: http
    full-domain: secure.example.com
    auth:
      pincode: 123456
      password: your-secure-password
      basic-auth:
        user: asdfa
        password: sadf
      sso-enabled: true
      sso-roles:
        - Member
        - Admin
      sso-users:
        - user@example.com
      whitelist-users:
        - admin@example.com

Docker Labels Format

Complete Docker Compose Example

services:
  newt:
    image: fosrl/newt
    container_name: newt
    restart: unless-stopped
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - PANGOLIN_ENDPOINT=https://app.pangolin.net
      - NEWT_ID=h1rbsgku89wf9z3
      - NEWT_SECRET=z7g54mbcwkglpx1aau9gb8mzcccoof2fdbs97keoakg2pp5z
      - DOCKER_SOCKET=/var/run/docker.sock

  nginx1:
    image: nginxdemos/hello
    container_name: nginx1
    labels:
      # Proxy Resource Configuration
      - pangolin.proxy-resources.nginx.name=nginx
      - pangolin.proxy-resources.nginx.full-domain=nginx.fosrl.io
      - pangolin.proxy-resources.nginx.protocol=http
      - pangolin.proxy-resources.nginx.headers[0].name=X-Example-Header
      - pangolin.proxy-resources.nginx.headers[0].value=example-value
      # Target Configuration - port and hostname auto-detected
      - pangolin.proxy-resources.nginx.targets[0].method=http
      - pangolin.proxy-resources.nginx.targets[0].path=/path
      - pangolin.proxy-resources.nginx.targets[0].path-match=prefix

  nginx2:
    image: nginxdemos/hello
    container_name: nginx2
    labels:
      # Additional target with explicit hostname and port
      - pangolin.proxy-resources.nginx.targets[1].method=http
      - pangolin.proxy-resources.nginx.targets[1].hostname=nginx2
      - pangolin.proxy-resources.nginx.targets[1].port=80

networks:
  default:
    name: pangolin_default

Docker Labels Considerations

  • Automatic Discovery: When hostname and internal port are not defined, Pangolin auto-detects from container configuration
  • Site Assignment: If no site is specified, resource is assigned to the discovering Newt site
  • Configuration Merging: Configuration across containers is merged to form complete resource definitions

Configuration Properties Reference

Proxy Resources Properties

PropertyTypeRequiredDescriptionConstraints
namestringConditionalHuman-readable nameRequired unless targets-only
protocolstringConditionalProtocol type (http, tcp, udp)Required unless targets-only
full-domainstringHTTP onlyFull domain nameRequired for HTTP, must be unique
proxy-portnumberTCP/UDP onlyPort for raw TCP/UDPRequired for TCP/UDP, 1-65535, must be unique
sslbooleanNoEnable SSL/TLS-
enabledbooleanNoWhether resource is enabledDefaults to true
host-headerstringNoCustom Host header-
tls-server-namestringNoSNI name for TLS-
headersarrayNoCustom headersEach requires name and value (min 1 char)
rulesarrayNoAccess control rulesSee Rules section
authobjectHTTP onlyAuthentication configSee Authentication section
targetsarrayYesTarget endpointsSee Targets section

Target Configuration Properties

PropertyTypeRequiredDescriptionConstraints
sitestringNoSite identifier-
hostnamestringYesTarget hostname or IP-
portnumberYesTarget port1-65535
methodstringHTTP onlyProtocol method (http, https, h2c)Required for HTTP
enabledbooleanNoWhether target is enabledDefaults to true
internal-portnumberNoInternal port mapping1-65535
pathstringHTTP onlyPath prefix, exact, or regex-
path-matchstringHTTP onlyPath matching type (prefix, exact, regex)-

Authentication Properties

Not allowed on TCP/UDP resources.

PropertyTypeRequiredDescriptionConstraints
pincodenumberNo6-digit PINMust be exactly 6 digits
passwordstringNoPassword for access-
basic-authobjectNoBasic auth configRequires user and password
sso-enabledbooleanNoEnable SSODefaults to false
sso-rolesarrayNoAllowed SSO rolesCannot include "Admin" role
sso-usersarrayNoAllowed SSO user emailsMust be valid emails
whitelist-usersarrayNoWhitelisted user emailsMust be valid emails

Rules Configuration Properties

PropertyTypeRequiredDescriptionConstraints
actionstringYesRule action (allow, deny, pass)-
matchstringYesMatch type (cidr, path, ip, country)-
valuestringYesValue to matchFormat depends on match type

Client Resources Properties

PropertyTypeRequiredDescriptionConstraints
namestringYesHuman-readable name2-100 characters
protocolstringYesProtocol type (tcp, udp)-
proxy-portnumberYesPort accessible to clients1-65535, must be unique
hostnamestringYesTarget hostname or IP1-255 characters
internal-portnumberYesPort on target system1-65535
sitestringNoSite identifier2-100 characters
enabledbooleanNoWhether resource is enabledDefaults to true

Validation Rules and Constraints

Resource-Level Validations

  1. Targets-Only Resources: A resource can contain only targets field, making name and protocol optional
  2. Protocol-Specific Requirements:
    • HTTP Protocol: Must have full-domain and all targets must have method field
    • TCP/UDP Protocol: Must have proxy-port and targets must NOT have method field
    • TCP/UDP Protocol: Cannot have auth configuration
  3. Port Uniqueness:
    • proxy-port values must be unique within proxy-resources
    • proxy-port values must be unique within client-resources
    • Cross-validation between proxy and client resources is not enforced
  4. Domain Uniqueness: full-domain values must be unique across all proxy resources
  5. Target Method Requirements: When protocol is http, all non-null targets must specify a method

Common Validation Errors

"Admin role cannot be included in sso-roles"

The Admin role is reserved and cannot be included in the sso-roles array.

Solution: Remove "Admin" from the sso-roles array.

"Duplicate 'full-domain' values found"

Each full-domain must be unique across all proxy resources.

Solution: Use different subdomains or paths for multiple resources.

"Duplicate 'proxy-port' values found"

Port numbers in proxy-port must be unique within their resource type.

Solution: Assign unique port numbers within proxy-resources and client-resources separately.

"When protocol is 'http', all targets must have a 'method' field"

All targets in HTTP proxy resources must specify the connection method.

Solution: Add method: http, method: https, or method: h2c to all targets.

"When protocol is 'tcp' or 'udp', targets must not have a 'method' field"

TCP and UDP targets should not include the method field.

Solution: Remove the method field from TCP/UDP resource targets.

"When protocol is 'tcp' or 'udp', 'auth' must not be provided"

Authentication is only supported for HTTP resources.

Solution: Remove the auth section from TCP/UDP resources.

"Resource must either be targets-only or have both 'name' and 'protocol' fields"

Resources must be either targets-only or complete resource definitions.

Solution: Either provide only targets field, or include both name and protocol fields.

Workflow for Generating Blueprints

When a user requests a Pangolin Newt blueprint configuration:

  1. Gather Requirements:

    • Resource type (proxy or client)
    • Protocol (HTTP, TCP, UDP)
    • Domain or port requirements
    • Target endpoints (hostname, port, site)
    • Authentication needs (if HTTP)
    • Access control rules (if any)
    • Format preference (YAML or Docker Labels)
  2. Select Format:

    • Use YAML for standalone configurations or API deployment
    • Use Docker Labels for containerized applications
  3. Validate Configuration:

    • Ensure protocol-specific requirements are met
    • Check for unique full-domain (HTTP) or proxy-port (TCP/UDP)
    • Verify authentication is only on HTTP resources
    • Confirm all HTTP targets have method field
    • Ensure TCP/UDP targets don't have method field
  4. Generate Configuration:

    • Create well-structured YAML or Docker Compose file
    • Include helpful comments explaining each section
    • Follow naming conventions (kebab-case for resource IDs)
  5. Provide Usage Instructions:

    • Explain how to apply the configuration (Newt CLI or API)
    • Document any environment variables needed
    • Include validation commands if applicable

Best Practices

  1. Resource IDs: Use descriptive, kebab-case identifiers (e.g., web-app-prod, database-backup)
  2. Target Organization: Group related targets under the same resource ID
  3. Security First: Enable authentication for sensitive HTTP resources
  4. Port Management: Document port assignments to avoid conflicts
  5. Site Assignment: Explicitly specify site for multi-site deployments
  6. Path Matching: Use prefix for broad matches, exact for specific endpoints
  7. Headers: Add custom headers for backend requirements (e.g., X-Forwarded-* headers)
  8. Rules: Order rules from most specific to least specific
  9. Validation: Always validate configurations before deployment
  10. Documentation: Include comments in YAML or Docker Compose files explaining non-obvious choices

Resources

Example Use Cases

Use Case 1: Simple Web Application

Requirements: Expose a web app running on localhost:8080 via HTTPS at app.example.com

proxy-resources:
  web-app:
    name: Web Application
    protocol: http
    full-domain: app.example.com
    targets:
      - hostname: localhost
        port: 8080
        method: https

Use Case 2: TCP Database Access

Requirements: Expose PostgreSQL database on port 5432

proxy-resources:
  postgres-db:
    name: PostgreSQL Database
    protocol: tcp
    proxy-port: 5432
    targets:
      - hostname: localhost
        port: 5432

Use Case 3: Multi-Target Load Balanced HTTP Service

Requirements: Multiple backend servers for the same domain

proxy-resources:
  api-service:
    name: API Service
    protocol: http
    full-domain: api.example.com
    targets:
      - site: site-01
        hostname: backend-01
        port: 8080
        method: http
      - site: site-02
        hostname: backend-02
        port: 8080
        method: http

Use Case 4: Secured Resource with SSO

Requirements: Web app with SSO authentication

proxy-resources:
  secure-app:
    name: Secure Application
    protocol: http
    full-domain: secure.example.com
    auth:
      sso-enabled: true
      sso-roles:
        - Member
        - Developer
      sso-users:
        - admin@example.com
    targets:
      - hostname: localhost
        port: 3000
        method: https

Communication Style

When generating blueprints:

  • Ask clarifying questions if requirements are unclear
  • Explain validation errors in plain language
  • Provide complete, working examples
  • Include comments for complex configurations
  • Suggest security best practices proactively
  • Offer both YAML and Docker Labels formats when appropriate

FAQ

What does the newt blueprint generator skill do?

Generate and validate Pangolin Newt blueprint configurations in YAML or Docker Labels format. Use when creating Pangolin resource configurations, proxy resources, client resources, authentication settings, or Docker Compose blueprints.

How do I install newt blueprint generator?

Run npx skills add https://github.com/rknall/claude-skills --skill newt-blueprint-generator in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/newt-blueprint-generator/ (personal) or .claude/skills/newt-blueprint-generator/ (project).

Which AI agents can use newt blueprint generator?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is newt blueprint generator safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains newt blueprint generator?

It is published by rknall in rknall/claude-skills. It has 290 recorded installs.

More from rknall/claude-skills

View all →

svg logo designer

rknall/claude-skills

Create professional SVG logos from descriptions and design specifications. Generates multiple logo variations with different layouts, styles, and concepts. Produces scalable vector graphics that can be used directly or exported to PNG. Use this skill when users ask to create logos, brand identities, icons, or visual marks for their designs.

Frontend & Design8.2K installs

ui/ux design review

rknall/claude-skills

Open the skill to read its SKILL.md instructions.

Frontend & Design535 installs

Comprehensive design architecture review for Python backend applications. Use this skill when users ask you to review, analyze, or provide feedback on backend architecture designs, system design documents, or Python application architecture. Covers scalability, security, performance, database design, API design, microservices patterns, deployment architecture, and best practices.

web design builder

rknall/claude-skills

Open the skill to read its SKILL.md instructions.

Frontend & Design417 installs

docker configuration validator

rknall/claude-skills

Open the skill to read its SKILL.md instructions.

DevOps & Cloud338 installs

gitlab stack config generator

rknall/claude-skills

Open the skill to read its SKILL.md instructions.

291 installs

Popular devops & cloud skills

View category →

microsoft-foundry

microsoft/azure-skills

Build, deploy, evaluate, optimize, fine-tune, and manage Microsoft Foundry agents, models, and resources end to end. USE FOR: foundry, azd ai agent, azd provision/deploy, hosted agent scaffold/develop/run/deploy/troubleshoot, prompt agent create, managed harness agent create, GitHub Copilot harness agent, create agent, update agent, add tool to agent, invoke agent, agent insights, evaluate agent, batch eval, continuous eval, continuous monitoring, agent CI/CD, optimize prompt, improve prompt, optimize agent instructions, Agent Optimizer scaffold, dataset curation from traces, deploy model, model fine-tuning (SFT/DPO/RFT), Foundry project, RBAC, role assignment, permissions, quota, capacity, region, deployment failure, AI Services, create Foundry resource, knowledge index, customize deployment, onboard, availability, training-data, grader, distillation, large file upload. DO NOT USE FOR: Azure Functions, App Service, general Azure deploy (use azure-deploy), general Azure prep (use azure

OfficialDevOps & Cloud579.1K installs

azure-diagnostics

microsoft/azure-skills

Debug Azure production issues on Azure using AppLens, Azure Monitor, resource health, and safe triage. WHEN: debug production issues, troubleshoot app service, app service high CPU, app service deployment failure, troubleshoot container apps, container app 503 or target port mismatch, troubleshoot functions, function telemetry missing or stopped after a config/connection-string change, troubleshoot AKS, VM RDP, Linux SSH, VM black screen, can't connect to VM, reset VM password, NSG or firewall blocking, kubectl cannot connect, kube-system/CoreDNS failures, pod pending, crashloop, node not ready, upgrade failures, analyze logs, KQL, insights, image pull failures, cold start issues, health probe failures, resource health, root cause of errors, troubleshoot event hubs, troubleshoot service bus, messaging SDK error, AMQP connection failure, message lock lost, lock renewal during long-running processing, service bus dead letter.

OfficialDevOps & Cloud569.8K installs

azure-prepare

microsoft/azure-skills

Prepare azd-based Azure projects for deployment: generates azure.yaml, infrastructure (Bicep/Terraform), and Dockerfiles for the Azure Developer CLI (azd) workflow. USE ONLY when the user explicitly wants to use azd as the deployment tool, or the project already has an azure.yaml file. DO NOT USE FOR: non-azd deployments, Python App Service code-only deploys (use python-appservice-deploy), or cross-cloud migration (use azure-cloud-migrate). WHEN: prepare app for azd, create azure.yaml, set up azd infrastructure, modernize app for Azure with azd, deploy with azd, function app, timer trigger, service bus trigger, event-driven function, managed identity, generate Bicep, generate Terraform, create and deploy to Azure.

OfficialDevOps & Cloud569K installs

azure-ai

microsoft/azure-skills

Use for Azure AI: Search, Speech, OpenAI, Document Intelligence. Helps with search, vector/hybrid search, speech-to-text, text-to-speech, transcription, OCR. WHEN: AI Search, query search, vector search, hybrid search, semantic search, speech-to-text, text-to-speech, transcribe, OCR, convert text to speech.

OfficialDevOps & Cloud568.8K installs

azure-deploy

microsoft/azure-skills

Execute Azure deployments for ALREADY-PREPARED applications that have existing .azure/deployment-plan.md and infrastructure files. DO NOT use this skill when the user asks to CREATE a new application — use azure-prepare instead. This skill runs azd up, azd deploy, terraform apply, and az deployment commands with built-in error recovery. Requires .azure/deployment-plan.md from azure-prepare and validated status from azure-validate. WHEN: "run azd up", "run azd deploy", "execute deployment", "push to production", "push to cloud", "go live", "ship it", "bicep deploy", "terraform apply", "publish to Azure", "launch on Azure". DO NOT USE WHEN: "create and deploy", "build and deploy", "create a new app", "set up infrastructure", "create and deploy to Azure using Terraform" — use azure-prepare for these.

OfficialDevOps & Cloud568.6K installs

azure-validate

microsoft/azure-skills

Pre-deployment validation for Azure readiness. Run deep checks on configuration, infrastructure (Bicep or Terraform), RBAC role assignments, managed identity permissions, and prerequisites before deploying. WHEN: validate my app, check deployment readiness, run preflight checks, verify configuration, check if ready to deploy, validate azure.yaml, validate Bicep, test before deploying, troubleshoot deployment errors, validate Azure Functions, validate function app, validate serverless deployment, verify RBAC roles, check role assignments, review managed identity permissions, what-if analysis, validate Container Apps deployment.

OfficialDevOps & Cloud568K installs