imfreedom/k8s-cluster

Parents 3eac170f9088
Children f04ca08397bc
Tear down all of the old doc container and redirect everything to docs.imfreedom.org
--- a/50-docs.pidgin.im/gplugin-gtk-latest.yaml Sun Oct 10 02:22:58 2021 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
----
-apiVersion: v1
-kind: Service
-metadata:
- name: docs-gplugin-gtk-latest
- labels:
- app: gplugin-gtk
- version: latest
-spec:
- ports:
- - port: 3000
- protocol: TCP
- selector:
- app: gplugin-gtk
- version: latest
----
-apiVersion: networking.k8s.io/v1
-kind: NetworkPolicy
-metadata:
- name: docs-gplugin-gtk-latest
- labels:
- app: gplugin-gtk
- version: latest
-spec:
- podSelector:
- matchLabels:
- app: gplugin-gtk
- version: latest
- 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: docs-gplugin-gtk-latest
-spec:
- minAvailable: 1
- selector:
- matchLabels:
- app: gplugin-gtk
- version: latest
----
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: docs-gplugin-gtk-latest
- labels:
- app: gplugin-gtk
- version: latest
-spec:
- replicas: 2
- revisionHistoryLimit: 0
- selector:
- matchLabels:
- app: gplugin-gtk
- version: latest
- template:
- metadata:
- labels:
- app: gplugin-gtk
- version: latest
- spec:
- affinity:
- podAntiAffinity:
- preferredDuringSchedulingIgnoredDuringExecution:
- - podAffinityTerm:
- labelSelector:
- matchExpressions:
- - key: app
- operator: In
- values:
- - gplugin-gtk
- - key: version
- operator: In
- values:
- - latest
- topologyKey: failure-domain.beta.kubernetes.io/region
- weight: 100
- containers:
- - name: docs-gplugin-gtk-latest
- image: gplugin/gplugin-gtk-docs:latest
- imagePullPolicy: Always
- ports:
- - containerPort: 3000
- resources:
- limits:
- cpu: 50m
- memory: 64Mi
- requests:
- cpu: 10m
- memory: 32Mi
----
--- a/50-docs.pidgin.im/gplugin-latest.yaml Sun Oct 10 02:22:58 2021 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
----
-apiVersion: v1
-kind: Service
-metadata:
- name: docs-gplugin-latest
- labels:
- app: gplugin
- version: latest
-spec:
- ports:
- - port: 3000
- protocol: TCP
- selector:
- app: gplugin
- version: latest
----
-apiVersion: networking.k8s.io/v1
-kind: NetworkPolicy
-metadata:
- name: docs-gplugin-latest
- labels:
- app: gplugin
- version: latest
-spec:
- podSelector:
- matchLabels:
- app: gplugin
- version: latest
- 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: docs-gplugin-latest
-spec:
- minAvailable: 1
- selector:
- matchLabels:
- app: gplugin
- version: latest
----
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: docs-gplugin-latest
- labels:
- app: gplugin
- version: latest
-spec:
- replicas: 2
- revisionHistoryLimit: 0
- selector:
- matchLabels:
- app: gplugin
- version: latest
- template:
- metadata:
- labels:
- app: gplugin
- version: latest
- spec:
- affinity:
- podAntiAffinity:
- preferredDuringSchedulingIgnoredDuringExecution:
- - podAffinityTerm:
- labelSelector:
- matchExpressions:
- - key: app
- operator: In
- values:
- - gplugin
- - key: version
- operator: In
- values:
- - latest
- topologyKey: failure-domain.beta.kubernetes.io/region
- weight: 100
- containers:
- - name: docs-gplugin-latest
- image: gplugin/gplugin-docs:latest
- imagePullPolicy: Always
- ports:
- - containerPort: 3000
- resources:
- limits:
- cpu: 50m
- memory: 64Mi
- requests:
- cpu: 10m
- memory: 32Mi
----
--- a/50-docs.pidgin.im/kustomization.yaml Sun Oct 10 02:22:58 2021 -0500
+++ b/50-docs.pidgin.im/kustomization.yaml Sun Oct 10 05:58:01 2021 -0500
@@ -2,10 +2,4 @@
namespace: roost
resources:
- manifest.yaml
- - gplugin-gtk-latest.yaml
- - gplugin-latest.yaml
- - libgnt-latest.yaml
- - libgnt-next.yaml
- - libpurple-latest.yaml
- - pidgin-2.x.y.yaml
- - talkatu-latest.yaml
+ - middleware.yaml
--- a/50-docs.pidgin.im/libgnt-latest.yaml Sun Oct 10 02:22:58 2021 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
----
-apiVersion: v1
-kind: Service
-metadata:
- name: docs-libgnt-latest
- labels:
- app: libgnt
- version: latest
-spec:
- ports:
- - port: 3000
- protocol: TCP
- selector:
- app: libgnt
- version: latest
----
-apiVersion: networking.k8s.io/v1
-kind: NetworkPolicy
-metadata:
- name: docs-libgnt-latest
- labels:
- app: libgnt
- version: latest
-spec:
- podSelector:
- matchLabels:
- app: libgnt
- version: latest
- 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: docs-libgnt-latest
-spec:
- minAvailable: 1
- selector:
- matchLabels:
- app: libgnt
- version: latest
----
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: docs-libgnt-latest
- labels:
- app: libgnt
- version: latest
-spec:
- replicas: 2
- revisionHistoryLimit: 0
- selector:
- matchLabels:
- app: libgnt
- version: latest
- template:
- metadata:
- labels:
- app: libgnt
- version: latest
- spec:
- affinity:
- podAntiAffinity:
- preferredDuringSchedulingIgnoredDuringExecution:
- - podAffinityTerm:
- labelSelector:
- matchExpressions:
- - key: app
- operator: In
- values:
- - libgnt
- - key: version
- operator: In
- values:
- - latest
- topologyKey: failure-domain.beta.kubernetes.io/region
- weight: 100
- containers:
- - name: docs-libgnt-latest
- image: libgnt/docs:latest
- imagePullPolicy: Always
- ports:
- - containerPort: 3000
- resources:
- limits:
- cpu: 50m
- memory: 64Mi
- requests:
- cpu: 10m
- memory: 32Mi
----
--- a/50-docs.pidgin.im/libgnt-next.yaml Sun Oct 10 02:22:58 2021 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
----
-apiVersion: v1
-kind: Service
-metadata:
- name: docs-libgnt-next
- labels:
- app: libgnt
- version: next
-spec:
- ports:
- - port: 3000
- protocol: TCP
- selector:
- app: libgnt
- version: next
----
-apiVersion: networking.k8s.io/v1
-kind: NetworkPolicy
-metadata:
- name: docs-libgnt-next
- labels:
- app: libgnt
- version: next
-spec:
- podSelector:
- matchLabels:
- app: libgnt
- version: next
- 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: docs-libgnt-next
-spec:
- minAvailable: 1
- selector:
- matchLabels:
- app: libgnt
- version: next
----
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: docs-libgnt-next
- labels:
- app: libgnt
- version: next
-spec:
- replicas: 2
- revisionHistoryLimit: 0
- selector:
- matchLabels:
- app: libgnt
- version: next
- template:
- metadata:
- labels:
- app: libgnt
- version: next
- spec:
- affinity:
- podAntiAffinity:
- preferredDuringSchedulingIgnoredDuringExecution:
- - podAffinityTerm:
- labelSelector:
- matchExpressions:
- - key: app
- operator: In
- values:
- - libgnt
- - key: version
- operator: In
- values:
- - next
- topologyKey: failure-domain.beta.kubernetes.io/region
- weight: 100
- containers:
- - name: docs-libgnt-next
- image: libgnt/docs:next
- imagePullPolicy: Always
- ports:
- - containerPort: 3000
- resources:
- limits:
- cpu: 50m
- memory: 64Mi
- requests:
- cpu: 10m
- memory: 32Mi
----
--- a/50-docs.pidgin.im/libpurple-latest.yaml Sun Oct 10 02:22:58 2021 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
----
-apiVersion: v1
-kind: Service
-metadata:
- name: docs-libpurple-latest
- labels:
- app: libpurple
- version: latest
-spec:
- ports:
- - port: 3000
- protocol: TCP
- selector:
- app: libpurple
- version: latest
----
-apiVersion: networking.k8s.io/v1
-kind: NetworkPolicy
-metadata:
- name: docs-libpurple-latest
- labels:
- app: libpurple
- version: latest
-spec:
- podSelector:
- matchLabels:
- app: libpurple
- version: latest
- 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: docs-libpurple-latest
-spec:
- minAvailable: 1
- selector:
- matchLabels:
- app: libpurple
- version: latest
----
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: docs-libpurple-latest
- labels:
- app: libpurple
- version: latest
-spec:
- replicas: 2
- revisionHistoryLimit: 0
- selector:
- matchLabels:
- app: libpurple
- version: latest
- template:
- metadata:
- labels:
- app: libpurple
- version: latest
- spec:
- affinity:
- podAntiAffinity:
- preferredDuringSchedulingIgnoredDuringExecution:
- - podAffinityTerm:
- labelSelector:
- matchExpressions:
- - key: app
- operator: In
- values:
- - libpurple
- - key: version
- operator: In
- values:
- - latest
- topologyKey: failure-domain.beta.kubernetes.io/region
- weight: 100
- containers:
- - name: docs-libpurlle-latest
- image: pidgin/libpurple3-docs:latest
- imagePullPolicy: Always
- ports:
- - containerPort: 3000
- resources:
- limits:
- cpu: 50m
- memory: 64Mi
- requests:
- cpu: 10m
- memory: 32Mi
----
--- a/50-docs.pidgin.im/manifest.yaml Sun Oct 10 02:22:58 2021 -0500
+++ b/50-docs.pidgin.im/manifest.yaml Sun Oct 10 05:58:01 2021 -0500
@@ -1,21 +1,5 @@
-# this manifest contains an ingress that does path based matching to route to
-# individual services that are runnings the docs via a simple http server.
----
-apiVersion: traefik.containo.us/v1alpha1
-kind: Middleware
-metadata:
- name: docs-strip-prefix
-spec:
- stripPrefix:
- forceSlash: false
- prefixes:
- - /gplugin/latest
- - /gplugin-gtk/latest
- - /libgnt/latest
- - /libgnt/next
- - /libpurple/latest
- - /pidgin/2.x.y
- - /talkatu/latest
+# this manifest redirects the old multiple deployment docs site to the new
+# single deployment doc site at docs.imfreedom.org
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
@@ -25,67 +9,19 @@
entryPoints:
- https
routes:
- - match: Host(`docs.pidgin.im`) && PathPrefix(`/pidgin/2.x.y`)
- kind: Rule
- services:
- - name: docs-pidgin-2-x-y
- port: 3000
- middlewares:
- - name: docs-strip-prefix
- - name: common-headers
- - name: hsts-headers
- - match: Host(`docs.pidgin.im`) && PathPrefix(`/gplugin/latest`)
- kind: Rule
- services:
- - name: docs-gplugin-latest
- port: 3000
- middlewares:
- - name: docs-strip-prefix
- - name: common-headers
- - name: hsts-headers
- - match: Host(`docs.pidgin.im`) && PathPrefix(`/gplugin-gtk/latest`)
- kind: Rule
- services:
- - name: docs-gplugin-gtk-latest
- port: 3000
- middlewares:
- - name: docs-strip-prefix
- - name: common-headers
- - name: hsts-headers
- - match: Host(`docs.pidgin.im`) && PathPrefix(`/libgnt/latest`)
+ - match: Host(`docs.pidgin.im`)
kind: Rule
services:
- - name: docs-libgnt-latest
- port: 3000
- middlewares:
- - name: docs-strip-prefix
- - name: common-headers
- - name: hsts-headers
- - match: Host(`docs.pidgin.im`) && PathPrefix(`/libpurple/latest`)
- kind: Rule
- services:
- - name: docs-libpurple-latest
+ - name: pidgin-im
port: 3000
middlewares:
- - name: docs-strip-prefix
- - name: common-headers
- - name: hsts-headers
- - match: Host(`docs.pidgin.im`) && PathPrefix(`/libgnt/next`)
- kind: Rule
- services:
- - name: docs-libgnt-next
- port: 3000
- middlewares:
- - name: docs-strip-prefix
- - name: common-headers
- - name: hsts-headers
- - match: Host(`docs.pidgin.im`) && PathPrefix(`/talkatu/latest`)
- kind: Rule
- services:
- - name: docs-talkatu-latest
- port: 3000
- middlewares:
- - name: docs-strip-prefix
+ - name: redirect-docs-pidgin-im-pidgin2
+ - name: redirect-docs-pidgin-im-gplugin-latest
+ - name: redirect-docs-pidgin-im-gplugin-gtk-latest
+ - name: redirect-docs-pidgin-im-libgnt-next
+ - name: redirect-docs-pidgin-im-libgnt-latest
+ - name: redirect-docs-pidgin-im-libpurple-latest
+ - name: redirect-docs-pidgin-im-talkatu-latest
- name: common-headers
- name: hsts-headers
tls:
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/50-docs.pidgin.im/middleware.yaml Sun Oct 10 05:58:01 2021 -0500
@@ -0,0 +1,71 @@
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+ name: redirect-docs-pidgin-im-pidgin2
+spec:
+ redirectRegex:
+ regex: ^https?:\/\/[^\/]+\/pidgin\/2\.x\.y(\/(.*))?
+ replacement: https://docs.imfreedom.org/pidgin2/${2}
+ permanent: true
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+ name: redirect-docs-pidgin-im-gplugin-latest
+spec:
+ redirectRegex:
+ regex: ^https?:\/\/[^\/]+\/gplugin\/latest(\/(.*))?
+ replacement: https://docs.imfreedom.org/gplugin/${2}
+ permanent: true
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+ name: redirect-docs-pidgin-im-gplugin-gtk-latest
+spec:
+ redirectRegex:
+ regex: ^https?:\/\/[^\/]+\/gplugin-gtk\/latest(\/(.*))?
+ replacement: https://docs.imfreedom.org/gplugin-gtk3/${2}
+ permanent: true
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+ name: redirect-docs-pidgin-im-libgnt-next
+spec:
+ redirectRegex:
+ regex: ^https?:\/\/[^\/]+\/libgnt\/next(\/(.*))?
+ replacement: https://docs.imfreedom.org/gnt2/${2}
+ permanent: true
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+ name: redirect-docs-pidgin-im-libgnt-latest
+spec:
+ redirectRegex:
+ regex: ^https?:\/\/[^\/]+\/libgnt\/latest(\/(.*))?
+ replacement: https://docs.imfreedom.org/gnt3/${2}
+ permanent: true
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+ name: redirect-docs-pidgin-im-libpurple-latest
+spec:
+ redirectRegex:
+ regex: ^https?:\/\/[^\/]+\/libpurple\/latest(\/(.*))?
+ replacement: https://docs.imfreedom.org/purple3/${2}
+ permanent: true
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+ name: redirect-docs-pidgin-im-talkatu-latest
+spec:
+ redirectRegex:
+ regex: ^https?:\/\/[^\/]+\/talkatu\/latest(\/(.*))?
+ replacement: https://docs.imfreedom.org/talkatu/${2}
+ permanent: true
+---
--- a/50-docs.pidgin.im/pidgin-2.x.y.yaml Sun Oct 10 02:22:58 2021 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
----
-apiVersion: v1
-kind: Service
-metadata:
- name: docs-pidgin-2-x-y
- labels:
- app: pidgin
- version: 2.x.y
-spec:
- ports:
- - port: 3000
- protocol: TCP
- selector:
- app: pidgin
- version: 2.x.y
----
-apiVersion: networking.k8s.io/v1
-kind: NetworkPolicy
-metadata:
- name: docs-pidgin-2-x-y
- labels:
- app: pidgin
- version: 2.x.y
-spec:
- podSelector:
- matchLabels:
- app: pidgin
- version: 2.x.y
- 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: docs-pidgin-2-x-y
-spec:
- minAvailable: 1
- selector:
- matchLabels:
- app: pidgin
- version: 2.x.y
----
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: docs-pidgin-2-x-y
- labels:
- app: pidgin
- version: 2.x.y
-spec:
- replicas: 2
- revisionHistoryLimit: 0
- selector:
- matchLabels:
- app: pidgin
- version: 2.x.y
- template:
- metadata:
- labels:
- app: pidgin
- version: 2.x.y
- spec:
- affinity:
- podAntiAffinity:
- preferredDuringSchedulingIgnoredDuringExecution:
- - podAffinityTerm:
- labelSelector:
- matchExpressions:
- - key: app
- operator: In
- values:
- - pidgin
- - key: version
- operator: In
- values:
- - 2.x.y
- topologyKey: failure-domain.beta.kubernetes.io/region
- weight: 100
- containers:
- - name: docs-pidgin-2-x-y
- image: pidgin/pidgin2-docs:latest
- imagePullPolicy: Always
- ports:
- - containerPort: 3000
- resources:
- limits:
- cpu: 50m
- memory: 64Mi
- requests:
- cpu: 10m
- memory: 32Mi
----
--- a/50-docs.pidgin.im/talkatu-latest.yaml Sun Oct 10 02:22:58 2021 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
----
-apiVersion: v1
-kind: Service
-metadata:
- name: docs-talkatu-latest
- labels:
- app: talkatu
- version: latest
-spec:
- ports:
- - port: 3000
- protocol: TCP
- selector:
- app: talkatu
- version: latest
----
-apiVersion: networking.k8s.io/v1
-kind: NetworkPolicy
-metadata:
- name: docs-talkatu-latest
- labels:
- app: talkatu
- version: latest
-spec:
- podSelector:
- matchLabels:
- app: talkatu
- version: latest
- 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: docs-talkatu-latest
-spec:
- minAvailable: 1
- selector:
- matchLabels:
- app: talkatu
- version: latest
----
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: docs-talkatu-latest
- labels:
- app: talkatu
- version: latest
-spec:
- replicas: 2
- revisionHistoryLimit: 0
- selector:
- matchLabels:
- app: talkatu
- version: latest
- template:
- metadata:
- labels:
- app: talkatu
- version: latest
- spec:
- affinity:
- podAntiAffinity:
- preferredDuringSchedulingIgnoredDuringExecution:
- - podAffinityTerm:
- labelSelector:
- matchExpressions:
- - key: app
- operator: In
- values:
- - talkatu
- - key: version
- operator: In
- values:
- - latest
- topologyKey: failure-domain.beta.kubernetes.io/region
- weight: 100
- containers:
- - name: docs-talkatu-lastest
- image: talkatu/docs:latest
- imagePullPolicy: Always
- ports:
- - containerPort: 3000
- resources:
- limits:
- cpu: 50m
- memory: 64Mi
- requests:
- cpu: 10m
- memory: 32Mi
----