Repository: cdk8s-team/cdk8s-plus
Pull request #1082 (2022-08-29 00:57:46)

feat(container): default container resource requirements
As we will allow customers to integrate with manifest validation plugins soon, we see that one of the recommendation for K8s manifest is to have defined container resource limits. This would safeguard the containers to not have undefined limits which could end up in Out Of Memory crashes or performance degradation due to CPU over utilization.

Picking up these defaults from what Lambda follows [here](https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html), let me know if you believe these can be updated. 

Resolves https://github.com/cdk8s-team/cdk8s-plus/issues/807


Patch:
diff --git a/src/container.ts b/src/container.ts
index 8b2bcb50..e2ddaf94 100644
--- a/src/container.ts
+++ b/src/container.ts
@@ -1,4 +1,4 @@
-import { Size as container } from 'cdk8s';
+import { Size } from 'cdk8s';
 import * as configmap from './config-map';
 import * as handler from './handler';
 import * as k8s from './imports/k8s';
@@ -529,6 +529,14 @@ export interface ContainerProps {
   /**
    * Compute resources (CPU and memory requests and limits) required by the container
    * @see https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
+   *
+   * @default
+   *    cpu:
+   *      request: 1000 millis
+   *      limit: 1500 millis
+   *    memory:
+   *      request: 512 mebibytes
+   *      limit: 2048 mebibytes
    */
   readonly resources?: ContainerResources;
 
@@ -609,6 +617,17 @@ export class Container {
       throw new Error('Attempted to construct a container from a Container object.');
     }
 
+    const defaultResourceSpec: ContainerResources = {
+      cpu: {
+        request: Cpu.millis(1000),
+        limit: Cpu.millis(1500),
+      },
+      memory: {
+        request: Size.mebibytes(512),
+        limit: Size.mebibytes(2048),
+      },
+    };
+
     this.name = props.name ?? 'main';
     this.image = props.image;
     this.port = props.port;
@@ -618,7 +637,7 @@ export class Container {
     this._liveness = props.liveness;
     this._startup = props.startup;
     this._lifecycle = props.lifecycle;
-    this.resources = props.resources;
+    this.resources = props.resources ?? defaultResourceSpec;
     this.workingDir = props.workingDir;
     this.mounts = props.volumeMounts ?? [];
     this.imagePullPolicy = props.imagePullPolicy ?? ImagePullPolicy.ALWAYS;
@@ -890,16 +909,16 @@ export class Cpu {
  * Memory request and limit
  */
 export interface MemoryResources {
-  readonly request?: container;
-  readonly limit?: container;
+  readonly request?: Size;
+  readonly limit?: Size;
 }
 
 /**
  * Emphemeral storage request and limit
  */
 export interface EphemeralStorageResources {
-  readonly request?: container;
-  readonly limit?: container;
+  readonly request?: Size;
+  readonly limit?: Size;
 }
 
 /**


Test patch:
diff --git a/test/__snapshots__/container.test.ts.snap b/test/__snapshots__/container.test.ts.snap
index 2b9d1379..d7c1390e 100644
--- a/test/__snapshots__/container.test.ts.snap
+++ b/test/__snapshots__/container.test.ts.snap
@@ -18,6 +18,16 @@ Array [
           "image": "image",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
diff --git a/test/__snapshots__/daemon-set.test.ts.snap b/test/__snapshots__/daemon-set.test.ts.snap
index 348a7586..7aedf140 100644
--- a/test/__snapshots__/daemon-set.test.ts.snap
+++ b/test/__snapshots__/daemon-set.test.ts.snap
@@ -28,6 +28,16 @@ Array [
               "image": "image",
               "imagePullPolicy": "Always",
               "name": "main",
+              "resources": Object {
+                "limits": Object {
+                  "cpu": "1500m",
+                  "memory": "2048Mi",
+                },
+                "requests": Object {
+                  "cpu": "1000m",
+                  "memory": "512Mi",
+                },
+              },
               "securityContext": Object {
                 "privileged": false,
                 "readOnlyRootFilesystem": false,
@@ -76,6 +86,16 @@ Array [
               "image": "image",
               "imagePullPolicy": "Always",
               "name": "main",
+              "resources": Object {
+                "limits": Object {
+                  "cpu": "1500m",
+                  "memory": "2048Mi",
+                },
+                "requests": Object {
+                  "cpu": "1000m",
+                  "memory": "512Mi",
+                },
+              },
               "securityContext": Object {
                 "privileged": false,
                 "readOnlyRootFilesystem": false,
diff --git a/test/__snapshots__/deployment.test.ts.snap b/test/__snapshots__/deployment.test.ts.snap
index 3f0b5d09..a3543098 100644
--- a/test/__snapshots__/deployment.test.ts.snap
+++ b/test/__snapshots__/deployment.test.ts.snap
@@ -42,6 +42,16 @@ Array [
                   "containerPort": 9300,
                 },
               ],
+              "resources": Object {
+                "limits": Object {
+                  "cpu": "1500m",
+                  "memory": "2048Mi",
+                },
+                "requests": Object {
+                  "cpu": "1000m",
+                  "memory": "512Mi",
+                },
+              },
               "securityContext": Object {
                 "privileged": false,
                 "readOnlyRootFilesystem": false,
@@ -154,6 +164,16 @@ Array [
                   "containerPort": 9300,
                 },
               ],
+              "resources": Object {
+                "limits": Object {
+                  "cpu": "1500m",
+                  "memory": "2048Mi",
+                },
+                "requests": Object {
+                  "cpu": "1000m",
+                  "memory": "512Mi",
+                },
+              },
               "securityContext": Object {
                 "privileged": false,
                 "readOnlyRootFilesystem": false,
@@ -232,6 +252,16 @@ Array [
               "image": "redis",
               "imagePullPolicy": "Always",
               "name": "main",
+              "resources": Object {
+                "limits": Object {
+                  "cpu": "1500m",
+                  "memory": "2048Mi",
+                },
+                "requests": Object {
+                  "cpu": "1000m",
+                  "memory": "512Mi",
+                },
+              },
               "securityContext": Object {
                 "privileged": false,
                 "readOnlyRootFilesystem": false,
@@ -310,6 +340,16 @@ Array [
               "image": "redis",
               "imagePullPolicy": "Always",
               "name": "main",
+              "resources": Object {
+                "limits": Object {
+                  "cpu": "1500m",
+                  "memory": "2048Mi",
+                },
+                "requests": Object {
+                  "cpu": "1000m",
+                  "memory": "512Mi",
+                },
+              },
               "securityContext": Object {
                 "privileged": false,
                 "readOnlyRootFilesystem": false,
@@ -386,6 +426,16 @@ Array [
               "image": "redis",
               "imagePullPolicy": "Always",
               "name": "main",
+              "resources": Object {
+                "limits": Object {
+                  "cpu": "1500m",
+                  "memory": "2048Mi",
+                },
+                "requests": Object {
+                  "cpu": "1000m",
+                  "memory": "512Mi",
+                },
+              },
               "securityContext": Object {
                 "privileged": false,
                 "readOnlyRootFilesystem": false,
@@ -443,6 +493,16 @@ Array [
               "image": "redis",
               "imagePullPolicy": "Always",
               "name": "main",
+              "resources": Object {
+                "limits": Object {
+                  "cpu": "1500m",
+                  "memory": "2048Mi",
+                },
+                "requests": Object {
+                  "cpu": "1000m",
+                  "memory": "512Mi",
+                },
+              },
               "securityContext": Object {
                 "privileged": false,
                 "readOnlyRootFilesystem": false,
@@ -512,6 +572,16 @@ Array [
               "image": "web",
               "imagePullPolicy": "Always",
               "name": "main",
+              "resources": Object {
+                "limits": Object {
+                  "cpu": "1500m",
+                  "memory": "2048Mi",
+                },
+                "requests": Object {
+                  "cpu": "1000m",
+                  "memory": "512Mi",
+                },
+              },
               "securityContext": Object {
                 "privileged": false,
                 "readOnlyRootFilesystem": false,
@@ -569,6 +639,16 @@ Array [
               "image": "redis",
               "imagePullPolicy": "Always",
               "name": "main",
+              "resources": Object {
+                "limits": Object {
+                  "cpu": "1500m",
+                  "memory": "2048Mi",
+                },
+                "requests": Object {
+                  "cpu": "1000m",
+                  "memory": "512Mi",
+                },
+              },
               "securityContext": Object {
                 "privileged": false,
                 "readOnlyRootFilesystem": false,
@@ -635,6 +715,16 @@ Array [
               "image": "web",
               "imagePullPolicy": "Always",
               "name": "main",
+              "resources": Object {
+                "limits": Object {
+                  "cpu": "1500m",
+                  "memory": "2048Mi",
+                },
+                "requests": Object {
+                  "cpu": "1000m",
+                  "memory": "512Mi",
+                },
+              },
               "securityContext": Object {
                 "privileged": false,
                 "readOnlyRootFilesystem": false,
@@ -714,6 +804,16 @@ Array [
               "image": "web",
               "imagePullPolicy": "Always",
               "name": "main",
+              "resources": Object {
+                "limits": Object {
+                  "cpu": "1500m",
+                  "memory": "2048Mi",
+                },
+                "requests": Object {
+                  "cpu": "1000m",
+                  "memory": "512Mi",
+                },
+              },
               "securityContext": Object {
                 "privileged": false,
                 "readOnlyRootFilesystem": false,
@@ -790,6 +890,16 @@ Array [
               "image": "web",
               "imagePullPolicy": "Always",
               "name": "main",
+              "resources": Object {
+                "limits": Object {
+                  "cpu": "1500m",
+                  "memory": "2048Mi",
+                },
+                "requests": Object {
+                  "cpu": "1000m",
+                  "memory": "512Mi",
+                },
+              },
               "securityContext": Object {
                 "privileged": false,
                 "readOnlyRootFilesystem": false,
@@ -847,6 +957,16 @@ Array [
               "image": "redis",
               "imagePullPolicy": "Always",
               "name": "main",
+              "resources": Object {
+                "limits": Object {
+                  "cpu": "1500m",
+                  "memory": "2048Mi",
+                },
+                "requests": Object {
+                  "cpu": "1000m",
+                  "memory": "512Mi",
+                },
+              },
               "securityContext": Object {
                 "privileged": false,
                 "readOnlyRootFilesystem": false,
@@ -916,6 +1036,16 @@ Array [
               "image": "web",
               "imagePullPolicy": "Always",
               "name": "main",
+              "resources": Object {
+                "limits": Object {
+                  "cpu": "1500m",
+                  "memory": "2048Mi",
+                },
+                "requests": Object {
+                  "cpu": "1000m",
+                  "memory": "512Mi",
+                },
+              },
               "securityContext": Object {
                 "privileged": false,
                 "readOnlyRootFilesystem": false,
@@ -973,6 +1103,16 @@ Array [
               "image": "redis",
               "imagePullPolicy": "Always",
               "name": "main",
+              "resources": Object {
+                "limits": Object {
+                  "cpu": "1500m",
+                  "memory": "2048Mi",
+                },
+                "requests": Object {
+                  "cpu": "1000m",
+                  "memory": "512Mi",
+                },
+              },
               "securityContext": Object {
                 "privileged": false,
                 "readOnlyRootFilesystem": false,
@@ -1039,6 +1179,16 @@ Array [
               "image": "web",
               "imagePullPolicy": "Always",
               "name": "main",
+              "resources": Object {
+                "limits": Object {
+                  "cpu": "1500m",
+                  "memory": "2048Mi",
+                },
+                "requests": Object {
+                  "cpu": "1000m",
+                  "memory": "512Mi",
+                },
+              },
               "securityContext": Object {
                 "privileged": false,
                 "readOnlyRootFilesystem": false,
@@ -1118,6 +1268,16 @@ Array [
               "image": "web",
               "imagePullPolicy": "Always",
               "name": "main",
+              "resources": Object {
+                "limits": Object {
+                  "cpu": "1500m",
+                  "memory": "2048Mi",
+                },
+                "requests": Object {
+                  "cpu": "1000m",
+                  "memory": "512Mi",
+                },
+              },
               "securityContext": Object {
                 "privileged": false,
                 "readOnlyRootFilesystem": false,
@@ -1194,6 +1354,16 @@ Array [
               "image": "web",
               "imagePullPolicy": "Always",
               "name": "main",
+              "resources": Object {
+                "limits": Object {
+                  "cpu": "1500m",
+                  "memory": "2048Mi",
+                },
+                "requests": Object {
+                  "cpu": "1000m",
+                  "memory": "512Mi",
+                },
+              },
               "securityContext": Object {
                 "privileged": false,
                 "readOnlyRootFilesystem": false,
@@ -1268,6 +1438,16 @@ Array [
               "image": "redis",
               "imagePullPolicy": "Always",
               "name": "main",
+              "resources": Object {
+                "limits": Object {
+                  "cpu": "1500m",
+                  "memory": "2048Mi",
+                },
+                "requests": Object {
+                  "cpu": "1000m",
+                  "memory": "512Mi",
+                },
+              },
               "securityContext": Object {
                 "privileged": false,
                 "readOnlyRootFilesystem": false,
@@ -1339,6 +1519,16 @@ Array [
               "image": "redis",
               "imagePullPolicy": "Always",
               "name": "main",
+              "resources": Object {
+                "limits": Object {
+                  "cpu": "1500m",
+                  "memory": "2048Mi",
+                },
+                "requests": Object {
+                  "cpu": "1000m",
+                  "memory": "512Mi",
+                },
+              },
               "securityContext": Object {
                 "privileged": false,
                 "readOnlyRootFilesystem": false,
@@ -1377,6 +1567,16 @@ Array [
           "image": "redis",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
diff --git a/test/__snapshots__/network-policy.test.ts.snap b/test/__snapshots__/network-policy.test.ts.snap
index fb92eba0..36101507 100644
--- a/test/__snapshots__/network-policy.test.ts.snap
+++ b/test/__snapshots__/network-policy.test.ts.snap
@@ -110,6 +110,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -141,6 +151,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -213,6 +233,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -263,6 +293,16 @@ Array [
               "image": "pod",
               "imagePullPolicy": "Always",
               "name": "main",
+              "resources": Object {
+                "limits": Object {
+                  "cpu": "1500m",
+                  "memory": "2048Mi",
+                },
+                "requests": Object {
+                  "cpu": "1000m",
+                  "memory": "512Mi",
+                },
+              },
               "securityContext": Object {
                 "privileged": false,
                 "readOnlyRootFilesystem": false,
@@ -337,6 +377,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -406,6 +456,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -474,6 +534,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -547,6 +617,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -628,6 +708,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -705,6 +795,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -796,6 +896,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -868,6 +978,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -941,6 +1061,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -972,6 +1102,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -1044,6 +1184,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -1094,6 +1244,16 @@ Array [
               "image": "pod",
               "imagePullPolicy": "Always",
               "name": "main",
+              "resources": Object {
+                "limits": Object {
+                  "cpu": "1500m",
+                  "memory": "2048Mi",
+                },
+                "requests": Object {
+                  "cpu": "1000m",
+                  "memory": "512Mi",
+                },
+              },
               "securityContext": Object {
                 "privileged": false,
                 "readOnlyRootFilesystem": false,
@@ -1168,6 +1328,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -1237,6 +1407,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -1305,6 +1485,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -1378,6 +1568,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -1459,6 +1659,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -1536,6 +1746,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -1627,6 +1847,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -1699,6 +1929,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -1772,6 +2012,16 @@ Array [
           "image": "web",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -1841,6 +2091,16 @@ Array [
               "image": "web",
               "imagePullPolicy": "Always",
               "name": "main",
+              "resources": Object {
+                "limits": Object {
+                  "cpu": "1500m",
+                  "memory": "2048Mi",
+                },
+                "requests": Object {
+                  "cpu": "1000m",
+                  "memory": "512Mi",
+                },
+              },
               "securityContext": Object {
                 "privileged": false,
                 "readOnlyRootFilesystem": false,
diff --git a/test/__snapshots__/pod.test.ts.snap b/test/__snapshots__/pod.test.ts.snap
index 3a349576..5b1f7962 100644
--- a/test/__snapshots__/pod.test.ts.snap
+++ b/test/__snapshots__/pod.test.ts.snap
@@ -42,6 +42,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -140,6 +150,16 @@ Array [
               "containerPort": 6739,
             },
           ],
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -176,6 +196,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -238,6 +268,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -274,6 +314,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -336,6 +386,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -372,6 +432,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -480,6 +550,16 @@ Array [
               "containerPort": 6739,
             },
           ],
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -516,6 +596,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -578,6 +668,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -614,6 +714,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -676,6 +786,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -712,6 +832,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -802,6 +932,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -867,6 +1007,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -971,6 +1121,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -1064,6 +1224,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -1100,6 +1270,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -1212,6 +1392,16 @@ Array [
               "image": "pod",
               "imagePullPolicy": "Always",
               "name": "main",
+              "resources": Object {
+                "limits": Object {
+                  "cpu": "1500m",
+                  "memory": "2048Mi",
+                },
+                "requests": Object {
+                  "cpu": "1000m",
+                  "memory": "512Mi",
+                },
+              },
               "securityContext": Object {
                 "privileged": false,
                 "readOnlyRootFilesystem": false,
@@ -1250,6 +1440,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -1405,6 +1605,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -1436,6 +1646,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -1472,6 +1692,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -1569,6 +1799,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -1675,6 +1915,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -1711,6 +1961,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -1859,6 +2119,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -1957,6 +2227,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -2047,6 +2327,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -2112,6 +2402,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -2216,6 +2516,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -2319,6 +2629,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -2355,6 +2675,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -2467,6 +2797,16 @@ Array [
               "image": "pod",
               "imagePullPolicy": "Always",
               "name": "main",
+              "resources": Object {
+                "limits": Object {
+                  "cpu": "1500m",
+                  "memory": "2048Mi",
+                },
+                "requests": Object {
+                  "cpu": "1000m",
+                  "memory": "512Mi",
+                },
+              },
               "securityContext": Object {
                 "privileged": false,
                 "readOnlyRootFilesystem": false,
@@ -2505,6 +2845,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -2660,6 +3010,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -2691,6 +3051,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -2727,6 +3097,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -2824,6 +3204,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -2930,6 +3320,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -2966,6 +3366,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -3114,6 +3524,16 @@ Array [
           "image": "pod",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -3212,6 +3632,16 @@ Array [
           "image": "image",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -3248,6 +3678,16 @@ Array [
           "image": "image",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -3328,6 +3768,16 @@ Array [
           "image": "image",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -3416,6 +3866,16 @@ Array [
           "image": "image",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -3496,6 +3956,16 @@ Array [
           "image": "image",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -3571,6 +4041,16 @@ Array [
           "image": "scraper",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -3607,6 +4087,16 @@ Array [
           "image": "image",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -3701,6 +4191,16 @@ Array [
               "image": "scraper",
               "imagePullPolicy": "Always",
               "name": "main",
+              "resources": Object {
+                "limits": Object {
+                  "cpu": "1500m",
+                  "memory": "2048Mi",
+                },
+                "requests": Object {
+                  "cpu": "1000m",
+                  "memory": "512Mi",
+                },
+              },
               "securityContext": Object {
                 "privileged": false,
                 "readOnlyRootFilesystem": false,
@@ -3849,6 +4349,16 @@ Array [
           "image": "redis",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -3906,6 +4416,16 @@ Array [
           "image": "redis",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -3961,6 +4481,16 @@ Array [
           "image": "redis",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -3997,6 +4527,16 @@ Array [
           "image": "redis",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -4045,6 +4585,16 @@ Array [
           "image": "web",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -4081,6 +4631,16 @@ Array [
           "image": "redis",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -4126,6 +4686,16 @@ Array [
           "image": "web",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -4179,6 +4749,16 @@ Array [
           "image": "web",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -4230,6 +4810,16 @@ Array [
           "image": "web",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -4266,6 +4856,16 @@ Array [
           "image": "redis",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -4314,6 +4914,16 @@ Array [
           "image": "web",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -4350,6 +4960,16 @@ Array [
           "image": "redis",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -4395,6 +5015,16 @@ Array [
           "image": "web",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -4448,6 +5078,16 @@ Array [
           "image": "web",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -4506,6 +5146,16 @@ Array [
           "image": "web",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
@@ -4542,6 +5192,16 @@ Array [
           "image": "redis",
           "imagePullPolicy": "Always",
           "name": "main",
+          "resources": Object {
+            "limits": Object {
+              "cpu": "1500m",
+              "memory": "2048Mi",
+            },
+            "requests": Object {
+              "cpu": "1000m",
+              "memory": "512Mi",
+            },
+          },
           "securityContext": Object {
             "privileged": false,
             "readOnlyRootFilesystem": false,
diff --git a/test/__snapshots__/service.test.ts.snap b/test/__snapshots__/service.test.ts.snap
index c5dfc7ec..7e31e7f0 100644
--- a/test/__snapshots__/service.test.ts.snap
+++ b/test/__snapshots__/service.test.ts.snap
@@ -69,6 +69,16 @@ Array [
               "image": "image",
               "imagePullPolicy": "Always",
               "name": "main",
+              "resources": Object {
+                "limits": Object {
+                  "cpu": "1500m",
+                  "memory": "2048Mi",
+                },
+                "requests": Object {
+                  "cpu": "1000m",
+                  "memory": "512Mi",
+                },
+              },
               "securityContext": Object {
                 "privileged": false,
                 "readOnlyRootFilesystem": false,
diff --git a/test/container.test.ts b/test/container.test.ts
index be54cbd4..68d6d750 100644
--- a/test/container.test.ts
+++ b/test/container.test.ts
@@ -175,6 +175,16 @@ describe('Container', () => {
       ports: [{
         containerPort: 9000,
       }],
+      resources: {
+        limits: {
+          cpu: k8s.Quantity.fromString('1500m'),
+          memory: k8s.Quantity.fromString('2048Mi'),
+        },
+        requests: {
+          cpu: k8s.Quantity.fromString('1000m'),
+          memory: k8s.Quantity.fromString('512Mi'),
+        },
+      },
       command: ['command'],
       env: [{
         name: 'key',