/
environment.go
77 lines (58 loc) · 1.81 KB
/
environment.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
package hyperv
import (
config "github.com/DataDog/test-infra-definitions/common/config"
"github.com/DataDog/test-infra-definitions/common/namer"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
const (
hvConfigNamespace = "hyperv"
hvNamerNamespace = "hv"
// HyperV Infra (local)
DDInfraDefaultPublicKeyPath = "hv/defaultPublicKeyPath"
DDInfraDefaultPrivateKeyPath = "hv/defaultPrivateKeyPath"
DDInfraDefaultPrivateKeyPassword = "hv/defaultPrivateKeyPassword"
)
type Environment struct {
*config.CommonEnvironment
Namer namer.Namer
}
var _ config.CloudProviderEnvironment = (*Environment)(nil)
func NewEnvironment(ctx *pulumi.Context) (Environment, error) {
env := Environment{
Namer: namer.NewNamer(ctx, hvNamerNamespace),
}
commonEnv, err := config.NewCommonEnvironment(ctx, &env)
if err != nil {
return Environment{}, err
}
env.CommonEnvironment = &commonEnv
return env, nil
}
// Cross Cloud Provider config
func (e *Environment) InternalRegistry() string {
return "none"
}
func (e *Environment) InternalDockerhubMirror() string {
return "registry-1.docker.io"
}
// Common
func (e *Environment) DefaultPublicKeyPath() string {
return e.InfraConfig.Get(DDInfraDefaultPublicKeyPath)
}
func (e *Environment) DefaultPrivateKeyPath() string {
return e.InfraConfig.Get(DDInfraDefaultPrivateKeyPath)
}
func (e *Environment) DefaultPrivateKeyPassword() string {
return e.InfraConfig.Get(DDInfraDefaultPrivateKeyPassword)
}
func (e *Environment) GetCommonEnvironment() *config.CommonEnvironment {
return e.CommonEnvironment
}
// We need to implement unrelated fonctions because of current OS design
// to implement common.Environment interface
func (e *Environment) DefaultInstanceType() string {
panic("not implemented")
}
func (e *Environment) DefaultARMInstanceType() string {
panic("not implemented")
}