policygenerator

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 25, 2023 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Overview

Copyright Contributors to the Open Cluster Management project

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ConfigurationPolicyOptions

type ConfigurationPolicyOptions struct {
	RemediationAction      string             `json:"remediationAction,omitempty" yaml:"remediationAction,omitempty"`
	Severity               string             `json:"severity,omitempty" yaml:"severity,omitempty"`
	ComplianceType         string             `json:"complianceType,omitempty" yaml:"complianceType,omitempty"`
	MetadataComplianceType string             `json:"metadataComplianceType,omitempty" yaml:"metadataComplianceType,omitempty"`
	EvaluationInterval     EvaluationInterval `json:"evaluationInterval,omitempty" yaml:"evaluationInterval,omitempty"`
	NamespaceSelector      NamespaceSelector  `json:"namespaceSelector,omitempty" yaml:"namespaceSelector,omitempty"`
	PruneObjectBehavior    string             `json:"pruneObjectBehavior,omitempty" yaml:"pruneObjectBehavior,omitempty"`
}

type EvaluationInterval

type EvaluationInterval struct {
	Compliant    string `json:"compliant,omitempty" yaml:"compliant,omitempty"`
	NonCompliant string `json:"noncompliant,omitempty" yaml:"noncompliant,omitempty"`
}

type Manifest

type Manifest struct {
	ConfigurationPolicyOptions `json:",inline" yaml:",inline"`
	Patches                    []map[string]interface{} `json:"patches,omitempty" yaml:"patches,omitempty"`
	Path                       string                   `json:"path,omitempty" yaml:"path,omitempty"`
	ExtraDependencies          []PolicyDependency       `json:"extraDependencies,omitempty" yaml:"extraDependencies,omitempty"`
	IgnorePending              bool                     `json:"ignorePending,omitempty" yaml:"ignorePending,omitempty"`
}

type NamespaceSelector

type NamespaceSelector struct {
	Exclude          []string                           `json:"exclude,omitempty" yaml:"exclude,omitempty"`
	Include          []string                           `json:"include,omitempty" yaml:"include,omitempty"`
	MatchLabels      *map[string]string                 `json:"matchLabels,omitempty" yaml:"matchLabels,omitempty"`
	MatchExpressions *[]metav1.LabelSelectorRequirement `json:"matchExpressions,omitempty" yaml:"matchExpressions,omitempty"`
}

func (NamespaceSelector) String

func (t NamespaceSelector) String() string

Define String() so that the LabelSelector is dereferenced in the logs

type PlacementConfig

type PlacementConfig struct {
	ClusterSelectors  map[string]string `json:"clusterSelectors,omitempty" yaml:"clusterSelectors,omitempty"`
	LabelSelector     map[string]string `json:"labelSelector,omitempty" yaml:"labelSelector,omitempty"`
	Name              string            `json:"name,omitempty" yaml:"name,omitempty"`
	PlacementPath     string            `json:"placementPath,omitempty" yaml:"placementPath,omitempty"`
	PlacementRulePath string            `json:"placementRulePath,omitempty" yaml:"placementRulePath,omitempty"`
	PlacementName     string            `json:"placementName,omitempty" yaml:"placementName,omitempty"`
	PlacementRuleName string            `json:"placementRuleName,omitempty" yaml:"placementRuleName,omitempty"`
}

type PolicyConfig

type PolicyConfig struct {
	PolicyOptions              `json:",inline" yaml:",inline"`
	ConfigurationPolicyOptions `json:",inline" yaml:",inline"`
	Name                       string `json:"name,omitempty" yaml:"name,omitempty"`
	// This a slice of structs to allow additional configuration related to a manifest such as
	// accepting patches.
	Manifests []Manifest `json:"manifests,omitempty" yaml:"manifests,omitempty"`
}

PolicyConfig represents a policy entry in the PolicyGenerator configuration.

type PolicyDefaults

type PolicyDefaults struct {
	PolicyOptions              `json:",inline" yaml:",inline"`
	ConfigurationPolicyOptions `json:",inline" yaml:",inline"`
	Namespace                  string `json:"namespace,omitempty" yaml:"namespace,omitempty"`
	OrderPolicies              bool   `json:"orderPolicies,omitempty" yaml:"orderPolicies,omitempty"`
}

type PolicyDependency

type PolicyDependency struct {
	APIVersion string `json:"apiVersion,omitempty" yaml:"apiVersion,omitempty"`
	Compliance string `json:"compliance,omitempty" yaml:"compliance,omitempty"`
	Kind       string `json:"kind,omitempty" yaml:"kind,omitempty"`
	Name       string `json:"name" yaml:"name"`
	Namespace  string `json:"namespace,omitempty" yaml:"namespace,omitempty"`
}

type PolicyGenerator

type PolicyGenerator struct {
	APIVersion string `json:"apiVersion,omitempty" yaml:"apiVersion,omitempty"`
	Kind       string `json:"kind,omitempty" yaml:"kind,omitempty"`
	Metadata   struct {
		Name string `json:"name,omitempty" yaml:"name,omitempty"`
	} `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	PlacementBindingDefaults struct {
		Name string `json:"name,omitempty" yaml:"name,omitempty"`
	} `json:"placementBindingDefaults,omitempty" yaml:"placementBindingDefaults,omitempty"`
	PolicyDefaults    PolicyDefaults    `json:"policyDefaults,omitempty" yaml:"policyDefaults,omitempty"`
	PolicySetDefaults PolicySetDefaults `json:"policySetDefaults,omitempty" yaml:"policySetDefaults,omitempty"`
	Policies          []PolicyConfig    `json:"policies" yaml:"policies"`
	PolicySets        []PolicySetConfig `json:"policySets,omitempty" yaml:"policySets,omitempty"`
	// contains filtered or unexported fields
}

type PolicyOptions

type PolicyOptions struct {
	Categories                     []string           `json:"categories,omitempty" yaml:"categories,omitempty"`
	Controls                       []string           `json:"controls,omitempty" yaml:"controls,omitempty"`
	Dependencies                   []PolicyDependency `json:"dependencies,omitempty" yaml:"dependencies,omitempty"`
	ExtraDependencies              []PolicyDependency `json:"extraDependencies,omitempty" yaml:"extraDependencies,omitempty"`
	Placement                      PlacementConfig    `json:"placement,omitempty" yaml:"placement,omitempty"`
	Standards                      []string           `json:"standards,omitempty" yaml:"standards,omitempty"`
	ConsolidateManifests           bool               `json:"consolidateManifests" yaml:"consolidateManifests"`
	OrderManifests                 bool               `json:"orderManifests" yaml:"orderManifests"`
	Disabled                       bool               `json:"disabled,omitempty" yaml:"disabled,omitempty"`
	IgnorePending                  bool               `json:"ignorePending,omitempty" yaml:"ignorePending,omitempty"`
	InformGatekeeperPolicies       bool               `json:"informGatekeeperPolicies" yaml:"informGatekeeperPolicies"`
	InformKyvernoPolicies          bool               `json:"informKyvernoPolicies" yaml:"informKyvernoPolicies"`
	GeneratePolicyPlacement        bool               `json:"generatePolicyPlacement,omitempty" yaml:"generatePolicyPlacement,omitempty"`
	GeneratePlacementWhenInSet     bool               `json:"generatePlacementWhenInSet,omitempty" yaml:"generatePlacementWhenInSet,omitempty"`
	PolicySets                     []string           `json:"policySets,omitempty" yaml:"policySets,omitempty"`
	PolicyAnnotations              map[string]string  `json:"policyAnnotations,omitempty" yaml:"policyAnnotations,omitempty"`
	ConfigurationPolicyAnnotations map[string]string  `json:"configurationPolicyAnnotations,omitempty" yaml:"configurationPolicyAnnotations,omitempty"`
}

type PolicySetConfig

type PolicySetConfig struct {
	Name             string   `json:"name,omitempty" yaml:"name,omitempty"`
	Description      string   `json:"description,omitempty" yaml:"description,omitempty"`
	Policies         []string `json:"policies,omitempty" yaml:"policies,omitempty"`
	PolicySetOptions `json:",inline" yaml:",inline"`
}

type PolicySetDefaults

type PolicySetDefaults struct {
	PolicySetOptions `json:",inline" yaml:",inline"`
}

type PolicySetOptions

type PolicySetOptions struct {
	Placement                  PlacementConfig `json:"placement,omitempty" yaml:"placement,omitempty"`
	GeneratePolicySetPlacement bool            `json:"generatePolicySetPlacement,omitempty" yaml:"generatePolicySetPlacement,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL