UNPKG

@pulumi/kubernetes-compliance-policies

Version:

This repository contains a growing set of Compliance Policies to validate your infrastructure using Pulumi's Crossguard Policy-as-Code framework.

489 lines (488 loc) 24.4 kB
"use strict"; // Copyright 2016-2024, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // // ------------------------------- WARNING ------------------------------------- // This file was programmatically generated. Do not edit unless you know what // you're doing. // ------------------------------- WARNING ------------------------------------- Object.defineProperty(exports, "__esModule", { value: true }); exports.StatefulSetPatch = exports.StatefulSetList = exports.StatefulSet = exports.ReplicaSetPatch = exports.ReplicaSetList = exports.ReplicaSet = exports.DeploymentPatch = exports.DeploymentList = exports.Deployment = exports.DaemonSetPatch = exports.DaemonSetList = exports.DaemonSet = exports.ControllerRevisionPatch = exports.ControllerRevisionList = exports.ControllerRevision = void 0; const policy_1 = require("@pulumi/policy"); const compliance_policy_manager_1 = require("@pulumi/compliance-policy-manager"); const v1beta2_1 = require("@pulumi/kubernetes/apps/v1beta2"); const v1beta2_2 = require("@pulumi/kubernetes/apps/v1beta2"); const v1beta2_3 = require("@pulumi/kubernetes/apps/v1beta2"); const v1beta2_4 = require("@pulumi/kubernetes/apps/v1beta2"); const v1beta2_5 = require("@pulumi/kubernetes/apps/v1beta2"); const v1beta2_6 = require("@pulumi/kubernetes/apps/v1beta2"); const v1beta2_7 = require("@pulumi/kubernetes/apps/v1beta2"); const v1beta2_8 = require("@pulumi/kubernetes/apps/v1beta2"); const v1beta2_9 = require("@pulumi/kubernetes/apps/v1beta2"); const v1beta2_10 = require("@pulumi/kubernetes/apps/v1beta2"); const v1beta2_11 = require("@pulumi/kubernetes/apps/v1beta2"); const v1beta2_12 = require("@pulumi/kubernetes/apps/v1beta2"); const v1beta2_13 = require("@pulumi/kubernetes/apps/v1beta2"); const v1beta2_14 = require("@pulumi/kubernetes/apps/v1beta2"); const v1beta2_15 = require("@pulumi/kubernetes/apps/v1beta2"); var ControllerRevision; (function (ControllerRevision) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta2.ControllerRevision). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ ControllerRevision.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-apps-v1beta2-controllerrevision-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta2.ControllerRevision).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta2_1.ControllerRevision, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes ControllerRevision shouldn't use an unstable API (apps.v1beta2.ControllerRevision)."); }), }, vendors: ["kubernetes"], services: ["apps"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(ControllerRevision || (ControllerRevision = {})); exports.ControllerRevision = ControllerRevision; var ControllerRevisionList; (function (ControllerRevisionList) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta2.ControllerRevisionList). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ ControllerRevisionList.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-apps-v1beta2-controllerrevisionlist-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta2.ControllerRevisionList).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta2_2.ControllerRevisionList, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes ControllerRevisionList shouldn't use an unstable API (apps.v1beta2.ControllerRevisionList)."); }), }, vendors: ["kubernetes"], services: ["apps"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(ControllerRevisionList || (ControllerRevisionList = {})); exports.ControllerRevisionList = ControllerRevisionList; var ControllerRevisionPatch; (function (ControllerRevisionPatch) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta2.ControllerRevisionPatch). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ ControllerRevisionPatch.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-apps-v1beta2-controllerrevisionpatch-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta2.ControllerRevisionPatch).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta2_3.ControllerRevisionPatch, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes ControllerRevisionPatch shouldn't use an unstable API (apps.v1beta2.ControllerRevisionPatch)."); }), }, vendors: ["kubernetes"], services: ["apps"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(ControllerRevisionPatch || (ControllerRevisionPatch = {})); exports.ControllerRevisionPatch = ControllerRevisionPatch; var DaemonSet; (function (DaemonSet) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta2.DaemonSet). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ DaemonSet.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-apps-v1beta2-daemonset-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta2.DaemonSet).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta2_4.DaemonSet, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes DaemonSet shouldn't use an unstable API (apps.v1beta2.DaemonSet)."); }), }, vendors: ["kubernetes"], services: ["apps"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(DaemonSet || (DaemonSet = {})); exports.DaemonSet = DaemonSet; var DaemonSetList; (function (DaemonSetList) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta2.DaemonSetList). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ DaemonSetList.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-apps-v1beta2-daemonsetlist-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta2.DaemonSetList).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta2_5.DaemonSetList, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes DaemonSetList shouldn't use an unstable API (apps.v1beta2.DaemonSetList)."); }), }, vendors: ["kubernetes"], services: ["apps"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(DaemonSetList || (DaemonSetList = {})); exports.DaemonSetList = DaemonSetList; var DaemonSetPatch; (function (DaemonSetPatch) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta2.DaemonSetPatch). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ DaemonSetPatch.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-apps-v1beta2-daemonsetpatch-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta2.DaemonSetPatch).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta2_6.DaemonSetPatch, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes DaemonSetPatch shouldn't use an unstable API (apps.v1beta2.DaemonSetPatch)."); }), }, vendors: ["kubernetes"], services: ["apps"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(DaemonSetPatch || (DaemonSetPatch = {})); exports.DaemonSetPatch = DaemonSetPatch; var Deployment; (function (Deployment) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta2.Deployment). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ Deployment.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-apps-v1beta2-deployment-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta2.Deployment).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta2_7.Deployment, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes Deployment shouldn't use an unstable API (apps.v1beta2.Deployment)."); }), }, vendors: ["kubernetes"], services: ["apps"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(Deployment || (Deployment = {})); exports.Deployment = Deployment; var DeploymentList; (function (DeploymentList) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta2.DeploymentList). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ DeploymentList.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-apps-v1beta2-deploymentlist-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta2.DeploymentList).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta2_8.DeploymentList, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes DeploymentList shouldn't use an unstable API (apps.v1beta2.DeploymentList)."); }), }, vendors: ["kubernetes"], services: ["apps"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(DeploymentList || (DeploymentList = {})); exports.DeploymentList = DeploymentList; var DeploymentPatch; (function (DeploymentPatch) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta2.DeploymentPatch). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ DeploymentPatch.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-apps-v1beta2-deploymentpatch-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta2.DeploymentPatch).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta2_9.DeploymentPatch, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes DeploymentPatch shouldn't use an unstable API (apps.v1beta2.DeploymentPatch)."); }), }, vendors: ["kubernetes"], services: ["apps"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(DeploymentPatch || (DeploymentPatch = {})); exports.DeploymentPatch = DeploymentPatch; var ReplicaSet; (function (ReplicaSet) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta2.ReplicaSet). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ ReplicaSet.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-apps-v1beta2-replicaset-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta2.ReplicaSet).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta2_10.ReplicaSet, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes ReplicaSet shouldn't use an unstable API (apps.v1beta2.ReplicaSet)."); }), }, vendors: ["kubernetes"], services: ["apps"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(ReplicaSet || (ReplicaSet = {})); exports.ReplicaSet = ReplicaSet; var ReplicaSetList; (function (ReplicaSetList) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta2.ReplicaSetList). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ ReplicaSetList.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-apps-v1beta2-replicasetlist-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta2.ReplicaSetList).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta2_11.ReplicaSetList, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes ReplicaSetList shouldn't use an unstable API (apps.v1beta2.ReplicaSetList)."); }), }, vendors: ["kubernetes"], services: ["apps"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(ReplicaSetList || (ReplicaSetList = {})); exports.ReplicaSetList = ReplicaSetList; var ReplicaSetPatch; (function (ReplicaSetPatch) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta2.ReplicaSetPatch). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ ReplicaSetPatch.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-apps-v1beta2-replicasetpatch-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta2.ReplicaSetPatch).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta2_12.ReplicaSetPatch, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes ReplicaSetPatch shouldn't use an unstable API (apps.v1beta2.ReplicaSetPatch)."); }), }, vendors: ["kubernetes"], services: ["apps"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(ReplicaSetPatch || (ReplicaSetPatch = {})); exports.ReplicaSetPatch = ReplicaSetPatch; var StatefulSet; (function (StatefulSet) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta2.StatefulSet). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ StatefulSet.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-apps-v1beta2-statefulset-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta2.StatefulSet).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta2_13.StatefulSet, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes StatefulSet shouldn't use an unstable API (apps.v1beta2.StatefulSet)."); }), }, vendors: ["kubernetes"], services: ["apps"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(StatefulSet || (StatefulSet = {})); exports.StatefulSet = StatefulSet; var StatefulSetList; (function (StatefulSetList) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta2.StatefulSetList). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ StatefulSetList.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-apps-v1beta2-statefulsetlist-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta2.StatefulSetList).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta2_14.StatefulSetList, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes StatefulSetList shouldn't use an unstable API (apps.v1beta2.StatefulSetList)."); }), }, vendors: ["kubernetes"], services: ["apps"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(StatefulSetList || (StatefulSetList = {})); exports.StatefulSetList = StatefulSetList; var StatefulSetPatch; (function (StatefulSetPatch) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta2.StatefulSetPatch). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ StatefulSetPatch.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-apps-v1beta2-statefulsetpatch-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta2.StatefulSetPatch).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta2_15.StatefulSetPatch, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes StatefulSetPatch shouldn't use an unstable API (apps.v1beta2.StatefulSetPatch)."); }), }, vendors: ["kubernetes"], services: ["apps"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(StatefulSetPatch || (StatefulSetPatch = {})); exports.StatefulSetPatch = StatefulSetPatch;