Skip to content

itTrident/terraform-exoscale-faasd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

faasd for Exoscale

This repo contains a Terraform Module for how to deploy a faasd instance on the Exoscale using Terraform.

faasd, a lightweight & portable faas engine, is OpenFaaS reimagined, but without the cost and complexity of Kubernetes. It runs on a single host with very modest requirements, making it fast and easy to manage. Under the hood it uses containerd and Container Networking Interface (CNI) along with the same core OpenFaaS components from the main project.

What's a Terraform Module?

A Terraform Module refers to a self-contained packages of Terraform configurations that are managed as a group. This repo is a Terraform Module and contains many "submodules" which can be composed together to create useful infrastructure patterns.

How do you use this module?

This repository defines a Terraform module, which you can use in your code by adding a module configuration and setting its source parameter to URL of this repository:

module "faasd" {
  source = "https://github.com/itTrident/terraform-exoscale-faasd"
  name   = "faasd"
}

Requirements

Name Version
terraform >= 1.1.7
exoscale >= 0.35
random >= 3.1.2

Providers

Name Version
exoscale >= 0.35
random >= 3.1.2

Resources

Name Type
exoscale_compute_instance resource
exoscale_security_group resource
exoscale_ssh_key resource
random_password.faasd resource

Inputs

Name Description Type Default Required
basic_auth_password The basic auth password, if left empty, a random password is generated. string null no
basic_auth_user The basic auth user name. string "" no
domain A public domain for the faasd instance. This will be consumed by Caddy and install a Let's Encrypt certificate. string "" no
email Email used to order a certificate from Let's Encrypt string "" no
instance_type The instance type to use for the instance. string "" no
labels A map of key/value labels. map "" no
ssh_key_name Key name of the Key Pair to use for the instance. string "" yes
ssh_pub_key Public Key Pair to use for the instance. string "" yes
name The name of the faasd instance. string "" yes
zone The name of the zone to deploy the faasd into. string "" yes
disk The disk is to set the storage for instance number "" no
temp_name The name is to set the template. string "" yes
exoscale_api_key API key for exoscale. string "" yes
exoscale_api_secret API secret key for exoscale. string "" yes

Outputs

Name Description
basic_auth_password The path of basic auth password.
basic_auth_user The basic auth user name.
gateway_url The url of the faasd gateway
ipv4_address The public IP address of the faasd instance

See Also

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published