-
Notifications
You must be signed in to change notification settings - Fork 12
/
ssl_dir_config.go
52 lines (45 loc) · 1015 Bytes
/
ssl_dir_config.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
package registry
import (
corev1 "k8s.io/api/core/v1"
)
type SSLDirConfig struct {
envVarName string
volumeName string
certsPath string
}
func NewSSLDirConfig() SSLDirConfig {
return SSLDirConfig{
envVarName: "SSL_CERT_DIR", // golang's crypto/x509 (TODO SSL_CERT_FILE?)
volumeName: "host-certs",
certsPath: "/etc/ssl/certs",
}
}
func (c SSLDirConfig) EnvVar() corev1.EnvVar {
return corev1.EnvVar{
Name: c.envVarName,
Value: c.certsPath,
}
}
func (c SSLDirConfig) ContainsEnvVar(envs []corev1.EnvVar) bool {
for _, env := range envs {
if env.Name == c.envVarName {
return true
}
}
return false
}
func (c SSLDirConfig) VolumeMount(readOnly bool) corev1.VolumeMount {
return corev1.VolumeMount{
Name: c.volumeName,
MountPath: c.certsPath,
ReadOnly: readOnly,
}
}
func (c SSLDirConfig) Volume() corev1.Volume {
return corev1.Volume{
Name: c.volumeName,
VolumeSource: corev1.VolumeSource{
HostPath: &corev1.HostPathVolumeSource{Path: c.certsPath},
},
}
}