diff --git a/Dockerfile.loadtester b/Dockerfile.loadtester index 12160a0ee..cbf30c491 100644 --- a/Dockerfile.loadtester +++ b/Dockerfile.loadtester @@ -6,7 +6,7 @@ ARG REVISION RUN apk --no-cache add alpine-sdk perl curl bash tar -RUN HELM3_VERSION=3.7.2 && \ +RUN HELM3_VERSION=3.9.2 && \ curl -sSL "https://get.helm.sh/helm-v${HELM3_VERSION}-linux-${TARGETARCH}.tar.gz" | tar xvz && \ chmod +x linux-${TARGETARCH}/helm && mv linux-${TARGETARCH}/helm /usr/local/bin/helm @@ -14,7 +14,7 @@ RUN GRPC_HEALTH_PROBE_VERSION=v0.4.6 && \ wget -qO /usr/local/bin/grpc_health_probe https://github.com/grpc-ecosystem/grpc-health-probe/releases/download/${GRPC_HEALTH_PROBE_VERSION}/grpc_health_probe-linux-${TARGETARCH} && \ chmod +x /usr/local/bin/grpc_health_probe -RUN GHZ_VERSION=0.105.0 && \ +RUN GHZ_VERSION=0.109.0 && \ curl -sSL "https://github.com/bojand/ghz/archive/refs/tags/v${GHZ_VERSION}.tar.gz" | tar xz -C /tmp && \ cd /tmp/ghz-${GHZ_VERSION}/cmd/ghz && GOARCH=$TARGETARCH go build . && mv ghz /usr/local/bin && \ chmod +x /usr/local/bin/ghz diff --git a/charts/loadtester/Chart.yaml b/charts/loadtester/Chart.yaml index 720aa40de..fa3754cec 100644 --- a/charts/loadtester/Chart.yaml +++ b/charts/loadtester/Chart.yaml @@ -1,8 +1,8 @@ apiVersion: v1 name: loadtester -version: 0.22.0 -appVersion: 0.22.0 -kubeVersion: ">=1.11.0-0" +version: 0.23.0 +appVersion: 0.23.0 +kubeVersion: ">=1.19.0-0" engine: gotpl description: Flagger's load testing services based on rakyll/hey and bojand/ghz that generates traffic during canary analysis when configured as a webhook. home: https://docs.flagger.app diff --git a/charts/loadtester/README.md b/charts/loadtester/README.md index 4f6924cd0..624323cc8 100644 --- a/charts/loadtester/README.md +++ b/charts/loadtester/README.md @@ -7,7 +7,7 @@ It can be used to generate HTTP and gRPC traffic during canary analysis when con ## Prerequisites -* Kubernetes >= 1.11 +* Kubernetes >= 1.19 ## Installing the Chart @@ -44,35 +44,35 @@ The command removes all the Kubernetes components associated with the chart and The following tables lists the configurable parameters of the load tester chart and their default values. -Parameter | Description | Default ---- | --- | --- -`image.repository` | Image repository | `quay.io/stefanprodan/flagger-loadtester` -`image.pullPolicy` | Image pull policy | `IfNotPresent` -`image.tag` | Image tag | `` -`replicaCount` | Desired number of pods | `1` -`serviceAccountName` | Kubernetes service account name | `none` -`resources.requests.cpu` | CPU requests | `10m` -`resources.requests.memory` | Memory requests | `64Mi` -`tolerations` | List of node taints to tolerate | `[]` -`affinity` | node/pod affinities | `node` -`nodeSelector` | Node labels for pod assignment | `{}` -`service.type` | Type of service | `ClusterIP` -`service.port` | ClusterIP port | `80` -`cmd.timeout` | Command execution timeout | `1h` -`cmd.namespaceRegexp` | Restrict access to canaries in matching namespaces | "" -`logLevel` | Log level can be debug, info, warning, error or panic | `info` -`appmesh.enabled` | Create AWS App Mesh v1beta2 virtual node | `false` -`appmesh.backends` | AWS App Mesh virtual services | `none` -`istio.enabled` | Create Istio virtual service | `false` -`istio.host` | Loadtester hostname | `flagger-loadtester.flagger` -`istio.gateway.enabled` | Create Istio gateway in namespace | `false` -`istio.tls.enabled` | Enable TLS in gateway ( TLS secrets should be in namespace ) | `false` -`istio.tls.httpsRedirect` | Redirect traffic to TLS port | `false` -`podPriorityClassName` | PriorityClass name for pod priority configuration | "" -`securityContext.enabled` | Add securityContext to container | "" -`securityContext.context` | securityContext to add | "" -`podDisruptionBudget.enabled` | A PodDisruptionBudget will be created if `true` | `false` -`podDisruptionBudget.minAvailable` | The minimal number of available replicas that will be set in the PodDisruptionBudget | `1` +| Parameter | Description | Default | +|------------------------------------|--------------------------------------------------------------------------------------|-------------------------------------| +| `image.repository` | Image repository | `ghcr.io/fluxcd/flagger-loadtester` | +| `image.pullPolicy` | Image pull policy | `IfNotPresent` | +| `image.tag` | Image tag | `` | +| `replicaCount` | Desired number of pods | `1` | +| `serviceAccountName` | Kubernetes service account name | `none` | +| `resources.requests.cpu` | CPU requests | `10m` | +| `resources.requests.memory` | Memory requests | `64Mi` | +| `tolerations` | List of node taints to tolerate | `[]` | +| `affinity` | node/pod affinities | `node` | +| `nodeSelector` | Node labels for pod assignment | `{}` | +| `service.type` | Type of service | `ClusterIP` | +| `service.port` | ClusterIP port | `80` | +| `cmd.timeout` | Command execution timeout | `1h` | +| `cmd.namespaceRegexp` | Restrict access to canaries in matching namespaces | "" | +| `logLevel` | Log level can be debug, info, warning, error or panic | `info` | +| `appmesh.enabled` | Create AWS App Mesh v1beta2 virtual node | `false` | +| `appmesh.backends` | AWS App Mesh virtual services | `none` | +| `istio.enabled` | Create Istio virtual service | `false` | +| `istio.host` | Loadtester hostname | `flagger-loadtester.flagger` | +| `istio.gateway.enabled` | Create Istio gateway in namespace | `false` | +| `istio.tls.enabled` | Enable TLS in gateway ( TLS secrets should be in namespace ) | `false` | +| `istio.tls.httpsRedirect` | Redirect traffic to TLS port | `false` | +| `podPriorityClassName` | PriorityClass name for pod priority configuration | "" | +| `securityContext.enabled` | Add securityContext to container | "" | +| `securityContext.context` | securityContext to add | "" | +| `podDisruptionBudget.enabled` | A PodDisruptionBudget will be created if `true` | `false` | +| `podDisruptionBudget.minAvailable` | The minimal number of available replicas that will be set in the PodDisruptionBudget | `1` | Specify each parameter using the `--set key=value[,key=value]` argument to `helm upgrade`. For example, diff --git a/charts/loadtester/values.yaml b/charts/loadtester/values.yaml index 974e0e866..b5ae83145 100644 --- a/charts/loadtester/values.yaml +++ b/charts/loadtester/values.yaml @@ -2,7 +2,7 @@ replicaCount: 1 image: repository: ghcr.io/fluxcd/flagger-loadtester - tag: 0.22.0 + tag: 0.23.0 pullPolicy: IfNotPresent pullSecret: diff --git a/cmd/loadtester/main.go b/cmd/loadtester/main.go index 8414714af..5a550c405 100644 --- a/cmd/loadtester/main.go +++ b/cmd/loadtester/main.go @@ -28,7 +28,7 @@ import ( "go.uber.org/zap" ) -var VERSION = "0.22.0" +var VERSION = "0.23.0" var ( logLevel string port string diff --git a/kustomize/tester/deployment.yaml b/kustomize/tester/deployment.yaml index 5e39e268e..4587b199a 100644 --- a/kustomize/tester/deployment.yaml +++ b/kustomize/tester/deployment.yaml @@ -19,7 +19,7 @@ spec: spec: containers: - name: loadtester - image: ghcr.io/fluxcd/flagger-loadtester:0.22.0 + image: ghcr.io/fluxcd/flagger-loadtester:0.23.0 imagePullPolicy: IfNotPresent ports: - name: http