rknall/claude-skills/newt-blueprint-generator
Claude Code and agent skill by rknall/claude-skills
- community
Checking that the SKILL.md file is still in the repository.
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.
Install
npx vskill@latest install rknall/claude-skills/newt-blueprint-generatorSKILL.md
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:
- YAML Configuration Files: Standalone configuration files
- 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}/blueprintwith base64-encoded JSON body
Example Newt usage:
Docker Labels Format
For containerized applications, blueprints can be defined using Docker labels with the pangolin. prefix.
Enable Docker socket access:
Or use environment variable:
Resource Types
Proxy Resources
Proxy resources expose HTTP, TCP, or UDP services through Pangolin.
HTTP Proxy Resource Example
TCP/UDP Proxy Resource Example
Targets-Only Resources
Simplified resources containing only target configurations:
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):
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.
Docker Labels Format
Complete Docker Compose Example
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
| Property | Type | Required | Description | Constraints | |
|---|---|---|---|---|---|
name | string | Conditional | Human-readable name | Required unless targets-only | |
protocol | string | Conditional | Protocol type (http, tcp, udp) | Required unless targets-only | |
full-domain | string | HTTP only | Full domain name | Required for HTTP, must be unique | |
proxy-port | number | TCP/UDP only | Port for raw TCP/UDP | Required for TCP/UDP, 1-65535, must be unique | |
ssl | boolean | No | Enable SSL/TLS | - | |
enabled | boolean | No | Whether resource is enabled | Defaults to true | |
host-header | string | No | Custom Host header | - | |
tls-server-name | string | No | SNI name for TLS | - | |
headers | array | No | Custom headers | Each requires name and value (min 1 char) | |
rules | array | No | Access control rules | See Rules section | |
auth | object | HTTP only | Authentication config | See Authentication section | |
targets | array | Yes | Target endpoints | See Targets section |
Target Configuration Properties
| Property | Type | Required | Description | Constraints | |
|---|---|---|---|---|---|
site | string | No | Site identifier | - | |
hostname | string | Yes | Target hostname or IP | - | |
port | number | Yes | Target port | 1-65535 | |
method | string | HTTP only | Protocol method (http, https, h2c) | Required for HTTP | |
enabled | boolean | No | Whether target is enabled | Defaults to true | |
internal-port | number | No | Internal port mapping | 1-65535 | |
path | string | HTTP only | Path prefix, exact, or regex | - | |
path-match | string | HTTP only | Path matching type (prefix, exact, regex) | - |
Authentication Properties
Not allowed on TCP/UDP resources.
| Property | Type | Required | Description | Constraints | |
|---|---|---|---|---|---|
pincode | number | No | 6-digit PIN | Must be exactly 6 digits | |
password | string | No | Password for access | - | |
basic-auth | object | No | Basic auth config | Requires user and password | |
sso-enabled | boolean | No | Enable SSO | Defaults to false | |
sso-roles | array | No | Allowed SSO roles | Cannot include "Admin" role | |
sso-users | array | No | Allowed SSO user emails | Must be valid emails | |
whitelist-users | array | No | Whitelisted user emails | Must be valid emails |
Rules Configuration Properties
| Property | Type | Required | Description | Constraints | |
|---|---|---|---|---|---|
action | string | Yes | Rule action (allow, deny, pass) | - | |
match | string | Yes | Match type (cidr, path, ip, country) | - | |
value | string | Yes | Value to match | Format depends on match type |
Client Resources Properties
| Property | Type | Required | Description | Constraints | |
|---|---|---|---|---|---|
name | string | Yes | Human-readable name | 2-100 characters | |
protocol | string | Yes | Protocol type (tcp, udp) | - | |
proxy-port | number | Yes | Port accessible to clients | 1-65535, must be unique | |
hostname | string | Yes | Target hostname or IP | 1-255 characters | |
internal-port | number | Yes | Port on target system | 1-65535 | |
site | string | No | Site identifier | 2-100 characters | |
enabled | boolean | No | Whether resource is enabled | Defaults to true |
Validation Rules and Constraints
Resource-Level Validations
- Targets-Only Resources: A resource can contain only
targetsfield, makingnameandprotocoloptional - Protocol-Specific Requirements:
- HTTP Protocol: Must have
full-domainand all targets must havemethodfield - TCP/UDP Protocol: Must have
proxy-portand targets must NOT havemethodfield - TCP/UDP Protocol: Cannot have
authconfiguration
- Port Uniqueness:
proxy-portvalues must be unique withinproxy-resourcesproxy-portvalues must be unique withinclient-resources- Cross-validation between proxy and client resources is not enforced
- Domain Uniqueness:
full-domainvalues must be unique across all proxy resources - Target Method Requirements: When protocol is
http, all non-null targets must specify amethod
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.
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingnewt-blueprint-generator/SKILL.md
Popularity
- Repository stars
- 46
- Repository forks
- 7
- 7-day trend score
- 19
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 14 May 2026, 5 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/rknall/claude-skills/newt-blueprint-generator)