From fcc2328a3bf49eb5310413058cc9ebaf8e7819f8 Mon Sep 17 00:00:00 2001 From: Quentin Dufour Date: Wed, 4 Dec 2019 18:04:30 +0100 Subject: WIP netiquette --- docker/tag-config/index.mjs | 56 --------------------------------------------- 1 file changed, 56 deletions(-) delete mode 100644 docker/tag-config/index.mjs (limited to 'docker/tag-config/index.mjs') diff --git a/docker/tag-config/index.mjs b/docker/tag-config/index.mjs deleted file mode 100644 index a5b51fc..0000000 --- a/docker/tag-config/index.mjs +++ /dev/null @@ -1,56 +0,0 @@ -'use strict' -import consul from 'consul' -import { exec } from './src/io/run.mjs' -import { readFile } from './src/io/files.mjs' - -import ctlg_consul from './src/catalog/consul.mjs' -import inj_iptables from './src/injector/iptables.mjs' - -const get_args = () => process - .argv - .slice(2) - .map(a => a.split('=')) - .reduce((dict, tuple) => { - dict[tuple[0]] = tuple.length > 1 ? tuple[1] : null - return dict - }, {}) - -/** - * If we have multiple catalogs - * we cache the results of the other ones - */ -function* notifications_aggregator(injectors) { - const states = [] - for(let idx = 0; true; idx++) { - yield async (tag_list) => { - states[idx] = tag_list - await Promise.all( - injectors.map(notify => - notify(states.reduce((acc, tag) => [...acc, ...tag], [])))) - } - } -} - -const main = async () => { - try { - const args = get_args() - - // Initialize all injectors - const injectors = [ - await inj_iptables(args.ipt_base, readFile, exec, console.log) - ] - - // Initialize all catalogs and map them to the injectors - const aggr = notifications_aggregator(injectors) - const catalogs = [ - await ctlg_consul(args.node, consul(), console.log, aggr.next().value) - ] - - console.log("[main] initialized") - } catch(e) { - console.error("initialization failed", e) - process.exit(1) - } -} - -main() -- cgit v1.2.3