{"id":20974755,"url":"https://github.com/tintoy/docker-machine-driver-terraform","last_synced_at":"2025-08-16T09:08:48.122Z","repository":{"id":57528068,"uuid":"74082751","full_name":"tintoy/docker-machine-driver-terraform","owner":"tintoy","description":"Docker Machine driver that uses Terraform for infrastructure provisioning","archived":false,"fork":false,"pushed_at":"2016-11-23T03:26:32.000Z","size":461,"stargazers_count":11,"open_issues_count":1,"forks_count":4,"subscribers_count":1,"default_branch":"development/v1.0","last_synced_at":"2025-05-14T13:45:35.707Z","etag":null,"topics":["docker-machine","docker-machine-driver","terraform"],"latest_commit_sha":null,"homepage":"https://asciinema.org/a/93410","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tintoy.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-11-18T01:23:01.000Z","updated_at":"2023-11-21T15:12:10.000Z","dependencies_parsed_at":"2022-09-03T22:20:10.007Z","dependency_job_id":null,"html_url":"https://github.com/tintoy/docker-machine-driver-terraform","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/tintoy/docker-machine-driver-terraform","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tintoy%2Fdocker-machine-driver-terraform","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tintoy%2Fdocker-machine-driver-terraform/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tintoy%2Fdocker-machine-driver-terraform/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tintoy%2Fdocker-machine-driver-terraform/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tintoy","download_url":"https://codeload.github.com/tintoy/docker-machine-driver-terraform/tar.gz/refs/heads/development/v1.0","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tintoy%2Fdocker-machine-driver-terraform/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270690161,"owners_count":24628823,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-16T02:00:11.002Z","response_time":91,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker-machine","docker-machine-driver","terraform"],"created_at":"2024-11-19T04:33:08.146Z","updated_at":"2025-08-16T09:08:48.097Z","avatar_url":"https://github.com/tintoy.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Terraform driver for Docker Machine\n\nDo you use Docker Machine?\nDo you sometimes wish you had a little more control over the infrastructure it creates?\n\nWell now you do :)\n\n[![asciicast](docs/images/screencast.png)](https://asciinema.org/a/93410)\n\nIf you can express it as a Terraform configuration, you can use it from Docker Machine.\n\n### Arguments\n\nThe driver accepts the following arguments:\n\n* `--terraform-config` (Required) - The path (or URL) of the Terraform configuration to use\n* `--terraform-variable` (Optional) - One or more items of the form \"name=value\" representing additional variables for the Terraform configuration  \nFor example: `--terraform-variable variable1=foo --terraform-variable variable2=bar`\n* `--terraform-variables-from` (Optional) - An optional file containing the JSON that represents additional variables for the Terraform configuration\n* `--terraform-refresh` (Optional) - A flag which, if specified, will cause the driver to refresh the configuration after applying it\n\n### Terraform configuration\n\nThe driver can work with a Terraform configuration in any of the following formats:\n\n* A single local .tf file\n* A single local .zip file containing 1 or more .tf files\n* A local directory containing 1 or more .tf files\n* A single remote .tf file (using HTTP)\n* A single remote .zip file containing 1 or more .tf files (using HTTP)\n\nIt will supply the following values to the configuration as variables (in addition to any supplied via `--terraform-variables-file`):\n\n* `dm_client_ip` - The public IP of the client machine (useful for configuring firewall rules)\n* `dm_machine_name` - The name of the Docker machine being created\n* `dm_ssh_user` - The SSH user name to use for authentication\n* `dm_ssh_port` - The SSH port to use\n* `dm_ssh_public_key_file` - The public SSH key file to use for authentication\n* `dm_ssh_private_key_file` - The private SSH key file to use for authentication\n* `dm_onetime_password` - An optional one-time password that can be used for scenarios such as bootstrapping key-based SSH authentication\n\nIt expects the following [outputs](https://www.terraform.io/docs/configuration/outputs.html) from Terraform:\n\n* `dm_machine_ip` (Required) - The IP address of the target machine\n* `dm_machine_ssh_username` (Optional) - The SSH user name for authentication to the target machine  \nIf specified this overrides the variable of the same name that was passed in\n\n#### Examples\n\nHere are some [examples](examples) for several different providers:\n\n* [Digital Ocean](examples/digital_ocean)\n* [Dimension Data CloudControl](examples/ddcloud)\n  * [Public IP](examples/ddcloud/public_ip)\n  * [Private IP](examples/ddcloud/private_ip)\n* [Amazon Web Services (AWS)](examples/aws)\n* Azure  \nStill to be implemented\n\n#### Rancher\n\nYes you can use this driver with Rancher :)\n\nUnfortunately, at the moment it works best via the Rancher API because I haven't built a custom UI for it, so you may have issues supplying variable values to it (unless you can place the variables file in a folder on the rancher server).\nEventually, the [custom UI plugin](https://github.com/tintoy/rancher-ui-driver-terraform#readme) will enable you to add and remove variables as required. \n\n## Installing the driver\n\nDownload the [latest release](https://github.com/tintoy/docker-machine-driver-terraform/releases) and place the provider executable in the same directory as `docker-machine` executable (or somewhere on your `PATH`).\n\n## Building the driver\n\nIf you'd rather run from source, run `make dev` and then `source ./use-dev-driver.sh`. You're good to go :)\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for more detailed information about building / modifying the driver.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftintoy%2Fdocker-machine-driver-terraform","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftintoy%2Fdocker-machine-driver-terraform","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftintoy%2Fdocker-machine-driver-terraform/lists"}