Skip to content
Snippets Groups Projects
Verified Commit 4d865da9 authored by Sheogorath's avatar Sheogorath :european_castle:
Browse files

feat(miniflux): Initial deployment

parent 2a724ce7
No related branches found
No related tags found
No related merge requests found
apiVersion: "acid.zalan.do/v1"
kind: postgresql
metadata:
name: miniflux-postgres
spec:
teamId: "miniflux"
volume:
size: 1Gi
numberOfInstances: 1
users:
miniflux:
- superuser
- createdb
databases:
miniflux: miniflux
postgresql:
version: "15"
---
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-from-miniflux-to-database
spec:
policyTypes:
- Ingress
ingress:
- from:
- podSelector:
matchLabels: {}
ports:
- port: 5432
protocol: TCP
podSelector:
matchExpressions:
- key: application
operator: In
values:
- spilo
\ No newline at end of file
apiVersion: apps/v1
kind: Deployment
metadata:
name: miniflux
spec:
replicas: 1
selector:
matchLabels: {}
strategy:
type: RollingUpdate
template:
spec:
serviceAccountName: miniflux
containers:
- image: ghcr.io/miniflux/miniflux:2.0.51-distroless
name: miniflux
env:
- name: RUN_MIGRATIONS
value: "1"
- name: PGHOST
value: miniflux-postgres.miniflux.svc.cluster.local
- name: PGUSER
valueFrom:
secretKeyRef:
name: miniflux.miniflux-postgres.credentials.postgresql.acid.zalan.do
key: username
- name: PGPASSWORD
valueFrom:
secretKeyRef:
name: miniflux.miniflux-postgres.credentials.postgresql.acid.zalan.do
key: password
resources:
requests:
cpu: 100m
memory: 256Mi
limits:
cpu: "1"
memory: "512Mi"
ports:
- name: http
containerPort: 8080
protocol: TCP
readinessProbe:
exec:
command:
- /usr/bin/miniflux
- -healthcheck
- auto
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
securityContext:
runAsNonRoot: true
seccompProfile:
type: RuntimeDefault
topologySpreadConstraints:
- maxSkew: 1
topologyKey: kubernetes.io/hostname
whenUnsatisfiable: DoNotSchedule
labelSelector:
matchLabels: {}
matchLabelKeys:
- pod-template-hash
---
apiVersion: v1
kind: Service
metadata:
name: miniflux
spec:
type: ClusterIP
selector: {}
ports:
- name: http
protocol: TCP
port: 80
targetPort: http
---
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
name: miniflux
spec:
maxUnavilable: 1
selector:
matchLabels: {}
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: miniflux
resources:
- namespace.yaml
- deployment.yaml
- database.yaml
- serviceaccount.yaml
- ../../../shared/networkpolicies/allow-from-ingress.yaml
- ../../../shared/networkpolicies/allow-from-database.yaml
commonLabels:
app.kubernetes.io/name: miniflux
components:
- ../../../shared/components/namespace-restricted
\ No newline at end of file
apiVersion: v1
kind: Namespace
metadata:
name: blog
labels: {}
\ No newline at end of file
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: miniflux
automountServiceAccountToken: false
\ No newline at end of file
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: miniflux-tls
spec:
dnsNames:
- ENC[AES256_GCM,data:PIVJFIhlhbrRoMKUX5ULQ35t/9rBDXyRFpZgrupC,iv:q66nNgQjcSDJVBKxiN7wzgLedYQvX5YuGnxpKJTiwys=,tag:/8Ktw4JoC8LM19+/rZY3IA==,type:str]
issuerRef:
name: letsencrypt
kind: ClusterIssuer
secretName: ingress-miniflux-tls
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age: []
lastmodified: "2024-02-04T23:11:32Z"
mac: ENC[AES256_GCM,data:RQAUP+NLw6sLde1wPJ9hln4D7SKppW2lG4AmDVVgPWM0KJfA1jkpz1dvEVbEf3jq3sx/1ro114RxkZoS5G/UAzA+AnS4Oza4YOvcWY7xTOj6StuqPx+yw3C8DIq5r3KRl/vWN56QXCdl+KISR0y3bxTt7Y3EtFd/PrOSb/MpSNM=,iv:TEsUmHmJpdYgsS6XXS9SNEvTcnxSLaebmbhs30Jc8qQ=,tag:H2oWsqN+G5SIvVe2m83CAw==,type:str]
pgp:
- created_at: "2022-01-21T18:13:48Z"
enc: |-
-----BEGIN PGP MESSAGE-----
wcFMA7kpg2bgzVHcAQ/+IG1TAuVEGzcWHg38roMiVRzgWKGSFwKWomqbuHrI5chZ
yWb9+L1THbckzT/azkmT+0I7KLuy7leN0MgENBMJ1UrHzLw5Sc267soVNft0ssvx
tEGIApqGgnVVoxALe0muynNBg3hJ94RzmgjgfWyQLdYxyq2WKusafGMeZVEDW4GV
R02O6MHYyect0i0F2RZRY03nILbiriZTIImVMdP3AcVu92fbTJk6/DKz0STWsVWK
8PmSy2C/dtZQXt9+F/xDXRwUmjE0WlUsdcraDMGX6CUYQenXzarOGEx8fWuFfVJk
WdUUB5WE7YjoXEoCN1/bLMsGzWTCOrHVUXufeowaKeiwX/mr9vsf1gbfsiaTfxcq
BcCT7KxAFomHA6rdeAd+Lcseg+cbGxKZNiG5yjdJEsOvqa+eXQ0RF1Nziq0DapBn
rAnh3QYRWuE8lB9WsKb+gI+J0eLtAJd6cqQcORfhpSG1e6vQHLbGrkv/RYJ+lX/6
rTkpNE9sinLHz+X3rPAGY362/wexeZszRbtEcWJVGNpATEQNViQfpZoUgESxZ0Ax
TgDMfHztbvqkenwLefN7GEsRAiKXkIo5zzZ3tBMltJEFYwKJ7I+8RoTzZfDQmu8N
Keo58QQZ/ZgyKeWqeCyvAf8Fm7yeZxCD2Io9ZGYmtSLc+p7hvxt1gPPqZTSd6tfS
UQFKjoz1drNOuk1gWBK6MFYwLvLpwzWTQg1Z3e46CSkP8eRYvuFqMRzrksi5TecA
n3ZABsoIRIYz4fUMn/VFK6hlQ0jgRzhO/Fpf9qiWpJDPsg==
=/Bxq
-----END PGP MESSAGE-----
fp: 286791FB6648539775DB31B8FCB98C2A3EC6F601
- created_at: "2022-01-21T18:13:48Z"
enc: |
-----BEGIN PGP MESSAGE-----
hQIMA4oYbIHZIrAPAQ/6AzWmuFdkDO05b5jctWs4uajFEtSTKABuLLAl4PCOtbHK
KzTcqKv5OAuge3Zrx7EtN9Ls5Y2AYH3szFuhPYdqCNEGFl5IFYLehfRjDm/2VnL7
7pEMEApOCcc5UHeiXnTG235DIWIJPGQ5i3gpuQ8uaYtxlBiYlF7TGgAezIWaD2/F
inVH+B+mJDI2zP2E5JR5lBV8QfzoMYMFII6ZKKCTlombKJCF7kUcXcApU+rCcwKQ
AETde0FitrHxr+BwGfaDfKMnVXkzAf1VLsfuj7ChoZ1E08uB4tVLTgaC4xmMKEM7
JZbfO/wQ7lAGi+vGoJXR+HgqSxgM3e0rQHj/O4VV7aDUw9TTN/7FAeR5App4AGJl
JfxnKzB3j9O4H/kwaaw1QboQbFvr/dGy1T5TmQ/CmTfATpJuDI4pGQS8U4j9Fx2P
cSkAjGU4roQLCPlW7kyg8Kr1Im8hG8/9Bfw8UGW8Gq9koflZgSHEj+4GSyTgAEE1
dEpYyACc43XeOt8MoAWBTWP67LaRMxi6EPBGgMl3Z+DE+syEeJcW2kpX1MxFihSL
vEh1XL5JHs9oxU98WnW+DWJ1t1UxBd8q74SoqTL2al3q2JtiIcv6yxrI2cXnjzFj
e0TMJ8KWBEq3dZ0pISzn6PVUpTsjsu5oM7UYCxv6h63FvkUkgk/+UfsFMZM7BhPU
ZgEJAhC7qcJaCRfODlYxG1mHlYgQrBOuoQly8KWztvCVfGObRrr5hKzKfucRNSw7
Bqped4pJrsSn6rIOShAIIxIyP1cT0Fs+Y01NZxwU+1t/jzC16sVMeVfeJCT5ASjp
J22N7mBf9g==
=Kklm
-----END PGP MESSAGE-----
fp: B137EE1549DFAF960DD1E2B15147025FB9F09E07
encrypted_regex: ^(data|stringData|email|dnsZones?|dnsNames?|hosts?|tang|externalURL)$
version: 3.7.3
apiVersion: "acid.zalan.do/v1"
kind: postgresql
metadata:
name: miniflux-postgres
spec:
numberOfInstances: 2
- op: add
path: /spec/template/spec/containers/0/envFrom
value: []
- op: add
path: /spec/template/spec/containers/0/envFrom/-
value:
secretRef:
name: miniflux-config
- op: add
path: /spec/template/spec/containers/0/volumeMounts
value: []
- op: add
path: /spec/template/spec/containers/0/volumeMounts/-
value:
name: oauth2-config
mountPath: /run/miniflux/secrets/
readOnly: true
- op: add
path: /spec/template/spec/volumes
value: []
- op: add
path: /spec/template/spec/volumes/-
value:
name: oauth2-config
secret:
secretName: miniflux-oauth2
optional: false
\ No newline at end of file
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: miniflux
annotations:
forecastle.stakater.com/expose: "true"
forecastle.stakater.com/appName: Miniflux
forecastle.stakater.com/group: Apps
spec:
rules:
- host: ENC[AES256_GCM,data:dSEXU4xHC8hepujV1ZzaP2nONnbGVYuHLs39mjgC,iv:inr61pJ3wd5LWpqQiJZ2aucyaVpYoFtNQaHjklzQn/k=,tag:K0OOqNOdFnIn4oaLPPsGxQ==,type:str]
http:
paths:
- backend:
service:
name: miniflux
port:
name: http
path: /
pathType: Prefix
tls:
- hosts:
- ENC[AES256_GCM,data:KhVWWd2D1piobvN8W54JmO1o+E/q6sXtmt2JP2fn,iv:5A75dpy/OzB95BVfxvyDxtAJmbQzc1gwD1FhRU2cSPU=,tag:13fUVv3iJ+QEp2IAmDqu+g==,type:str]
secretName: ingress-miniflux-tls
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age: []
lastmodified: "2024-02-04T23:11:39Z"
mac: ENC[AES256_GCM,data:L+f+R5suXNf2VaTEz+NhLAqAHnGYv1OZ+4Sevb+xH9XCI0bZo9XedsrRnO17hyBjydJJ/NWbnhoir3lKoPgdb8VlH5IAgdtUx58GPCsedN6fS7rzZ+S+pXYKI2hbUhqTCzr4F9b81oNnvStYE7tIyC8fFXQZgJuzDDzmE9k2WgA=,iv:NK8kHdRpWbCFHbriAFYpT63mi5cvNf0Yi0JD2+gdp0w=,tag:PrECmSv3a2Tc8myD1AJwDw==,type:str]
pgp:
- created_at: "2022-11-21T23:23:18Z"
enc: |-
-----BEGIN PGP MESSAGE-----
wcFMA7kpg2bgzVHcARAAsBmSVlkEOFbQFLJ1AgsE9kAbwc3M0JDE1xQ/1hv6Gbpx
vtdSxwGnP5gIJ92peux+lQwR6COdpxOXFPJInh3g8nlKC1Rai6otIrXPuV/wc81/
CShqXUeOKuWjmS5k/O9saJjaCEghJ+WNjnkcOkxhuZoIZk7e3FgHwMfnQsoGA5Cu
Ry5PDXRPE92Zz0eA3sh0ycdOiMaTbGomJ7cUf0GflsqOpDh7iSPqcrmN5QPxNTDh
ZoO1I0IS8akUQGxK7hS887TJKaAtXWAQNugBPFZhfCGl6q//dq1ZVMfH3Npzv+Jw
nIDviLEex+TOQjBORFWMb8DGubP+dr+WOCtuPlKsYKg2zi6hYXM21LWl/7uHj+Mk
AWlDkSgjMF2Vk3VhGny9thycwOYN506lQONPu9iQLBcVZHK6l01eiyfh7rDM8agt
xB3YPWqPACISgj9gnJFCnly8eJaYdejgIUBuwFSesIt3O1xM4k1ghZkNBVLZdlrj
ejOOheAOcEGgS7moPX2rJZ6jZqn+7x7GnAtPj6VQX1U+6MJxMYmF8Ej0aTsFafn1
7kPpheEauIBv8RuFV7sBYvUonoxeWNEeD3h4fRQSAwq5O2aYlso/VrA9lmecroi0
0IuCbjL9ZklZYchSUAh/1mGloh79iGJcCYgDBPel/lZjrCJNMiSGcX2iCctJBQLS
UQHlmtT6NAy5/3eDia7LGIbmplivGVuvAIjUC20QcWDoGw02WsGvdlNdv12JHQY5
PhGmgS565cInYmhr7Nbv4i+p/vON2kWA5liU7LZ5a8nUuA==
=gn0m
-----END PGP MESSAGE-----
fp: 286791FB6648539775DB31B8FCB98C2A3EC6F601
- created_at: "2022-11-21T23:23:18Z"
enc: |
-----BEGIN PGP MESSAGE-----
hQIMA4oYbIHZIrAPAQ//ZCm4SMaNG0O5p99rsyHMyny6u4wfKiNL7USGKXn3cX5i
U9ZGxc31sZB45TasFjFQQ/e9hdVtrIRdrIKrNKEdPfRdw5zdjm5/Uwje49RAizsY
CyG9u6y+p/QVLHq2Wjd90VylFruqPA4MdhYB9fafH1PWaQe9L5k9877GPKbIsVWT
aAD3IrW98d8NCm0z8C8JdMTYHjbZnpejFLqJtpj8ff/E42G9Q9qJexP3jLE3KnKO
VJOOoYjDHpeWxG3x9kBvEvMrAAsKuGagAxrrgrzROVFw72AP17MLcrVToCzKy8Y4
LSV5aqSR5o5wA5AAwJa8gjhi43KNtPZX+3KExX+fyIJPVpgF3UaAGcrC5h3bIUjL
yE5tbn3CXkwQm0HtfB5pI4PEUC36zqrqoTpZ8SLbA+xZK6FtmeBLH1DQtB1iJBeC
vsQECQfQ9ZbnPq++eoAHZkVsiDrDkmpHxeS66owdKuLTvZPxx8jPGqAVtQmFTEJn
Uh3dFVmvzGJYPfqH6sOwxZhOeX1ESaKjY2+e+wW9q2kvMSOwvzWvOOqiP+90fWr3
xlgkXx2FTuMIAxTdUUE3dnRc9ViqTUCd/MZkZACNYKSfs7fZzULOwW8vQAXEQqq0
ZmmVUV1cJt6EXX+qhB4JkDftI8FqYfGE1NwEDlXdlZznV8pg1FHAPoHD8pAG11vU
aAEJAhCRjh6jPG2xGIxp9DG3hw0Z5QRaHmL9vecYIPHaRpf434MlW78/dP2z3yQ3
RuXZrfGr3KBhhAPLFMo6iCfYyrJ3xeto0vlHsRzyZJ0ldniKvuXGUQCqu+AFwI1H
0/W950Z/5NVd
=8WwG
-----END PGP MESSAGE-----
fp: B137EE1549DFAF960DD1E2B15147025FB9F09E07
encrypted_regex: ^(data|stringData|email|dnsZones?|dnsNames?|.*(H|h)osts?|tang|externalURL|.*-secret|.*-url|.*Secrets?|.*-domain|password|subjects|node|apiURL|.*(S|s)erverNames?|.*SecretKey|externalName)$
version: 3.7.3
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: miniflux
resources:
- ../../base/miniflux
- certificate.yaml
- slo.yaml
- ingress.yaml
- ../../../shared/resourcequotas/default.yaml
patches:
- path: database-patch.yaml
- path: deployment-patch.yaml
target:
group: apps
version: v1
kind: Deployment
name: miniflux
commonLabels:
app.kubernetes.io/name: miniflux
app.kubernetes.io/instance: miniflux
\ No newline at end of file
apiVersion: v1
kind: Secret
metadata:
name: miniflux-config
type: Opaque
stringData:
OAUTH2_OIDC_DISCOVERY_ENDPOINT: ENC[AES256_GCM,data:LPdHWyF8gKzn+vP3Eyv4xSbcdUfGGOSoP/4wV0wWNm9AGKH9Uku0u4hOFr6bFcU0vcPm63ufcP0=,iv:/aixCgGYiXwMZlQ45FeGu1cYT7blUNkEJt4M631SInE=,tag:FzkE1xKsd8+PCz5I4wGG9g==,type:str]
OAUTH2_REDIRECT_URL: ENC[AES256_GCM,data:P2CRt6tUafc1OA3C5vQuWhc17JIAeY8XSVCjkn0uiWXd2AZTNo9C5Iaqq7MLZQr6jwnbrVfV9orrU1E=,iv:KG9X/JToBgs2A3r6cgJgIt036oH+9d1Qh+9VVLXq7cA=,tag:IjkV8fT4sxYEsuqRUATGyw==,type:str]
OAUTH2_CLIENT_SECRET_FILE: ENC[AES256_GCM,data:Ga3GMNN6j1eK6NZqcM7l7NMl+g8KR/p2U64EQwpdKMjLz54=,iv:pTqNOUxms7cuipd6CM4pq9zl3azVywi8wNt32dc35q0=,tag:fV7zXi9GGcAUOU91yXNbLg==,type:str]
OAUTH2_CLIENT_ID_FILE: ENC[AES256_GCM,data:JOQRsoODMtm6dg1f9yYQg1OnFOAt2951raCWsaNsDg==,iv:If+1mPzQ5lJ2yBxIAhLd+q+fvr5tiFErSoJw7I1oibE=,tag:JTvtX7VHtMUR6yeD1IzIqw==,type:str]
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age: []
lastmodified: "2024-02-04T23:40:55Z"
mac: ENC[AES256_GCM,data:GTIJ4Ttl9KM+1m/8Mr3wQb9UzTY0vZzRyCxpqRiu0nUoRUpLh1PlRgqnjGfGWnTwbnV2iCk5RypLRrbpRipWUI/eMfTdelhVw2FwutTVwwAL+12o/rHQ4HCNztpTu6NML7vn4PZ0Sa3gOfbVTdRn2eaZecPhHJjtVUea2q0edq0=,iv:pvLpJxgaPuVtuseWA7jzTuVveGJhNHZ6Doc5EXMM9Eo=,tag:YwkvT5Wbq+zJGLNhrck+Hg==,type:str]
pgp:
- created_at: "2022-03-22T22:26:35Z"
enc: |-
-----BEGIN PGP MESSAGE-----
wcFMA7kpg2bgzVHcARAApcdDAfEgx93xGtkm4f7xTuRhvUyl8lw85rIHbWcAveYU
ayU88OLaoQyeZDZkOXbtxMHpry8GbId6vPAJ7KflT2eMP0A4uQGSSCQO6+5QcaYg
sbO/zT4vdprN7icLbvmmoK2Dh+hOo5Z7/7YGmdJfaaATzT2BGL/cVS1bonI83vXR
lzlW/DglIe7oNEKGVT5vWR5uGvq/dJwSRe/34eutEnJuV30imxHOcpxy3uXJFFXJ
3eKTk8dNLz3UE3IeUjbFdPFZYU+grOAOOCZRK0IOYFn+SF7E3dewgiwEdaXzz3gK
/6aEMEmf5vyVqn9jOaqZhKRqE7tW5HnhwIIlxcMPhkLVZvYf4F2EDA5f12C2hdp0
s7fFhU7v5GgFaHMJuaWVPxDnWTrNIst9bgeJv/N4RVfrLifrZJcqa9lE8ou0iCr5
dLi9d6UjsgWAREIViz+Uz7dJQ9QeJ6PGYgg/xgf0ihJFG7sx+TBG58DKb3G3tyUV
8hfK8Ou9m+zYnd13mJ2mV3rY0rmXusT+NcqTG2G4bBG5NimGpJS3rO7tAjjp/8sN
hMM46ay0vVTUXx1FwmjUFDG1e4sc7fKxTaCBizMjeUfZpAOiy/10YQmrFHBsftpo
K5j0nFMoG9NeO+2ffEmLhRtxvMe3WpINk7du3F624rYIGCB0aNUP69FCeJKuUQHS
5gH5AwnxOAtQakDksfLxJhUG1NlaS0iAFkZkTTibvOJwsY9L/scDDQlseb5zBKaZ
sOPwmn6hL4KavxF9BPG33ILkZKbkcvlaTlAMMY3iBs+MZeIB4+i/AA==
=SQqg
-----END PGP MESSAGE-----
fp: 286791FB6648539775DB31B8FCB98C2A3EC6F601
- created_at: "2022-03-22T22:26:35Z"
enc: |
-----BEGIN PGP MESSAGE-----
hQIMA4oYbIHZIrAPAQ//fGGoDT5KfsG/o6r5xhDHSc0IFH6zT2TFIB6TuA5SwHfV
8t3IeKD0bE//4f8AxGAVocw+AetolwrQL/Tl+n0UV9P44Jeh5VlCAGltHcowR53o
zdjS3+i9K3OOvQFhF+aYrPcnc+aTn9KbptHCam0w+Lr2UkYSAPAZHsBcoMp24mHX
6A+5kP1kaRzFzEn4TCNeTt13W1AsJIoSagkBWfYRBkRPk1OzGOuYqX6yeqj7a0kM
8uiloTQgWOiBSOyRtxUJi87CTrMXyb0F2E9HMyhgRnzF0YX0ZU0UVG8MNdRL8eFD
WYY68OK7DQw3zlJubscYQ2jltxKcq5g9qUCw/sXaNurtohIx9UeaHtfp036EMb22
5StgGEnBirUzfSrQGT3kuj20lcMtQAr/d1UsmQNjB36eOZSrx0m80pO8JVYL62/O
HLYnAHU52aAPtE7brNEVg4yRLCbWyVY3Z3H9OaTVXwNIMFoMEgkHHnNlsb+1ZnhV
cStKMO3H6W8eXQi3VGIVNhuC1ltsxHQL1I22Kr41JEnuaB9Jy5bsEbrO4XGyDdte
hMI8Gx+0KZAMlKuZKLS6sMa4oVnQTy8w20PtVrrS0zDrQRPpxBrOgzjrNeMj9FpS
q/efiCAOBc8eVd8N/7j66UItwrysfmIfsHWfoPotS7F6WmUHeAyoWjfcvTZyd4bU
ZgEJAhAtdCnHNvUSl5O9XZuSu51pRwj+O72kZXRSJWv7GTT9dsRfuM5Dy9A/tuVI
BuZraI4JyAWb2KbkM6onp3Rh9IcLuzqEYm/ETktxTtO1HlcVPJ2NMcFgTCzaIGX9
+rtkG7tPbA==
=tvBa
-----END PGP MESSAGE-----
fp: B137EE1549DFAF960DD1E2B15147025FB9F09E07
encrypted_regex: ^(data|stringData|email|dnsZones?|dnsNames?|hosts?|tang|externalURL|.*-secret|.*-url|.*Secrets?|.*-domain|password|subjects|node|apiURL|.*(S|s)erverNames?|.*SecretKey)$
version: 3.7.3
---
apiVersion: v1
kind: Secret
metadata:
name: miniflux-oauth2
type: Opaque
stringData:
client_id: ENC[AES256_GCM,data:UG7l/yGuJIM=,iv:B5nfhOTZ92t5gtm6qgpMBtHvZOiwUhg7ROtktTyocRs=,tag:JsVELl1JYkkTB2Y50RV8Dg==,type:str]
client_secret: ENC[AES256_GCM,data:XZAUm0l6p2FjkeW6la6tDcRKmKA8a3cYykm1gv5F58A=,iv:c7At/DkAV71ed7x/LCS2NI6tnX1/E1gy5MuQSjwHBmE=,tag:B86HqNBPFehEWW/kbWUN4g==,type:str]
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age: []
lastmodified: "2024-02-04T23:40:55Z"
mac: ENC[AES256_GCM,data:GTIJ4Ttl9KM+1m/8Mr3wQb9UzTY0vZzRyCxpqRiu0nUoRUpLh1PlRgqnjGfGWnTwbnV2iCk5RypLRrbpRipWUI/eMfTdelhVw2FwutTVwwAL+12o/rHQ4HCNztpTu6NML7vn4PZ0Sa3gOfbVTdRn2eaZecPhHJjtVUea2q0edq0=,iv:pvLpJxgaPuVtuseWA7jzTuVveGJhNHZ6Doc5EXMM9Eo=,tag:YwkvT5Wbq+zJGLNhrck+Hg==,type:str]
pgp:
- created_at: "2022-03-22T22:26:35Z"
enc: |-
-----BEGIN PGP MESSAGE-----
wcFMA7kpg2bgzVHcARAApcdDAfEgx93xGtkm4f7xTuRhvUyl8lw85rIHbWcAveYU
ayU88OLaoQyeZDZkOXbtxMHpry8GbId6vPAJ7KflT2eMP0A4uQGSSCQO6+5QcaYg
sbO/zT4vdprN7icLbvmmoK2Dh+hOo5Z7/7YGmdJfaaATzT2BGL/cVS1bonI83vXR
lzlW/DglIe7oNEKGVT5vWR5uGvq/dJwSRe/34eutEnJuV30imxHOcpxy3uXJFFXJ
3eKTk8dNLz3UE3IeUjbFdPFZYU+grOAOOCZRK0IOYFn+SF7E3dewgiwEdaXzz3gK
/6aEMEmf5vyVqn9jOaqZhKRqE7tW5HnhwIIlxcMPhkLVZvYf4F2EDA5f12C2hdp0
s7fFhU7v5GgFaHMJuaWVPxDnWTrNIst9bgeJv/N4RVfrLifrZJcqa9lE8ou0iCr5
dLi9d6UjsgWAREIViz+Uz7dJQ9QeJ6PGYgg/xgf0ihJFG7sx+TBG58DKb3G3tyUV
8hfK8Ou9m+zYnd13mJ2mV3rY0rmXusT+NcqTG2G4bBG5NimGpJS3rO7tAjjp/8sN
hMM46ay0vVTUXx1FwmjUFDG1e4sc7fKxTaCBizMjeUfZpAOiy/10YQmrFHBsftpo
K5j0nFMoG9NeO+2ffEmLhRtxvMe3WpINk7du3F624rYIGCB0aNUP69FCeJKuUQHS
5gH5AwnxOAtQakDksfLxJhUG1NlaS0iAFkZkTTibvOJwsY9L/scDDQlseb5zBKaZ
sOPwmn6hL4KavxF9BPG33ILkZKbkcvlaTlAMMY3iBs+MZeIB4+i/AA==
=SQqg
-----END PGP MESSAGE-----
fp: 286791FB6648539775DB31B8FCB98C2A3EC6F601
- created_at: "2022-03-22T22:26:35Z"
enc: |
-----BEGIN PGP MESSAGE-----
hQIMA4oYbIHZIrAPAQ//fGGoDT5KfsG/o6r5xhDHSc0IFH6zT2TFIB6TuA5SwHfV
8t3IeKD0bE//4f8AxGAVocw+AetolwrQL/Tl+n0UV9P44Jeh5VlCAGltHcowR53o
zdjS3+i9K3OOvQFhF+aYrPcnc+aTn9KbptHCam0w+Lr2UkYSAPAZHsBcoMp24mHX
6A+5kP1kaRzFzEn4TCNeTt13W1AsJIoSagkBWfYRBkRPk1OzGOuYqX6yeqj7a0kM
8uiloTQgWOiBSOyRtxUJi87CTrMXyb0F2E9HMyhgRnzF0YX0ZU0UVG8MNdRL8eFD
WYY68OK7DQw3zlJubscYQ2jltxKcq5g9qUCw/sXaNurtohIx9UeaHtfp036EMb22
5StgGEnBirUzfSrQGT3kuj20lcMtQAr/d1UsmQNjB36eOZSrx0m80pO8JVYL62/O
HLYnAHU52aAPtE7brNEVg4yRLCbWyVY3Z3H9OaTVXwNIMFoMEgkHHnNlsb+1ZnhV
cStKMO3H6W8eXQi3VGIVNhuC1ltsxHQL1I22Kr41JEnuaB9Jy5bsEbrO4XGyDdte
hMI8Gx+0KZAMlKuZKLS6sMa4oVnQTy8w20PtVrrS0zDrQRPpxBrOgzjrNeMj9FpS
q/efiCAOBc8eVd8N/7j66UItwrysfmIfsHWfoPotS7F6WmUHeAyoWjfcvTZyd4bU
ZgEJAhAtdCnHNvUSl5O9XZuSu51pRwj+O72kZXRSJWv7GTT9dsRfuM5Dy9A/tuVI
BuZraI4JyAWb2KbkM6onp3Rh9IcLuzqEYm/ETktxTtO1HlcVPJ2NMcFgTCzaIGX9
+rtkG7tPbA==
=tvBa
-----END PGP MESSAGE-----
fp: B137EE1549DFAF960DD1E2B15147025FB9F09E07
encrypted_regex: ^(data|stringData|email|dnsZones?|dnsNames?|hosts?|tang|externalURL|.*-secret|.*-url|.*Secrets?|.*-domain|password|subjects|node|apiURL|.*(S|s)erverNames?|.*SecretKey)$
version: 3.7.3
apiVersion: sloth.slok.dev/v1
kind: PrometheusServiceLevel
metadata:
name: requests-miniflux
spec:
service: "miniflux"
slos:
- name: "requests-availability"
objective: 98
description: "Miniflux: SLO based on availability for HTTP request responses."
sli:
events:
errorQuery: sum(rate(nginx_ingress_controller_requests{exported_namespace="miniflux",ingress="miniflux",status=~"(5..|429)"}[{{.window}}])) OR vector(0)
totalQuery: sum(rate(nginx_ingress_controller_requests{exported_namespace="miniflux",ingress="miniflux"}[{{.window}}])) > 0 OR vector(1)
alerting:
name: MinifluxHighErrorRate
labels:
category: "availability"
annotations:
summary: "High error rate on 'blog' requests responses"
- name: "requests-latency"
objective: 95
description: "Miniflux: SLO based on latency for HTTP request responses. Warns if requests take longer than 250ms. When responses are slower than 200ms they become noticable slow."
labels:
category: latency
sli:
events:
errorQuery: |
(
sum(rate(nginx_ingress_controller_request_duration_seconds_count{exported_namespace="miniflux",ingress="miniflux",method!="WATCH"}[{{.window}}]))
-
sum(rate(nginx_ingress_controller_request_duration_seconds_bucket{exported_namespace="miniflux",ingress="miniflux",le="0.25",verb!="WATCH"}[{{.window}}]))
)
totalQuery: sum(rate(nginx_ingress_controller_request_duration_seconds_count{exported_namespace="miniflux",ingress="miniflux",method!="WATCH"}[{{.window}}])) > 0 OR vector(1)
alerting:
name: MinifluxLatencyAlert
labels:
category: "latency"
annotations:
summary: "Slow responses on 'miniflux' requests responses. More than 1% take more than 250ms."
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment