Skip to content
Terraform OpenFaaS provider
Go Makefile Shell HTML
Branch: master
Clone or download
Latest commit f23f94a Jun 6, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples Adds test for secret Jun 5, 2019
openfaas Adds test for secret Jun 5, 2019
scripts Initial commit Sep 1, 2018
vendor Adds missing vendoring for tests Apr 20, 2019
website
.gitignore Add authenticated example Sep 21, 2018
.travis.yml Add goreleaser Sep 22, 2018
CHANGELOG.md Initial commit Sep 1, 2018
GNUmakefile Adds website building instructions Apr 19, 2019
Gopkg.lock Adds missing vendoring for tests Apr 20, 2019
Gopkg.toml Adds describe hack to vender folder Sep 2, 2018
LICENSE Initial commit Sep 1, 2018
README.md Adds website building instructions Apr 19, 2019
goreleaser.yml Add goreleaser Sep 22, 2018
main.go Fix provider func mistake Sep 21, 2018

README.md

Terraform provider for OpenFaaS

Build Status

The terraform provider for OpenFaaS

Documentation

Full documentation, see: https://openfaas-tfe.edwardwilde.com/docs/providers/openfaas

Example Usage

resource "openfaas_function" "function_test" {
  name            = "test-function"
  image           = "functions/alpine:latest"
  f_process       = "sha512sum"
  labels {
    Group       = "London"
    Environment = "Test"
  }

  annotations {
    CreatedDate = "Mon Sep  3 07:15:55 BST 2018"
  }
}

image

Building and Installing

Since this isn't maintained by Hashicorp, you have to install it manually. There are two main ways:

Download a release

Download and unzip the latest release.

Then, move the binary to your terraform plugins directory. The docs don't fully describe where this is.

  • On Mac, it's ~/.terraform.d/plugins/darwin_amd64
  • On Linux, it's ~/.terraform.d/plugins/linux_amd64
  • On Windows, it's $APPDATA\terraform.d\plugins\windows_amd64

Build using the Makefile

Install Go v1.9+ on your machine, and dep; clone the source, and let make install do the rest.

Mac

brew install go  # or upgrade
brew install dep # or upgrade
mkdir -p $GOPATH/src/github.com/ewilde; cd $GOPATH/src/github.com/ewilde
git clone https://github.com/ewilde/terraform-provider-openfaas 
cd terraform-provider-openfaas
make install
# it may take a while to download `hashicorp/terraform`. be patient.

Linux

Install go and dep from your favourite package manager or from source. Then:

mkdir -p $GOPATH/src/github.com/ewilde; cd $GOPATH/src/github.com/ewilde
git clone https://github.com/ewilde/terraform-provider-openfaas 
cd terraform-provider-openfaas
make install
# it may take a while to download `hashicorp/terraform`. be patient.

Windows

In PowerShell, running as Administrator:

choco install golang
choco install dep
choco install zip
choco install git # for git-bash
choco install make

In a shell that has Make, like Git-Bash:

mkdir -p $GOPATH/src/github.com/ewilde; cd $GOPATH/src/github.com/ewilde
git clone https://github.com/ewilde/terraform-provider-openfaas 
cd terraform-provider-openfaas
make install
# it may take a while to download `hashicorp/terraform`. be patient.

Developing the Provider

In order to test the provider, you can simply run make test.

$ make test

In order to run the full suite of Acceptance tests, run make testacc.

Note: At the moment the acceptance tests assume OpenFaaS gateway is running on http://localhost:8080 without basic authentication enabled.

$ make testacc

Building the documentation

Current a bit manual ¯_(ツ)_/¯

  1. build the content
$ make website-build
  1. copy build output into gh-pages branch of this repo
$ git checkout gh-pages 
cp -r ../terraform-website/content/build/docs/providers/openfaas/ ./docs/providers/openfaas
You can’t perform that action at this time.