feat: able to use $$ in traefik config gen

fix: repman icon
This commit is contained in:
Andras Bacsai
2023-01-24 13:52:39 +01:00
parent 4c8babc96a
commit 655a8cd60d
6 changed files with 15 additions and 10 deletions

View File

@@ -2,6 +2,7 @@ import { FastifyRequest } from 'fastify';
import { errorHandler, getDomain, isDev, prisma, executeCommand } from '../../../lib/common';
import { getTemplates } from '../../../lib/services';
import { OnlyId } from '../../../types';
import { parseAndFindServiceTemplates } from '../../api/v1/services/handlers';
function generateServices(serviceId, containerId, port, isHttp2 = false, isHttps = false) {
if (isHttp2) {
@@ -534,11 +535,11 @@ export async function proxyConfiguration(request: FastifyRequest<OnlyId>, remote
if (!found) {
continue;
}
found = JSON.parse(JSON.stringify(found).replaceAll('$$id', id));
found = await parseAndFindServiceTemplates(service, null, true);
for (const oneService of Object.keys(found.services)) {
const isDomainConfiguration =
found?.services[oneService]?.proxy?.filter((p) => p.domain) ?? [];
if (isDomainConfiguration.length > 0) {
const isDomainAndProxyConfiguration =
found?.services[oneService]?.proxy?.filter((p) => p.domain && p.port) ?? [];
if (isDomainAndProxyConfiguration.length > 0) {
const { proxy } = found.services[oneService];
for (let configuration of proxy) {
if (configuration.domain) {

View File

@@ -4,9 +4,11 @@ import { proxyConfiguration, otherProxyConfiguration } from './handlers';
import { OtherProxyConfiguration } from './types';
const root: FastifyPluginAsync = async (fastify): Promise<void> => {
fastify.get<OnlyId>('/main.json', async (request, reply) => proxyConfiguration(request, false));
fastify.get<OnlyId>('/remote/:id', async (request) => proxyConfiguration(request, true));
fastify.get<OtherProxyConfiguration>('/other.json', async (request, reply) => otherProxyConfiguration(request));
fastify.get<OnlyId>('/main.json', async (request, reply) => proxyConfiguration(request, false));
fastify.get<OnlyId>('/remote/:id', async (request) => proxyConfiguration(request, true));
fastify.get<OtherProxyConfiguration>('/other.json', async (request, reply) =>
otherProxyConfiguration(request)
);
};
export default root;