diff --git a/charts/linkerd-control-plane/templates/heartbeat.yaml b/charts/linkerd-control-plane/templates/heartbeat.yaml index 1f42493849406..f9a26d3aef104 100644 --- a/charts/linkerd-control-plane/templates/heartbeat.yaml +++ b/charts/linkerd-control-plane/templates/heartbeat.yaml @@ -24,7 +24,8 @@ spec: {{ else -}} schedule: "{{ dateInZone "04 15 * * *" (now | mustDateModify "+10m") "UTC"}}" {{ end -}} - successfulJobsHistoryLimit: 0 + successfulJobsHistoryLimit: {{ (.Values.heartbeat).successfulJobsHistoryLimit | default 0 }} + failedJobsHistoryLimit: {{ (.Values.heartbeat).failedJobsHistoryLimit | default 1 }} jobTemplate: spec: template: diff --git a/charts/linkerd-control-plane/values.yaml b/charts/linkerd-control-plane/values.yaml index 0735571633230..83be5e1d28660 100644 --- a/charts/linkerd-control-plane/values.yaml +++ b/charts/linkerd-control-plane/values.yaml @@ -509,6 +509,11 @@ identity: disableHeartBeat: false # -- Config for the heartbeat cronjob # heartbeatSchedule: "0 0 * * *" +heartbeat: + # -- Number of successful job runs to retain + successfulJobsHistoryLimit: 0 + # -- Number of failed job runs to retain + failedJobsHistoryLimit: 1 # proxy injector configuration proxyInjector: diff --git a/cli/cmd/testdata/install_controlplane_tracing_output.golden b/cli/cmd/testdata/install_controlplane_tracing_output.golden index f0e3131c0dc62..e217e99481111 100644 --- a/cli/cmd/testdata/install_controlplane_tracing_output.golden +++ b/cli/cmd/testdata/install_controlplane_tracing_output.golden @@ -555,7 +555,9 @@ data: enableH2Upgrade: true enablePodAntiAffinity: false enablePodDisruptionBudget: false - heartbeat: null + heartbeat: + failedJobsHistoryLimit: 1 + successfulJobsHistoryLimit: 0 heartbeatResources: null heartbeatSchedule: 1 2 3 4 5 highAvailability: false @@ -1830,6 +1832,7 @@ spec: concurrencyPolicy: Replace schedule: "1 2 3 4 5" successfulJobsHistoryLimit: 0 + failedJobsHistoryLimit: 1 jobTemplate: spec: template: diff --git a/cli/cmd/testdata/install_custom_domain.golden b/cli/cmd/testdata/install_custom_domain.golden index f1d6be18ae7df..26ac4859fdc6c 100644 --- a/cli/cmd/testdata/install_custom_domain.golden +++ b/cli/cmd/testdata/install_custom_domain.golden @@ -555,7 +555,9 @@ data: enableH2Upgrade: true enablePodAntiAffinity: false enablePodDisruptionBudget: false - heartbeat: null + heartbeat: + failedJobsHistoryLimit: 1 + successfulJobsHistoryLimit: 0 heartbeatResources: null heartbeatSchedule: 1 2 3 4 5 highAvailability: false @@ -1826,6 +1828,7 @@ spec: concurrencyPolicy: Replace schedule: "1 2 3 4 5" successfulJobsHistoryLimit: 0 + failedJobsHistoryLimit: 1 jobTemplate: spec: template: diff --git a/cli/cmd/testdata/install_custom_registry.golden b/cli/cmd/testdata/install_custom_registry.golden index 5f5c40fa7ef46..1f8bbe026d574 100644 --- a/cli/cmd/testdata/install_custom_registry.golden +++ b/cli/cmd/testdata/install_custom_registry.golden @@ -555,7 +555,9 @@ data: enableH2Upgrade: true enablePodAntiAffinity: false enablePodDisruptionBudget: false - heartbeat: null + heartbeat: + failedJobsHistoryLimit: 1 + successfulJobsHistoryLimit: 0 heartbeatResources: null heartbeatSchedule: 1 2 3 4 5 highAvailability: false @@ -1826,6 +1828,7 @@ spec: concurrencyPolicy: Replace schedule: "1 2 3 4 5" successfulJobsHistoryLimit: 0 + failedJobsHistoryLimit: 1 jobTemplate: spec: template: diff --git a/cli/cmd/testdata/install_default.golden b/cli/cmd/testdata/install_default.golden index f1d6be18ae7df..26ac4859fdc6c 100644 --- a/cli/cmd/testdata/install_default.golden +++ b/cli/cmd/testdata/install_default.golden @@ -555,7 +555,9 @@ data: enableH2Upgrade: true enablePodAntiAffinity: false enablePodDisruptionBudget: false - heartbeat: null + heartbeat: + failedJobsHistoryLimit: 1 + successfulJobsHistoryLimit: 0 heartbeatResources: null heartbeatSchedule: 1 2 3 4 5 highAvailability: false @@ -1826,6 +1828,7 @@ spec: concurrencyPolicy: Replace schedule: "1 2 3 4 5" successfulJobsHistoryLimit: 0 + failedJobsHistoryLimit: 1 jobTemplate: spec: template: diff --git a/cli/cmd/testdata/install_default_override_dst_get_nets.golden b/cli/cmd/testdata/install_default_override_dst_get_nets.golden index 21419b00c9002..4d943c59a5924 100644 --- a/cli/cmd/testdata/install_default_override_dst_get_nets.golden +++ b/cli/cmd/testdata/install_default_override_dst_get_nets.golden @@ -555,7 +555,9 @@ data: enableH2Upgrade: true enablePodAntiAffinity: false enablePodDisruptionBudget: false - heartbeat: null + heartbeat: + failedJobsHistoryLimit: 1 + successfulJobsHistoryLimit: 0 heartbeatResources: null heartbeatSchedule: 1 2 3 4 5 highAvailability: false @@ -1826,6 +1828,7 @@ spec: concurrencyPolicy: Replace schedule: "1 2 3 4 5" successfulJobsHistoryLimit: 0 + failedJobsHistoryLimit: 1 jobTemplate: spec: template: diff --git a/cli/cmd/testdata/install_default_token.golden b/cli/cmd/testdata/install_default_token.golden index 42ddb15267e5a..77165fb0fb6fb 100644 --- a/cli/cmd/testdata/install_default_token.golden +++ b/cli/cmd/testdata/install_default_token.golden @@ -555,7 +555,9 @@ data: enableH2Upgrade: true enablePodAntiAffinity: false enablePodDisruptionBudget: false - heartbeat: null + heartbeat: + failedJobsHistoryLimit: 1 + successfulJobsHistoryLimit: 0 heartbeatResources: null heartbeatSchedule: 1 2 3 4 5 highAvailability: false @@ -1808,6 +1810,7 @@ spec: concurrencyPolicy: Replace schedule: "1 2 3 4 5" successfulJobsHistoryLimit: 0 + failedJobsHistoryLimit: 1 jobTemplate: spec: template: diff --git a/cli/cmd/testdata/install_gid_output.golden b/cli/cmd/testdata/install_gid_output.golden index 6ea93a5e20926..80b181c11f337 100755 --- a/cli/cmd/testdata/install_gid_output.golden +++ b/cli/cmd/testdata/install_gid_output.golden @@ -555,7 +555,9 @@ data: enableH2Upgrade: true enablePodAntiAffinity: false enablePodDisruptionBudget: false - heartbeat: null + heartbeat: + failedJobsHistoryLimit: 1 + successfulJobsHistoryLimit: 0 heartbeatResources: null heartbeatSchedule: 1 2 3 4 5 highAvailability: false @@ -1836,6 +1838,7 @@ spec: concurrencyPolicy: Replace schedule: "1 2 3 4 5" successfulJobsHistoryLimit: 0 + failedJobsHistoryLimit: 1 jobTemplate: spec: template: diff --git a/cli/cmd/testdata/install_ha_output.golden b/cli/cmd/testdata/install_ha_output.golden index 99dcba3ea2e94..9af8a8de5c39a 100644 --- a/cli/cmd/testdata/install_ha_output.golden +++ b/cli/cmd/testdata/install_ha_output.golden @@ -564,7 +564,9 @@ data: enableH2Upgrade: true enablePodAntiAffinity: true enablePodDisruptionBudget: true - heartbeat: null + heartbeat: + failedJobsHistoryLimit: 1 + successfulJobsHistoryLimit: 0 heartbeatResources: cpu: limit: "" @@ -1966,6 +1968,7 @@ spec: concurrencyPolicy: Replace schedule: "1 2 3 4 5" successfulJobsHistoryLimit: 0 + failedJobsHistoryLimit: 1 jobTemplate: spec: template: diff --git a/cli/cmd/testdata/install_ha_with_overrides_output.golden b/cli/cmd/testdata/install_ha_with_overrides_output.golden index b1f5407b24b61..d94bef5b4dfcd 100644 --- a/cli/cmd/testdata/install_ha_with_overrides_output.golden +++ b/cli/cmd/testdata/install_ha_with_overrides_output.golden @@ -564,7 +564,9 @@ data: enableH2Upgrade: true enablePodAntiAffinity: true enablePodDisruptionBudget: true - heartbeat: null + heartbeat: + failedJobsHistoryLimit: 1 + successfulJobsHistoryLimit: 0 heartbeatResources: cpu: limit: "" @@ -1966,6 +1968,7 @@ spec: concurrencyPolicy: Replace schedule: "1 2 3 4 5" successfulJobsHistoryLimit: 0 + failedJobsHistoryLimit: 1 jobTemplate: spec: template: diff --git a/cli/cmd/testdata/install_heartbeat_disabled_output.golden b/cli/cmd/testdata/install_heartbeat_disabled_output.golden index 42344f4bf6d31..82179e26f8782 100644 --- a/cli/cmd/testdata/install_heartbeat_disabled_output.golden +++ b/cli/cmd/testdata/install_heartbeat_disabled_output.golden @@ -486,7 +486,9 @@ data: enableH2Upgrade: true enablePodAntiAffinity: false enablePodDisruptionBudget: false - heartbeat: null + heartbeat: + failedJobsHistoryLimit: 1 + successfulJobsHistoryLimit: 0 heartbeatResources: null heartbeatSchedule: 1 2 3 4 5 highAvailability: false diff --git a/cli/cmd/testdata/install_helm_control_plane_output.golden b/cli/cmd/testdata/install_helm_control_plane_output.golden index 384b4dc8ceb1d..f4be4a460d787 100644 --- a/cli/cmd/testdata/install_helm_control_plane_output.golden +++ b/cli/cmd/testdata/install_helm_control_plane_output.golden @@ -556,7 +556,9 @@ data: enableH2Upgrade: true enablePodAntiAffinity: false enablePodDisruptionBudget: false - heartbeat: null + heartbeat: + failedJobsHistoryLimit: 1 + successfulJobsHistoryLimit: 0 heartbeatResources: null heartbeatSchedule: 1 2 3 4 5 highAvailability: false @@ -1803,6 +1805,7 @@ spec: concurrencyPolicy: Replace schedule: "1 2 3 4 5" successfulJobsHistoryLimit: 0 + failedJobsHistoryLimit: 1 jobTemplate: spec: template: diff --git a/cli/cmd/testdata/install_helm_control_plane_output_ha.golden b/cli/cmd/testdata/install_helm_control_plane_output_ha.golden index 6d85137673d52..6f38fa451d0b5 100644 --- a/cli/cmd/testdata/install_helm_control_plane_output_ha.golden +++ b/cli/cmd/testdata/install_helm_control_plane_output_ha.golden @@ -565,7 +565,9 @@ data: enableH2Upgrade: true enablePodAntiAffinity: true enablePodDisruptionBudget: true - heartbeat: null + heartbeat: + failedJobsHistoryLimit: 1 + successfulJobsHistoryLimit: 0 heartbeatResources: cpu: limit: "" @@ -1943,6 +1945,7 @@ spec: concurrencyPolicy: Replace schedule: "1 2 3 4 5" successfulJobsHistoryLimit: 0 + failedJobsHistoryLimit: 1 jobTemplate: spec: template: diff --git a/cli/cmd/testdata/install_helm_control_plane_output_ha_with_gid.golden b/cli/cmd/testdata/install_helm_control_plane_output_ha_with_gid.golden index b8d04948de559..8745225536411 100755 --- a/cli/cmd/testdata/install_helm_control_plane_output_ha_with_gid.golden +++ b/cli/cmd/testdata/install_helm_control_plane_output_ha_with_gid.golden @@ -565,7 +565,9 @@ data: enableH2Upgrade: true enablePodAntiAffinity: true enablePodDisruptionBudget: true - heartbeat: null + heartbeat: + failedJobsHistoryLimit: 1 + successfulJobsHistoryLimit: 0 heartbeatResources: cpu: limit: "" @@ -1953,6 +1955,7 @@ spec: concurrencyPolicy: Replace schedule: "1 2 3 4 5" successfulJobsHistoryLimit: 0 + failedJobsHistoryLimit: 1 jobTemplate: spec: template: diff --git a/cli/cmd/testdata/install_helm_output_ha_labels.golden b/cli/cmd/testdata/install_helm_output_ha_labels.golden index 24c6e7a0f9b76..fb4f0cc9954a3 100644 --- a/cli/cmd/testdata/install_helm_output_ha_labels.golden +++ b/cli/cmd/testdata/install_helm_output_ha_labels.golden @@ -565,7 +565,9 @@ data: enableH2Upgrade: true enablePodAntiAffinity: true enablePodDisruptionBudget: true - heartbeat: null + heartbeat: + failedJobsHistoryLimit: 1 + successfulJobsHistoryLimit: 0 heartbeatResources: cpu: limit: "" @@ -1955,6 +1957,7 @@ spec: concurrencyPolicy: Replace schedule: "1 2 3 4 5" successfulJobsHistoryLimit: 0 + failedJobsHistoryLimit: 1 jobTemplate: spec: template: diff --git a/cli/cmd/testdata/install_helm_output_ha_namespace_selector.golden b/cli/cmd/testdata/install_helm_output_ha_namespace_selector.golden index b1ed1264ac44f..e4b0562e31322 100644 --- a/cli/cmd/testdata/install_helm_output_ha_namespace_selector.golden +++ b/cli/cmd/testdata/install_helm_output_ha_namespace_selector.golden @@ -560,7 +560,9 @@ data: enableH2Upgrade: true enablePodAntiAffinity: true enablePodDisruptionBudget: true - heartbeat: null + heartbeat: + failedJobsHistoryLimit: 1 + successfulJobsHistoryLimit: 0 heartbeatResources: cpu: limit: "" @@ -1933,6 +1935,7 @@ spec: concurrencyPolicy: Replace schedule: "1 2 3 4 5" successfulJobsHistoryLimit: 0 + failedJobsHistoryLimit: 1 jobTemplate: spec: template: diff --git a/cli/cmd/testdata/install_no_init_container.golden b/cli/cmd/testdata/install_no_init_container.golden index b6b4a3dc5d39d..80304b628b4a0 100644 --- a/cli/cmd/testdata/install_no_init_container.golden +++ b/cli/cmd/testdata/install_no_init_container.golden @@ -555,7 +555,9 @@ data: enableH2Upgrade: true enablePodAntiAffinity: false enablePodDisruptionBudget: false - heartbeat: null + heartbeat: + failedJobsHistoryLimit: 1 + successfulJobsHistoryLimit: 0 heartbeatResources: null heartbeatSchedule: 1 2 3 4 5 highAvailability: false @@ -1802,6 +1804,7 @@ spec: concurrencyPolicy: Replace schedule: "1 2 3 4 5" successfulJobsHistoryLimit: 0 + failedJobsHistoryLimit: 1 jobTemplate: spec: template: diff --git a/cli/cmd/testdata/install_output.golden b/cli/cmd/testdata/install_output.golden index de0e9be4d2a5e..a7f8a2ad3eae7 100644 --- a/cli/cmd/testdata/install_output.golden +++ b/cli/cmd/testdata/install_output.golden @@ -1760,6 +1760,7 @@ spec: concurrencyPolicy: Replace schedule: "1 2 3 4 5" successfulJobsHistoryLimit: 0 + failedJobsHistoryLimit: 1 jobTemplate: spec: template: @@ -2188,7 +2189,7 @@ spec: --- apiVersion: v1 data: - linkerd-config-overrides: Y2xpVmVyc2lvbjogQ2xpVmVyc2lvbgpjbHVzdGVyTmV0d29ya3M6IENsdXN0ZXJOZXR3b3Jrcwpjb250cm9sbGVyR0lEOiAyMTAzCmNvbnRyb2xsZXJJbWFnZTogQ29udHJvbGxlckltYWdlCmNvbnRyb2xsZXJMb2dGb3JtYXQ6IENvbnRyb2xsZXJMb2dGb3JtYXQKY29udHJvbGxlckxvZ0xldmVsOiBDb250cm9sbGVyTG9nTGV2ZWwKZGVidWdDb250YWluZXI6CiAgaW1hZ2U6CiAgICBuYW1lOiBEZWJ1Z0ltYWdlTmFtZQogICAgcHVsbFBvbGljeTogRGVidWdJbWFnZVB1bGxQb2xpY3kKICAgIHZlcnNpb246IERlYnVnVmVyc2lvbgpkaXNhYmxlSVB2NjogZmFsc2UKZW5hYmxlRW5kcG9pbnRTbGljZXM6IGZhbHNlCmhlYXJ0YmVhdFNjaGVkdWxlOiAxIDIgMyA0IDUKaWRlbnRpdHk6CiAgaXNzdWVyOgogICAgdGxzOgogICAgICBjcnRQRU06IHwKICAgICAgICAtLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KICAgICAgICBNSUlCd0RDQ0FXZWdBd0lCQWdJUkFKUklnWjhSdE84RXdnMVhlcGY4VDQ0d0NnWUlLb1pJemowRUF3SXdLVEVuCiAgICAgICAgTUNVR0ExVUVBeE1lYVdSbGJuUnBkSGt1YkdsdWEyVnlaQzVqYkhWemRHVnlMbXh2WTJGc01CNFhEVEl3TURneQogICAgICAgIE9EQTNNVE0wTjFvWERUTXdNRGd5TmpBM01UTTBOMW93S1RFbk1DVUdBMVVFQXhNZWFXUmxiblJwZEhrdWJHbHUKICAgICAgICBhMlZ5WkM1amJIVnpkR1Z5TG14dlkyRnNNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUUxL0ZwCiAgICAgICAgZmNSbkRjZWRMNkFqVWFYWVB2NERJTUJhSnVmT0k1Tld0eStYU1g3SmpYZ1p0TTcyZFF2UmFZYW51eEQzNkR0MQogICAgICAgIDIvSnh5aVNneEtXUmRvYXkrYU53TUc0d0RnWURWUjBQQVFIL0JBUURBZ0VHTUJJR0ExVWRFd0VCL3dRSU1BWUIKICAgICAgICBBZjhDQVFBd0hRWURWUjBPQkJZRUZJMVducnFNWUthSEhPbyt6cHlpaURxMnBPMEtNQ2tHQTFVZEVRUWlNQ0NDCiAgICAgICAgSG1sa1pXNTBhWFI1TG14cGJtdGxjbVF1WTJ4MWMzUmxjaTVzYjJOaGJEQUtCZ2dxaGtqT1BRUURBZ05IQURCRQogICAgICAgIEFpQXR1b0k1WHVDdHJHVlJ6U21SVGwycmEyOGFWOU15VFU3ZDVxblRBRkhLU2dJZ1JLQ3ZsdU9TZ0E1TzIxcDUKICAgICAgICA1MXRkcm1rSEVaUnIwcWxMU0pkSFlnRWZNems9CiAgICAgICAgLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQogICAgICBrZXlQRU06IHwKICAgICAgICAtLS0tLUJFR0lOIEVDIFBSSVZBVEUgS0VZLS0tLS0KICAgICAgICBNSGNDQVFFRUlBQWU4bmZielp1OWMvT0IyKzh4Sk0wRno3TlV3VFFhenVsa0ZOczRUSTUrb0FvR0NDcUdTTTQ5CiAgICAgICAgQXdFSG9VUURRZ0FFMS9GcGZjUm5EY2VkTDZBalVhWFlQdjRESU1CYUp1Zk9JNU5XdHkrWFNYN0pqWGdadE03MgogICAgICAgIGRRdlJhWWFudXhEMzZEdDEyL0p4eWlTZ3hLV1Jkb2F5K1E9PQogICAgICAgIC0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0KaWRlbnRpdHlUcnVzdEFuY2hvcnNQRU06IHwKICAtLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KICBNSUlCd1RDQ0FXYWdBd0lCQWdJUWVEWnA1bERhSXlnUTVVZk1LWnJGQVRBS0JnZ3Foa2pPUFFRREFqQXBNU2N3CiAgSlFZRFZRUURFeDVwWkdWdWRHbDBlUzVzYVc1clpYSmtMbU5zZFhOMFpYSXViRzlqWVd3d0hoY05NakF3T0RJNAogIE1EY3hNalEzV2hjTk16QXdPREkyTURjeE1qUTNXakFwTVNjd0pRWURWUVFERXg1cFpHVnVkR2wwZVM1c2FXNXIKICBaWEprTG1Oc2RYTjBaWEl1Ykc5allXd3dXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUnFjNzBaCiAgbDF2Z3c3OXJqQjV1U0lUSUNVQTZHeWZ2U0ZmY3VJaXM3Qi9YRlNra3dBSFU1Uy9zMUFBUCtSMFRYN0hCV1VDNAogIHVhRzRXV3Npd0pLTm43bWdvM0F3YmpBT0JnTlZIUThCQWY4RUJBTUNBUVl3RWdZRFZSMFRBUUgvQkFnd0JnRUIKICAvd0lCQVRBZEJnTlZIUTRFRmdRVTVZdGpWVlBmZDdJN05MSHNuMkMyNkVCeUdWMHdLUVlEVlIwUkJDSXdJSUllCiAgYVdSbGJuUnBkSGt1YkdsdWEyVnlaQzVqYkhWemRHVnlMbXh2WTJGc01Bb0dDQ3FHU000OUJBTUNBMGtBTUVZQwogIElRQ043bEJGTEREdmp4NlYwK1hranBLRVJSc0pZZjVhZE12bmxvRmw0OGlsSmdJaEFOdHhobmRjcitRSlB1QzgKICB2Z1VDMGQyLzlGTXVlSVZNYis0NldUQ09qc3FyCiAgLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQppbWFnZVB1bGxQb2xpY3k6IEltYWdlUHVsbFBvbGljeQppbWFnZVB1bGxTZWNyZXRzOiBudWxsCmxpbmtlcmRWZXJzaW9uOiBMaW5rZXJkVmVyc2lvbgpuZXR3b3JrVmFsaWRhdG9yOgogIGNvbm5lY3RBZGRyOiAxLjEuMS4xOjIwMDAxCiAgbGlzdGVuQWRkcjogJ1s6Ol06NDE0MCcKICBzZWN1cml0eUNvbnRleHQ6IG51bGwKcG9kTW9uaXRvcjogbnVsbApwb2xpY3lDb250cm9sbGVyOgogIGxvZ0xldmVsOiBsb2ctbGV2ZWwKICByZXNvdXJjZXM6CiAgICBjcHU6CiAgICAgIGxpbWl0OiBjcHUtbGltaXQKICAgICAgcmVxdWVzdDogY3B1LXJlcXVlc3QKICAgIG1lbW9yeToKICAgICAgbGltaXQ6IG1lbW9yeS1saW1pdAogICAgICByZXF1ZXN0OiBtZW1vcnktcmVxdWVzdApwb2xpY3lWYWxpZGF0b3I6CiAgY2FCdW5kbGU6IHBvbGljeSB2YWxpZGF0b3IgQ0EgYnVuZGxlCiAgZXh0ZXJuYWxTZWNyZXQ6IHRydWUKcHJpb3JpdHlDbGFzc05hbWU6IFByaW9yaXR5Q2xhc3NOYW1lCnByb2ZpbGVWYWxpZGF0b3I6CiAgY2FCdW5kbGU6IHByb2ZpbGUgdmFsaWRhdG9yIENBIGJ1bmRsZQogIGV4dGVybmFsU2VjcmV0OiB0cnVlCnByb3h5OgogIGNvbnRyb2w6IG51bGwKICBkZWZhdWx0SW5ib3VuZFBvbGljeTogZGVmYXVsdC1hbGxvdy1wb2xpY3kKICBnaWQ6IDIxMDIKICBpbWFnZToKICAgIG5hbWU6IFByb3h5SW1hZ2VOYW1lCiAgICBwdWxsUG9saWN5OiBJbWFnZVB1bGxQb2xpY3kKICAgIHZlcnNpb246IFByb3h5VmVyc2lvbgogIGluYm91bmRDb25uZWN0VGltZW91dDogIiIKICBpbmJvdW5kRGlzY292ZXJ5Q2FjaGVVbnVzZWRUaW1lb3V0OiAiIgogIGxvZ0xldmVsOiB3YXJuLGxpbmtlcmQ9aW5mbwogIG9wYXF1ZVBvcnRzOiAyNSw0NDMsNTg3LDMzMDYsNTQzMiwxMTIxMQogIG91dGJvdW5kQ29ubmVjdFRpbWVvdXQ6ICIiCiAgb3V0Ym91bmREaXNjb3ZlcnlDYWNoZVVudXNlZFRpbWVvdXQ6ICIiCiAgb3V0Ym91bmRUcmFuc3BvcnRNb2RlOiAiIgogIHJlc291cmNlczoKICAgIGNwdToKICAgICAgbGltaXQ6IGNwdS1saW1pdAogICAgICByZXF1ZXN0OiBjcHUtcmVxdWVzdAogICAgbWVtb3J5OgogICAgICBsaW1pdDogbWVtb3J5LWxpbWl0CiAgICAgIHJlcXVlc3Q6IG1lbW9yeS1yZXF1ZXN0CiAgc2VjdXJpdHlDb250ZXh0OiBudWxsCiAgc3RhcnR1cFByb2JlOiBudWxsCnByb3h5Q29udGFpbmVyTmFtZTogUHJveHlDb250YWluZXJOYW1lCnByb3h5SW5pdDoKICBpZ25vcmVJbmJvdW5kUG9ydHM6ICIiCiAgaWdub3JlT3V0Ym91bmRQb3J0czogIjQ0MyIKICBpcHRhYmxlc01vZGU6IGxlZ2FjeQogIGt1YmVBUElTZXJ2ZXJQb3J0czogIiIKcHJveHlJbmplY3RvcjoKICBjYUJ1bmRsZTogcHJveHkgaW5qZWN0b3IgQ0EgYnVuZGxlCiAgZXh0ZXJuYWxTZWNyZXQ6IHRydWUKc3BWYWxpZGF0b3I6IG51bGwKd2ViaG9va0ZhaWx1cmVQb2xpY3k6IFdlYmhvb2tGYWlsdXJlUG9saWN5Cg== + linkerd-config-overrides: Y2xpVmVyc2lvbjogQ2xpVmVyc2lvbgpjbHVzdGVyTmV0d29ya3M6IENsdXN0ZXJOZXR3b3Jrcwpjb250cm9sbGVyR0lEOiAyMTAzCmNvbnRyb2xsZXJJbWFnZTogQ29udHJvbGxlckltYWdlCmNvbnRyb2xsZXJMb2dGb3JtYXQ6IENvbnRyb2xsZXJMb2dGb3JtYXQKY29udHJvbGxlckxvZ0xldmVsOiBDb250cm9sbGVyTG9nTGV2ZWwKZGVidWdDb250YWluZXI6CiAgaW1hZ2U6CiAgICBuYW1lOiBEZWJ1Z0ltYWdlTmFtZQogICAgcHVsbFBvbGljeTogRGVidWdJbWFnZVB1bGxQb2xpY3kKICAgIHZlcnNpb246IERlYnVnVmVyc2lvbgpkaXNhYmxlSVB2NjogZmFsc2UKZW5hYmxlRW5kcG9pbnRTbGljZXM6IGZhbHNlCmhlYXJ0YmVhdDogbnVsbApoZWFydGJlYXRTY2hlZHVsZTogMSAyIDMgNCA1CmlkZW50aXR5OgogIGlzc3VlcjoKICAgIHRsczoKICAgICAgY3J0UEVNOiB8CiAgICAgICAgLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCiAgICAgICAgTUlJQndEQ0NBV2VnQXdJQkFnSVJBSlJJZ1o4UnRPOEV3ZzFYZXBmOFQ0NHdDZ1lJS29aSXpqMEVBd0l3S1RFbgogICAgICAgIE1DVUdBMVVFQXhNZWFXUmxiblJwZEhrdWJHbHVhMlZ5WkM1amJIVnpkR1Z5TG14dlkyRnNNQjRYRFRJd01EZ3kKICAgICAgICBPREEzTVRNME4xb1hEVE13TURneU5qQTNNVE0wTjFvd0tURW5NQ1VHQTFVRUF4TWVhV1JsYm5ScGRIa3ViR2x1CiAgICAgICAgYTJWeVpDNWpiSFZ6ZEdWeUxteHZZMkZzTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFMS9GcAogICAgICAgIGZjUm5EY2VkTDZBalVhWFlQdjRESU1CYUp1Zk9JNU5XdHkrWFNYN0pqWGdadE03MmRRdlJhWWFudXhEMzZEdDEKICAgICAgICAyL0p4eWlTZ3hLV1Jkb2F5K2FOd01HNHdEZ1lEVlIwUEFRSC9CQVFEQWdFR01CSUdBMVVkRXdFQi93UUlNQVlCCiAgICAgICAgQWY4Q0FRQXdIUVlEVlIwT0JCWUVGSTFXbnJxTVlLYUhIT28renB5aWlEcTJwTzBLTUNrR0ExVWRFUVFpTUNDQwogICAgICAgIEhtbGtaVzUwYVhSNUxteHBibXRsY21RdVkyeDFjM1JsY2k1c2IyTmhiREFLQmdncWhrak9QUVFEQWdOSEFEQkUKICAgICAgICBBaUF0dW9JNVh1Q3RyR1ZSelNtUlRsMnJhMjhhVjlNeVRVN2Q1cW5UQUZIS1NnSWdSS0N2bHVPU2dBNU8yMXA1CiAgICAgICAgNTF0ZHJta0hFWlJyMHFsTFNKZEhZZ0VmTXprPQogICAgICAgIC0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KICAgICAga2V5UEVNOiB8CiAgICAgICAgLS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCiAgICAgICAgTUhjQ0FRRUVJQUFlOG5mYnpadTljL09CMis4eEpNMEZ6N05Vd1RRYXp1bGtGTnM0VEk1K29Bb0dDQ3FHU000OQogICAgICAgIEF3RUhvVVFEUWdBRTEvRnBmY1JuRGNlZEw2QWpVYVhZUHY0RElNQmFKdWZPSTVOV3R5K1hTWDdKalhnWnRNNzIKICAgICAgICBkUXZSYVlhbnV4RDM2RHQxMi9KeHlpU2d4S1dSZG9heStRPT0KICAgICAgICAtLS0tLUVORCBFQyBQUklWQVRFIEtFWS0tLS0tCmlkZW50aXR5VHJ1c3RBbmNob3JzUEVNOiB8CiAgLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCiAgTUlJQndUQ0NBV2FnQXdJQkFnSVFlRFpwNWxEYUl5Z1E1VWZNS1pyRkFUQUtCZ2dxaGtqT1BRUURBakFwTVNjdwogIEpRWURWUVFERXg1cFpHVnVkR2wwZVM1c2FXNXJaWEprTG1Oc2RYTjBaWEl1Ykc5allXd3dIaGNOTWpBd09ESTQKICBNRGN4TWpRM1doY05NekF3T0RJMk1EY3hNalEzV2pBcE1TY3dKUVlEVlFRREV4NXBaR1Z1ZEdsMGVTNXNhVzVyCiAgWlhKa0xtTnNkWE4wWlhJdWJHOWpZV3d3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVJxYzcwWgogIGwxdmd3NzlyakI1dVNJVElDVUE2R3lmdlNGZmN1SWlzN0IvWEZTa2t3QUhVNVMvczFBQVArUjBUWDdIQldVQzQKICB1YUc0V1dzaXdKS05uN21nbzNBd2JqQU9CZ05WSFE4QkFmOEVCQU1DQVFZd0VnWURWUjBUQVFIL0JBZ3dCZ0VCCiAgL3dJQkFUQWRCZ05WSFE0RUZnUVU1WXRqVlZQZmQ3STdOTEhzbjJDMjZFQnlHVjB3S1FZRFZSMFJCQ0l3SUlJZQogIGFXUmxiblJwZEhrdWJHbHVhMlZ5WkM1amJIVnpkR1Z5TG14dlkyRnNNQW9HQ0NxR1NNNDlCQU1DQTBrQU1FWUMKICBJUUNON2xCRkxERHZqeDZWMCtYa2pwS0VSUnNKWWY1YWRNdm5sb0ZsNDhpbEpnSWhBTnR4aG5kY3IrUUpQdUM4CiAgdmdVQzBkMi85Rk11ZUlWTWIrNDZXVENPanNxcgogIC0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KaW1hZ2VQdWxsUG9saWN5OiBJbWFnZVB1bGxQb2xpY3kKaW1hZ2VQdWxsU2VjcmV0czogbnVsbApsaW5rZXJkVmVyc2lvbjogTGlua2VyZFZlcnNpb24KbmV0d29ya1ZhbGlkYXRvcjoKICBjb25uZWN0QWRkcjogMS4xLjEuMToyMDAwMQogIGxpc3RlbkFkZHI6ICdbOjpdOjQxNDAnCiAgc2VjdXJpdHlDb250ZXh0OiBudWxsCnBvZE1vbml0b3I6IG51bGwKcG9saWN5Q29udHJvbGxlcjoKICBsb2dMZXZlbDogbG9nLWxldmVsCiAgcmVzb3VyY2VzOgogICAgY3B1OgogICAgICBsaW1pdDogY3B1LWxpbWl0CiAgICAgIHJlcXVlc3Q6IGNwdS1yZXF1ZXN0CiAgICBtZW1vcnk6CiAgICAgIGxpbWl0OiBtZW1vcnktbGltaXQKICAgICAgcmVxdWVzdDogbWVtb3J5LXJlcXVlc3QKcG9saWN5VmFsaWRhdG9yOgogIGNhQnVuZGxlOiBwb2xpY3kgdmFsaWRhdG9yIENBIGJ1bmRsZQogIGV4dGVybmFsU2VjcmV0OiB0cnVlCnByaW9yaXR5Q2xhc3NOYW1lOiBQcmlvcml0eUNsYXNzTmFtZQpwcm9maWxlVmFsaWRhdG9yOgogIGNhQnVuZGxlOiBwcm9maWxlIHZhbGlkYXRvciBDQSBidW5kbGUKICBleHRlcm5hbFNlY3JldDogdHJ1ZQpwcm94eToKICBjb250cm9sOiBudWxsCiAgZGVmYXVsdEluYm91bmRQb2xpY3k6IGRlZmF1bHQtYWxsb3ctcG9saWN5CiAgZ2lkOiAyMTAyCiAgaW1hZ2U6CiAgICBuYW1lOiBQcm94eUltYWdlTmFtZQogICAgcHVsbFBvbGljeTogSW1hZ2VQdWxsUG9saWN5CiAgICB2ZXJzaW9uOiBQcm94eVZlcnNpb24KICBpbmJvdW5kQ29ubmVjdFRpbWVvdXQ6ICIiCiAgaW5ib3VuZERpc2NvdmVyeUNhY2hlVW51c2VkVGltZW91dDogIiIKICBsb2dMZXZlbDogd2FybixsaW5rZXJkPWluZm8KICBvcGFxdWVQb3J0czogMjUsNDQzLDU4NywzMzA2LDU0MzIsMTEyMTEKICBvdXRib3VuZENvbm5lY3RUaW1lb3V0OiAiIgogIG91dGJvdW5kRGlzY292ZXJ5Q2FjaGVVbnVzZWRUaW1lb3V0OiAiIgogIG91dGJvdW5kVHJhbnNwb3J0TW9kZTogIiIKICByZXNvdXJjZXM6CiAgICBjcHU6CiAgICAgIGxpbWl0OiBjcHUtbGltaXQKICAgICAgcmVxdWVzdDogY3B1LXJlcXVlc3QKICAgIG1lbW9yeToKICAgICAgbGltaXQ6IG1lbW9yeS1saW1pdAogICAgICByZXF1ZXN0OiBtZW1vcnktcmVxdWVzdAogIHNlY3VyaXR5Q29udGV4dDogbnVsbAogIHN0YXJ0dXBQcm9iZTogbnVsbApwcm94eUNvbnRhaW5lck5hbWU6IFByb3h5Q29udGFpbmVyTmFtZQpwcm94eUluaXQ6CiAgaWdub3JlSW5ib3VuZFBvcnRzOiAiIgogIGlnbm9yZU91dGJvdW5kUG9ydHM6ICI0NDMiCiAgaXB0YWJsZXNNb2RlOiBsZWdhY3kKICBrdWJlQVBJU2VydmVyUG9ydHM6ICIiCnByb3h5SW5qZWN0b3I6CiAgY2FCdW5kbGU6IHByb3h5IGluamVjdG9yIENBIGJ1bmRsZQogIGV4dGVybmFsU2VjcmV0OiB0cnVlCnNwVmFsaWRhdG9yOiBudWxsCndlYmhvb2tGYWlsdXJlUG9saWN5OiBXZWJob29rRmFpbHVyZVBvbGljeQo= kind: Secret metadata: labels: diff --git a/cli/cmd/testdata/install_proxy_ignores.golden b/cli/cmd/testdata/install_proxy_ignores.golden index 73f0da71bc1bf..3f169aab98b27 100644 --- a/cli/cmd/testdata/install_proxy_ignores.golden +++ b/cli/cmd/testdata/install_proxy_ignores.golden @@ -555,7 +555,9 @@ data: enableH2Upgrade: true enablePodAntiAffinity: false enablePodDisruptionBudget: false - heartbeat: null + heartbeat: + failedJobsHistoryLimit: 1 + successfulJobsHistoryLimit: 0 heartbeatResources: null heartbeatSchedule: 1 2 3 4 5 highAvailability: false @@ -1826,6 +1828,7 @@ spec: concurrencyPolicy: Replace schedule: "1 2 3 4 5" successfulJobsHistoryLimit: 0 + failedJobsHistoryLimit: 1 jobTemplate: spec: template: diff --git a/cli/cmd/testdata/install_tracing.golden b/cli/cmd/testdata/install_tracing.golden index 776efca8cbff7..2cb33bb9df794 100644 --- a/cli/cmd/testdata/install_tracing.golden +++ b/cli/cmd/testdata/install_tracing.golden @@ -555,7 +555,9 @@ data: enableH2Upgrade: true enablePodAntiAffinity: false enablePodDisruptionBudget: false - heartbeat: null + heartbeat: + failedJobsHistoryLimit: 1 + successfulJobsHistoryLimit: 0 heartbeatResources: null heartbeatSchedule: 1 2 3 4 5 highAvailability: false @@ -1882,6 +1884,7 @@ spec: concurrencyPolicy: Replace schedule: "1 2 3 4 5" successfulJobsHistoryLimit: 0 + failedJobsHistoryLimit: 1 jobTemplate: spec: template: diff --git a/cli/cmd/testdata/install_values_file.golden b/cli/cmd/testdata/install_values_file.golden index 6998f0d9e69f8..35065656f5320 100644 --- a/cli/cmd/testdata/install_values_file.golden +++ b/cli/cmd/testdata/install_values_file.golden @@ -555,7 +555,9 @@ data: enableH2Upgrade: true enablePodAntiAffinity: false enablePodDisruptionBudget: false - heartbeat: null + heartbeat: + failedJobsHistoryLimit: 1 + successfulJobsHistoryLimit: 0 heartbeatResources: null heartbeatSchedule: 1 2 3 4 5 highAvailability: false @@ -1826,6 +1828,7 @@ spec: concurrencyPolicy: Replace schedule: "1 2 3 4 5" successfulJobsHistoryLimit: 0 + failedJobsHistoryLimit: 1 jobTemplate: spec: template: diff --git a/pkg/charts/linkerd2/values_test.go b/pkg/charts/linkerd2/values_test.go index 62bf3a3f7a0dc..bdf69c140191b 100644 --- a/pkg/charts/linkerd2/values_test.go +++ b/pkg/charts/linkerd2/values_test.go @@ -50,17 +50,21 @@ func TestNewValues(t *testing.T) { }, } expected := &Values{ - ControllerImage: "cr.l5d.io/linkerd/controller", - ControllerReplicas: 1, - RevisionHistoryLimit: 10, - ControllerUID: 2103, - ControllerGID: -1, - EnableH2Upgrade: true, - EnablePodAntiAffinity: false, - WebhookFailurePolicy: "Ignore", - DisableHeartBeat: false, - DeploymentStrategy: defaultDeploymentStrategy, - HeartbeatSchedule: "", + ControllerImage: "cr.l5d.io/linkerd/controller", + ControllerReplicas: 1, + RevisionHistoryLimit: 10, + ControllerUID: 2103, + ControllerGID: -1, + EnableH2Upgrade: true, + EnablePodAntiAffinity: false, + WebhookFailurePolicy: "Ignore", + DisableHeartBeat: false, + DeploymentStrategy: defaultDeploymentStrategy, + HeartbeatSchedule: "", + Heartbeat: map[string]interface{}{ + "successfulJobsHistoryLimit": float64(0), + "failedJobsHistoryLimit": float64(1), + }, ClusterDomain: "cluster.local", ClusterNetworks: "10.0.0.0/8,100.64.0.0/10,172.16.0.0/12,192.168.0.0/16,fd00::/8", ImagePullPolicy: "IfNotPresent",