New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

@ppwcode/terraform-ppwcode-modules

Package Overview
Dependencies
Maintainers
2
Versions
37
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ppwcode/terraform-ppwcode-modules

A number of general Terraform modules

latest
Source
npmnpm
Version
6.2.0
Version published
Maintainers
2
Created
Source

This repository contains a number of general Terraform modules.

The Terraform documentation describes how to use modules. You import the modules from Github, as described in the documentation. Use the format for public Github repositories, using the "double-slash" to refer to the correct subdirectory.

module "MODULE_INSTANCE_NAME" {
    source = "github.com/peopleware/terraform-ppwcode-modules//MODULE_NAME"
}

On the other hand, …

The module domain_version/ directly, and thus the module subdomain/ that depends on it, uses a Node.js JavaScript script (though a Terraform external data source provider) to get information about the SOA serial and the state of the git repository of the Terraform configuration it is used in. Node.js JavaScript code depends on other npm packages, that need to be installed for the script to be able to work. This repository is therefor, apart from being a collection of Terraform modules, also a Node.js package, with dependencies described in package.json. The dependencies need to be available in a node_modules/ folder next to the script, or in one of its ancestor folders, before Terraform can use the modules in > terraform plan or > terraform apply.

This is done by running > npm install in the project that uses these modules.

For this to work, this collection of Terraform modules / npm package must itself be loaded in the Terraform configuration in which it is used via > npm install. These commands work recursively.

This is done by making the configuration in which these modules are used an npm package itself, with this collection of Terraform modules defined as a development dependency in its package.json. Once > npm install is executed, these modules will be available in node_modules/terraform-ppwcode-modules/. To create an instance of a module MODULE_NAME then, the Terraform configuration has to refer to it via a relative path, like this:

module "MODULE_INSTANCE_NAME" {
    source = "./node_modules/terraform-ppwcode-modules/MODULE_NAME"
}

Note to the Terraform maintainers: go with the flow, and promote npm as the primary method to distribute modules.

Compatibility

This library is intended to be compatible with Node 6, 8, and 10.

Development

Node version

Development is done in Node 10, via nvm.

Compatibility

The code does not use async / await, which was introduced in Node 8.

Also, we use Q as Promise library, instead of native Promises, since Node 6 does not yet support util.promisify(). We use Q.nfcall instead.

Style

JavaScript Style Guide

This code uses Standard coding style.

TODO

Setup a CI

Move to ppwcode team. Request access from Travis. Create parallel builds for Node 6, 8 10, and back tag.

Keywords

Terraform

FAQs

Package last updated on 05 Feb 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts