Skip to content

Commit 902bed7

Browse files
committed
chore: introduce type for loaded config keys and values
1 parent e3517e1 commit 902bed7

File tree

2 files changed

+44
-2
lines changed

2 files changed

+44
-2
lines changed

src/common/config.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
import { readFileSync } from 'fs';
22
import { randomUUID } from 'crypto';
33
import { loadConfig } from 'snyk-config';
4+
import { Config } from './types';
45

5-
const config: Record<string, any> = loadConfig(__dirname + '/../..', {
6+
const config = loadConfig(__dirname + '/../..', {
67
secretConfig: process.env.CONFIG_SECRET_FILE,
7-
});
8+
}) as unknown as Config;
89

910
const namespacesFilePath = '/etc/config/excludedNamespaces';
1011

src/common/types.ts

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
export interface Config {
2+
LOGGING: {
3+
name: 'kubernetes-monitor';
4+
level: 'debug' | 'info' | 'warn' | 'error';
5+
};
6+
IMAGES_SCANNED_CACHE: {
7+
MAX_SIZE: number;
8+
MAX_AGE_MS: number;
9+
};
10+
WORKLOADS_SCANNED_CACHE: {
11+
MAX_SIZE: number;
12+
MAX_AGE_MS: number;
13+
};
14+
WORKERS_COUNT: number;
15+
REQUEST_QUEUE_LENGTH: number;
16+
QUEUE_LENGTH_LOG_FREQUENCY_MINUTES: number;
17+
INTEGRATION_ID: string;
18+
DEFAULT_KUBERNETES_UPSTREAM_URL: string;
19+
MAX_RETRY_BACKOFF_DURATION_SECONDS: number;
20+
21+
// ----------------------------------------
22+
// Properties injected by Helm (via environment variables) or manually set in code:
23+
CLUSTER_NAME: string;
24+
AGENT_ID: string;
25+
IMAGE_STORAGE_ROOT: '/var/tmp';
26+
POLICIES_STORAGE_ROOT: '/tmp/policies';
27+
EXCLUDED_NAMESPACES: string[] | null;
28+
SKOPEO_COMPRESSION_LEVEL: number;
29+
SYSDIG_ENDPOINT: string;
30+
SYSDIG_TOKEN: string;
31+
HTTPS_PROXY: string | undefined;
32+
HTTP_PROXY: string | undefined;
33+
NO_PROXY: string | undefined;
34+
SKIP_K8S_JOBS: boolean;
35+
DEPLOYMENT_NAME: string;
36+
DEPLOYMENT_NAMESPACE: string;
37+
WATCH_NAMESPACE: string;
38+
INTEGRATION_API: string;
39+
MONITOR_VERSION: string;
40+
NAMESPACE: string;
41+
}

0 commit comments

Comments
 (0)