/
gcp.go
32 lines (28 loc) · 887 Bytes
/
gcp.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
package provider
import (
"github.com/pkg/errors"
"gopkg.in/yaml.v2"
"k8s.io/klog/v2"
)
const (
envGCPCredentialsJSON = "GOOGLE_CREDENTIALS"
envGCPRegion = "GOOGLE_REGION"
envGCPProject = "GOOGLE_PROJECT"
)
// GCPCredentials are credentials for GCP
type GCPCredentials struct {
GCPCredentialsJSON string `yaml:"gcpCredentialsJSON"`
GCPProject string `yaml:"gcpProject"`
}
func getGCPCredentials(secretData []byte, name, namespace, region string) (map[string]string, error) {
var ak GCPCredentials
if err := yaml.Unmarshal(secretData, &ak); err != nil {
klog.ErrorS(err, errConvertCredentials, "Name", name, "Namespace", namespace)
return nil, errors.Wrap(err, errConvertCredentials)
}
return map[string]string{
envGCPCredentialsJSON: ak.GCPCredentialsJSON,
envGCPProject: ak.GCPProject,
envGCPRegion: region,
}, nil
}