mirror of
https://github.com/gwg313/homelab-gitops.git
synced 2026-06-05 20:50:58 +00:00
Compare commits
2 commits
8ca8f0b8ea
...
3cd820c135
| Author | SHA1 | Date | |
|---|---|---|---|
| 3cd820c135 | |||
| 7a569878b8 |
41 changed files with 274 additions and 436 deletions
|
|
@ -21,9 +21,16 @@ spec:
|
|||
type: RuntimeDefault
|
||||
containers:
|
||||
- name: bytestash
|
||||
image: "ghcr.io/jordan-dalby/bytestash:latest"
|
||||
image: "ghcr.io/jordan-dalby/bytestash:pr-332"
|
||||
ports:
|
||||
- containerPort: 5000
|
||||
resources:
|
||||
requests:
|
||||
cpu: 50m
|
||||
memory: 128Mi
|
||||
limits:
|
||||
cpu: 200m
|
||||
memory: 256Mi
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: bytestash-config
|
||||
22
apps/bytestash/network-policy.yaml
Normal file
22
apps/bytestash/network-policy.yaml
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
apiVersion: cilium.io/v2
|
||||
kind: CiliumNetworkPolicy
|
||||
metadata:
|
||||
name: allow-ingress
|
||||
namespace: bytestash
|
||||
spec:
|
||||
description: "Allow external traffic from the shared Cilium edge proxy into the bytestash service"
|
||||
endpointSelector:
|
||||
matchLabels:
|
||||
app: bytestash
|
||||
ingress:
|
||||
- fromEntities:
|
||||
- ingress
|
||||
- fromEndpoints:
|
||||
- matchLabels:
|
||||
io.kubernetes.pod.namespace: cilium-ingress
|
||||
toPorts:
|
||||
- ports:
|
||||
- port: "80"
|
||||
protocol: TCP
|
||||
- port: "5000"
|
||||
protocol: TCP
|
||||
41
apps/bytestash/route.yaml
Normal file
41
apps/bytestash/route.yaml
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
apiVersion: gateway.networking.k8s.io/v1
|
||||
kind: HTTPRoute
|
||||
metadata:
|
||||
name: bytestash
|
||||
namespace: bytestash
|
||||
spec:
|
||||
parentRefs:
|
||||
- group: gateway.networking.k8s.io
|
||||
kind: Gateway
|
||||
name: shared-edge-gateway
|
||||
namespace: cilium-ingress
|
||||
hostnames:
|
||||
- snippets.gwg313.xyz
|
||||
- snippets.local.gwg313.xyz
|
||||
- snippets.zerotier.gwg313.xyz
|
||||
rules:
|
||||
- matches:
|
||||
- path:
|
||||
type: PathPrefix
|
||||
value: /
|
||||
backendRefs:
|
||||
- group: ""
|
||||
kind: Service
|
||||
name: bytestash
|
||||
port: 80
|
||||
weight: 1
|
||||
---
|
||||
apiVersion: gateway.networking.k8s.io/v1beta1
|
||||
kind: ReferenceGrant
|
||||
metadata:
|
||||
name: allow-gateway-to-bytestash
|
||||
namespace: bytestash
|
||||
spec:
|
||||
from:
|
||||
- group: gateway.networking.k8s.io
|
||||
kind: Gateway
|
||||
namespace: cilium-ingress
|
||||
to:
|
||||
- group: ""
|
||||
kind: Service
|
||||
name: bytestash
|
||||
16
apps/bytestash/secret-sealed.yaml
Normal file
16
apps/bytestash/secret-sealed.yaml
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
---
|
||||
apiVersion: bitnami.com/v1alpha1
|
||||
kind: SealedSecret
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: bytestash-secret
|
||||
namespace: bytestash
|
||||
spec:
|
||||
encryptedData:
|
||||
JWT_SECRET_KEY: AgBvX/MKBvdcxWwjMsEVEqvzR0LbYglztJE7mFkjmAFnmOcxt1pUw9notf7J0de0DLWpSfzeuUyZJUPGxjR2sIyAvzL3Q+lc++0MxKLM5gMxcem4oxsc9Je+sEX7M3mEJpDrxNBUwPASR/2iX0hR2jJTB6NU2Ji3QU6Hvg8McgrFgJagjQqQR6DGiIESdCYqm2nmlOWzT5Wy7ez7CVsOEnxoWZhRpBCe1nJo4PuAZRHoB6sm06+l0Z7rPhxrJKf+g9jmbouExPeIg04QhgtPK5BcGEIqRstu+cPa2Vjv5wVKkLlsfRiM7dvjw23EoQu1BSY9NWgeAQc6DL0r2Zh3FAkZBWKsIbjdWEcAD1WdsObAZcwn/p+kkr48ThBjdNzvcoB53girlYJ++VPYGH5J+j9s7+v4rPT8sA1ynrqkaLeqX4klyqfkJ5/AESY8DIXSBaeo212qTNeBDDDmX/bYCwH7NFDGh+tugeFjjJMLwxZaJtdy8DNwgWvumI/Ibnp1NWn8pMO6+FjPD/lOuquh30tZfVmZdADdgjYR7pT7iJ24OejwCwEeC3LhTvMvez5k5vsbjdyj3KX7507ajDfIOb2y/XQq4NDzqGBdF8oRIhs2hEQhVoy0gsEooOeklnuNg2nMzkY1aRkTJRl6pIV1qyxdPJdZrow9xdOoeMYCbaQrMjQHVKuqLpt4CaLPvx7wG4XqSpXySlfPjxXkLmOdFyDRvYF7wtEt2lLVDNAE1QufKvYq52RRFzMkdFsjZVrPyauyfRYNQ41UizlPPMYsS+Vz
|
||||
template:
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: bytestash-secret
|
||||
namespace: bytestash
|
||||
type: Opaque
|
||||
|
|
@ -1,12 +1,12 @@
|
|||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: stirling-training-data
|
||||
namespace: stirling-pdf
|
||||
name: bytestash-pvc
|
||||
namespace: bytestash
|
||||
spec:
|
||||
storageClassName: nfs-retain
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 1Gi
|
||||
storageClassName: nfs-client
|
||||
|
|
@ -36,3 +36,21 @@ spec:
|
|||
name: harbor-portal
|
||||
port: 80
|
||||
weight: 1
|
||||
---
|
||||
apiVersion: gateway.networking.k8s.io/v1beta1
|
||||
kind: ReferenceGrant
|
||||
metadata:
|
||||
name: allow-ingress-to-harbor
|
||||
namespace: harbor
|
||||
spec:
|
||||
from:
|
||||
- group: gateway.networking.k8s.io
|
||||
kind: HTTPRoute
|
||||
namespace: cilium-ingress
|
||||
to:
|
||||
- group: ""
|
||||
kind: Service
|
||||
name: harbor-core
|
||||
- group: ""
|
||||
kind: Service
|
||||
name: harbor-portal
|
||||
|
|
|
|||
49
apps/stirling-pdf/deployment.yaml
Normal file
49
apps/stirling-pdf/deployment.yaml
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: stirling-pdf
|
||||
namespace: stirling-pdf
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: stirling-pdf
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: stirling-pdf
|
||||
spec:
|
||||
securityContext:
|
||||
fsGroup: 1000
|
||||
containers:
|
||||
- name: stirling-pdf
|
||||
image: docker.stirlingpdf.com/stirlingtools/stirling-pdf:2.11.0-fat
|
||||
resources:
|
||||
requests:
|
||||
cpu: 250m
|
||||
memory: 512Mi
|
||||
limits:
|
||||
cpu: 1000m
|
||||
memory: 2Gi
|
||||
ports:
|
||||
- containerPort: 8080
|
||||
volumeMounts:
|
||||
- name: stirling-data
|
||||
mountPath: /usr/share/tessdata
|
||||
subPath: training-data
|
||||
- name: stirling-data
|
||||
mountPath: /configs
|
||||
subPath: configs
|
||||
- name: stirling-data
|
||||
mountPath: /customFiles
|
||||
subPath: custom-files
|
||||
- name: stirling-data
|
||||
mountPath: /logs
|
||||
subPath: logs
|
||||
- name: stirling-data
|
||||
mountPath: /pipeline
|
||||
subPath: pipeline
|
||||
volumes:
|
||||
- name: stirling-data
|
||||
persistentVolumeClaim:
|
||||
claimName: stirling-data
|
||||
19
apps/stirling-pdf/network-policy.yaml
Normal file
19
apps/stirling-pdf/network-policy.yaml
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
apiVersion: cilium.io/v2
|
||||
kind: CiliumNetworkPolicy
|
||||
metadata:
|
||||
name: allow-ingress
|
||||
namespace: stirling-pdf
|
||||
spec:
|
||||
endpointSelector:
|
||||
matchLabels:
|
||||
app: stirling-pdf
|
||||
|
||||
ingress:
|
||||
- fromEntities:
|
||||
- ingress
|
||||
toPorts:
|
||||
- ports:
|
||||
- port: "80"
|
||||
protocol: TCP
|
||||
- port: "8080"
|
||||
protocol: TCP
|
||||
|
|
@ -1,12 +1,12 @@
|
|||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: stirling-logs
|
||||
name: stirling-data
|
||||
namespace: stirling-pdf
|
||||
spec:
|
||||
storageClassName: nfs-retain
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 512Mi
|
||||
storageClassName: nfs-client
|
||||
storage: 5Gi
|
||||
41
apps/stirling-pdf/route.yaml
Normal file
41
apps/stirling-pdf/route.yaml
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
apiVersion: gateway.networking.k8s.io/v1
|
||||
kind: HTTPRoute
|
||||
metadata:
|
||||
name: stirling-pdf
|
||||
namespace: stirling-pdf
|
||||
spec:
|
||||
parentRefs:
|
||||
- group: gateway.networking.k8s.io
|
||||
kind: Gateway
|
||||
name: shared-edge-gateway
|
||||
namespace: cilium-ingress
|
||||
hostnames:
|
||||
- pdftools.gwg313.xyz
|
||||
- pdftools.local.gwg313.xyz
|
||||
- pdftools.zerotier.gwg313.xyz
|
||||
rules:
|
||||
- matches:
|
||||
- path:
|
||||
type: PathPrefix
|
||||
value: /
|
||||
backendRefs:
|
||||
- group: ""
|
||||
kind: Service
|
||||
name: stirling-pdf
|
||||
port: 80
|
||||
weight: 1
|
||||
---
|
||||
apiVersion: gateway.networking.k8s.io/v1beta1
|
||||
kind: ReferenceGrant
|
||||
metadata:
|
||||
name: allow-gateway-to-stirling
|
||||
namespace: stirling-pdf
|
||||
spec:
|
||||
from:
|
||||
- group: gateway.networking.k8s.io
|
||||
kind: Gateway
|
||||
namespace: cilium-ingress
|
||||
to:
|
||||
- group: ""
|
||||
kind: Service
|
||||
name: stirling-pdf
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
apiVersion: security.istio.io/v1beta1
|
||||
kind: PeerAuthentication
|
||||
metadata:
|
||||
name: strict-mtls
|
||||
namespace: bytestash
|
||||
spec:
|
||||
mtls:
|
||||
mode: STRICT
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
apiVersion: bitnami.com/v1alpha1
|
||||
kind: SealedSecret
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: bytestash-secret
|
||||
namespace: bytestash
|
||||
spec:
|
||||
encryptedData:
|
||||
JWT_SECRET_KEY: AgBhyqlrAr9hDaCZ7yPbZZuXtZMeqbMqd0LXWwT8nlEpTY0Tk7LLwjdv6DoY3gvj0Jbgcoa+Edgg6HywykouVAqe2i6HbDwWOPVjRw5K1GA7y7jlb8IOP2D7ZJN8sKW7MUfhmmraN0piuvpCMVl/NHbT1XfQq4mym/PChHcD4Ju+lNMfFWkHNZtXf/9tpYcTa3cmREf0uBFQRNQFP2TaUx8X+QmzIIdoGaqZA+Jud2HkTHymsRhn7fSK3smaJecw/y7IR4ohNcJ17FqOyaqbnQ/MUzB+aprFKjBOnVmZwbWSjJYWPN1nx6NPndmk8X3Q3XeB50WnoAhqNSwI6a58wo/zVHyM5B3Q+L9slCWd8t27z+Jv7Y8zRFl137dbhDBcrHf73miNnaK5x0b741Bv3yDakJG+DrU5YlmGH2/t4XBZjMMRxF4y0CgdT+DN+cZrkbkATHIQWZARmLTqYfig/2D+PfKhrniE4Tfq3V2gLN12Kwf09fqM02Uo2faOya6QF3fvGGZx3QXiDrzPMthLuvk1JqPqU98fNKniS8x7/q1LdHH6ga5wyXyGk76tl540p+kdY2sAi7K5/VAw0QM6A+6EHXJJgZ4bdd02eB0F1/lCKcCzZhs5lIjBu0r/d81wYlId6GtMvXZiMfsbMS9a7evGl20PXAn2C5KxWfyyyIX3wn7JIAxiOdGwPUOI6E4/LCJSnzlfBa7SWFrMHAjniNyQOLB0S9amtHwDDt6j
|
||||
template:
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: bytestash-secret
|
||||
namespace: bytestash
|
||||
type: Opaque
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
apiVersion: cert-manager.io/v1
|
||||
kind: Certificate
|
||||
metadata:
|
||||
name: bytestash-cert
|
||||
namespace: istio-system
|
||||
spec:
|
||||
secretName: bytestash-cert
|
||||
issuerRef:
|
||||
name: letsencrypt-dns
|
||||
kind: ClusterIssuer
|
||||
dnsNames:
|
||||
- snippets.gwg313.xyz
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
apiVersion: networking.istio.io/v1beta1
|
||||
kind: Gateway
|
||||
metadata:
|
||||
name: bytestash-gateway
|
||||
namespace: bytestash
|
||||
spec:
|
||||
selector:
|
||||
istio: gateway
|
||||
servers:
|
||||
- port:
|
||||
number: 443
|
||||
name: https
|
||||
protocol: HTTPS
|
||||
hosts:
|
||||
- "snippets.gwg313.xyz"
|
||||
tls:
|
||||
mode: SIMPLE
|
||||
credentialName: bytestash-cert
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: bytestash-pv
|
||||
spec:
|
||||
capacity:
|
||||
storage: 1Gi
|
||||
volumeMode: Filesystem
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: manual
|
||||
nfs:
|
||||
path: /mnt/tank/k8s/bytestash
|
||||
server: truenas.local.gwg313.xyz
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: bytestash-pvc
|
||||
namespace: bytestash
|
||||
spec:
|
||||
storageClassName: manual
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 1Gi
|
||||
volumeName: bytestash-pv
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
apiVersion: networking.istio.io/v1beta1
|
||||
kind: VirtualService
|
||||
metadata:
|
||||
name: bytestash
|
||||
namespace: bytestash
|
||||
spec:
|
||||
hosts:
|
||||
- "snippets.gwg313.xyz"
|
||||
gateways:
|
||||
- bytestash/bytestash-gateway
|
||||
http:
|
||||
- route:
|
||||
- destination:
|
||||
host: bytestash
|
||||
port:
|
||||
number: 80
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
apiVersion: cert-manager.io/v1
|
||||
kind: Certificate
|
||||
metadata:
|
||||
name: focalboard-cert
|
||||
namespace: istio-system
|
||||
spec:
|
||||
secretName: focalboard-cert
|
||||
issuerRef:
|
||||
name: letsencrypt-dns
|
||||
kind: ClusterIssuer
|
||||
dnsNames:
|
||||
- pm.local.gwg313.xyz
|
||||
- pm.gwg313.xyz
|
||||
- pm.zerotier.gwg313.xyz
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: focalboard-config
|
||||
namespace: focalboard
|
||||
data:
|
||||
config.json: |
|
||||
{
|
||||
"serverRoot": "https://pm.gwg313.xyz",
|
||||
"port": 8000,
|
||||
|
||||
"dbtype": "sqlite3",
|
||||
"dbconfig": "/opt/focalboard/data/focalboard.db",
|
||||
|
||||
"useSSL": false,
|
||||
"webpath": "./pack",
|
||||
"filespath": "/data/files",
|
||||
|
||||
"telemetry": false,
|
||||
"prometheusaddress": ":9092",
|
||||
|
||||
"session_expire_time": 2592000,
|
||||
"session_refresh_time": 18000,
|
||||
|
||||
"localOnly": false,
|
||||
"enableLocalMode": false
|
||||
}
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: focalboard
|
||||
namespace: focalboard
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: focalboard
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: focalboard
|
||||
spec:
|
||||
enableServiceLinks: false
|
||||
containers:
|
||||
- name: focalboard
|
||||
image: mattermost/focalboard:latest
|
||||
ports:
|
||||
- containerPort: 8000
|
||||
volumeMounts:
|
||||
- name: data
|
||||
mountPath: /data
|
||||
- name: config
|
||||
mountPath: /opt/focalboard/config.json
|
||||
subPath: config.json
|
||||
env:
|
||||
- name: FB_PORT
|
||||
value: "8000"
|
||||
volumes:
|
||||
- name: data
|
||||
persistentVolumeClaim:
|
||||
claimName: focalboard-data
|
||||
- name: config
|
||||
configMap:
|
||||
name: focalboard-config
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
apiVersion: networking.istio.io/v1beta1
|
||||
kind: Gateway
|
||||
metadata:
|
||||
name: focalboard-gateway
|
||||
namespace: focalboard
|
||||
spec:
|
||||
selector:
|
||||
istio: gateway
|
||||
servers:
|
||||
- port:
|
||||
number: 443
|
||||
name: https
|
||||
protocol: HTTPS
|
||||
tls:
|
||||
mode: SIMPLE
|
||||
credentialName: focalboard-cert
|
||||
hosts:
|
||||
- pm.local.gwg313.xyz
|
||||
- pm.gwg313.xyz
|
||||
- pm.zerotier.gwg313.xyz
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
---
|
||||
apiVersion: bitnami.com/v1alpha1
|
||||
kind: SealedSecret
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: focalboard-iscsi-auth
|
||||
namespace: focalboard
|
||||
spec:
|
||||
encryptedData:
|
||||
discovery.sendtargets.auth.password: AgCQ43B6UutDThhw5gfI74RhhNAcBJkzeoeKMsnzYmMo8Mjz8XV7mNKFR6iWmyJ6FAI55Wt0pNTZi2KFtDCkGXB2isAarmtPdYUajWT6Naum3YFd3fKvNmx/Hk/wfkVqQnSwbw+pehu9uks2fiF/6n6S048JQW83LbCzs3Icb5b8Z761ivQXEwwpFJvRr1fUb0bBZnFxc0YU3d48zJyhX90ljyGql6Y/mXs1m62x3yZrTxojjhz359kDk7xpkYPUKLCW708fBITlhiwH2DwaztANCy+T9bRKBl8YnseAUpSa6ipP7xUyTw4kTSMS8UUTHfnd6OklUbPaAAYYLf8evOajArhZzfwsLIC+8vmhonf9MPZQTcdF8YJl23x4E/+k4xVL3Wh01QDnpTLwbLUyGM5hgQezmXIhYq9QNDSYHyJZC6jpeLJJuD4aHctkP2yZ22B6STybSAyPh7fuB4Br1qycMitjOSMTgiGi3+T2U8tOQ0bWZvQIyD6GqqMJPMZM/3wwt/AEVkmWNFkCkYcXtxacOTfzoUZGf1L0bF4rEQKTFXQxbVq+TGzfPiMLJ3jdj8ZpO79kafUINXr+gXwd4itKqGaV39lCg6drqiVMY5YVaE2V4kGZXRivgGe0+CpsdpsaHGsYYY/x3ONEw3IYm7HvHCVF8gdOqykxDSbrGMoyO2JJs1oyrOQ8USwFWOku5XUmFwjniXYWOgBghA2Q8g==
|
||||
discovery.sendtargets.auth.username: AgAZsdwSsp/KNr4CpqXKD53tJLLMCAB+j8Ml9YRCnTG/6oKFs+4zthCBC5H8z7WOPyCi31bEuRwM+gTAVYz5cGdJlO2s+0mhnvXI+NoZSU0IoWqczkGq90Ss/2auQZq4edKnhZQh9guM/nGv79zyNzocIdQ4J/JJXXadVWJbkvhym3OdK/jh5sYIkkKKUbKVv3rJLRSw7pyQT+uJWw/+pgxcV4dVuczvfsodA6OWbAMIdouqsfpzKrfmzo5StKUQiNQxjyWhXuBoHXODtzf/ZI9+DJnKce5LueoiM/NrEfkL8tWcU0ty7FXbCynOYg+NM2RRXyaSzY4tSpRkU3Zkp3cy37gISA+n0o8vUokGpPCew2A2vFWpqktjR69RJJXO0lA7fvpM8auysHuHiJxDrUkGlo+aQoHODXrDVeQ/yeigoFBdgSXCrwHu+lTbw+Uu6WmdwWEPr/TQVDABLwzWxIwy8zkHD5MvugsM4jjwPxKzpC+ReEXbEZZly4lwlqliDQtVmdWxQ6fJF5+smLkMLlrbbmLSkuv+bODn2Jb+k5QtwVz//ZdOQBLaMuzKvjIng1fv8aPJR0kzA/0DIUmAOicCLDBOZZI7cXt75FHyQbxLQU1A7vn/dbn5mdwRw1P+Ha36QR4SpSPe5L83TxFgEMvkmnTAYURrnG6OKCfWjNiNWHaa5CFxnhDdaiZ6dj501M9ERteyI0irp1ah
|
||||
node.session.auth.password: AgCQv/EkgJF/dSaEgoqNmKqV59wEHw0X+fNShJ4Wn6tBPbzGFggt4LcuvTIlhqCspsFL0HZB/sDoo32tGIcXpPKUt7iQZFpTVI20TaeI2f9vRoPHmZVwC4Y/qnoi2QvcnayzGT9fMy2LsditN6q7KwRYeU4Kl5AVXj57OjhDxau53/uEXkrXIgipdXjSHg/DoH0s08o4RKgsDS64YmbdZzVoJJ90U7TvcWi94ypg02y0w/vicpVUoEBQ2PKBTvP088zkCZSAwyfNtwyrLV4gBTyMdpHuYjuS1yFIlV4E77abfro2NP4iXnqiJnsXUfZ3gbMg+xzTmFcen8U8aYa3M+XXI/75lX0ET46pKevB5xNVnxBp+azGsBddSbzzpHOVlxqJYRa4EIQVfkXMCQKeWGnbutG0SLMv2PFtp9oGOkgij4I+Fhs5WAJ5luV/No4Z6ONyodc68Precp8yMoESA4noqaXC4py0sOAdnbliIFf+hTCJK/3Z6ecajKJ2wDd1xFlVr+x2kfdwmYQzROos+zNNrVy13pyDZgUnNqIP0yyQCnBrGJlhozNmMe/CkFZaTxPx3fBG24odfLfgNqub07cqiy0yUAF4IVVsCJtH9YzHKVklRG8b3OiHd3w4E/jOkwMsnXOFWbzHRMdiwwtxV8/M7BtWRA+VhYzp/DsV/gyZ6MthXtdkdW+vzIY3ZIVyinceknv9tYfRdOjpYS9ldQ==
|
||||
node.session.auth.username: AgCYg4H4MoGfIoIkTfdAyMe7i2hF9IqiY9cHt07uv8finHnykgwo4s8jAnLdGRI1R+sQfs2IeLGcdNLUg/YsOXI4nvY18Bb7qAo+KrMmmSb1ZIKKHN/pP08rCVRJsqOKNd6lIDpfk921fpdn83i6Otp2lHabBU/z4a96LDU2cC2WGyIbK5IP/gS1EYHWK8ya12lbdPKglGG0NA+bbKpW2kRC4omJTZ6v1+GpJT524lZCGazsw0y+Hpa9UuswCEGsvhw4wDoxAxr+Dg25Fv9iL/UJCisx7lv+0/1t1KLBHFEJpJyvOA9BdIiUOWFzoN0wzcmGa0k0vCdZwHjFqmVRvQjUDl2iSpa97AAxIma+nZ0ToVDp2FJHShBnnNTKoQNf7P5mlAEfG7ffx+JCH7drLqDQvE1SUQBvT3NKm5kTZdpnzKIUX8FEiXGFBj1VmVc/ceRukgZ6qAm7yJl91nxdp30/16fnjGtjNn3TJgB+jCNnR28P26tzhIiEjYnHvY5vncG7Dxc5AJkrwI1kyLenbgvI9/m0IpSm49dXu0iaZF78KTn5M5RLxqhfx+58o+crL763yBkT7zkEpSGT7X2ud4B64NUE7PQLgiXtMe5Q6Rr5KI1KFGeBur5F71cey7oYCLqQaMAhstxE7iGSVCNBKOzLle94TkiGGe/HKGaRRyzxM1uGvw/jJwdWGOFXJ2JEN5Y6eWHNH1INPGt8
|
||||
template:
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: focalboard-iscsi-auth
|
||||
namespace: focalboard
|
||||
type: kubernetes.io/iscsi-chap
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: focalboard
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: focalboard
|
||||
namespace: focalboard
|
||||
spec:
|
||||
selector:
|
||||
app: focalboard
|
||||
ports:
|
||||
- port: 80
|
||||
targetPort: 8000
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: focalboard-pv
|
||||
spec:
|
||||
capacity:
|
||||
storage: 10Gi
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
iscsi:
|
||||
targetPortal: truenas.local.gwg313.xyz:3260
|
||||
iqn: iqn.2005-10.org.freenas.ctl:focalboard
|
||||
lun: 0
|
||||
fsType: ext4
|
||||
chapAuthDiscovery: true
|
||||
chapAuthSession: true
|
||||
secretRef:
|
||||
name: focalboard-iscsi-auth
|
||||
claimRef:
|
||||
namespace: focalboard
|
||||
name: focalboard-data
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: focalboard-data
|
||||
namespace: focalboard
|
||||
spec:
|
||||
storageClassName: manual
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 10Gi
|
||||
volumeName: focalboard-pv
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
apiVersion: networking.istio.io/v1beta1
|
||||
kind: VirtualService
|
||||
metadata:
|
||||
name: focalboard
|
||||
namespace: focalboard
|
||||
spec:
|
||||
hosts:
|
||||
- pm.local.gwg313.xyz
|
||||
- pm.gwg313.xyz
|
||||
- pm.zerotier.gwg313.xyz
|
||||
gateways:
|
||||
- focalboard-gateway
|
||||
http:
|
||||
- match:
|
||||
- uri:
|
||||
prefix: /
|
||||
route:
|
||||
- destination:
|
||||
host: focalboard
|
||||
port:
|
||||
number: 80
|
||||
24
management/platform-apps/bytestash.yaml
Normal file
24
management/platform-apps/bytestash.yaml
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: bytestash
|
||||
namespace: argocd
|
||||
annotations:
|
||||
argocd.argoproj.io/sync-wave: "15"
|
||||
spec:
|
||||
project: default
|
||||
destination:
|
||||
server: https://kubernetes.default.svc
|
||||
namespace: bytestash
|
||||
source:
|
||||
repoURL: https://github.com/gwg313/homelab-gitops.git
|
||||
path: apps/bytestash
|
||||
targetRevision: main
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: true
|
||||
selfHeal: true
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
- ServerSideApply=true
|
||||
- SkipDryRunOnMissingResource=true
|
||||
|
|
@ -16,3 +16,5 @@ resources:
|
|||
- yopass.yaml
|
||||
- tekton.yaml
|
||||
- navidrome.yaml
|
||||
- bytestash.yaml
|
||||
- stirling-pdf.yaml
|
||||
|
|
|
|||
24
management/platform-apps/stirling-pdf.yaml
Normal file
24
management/platform-apps/stirling-pdf.yaml
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: stirling-pdf
|
||||
namespace: argocd
|
||||
annotations:
|
||||
argocd.argoproj.io/sync-wave: "15"
|
||||
spec:
|
||||
project: default
|
||||
destination:
|
||||
server: https://kubernetes.default.svc
|
||||
namespace: stirling-pdf
|
||||
source:
|
||||
repoURL: https://github.com/gwg313/homelab-gitops.git
|
||||
path: apps/stirling-pdf
|
||||
targetRevision: main
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: true
|
||||
selfHeal: true
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
- ServerSideApply=true
|
||||
- SkipDryRunOnMissingResource=true
|
||||
|
|
@ -1,11 +1,10 @@
|
|||
---
|
||||
apiVersion: storage.k8s.io/v1
|
||||
kind: StorageClass
|
||||
metadata:
|
||||
name: nfs-ephemeral
|
||||
annotations:
|
||||
argocd.argoproj.io/sync-wave: "1"
|
||||
provisioner: cluster.local/nfs-subdir-external-provisioner
|
||||
provisioner: cluster.local/nfs-provisioner-nfs-subdir-external-provisioner
|
||||
parameters:
|
||||
archiveOnDelete: "false"
|
||||
pathPattern: "ephemeral/${.PVC.namespace}/${.PVC.name}"
|
||||
|
|
@ -18,7 +17,7 @@ metadata:
|
|||
name: nfs-retain
|
||||
annotations:
|
||||
argocd.argoproj.io/sync-wave: "1"
|
||||
provisioner: cluster.local/nfs-subdir-external-provisioner
|
||||
provisioner: cluster.local/nfs-provisioner-nfs-subdir-external-provisioner
|
||||
parameters:
|
||||
archiveOnDelete: "false"
|
||||
pathPattern: "retained/${.PVC.namespace}/${.PVC.name}"
|
||||
|
|
|
|||
|
|
@ -1,12 +0,0 @@
|
|||
apiVersion: cert-manager.io/v1
|
||||
kind: Certificate
|
||||
metadata:
|
||||
name: stirling-pdf-cert
|
||||
namespace: istio-system
|
||||
spec:
|
||||
secretName: stirling-pdf-cert
|
||||
issuerRef:
|
||||
name: letsencrypt-dns
|
||||
kind: ClusterIssuer
|
||||
dnsNames:
|
||||
- pdftools.gwg313.xyz
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: stirling-custom-files
|
||||
namespace: stirling-pdf
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
resources:
|
||||
requests:
|
||||
storage: 512Mi
|
||||
storageClassName: nfs-client
|
||||
|
|
@ -1,52 +0,0 @@
|
|||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: stirling-pdf
|
||||
namespace: stirling-pdf
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: stirling-pdf
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: stirling-pdf
|
||||
spec:
|
||||
containers:
|
||||
- name: stirling-pdf
|
||||
image: docker.stirlingpdf.com/stirlingtools/stirling-pdf:latest
|
||||
ports:
|
||||
- containerPort: 8080
|
||||
env:
|
||||
- name: DISABLE_ADDITIONAL_FEATURES
|
||||
value: "false"
|
||||
- name: LANGS
|
||||
value: "en_US"
|
||||
volumeMounts:
|
||||
- name: training-data
|
||||
mountPath: /usr/share/tessdata
|
||||
- name: extra-configs
|
||||
mountPath: /configs
|
||||
- name: custom-files
|
||||
mountPath: /customFiles
|
||||
- name: logs
|
||||
mountPath: /logs
|
||||
- name: pipeline
|
||||
mountPath: /pipeline
|
||||
volumes:
|
||||
- name: training-data
|
||||
persistentVolumeClaim:
|
||||
claimName: stirling-training-data
|
||||
- name: extra-configs
|
||||
persistentVolumeClaim:
|
||||
claimName: stirling-extra-configs
|
||||
- name: custom-files
|
||||
persistentVolumeClaim:
|
||||
claimName: stirling-custom-files
|
||||
- name: logs
|
||||
persistentVolumeClaim:
|
||||
claimName: stirling-logs
|
||||
- name: pipeline
|
||||
persistentVolumeClaim:
|
||||
claimName: stirling-pipeline
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: stirling-extra-configs
|
||||
namespace: stirling-pdf
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
resources:
|
||||
requests:
|
||||
storage: 512Mi
|
||||
storageClassName: nfs-client
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
apiVersion: networking.istio.io/v1beta1
|
||||
kind: Gateway
|
||||
metadata:
|
||||
name: stirling-pdf-gateway
|
||||
namespace: stirling-pdf
|
||||
spec:
|
||||
selector:
|
||||
istio: gateway
|
||||
servers:
|
||||
- port:
|
||||
number: 443
|
||||
name: https
|
||||
protocol: HTTPS
|
||||
tls:
|
||||
mode: SIMPLE
|
||||
credentialName: stirling-pdf-cert
|
||||
hosts:
|
||||
- pdftools.gwg313.xyz
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: stirling-pipeline
|
||||
namespace: stirling-pdf
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
resources:
|
||||
requests:
|
||||
storage: 512Mi
|
||||
storageClassName: nfs-client
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
apiVersion: networking.istio.io/v1beta1
|
||||
kind: VirtualService
|
||||
metadata:
|
||||
name: stirling-pdf
|
||||
namespace: stirling-pdf
|
||||
spec:
|
||||
hosts:
|
||||
- pdftools.gwg313.xyz
|
||||
gateways:
|
||||
- stirling-pdf-gateway
|
||||
http:
|
||||
- match:
|
||||
- uri:
|
||||
prefix: /
|
||||
route:
|
||||
- destination:
|
||||
host: stirling-pdf
|
||||
port:
|
||||
number: 80
|
||||
Loading…
Add table
Add a link
Reference in a new issue