Skip to content

Commit

Permalink
upgraded provider framework
Browse files Browse the repository at this point in the history
  • Loading branch information
Andrew Chubatiuk committed May 4, 2023
1 parent bd6f3dc commit 5e0c792
Show file tree
Hide file tree
Showing 8 changed files with 408 additions and 397 deletions.
23 changes: 11 additions & 12 deletions example/main.tf
Original file line number Diff line number Diff line change
@@ -1,24 +1,23 @@
provider "ssh" {
}

data "ssh_tunnel" "consul" {
user = "root"
auth {
private_key {
auth = {
private_key = {
content = file(pathexpand("~/.ssh/id_rsa"))
}
}
server {
host = "8.8.8.8"
server = {
host = "10.18.21.31"
port = 22
}
remote {
}

data "ssh_tunnel" "consul" {
remote = {
port = 8500
}
}

provider "consul" {
address = data.ssh_tunnel.consul.local.0.address
address = data.ssh_tunnel.consul.local.address
scheme = "http"
}

Expand All @@ -30,11 +29,11 @@ data "consul_keys" "keys" {
}

output "local_address" {
value = data.ssh_tunnel.consul.local.0.host
value = data.ssh_tunnel.consul.local.host
}

output "random_port" {
value = data.ssh_tunnel.consul.local.0.port
value = data.ssh_tunnel.consul.local.port
}

output "revision" {
Expand Down
2 changes: 1 addition & 1 deletion example/versions.tf
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
terraform {
required_providers {
ssh = {
source = "stephansundin/ssh"
source = "AndrewChubatiuk/ssh"
}
consul = {
source = "consul"
Expand Down
8 changes: 3 additions & 5 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,17 @@ module github.com/stefansundin/terraform-provider-ssh
go 1.16

require (
github.com/agext/levenshtein v1.2.3 // indirect
github.com/fatih/color v1.15.0 // indirect
github.com/hashicorp/errwrap v1.1.0 // indirect
github.com/hashicorp/go-hclog v1.5.0 // indirect
github.com/hashicorp/terraform-plugin-framework v1.2.0
github.com/hashicorp/terraform-plugin-framework-validators v0.10.0
github.com/hashicorp/terraform-plugin-go v0.15.0 // indirect
github.com/hashicorp/terraform-plugin-sdk/v2 v2.26.1
github.com/hashicorp/terraform-svchost v0.1.0 // indirect
github.com/hashicorp/yamux v0.1.1 // indirect
github.com/jinzhu/copier v0.3.5
github.com/mattn/go-isatty v0.0.18 // indirect
github.com/mitchellh/go-wordwrap v1.0.1 // indirect
github.com/oklog/run v1.1.0 // indirect
github.com/vmihailenco/tagparser v0.1.2 // indirect
github.com/vmihailenco/msgpack v4.0.4+incompatible // indirect
golang.org/x/crypto v0.8.0
google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect
)
128 changes: 5 additions & 123 deletions go.sum

Large diffs are not rendered by default.

20 changes: 13 additions & 7 deletions main.go
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
package main

import (
"context"
"flag"
"log"
"os"
"os/signal"
"strconv"
"syscall"

"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
"github.com/hashicorp/terraform-plugin-sdk/v2/plugin"
"github.com/hashicorp/terraform-plugin-framework/providerserver"
"github.com/stefansundin/terraform-provider-ssh/provider"
"github.com/stefansundin/terraform-provider-ssh/ssh"
)
Expand All @@ -32,12 +32,18 @@ func logSignals() {
func main() {
log.Printf("[DEBUG] pid=%d in main", os.Getpid())
go logSignals()
if _, ok := os.LookupEnv(plugin.Handshake.MagicCookieKey); ok {
plugin.Serve(&plugin.ServeOpts{
ProviderFunc: func() *schema.Provider {
return provider.SSHProvider()
},
if _, ok := os.LookupEnv("TF_PLUGIN_MAGIC_COOKIE"); ok {
var debug bool
log.SetFlags(0)
flag.BoolVar(&debug, "debug", false, "enable provider debug")
flag.Parse()
err := providerserver.Serve(context.Background(), provider.New(), providerserver.ServeOpts{
Address: "registry.terraform.io/AndrewChubatiuk/ssh",
Debug: debug,
})
if err != nil {
log.Fatal(err.Error())
}
} else {
var addr string
var ppid int
Expand Down
Loading

0 comments on commit 5e0c792

Please sign in to comment.