Migrate the rest of Wildduck stack
This commit is contained in:
167
wildduck/haraka.yaml
Normal file
167
wildduck/haraka.yaml
Normal file
@@ -0,0 +1,167 @@
|
||||
---
|
||||
apiVersion: codemowers.cloud/v1beta1
|
||||
kind: RedisClaim
|
||||
metadata:
|
||||
name: haraka
|
||||
spec:
|
||||
class: ephemeral
|
||||
capacity: 100Mi
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: haraka
|
||||
data:
|
||||
loglevel: info
|
||||
plugin_timeout: "180"
|
||||
queue_dir: /var/lib/haraka/queue
|
||||
plugins: |-
|
||||
spf
|
||||
clamd
|
||||
rspamd
|
||||
wildduck
|
||||
rspamd.ini: |-
|
||||
host = rspamd
|
||||
port = 11333
|
||||
add_headers = always
|
||||
timeout = 30
|
||||
[dkim]
|
||||
enabled = true
|
||||
[header]
|
||||
bar = X-Rspamd-Bar
|
||||
report = X-Rspamd-Report
|
||||
score = X-Rspamd-Score
|
||||
spam = X-Rspamd-Spam
|
||||
[check]
|
||||
authenticated = true
|
||||
private_ip = true
|
||||
[reject]
|
||||
spam = false
|
||||
[soft_reject]
|
||||
enabled = true
|
||||
[rmilter_headers]
|
||||
enabled = true
|
||||
[spambar]
|
||||
positive = +
|
||||
negative = -
|
||||
neutral = /
|
||||
clamd.ini: |-
|
||||
clamd_socket = clamav:3310
|
||||
[reject]
|
||||
virus=true
|
||||
error=false
|
||||
smtp.ini: |-
|
||||
listen=0.0.0.0:2525
|
||||
nodes=1
|
||||
tls.ini: |-
|
||||
key=/cert/tls.key
|
||||
cert=/cert/tls.crt
|
||||
wildduck.js: |-
|
||||
module.exports = {
|
||||
"redis": process.env.REDIS_URI,
|
||||
"mongo": {
|
||||
"url": process.env.MONGO_URI,
|
||||
"sender": "application"
|
||||
},
|
||||
"sender": {
|
||||
"enabled": true,
|
||||
"zone": "default",
|
||||
"gfs": "mail",
|
||||
"collection": "zone-queue"
|
||||
},
|
||||
"srs": {
|
||||
"secret": "foobar"
|
||||
},
|
||||
"attachments": {
|
||||
"type": "gridstore",
|
||||
"bucket": "attachments",
|
||||
"decodeBase64": true
|
||||
},
|
||||
"log": {
|
||||
"authlogExpireDays": 30
|
||||
},
|
||||
"limits": {
|
||||
"windowSize": 3600,
|
||||
"rcptIp": 100,
|
||||
"rcptWindowSize": 60,
|
||||
"rcpt": 60
|
||||
},
|
||||
"gelf": {
|
||||
"enabled": false
|
||||
},
|
||||
"rspamd": {
|
||||
"forwardSkip": 10,
|
||||
"blacklist": [
|
||||
"DMARC_POLICY_REJECT"
|
||||
],
|
||||
"softlist": [
|
||||
"RBL_ZONE"
|
||||
],
|
||||
"responses": {
|
||||
"DMARC_POLICY_REJECT": "Unauthenticated email from {host} is not accepted due to domain's DMARC policy",
|
||||
"RBL_ZONE": "[{host}] was found from Zone RBL"
|
||||
}
|
||||
}
|
||||
}
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: haraka
|
||||
spec:
|
||||
replicas: 2
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/name: wildduck
|
||||
app.kubernetes.io/component: haraka
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/name: wildduck
|
||||
app.kubernetes.io/component: haraka
|
||||
spec:
|
||||
containers:
|
||||
- name: haraka
|
||||
image: docker.io/codemowers/wildduck-haraka-inbound:latest@sha256:a130cc6a60ab2a47cb5971355ed2474136254613b4b8bd30aeabc6e123695ea3
|
||||
imagePullPolicy: IfNotPresent
|
||||
ports:
|
||||
- containerPort: 2525
|
||||
name: haraka-mta
|
||||
securityContext:
|
||||
readOnlyRootFilesystem: true
|
||||
runAsNonRoot: true
|
||||
runAsUser: 65534
|
||||
volumeMounts:
|
||||
- name: wildduck-haraka-config
|
||||
mountPath: /etc/haraka
|
||||
readOnly: true
|
||||
- name: wildduck-haraka-config
|
||||
mountPath: /etc/haraka/config
|
||||
readOnly: true
|
||||
- name: var-lib-haraka
|
||||
mountPath: /var/lib/haraka
|
||||
- mountPath: /cert
|
||||
name: cert
|
||||
env:
|
||||
- name: REDIS_URI
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: redis-wildduck-owner-secrets
|
||||
key: REDIS_MASTER_0_URI
|
||||
- name: MONGO_URI
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: wildduck
|
||||
key: MONGO_URI
|
||||
volumes:
|
||||
- name: cert
|
||||
secret:
|
||||
secretName: wildduck-tls
|
||||
- name: wildduck-haraka-config
|
||||
projected:
|
||||
sources:
|
||||
- configMap:
|
||||
name: haraka
|
||||
- name: var-lib-haraka
|
||||
emptyDir:
|
||||
sizeLimit: 500Mi
|
Reference in New Issue
Block a user