Skip to content

Commit 1ebbb27

Browse files
authored
feat(RELEASE-1437): archive and delete Releases (#7499)
This commit configures KubeArchive for Releases. With this, all Releases will be archived. In addition, releases older than 5 days will get pruned. Signed-off-by: David Moreno García <[email protected]>
1 parent 8e31d71 commit 1ebbb27

File tree

5 files changed

+53
-16
lines changed

5 files changed

+53
-16
lines changed

components/kubearchive/base/kubearchive-config.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ spec:
1414
kind: Release
1515
archiveWhen: has(status.completionTime)
1616
archiveOnDelete: 'true'
17+
deleteWhen: timestamp(metadata.creationTimestamp) < now() - duration("5d")
1718
- selector:
1819
apiVersion: tekton.dev/v1
1920
kind: PipelineRun

components/kubearchive/development/kustomization.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ resources:
55
- ../base
66
- postgresql.yaml
77
- vacuum.yaml
8+
- release-vacuum.yaml
89
- https://github.com/kubearchive/kubearchive/releases/download/v1.3.0/kubearchive.yaml?timeout=90
910

1011
namespace: product-kubearchive
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
---
2+
apiVersion: kubearchive.org/v1
3+
kind: ClusterVacuumConfig
4+
metadata:
5+
name: releases-vacuum-config
6+
spec:
7+
namespaces:
8+
___all-namespaces___:
9+
resources:
10+
- apiVersion: appstudio.redhat.com/v1alpha1
11+
kind: Release
12+
---
13+
apiVersion: batch/v1
14+
kind: CronJob
15+
metadata:
16+
annotations:
17+
# Needed if just the command is changed, otherwise the job needs to be deleted manually
18+
argocd.argoproj.io/sync-options: Force=true,Replace=true
19+
name: releases-vacuum
20+
spec:
21+
schedule: "0 1 * * *"
22+
jobTemplate:
23+
spec:
24+
template:
25+
spec:
26+
serviceAccountName: kubearchive-cluster-vacuum
27+
containers:
28+
- name: vacuum
29+
image: quay.io/kubearchive/vacuum:v1.3.0
30+
command: [ "/ko-app/vacuum" ]
31+
args:
32+
- "--type"
33+
- "cluster"
34+
- "--config"
35+
- "releases-vacuum-config"
36+
env:
37+
- name: KUBEARCHIVE_NAMESPACE
38+
valueFrom:
39+
fieldRef:
40+
fieldPath: metadata.namespace
41+
securityContext:
42+
readOnlyRootFilesystem: true
43+
runAsNonRoot: true
44+
resources:
45+
requests:
46+
cpu: 100m
47+
memory: 256Mi
48+
limits:
49+
cpu: 100m
50+
memory: 256Mi
51+
restartPolicy: Never

components/release/staging/kubearchive-config-patch.yaml

Lines changed: 0 additions & 8 deletions
This file was deleted.

components/release/staging/kustomization.yaml

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,6 @@ resources:
77
- https://github.com/konflux-ci/release-service/config/default?ref=26f6f47a8e09862c907f5ae1e820fc319e0c2866
88
- release_service_config.yaml
99

10-
patches:
11-
- path: kubearchive-config-patch.yaml
12-
target:
13-
name: kubearchive
14-
group: kubearchive.org
15-
version: v1
16-
kind: KubeArchiveConfig
17-
1810
components:
1911
- ../k-components/manager-resources-patch
2012

0 commit comments

Comments
 (0)