• Stars
    star
    203
  • Rank 192,890 (Top 4 %)
  • Language
    Go
  • License
    Mozilla Public Li...
  • Created about 6 years ago
  • Updated 14 days ago

Reviews

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

Repository Details

Terraform Linode provider

Terraform Provider for Linode

Maintainers

This provider plugin is maintained by Linode.

Requirements

  • Terraform 0.12.0+
  • Go 1.11.0 or higher (to build the provider plugin)

Using the provider

See the Linode Provider documentation to get started using the Linode provider. The examples included in this repository demonstrate usage of many of the Linode provider resources.

Additional documentation and examples are provided in the Linode Guide, Using Terraform to Provision Linode Environments.

Development

Building the provider

If you wish to build or contribute code to the provider, you'll first need Git and Go installed on your machine (version 1.11+ is required).

You'll also need to correctly configure a GOPATH, as well as adding $GOPATH/bin to your $PATH.

To compile the provider, run make build. This will build the provider and put the provider binary in the $GOPATH/bin directory.

Clone this repository to: $GOPATH/src/github.com/linode/terraform-provider-linode

mkdir -p $GOPATH/src/github.com/linode
cd $GOPATH/src/github.com/linode
git clone https://github.com/linode/terraform-provider-linode.git

Enter the provider directory and build the provider

cd $GOPATH/src/github.com/linode/terraform-provider-linode
make build

Testing the provider

In order to run the full suite of Acceptance tests, run make testacc. Acceptance testing will require the LINODE_TOKEN variable to be populated with a Linode APIv4 Token. See Linode Provider documentation for more details.

Note: Acceptance tests create real resources, and often cost money to run.

make testacc

In order to run specific Acceptance tests, the following command template can be used.

make PKG_NAME="linode/volume" TESTARGS="-run TestAccResourceVolume_basic" testacc

There are a number of useful flags and variables to aid in debugging.

  • LINODE_DEBUG - If truthy, this will emit all HTTP requests and responses to the Linode API. This may include sensitive data such as the account tax_id (VAT) and the credit card last_four and expiry. Be very cautious about storing this output.

  • TF_LOG - This instructs Terraform to emit trace level (and higher) logging messages.

  • TF_SCHEMA_PANIC_ON_ERROR - This forces Terraform to panic if a Schema Set command failed.

These values (along with LINODE_TOKEN) can be placed in a .env file in the repository root to avoid repeating them on the command line.

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

cli

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

linode-cli

The official Linode command line interface.
Python
376
star
6

longview

Linode Longview Agent
Perl
334
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