Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(http-add-on): add missing changes for v0.5.0 #474

Merged
merged 3 commits into from
Jun 22, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 0 additions & 7 deletions .github/workflows/ci-http-add-on.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,13 +76,6 @@ jobs:
run: kubectl create ns keda

- name: Install KEDA chart
if: matrix.kubernetesVersion == 'v1.23'
run: |
helm repo add kedacore https://kedacore.github.io/charts
helm install keda kedacore/keda --namespace keda --version ~2.8.4

- name: Install KEDA chart
if: matrix.kubernetesVersion != 'v1.23'
run: helm install keda ./keda/ --namespace keda

- name: Template Helm chart
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ $ helm search repo kedacore
NAME CHART VERSION APP VERSION DESCRIPTION
kedacore/external-scaler-azure-cosmos-db 0.1.0 0.1.0 Event-based autoscaler for Azure Cosmos DB chan...
kedacore/keda 2.10.2 2.10.1 Event-based autoscaler for workloads on Kubernetes
kedacore/keda-add-ons-http 0.5.1 0.5.0 Event-based autoscaler for HTTP workloads on Ku...
kedacore/keda-add-ons-http 0.5.2 0.5.0 Event-based autoscaler for HTTP workloads on Ku...
```

## Releases
Expand Down
147 changes: 85 additions & 62 deletions docs/index.yaml

Large diffs are not rendered by default.

Binary file added docs/keda-add-ons-http-0.5.2.tgz
Binary file not shown.
2 changes: 1 addition & 1 deletion http-add-on/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ kubeVersion: ">=v1.24.0-0"
# to the chart and its templates, including the app version. This is incremented at chart release time and does not need
# to be included in any PRs to main.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.5.1
version: 0.5.2

# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
Expand Down
5 changes: 4 additions & 1 deletion http-add-on/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,10 @@ their default values.
| `scaler.nodeSelector` | object | `{}` | Node selector for pod scheduling ([docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/)) |
| `scaler.pendingRequestsInterceptor` | int | `200` | The number of "target requests" that the external scaler will report to KEDA for the interceptor's scaling metrics. See the [KEDA external scaler documentation](https://keda.sh/docs/2.4/concepts/external-scalers/) for details on target requests. |
| `scaler.pullPolicy` | string | `"Always"` | The image pull policy for the scaler component |
| `scaler.resources.limits.cpu` | float | `0.5` | |
| `scaler.resources.limits.memory` | string | `"64Mi"` | |
| `scaler.resources.requests.cpu` | string | `"250m"` | |
| `scaler.resources.requests.memory` | string | `"20Mi"` | |
| `scaler.service` | string | `"external-scaler"` | The name of the Kubernetes `Service` for the scaler component |
| `scaler.tolerations` | list | `[]` | Tolerations for pod scheduling ([docs](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/)) |

Expand Down Expand Up @@ -148,7 +152,6 @@ their default values.
| `interceptor.resources.limits` | object | `{"cpu":0.5,"memory":"64Mi"}` | The CPU/memory resource limit for the operator component |
| `interceptor.resources.requests` | object | `{"cpu":"250m","memory":"20Mi"}` | The CPU/memory resource request for the operator component |
| `interceptor.responseHeaderTimeout` | string | `"500ms"` | How long the interceptor will wait between forwarding a request to a backend and receiving response headers back before failing the request |
| `interceptor.routingTableUpdateDurationMS` | int | `500` | How often (in milliseconds) each interceptor replica should update its in-memory routing table from the central routing table copy. The interceptor will also use Kubernetes events to stay up-to-date with routing table changes. This duration is the maximum time it will take to get a routing table update |
| `interceptor.scaledObject.pollingInterval` | int | `1` | The interval (in milliseconds) that KEDA should poll the external scaler to fetch scaling metrics about the interceptor |
| `interceptor.tcpConnectTimeout` | string | `"500ms"` | How long the interceptor waits to establish TCP connections with backends before failing a request. |
| `interceptor.tlsHandshakeTimeout` | string | `"10s"` | The maximum amount of time the interceptor will wait for a TLS handshake. Set to zero to indicate no timeout. |
Expand Down
2 changes: 0 additions & 2 deletions http-add-on/templates/deployment-interceptor.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,6 @@ spec:
imagePullPolicy: '{{ .Values.interceptor.pullPolicy | default "Always" }}'
name: "{{ .Chart.Name }}-interceptor"
env:
- name: KEDA_HTTP_ROUTING_TABLE_UPDATE_DURATION_MS
value: "{{ .Values.interceptor.routingTableUpdateDurationMS }}"
- name: KEDA_HTTP_CURRENT_NAMESPACE
value: "{{ .Release.Namespace }}"
- name: KEDA_HTTP_PROXY_PORT
Expand Down
4 changes: 2 additions & 2 deletions http-add-on/templates/deployment-operator.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,8 @@ spec:
memory: 20Mi
name: kube-rbac-proxy
- args:
- --metrics-addr=127.0.0.1:8080
- --enable-leader-election
- --metrics-bind-address=127.0.0.1:8080
- --leader-elect
- --admin-port={{ .Values.operator.adminPort }}
image: "{{ .Values.images.operator }}:{{ .Values.images.tag | default .Chart.AppVersion }}"
imagePullPolicy: '{{ .Values.operator.pullPolicy | default "Always" }}'
Expand Down
47 changes: 6 additions & 41 deletions http-add-on/templates/rbac-interceptor.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
kind: ClusterRole
metadata:
creationTimestamp: null
labels:
httpscaledobjects.http.keda.sh/version: {{ .Values.images.tag | default .Chart.AppVersion }}
keda.sh/addon: {{ .Chart.Name }}
Expand All @@ -9,61 +10,25 @@ metadata:
app.kubernetes.io/name: {{ .Chart.Name }}-interceptor
{{- include "keda-addons-http.labels" . | indent 4 }}
name: {{ .Chart.Name }}-interceptor
namespace: {{ .Release.Namespace }}
rules:
- apiGroups:
- ""
- apps
resources:
- configmaps
- deployments
verbs:
- get
- list
- watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
creationTimestamp: null
labels:
httpscaledobjects.http.keda.sh/version: {{ .Values.images.tag | default .Chart.AppVersion }}
keda.sh/addon: {{ .Chart.Name }}
app: {{ .Chart.Name }}
name: {{ .Chart.Name }}-interceptor
app.kubernetes.io/name: {{ .Chart.Name }}-interceptor
{{- include "keda-addons-http.labels" . | indent 4 }}
name: {{ .Chart.Name }}-interceptor
rules:
- apiGroups:
- apps
- http.keda.sh
resources:
- deployments
- httpscaledobjects
verbs:
- get
- list
- watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
labels:
httpscaledobjects.http.keda.sh/version: {{ .Values.images.tag | default .Chart.AppVersion }}
keda.sh/addon: {{ .Chart.Name }}
app: {{ .Chart.Name }}
name: {{ .Chart.Name }}-interceptor
app.kubernetes.io/name: {{ .Chart.Name }}-interceptor
{{- include "keda-addons-http.labels" . | indent 4 }}
name: {{ .Chart.Name }}-interceptor
namespace: {{ .Release.Namespace }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: {{ .Chart.Name }}-interceptor
subjects:
- kind: ServiceAccount
name: {{ .Chart.Name }}-interceptor
namespace: {{ .Release.Namespace }}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
labels:
Expand Down
12 changes: 0 additions & 12 deletions http-add-on/templates/rbac-operator.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,18 +11,6 @@ metadata:
name: {{ .Chart.Name }}-role
namespace: {{ .Release.Namespace }}
rules:
- apiGroups:
- ""
resources:
- configmaps
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- ""
resources:
Expand Down
49 changes: 7 additions & 42 deletions http-add-on/templates/rbac-scaler.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
kind: ClusterRole
metadata:
creationTimestamp: null
labels:
httpscaledobjects.http.keda.sh/version: {{ .Values.images.tag | default .Chart.AppVersion }}
keda.sh/addon: {{ .Chart.Name }}
Expand All @@ -9,69 +10,33 @@ metadata:
app.kubernetes.io/name: {{ .Chart.Name }}-external-scaler
{{- include "keda-addons-http.labels" . | indent 4 }}
name: {{ .Chart.Name }}-external-scaler
namespace: {{ .Release.Namespace }}
rules:
- apiGroups:
- ""
resources:
- configmaps
- endpoints
verbs:
- get
- list
- watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
creationTimestamp: null
labels:
httpscaledobjects.http.keda.sh/version: {{ .Values.images.tag | default .Chart.AppVersion }}
keda.sh/addon: {{ .Chart.Name }}
app: {{ .Chart.Name }}
name: {{ .Chart.Name }}-external-scaler
app.kubernetes.io/name: {{ .Chart.Name }}-external-scaler
{{- include "keda-addons-http.labels" . | indent 4 }}
name: {{ .Chart.Name }}-external-scaler
rules:
- apiGroups:
- ""
- apps
resources:
- endpoints
- deployments
verbs:
- get
- list
- watch
- apiGroups:
- apps
- http.keda.sh
resources:
- deployments
- httpscaledobjects
verbs:
- get
- list
- watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
labels:
httpscaledobjects.http.keda.sh/version: {{ .Values.images.tag | default .Chart.AppVersion }}
keda.sh/addon: {{ .Chart.Name }}
app: {{ .Chart.Name }}
name: {{ .Chart.Name }}-external-scaler
app.kubernetes.io/name: {{ .Chart.Name }}-external-scaler
{{- include "keda-addons-http.labels" . | indent 4 }}
name: {{ .Chart.Name }}-external-scaler
namespace: {{ .Release.Namespace }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: {{ .Chart.Name }}-external-scaler
subjects:
- kind: ServiceAccount
name: {{ .Chart.Name }}-external-scaler
namespace: {{ .Release.Namespace }}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
labels:
Expand Down
22 changes: 0 additions & 22 deletions http-add-on/templates/routing-table-config-map.yaml

This file was deleted.

25 changes: 0 additions & 25 deletions http-add-on/templates/svc-operator-admin.yaml

This file was deleted.

2 changes: 0 additions & 2 deletions http-add-on/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -98,8 +98,6 @@ interceptor:
# -- The interval (in milliseconds) that KEDA should poll the external scaler to fetch scaling metrics about the interceptor
pollingInterval: 1

# -- How often (in milliseconds) each interceptor replica should update its in-memory routing table from the central routing table copy. The interceptor will also use Kubernetes events to stay up-to-date with routing table changes. This duration is the maximum time it will take to get a routing table update
routingTableUpdateDurationMS: 500
# -- How long the interceptor waits to establish TCP connections with backends before failing a request.
tcpConnectTimeout: 500ms
# -- The interceptor's connection keep alive timeout
Expand Down
Loading