• This repository has been archived on 31/Oct/2018
  • Stars
    star
    466
  • Rank 94,105 (Top 2 %)
  • Language
    Perl
  • License
    Other
  • Created about 11 years ago
  • Updated over 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

This is the DEPRECATED Linode CLI. Use https://github.com/linode/linode-cli

Linode CLI

Overview

Linode CLI is a simple command-line interface to the Linode platform. Note: There is a newer version of the Linode CLI (linode-cli) that uses the new Linode API V4.

Installation

Linode CLI is currently packaged for Debian, Ubuntu, CentOS, Fedora, NixOS and through Homebrew on Mac OS X. Final versions of linode-cli will be packaged up and very easy to install for major distributions.

Debian/Ubuntu

sudo bash -c 'echo "deb http://apt.linode.com/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/linode.list'
wget -O- https://apt.linode.com/linode.gpg | sudo apt-key add -
sudo apt-get update
sudo apt-get install linode-cli

Fedora

Fedora's official repositories include Linode CLI (in F24 and newer). To install,

sudo dnf install linode-cli

CentOS

Installing Linode CLI on CentOS requires the EPEL repository to be installed and enabled, before installing Linode CLI.

sudo yum install epel-release
sudo yum install linode-cli

NixOS/Nix

Linode CLI is included in NixPkgs, so installation should be straightforward

# Using symbolic name. 
nix-env -i perl-linode-cli
# Using attribute name. (Channel name is derived using $() here)
nix-env -iA $(nix-channel --list | head -n1 | cut -d' ' -f1).linode-cli

Mac OS X

Installing the packaged version of Linode CLI on Mac OS X requires Homebrew: http://brew.sh

brew install linode/cli/linode-cli

Mac OS X segmentation faults

Linode-cli must be built using the system perl, so if you end up with segmentation faults when running linode on OSX, try

brew unlink perl
brew uninstall linode-cli
brew install linode-cli

Others

You'll need the following Perl modules. They can be installed from the CPAN using your preferred method.

  • JSON
  • LWP
  • Mozilla::CA
  • Try::Tiny
  • WebService::Linode

To install with root:

sudo cpan -i JSON LWP Mozilla::CP Try::Tiny WebService::Linode

To install with local::lib:

perl -MCPAN -Mlocal::lib -e 'CPAN::install(JSON, LWP, Mozilla::CA, Try::Tiny, WebService::Linode)'

Then, download the Linode CLI tarball, extract it, and install:

curl -Lo linode-cli.tar.gz https://github.com/linode/cli/archive/master.tar.gz
tar xf linode-cli.tar.gz
cd cli-master && perl Makefile.PL && sudo make install

Initial configuration

You can configure defaults, including your API key and common deployment options, by running the configuration helper:

linode configure
This will walk you through setting default values for common options.

Linode Manager username
>>
...

By default, this will (over)write $HOME/.linodecli/config. If you specify a username (-u), it will (over)write $HOME/.linodecli/config_username.

Options are in the format of option value, for example:

api-key foobarbaz123456

The API key can also be set using an environment variable (LINODE_API_KEY). Alternatively, you can pass an --api-key option on the command line.

Examples

If you didn't place linode-cli somewhere in your PATH, you'll need to call it directly: /path/to/linode-cli/linode. Otherwise, you can simply use linode.

Listing Linodes

linode list
linode list My-Linode-Label
linode list My-Linode-Label1 My-Linode-Label2

Showing details about a single Linode

linode show My-Linode-Label

Starting, stopping, or restarting a Linode

linode start My-Linode-Label
linode stop My-Linode-Label
linode restart My-Linode-Label

Renaming a Linode

linode rename mylinodename mylinodenewname

Creating a new Linode

Warning: This will attempt to charge the credit card on file, or use any account credit available, and spin up a new Linode 2GB.

linode create New-Linode --location dallas --plan linode2G --payment-term 1 --distribution 'Debian 9' --group Frontends

Resizing a Linode

Warning: This will shut the Linode down, charge/credit the account, and issue a migration to another host server.

This example resizes a Linode 2GB to a Linode 4GB.

linode resize mylinode linode4GB

Deleting a Linode

Warning: This will permanently delete a Linode, its disk images and configuration profiles.

linode delete New-Linode

Working with multiple Linodes

Actions can be performed on multiple Linodes using their labels. Using multiple --label arguments will accomplish the same thing.

linode start My-Linode-Label1 My-Linode-Label2
linode show --label My-Linode-Label1 --label My-Linode-Label2

Working with Domains

Create a master domain (requires an SOA email address).

linode domain create example.com [email protected]

Create a slave domain (requires a master DNS server ip).

linode domain create example.com slave X.X.X.X

Displaying domains.

linode domain list
linode domain show example.com

Updating a domain.

linode domain update example.com --group main

Creating domain records.

linode domain record-create example.com A www2 X.X.X.X
linode domain record-create example.com MX subdomain mail.example.com

Updating a domain record.

linode domain record-update example.com MX mail.example.com --priority 20

Removing a domain record.

linode domain record-delete example.com A www2

Displaying domain records.

linode domain record-list example.com
linode domain record-list example.com MX
linode domain record-show example.com
linode domain record-show example.com example.com MX

Working with NodeBalancers

Create a NodeBalancer in your datacenter of choice.

linode nodebalancer create mynodebalancer dallas

Set the NodeBalancer up to handle traffic on a port (configuration).

linode nodebalancer config-create mynodebalancer 80

Create NodeBlanacer Nodes, balancing the incoming traffic between your Linodes.

linode nodebalancer node-create mynodebalancer 80 mylinode1 xx.xx.xx.1:80
linode nodebalancer node-create mynodebalancer 80 mylinode2 xx.xx.xx.2:80
linode nodebalancer node-create mynodebalancer 80 mylinode3 xx.xx.xx.3:80

Displaying NodeBalancers.

linode nodebalancer list

Displaying the Nodes, which will list the Linodes handing traffic on the port requested.

linode nodebalancer node-list mynodebalancer 80

Working with StackScripts

Actions can be performed on StackScripts.

linode stackscript list
linode stackscript create --label "StackScript Name" --codefile "/path/myscript.sh" --distribution "Debian 9"
linode stackscript show My-StackScript-Label
linode stackscript source mystackscript > myscript.sh

Working with Linode Images

Listing a Linode's disks (displays disk names and disk IDs)

linode disk-list mylinodelabel

Creating a Linode Image

linode image-create mylinodelabel --diskid diskid

Listing your Linode Images

linode image-list

Updating or removing your Linode Images

linode image-update --imageid imageid --name newname
linode image-delete --imageid imageid

Displaying account information

Account information, including the current account balance and network transfer pool usage, can be queried with the linode-account tool.

linode account show
          managed yes
          balance $ 0.00
    transfer pool 7527.00GB
transfer billable 0.00GB
     active since 2013-09-10 14:44:27.0
    transfer used 1.00GB

JSON output

JSON output is available for actions.

linode list --output json
linode list --json
{
   "linodefrontend1" : {
      "location" : "dallas",
      "group" : "",
      "status" : "powered off",
      "backupsenabled" : false,
      "totalram" : "2GB",
      "request_error" : "",
      "totalhd" : "24GB",
      "label" : "linodefrontend1",
      "linodeid" : 900001
   },
   "linodebackend1" : {
      "location" : "dallas",
      "group" : "backend",
      "status" : "running",
      "backupsenabled" : true,
      "totalram" : "4GB",
      "request_error" : "",
      "totalhd" : "48GB",
      "label" : "linodebackend1",
      "linodeid" : 900002
   }
}

Using with multiple accounts

Multiple accounts and configuration files can be accomplished with the username option.

linode list -u username1
linode list -u username2

linode configure -u username1
linode configure -u username2
...

Usage

Options

-a, --action: An action to perform on one Linode. One of: create, start, stop, restart, rename, group, resize, delete. Read-only operations are available as well: list, show.

Each action has a set of options that apply to it, which are outlined in the section ACTIONS.

--api-key: API key to use when communicating with the Linode API. Alternatively, you can specify the API key in $HOME/.linodecli/config, using the format api-key foobar.

-u, --username: Optional. Allows users to specify the username, if using with multiple accounts and configuration files.

-j, --json: Optional. JSON output.

-h, --help: Displays help documentation.


Linode Actions

Create

Create and start a new Linode.

-l, --label: Required. A Linode to operate on.

-L, --location, --datacenter: Required. The datacenter to use for deployment. Locations are Atlanta, Dallas, Frankfurt, Fremont, London, Newark, Singapore, Shinagawa.

-d, --distribution: Required when not using imageid. Distribution name or DistributionID to deploy.

-i, --imageid: Required when not using distribution. The ID of the gold-master image to use for deployment.

-p, --plan: Required. The Plan to deploy. Plans are:

Standard Instances:
linode2GB, linode4GB, linode8GB, linode16GB, linode32GB, linode64GB, linode96GB, linode128GB, linode192GB

High Memory Instances:
linode24GB, linode48GB, linode90GB, linode150GB, linode300GB

Nanode Instances:
nanode1GB

-P, --password: Required. The root user's password. Needs to be at least 6 characters and contain at least two of these four character classes: lower case letters, upper case letters, numbers, and punctuation.

-t, --payment-term: Optional. Payment term, one of 1, 12, or 24 (months). Default: 1. This is ignored when using metered.

-g, --group: Optional. Linode Manager display group to place this Linode under. Default: none.

-K, --pubkey-file: Optional. A public key file to install at /root/.ssh/authorized_keys when creating this Linode.

-S, --stackscript: Optional when creating with a distribution. Personal or public StackScript ID to use for deployment. Names of personal StackScripts are accepted.

-J, --stackscriptjson: The JSON encoded name/value pairs, answering the StackScript's User Defined Fields (UDF). A path to a JSON file is also accepted.

-w, --wait: Optional. Amount of time (in minutes) to wait for human output. Using the flag only, will use the default of 5.

Rebuild

Rebuild an existing Linode.

-l, --label: Required. A Linode to operate on.

-d, --distribution: Required when not using imageid. Distribution name or DistributionID to deploy.

-i, --imageid: Required when not using distribution. The ID of the gold-master image to use for deployment.

-P, --password: Required. The root user's password. Needs to be at least 6 characters and contain at least two of these four character classes: lower case letters, upper case letters, numbers, and punctuation.

-K, --pubkey-file: Optional. A public key file to install at /root/.ssh/authorized_keys when creating this Linode.

-S, --stackscript: Optional when rebuilding with a distribution. Personal or public StackScript ID to use for deployment. Names of personal StackScripts are accepted.

-J, --stackscriptjson: The JSON encoded name/value pairs, answering the StackScript's User Defined Fields (UDF). A path to a JSON file is also accepted.

-w, --wait: Optional. Amount of time (in minutes) to wait for human output. Using the flag only, will use the default of 5.

Start, stop, restart

Stop, start, or restart a Linode.

-l, --label: A Linode to operate on.

-w, --wait: Optional. Amount of time (in minutes) to wait for human output. Using the flag only, will use the default of 5.

Rename

Change a Linode's label.

-l, --label: A Linode to operate on.

-n, --new-label: New label to apply to this Linode.

Group

Set a Linode's display group.

-g, --group: Linode Manager display group to place this Linode under.

-l, --label: A Linode to operate on.

Resize

Resize a Linode to a new plan size, and issue a boot job.

-l, --label: A Linode to operate on.

-p, --plan: The Plan to resize to. Plans are:

Standard Instances:
linode2GB, linode4GB, linode8GB, linode16GB, linode32GB, linode64GB, linode96GB, linode128GB, linode192GB

High Memory Instances:
linode24GB, linode48GB, linode90GB, linode150GB, linode300GB

Nanode Instances:
nanode1GB

-w, --wait: Optional. Amount of time (in minutes) to wait for human output. Using the flag only, will use the default of 20.

IP-Add

Add an IP address to a Linode.

-l, --label: A Linode to operate on.

--private: Add a private IP address instead of a public one.

Delete

Delete a Linode, its disk image(s), and configuration profile(s).

-l, --label: A Linode to operate on.

List

List information about one or more Linodes. Linodes are grouped by their display group.

-l, --label: Optional. A specific Linode to list.

Show

Display detailed information about one or more Linodes.

-l, --label: Required. A specific Linode to show.

Locations

List all available datacenters.

Distros

List all available distributions.

Plans

List all available Linode plans.

Disk-List

Lists disks associated with a specific Linode.

-l, --label: Required. The Linode to display.

Image-List

Lists available gold-master images.

Image-Create

Creates a gold-master image for future deployments.

-l, --label: Required. Specifies the source Linode to create the image from.

-d, --diskid: Required. Specifies the source Disk ID to create the image from.

-D, --description: Optional. An optional description of the created image.

-n, --name: Optional. Sets the name of the image. If not provided, the name defaults to the source image label.

-w, --wait: Optional. Amount of time (in minutes) to wait for human output. Using the flag only, will use the default of 5.

Image-Update

Updates a gold-master image.

-i, --imageid: Required. The ID of the gold-master image to update.

-D, --description: Optional. The new image description.

-n, --name: Optional. The new image name.

Image-Delete

Deletes a gold-master image.

-i, --imageid: Required. The ID of the gold-master image to delete.


Domain Actions

Create

Create a Domain.

-l, --label: The Domain (name). The zone's name.

-t, --type: Either master or slave. Default: master

-e, --email: SOA email address. Required for master domains.

-D, --description: Optional. Notes describing details about the Domain.

-R, --refresh: Optional. Default: 0

-Y, --retry: Optional. Default: 0

-E, --expire: Optional. Default: 0

-T, --ttl: Optional. Default: 0

-g, --group: Optional. Linode Manager display group to place this Domain under.

-s, --status: Optional. Statuses are active, edit, or disabled. Default: active

-m, --masterip: Optional. Accepts multiple entries. When the domain is a slave, this is the zone's master DNS servers list.

-x, --axfrip: Optional. Accepts multiple entries. IP addresses allowed to AXFR the entire zone.

Update

Update a Domain.

-l, --label: The Domain (name) to update.

-n, --new-label: Optional. Renames the Domain.

-t, --type: Optional. Either master or slave. Default: master

-e, --email: Optional. SOA email address. Required for master domains.

-D, --description: Optional. Notes describing details about the Domain.

-R, --refresh: Optional. Default: 0

-Y, --retry: Optional. Default: 0

-E, --expire: Optional. Default: 0

-T, --ttl: Optional. Default: 0

-g, --group: Optional. Linode Manager display group to place this Domain under.

-s, --status: Optional. Statuses are active, edit, or disabled. Default: active

-m, --masterip: Optional. Accepts multiple entries. When the domain is a slave, this is the zone's master DNS servers list.

-x, --axfrip: Optional. Accepts multiple entries. IP addresses allowed to AXFR the entire zone.

Delete

Delete a Domain.

-l, --label: The Domain to delete.

List

List information about one or more Domains.

-l, --label: Optional. A specific Domain to list.

Show

Display detailed information about one or more Domains.

-l, --label: Required. A specific Domain to show.

Domain Record Create (record-create)

Create a Domain record.

-l, --label: The Domain (name). The zone's name.

-t, --type: Required. One of: NS, MX, A, AAAA, CNAME, TXT, or SRV

-n, --name: Optional. The hostname or FQDN. When Type=MX the subdomain to delegate to the Target MX server. Default: blank.

-p, --port: Optional. Default: 80

-R, --target: Optional. When Type=MX the hostname. When Type=CNAME the target of the alias. When Type=TXT the value of the record. When Type=A or AAAA the token of '[remote_addr]' will be substituted with the IP address of the request.

-P, --priority: Optional. Priority for MX and SRV records, 0-255 Default: 10

-W, --weight: Optional. Default: 5

-L, --protocol: Optional. The protocol to append to an SRV record. Ignored on other record types. Default: blank.

-T, --ttl: Optional. Default: 0

Domain Record Update (record-update)

Update a Domain record.

-l, --label: The Domain containing the record to update.

-t, --type: Required. The type of the record to delete. One of: NS, MX, A, AAAA, CNAME, TXT, or SRV

-m, --match: Required. The match for the record to delete. Match to a name or target.

-n, --name: Optional. The hostname or FQDN. When Type=MX the subdomain to delegate to the Target MX server. Default: blank.

-p, --port: Optional. Default: 80

-R, --target: Optional. When Type=MX the hostname. When Type=CNAME the target of the alias. When Type=TXT the value of the record. When Type=A or AAAA the token of '[remote_addr]' will be substituted with the IP address of the request.

-P, --priority: Optional. Priority for MX and SRV records, 0-255 Default: 10

-W, --weight: Optional. Default: 5

-L, --protocol: Optional. The protocol to append to an SRV record. Ignored on other record types. Default: blank.

-T, --ttl: Optional. Default: 0

Domain Record Delete (record-delete)

Delete a Domain record.

-l, --label: The Domain containing the record to delete.

-t, --type: Required. The type of the record to delete. One of: NS, MX, A, AAAA, CNAME, TXT, or SRV

-m, --match: Required. The match for the record to delete. Match to a name or target.

Domain Record List (record-list)

List Domain Record information for one or more Domains.

-l, --label: Optional. A specific Domain to list.

-t, --type: Optional. Allows domain record filtering by type. One of: NS, MX, A, AAAA, CNAME, TXT, or SRV

Domain Record Show (record-show)

Display detailed Domain Record information for one or more Domains.

-l, --label: Required. A specific Domain to show.

-t, --type: Optional. Allows domain record filtering by type. One of: NS, MX, A, AAAA, CNAME, TXT, or SRV


NodeBalancer Actions

Create

Create a NodeBalancer.

-l, --label: Required. The name of the NodeBalancer.

-L, --location: Required. The datacenter to use for deployment. Locations are Dallas, Fremont, Atlanta, Newark, London, and Tokyo.

-t, --payment-term: Optional. Payment term, one of 1, 12, or 24 (months). Default: 1. This is ignored when using metered.

Rename

Rename a NodeBalancer.

-l, --label: Required. The name of the NodeBalancer.

-n, --new-label: Required. The new name for the NodeBalancer.

Throttle

Adjust the connections per second allowed per client IP for a NodeBalancer, to help mitigate abuse.

-l, --label: Required. The name of the NodeBalancer.

-c, --connections: Required. To help mitigate abuse, throttle connections per second, per client IP. 0 to disable. Max of 20.

Delete

Delete a NodeBalancer.

-l, --label: Required. The NodeBalancer to delete.

List

List information about one or more NodeBalancers.

-l, --label: Optional. A specific NodeBalancer to list.

Show

Display detailed information about one or more NodeBalancers.

-l, --label: Required. A specific NodeBalancer to show.

NodeBalancer Config Actions

Create NodeBalancer Config/Port (config-create)

Create a NodeBalancer config (port).

-l, --label: Required. The NodeBalancer name to add the config/port.

-p, --port: Optional. The NodeBalancer config port to bind on (1-65534). Default is 80.

-L, --protocol: Optional. Options are 'tcp', 'http', and 'https'. Default is 'http'.

-A, --algorithm: Optional. Balancing algorithm. Options are 'roundrobin', 'leastconn', and 'source'. Default is 'roundrobin'.

-S, --stickiness: Optional. Session persistence. Options are 'none', 'table', and 'http_cookie'. Default is 'table'.

-H, --check-health: Optional. Perform active health checks on the backend nodes. One of 'connection', 'http', 'http_body'. Default is 'connection'.

-I, --check-interval: Optional. Seconds between health check probes (2-3600). Default is 5.

-T, --check-timeout: Optional. Seconds to wait before considering the probe a failure (1-30). Must be less than check_interval. Default is 3.

-X, --check-attempts: Optional. Number of failed probes before taking a node out of rotation (1-30). Default is 2.

-P, --check-path: Optional. When check-health='http', the path to request. Default is '/'.

-B, --check-body: Optional. When check-health='http_body', a regex against the expected result body.

-C, --ssl-cert: Optional. SSL certificate served by the NodeBalancer when the protocol is 'https'. A path to the file is also accepted.

-K, --ssl-key: Optional. Unpassphrased private key for the SSL certificate when protocol is 'https'. A path to the file is also accepted.

Update NodeBalancer Config/Port (config-update)

Update a NodeBalancer config (port).

-l, --label: Required. The NodeBalancer name.

-p, --port: Required. The NodeBalancer config port.

-N, --new-port: Optional. Changes the config port to bind on (1-65534).

-L, --protocol: Optional. Protocol. Options are 'tcp', 'http', and 'https'.

-A, --algorithm: Optional. Balancing algorithm. Options are 'roundrobin', 'leastconn', and 'source'.

-S, --stickiness: Optional. Session persistence. Options are 'none', 'table', and 'http_cookie'.

-H, --check-health: Optional. Perform active health checks on the backend nodes. One of 'connection', 'http', 'http_body'.

-I, --check-interval: Optional. Seconds between health check probes (2-3600).

-T, --check-timeout: Optional. Seconds to wait before considering the probe a failure (1-30). Must be less than check_interval.

-X, --check-attempts: Optional. Number of failed probes before taking a node out of rotation (1-30).

-P, --check-path: Optional. When check-health='http', the path to request.

-B, --check-body: Optional. When check-health='http_body', a regex against the expected result body.

-C, --ssl-cert: Optional. SSL certificate served by the NodeBalancer when the protocol is 'https'. A path to the file is also accepted.

-K, --ssl-key: Optional. Unpassphrased private key for the SSL certificate when protocol is 'https'. A path to the file is also accepted.

Delete NodeBalancer Config/Port (config-delete)

Delete a NodeBalancer config (port).

-l, --label: The NodeBalancer name.

-p, --port: The NodeBalancer config port to delete.

List NodeBalancer Config/Port (config-list)

List all configs (ports) for a specific NodeBalancer.

-l, --label: Required. A specific NodeBalancer to list.

Show NodeBalancer Config/Port (config-show)

Display detailed information about a specific NodeBalancer config/port.

-l, --label: Required. A specific NodeBalancer to show.

-p, --port: Required. The NodeBalancer config port to show.

NodeBalancer Node Actions

Create NodeBalancer Node (node-create)

Create a NodeBalancer Node.

-l, --label: Required. The label (name) of the NodeBalancer.

-p, --port: Required. The NodeBalancer port or config port.

-n, --name: Required. The Node name to update.

-A, --address: Required. The address:port combination used to communicate with this Node.

-W, --weight: Optional. Load balancing weight, 1-255. Higher means more connections. Default is 100.

-M, --mode: Optional. The connections mode to use. Options are 'accept', 'reject', and 'drain'. Default is 'accept'.

Update NodeBalancer Node (node-update)

Update a NodeBalancer Node.

-l, --label: Required. The label (name) of the NodeBalancer.

-p, --port: Required. The NodeBalancer port or config port.

-n, --name: Required. The Node name to update.

-N, --new-name: Optional. New name for the Node (rename).

-A, --address: Optional. The address:port combination used to communicate with this Node.

-W, --weight: Optional. Load balancing weight, 1-255. Higher means more connections.

-M, --mode: Optional. The connections mode to use. Options are 'accept', 'reject', and 'drain'.

Delete NodeBalancer Node (node-delete)

Delete a NodeBalancer Node.

-l, --label: The NodeBalancer name.

-p, --port: The NodeBalancer port or config port.

-n, --name: The specific Node name to delete.

List NodeBalancer Node (node-list)

List all Nodes for a specific NodeBalancer port.

-l, --label: Required. A specific NodeBalancer.

-p, --port: Required. The NodeBalancer port or config port.

Show NodeBalancer Node (node-show)

Show detailed information about a specific Node for a specific NodeBalancer port.

-l, --label: Required. A specific NodeBalancer.

-p, --port: Required. The NodeBalancer port or config port.

-n, --name: Required. The name of the Node to show.


StackScript Actions

Create

Create a StackScript.

-l, --label: The label (name) for the StackScript.

-d, --distribution: Distribution name or DistributionID to deploy.

-c, --codefile: The script file name (including the path) containing the source code.

-p, --ispublic: Optional. Whether this StackScript is published in the Library, for everyone to use. Options are yes, no, true, and false. Default is false.

-D, --description: Optional. Notes describing details about the StackScript.

-r, --revnote: Optional. Note for describing the version.

Update

Update a StackScript.

-l, --label: The label (name) of the StackScript to update.

-n, --new-label: Optional. Renames the StackScript.

-d, --distribution: Optional. Distribution name or DistributionID to deploy.

-c, --codefile: Optional. The script file name (including the path) containing the source code.

-p, --ispublic: Optional. Whether this StackScript is published in the Library, for everyone to use. Options are yes, no, true, and false. Default is false.

-D, --description: Optional. Notes describing details about the StackScript.

-r, --revnote: Optional. Note for describing the version.

Delete

Delete a StackScript.

-l, --label: The StackScript to delete.

List

List information about one or more StackScripts.

-l, --label: Optional. A specific StackScript to list.

Show

Display detailed information about one or more StackScripts.

-l, --label: Required. A specific StackScript to show.

Source

Display the source code for a StackScript.

-l, --label: Required. A specific StackScript to show.

More Repositories

1

apl-core

Application Platform for Linode Kubernetes Engine (or any other K8s)
Smarty
2,212
star
2

docs

Linode guides and tutorials.
Python
1,380
star
3

manager

Akamai's Cloud Manager is an open-source, single-page application designed as the primary frontend interface for interacting with the Linode API. It is entrusted by hundreds of thousands of customers with the management of their Linode services.
TypeScript
689
star
4

linode-cli

The official Linode command line interface.
Python
376
star
5

longview

Linode Longview Agent
Perl
334
star
6

terraform-provider-linode

Terraform Linode provider
Go
203
star
7

linodego

Go client for Linode REST v4 API
Go
138
star
8

linode_api4-python

Official Python bindings for the Linode API
Python
136
star
9

linode-cloud-controller-manager

Kubernetes Cloud Controller Manager for Linode
Go
83
star
10

terraform-linode-k8s

Kubernetes installer for Linode
HCL
67
star
11

linode-blockstorage-csi-driver

Container Storage Interface (CSI) Driver for Linode Block Storage
Go
65
star
12

ansible_linode

Linode Ansible Collection
Python
57
star
13

Marketplace-Apps

The Linode Marketplace is designed to make it easier for developers and companies to share One-Click Apps with the Linode community.
Shell
53
star
14

docker-volume-linode

Docker Volume driver for Linode Block Storage
Go
46
star
15

docker-machine-driver-linode

Linode Driver Plugin for Docker Machine using Linode APIv4
Go
44
star
16

cluster-api-provider-linode

A Cluster API implementation to create Kubernetes clusters for Linode (CAPL)
Go
26
star
17

beginners-guide-to-devops-tools

SCSS
26
star
18

linode-api-docs

Source for the Linode API v4 Docs
Python
23
star
19

packer-builder-linode

Packer Builder plugin for Linode Images
Go
21
star
20

apl-tasks

Tasks needed by APL to glue all the pieces together
TypeScript
20
star
21

provider-ceph

Provider Ceph is a Crossplane provider capable of managing S3 Buckets on one or more Ceph clusters.
Go
18
star
22

homebrew-cli

Homebrew formula for Linode CLI
Ruby
14
star
23

provider-linode

Provider Linode is a Crossplane provider for managing Linode Akamai Cloud Computing resources.
Go
12
star
24

packer-plugin-linode

Packer plugin for Linode Builder
Go
10
star
25

k8s-node-decorator

Add labels and annotations to your kubernetes nodes with this in cluster decorator that reads data from the metadata for the underlying linodes
Go
10
star
26

apl-clients

Factory to build and publish open API clients used in the apl-tasks repo
Shell
10
star
27

kontainer-engine-driver-lke

Kontainer Engine Driver for Rancher Cluster Driver
Go
8
star
28

developers

developers-linode-com
JavaScript
8
star
29

action-linode-cli

A GitHub Action for installing the Linode CLI
8
star
30

lelastic

elastic IP client
Go
7
star
31

linode-doc-template

Template for creating bounty docs for Linode.
6
star
32

rancher-ui-driver-linode

UI for Linode options when used as a Rancher Node Template
JavaScript
6
star
33

linode-react-components

React Components consumed by linode/manager and linode/linode-api-docs
JavaScript
6
star
34

linode-k8s-e2e-tests

A collection of end-to-end test for Kubernetes running on Linode
Go
6
star
35

velero-plugin

Verlero plugin that clones Linode CSI volumes for archival
Go
5
star
36

capi-bootstrap

Cluster API self-managed cluster bootstrapping
Go
4
star
37

linode-cosi-driver

A Kubernetes Container Object Storage Interface (COSI) Driver for Linode
Go
4
star
38

agreements

Linode's Legal Agreements
4
star
39

go-metadata

A Go package for interacting with the Linode Metadata Service.
Go
4
star
40

apl-docs

App Platform for LKE documentation website - https://apl-docs.net
JavaScript
4
star
41

linode-hugo-theme

JavaScript
4
star
42

manager-design

Design repository for the Linode manager
4
star
43

ui-cluster-driver-lke

UI for Linode options when used as a Rancher Cluster Driver
JavaScript
3
star
44

terraform-linode-dcos

[WORK-IN-PROGRESS] DC/OS Provisioning Terraform module for Linode
HCL
3
star
45

design-language-system

A repository of our foundational design tokens in various formats help build a cohesive and consistent visual language across digital platforms. Includes color palettes, typography, spacing, layout rules, and more. Provides a pre-built set of tokens for designers and developers to easily implement in their projects, promoting brand identity
TypeScript
3
star
46

apl-charts

App Platform for LKE - Catalog Helm charts
Smarty
3
star
47

ansible-specdoc

A utility for dynamically generating Ansible Collection documentation.
Python
2
star
48

py-metadata

A Python package for interacting with the Linode Metadata Service.
Python
2
star
49

styles

Linode stylesheets
CSS
2
star
50

lke-sintel-demo

Three manifest Nginx Ingress, Cert Manager, and External DNS demo on Linode Kubernetes Engine
HTML
2
star
51

ndproxy

Go
2
star
52

dhcpd-unnumbered

Go
2
star
53

arpproxy

Go
2
star
54

docs-cloud-projects

Jinja
1
star
55

docs-scripts

Python
1
star
56

ansible-specdoc-example

An example Ansible Collection using ansible-specdoc.
Python
1
star
57

splunk-addon-linode

Linode Splunk Integration
Python
1
star
58

rad-unnumbered

Go
1
star
59

cloud-firewall-controller

Go
1
star