linode-cli
Linode CLI Documentation
What this skill does
# Linode CLI Skill The official command-line interface for Linode/Akamai cloud infrastructure. Provides easy access to Linode API endpoints directly from the terminal for managing compute instances, Kubernetes clusters, volumes, networking, DNS, and more. ## When to Use This Skill This skill should be triggered when: - **Managing Linode compute instances** (creating, listing, updating, deleting Linodes) - **Working with Linode Kubernetes Engine (LKE)** clusters and node pools - **Configuring DNS domains** and records through Linode's DNS Manager - **Managing Block Storage volumes** and volume attachments - **Setting up NodeBalancers** and networking infrastructure - **Automating Linode operations** in scripts or CI/CD pipelines - **Learning Linode CLI commands** and API interactions - **Debugging Linode CLI issues** or authentication problems - **Formatting CLI output** (JSON, tables, custom fields) ## Key Concepts ### CLI Architecture - **Auto-generated from OpenAPI**: The CLI is automatically generated from Linode's OpenAPI specification, providing direct access to all API endpoints - **Python-based**: Built with Python 3.10+, installed via pip - **Command structure**: `linode-cli <resource> <action> [options]` - **Authentication**: Uses API tokens stored in configuration or environment variables ### Core Resources - **linodes**: Compute instances (virtual machines) - **lke**: Linode Kubernetes Engine clusters - **domains**: DNS domain management - **volumes**: Block Storage volumes - **nodebalancers**: Load balancers - **regions**: Available data center locations - **images**: OS images and custom images ### Output Formatting - **Default**: Organized tables with key information - **--json**: Raw JSON output for scripting - **--pretty**: Formatted JSON with indentation - **--format**: Custom field selection - **--all**: Show all available fields ## Quick Reference ### Installation and Setup ```bash # Install via pip pip3 install linode-cli # First-time configuration (interactive) linode-cli configure # Set API token via environment export LINODE_CLI_TOKEN=your_api_token_here ``` ### Getting Help ```bash # View all available commands linode-cli --help # View help for specific resource linode-cli linodes --help # View help for specific action linode-cli linodes create --help # List all available regions linode-cli regions list # List all available images linode-cli images list ``` ### Listing Resources ```bash # List all Linodes on your account linode-cli linodes list # List domains linode-cli domains list # List volumes linode-cli volumes list # List Kubernetes clusters linode-cli lke clusters-list # Format output with custom fields linode-cli linodes list --format "id,label,status,region" # Output as JSON linode-cli linodes list --json # Output all available fields linode-cli linodes list --all ``` ### Creating Compute Instances ```bash # Create a basic Linode (uses defaults from config) linode-cli linodes create \ --type g6-standard-2 \ --region us-east \ --image linode/debian11 \ --label my-server \ --root_pass "SecurePassword123!" # Create with specific configuration linode-cli linodes create \ --type g6-standard-4 \ --region us-central \ --image linode/ubuntu22.04 \ --label production-web \ --root_pass "MySecurePass!" \ --group webservers # Create with authorized SSH keys linode-cli linodes create \ --type g6-standard-2 \ --region us-west \ --image linode/debian11 \ --label secure-server \ --root_pass "Password123!" \ --authorized_keys "ssh-rsa AAAAB3Nz..." ``` ### Managing Kubernetes (LKE) ```bash # Create a Kubernetes cluster with multiple node pools linode-cli lke cluster-create \ --label my-k8s-cluster \ --region us-central \ --k8s_version 1.28 \ --node_pools.type g6-standard-4 --node_pools.count 3 \ --node_pools.type g6-standard-8 --node_pools.count 2 \ --tags production # List all clusters linode-cli lke clusters-list # Update cluster configuration linode-cli lke cluster-update $CLUSTER_ID \ --label renamed-cluster \ --tags production \ --tags monitoring \ --tags backup # Update node pool size linode-cli lke pool-update $CLUSTER_ID $POOL_ID \ --count 5 # Delete a cluster linode-cli lke cluster-delete $CLUSTER_ID ``` ### DNS Management ```bash # Create a domain linode-cli domains create \ --type master \ --domain example.com \ --soa_email [email protected] # List domains linode-cli domains list # Create DNS record linode-cli domains records-create $DOMAIN_ID \ --type A \ --name www \ --target 192.0.2.1 # Delete a domain linode-cli domains delete $DOMAIN_ID ``` ### Volume Management ```bash # Create a Block Storage volume linode-cli volumes create \ --label my-volume \ --size 100 \ --region us-east # List volumes linode-cli volumes list # Attach volume to Linode linode-cli volumes attach $VOLUME_ID \ --linode_id $LINODE_ID # Detach volume linode-cli volumes detach $VOLUME_ID ``` ### Advanced Usage ```bash # Filtering output with jq (requires jq installed) linode-cli linodes list --json | jq '.[] | select(.status=="running")' # Using variables in scripts LINODE_ID=$(linode-cli linodes list --json | jq -r '.[0].id') echo "First Linode ID: $LINODE_ID" # Bulk operations example for region in us-east us-west eu-central; do linode-cli linodes create \ --type g6-nanode-1 \ --region $region \ --image linode/alpine3.18 \ --label "test-$region" \ --root_pass "TempPassword123!" done ``` ## Reference Files This skill includes comprehensive documentation in `references/`: - **other.md** - Links to official Linode CLI Wiki on GitHub with additional documentation, guides, and community resources Use `view` to read specific reference files when detailed information is needed. ## Working with This Skill ### For Beginners 1. **Start with installation**: Run `pip3 install linode-cli` and configure with `linode-cli configure` 2. **Learn the basics**: Use `--help` flag extensively to discover available commands 3. **Practice listing**: Start with simple list commands like `linode-cli linodes list` 4. **Test in safe mode**: Use small, inexpensive instance types (g6-nanode-1) for testing 5. **Read the output**: Default table output is designed to be human-readable ### For Intermediate Users 1. **Master output formatting**: Learn `--json`, `--format`, and `--all` flags for scripting 2. **Automate common tasks**: Create bash scripts for repetitive operations 3. **Combine with jq**: Use jq for powerful JSON filtering and processing 4. **Manage multiple resources**: Create infrastructure as code with shell scripts 5. **Use environment variables**: Set `LINODE_CLI_TOKEN` for non-interactive automation ### For Advanced Users 1. **CI/CD integration**: Incorporate linode-cli into deployment pipelines 2. **Infrastructure automation**: Build complete infrastructure provisioning scripts 3. **API exploration**: Use the CLI to understand Linode's API structure 4. **Custom tooling**: Wrap linode-cli in your own management tools 5. **OpenAPI access**: Contribute to the OpenAPI spec for new features ### Navigation Tips - **Discover resources**: Use `linode-cli --help` to see all available resource types - **Action discovery**: Each resource has different actions (list, create, update, delete, etc.) - **Parameter help**: Use `--help` on any action to see required and optional parameters - **JSON inspection**: Use `--json` to see all available fields for any resource - **Region planning**: Run `linode-cli regions list` before creating resources ## Common Patterns ### Authentication Setup ```bash # Method 1: Interactive configuration linode-cli configure # Method 2: Environment variable export LINODE_CLI_TOKEN=your_token_here # Method 3: Config file (~/.config/linode-cli) [DEFAULT] token = your_token_here region = us-east type = g6-standard-2 image = linode/ubuntu22.04 ``` ### Instance Lifecycle ```bash # Create → Boot
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.