open-consul/test/integration/consul-container/libs/node/node.go

25 lines
434 B
Go

package node
import (
"context"
"github.com/hashicorp/consul/api"
)
// Node represent a Consul node abstraction
type Node interface {
Terminate() error
GetClient() *api.Client
GetAddr() (string, int)
GetConfig() Config
Upgrade(ctx context.Context, config Config) error
}
// Config is a set of configurations required to create a Node
type Config struct {
HCL string
Image string
Version string
Cmd []string
}