Skip to content

Commit 9e3e7ca

Browse files
authored
operator [N] cert-monitor-operator (0.1.0)
1 parent 876c833 commit 9e3e7ca

File tree

3 files changed

+585
-0
lines changed

3 files changed

+585
-0
lines changed
Lines changed: 186 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,186 @@
1+
apiVersion: operators.coreos.com/v1alpha1
2+
kind: ClusterServiceVersion
3+
metadata:
4+
annotations:
5+
alm-examples: |-
6+
[
7+
{
8+
"apiVersion": "certmonitor.nachoperator.io/v1alpha1",
9+
"kind": "CertificateMonitor",
10+
"metadata": {
11+
"name": "certificatemonitor-sample",
12+
"namespace": "default"
13+
},
14+
"spec": {
15+
"secretName": "my-tls-secret",
16+
"renewalThresholdDays": 30,
17+
"notificationChannels": [
18+
{
19+
"type": "slack",
20+
"webhook": "https://hooks.slack.com/services/YOUR/SLACK/WEBHOOK"
21+
}
22+
]
23+
}
24+
}
25+
]
26+
capabilities: Basic Install
27+
categories: Security
28+
containerImage: ghcr.io/nachoperator/cert-monitor-operator:v0.1.0
29+
createdAt: "2025-09-07T16:47:51Z"
30+
description: Monitor SSL/TLS certificate expiration in Kubernetes clusters
31+
operatorframework.io/suggested-namespace: cert-monitor-system
32+
repository: https://github.com/nachoperator/nacho-operators
33+
support: NachoOperator Community
34+
name: cert-monitor-operator.v0.1.0
35+
namespace: placeholder
36+
spec:
37+
apiservicedefinitions: {}
38+
minKubeVersion: "1.21.0"
39+
customresourcedefinitions:
40+
owned:
41+
- description: CertificateMonitor monitors SSL/TLS certificate expiration
42+
displayName: Certificate Monitor
43+
kind: CertificateMonitor
44+
name: certificatemonitors.certmonitor.nachoperator.io
45+
version: v1alpha1
46+
description: |
47+
## About this Operator
48+
49+
The Certificate Monitor Operator helps you monitor SSL/TLS certificate expiration
50+
in your Kubernetes clusters. It automatically detects certificates that are
51+
approaching expiration and sends notifications through multiple channels.
52+
53+
## Features
54+
55+
* Monitor certificates in Kubernetes secrets
56+
* Configurable expiration thresholds
57+
* Multiple notification channels (Slack, OpsGenie)
58+
* Namespace-scoped monitoring
59+
* Rich alerting with certificate details
60+
61+
## Usage
62+
63+
Create a CertificateMonitor resource to start monitoring:
64+
65+
```yaml
66+
apiVersion: certmonitor.nachoperator.io/v1alpha1
67+
kind: CertificateMonitor
68+
metadata:
69+
name: my-cert-monitor
70+
spec:
71+
secretName: my-tls-secret
72+
renewalThresholdDays: 30
73+
notificationChannels:
74+
- type: slack
75+
webhook: "https://hooks.slack.com/services/YOUR/SLACK/WEBHOOK"
76+
```
77+
displayName: Certificate Monitor Operator
78+
icon:
79+
- base64data: PHN2ZyB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cmVjdCB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgZmlsbD0iIzAwN2NmZiIvPgogIDx0ZXh0IHg9IjUwIiB5PSI1MCIgZm9udC1mYW1pbHk9IkFyaWFsIiBmb250LXNpemU9IjE0IiBmaWxsPSJ3aGl0ZSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZHk9Ii4zZW0iPkNNPC90ZXh0Pgo8L3N2Zz4K
80+
mediatype: image/svg+xml
81+
install:
82+
spec:
83+
deployments:
84+
- name: cert-monitor-operator-controller-manager
85+
spec:
86+
replicas: 1
87+
selector:
88+
matchLabels:
89+
app.kubernetes.io/name: cert-monitor-operator
90+
app.kubernetes.io/instance: cert-monitor-operator
91+
template:
92+
metadata:
93+
labels:
94+
app.kubernetes.io/name: cert-monitor-operator
95+
app.kubernetes.io/instance: cert-monitor-operator
96+
spec:
97+
containers:
98+
- args:
99+
- --leader-elect
100+
command:
101+
- /manager
102+
image: ghcr.io/nachoperator/cert-monitor-operator:v0.1.0
103+
name: manager
104+
ports:
105+
- containerPort: 9443
106+
name: webhook-server
107+
protocol: TCP
108+
resources:
109+
limits:
110+
cpu: 500m
111+
memory: 128Mi
112+
requests:
113+
cpu: 10m
114+
memory: 64Mi
115+
securityContext:
116+
allowPrivilegeEscalation: false
117+
capabilities:
118+
drop:
119+
- "ALL"
120+
securityContext:
121+
runAsNonRoot: true
122+
serviceAccountName: cert-monitor-operator-controller-manager
123+
clusterPermissions:
124+
- rules:
125+
- apiGroups:
126+
- ""
127+
resources:
128+
- secrets
129+
verbs:
130+
- get
131+
- list
132+
- watch
133+
- apiGroups:
134+
- certmonitor.nachoperator.io
135+
resources:
136+
- certificatemonitors
137+
verbs:
138+
- create
139+
- delete
140+
- get
141+
- list
142+
- patch
143+
- update
144+
- watch
145+
- apiGroups:
146+
- certmonitor.nachoperator.io
147+
resources:
148+
- certificatemonitors/finalizers
149+
verbs:
150+
- update
151+
- apiGroups:
152+
- certmonitor.nachoperator.io
153+
resources:
154+
- certificatemonitors/status
155+
verbs:
156+
- get
157+
- patch
158+
- update
159+
serviceAccountName: cert-monitor-operator-controller-manager
160+
strategy: deployment
161+
installModes:
162+
- supported: false
163+
type: OwnNamespace
164+
- supported: false
165+
type: SingleNamespace
166+
- supported: false
167+
type: MultiNamespace
168+
- supported: true
169+
type: AllNamespaces
170+
keywords:
171+
- certificates
172+
- ssl
173+
- tls
174+
- monitoring
175+
- security
176+
- expiration
177+
links:
178+
- name: Cert Monitor Operator
179+
url: https://github.com/nachoperator/nacho-operators
180+
maintainers:
181+
182+
name: NachoOperator
183+
maturity: alpha
184+
provider:
185+
name: NachoOperator Community
186+
version: 0.1.0

0 commit comments

Comments
 (0)