Skip to content

Commit 07636a5

Browse files
srodenhuisSander RodenhuisferruhcihanJehoszafat ZimnowodaMatthias Erll
authored
feat: kyverno policies (#1462)
Co-authored-by: Sander Rodenhuis <[email protected]> Co-authored-by: ferruhcihan <[email protected]> Co-authored-by: Jehoszafat Zimnowoda <[email protected]> Co-authored-by: Matthias Erll <[email protected]> Co-authored-by: Matthias Erll <[email protected]> Co-authored-by: Ani Argjiri <[email protected]> Co-authored-by: jeho <[email protected]> Co-authored-by: Jehoszafat Zimnowoda <[email protected]>
1 parent 5b0c2a2 commit 07636a5

File tree

245 files changed

+56440
-8067
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

245 files changed

+56440
-8067
lines changed

.cspell.json

+1
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@
8484
"ovh",
8585
"otel",
8686
"thanos",
87+
"kyverno",
8788
"Paketo",
8889
"tekton",
8990
"cnpg",

.values/env/apps/falco.yaml

-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ apps:
77
- macro: k8s_containers
88
condition: (
99
container.image.repository in (
10-
docker.io/openpolicyagent/gatekeeper,
1110
docker.io/velero/velero,
1211
docker.io/weaveworks/kured,
1312
k8s.gcr.io/kube-state-metrics/kube-state-metrics,

.values/env/apps/gatekeeper.yaml

-3
This file was deleted.

.values/env/settings.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
version: 22
1+
version: 23

.values/env/teams.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,5 @@ teamConfig:
99
access:
1010
- shell
1111
- downloadCertificateAuthority
12+
policies:
13+
- edit policies

.values/env/teams/policies.admin.yaml

+96
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
teamConfig:
2+
admin:
3+
policies:
4+
allowed-image-repositories:
5+
action: Audit
6+
customValues: []
7+
severity: medium
8+
disallow-capabilities:
9+
action: Audit
10+
customValues:
11+
- AUDIT_WRITE
12+
- CHOWN
13+
- DAC_OVERRIDE
14+
- FOWNER
15+
- FSETID
16+
- KILL
17+
- MKNOD
18+
- NET_BIND_SERVICE
19+
- SETFCAP
20+
- SETGID
21+
- SETPCAP
22+
- SETUID
23+
- SYS_CHROOT
24+
- '""'
25+
severity: medium
26+
disallow-capabilities-strict:
27+
action: Audit
28+
severity: medium
29+
disallow-host-namespaces:
30+
action: Audit
31+
severity: medium
32+
disallow-host-path:
33+
action: Audit
34+
severity: medium
35+
disallow-host-ports:
36+
action: Audit
37+
severity: medium
38+
disallow-host-process:
39+
action: Audit
40+
severity: medium
41+
disallow-latest-tag:
42+
action: Audit
43+
severity: medium
44+
disallow-privilege-escalation:
45+
action: Audit
46+
severity: medium
47+
disallow-privileged-containers:
48+
action: Audit
49+
severity: medium
50+
disallow-proc-mount:
51+
action: Audit
52+
severity: medium
53+
disallow-selinux:
54+
action: Audit
55+
severity: medium
56+
require-limits:
57+
action: Audit
58+
severity: medium
59+
require-requests:
60+
action: Audit
61+
severity: medium
62+
require-run-as-non-root-user:
63+
action: Audit
64+
severity: medium
65+
require-run-as-nonroot:
66+
action: Audit
67+
severity: medium
68+
require-labels:
69+
action: Audit
70+
severity: medium
71+
customValues:
72+
- 'otomi.io/app'
73+
restrict-apparmor-profiles:
74+
action: Audit
75+
severity: medium
76+
restrict-seccomp:
77+
action: Audit
78+
severity: medium
79+
restrict-seccomp-strict:
80+
action: Audit
81+
severity: medium
82+
restrict-sysctls:
83+
action: Audit
84+
severity: medium
85+
restrict-volume-types:
86+
action: Audit
87+
customValues:
88+
- configMap
89+
- csi
90+
- downwardAPI
91+
- emptyDir
92+
- ephemeral
93+
- persistentVolumeClaim
94+
- projected
95+
- secret
96+
severity: medium

apps.yaml

+10-12
Original file line numberDiff line numberDiff line change
@@ -97,18 +97,6 @@ appsInfo:
9797
dependencies: None. Prometheus and Grafana are adviced
9898
about: Falco is an open source cloud native runtime security tool that makes it easy to consume kernel events, and enrich those events with information from Kubernetes. Falco has a rich set of security rules specifically built for Kubernetes and Linux. If a rule is violated in a system, Falco will send an alert notifying the user of the violation and its severity.
9999
integration: Falco can be enabled in Otomi for runtime intrusion detection. Macros have been configured to exclude all known platform violations so platform admins are only notified when user workloads are not compliant to the security rules. Alerts are automatically send using Alertmanager and the Falco Dashboard is added to Grafana.
100-
gatekeeper:
101-
title: Gatekeeper
102-
appVersion: 3.8.1
103-
repo: https://github.com/open-policy-agent/gatekeeper
104-
maintainers: Open Policy Agent
105-
relatedLinks:
106-
- https://otomi.io/docs/apps/gatekeeper
107-
- https://open-policy-agent.github.io/gatekeeper/website/docs/
108-
license: Apache 2.0
109-
dependencies: None. Prometheus and Grafana are adviced.
110-
about: Kubernetes allows decoupling policy decisions from the inner workings of the API Server by means of admission controller webhooks, which are executed whenever a resource is created, updated or deleted. Gatekeeper is a validating (mutating TBA) webhook that enforces CRD-based policies executed by Open Policy Agent.
111-
integration: OPA/Gatekeeper can be enabled for policy enforcement. The Otomi configuration repository holds a policies.yaml file with sane default policy presets. A selection of usable policies for Otomi are used by Conftest as well for static analysis of manifests generated by Otomi. YAML Resources are verified against defined .rego policy rules, using the defined preset parameters as their constraint value. When enabled, policies can be turned on/off in the Otomi web UI.
112100
gitea:
113101
title: Gitea Self-hosted GIT
114102
appVersion: 1.15.8
@@ -220,6 +208,16 @@ appsInfo:
220208
license: Apache 2.0
221209
about: Knative Serving builds on Kubernetes to support deploying and serving of applications and functions as serverless containers. Serving is easy to get started with and scales to support advanced scenarios.
222210
integration: Knative serving can be activated to deliver Container-as-a-Service (CaaS) functionality with a scale-to-zero option. It can be compared to Functions-as-a-service (FaaS) but is container oriented, and takes only one manifest to configure an auto scaling service based on a container image of choice. Otomi offers an on-the-fly Knative service deployment, making it very easy to deploy containerized services without the hassle of providing all the supporting resources involved with Helm charts. Istio Virtual Services are used to route traffic coming in for a public domain to its backing Knative Service, allowing it to set a custom domain.
211+
kyverno:
212+
title: Kyverno
213+
appVersion: 1.11.3
214+
repo: https://github.com/kyverno/kyverno
215+
maintainers: Nirmata
216+
relatedLinks:
217+
- https://otomi.io/docs/apps/kyverno
218+
- https://kyverno.io/docs/kyverno-policies/
219+
license: Apache 2.0
220+
about: Kyverno is a policy engine designed for Kubernetes. It can validate, mutate, and generate configurations using admission controls and background scans. Kyverno policies are Kubernetes resources and do not require learning a new language.
223221
kured:
224222
title: Kured
225223
appVersion: 1.13.1

charts/gatekeeper-artifacts/.helmignore

-21
This file was deleted.

charts/gatekeeper-artifacts/Chart.yaml

-8
This file was deleted.

charts/gatekeeper-artifacts/templates.yaml

-6
This file was deleted.

charts/gatekeeper-artifacts/templates/.gitignore

-1
This file was deleted.

charts/gatekeeper-artifacts/templates/_helpers.tpl

-80
This file was deleted.

charts/gatekeeper-artifacts/templates/config.yaml

-24
This file was deleted.

0 commit comments

Comments
 (0)