1
0
Fork 0
mirror of https://github.com/pawelmalak/flame.git synced 2025-08-02 01:15:17 +02:00

attempt to fix integrations

This commit is contained in:
François Darveau 2021-12-07 23:23:57 -05:00
parent 5474fe324f
commit e5154576b4
5 changed files with 53 additions and 15 deletions

View file

@ -3,8 +3,9 @@ const axios = require('axios');
const Logger = require('../../../utils/Logger');
const logger = new Logger();
const loadConfig = require('../../../utils/loadConfig');
const Category = require('../../../models/Category');
dockerDefaultCategory = {
const dockerDefaultCategory = {
id: -2,
name: 'Docker',
type: 'apps',
@ -55,6 +56,17 @@ const useDocker = async (apps) => {
const dockerApps = [];
const categories = await Category.findAll({
where: {
type: 'apps'
},
order: [[orderType, 'ASC']]
});
if (!categories.find(category => category.id === dockerDefaultCategory.id)) {
categories.push(await Category.create(dockerDefaultCategory));
}
for (const container of containers) {
let labels = container.Labels;

View file

@ -3,6 +3,7 @@ const k8s = require('@kubernetes/client-node');
const Logger = require('../../../utils/Logger');
const logger = new Logger();
const loadConfig = require('../../../utils/loadConfig');
const Category = require('../../../models/Category');
const kubernetesDefaultCategory = {
id: -3,
@ -39,6 +40,17 @@ const useKubernetes = async (apps) => {
const kubernetesApps = [];
const categories = await Category.findAll({
where: {
type: 'apps'
},
order: [[orderType, 'ASC']]
});
if (!categories.find(category => category.id === kubernetesDefaultCategory.id)) {
categories.push(await Category.create(kubernetesDefaultCategory));
}
for (const ingress of ingresses) {
const annotations = ingress.metadata.annotations;

View file

@ -15,15 +15,7 @@ const getAllApps = asyncWrapper(async (req, res, next) => {
kubernetesApps: useKubernetesAPI,
} = await loadConfig();
let apps;
if (useDockerAPI) {
await useDocker(apps);
}
if (useKubernetesAPI) {
await useKubernetes(apps);
}
let apps = await loadIntegrationsApps();
// apps visibility
const where = req.isAuthenticated ? {} : { isPublic: true };
@ -52,4 +44,26 @@ const getAllApps = asyncWrapper(async (req, res, next) => {
});
});
module.exports = getAllApps;
const loadIntegrationsApps = asyncWrapper(async () => {
const {
dockerApps: useDockerAPI,
kubernetesApps: useKubernetesAPI,
} = await loadConfig();
let apps;
if (useDockerAPI) {
await useDocker(apps);
}
if (useKubernetesAPI) {
await useKubernetes(apps);
}
return apps;
});
module.exports = {
getAllApps,
loadIntegrationsApps
}

View file

@ -4,5 +4,5 @@ module.exports = {
deleteApp: require('./deleteApp'),
updateApp: require('./updateApp'),
reorderApps: require('./reorderApps'),
getAllApps: require('./getAllApps'),
getAllApps: require('./getAllApps').getAllApps,
};

View file

@ -4,7 +4,7 @@ const App = require('../../models/App');
const Bookmark = require('../../models/Bookmark');
const { Sequelize } = require('sequelize');
const loadConfig = require('../../utils/loadConfig');
const getAllApps = require('../apps/getAllApps');
const loadIntegrationsApps = require('../apps/getAllApps').loadIntegrationsApps;
// @desc Get all categories
// @route GET /api/categories
@ -13,7 +13,7 @@ const getAllCategories = asyncWrapper(async (req, res, next) => {
const { useOrdering: orderType } = await loadConfig();
// Load apps to create apps from integrations (Docker, Kubernetes, etc.)
await getAllApps(req, res, next);
await loadIntegrationsApps();
let categories;
let output;
@ -34,7 +34,7 @@ const getAllCategories = asyncWrapper(async (req, res, next) => {
[{ model: Bookmark, as: 'bookmarks' }, orderType, 'ASC'],
];
categories = categories = await Category.findAll({
categories = await Category.findAll({
include: [
{
model: App,