All Policies

Minimum Backup Retention

K10 Policy resources can be validated to adhere to common compliance retention standards. Uncomment the regulation/compliance standards you want to enforce for according to GFS retention. This policy deletes the retention value in the backup operation and replaces it with the specified retention. Note: K10 Policy uses the GFS retention scheme and export operations default to use the retention of the backup operation. To use different This policy can also be used go reduce retentions lengths to enforce cost optimization.

Policy Definition

/kasten/k10-minimum-retention/k10-minimum-retention.yaml

 1apiVersion: kyverno.io/v1
 2kind: ClusterPolicy
 3metadata:
 4  name: k10-minimum-retention
 5  annotations:
 6    policies.kyverno.io/title: Minimum Backup Retention
 7    policies.kyverno.io/category: Kasten K10 by Veeam
 8    kyverno.io/kyverno-version: 1.6.2
 9    policies.kyverno.io/minversion: 1.6.2
10    kyverno.io/kubernetes-version: "1.21-1.22"
11    policies.kyverno.io/subject: Policy
12    policies.kyverno.io/description: >-
13      K10 Policy resources can be validated to adhere to common compliance retention standards. 
14      Uncomment the regulation/compliance standards you want to enforce for according to GFS retention.
15      This policy deletes the retention value in the backup operation and replaces it with the specified retention.
16      Note: K10 Policy uses the GFS retention scheme and export operations default to use the retention of the backup operation.
17      To use different 
18      This policy can also be used go reduce retentions lengths to enforce cost optimization.      
19spec:
20  schemaValidation: false
21  rules:
22  - name: k10-minimum-retention
23    match:
24      any:
25      - resources:
26          kinds:
27          - config.kio.kasten.io/v1alpha1/Policy
28    mutate: 
29      # Federal Information Security Management Act (FISMA): 3 Years 
30      #patchesJson6902: |-
31      #  - path: "/spec/retention"
32      #    op: replace
33      #    value: {"hourly":24,"daily":30,"weekly":4,"monthly":12,"yearly":3}
34      
35      # Health Insurance Portability and Accountability Act (HIPAA):  6 Years   
36      #patchesJson6902: |-
37      #  - path: "/spec/retention"
38      #    op: replace
39      #    value: {"hourly":24,"daily":30,"weekly":4,"monthly":12,"yearly":6}
40      
41      # National Energy Commission (NERC): 3 to 6 Years  
42      #patchesJson6902: |-
43      #  - path: "/spec/retention"
44      #    op: replace
45      #    value: {"hourly":24,"daily":30,"weekly":4,"monthly":12,"yearly":3}
46      
47      # Basel II Capital Accord: 3 to 7 Years 
48      #patchesJson6902: |-
49      #  - path: "/spec/retention"
50      #    op: replace
51      #    value: {"hourly":24,"daily":30,"weekly":4,"monthly":12,"yearly":3}
52      
53      # Sarbanes-Oxley Act of 2002 (SOX): 7 Years
54      #patchesJson6902: |-
55      #  - path: "/spec/retention"
56      #    op: replace
57      #    value: {"hourly":24,"daily":30,"weekly":4,"monthly":12,"yearly":7}
58      
59      # National Industrial Security Program Operating Manual (NISPOM): 6 to 12 Months 
60      #patchesJson6902: |-
61      #  - path: "/spec/retention"
62      #    op: replace
63      #    value: {"hourly":24,"daily":30,"weekly":4,"monthly":6}
64      
65      # Cost Optimization (Maximum Retention: 3 Months)
66      patchesJson6902: |-
67        - path: "/spec/retention"
68          op: replace
69          value:
70            hourly: 24
71            daily: 30
72            weekly: 4
73            monthly: 3