Skip to content

Commit 8ad0e72

Browse files
authored
Merge pull request #90 from snyk/feat/resource_limits
feat: add resource limts to the container
2 parents bc1a703 + fce062e commit 8ad0e72

File tree

4 files changed

+31
-0
lines changed

4 files changed

+31
-0
lines changed

snyk-monitor-deployment.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,13 @@ spec:
5050
name: snyk-monitor
5151
key: clusterName
5252
optional: true
53+
resources:
54+
requests:
55+
cpu: '250m'
56+
memory: '400Mi'
57+
limits:
58+
cpu: '1'
59+
memory: '2Gi'
5360
securityContext: {}
5461
volumes:
5562
- name: docker-socket-mount

snyk-monitor/templates/deployment.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,13 @@ spec:
4444
value: {{ .Values.integrationApi }}
4545
- name: SNYK_CLUSTER_NAME
4646
value: {{ .Values.clusterName }}
47+
resources:
48+
requests:
49+
cpu: '250m'
50+
memory: '400Mi'
51+
limits:
52+
cpu: '1'
53+
memory: '2Gi'
4754
volumes:
4855
- name: docker-socket-mount
4956
hostPath:

test/integration/kubernetes.test.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,3 +173,15 @@ tap.test('snyk-monitor sends deleted workload to homebase', async (t) => {
173173
`api/v2/workloads/${integrationId}/${clusterName}/${namespace}`);
174174
t.ok(homebaseDeleteTestResult, 'snyk-monitor sent deleted workload data to homebase in the expected timeframe');
175175
});
176+
177+
tap.test(`snyk-monitor has resource limits`, async (t) => {
178+
t.plan(5);
179+
const snykMonitorDeployment = await setup.getDeloymentJson('snyk-monitor', 'snyk-monitor');
180+
const monitorResources = snykMonitorDeployment.spec.template.spec.containers[0].resources;
181+
182+
t.ok(monitorResources !== undefined, 'snyk-monitor has resources');
183+
t.ok(monitorResources.requests.cpu !== undefined, 'snyk-monitor has cpu resource request');
184+
t.ok(monitorResources.requests.memory !== undefined, 'snyk-monitor has memory resource request');
185+
t.ok(monitorResources.requests.cpu !== undefined, 'snyk-monitor has cpu resource request');
186+
t.ok(monitorResources.requests.memory !== undefined, 'snyk-monitor has memory resource request');
187+
});

test/setup.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,11 @@ export async function deleteDeployment(deploymentName: string, namespace: string
142142
console.log(`Deleted deployment ${deploymentName}!`);
143143
}
144144

145+
export async function getDeloymentJson(deploymentName: string, namespace: string): Promise<any> {
146+
const getDeploymentResult = await exec(`./kubectl get deployment ${deploymentName} -n ${namespace} -o json`);
147+
return JSON.parse(getDeploymentResult.stdout);
148+
}
149+
145150
function createTestYamlDeployment(newYamlPath: string, integrationId: string): void {
146151
console.log('Creating test deployment...');
147152
const originalDeploymentYaml = readFileSync('./snyk-monitor-deployment.yaml', 'utf8');

0 commit comments

Comments
 (0)