imfreedom/k8s-cluster

move 50-pidgin.im to kustomize

2021-06-17, Gary Kramlich
dfa4ca62db47
Parents e702c68cbfc8
Children 0a1a905797b5
move 50-pidgin.im to kustomize
--- a/50-pidgin.im.yaml Thu Jun 17 02:18:14 2021 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,256 +0,0 @@
----
-apiVersion: traefik.containo.us/v1alpha1
-kind: Middleware
-metadata:
- name: pidgin-newissue-redirect
- namespace: roost
-spec:
- redirectRegex:
- regex: ^https?:\/\/[^\/]+(\/.+)?
- replacement: |
- https://issues.imfreedom.org/newIssue?project=PIDGIN&description=What%20version%20of%20pidgin%20are%20you%20using%3F%20(please%20provide%20the%20actual%20version%20number%20from%20Help%20-%3E%20About%3B%20latest%20is%20not%20a%20version%20number).%0A%0AWhat%20operating%20system%20are%20you%20running%20(for%20example%20Debian%20Buster%2C%20Fedora%2032%2C%20Ubuntu%20Focal)%3F%0A%0AHow%20did%20you%20install%20Pidgin%20(from%20source%2C%20package%20manager%2C%20appimage%2C%20flatpak%2C%20snap%2C%20other)%3F%0A%0A%5BPlease%20describe%20your%20issue%20in%20more%20detail%5D
----
-apiVersion: traefik.containo.us/v1alpha1
-kind: Middleware
-metadata:
- name: pidgin-redirect-documentation
- namespace: roost
-spec:
- redirectRegex:
- regex: ^https?:\/\/[^\/]+(\/documentation(\.php)?)$
- replacement: https://pidgin.im/help
- permanent: true
----
-apiVersion: traefik.containo.us/v1alpha1
-kind: Middleware
-metadata:
- name: pidgin-redirect-pipermail-support
- namespace: roost
-spec:
- redirectRegex:
- regex: ^https?:\/\/[^\/]+(\/pipermail\/support)$
- replacement: https://lists.pidgin.im/pipermail/support/
- permanent: true
----
-apiVersion: traefik.containo.us/v1alpha1
-kind: Middleware
-metadata:
- name: pidgin-redirect-support
- namespace: roost
-spec:
- redirectRegex:
- regex: ^https?:\/\/[^\/]+(\/support)$
- replacement: https://pidgin.im/about/community/
- permanent: true
----
-apiVersion: traefik.containo.us/v1alpha1
-kind: Middleware
-metadata:
- name: pidgin-redirects
- namespace: roost
-spec:
- redirectRegex:
- regex: ^https?:\/\/[^\/]+(\/.+)?
- replacement: https://pidgin.im${1}
- permanent: true
----
-apiVersion: traefik.containo.us/v1alpha1
-kind: IngressRoute
-metadata:
- name: pidgin-http
- namespace: roost
-spec:
- entryPoints:
- - http
- routes:
- - match: Host(`pidgin.im`) || Host(`www.pidgin.im`)
- kind: Rule
- services:
- - name: pidgin-im
- port: 3000
- middlewares:
- - name: pidgin-redirect-documentation
- - name: pidgin-redirect-pipermail-support
- - name: pidgin-redirect-support
- - name: common-headers
- - match: (Host(`pidgin.im`) || Host(`www.pidgin.im`)) && PathPrefix(`/win32`)
- kind: Rule
- services:
- - name: oldsite
- port: 80
- middlewares:
- - name: common-headers
- - match: (Host(`pidgin.im`) || Host(`www.pidgin.im`)) && Path(`/version.php`)
- kind: Rule
- services:
- - name: oldsite
- port: 80
- middlewares:
- - name: common-headers
- - match: (Host(`pidgin.im`) || Host(`www.pidgin.im`)) && Path(`/newissue`)
- kind: Rule
- services:
- - name: nest
- port: 3000
- middlewares:
- - name: pidgin-newissue-redirect
----
-apiVersion: traefik.containo.us/v1alpha1
-kind: IngressRoute
-metadata:
- name: pidgin-https
- namespace: roost
-spec:
- entryPoints:
- - https
- routes:
- - match: Host(`pidgin.im`) || Host(`www.pidgin.im`)
- kind: Rule
- services:
- - name: pidgin-im
- port: 3000
- middlewares:
- - name: pidgin-redirect-documentation
- - name: pidgin-redirect-pipermail-support
- - name: pidgin-redirect-support
- - name: common-headers
- - name: hsts-headers
- - match: (Host(`pidgin.im`) || Host(`www.pidgin.im`)) && PathPrefix(`/win32`)
- kind: Rule
- services:
- - name: oldsite
- port: 80
- middlewares:
- - name: common-headers
- - name: hsts-headers
- - match: (Host(`pidgin.im`) || Host(`www.pidgin.im`)) && Path(`/version.php`)
- kind: Rule
- services:
- - name: oldsite
- port: 80
- middlewares:
- - name: common-headers
- - name: hsts-headers
- - match: (Host(`pidgin.im`) || Host(`www.pidgin.im`)) && Path(`/newissue`)
- kind: Rule
- services:
- - name: nest
- port: 3000
- middlewares:
- - name: pidgin-newissue-redirect
- - name: hsts-headers
- tls:
- secretName: pidgin-tls
----
-apiVersion: cert-manager.io/v1alpha2
-kind: Certificate
-metadata:
- namespace: roost
- name: pidgin-tls
-spec:
- secretName: pidgin-tls
- issuerRef:
- name: letsencrypt
- commonName: pidgin.im
- dnsNames:
- - pidgin.im
- - www.pidgin.im
- - conference.pidgin.im
- - xmpp.pidgin.im
----
-apiVersion: v1
-kind: Service
-metadata:
- namespace: roost
- name: pidgin-im
- labels:
- app: pidgin-im
-spec:
- ports:
- - port: 3000
- protocol: TCP
- selector:
- app: pidgin-im
----
-apiVersion: networking.k8s.io/v1
-kind: NetworkPolicy
-metadata:
- namespace: roost
- name: pidgin-im
- labels:
- app: pidgin-im
-spec:
- podSelector:
- matchLabels:
- app: pidgin-im
- ingress:
- - from:
- - namespaceSelector:
- matchLabels:
- name: kube-public
- podSelector:
- matchLabels:
- app: traefik
- role: controller
- ports:
- - port: 3000
- protocol: TCP
----
-apiVersion: policy/v1beta1
-kind: PodDisruptionBudget
-metadata:
- namespace: roost
- name: pidgin-im
-spec:
- minAvailable: 1
- selector:
- matchLabels:
- app: pidgin-im
----
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- namespace: roost
- name: pidgin-im
- labels:
- app: pidgin-im
- keel.sh/policy: force
- keel.sh/trigger: poll
- annotations:
- keel.sh/pollSchedule: "@every 10m"
-spec:
- replicas: 2
- selector:
- matchLabels:
- app: pidgin-im
- template:
- metadata:
- labels:
- app: pidgin-im
- spec:
- affinity:
- podAntiAffinity:
- preferredDuringSchedulingIgnoredDuringExecution:
- - podAffinityTerm:
- labelSelector:
- matchExpressions:
- - key: app
- operator: In
- values:
- - pidgin-im
- topologyKey: failure-domain.beta.kubernetes.io/region
- weight: 100
- containers:
- - name: nest
- image: pidgin/nest:latest
- imagePullPolicy: Always
- ports:
- - containerPort: 3000
- resources:
- limits:
- cpu: 100m
- memory: 96Mi
- requests:
- cpu: 50m
- memory: 64Mi
----
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/50-pidgin.im/kustomization.yaml Thu Jun 17 02:20:13 2021 -0500
@@ -0,0 +1,5 @@
+---
+namespace: roost
+resources:
+ - manifest.yaml
+---
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/50-pidgin.im/manifest.yaml Thu Jun 17 02:20:13 2021 -0500
@@ -0,0 +1,244 @@
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+ name: pidgin-newissue-redirect
+spec:
+ redirectRegex:
+ regex: ^https?:\/\/[^\/]+(\/.+)?
+ replacement: |
+ https://issues.imfreedom.org/newIssue?project=PIDGIN&description=What%20version%20of%20pidgin%20are%20you%20using%3F%20(please%20provide%20the%20actual%20version%20number%20from%20Help%20-%3E%20About%3B%20latest%20is%20not%20a%20version%20number).%0A%0AWhat%20operating%20system%20are%20you%20running%20(for%20example%20Debian%20Buster%2C%20Fedora%2032%2C%20Ubuntu%20Focal)%3F%0A%0AHow%20did%20you%20install%20Pidgin%20(from%20source%2C%20package%20manager%2C%20appimage%2C%20flatpak%2C%20snap%2C%20other)%3F%0A%0A%5BPlease%20describe%20your%20issue%20in%20more%20detail%5D
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+ name: pidgin-redirect-documentation
+spec:
+ redirectRegex:
+ regex: ^https?:\/\/[^\/]+(\/documentation(\.php)?)$
+ replacement: https://pidgin.im/help
+ permanent: true
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+ name: pidgin-redirect-pipermail-support
+spec:
+ redirectRegex:
+ regex: ^https?:\/\/[^\/]+(\/pipermail\/support)$
+ replacement: https://lists.pidgin.im/pipermail/support/
+ permanent: true
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+ name: pidgin-redirect-support
+spec:
+ redirectRegex:
+ regex: ^https?:\/\/[^\/]+(\/support)$
+ replacement: https://pidgin.im/about/community/
+ permanent: true
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+ name: pidgin-redirects
+spec:
+ redirectRegex:
+ regex: ^https?:\/\/[^\/]+(\/.+)?
+ replacement: https://pidgin.im${1}
+ permanent: true
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: IngressRoute
+metadata:
+ name: pidgin-http
+spec:
+ entryPoints:
+ - http
+ routes:
+ - match: Host(`pidgin.im`) || Host(`www.pidgin.im`)
+ kind: Rule
+ services:
+ - name: pidgin-im
+ port: 3000
+ middlewares:
+ - name: pidgin-redirect-documentation
+ - name: pidgin-redirect-pipermail-support
+ - name: pidgin-redirect-support
+ - name: common-headers
+ - match: (Host(`pidgin.im`) || Host(`www.pidgin.im`)) && PathPrefix(`/win32`)
+ kind: Rule
+ services:
+ - name: oldsite
+ port: 80
+ middlewares:
+ - name: common-headers
+ - match: (Host(`pidgin.im`) || Host(`www.pidgin.im`)) && Path(`/version.php`)
+ kind: Rule
+ services:
+ - name: oldsite
+ port: 80
+ middlewares:
+ - name: common-headers
+ - match: (Host(`pidgin.im`) || Host(`www.pidgin.im`)) && Path(`/newissue`)
+ kind: Rule
+ services:
+ - name: nest
+ port: 3000
+ middlewares:
+ - name: pidgin-newissue-redirect
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: IngressRoute
+metadata:
+ name: pidgin-https
+spec:
+ entryPoints:
+ - https
+ routes:
+ - match: Host(`pidgin.im`) || Host(`www.pidgin.im`)
+ kind: Rule
+ services:
+ - name: pidgin-im
+ port: 3000
+ middlewares:
+ - name: pidgin-redirect-documentation
+ - name: pidgin-redirect-pipermail-support
+ - name: pidgin-redirect-support
+ - name: common-headers
+ - name: hsts-headers
+ - match: (Host(`pidgin.im`) || Host(`www.pidgin.im`)) && PathPrefix(`/win32`)
+ kind: Rule
+ services:
+ - name: oldsite
+ port: 80
+ middlewares:
+ - name: common-headers
+ - name: hsts-headers
+ - match: (Host(`pidgin.im`) || Host(`www.pidgin.im`)) && Path(`/version.php`)
+ kind: Rule
+ services:
+ - name: oldsite
+ port: 80
+ middlewares:
+ - name: common-headers
+ - name: hsts-headers
+ - match: (Host(`pidgin.im`) || Host(`www.pidgin.im`)) && Path(`/newissue`)
+ kind: Rule
+ services:
+ - name: nest
+ port: 3000
+ middlewares:
+ - name: pidgin-newissue-redirect
+ - name: hsts-headers
+ tls:
+ secretName: pidgin-tls
+---
+apiVersion: cert-manager.io/v1alpha2
+kind: Certificate
+metadata:
+ name: pidgin-tls
+spec:
+ secretName: pidgin-tls
+ issuerRef:
+ name: letsencrypt
+ commonName: pidgin.im
+ dnsNames:
+ - pidgin.im
+ - www.pidgin.im
+ - conference.pidgin.im
+ - xmpp.pidgin.im
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: pidgin-im
+ labels:
+ app: pidgin-im
+spec:
+ ports:
+ - port: 3000
+ protocol: TCP
+ selector:
+ app: pidgin-im
+---
+apiVersion: networking.k8s.io/v1
+kind: NetworkPolicy
+metadata:
+ name: pidgin-im
+ labels:
+ app: pidgin-im
+spec:
+ podSelector:
+ matchLabels:
+ app: pidgin-im
+ ingress:
+ - from:
+ - namespaceSelector:
+ matchLabels:
+ name: kube-public
+ podSelector:
+ matchLabels:
+ app: traefik
+ role: controller
+ ports:
+ - port: 3000
+ protocol: TCP
+---
+apiVersion: policy/v1beta1
+kind: PodDisruptionBudget
+metadata:
+ name: pidgin-im
+spec:
+ minAvailable: 1
+ selector:
+ matchLabels:
+ app: pidgin-im
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: pidgin-im
+ labels:
+ app: pidgin-im
+ keel.sh/policy: force
+ keel.sh/trigger: poll
+ annotations:
+ keel.sh/pollSchedule: "@every 10m"
+spec:
+ replicas: 2
+ selector:
+ matchLabels:
+ app: pidgin-im
+ template:
+ metadata:
+ labels:
+ app: pidgin-im
+ spec:
+ affinity:
+ podAntiAffinity:
+ preferredDuringSchedulingIgnoredDuringExecution:
+ - podAffinityTerm:
+ labelSelector:
+ matchExpressions:
+ - key: app
+ operator: In
+ values:
+ - pidgin-im
+ topologyKey: failure-domain.beta.kubernetes.io/region
+ weight: 100
+ containers:
+ - name: nest
+ image: pidgin/nest:latest
+ imagePullPolicy: Always
+ ports:
+ - containerPort: 3000
+ resources:
+ limits:
+ cpu: 100m
+ memory: 96Mi
+ requests:
+ cpu: 50m
+ memory: 64Mi
+---