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.

303 lines (302 loc) 15.2 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.DeploymentPatch = exports.DeploymentList = exports.Deployment = 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 v1beta1_1 = require("@pulumi/kubernetes/apps/v1beta1"); const v1beta1_2 = require("@pulumi/kubernetes/apps/v1beta1"); const v1beta1_3 = require("@pulumi/kubernetes/apps/v1beta1"); const v1beta1_4 = require("@pulumi/kubernetes/apps/v1beta1"); const v1beta1_5 = require("@pulumi/kubernetes/apps/v1beta1"); const v1beta1_6 = require("@pulumi/kubernetes/apps/v1beta1"); const v1beta1_7 = require("@pulumi/kubernetes/apps/v1beta1"); const v1beta1_8 = require("@pulumi/kubernetes/apps/v1beta1"); const v1beta1_9 = require("@pulumi/kubernetes/apps/v1beta1"); var ControllerRevision; (function (ControllerRevision) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta1.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-v1beta1-controllerrevision-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta1.ControllerRevision).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta1_1.ControllerRevision, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes ControllerRevision shouldn't use an unstable API (apps.v1beta1.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.v1beta1.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-v1beta1-controllerrevisionlist-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta1.ControllerRevisionList).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta1_2.ControllerRevisionList, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes ControllerRevisionList shouldn't use an unstable API (apps.v1beta1.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.v1beta1.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-v1beta1-controllerrevisionpatch-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta1.ControllerRevisionPatch).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta1_3.ControllerRevisionPatch, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes ControllerRevisionPatch shouldn't use an unstable API (apps.v1beta1.ControllerRevisionPatch)."); }), }, vendors: ["kubernetes"], services: ["apps"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(ControllerRevisionPatch || (ControllerRevisionPatch = {})); exports.ControllerRevisionPatch = ControllerRevisionPatch; var Deployment; (function (Deployment) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta1.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-v1beta1-deployment-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta1.Deployment).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta1_4.Deployment, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes Deployment shouldn't use an unstable API (apps.v1beta1.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.v1beta1.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-v1beta1-deploymentlist-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta1.DeploymentList).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta1_5.DeploymentList, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes DeploymentList shouldn't use an unstable API (apps.v1beta1.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.v1beta1.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-v1beta1-deploymentpatch-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta1.DeploymentPatch).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta1_6.DeploymentPatch, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes DeploymentPatch shouldn't use an unstable API (apps.v1beta1.DeploymentPatch)."); }), }, vendors: ["kubernetes"], services: ["apps"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(DeploymentPatch || (DeploymentPatch = {})); exports.DeploymentPatch = DeploymentPatch; var StatefulSet; (function (StatefulSet) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta1.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-v1beta1-statefulset-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta1.StatefulSet).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta1_7.StatefulSet, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes StatefulSet shouldn't use an unstable API (apps.v1beta1.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.v1beta1.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-v1beta1-statefulsetlist-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta1.StatefulSetList).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta1_8.StatefulSetList, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes StatefulSetList shouldn't use an unstable API (apps.v1beta1.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.v1beta1.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-v1beta1-statefulsetpatch-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (apps.v1beta1.StatefulSetPatch).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta1_9.StatefulSetPatch, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes StatefulSetPatch shouldn't use an unstable API (apps.v1beta1.StatefulSetPatch)."); }), }, vendors: ["kubernetes"], services: ["apps"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(StatefulSetPatch || (StatefulSetPatch = {})); exports.StatefulSetPatch = StatefulSetPatch;