|
49 | 49 | },
|
50 | 50 | "containerSecurityContext": {
|
51 | 51 | "type": "object",
|
| 52 | + "description": "Container-level security context settings", |
52 | 53 | "properties": {
|
53 |
| - "runAsUser": { "type": "integer", "minimum": 0 }, |
54 |
| - "runAsNonRoot": { "type": "boolean" }, |
55 |
| - "allowPrivilegeEscalation": { "type": "boolean" } |
| 54 | + "runAsUser": { |
| 55 | + "type": "integer", |
| 56 | + "description": "User ID to run the container process" |
| 57 | + }, |
| 58 | + "runAsGroup": { |
| 59 | + "type": "integer", |
| 60 | + "description": "Group ID to run the container process" |
| 61 | + }, |
| 62 | + "seLinuxOptions": { |
| 63 | + "type": "object", |
| 64 | + "description": "Set container's Security Context seLinuxOptions" |
| 65 | + }, |
| 66 | + "runAsNonRoot": { |
| 67 | + "type": "boolean", |
| 68 | + "description": "Require the container to run as a non-root user" |
| 69 | + }, |
| 70 | + "allowPrivilegeEscalation": { |
| 71 | + "type": "boolean", |
| 72 | + "description": "Whether to allow privilege escalation for the container" |
| 73 | + }, |
| 74 | + "privileged": { |
| 75 | + "type": "boolean", |
| 76 | + "description": "Set container's privileged mode" |
| 77 | + }, |
| 78 | + "readOnlyRootFilesystem": { |
| 79 | + "type": "boolean", |
| 80 | + "description": "Mount container root filesystem as read-only" |
| 81 | + }, |
| 82 | + "capabilities": { |
| 83 | + "type": "object", |
| 84 | + "description": "Linux capabilities to drop or add for the container", |
| 85 | + "properties": { |
| 86 | + "drop": { |
| 87 | + "type": "array", |
| 88 | + "items": { "type": "string" }, |
| 89 | + "description": "List of Linux capabilities to drop (e.g., ALL)" |
| 90 | + }, |
| 91 | + "add": { |
| 92 | + "type": "array", |
| 93 | + "items": { "type": "string" }, |
| 94 | + "description": "List of Linux capabilities to add" |
| 95 | + } |
| 96 | + } |
| 97 | + }, |
| 98 | + "seccompProfile": { |
| 99 | + "type": "object", |
| 100 | + "description": "Seccomp profile configuration for the container", |
| 101 | + "properties": { |
| 102 | + "type": { |
| 103 | + "type": "string", |
| 104 | + "description": "Type of seccomp profile to use (e.g., RuntimeDefault, Localhost)" |
| 105 | + }, |
| 106 | + "localhostProfile": { |
| 107 | + "type": "string", |
| 108 | + "description": "Path to a localhost seccomp profile (if type is Localhost)" |
| 109 | + } |
| 110 | + } |
| 111 | + } |
56 | 112 | }
|
57 | 113 | },
|
58 | 114 | "podSecurityContext": {
|
59 | 115 | "type": "object",
|
| 116 | + "description": "Pod-level security context settings", |
60 | 117 | "properties": {
|
61 |
| - "fsGroup": { "type": "integer", "minimum": 0 } |
| 118 | + "fsGroup": { |
| 119 | + "type": "integer", |
| 120 | + "description": "Group ID for the volumes of the pod" |
| 121 | + } |
62 | 122 | }
|
63 | 123 | },
|
64 | 124 | "service": {
|
|
113 | 173 | "affinity": { "type": "object" },
|
114 | 174 | "persistence": {
|
115 | 175 | "type": "object",
|
| 176 | + "description": "Persistence configuration", |
116 | 177 | "properties": {
|
117 |
| - "enabled": { "type": "boolean" }, |
118 |
| - "storageClass": { "type": "string" }, |
119 |
| - "annotations": { "type": "object", "additionalProperties": { "type": "string" } }, |
120 |
| - "size": { "type": "string", "pattern": "^\\d+(Ei|Pi|Ti|Gi|Mi|Ki|E|P|T|G|M|K)?$" }, |
121 |
| - "accessModes": { "type": "array", "items": { "type": "string" } }, |
122 |
| - "existingClaim": { "type": "string" }, |
123 |
| - "mountPath": { "type": "string" } |
| 178 | + "enabled": { "type": "boolean", "description": "Enable persistence using Persistent Volume Claims" }, |
| 179 | + "storageClass": { "type": "string", "description": "Persistent Volume storage class" }, |
| 180 | + "annotations": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Persistent Volume Claim annotations" }, |
| 181 | + "size": { "type": "string", "description": "Persistent Volume size" }, |
| 182 | + "accessModes": { "type": "array", "items": { "type": "string" }, "description": "Persistent Volume access modes" }, |
| 183 | + "existingClaim": { "type": "string", "description": "The name of an existing PVC to use for persistence" }, |
| 184 | + "mountPath": { "type": "string", "description": "The path where to mount the data volume" } |
124 | 185 | }
|
125 | 186 | },
|
126 | 187 | "livenessProbe": {
|
|
169 | 230 | },
|
170 | 231 | "extraVolumes": { "type": "array", "items": { "type": "object" } },
|
171 | 232 | "extraVolumeMounts": { "type": "array", "items": { "type": "object" } },
|
172 |
| - "extraObjects": { "type": "array", "items": { "type": "object" } } |
| 233 | + "extraObjects": { "type": "array", "items": { "type": "object" } }, |
| 234 | + "podDisruptionBudget": { |
| 235 | + "type": "object", |
| 236 | + "description": "Pod Disruption Budget configuration", |
| 237 | + "properties": { |
| 238 | + "enabled": { |
| 239 | + "type": "boolean", |
| 240 | + "description": "Create a Pod Disruption Budget to ensure high availability during voluntary disruptions" |
| 241 | + } |
| 242 | + } |
| 243 | + }, |
| 244 | + "networkPolicy": { |
| 245 | + "type": "object", |
| 246 | + "description": "Network Policy configuration", |
| 247 | + "properties": { |
| 248 | + "enabled": { |
| 249 | + "type": "boolean", |
| 250 | + "description": "Enable network policies" |
| 251 | + } |
| 252 | + } |
| 253 | + } |
173 | 254 | }
|
174 | 255 | }
|
0 commit comments