runtime: add WithVolume options and k8s support (#2032)

* runtime: add WithVolume option

* Fix pointer

* k8s: fix template

* k8s: fix template

* k8s: fix template
This commit is contained in:
ben-toogood
2020-09-30 16:38:29 +01:00
committed by GitHub
parent 02b74a5487
commit a365c51c2b
4 changed files with 61 additions and 0 deletions

View File

@@ -139,6 +139,21 @@ spec:
{{- end }}
{{- end }}
{{- end }}
volumeMounts:
{{- with .VolumeMounts }}
{{- range . }}
- name: {{ .Name }}
mountPath: {{ .MountPath }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}
volumes:
{{- with .Spec.Template.PodSpec.Volumes }}
{{- range . }}
- name: {{ .Name }}
persistentVolumeClaim:
claimName: {{ .PersistentVolumeClaim.ClaimName }}
{{- end }}
{{- end }}
`

View File

@@ -43,6 +43,7 @@ type Container struct {
Ports []ContainerPort `json:"ports,omitempty"`
ReadinessProbe *Probe `json:"readinessProbe,omitempty"`
Resources *ResourceRequirements `json:"resources,omitempty"`
VolumeMounts []VolumeMount `json:"volumeMounts,omitempty"`
}
// DeploymentSpec defines micro deployment spec
@@ -110,6 +111,7 @@ type Metadata struct {
type PodSpec struct {
Containers []Container `json:"containers"`
ServiceAccountName string `json:"serviceAccountName"`
Volumes []Volume `json:"volumes"`
}
// PodList
@@ -248,3 +250,20 @@ type ResourceLimits struct {
CPU string `json:"cpu,omitempty"`
EphemeralStorage string `json:"ephemeral-storage,omitempty"`
}
// Volume describes a volume which can be mounted to a pod
type Volume struct {
Name string `json:"name"`
PersistentVolumeClaim PersistentVolumeClaimVolumeSource `json:"persistentVolumeClaim,omitempty"`
}
// PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace
type PersistentVolumeClaimVolumeSource struct {
ClaimName string `json:"claimName"`
}
// VolumeMount describes a mounting of a Volume within a container.
type VolumeMount struct {
Name string `json:"name"`
MountPath string `json:"mountPath"`
}