Compare commits

...

5 Commits

Author SHA1 Message Date
shamoon
a0fa6367ca Merge pull request #1161 from MrLemur/add-traefik-ingressroute
Feature: Add Traefik IngressRoute support for Kubernetes
2023-04-04 15:56:38 -07:00
shamoon
8378066bd4 Merge pull request #1182 from benphelps/fix-1181
Fix emby/jellyfin now playing > 1
2023-04-04 15:04:16 -07:00
shamoon
db85193bbf Fix emby/jellyfin now playing > 1 2023-04-04 15:00:09 -07:00
shamoon
364c7ce183 make osx-temperature-sensor optional 2023-04-04 14:27:44 -07:00
Kassim Benhaddad
df714c7556 feat: add Traefik IngressRoute support for k8s 2023-03-29 23:19:56 +01:00
5 changed files with 36 additions and 7 deletions

6
package-lock.json generated
View File

@@ -21,7 +21,7 @@
"minecraft-ping-js": "^1.0.2",
"next": "^12.3.1",
"next-i18next": "^12.0.1",
"osx-temperature-sensor": "^1.0.8",
"osx-temperature-sensor": "*",
"pretty-bytes": "^6.0.0",
"raw-body": "^2.5.1",
"react": "^18.2.0",
@@ -52,6 +52,9 @@
"tailwind-scrollbar": "^2.0.1",
"tailwindcss": "^3.1.8",
"typescript": "^4.8.3"
},
"optionalDependencies": {
"osx-temperature-sensor": "^1.0.8"
}
},
"node_modules/@babel/runtime": {
@@ -4034,6 +4037,7 @@
"resolved": "https://registry.npmjs.org/osx-temperature-sensor/-/osx-temperature-sensor-1.0.8.tgz",
"integrity": "sha512-Gl3b+bn7+oDDnqPa+4v/cg3yg9lnE8ppS7ivL3opBZh4i7h99JNmkm6zWmo0m2a83UUJu+C9D7lGP0OS8IlehA==",
"hasInstallScript": true,
"optional": true,
"os": [
"darwin"
],

View File

@@ -23,7 +23,6 @@
"minecraft-ping-js": "^1.0.2",
"next": "^12.3.1",
"next-i18next": "^12.0.1",
"osx-temperature-sensor": "^1.0.8",
"pretty-bytes": "^6.0.0",
"raw-body": "^2.5.1",
"react": "^18.2.0",
@@ -54,5 +53,8 @@
"tailwind-scrollbar": "^2.0.1",
"tailwindcss": "^3.1.8",
"typescript": "^4.8.3"
},
"optionalDependencies": {
"osx-temperature-sensor": "^1.0.8"
}
}

14
pnpm-lock.yaml generated
View File

@@ -40,9 +40,6 @@ dependencies:
next-i18next:
specifier: ^12.0.1
version: 12.1.0(next@12.3.4)(react-dom@18.2.0)(react@18.2.0)
osx-temperature-sensor:
specifier: ^1.0.8
version: 1.0.8
pretty-bytes:
specifier: ^6.0.0
version: 6.1.0
@@ -80,6 +77,11 @@ dependencies:
specifier: ^1.6.11
version: 1.6.11
optionalDependencies:
osx-temperature-sensor:
specifier: ^1.0.8
version: 1.0.8
devDependencies:
'@tailwindcss/forms':
specifier: ^0.5.3
@@ -645,6 +647,7 @@ packages:
/autoprefixer@10.4.14(postcss@8.4.21):
resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==}
engines: {node: ^10 || ^12 || >=14}
hasBin: true
peerDependencies:
postcss: ^8.1.0
dependencies:
@@ -1221,6 +1224,7 @@ packages:
/eslint-config-prettier@8.8.0(eslint@8.37.0):
resolution: {integrity: sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==}
hasBin: true
peerDependencies:
eslint: '>=7.0.0'
dependencies:
@@ -2374,6 +2378,7 @@ packages:
/next@12.3.4(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-VcyMJUtLZBGzLKo3oMxrEF0stxh8HwuW976pAzlHhI3t8qJ4SROjCrSh1T24bhrbjw55wfZXAbXPGwPt5FLRfQ==}
engines: {node: '>=12.22.0'}
hasBin: true
peerDependencies:
fibers: '>= 3.1.0'
node-sass: ^6.0.0 || ^7.0.0
@@ -2574,6 +2579,7 @@ packages:
os: [darwin]
requiresBuild: true
dev: false
optional: true
/p-limit@3.1.0:
resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
@@ -3229,6 +3235,7 @@ packages:
/tailwindcss@3.3.0(postcss@8.4.21):
resolution: {integrity: sha512-hOXlFx+YcklJ8kXiCAfk/FMyr4Pm9ck477G0m/us2344Vuj355IpoEDB5UmGAsSpTBmr+4ZhjzW04JuFXkb/fw==}
engines: {node: '>=12.13.0'}
hasBin: true
peerDependencies:
postcss: ^8.0.9
dependencies:
@@ -3450,6 +3457,7 @@ packages:
/update-browserslist-db@1.0.10(browserslist@4.21.5):
resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==}
hasBin: true
peerDependencies:
browserslist: '>= 4.21.0'
dependencies:

View File

@@ -4,7 +4,7 @@ import path from "path";
import yaml from "js-yaml";
import Docker from "dockerode";
import * as shvl from "shvl";
import { NetworkingV1Api } from "@kubernetes/client-node";
import { CustomObjectsApi, NetworkingV1Api } from "@kubernetes/client-node";
import createLogger from "utils/logger";
import checkAndCopyConfig, { substituteEnvironmentVars } from "utils/config/config";
@@ -145,6 +145,7 @@ export async function servicesFromKubernetes() {
return [];
}
const networking = kc.makeApiClient(NetworkingV1Api);
const crd = kc.makeApiClient(CustomObjectsApi);
const ingressList = await networking.listIngressForAllNamespaces(null, null, null, null)
.then((response) => response.body)
@@ -152,6 +153,20 @@ export async function servicesFromKubernetes() {
logger.error("Error getting ingresses: %d %s %s", error.statusCode, error.body, error.response);
return null;
});
const traefikIngressList = await crd.listClusterCustomObject("traefik.containo.us", "v1alpha1", "ingressroutes")
.then((response) => response.body)
.catch((error) => {
logger.error("Error getting traefik ingresses: %d %s %s", error.statusCode, error.body, error.response);
return null;
});
if (traefikIngressList && traefikIngressList.items.length > 0) {
const traefikServices = traefikIngressList.items
.filter((ingress) => ingress.metadata.annotations && ingress.metadata.annotations[`${ANNOTATION_BASE}/href`])
ingressList.items.push(...traefikServices);
}
if (!ingressList) {
return [];
}

View File

@@ -272,7 +272,7 @@ export default function Component({ service }) {
);
}
if (playing.length === -1)
if (playing.length > 0)
return (
<>
{enableBlocks && <CountBlocks service={service} countData={countData} />}