All Projects → gstruct → terraform-provider-dockermachine

gstruct / terraform-provider-dockermachine

Licence: Apache-2.0 license
Docker machine provider for Terraform

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to terraform-provider-dockermachine

terraform-provider-sumologic
This project is done. It has been integrated into https://github.com/SumoLogic/sumologic-terraform-provider
Stars: ✭ 13 (-35%)
Mutual labels:  terraform-provider
terraform-provider-local
Terraform local provider – Used to manage local resources, such as creating files.
Stars: ✭ 137 (+585%)
Mutual labels:  terraform-provider
terraform-provider-infoblox
Infoblox plugin for Terraform
Stars: ✭ 40 (+100%)
Mutual labels:  terraform-provider
terraform-provider-mssql
Terraform provider for Microsoft SQL Server
Stars: ✭ 18 (-10%)
Mutual labels:  terraform-provider
terraform-provider-hetznerdns
Terraform provider for Hetzner DNS
Stars: ✭ 78 (+290%)
Mutual labels:  terraform-provider
playing-docker-swarm-docker-machine
Scripts to help you to play with Docker Swarm and Docker Machine
Stars: ✭ 19 (-5%)
Mutual labels:  docker-machine
datadog-to-terraform
Converts Datadog resource JSON into Terraform alarm code.
Stars: ✭ 191 (+855%)
Mutual labels:  terraform-provider
terraform-provider-testing
An experimental Terraform provider to assist in writing tests for Terraform modules
Stars: ✭ 59 (+195%)
Mutual labels:  terraform-provider
terraform-provider-cyral
Cyral Terraform Provider
Stars: ✭ 12 (-40%)
Mutual labels:  terraform-provider
node-docker-share
Share local folders with a Docker Machine VM
Stars: ✭ 30 (+50%)
Mutual labels:  docker-machine
terraform-provider-icinga2
Terraform Icinga2 provider
Stars: ✭ 13 (-35%)
Mutual labels:  terraform-provider
terraform-provider-nomad
Terraform Nomad provider
Stars: ✭ 91 (+355%)
Mutual labels:  terraform-provider
terraform-provider-minio
Terraform provider for managing minio S3 buckets and IAM Users
Stars: ✭ 123 (+515%)
Mutual labels:  terraform-provider
terraform-provider-vagrant
A Vagrant provider for terraform.
Stars: ✭ 43 (+115%)
Mutual labels:  terraform-provider
terraform-provider-hsdp
Terraform provider to orchestrate various HSDP resources like IAM, CDL, CDR, MDM, Container Host, Edge, etc
Stars: ✭ 26 (+30%)
Mutual labels:  terraform-provider
TerraformPluginDotNet
Write Terraform providers in C#.
Stars: ✭ 17 (-15%)
Mutual labels:  terraform-provider
terraform-provider-pingfederate
Ping Federate Terraform Provider
Stars: ✭ 13 (-35%)
Mutual labels:  terraform-provider
terraform-provider-dns
Supports DNS updates (RFC 2136) and can optionally be configured with secret key based transaction authentication (RFC 2845).
Stars: ✭ 75 (+275%)
Mutual labels:  terraform-provider
terraform-provider-filesystem
A @hashicorp Terraform provider for interacting with the filesystem
Stars: ✭ 61 (+205%)
Mutual labels:  terraform-provider
terraform-provider-teamcity
Terraform Provider for Jetbrains TeamCity CI server
Stars: ✭ 70 (+250%)
Mutual labels:  terraform-provider

terraform-provider-dockermachine

Docker machine provider for Terraform

Go Report Card Build Status

Requisites

Note: docker-machine is not required as its library is embedded into the provider.

Install

$ go get github.com/gstruct/terraform-provider-dockermachine

Usage

This provider makes available to Terraform all the docker-machine drivers as resources named "dockermachine_<drivername>".
All the creation flags of each driver (common or specific) are available as attributes of the resource, with dash characters ("-") replaced by underlines ("_").
Furthermore, the following computed attributes are available:

  • address: IP address of the docker machine
  • docker_url: URL of the docker daemon
  • docker_version: version of the docker daemon
  • ssh_hostname: SSH hostname
  • ssh_keypath: SSH private key path
  • ssh_port: SSH port
  • ssh_username: SSH username

Finally the state of the machine can be set using the attribute "state", either "running" or "stopped". Upon refresh, state will contain the actual state of the machine, lowercased.

Currently, any change to resource attributes, except for the "state" attribute, will trigger a destroy-create cycle.

The following parameters can be set at provider level:

  • debug: boolean, enables docker-machine debug output in Terraform log
  • storage_path: set default storage path for docker-machine
  • certs_directory: set default path for docker-machine certs directory

Example

resource "dockermachine_virtualbox" "node" {
    count = 2
    name = "${format("node-%02d", count.index+1)}"
    virtualbox_cpu_count = 2
    virtualbox_memory = 1024
    
    provisioner "remote-exec" {
        inline = [
            "touch /tmp/this_is_a_test",
        ]
        connection {
            type        = "ssh"
            host        = "${self.ssh_hostname}"
            port        = "${self.ssh_port}"
            user        = "${self.ssh_username}"
            private_key = "${file("${self.ssh_keypath}")}"
        }
    }
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].