mirror of https://github.com/kubernetes/kops.git
Merge pull request #398 from yissachar/encrypt-etcd-volumes
Add option to encrypt Etcd volumes
This commit is contained in:
commit
1f67271650
|
|
@ -6,6 +6,8 @@ ebsVolume/{{$m.Name}}.etcd-{{$etcd.Name}}.{{ ClusterName }}:
|
|||
availabilityZone: {{ $m.Zone }}
|
||||
sizeGB: {{ or $m.VolumeSize 20 }}
|
||||
volumeType: {{ or $m.VolumeType "gp2" }}
|
||||
kmsKeyId: {{ $m.KmsKeyId }}
|
||||
encrypted: {{ or $m.EncryptedVolume false }}
|
||||
tags:
|
||||
{{ range $k, $v := EtcdClusterMemberTags $etcd $m }}
|
||||
{{ $k }}: "{{ $v }}"
|
||||
|
|
|
|||
|
|
@ -240,11 +240,13 @@ type EtcdClusterSpec struct {
|
|||
|
||||
type EtcdMemberSpec struct {
|
||||
// Name is the name of the member within the etcd cluster
|
||||
Name string `json:"name,omitempty"`
|
||||
Zone string `json:"zone,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Zone string `json:"zone,omitempty"`
|
||||
|
||||
VolumeType string `json:"volumeType,omitempty"`
|
||||
VolumeSize int `json:"volumeSize,omitempty"`
|
||||
VolumeType string `json:"volumeType,omitempty"`
|
||||
VolumeSize int `json:"volumeSize,omitempty"`
|
||||
KmsKeyId string `json:"kmsKeyId,omitempty"`
|
||||
EncryptedVolume bool `json:"encryptedVolume,omitempty"`
|
||||
}
|
||||
|
||||
type ClusterZoneSpec struct {
|
||||
|
|
|
|||
|
|
@ -17,6 +17,8 @@ type EBSVolume struct {
|
|||
AvailabilityZone *string
|
||||
VolumeType *string
|
||||
SizeGB *int64
|
||||
KmsKeyId *string
|
||||
Encrypted *bool
|
||||
Tags map[string]string
|
||||
}
|
||||
|
||||
|
|
@ -76,6 +78,8 @@ func (e *EBSVolume) find(cloud *awsup.AWSCloud) (*EBSVolume, error) {
|
|||
AvailabilityZone: v.AvailabilityZone,
|
||||
VolumeType: v.VolumeType,
|
||||
SizeGB: v.Size,
|
||||
KmsKeyId: v.KmsKeyId,
|
||||
Encrypted: v.Encrypted,
|
||||
Name: e.Name,
|
||||
}
|
||||
|
||||
|
|
@ -111,6 +115,8 @@ func (_ *EBSVolume) RenderAWS(t *awsup.AWSAPITarget, a, e, changes *EBSVolume) e
|
|||
Size: e.SizeGB,
|
||||
AvailabilityZone: e.AvailabilityZone,
|
||||
VolumeType: e.VolumeType,
|
||||
KmsKeyId: e.KmsKeyId,
|
||||
Encrypted: e.Encrypted,
|
||||
}
|
||||
|
||||
response, err := t.Cloud.EC2.CreateVolume(request)
|
||||
|
|
@ -128,6 +134,8 @@ type terraformVolume struct {
|
|||
AvailabilityZone *string `json:"availability_zone"`
|
||||
Size *int64 `json:"size"`
|
||||
Type *string `json:"type"`
|
||||
KmsKeyId *string `json:"kmsKeyId"`
|
||||
Encrypted *bool `json:"encrypted"`
|
||||
Tags map[string]string `json:"tags,omitempty"`
|
||||
}
|
||||
|
||||
|
|
@ -136,6 +144,8 @@ func (_ *EBSVolume) RenderTerraform(t *terraform.TerraformTarget, a, e, changes
|
|||
AvailabilityZone: e.AvailabilityZone,
|
||||
Size: e.SizeGB,
|
||||
Type: e.VolumeType,
|
||||
KmsKeyId: e.KmsKeyId,
|
||||
Encrypted: e.Encrypted,
|
||||
Tags: e.Tags,
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue