Skip to content

Commit 1446ca2

Browse files
wip: tested everything for manual , still working on helm
Signed-off-by: Rahul Vishwakarma <[email protected]>
1 parent d588eb3 commit 1446ca2

File tree

4 files changed

+54
-49
lines changed

4 files changed

+54
-49
lines changed

docs/how-to-install.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
# create cluster
33
# Install cert-manager
44
# add trivy - k apply -f docs/trivy-manifest/deployment.yml and then same for svc
5+
# create our deployment and service and then only create validating webhook
56
# k apply -f manifest/k8s-controller-webhook.yaml (it contain everything, cert, tls secrets)
67
# add cluster permission for list, watch, create, get
78
# k apply -f manifest/cluster-permission.yaml

docs/trivy-manifest/deployment.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ apiVersion: apps/v1
22
kind: Deployment
33
metadata:
44
name: trivy-server
5+
namespace: default
56
labels:
67
app: trivy-server
78
spec:

docs/trivy-manifest/service.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ apiVersion: v1
22
kind: Service
33
metadata:
44
name: trivy-server-service
5+
namespace: default
56
labels:
67
app: trivy-server
78
spec:
@@ -12,3 +13,6 @@ spec:
1213
port: 8080
1314
targetPort: 8080
1415
type: ClusterIP # Use ClusterIP for internal access, or NodePort/LoadBalancer for external access
16+
17+
# [service-name].[service-namespace].svc:8080
18+
# trivy-server-service.default.svc:8080

manifest/k8s-controller-webhook.yaml

Lines changed: 48 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -3,53 +3,6 @@ kind: Namespace
33
metadata:
44
name: example1
55
---
6-
apiVersion: cert-manager.io/v1
7-
kind: Issuer
8-
metadata:
9-
name: selfsigned
10-
namespace: example1
11-
spec:
12-
selfSigned: {}
13-
---
14-
apiVersion: cert-manager.io/v1
15-
kind: Certificate
16-
metadata:
17-
name: webhook1-certificate
18-
namespace: example1
19-
spec:
20-
secretName: k8s-controller-tls # Secret mounted in deployment
21-
dnsNames:
22-
- k8s-custom-controller-service.example1.svc
23-
- k8s-custom-controller-service.example1.svc.cluster.local
24-
issuerRef:
25-
name: selfsigned
26-
---
27-
apiVersion: admissionregistration.k8s.io/v1
28-
kind: ValidatingWebhookConfiguration
29-
metadata:
30-
name: webhook1
31-
annotations:
32-
cert-manager.io/inject-ca-from: example1/webhook1-certificate
33-
webhooks:
34-
- name: k8s-custom-controller-service.example1.svc
35-
admissionReviewVersions:
36-
- v1
37-
sideEffects: None
38-
timeoutSeconds: 30
39-
clientConfig:
40-
service:
41-
name: k8s-custom-controller-service
42-
namespace: example1
43-
path: /validate
44-
port: 443
45-
rules:
46-
- apiGroups: [ "apps" ]
47-
apiVersions: [ "v1" ]
48-
operations: [ "CREATE" ]
49-
resources: [ "deployments" ]
50-
failurePolicy: Fail
51-
52-
---
536
apiVersion: apps/v1
547
kind: Deployment
558
metadata:
@@ -77,8 +30,8 @@ spec:
7730
value: "/certs/tls.crt"
7831
- name: TLS_KEY_FILE
7932
value: "/certs/tls.key"
80-
# - name: BYPASS_CVE_DENIED
81-
# value: "yes" # yes or true (lowercase)
33+
# - name: BYPASS_CVE_DENIED
34+
# value: "yes" # yes or true (lowercase)
8235
volumes:
8336
- name: webhook-certs
8437
secret:
@@ -97,3 +50,49 @@ spec:
9750
port: 443
9851
targetPort: 8000
9952
type: ClusterIP
53+
---
54+
apiVersion: cert-manager.io/v1
55+
kind: Issuer
56+
metadata:
57+
name: selfsigned
58+
namespace: example1
59+
spec:
60+
selfSigned: {}
61+
---
62+
apiVersion: cert-manager.io/v1
63+
kind: Certificate
64+
metadata:
65+
name: webhook1-certificate
66+
namespace: example1
67+
spec:
68+
secretName: k8s-controller-tls # Secret mounted in deployment
69+
dnsNames:
70+
- k8s-custom-controller-service.example1.svc
71+
- k8s-custom-controller-service.example1.svc.cluster.local
72+
issuerRef:
73+
name: selfsigned
74+
---
75+
apiVersion: admissionregistration.k8s.io/v1
76+
kind: ValidatingWebhookConfiguration
77+
metadata:
78+
name: webhook1
79+
annotations:
80+
cert-manager.io/inject-ca-from: example1/webhook1-certificate
81+
webhooks:
82+
- name: k8s-custom-controller-service.example1.svc
83+
admissionReviewVersions:
84+
- v1
85+
sideEffects: None
86+
timeoutSeconds: 30
87+
clientConfig:
88+
service:
89+
name: k8s-custom-controller-service
90+
namespace: example1
91+
path: /validate
92+
port: 443
93+
rules:
94+
- apiGroups: [ "apps" ]
95+
apiVersions: [ "v1" ]
96+
operations: [ "CREATE" ]
97+
resources: [ "deployments" ]
98+
failurePolicy: Fail

0 commit comments

Comments
 (0)