Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
9e3e204
updated application.yml and jenkins file to test feature branch deplo…
manpreetkaur-arch Jan 21, 2026
365d436
Merge pull request #7549 from manpreetkaur-arch/feature/test-aws-depl…
pstankie Jan 23, 2026
12d397e
Removed elastic search temporarily for aws deployment and update base…
manpreetkaur-arch Jan 26, 2026
fd4924a
Merge pull request #7676 from manpreetkaur-arch/feature/test-aws-depl…
pstankie Jan 26, 2026
9558482
disabled redis to make app run without pvc
manpreetkaur-arch Jan 28, 2026
db5abbf
disabled redis to make app run without pvc (#7726)
manpreetkaur-arch Jan 29, 2026
46214a8
disable bucket4j to avoid dependency on redis
manpreetkaur-arch Jan 29, 2026
6aaf69d
Feature/test aws deployment v1 (#7748)
manpreetkaur-arch Jan 29, 2026
ce38073
added changes required for openvsx app to run in mirror mode
manpreetkaur-arch Feb 3, 2026
27e4d5f
added changes required for openvsx app to run in mirror mode
manpreetkaur-arch Feb 3, 2026
72ed1f7
removed nginx-controller
manpreetkaur-arch Feb 4, 2026
a2b6a50
added bitnami charts install in helm deployment script
manpreetkaur-arch Feb 5, 2026
79db9fc
updated hostname for aws staging
manpreetkaur-arch Feb 5, 2026
1911e23
make dependencies conditional and added charts for alb
manpreetkaur-arch Feb 5, 2026
34b9de4
make dependencies conditional and added charts for alb
manpreetkaur-arch Feb 7, 2026
d0cb47f
Updated values yaml to include external dns deployment
manpreetkaur-arch Feb 9, 2026
2e185ce
Updated values yaml to include external dns deployment
manpreetkaur-arch Feb 10, 2026
0a6c908
disabled eks for okd prod values.yaml
manpreetkaur-arch Feb 10, 2026
50056be
added certs details for ALB
manpreetkaur-arch Feb 11, 2026
b8cbd27
renamed host for aws staging
manpreetkaur-arch Feb 16, 2026
104c380
Merge pull request #7877 from manpreetkaur-arch/feature/test-aws-depl…
pstankie Feb 24, 2026
b70facf
removed oauth config to disable publish button
manpreetkaur-arch Feb 24, 2026
ffe0233
Merge branch 'main' into feature/test-aws-mirror-deployment
manpreetkaur-arch Feb 24, 2026
30bd16f
fixed merge conflicts
manpreetkaur-arch Feb 24, 2026
72c643d
added rate limiting related configs
manpreetkaur-arch Feb 24, 2026
8d22d27
synched values yaml and fixed deployment spec for yara security context
manpreetkaur-arch Feb 24, 2026
8c9c922
updated application.yml for mirror mode
manpreetkaur-arch Feb 24, 2026
e500a58
updated application.yml for mirror mode
manpreetkaur-arch Feb 24, 2026
6df7d75
removed separate profile for mirror mode'
manpreetkaur-arch Feb 24, 2026
ba111dc
disabled yara and clamav for mirror mode deployment
manpreetkaur-arch Feb 24, 2026
4c0de70
disabled security scans
manpreetkaur-arch Feb 24, 2026
2f567f6
removed node selector for alloy
manpreetkaur-arch Feb 24, 2026
e7bf6ec
disable rate limiting for aws staging deployment
manpreetkaur-arch Feb 25, 2026
26744f2
change mirror job schedule to run every hour
manpreetkaur-arch Feb 25, 2026
fa2bdde
enabled elastic search for eks deployment
manpreetkaur-arch Feb 27, 2026
0fb0224
enabled horizontal scaling in aws based deployments
manpreetkaur-arch Mar 3, 2026
1dff73f
Removed external dns since its no longer needed for EKS ALB
manpreetkaur-arch Mar 3, 2026
7fa44a8
Removed duplicate block from ingress template
manpreetkaur-arch Mar 3, 2026
8ba9f81
Removed force conflicts flag
manpreetkaur-arch Mar 3, 2026
f030800
Updated igress to allow traffic from cloudfront only
manpreetkaur-arch Mar 4, 2026
40ea328
Updated cloudfront policy to handle cors headers for options
manpreetkaur-arch Mar 5, 2026
5b3f06e
Matched specs with prod deployment for performance testing
manpreetkaur-arch Mar 6, 2026
e3826e9
Preparing for creating a new namespace and a new aws test environment
manpreetkaur-arch Mar 6, 2026
35fd40c
Preparing for creating a new namespace and a new aws test environment
manpreetkaur-arch Mar 10, 2026
fbd6e55
Added HA for postgreql db
manpreetkaur-arch Mar 10, 2026
7732007
fine tuned db settings
manpreetkaur-arch Mar 12, 2026
003fbf6
Merge branch 'main' into feature/test-aws-mirror-deployment
manpreetkaur-arch Mar 12, 2026
2b2a9d8
fixing db crashloopbackoff
manpreetkaur-arch Mar 15, 2026
8a06f6f
fixing db crashloopbackoff
manpreetkaur-arch Mar 15, 2026
d2803ad
fixing db crashloopbackoff
manpreetkaur-arch Mar 15, 2026
6bf8809
fixing db crashloopbackoff
manpreetkaur-arch Mar 15, 2026
9c806dd
fixing db crashloopbackoff
manpreetkaur-arch Mar 15, 2026
4a3cd86
Merge branch 'main' into feature/test-aws-mirror-deployment
manpreetkaur-arch Mar 16, 2026
189da79
using postgresql directly instead of using pgpool
manpreetkaur-arch Mar 16, 2026
0488b48
Added external dns back to support the move to fastly
manpreetkaur-arch Mar 16, 2026
6dda6e8
added service monitors for postgres, kube-state and node-exporter
manpreetkaur-arch Mar 17, 2026
50f023b
Added oauth block to enable publish button
manpreetkaur-arch Mar 17, 2026
206455f
removed external dns service and added service monitors
manpreetkaur-arch Mar 21, 2026
5ce772c
Added hostname to ingress for routing
manpreetkaur-arch Mar 24, 2026
57068c7
test hpa configs
manpreetkaur-arch Mar 30, 2026
408d0cf
bumping up jetty and hikari pool configs
manpreetkaur-arch Mar 30, 2026
846fa32
bumping up jetty and hikari pool configs
manpreetkaur-arch Mar 30, 2026
f1b5c8c
bumping up jetty and hikari pool configs
manpreetkaur-arch Mar 30, 2026
c3fc6d7
identical settings to prod
manpreetkaur-arch Mar 31, 2026
cea4d04
identical settings to prod
manpreetkaur-arch Mar 31, 2026
ff55573
identical settings to prod
manpreetkaur-arch Mar 31, 2026
fd81f0b
identical settings to prod
manpreetkaur-arch Mar 31, 2026
3c150cc
identical settings to prod
manpreetkaur-arch Mar 31, 2026
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
31 changes: 31 additions & 0 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,19 @@ pipeline {
- mountPath: "/home/default/.kube"
name: "dot-kube"
readOnly: false
- name: eks
image: eclipsefdn/aws:alpine-latest
command:
- cat
tty: true
resources:
limits:
cpu: 1
memory: 1Gi
volumeMounts:
- mountPath: "/home/default/.kube"
name: "dot-kube"
readOnly: false
- name: jnlp
resources:
limits:
Expand Down Expand Up @@ -79,6 +92,24 @@ pipeline {
}
}

stage('Deploy to EKS staging environment') {
when {
anyOf {
expression { return env.BRANCH_NAME.startsWith('feature') }
branch 'eks-main'
}
}
steps {
container('eks') {
withKubeConfig([credentialsId: 'ci-bot-eks-staging-token', serverUrl: 'https://5CF0970816FA7A7C340E6BEF8575A8D4.gr7.eu-central-1.eks.amazonaws.com']) {
sh '''
./kubernetes/helm-deploy.sh aws-staging "${IMAGE_TAG}"
'''
}
}
}
}

stage('Deploy test') {
when {
branch 'test'
Expand Down
10 changes: 8 additions & 2 deletions charts/openvsx/Chart.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,11 @@ dependencies:
- name: alloy
repository: https://grafana.github.io/helm-charts
version: 1.1.2
digest: sha256:66403884b7f293e86e2a61d0d822fd0878a6b4a64e5e88f181b93022bc4f9bcd
generated: "2025-08-20T12:51:18.346537659+03:00"
- name: postgresql-ha
repository: https://charts.bitnami.com/bitnami
version: 16.3.2
- name: aws-load-balancer-controller
repository: https://aws.github.io/eks-charts
version: 1.14.0
digest: sha256:e2c6dcf71280bba07adec1bf48d16ede03c8e30b5075a1899e460a6c393eaf16
generated: "2026-03-21T12:01:49.110601-04:00"
8 changes: 8 additions & 0 deletions charts/openvsx/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,11 @@ dependencies:
- name: alloy
version: 1.1.2
repository: https://grafana.github.io/helm-charts
- name: postgresql-ha
version: 16.3.2
repository: https://charts.bitnami.com/bitnami
condition: eks.enabled
- name: aws-load-balancer-controller
version: 1.14.0
repository: https://aws.github.io/eks-charts
condition: eks.enabled
1,412 changes: 1,412 additions & 0 deletions charts/openvsx/crds/service-monitor.yaml

Large diffs are not rendered by default.

3 changes: 2 additions & 1 deletion charts/openvsx/templates/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,9 @@ metadata:
namespace: {{ .Values.namespace }}
spec:
progressDeadlineSeconds: 3600
revisionHistoryLimit: 1
{{- if not .Values.autoscaling.enabled }}
replicas: {{ .Values.replicaCount }}
{{- end }}
selector:
matchLabels:
app: {{ .Values.name }}
Expand Down
42 changes: 42 additions & 0 deletions charts/openvsx/templates/hpa-openvsx-app.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
{{- if .Values.autoscaling.enabled }}
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: {{ .Values.name }}-{{ .Values.environment }}-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: {{ .Values.name }}-{{ .Values.environment }}
minReplicas: {{ .Values.autoscaling.minReplicas }}
maxReplicas: {{ .Values.autoscaling.maxReplicas }}
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }}
- type: Resource
resource:
name: memory
target:
type: Utilization
averageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }}
behavior:
scaleDown:
# Look at the last 10 minutes and pick the HIGHEST replica count recommended.
# This ensures we don't scale down during a brief 1-minute dip in traffic.
stabilizationWindowSeconds: {{ .Values.autoscaling.scaleDownWindow | default 600 }}
policies:
- type: Percent
value: 10
periodSeconds: 60 # Only remove 10% of pods per minute
scaleUp:
# Scale up almost immediately (0-15s) to handle spikes quickly.
stabilizationWindowSeconds: 0
policies:
- type: Percent
value: 100
periodSeconds: 15 # Double the fleet size every 15s if needed
{{- end }}
25 changes: 25 additions & 0 deletions charts/openvsx/templates/hpa-postgresql.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{{- if .Values.autoscaling.enabled }}
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: postgresql-{{ .Values.environment }}-hpa
namespace: {{ .Release.Namespace | quote }}
labels:
app.kubernetes.io/name: postgresql-ha
app.kubernetes.io/instance: {{ .Release.Name }}
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: StatefulSet
# Matches your 'staging-postgresql-ha-postgresql' naming logic
name: {{ .Values.environment }}-postgresql-ha-postgresql
minReplicas: 3
maxReplicas: 9
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 60
{{- end }}
43 changes: 43 additions & 0 deletions charts/openvsx/templates/ingress.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
{{- if .Values.eks.enabled }}
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
labels:
app: {{ .Values.name }}
environment: {{ .Values.environment }}
name: {{ .Values.name }}-{{ .Values.environment }}
namespace: {{ .Values.namespace }}
annotations:
alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/ssl-policy: ELBSecurityPolicy-TLS13-1-2-2021-06
alb.ingress.kubernetes.io/target-type: ip
alb.ingress.kubernetes.io/load-balancer-attributes: idle_timeout.timeout_seconds=60
alb.ingress.kubernetes.io/certificate-arn: {{ .Values.ingress.certArn }}
alb.ingress.kubernetes.io/listen-ports: '[{"HTTP":80},{"HTTPS":443}]'
alb.ingress.kubernetes.io/ssl-redirect: "443"
alb.ingress.kubernetes.io/actions.forward-cors: >
{"type":"fixed-response","fixedResponseConfig":{"contentType":"text/plain","statusCode":"204"}}
alb.ingress.kubernetes.io/conditions.forward-cors: >
[{"field":"http-request-method","httpRequestMethodConfig":{"values":["OPTIONS"]}}]
alb.ingress.kubernetes.io/load-balancer-attributes: idle_timeout.timeout_seconds=65,client_keep_alive.seconds=65
spec:
ingressClassName: alb
rules:
- host: {{ .Values.host }}
- http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: forward-cors
port:
name: use-annotation
- path: /
pathType: Prefix
backend:
service:
name: {{ .Values.name }}-{{ .Values.environment }}
port:
number: {{ .Values.service.port }}
{{- end }}
21 changes: 21 additions & 0 deletions charts/openvsx/templates/kube-state-metrics-monitor.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{{- if .Values.eks.enabled }}
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: kube-state-metrics-monitor
namespace: open-vsx-org-staging
labels:
app: open-vsx-org
environment: staging
spec:
namespaceSelector:
matchNames:
- kube-state-metrics
selector:
matchLabels:
app.kubernetes.io/name: kube-state-metrics
endpoints:
- path: /metrics
interval: 60s
targetPort: 8080
{{- end }}
21 changes: 21 additions & 0 deletions charts/openvsx/templates/node-exporter-service-monitor.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{{- if .Values.eks.enabled }}
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: node-exporter-monitor
namespace: open-vsx-org-staging
labels:
app: open-vsx-org
environment: staging
spec:
namespaceSelector:
matchNames:
- prometheus-node-exporter
selector:
matchLabels:
app.kubernetes.io/name: prometheus-node-exporter
endpoints:
- path: /metrics
interval: 60s
targetPort: 9100
{{- end }}
2 changes: 2 additions & 0 deletions charts/openvsx/templates/route.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
{{- if not .Values.eks.enabled }}
apiVersion: route.openshift.io/v1
kind: Route
metadata:
Expand Down Expand Up @@ -47,3 +48,4 @@ spec:
name: {{ .Values.name }}-{{ .Values.environment }}
weight: 100
{{- end }}
{{- end }}
14 changes: 7 additions & 7 deletions charts/openvsx/templates/yara-rest/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,13 @@ spec:
- name: {{ .Values.yara.name }}-{{ .Values.environment }}
image: "{{ .Values.yara.image.repository }}:{{ .Values.yara.image.tag }}"
imagePullPolicy: {{ .Values.yara.image.pullPolicy }}
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
runAsNonRoot: true
capabilities:
drop:
- ALL
ports:
- name: http
containerPort: {{ .Values.yara.service.port }}
Expand Down Expand Up @@ -71,11 +78,4 @@ spec:
claimName: yara-rules
- name: tmp-scans
emptyDir: {}
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
runAsNonRoot: true
capabilities:
drop:
- ALL
{{- end }}
Loading
Loading