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.

396 lines (395 loc) 19.8 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.ServiceCIDRPatch = exports.ServiceCIDRList = exports.ServiceCIDR = exports.IngressPatch = exports.IngressList = exports.IngressClassPatch = exports.IngressClassList = exports.IngressClass = exports.Ingress = exports.IPAddressPatch = exports.IPAddressList = exports.IPAddress = void 0; const policy_1 = require("@pulumi/policy"); const compliance_policy_manager_1 = require("@pulumi/compliance-policy-manager"); const v1beta1_1 = require("@pulumi/kubernetes/networking/v1beta1"); const v1beta1_2 = require("@pulumi/kubernetes/networking/v1beta1"); const v1beta1_3 = require("@pulumi/kubernetes/networking/v1beta1"); const v1beta1_4 = require("@pulumi/kubernetes/networking/v1beta1"); const v1beta1_5 = require("@pulumi/kubernetes/networking/v1beta1"); const v1beta1_6 = require("@pulumi/kubernetes/networking/v1beta1"); const v1beta1_7 = require("@pulumi/kubernetes/networking/v1beta1"); const v1beta1_8 = require("@pulumi/kubernetes/networking/v1beta1"); const v1beta1_9 = require("@pulumi/kubernetes/networking/v1beta1"); const v1beta1_10 = require("@pulumi/kubernetes/networking/v1beta1"); const v1beta1_11 = require("@pulumi/kubernetes/networking/v1beta1"); const v1beta1_12 = require("@pulumi/kubernetes/networking/v1beta1"); var IPAddress; (function (IPAddress) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (networking.v1beta1.IPAddress). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ IPAddress.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-networking-v1beta1-ipaddress-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (networking.v1beta1.IPAddress).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta1_1.IPAddress, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes IPAddress shouldn't use an unstable API (networking.v1beta1.IPAddress)."); }), }, vendors: ["kubernetes"], services: ["networking"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(IPAddress || (IPAddress = {})); exports.IPAddress = IPAddress; var IPAddressList; (function (IPAddressList) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (networking.v1beta1.IPAddressList). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ IPAddressList.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-networking-v1beta1-ipaddresslist-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (networking.v1beta1.IPAddressList).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta1_2.IPAddressList, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes IPAddressList shouldn't use an unstable API (networking.v1beta1.IPAddressList)."); }), }, vendors: ["kubernetes"], services: ["networking"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(IPAddressList || (IPAddressList = {})); exports.IPAddressList = IPAddressList; var IPAddressPatch; (function (IPAddressPatch) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (networking.v1beta1.IPAddressPatch). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ IPAddressPatch.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-networking-v1beta1-ipaddresspatch-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (networking.v1beta1.IPAddressPatch).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta1_3.IPAddressPatch, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes IPAddressPatch shouldn't use an unstable API (networking.v1beta1.IPAddressPatch)."); }), }, vendors: ["kubernetes"], services: ["networking"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(IPAddressPatch || (IPAddressPatch = {})); exports.IPAddressPatch = IPAddressPatch; var Ingress; (function (Ingress) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (networking.v1beta1.Ingress). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ Ingress.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-networking-v1beta1-ingress-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (networking.v1beta1.Ingress).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta1_4.Ingress, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes Ingress shouldn't use an unstable API (networking.v1beta1.Ingress)."); }), }, vendors: ["kubernetes"], services: ["networking"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(Ingress || (Ingress = {})); exports.Ingress = Ingress; var IngressClass; (function (IngressClass) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (networking.v1beta1.IngressClass). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ IngressClass.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-networking-v1beta1-ingressclass-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (networking.v1beta1.IngressClass).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta1_5.IngressClass, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes IngressClass shouldn't use an unstable API (networking.v1beta1.IngressClass)."); }), }, vendors: ["kubernetes"], services: ["networking"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(IngressClass || (IngressClass = {})); exports.IngressClass = IngressClass; var IngressClassList; (function (IngressClassList) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (networking.v1beta1.IngressClassList). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ IngressClassList.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-networking-v1beta1-ingressclasslist-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (networking.v1beta1.IngressClassList).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta1_6.IngressClassList, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes IngressClassList shouldn't use an unstable API (networking.v1beta1.IngressClassList)."); }), }, vendors: ["kubernetes"], services: ["networking"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(IngressClassList || (IngressClassList = {})); exports.IngressClassList = IngressClassList; var IngressClassPatch; (function (IngressClassPatch) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (networking.v1beta1.IngressClassPatch). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ IngressClassPatch.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-networking-v1beta1-ingressclasspatch-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (networking.v1beta1.IngressClassPatch).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta1_7.IngressClassPatch, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes IngressClassPatch shouldn't use an unstable API (networking.v1beta1.IngressClassPatch)."); }), }, vendors: ["kubernetes"], services: ["networking"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(IngressClassPatch || (IngressClassPatch = {})); exports.IngressClassPatch = IngressClassPatch; var IngressList; (function (IngressList) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (networking.v1beta1.IngressList). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ IngressList.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-networking-v1beta1-ingresslist-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (networking.v1beta1.IngressList).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta1_8.IngressList, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes IngressList shouldn't use an unstable API (networking.v1beta1.IngressList)."); }), }, vendors: ["kubernetes"], services: ["networking"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(IngressList || (IngressList = {})); exports.IngressList = IngressList; var IngressPatch; (function (IngressPatch) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (networking.v1beta1.IngressPatch). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ IngressPatch.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-networking-v1beta1-ingresspatch-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (networking.v1beta1.IngressPatch).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta1_9.IngressPatch, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes IngressPatch shouldn't use an unstable API (networking.v1beta1.IngressPatch)."); }), }, vendors: ["kubernetes"], services: ["networking"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(IngressPatch || (IngressPatch = {})); exports.IngressPatch = IngressPatch; var ServiceCIDR; (function (ServiceCIDR) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (networking.v1beta1.ServiceCIDR). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ ServiceCIDR.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-networking-v1beta1-servicecidr-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (networking.v1beta1.ServiceCIDR).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta1_10.ServiceCIDR, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes ServiceCIDR shouldn't use an unstable API (networking.v1beta1.ServiceCIDR)."); }), }, vendors: ["kubernetes"], services: ["networking"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(ServiceCIDR || (ServiceCIDR = {})); exports.ServiceCIDR = ServiceCIDR; var ServiceCIDRList; (function (ServiceCIDRList) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (networking.v1beta1.ServiceCIDRList). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ ServiceCIDRList.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-networking-v1beta1-servicecidrlist-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (networking.v1beta1.ServiceCIDRList).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta1_11.ServiceCIDRList, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes ServiceCIDRList shouldn't use an unstable API (networking.v1beta1.ServiceCIDRList)."); }), }, vendors: ["kubernetes"], services: ["networking"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(ServiceCIDRList || (ServiceCIDRList = {})); exports.ServiceCIDRList = ServiceCIDRList; var ServiceCIDRPatch; (function (ServiceCIDRPatch) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (networking.v1beta1.ServiceCIDRPatch). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ ServiceCIDRPatch.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-networking-v1beta1-servicecidrpatch-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (networking.v1beta1.ServiceCIDRPatch).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta1_12.ServiceCIDRPatch, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes ServiceCIDRPatch shouldn't use an unstable API (networking.v1beta1.ServiceCIDRPatch)."); }), }, vendors: ["kubernetes"], services: ["networking"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(ServiceCIDRPatch || (ServiceCIDRPatch = {})); exports.ServiceCIDRPatch = ServiceCIDRPatch;