Skip to content

Commit

Permalink
Add variable expansion for ImagePullPolicy in Tasks
Browse files Browse the repository at this point in the history
Closes #3423

Add variable expansion in Tasks for fields:
- `spec.steps[].imagePullPolicy`
- `spec.sidecar[].imagePullPolicy`
  • Loading branch information
rinckm committed Nov 3, 2020
1 parent b72fc4f commit 801ab3c
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 10 deletions.
2 changes: 2 additions & 0 deletions docs/variables.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,7 @@ variable via `resources.inputs.<resourceName>.<variableName>` or
| --- | ----- |
| `Task` | `spec.steps[].name` |
| `Task` | `spec.steps[].image` |
| `Task` | `spec.steps[].imagePullPolicy` |
| `Task` | `spec.steps[].env.value` |
| `Task` | `spec.steps[].env.valuefrom.secretkeyref.name` |
| `Task` | `spec.steps[].env.valuefrom.secretkeyref.key` |
Expand All @@ -150,6 +151,7 @@ variable via `resources.inputs.<resourceName>.<variableName>` or
| `Task` | `spec.volumes[].csi.volumeattributes.* `|
| `Task` | `spec.sidecars[].name` |
| `Task` | `spec.sidecars[].image` |
| `Task` | `spec.sidecars[].imagePullPolicy` |
| `Task` | `spec.sidecars[].env.value` |
| `Task` | `spec.sidecars[].env.valuefrom.secretkeyref.name` |
| `Task` | `spec.sidecars[].env.valuefrom.secretkeyref.key` |
Expand Down
1 change: 1 addition & 0 deletions pkg/apis/pipeline/v1beta1/container_replacements.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ import (
func ApplyContainerReplacements(step *corev1.Container, stringReplacements map[string]string, arrayReplacements map[string][]string) {
step.Name = substitution.ApplyReplacements(step.Name, stringReplacements)
step.Image = substitution.ApplyReplacements(step.Image, stringReplacements)
step.ImagePullPolicy = corev1.PullPolicy(substitution.ApplyReplacements(string(step.ImagePullPolicy), stringReplacements))

// Use ApplyArrayReplacements here, as additional args may be added via an array parameter.
var newArgs []string
Expand Down
22 changes: 12 additions & 10 deletions pkg/apis/pipeline/v1beta1/container_replacements_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,12 @@ func TestApplyContainerReplacements(t *testing.T) {
}

s := corev1.Container{
Name: "$(replace.me)",
Image: "$(replace.me)",
Command: []string{"$(array.replace.me)"},
Args: []string{"$(array.replace.me)"},
WorkingDir: "$(replace.me)",
Name: "$(replace.me)",
Image: "$(replace.me)",
ImagePullPolicy: "$(replace.me)",
Command: []string{"$(array.replace.me)"},
Args: []string{"$(array.replace.me)"},
WorkingDir: "$(replace.me)",
EnvFrom: []corev1.EnvFromSource{{
ConfigMapRef: &corev1.ConfigMapEnvSource{
LocalObjectReference: corev1.LocalObjectReference{
Expand Down Expand Up @@ -77,11 +78,12 @@ func TestApplyContainerReplacements(t *testing.T) {
}

expected := corev1.Container{
Name: "replaced!",
Image: "replaced!",
Command: []string{"val1", "val2"},
Args: []string{"val1", "val2"},
WorkingDir: "replaced!",
Name: "replaced!",
Image: "replaced!",
ImagePullPolicy: "replaced!",
Command: []string{"val1", "val2"},
Args: []string{"val1", "val2"},
WorkingDir: "replaced!",
EnvFrom: []corev1.EnvFromSource{{
ConfigMapRef: &corev1.ConfigMapEnvSource{
LocalObjectReference: corev1.LocalObjectReference{
Expand Down

0 comments on commit 801ab3c

Please sign in to comment.