Skip to content

Commit 3e78de7

Browse files
authored
Merge pull request #176 from snyk/fix/reduced-logging
fix: improved logging, better error handling
2 parents 201cacc + b34f243 commit 3e78de7

File tree

4 files changed

+5
-16
lines changed

4 files changed

+5
-16
lines changed

config.default.json

-3
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,6 @@
33
"name": "kubernetes-monitor",
44
"level": "info"
55
},
6-
"MONITOR": {
7-
"INITIAL_REFRESH_MS": 1000
8-
},
96
"IMAGES_SCANNED_CACHE": {
107
"MAX_SIZE": 10000,
118
"MAX_AGE_MS": 86400000

src/app.ts

+2-6
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,13 @@
1-
import * as config from './common/config';
21
import logger = require('./common/logger');
32
import { currentClusterName } from './kube-scanner/cluster';
43
import { beginWatchingWorkloads } from './kube-scanner/watchers/namespaces';
54

6-
function safeMonitoring() {
5+
export function monitor() {
76
try {
87
logger.info({cluster: currentClusterName}, 'starting to monitor');
98
beginWatchingWorkloads();
109
} catch (error) {
1110
logger.error({error}, 'an error occurred while monitoring the cluster');
11+
process.exit(1);
1212
}
1313
}
14-
15-
export function monitor() {
16-
setTimeout(safeMonitoring, config.MONITOR.INITIAL_REFRESH_MS);
17-
}

src/transmitter/index.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ export async function sendDepGraph(...payloads: IDepGraphPayload[]) {
2222
throw new Error(`${result.statusCode} ${result.statusMessage}`);
2323
}
2424
} catch (error) {
25-
logger.error({error}, 'could not send the dependency scan result to Homebase');
25+
const { dependencyGraph, ...payloadWithoutDepGraph } = payload;
26+
logger.error({error, payload: payloadWithoutDepGraph}, 'could not send the dependency scan result to Homebase');
2627
}
2728
}
2829
}
@@ -39,7 +40,7 @@ export async function sendWorkloadMetadata(payload: IWorkloadMetadataPayload) {
3940
throw new Error(`${result.statusCode} ${result.statusMessage}`);
4041
}
4142
} catch (error) {
42-
logger.error({error}, 'could not send workload metadata to Homebase');
43+
logger.error({error, payload: payload.workloadLocator}, 'could not send workload metadata to Homebase');
4344
}
4445
}
4546

test/integration/kubernetes.test.ts

-5
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
import { CoreV1Api, KubeConfig } from '@kubernetes/client-node';
2-
import sleep = require('sleep-promise');
32
import setup = require('../setup');
43
import * as tap from 'tap';
5-
import * as config from '../../src/common/config';
64
import { getKindConfigPath } from '../helpers/kind';
75
import { WorkloadKind } from '../../src/kube-scanner/types';
86
import { WorkloadMetadataValidator, WorkloadLocatorValidator } from '../helpers/types';
@@ -51,9 +49,6 @@ tap.test('snyk-monitor container started', async (t) => {
5149
const k8sApi = kubeConfig.makeApiClient(CoreV1Api);
5250
console.log('Loaded KinD config!');
5351

54-
// wait to let the container go through a cycle
55-
await sleep(config.MONITOR.INITIAL_REFRESH_MS);
56-
5752
console.log('Querying the snyk-monitor...');
5853
const response = await k8sApi.listNamespacedPod('snyk-monitor');
5954
t.ok(response.body.items.length > 0, 'PodList is not empty');

0 commit comments

Comments
 (0)