Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Upterm | 589 | 6 days ago | 48 | June 27, 2022 | 26 | apache-2.0 | Go | |||
Secure Terminal Sharing | ||||||||||
Provisioning | 305 | 2 months ago | 6 | mit | HCL | |||||
Kubernetes cluster provisioning using Terraform. | ||||||||||
Proxy Benchmarks | 210 | a month ago | 2 | HCL | ||||||
Benchmarks for several proxies | ||||||||||
Terraform Provider Lxd | 209 | a month ago | 31 | December 20, 2022 | 17 | mpl-2.0 | Go | |||
LXD Resource provider for Terraform | ||||||||||
Terraform Aws Ssh Bastion Service | 184 | 8 months ago | mit | HCL | ||||||
Terraform plan to deploy ssh bastion as a containerised, stateless service on AWS with IAM based authentication | ||||||||||
Tf_aws_bastion_s3_keys | 180 | 2 years ago | 9 | apache-2.0 | HCL | |||||
A Terraform module for creating bastion host on AWS EC2 and populate its ~/.ssh/authorized_keys with public keys from bucket | ||||||||||
Ops Cli | 180 | 19 days ago | 44 | October 14, 2021 | 18 | apache-2.0 | Python | |||
Ops - cli wrapper for Terraform, Ansible, Helmfile and SSH for cloud automation | ||||||||||
Terraform Aws Bastion | 173 | 4 months ago | 12 | apache-2.0 | HCL | |||||
Terraform module which creates SSH bastion infrastructure on AWS | ||||||||||
Terraform Module Versions | 169 | 2 days ago | 26 | mit | Go | |||||
CLI tool that checks Terraform code for module updates. Single binary, no dependencies. linux, osx, windows. #golang #cli #terraform | ||||||||||
Terraform Azurerm Compute | 147 | 19 hours ago | 3 | mit | HCL | |||||
Terraform Azure RM Compute Module |
This is a terraform provider that lets you provision servers on SoftLayer via Terraform.
Binaries are published on Bintray:
Copied from the Terraform documentation:
To install a plugin, put the binary somewhere on your filesystem, then configure Terraform to be able to find it. The configuration where plugins are defined is ~/.terraformrc for Unix-like systems and %APPDATA%/terraform.rc for Windows.
The binary should be renamed to terraform-provider-softlayer
You should update your .terraformrc and refer to the binary:
providers {
softlayer = "/path/to/terraform-provider-softlayer"
}
SoftLayer provisions SSH keys to new virtual servers only once during the creation of the virtual server. You can provision new SSH keys and assign them to the virtual server during the creation process, assign existing SSH keys by ID, or assign a combination of existing and newly provisioned SSH keys. Changing SSH keys assigned to a virtual server is not possible after it has already been created. It will need to be re-created. If you attempt to create a new SSH key using the softlayer_ssh_key
resource type, and that key is already in the SoftLayer system, you will get an error stating that the key already exists. If this happens, use the Id of the existing SSH key as in the example below.
To get a list of existing SSH key Id's from SoftLayer, I recommend using the SoftLayer API Python Client. Once the client is setup, you can run the following command and get the existing SSH key Id's from the output:
[[email protected] ~]# slcli sshkey list
............
:........:...........:.................................................:..........................:
: id : label : fingerprint : notes :
:........:...........:.................................................:..........................:
: 123456 : test1-dev : xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx : Test Key 1 :
: 789101 : test2-dev : xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx : Test Key 2 :
:........:...........:.................................................:..........................:
Here is an example that will setup the following:
(create this as sl.tf and run terraform commands from this directory):
provider "softlayer" {
username = ""
api_key = ""
}
# This will create a new SSH key that will show up under the \
# Devices>Manage>SSH Keys in the SoftLayer console.
resource "softlayer_ssh_key" "test_key_1" {
name = "test_key_1"
public_key = "${file(\"~/.ssh/id_rsa_test_key_1.pub\")}"
# Windows Example:
# public_key = "${file(\"C:\ssh\keys\path\id_rsa_test_key_1.pub\")}"
}
# Virtual Server created with existing SSH Key already in SoftLayer \
# inventory and not created using this Terraform template.
resource "softlayer_virtualserver" "myserver1" {
name = "my_server_1"
domain = "example.com"
ssh_keys = ["123456"]
image_type = "os_code"
image = "DEBIAN_7_64"
region = "ams01"
public_network_speed = 10
cpu = 1
ram = 1024
}
# Virtual Server created with a mix of previously existing and \
# Terraform created/managed resources.
resource "softlayer_virtualserver" "myserver2" {
name = "my_server_2"
domain = "example.com"
ssh_keys = ["123456", "${softlayer_ssh_key.test_key_1.id}"]
image_type = "template_id"
image = "dacf4db1-69a8-4bc8-bade-f51bd286c4df"
region = "ams01"
public_network_speed = 10
cpu = 1
ram = 1024
}
You'll need to provide your SoftLayer username and API key, so that Terraform can connect. If you don't want to put credentials in your configuration file, you can leave them out:
provider "softlayer" {}
...and instead set these environment variables:
git clone
this repository into $GOPATH/src/github.com/finn-no/terraform-provider-softlayer
go get
to get dependenciesgo install
to build the binary. You will now find the
binary at $GOPATH/bin/terraform-provider-softlayer
..bintray.json
with the new version to be released (e.g. 0.1337), and the release date.git tag 0.1337
git push --tags