Applied prettier to code

This commit is contained in:
djeinstine 2024-11-09 19:30:09 +00:00
parent cb2c7b9147
commit bbb1ef5a55
3 changed files with 163 additions and 169 deletions

View File

@ -7,36 +7,31 @@ import { KubeConfig } from "@kubernetes/client-node";
import checkAndCopyConfig, { CONF_DIR, substituteEnvironmentVars } from "utils/config/config";
const extractKubeData = (config) => {
//kubeconfig
const kc = new KubeConfig();
kc.loadFromCluster()
kc.loadFromCluster();
//route
let route="ingress";
if (config?.route=="gateway"){
route="gateway";
let route = "ingress";
if (config?.route == "gateway") {
route = "gateway";
}
//traefik
let traefik=true;
if (config?.traefik=="disable"){
traefik=false;
let traefik = true;
if (config?.traefik == "disable") {
traefik = false;
}
//traefik
let metrics=true;
if (config?.metrics=="disable"){
metrics=false;
let metrics = true;
if (config?.metrics == "disable") {
metrics = false;
}
//return
return {"config":kc,
"route":route,
"traefik":traefik,
"metrics":metrics
};
}
return { config: kc, route: route, traefik: traefik, metrics: metrics };
};
export default function getKubeArguments() {
checkAndCopyConfig("kubernetes.yaml");
@ -56,7 +51,7 @@ export default function getKubeArguments() {
break;
case "disabled":
default:
kubeData=null;
kubeData = null;
}
return kubeData;

View File

@ -8,7 +8,7 @@ import { ApiextensionsV1Api } from "@kubernetes/client-node";
import createLogger from "utils/logger";
import checkAndCopyConfig, { CONF_DIR, getSettings, substituteEnvironmentVars } from "utils/config/config";
import getDockerArguments from "utils/config/docker";
import {getUrlSchema,getRouteList} from "utils/kubernetes/kubernetes-routes";
import { getUrlSchema, getRouteList } from "utils/kubernetes/kubernetes-routes";
import * as shvl from "utils/config/shvl";
const logger = createLogger("service-helpers");
@ -165,7 +165,8 @@ export async function servicesFromKubernetes() {
return [];
}
const services = await Promise.all(routeList
const services = await Promise.all(
routeList
.filter(
(route) =>
route.metadata.annotations &&
@ -174,11 +175,11 @@ export async function servicesFromKubernetes() {
route.metadata.annotations[`${ANNOTATION_BASE}/instance`] === instanceName ||
`${ANNOTATION_BASE}/instance.${instanceName}` in route.metadata.annotations),
)
.map( async (route) => {
.map(async (route) => {
let constructedService = {
app: route.metadata.annotations[`${ANNOTATION_BASE}/app`] || route.metadata.name,
namespace: route.metadata.namespace,
href: route.metadata.annotations[`${ANNOTATION_BASE}/href`] || await getUrlSchema(route),
href: route.metadata.annotations[`${ANNOTATION_BASE}/href`] || (await getUrlSchema(route)),
name: route.metadata.annotations[`${ANNOTATION_BASE}/name`] || route.metadata.name,
group: route.metadata.annotations[`${ANNOTATION_BASE}/group`] || "Kubernetes",
weight: route.metadata.annotations[`${ANNOTATION_BASE}/weight`] || "0",
@ -220,7 +221,7 @@ export async function servicesFromKubernetes() {
logger.debug(e);
}
return constructedService;
})
}),
);
const mappedServiceGroups = [];

View File

@ -1,5 +1,3 @@
import { CustomObjectsApi, NetworkingV1Api, CoreV1Api, ApiextensionsV1Api } from "@kubernetes/client-node";
import getKubeArguments from "utils/config/kubernetes";
import createLogger from "utils/logger";
@ -9,8 +7,8 @@ const logger = createLogger("service-helpers");
const kubeArguments = getKubeArguments();
const kc = kubeArguments.config;
const apiGroup = 'gateway.networking.k8s.io';
const version = 'v1';
const apiGroup = "gateway.networking.k8s.io";
const version = "v1";
let crd;
let core;
@ -18,7 +16,6 @@ let networking;
let routingType;
let traefik;
export async function checkCRD(kc, name) {
const apiExtensions = kc.makeApiClient(ApiextensionsV1Api);
const exist = await apiExtensions
@ -41,8 +38,14 @@ export async function checkCRD(kc, name) {
const getSchemaFromGateway = async (gatewayRef) => {
try {
const gateway = await crd.getNamespacedCustomObject(apiGroup, version, gatewayRef.namespace,"gateways",gatewayRef.name);
const listener = gateway.body.spec.listeners.filter((listener)=>listener.name==gatewayRef.sectionName)[0];
const gateway = await crd.getNamespacedCustomObject(
apiGroup,
version,
gatewayRef.namespace,
"gateways",
gatewayRef.name,
);
const listener = gateway.body.spec.listeners.filter((listener) => listener.name == gatewayRef.sectionName)[0];
return listener.protocol.toLowerCase();
} catch (err) {
console.error(err);
@ -52,12 +55,11 @@ const getSchemaFromGateway = async (gatewayRef) => {
async function getUrlFromHttpRoute(ingress) {
const urlHost = ingress.spec.hostnames[0];
const urlPath = ingress.spec.rules[0].matches[0].path.value;
const urlSchema = await getSchemaFromGateway(ingress.spec.parentRefs[0]) ? "https" : "http";
const urlSchema = (await getSchemaFromGateway(ingress.spec.parentRefs[0])) ? "https" : "http";
// const urlSchema = "https"
return `${urlSchema}://${urlHost}${urlPath}`;
}
function getUrlFromIngress(ingress) {
const urlHost = ingress.spec.rules[0].host;
const urlPath = ingress.spec.rules[0].http.paths[0].path;
@ -65,27 +67,27 @@ function getUrlFromIngress(ingress) {
return `${urlSchema}://${urlHost}${urlPath}`;
}
async function getHttpRouteList(){
async function getHttpRouteList() {
const httpRouteList = new Array();
const namespaces = await core.listNamespace()
.then((response) => response.body.items.map(ns => ns.metadata.name))
const namespaces = await core
.listNamespace()
.then((response) => response.body.items.map((ns) => ns.metadata.name))
.catch((error) => {
logger.error("Error getting namespaces: %d %s %s", error.statusCode, error.body, error.response);
logger.debug(error);
return null;
})
});
if (namespaces){
if (namespaces) {
// Iterate over each namespace
for (const namespace of namespaces) {
try {
// Fetch the httproute from one namespaces
const httpRoute = await crd.listNamespacedCustomObject(apiGroup,version,namespace,'httproutes');
if (httpRoute.body.items.length !== 0){
const httpRoute = await crd.listNamespacedCustomObject(apiGroup, version, namespace, "httproutes");
if (httpRoute.body.items.length !== 0) {
httpRouteList.push(httpRoute.body.items[0]);
}
} catch (err) {
console.error(`Error fetching httproutes objects in namespace "${namespace}":`, err.body || err.message);
}
@ -94,8 +96,7 @@ async function getHttpRouteList(){
return httpRouteList;
}
async function getIngressList(){
async function getIngressList() {
const ingressList = await networking
.listIngressForAllNamespaces(null, null, null, null)
.then((response) => response.body)
@ -105,7 +106,7 @@ async function getIngressList(){
return null;
});
if (traefik){
if (traefik) {
const traefikContainoExists = await checkCRD(kc, "ingressroutes.traefik.containo.us");
const traefikExists = await checkCRD(kc, "ingressroutes.traefik.io");
@ -156,8 +157,7 @@ async function getIngressList(){
return ingressList.items;
}
export async function getRouteList(){
export async function getRouteList() {
let routeList = new Array();
if (!kc) {
@ -171,7 +171,6 @@ export async function getRouteList(){
routingType = kubeArguments.route;
traefik = kubeArguments.traefik;
switch (routingType) {
case "ingress":
routeList = await getIngressList();
@ -200,5 +199,4 @@ export async function getUrlSchema(route) {
urlSchema = getUrlFromIngress(route);
}
return urlSchema;
}
}