v2alpha2

package
v0.20.0 Latest Latest
Warning

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

Go to latest
Published: Dec 10, 2024 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package v2alpha2 contains API Schema definitions for the config v2alpha2 API group +kubebuilder:object:generate=true +kubebuilder:skip +groupName=config.bankdata.dk

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "config.bankdata.dk", Version: "v2alpha2"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type DecisionLog added in v0.15.0

type DecisionLog struct {
	RequestContext RequestContext `json:"request_context"`
}

DecisionLog contains configuration for the decision logs

func (*DecisionLog) DeepCopy added in v0.15.0

func (in *DecisionLog) DeepCopy() *DecisionLog

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DecisionLog.

func (*DecisionLog) DeepCopyInto added in v0.15.0

func (in *DecisionLog) DeepCopyInto(out *DecisionLog)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DecisionsExporterConfig added in v0.16.0

type DecisionsExporterConfig struct {
	Interval string       `json:"interval"`
	Kafka    *KafkaConfig `json:"kafka,omitempty"`
}

DecisionsExporterConfig contains configuration for decisions export

func (*DecisionsExporterConfig) DeepCopy added in v0.16.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DecisionsExporterConfig.

func (*DecisionsExporterConfig) DeepCopyInto added in v0.16.0

func (in *DecisionsExporterConfig) DeepCopyInto(out *DecisionsExporterConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GitCredential

type GitCredential struct {
	// User is a http basic auth username used for git.
	User string `json:"user"`

	// Password is a http basic auth password used for git.
	Password string `json:"password"`

	// RepoPrefix specifies a repo URL prefix. eg. if RepoPrefix is set to
	// `https://github.com/bankdata`, then this credentials would apply for any
	// repository under the bankdata github org.
	RepoPrefix string `json:"repoPrefix"`
}

GitCredential represents a set of credentials to be used for repositories that match the RepoPrefix.

func (*GitCredential) DeepCopy

func (in *GitCredential) DeepCopy() *GitCredential

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitCredential.

func (*GitCredential) DeepCopyInto

func (in *GitCredential) DeepCopyInto(out *GitCredential)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HTTP added in v0.15.1

type HTTP struct {
	// http headers that will be added to the decision logs
	Headers []string `json:"headers"`
}

HTTP contains configuration for the HTTP config in the RequestContext

func (*HTTP) DeepCopy added in v0.15.1

func (in *HTTP) DeepCopy() *HTTP

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTP.

func (*HTTP) DeepCopyInto added in v0.15.1

func (in *HTTP) DeepCopyInto(out *HTTP)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KafkaConfig added in v0.16.0

type KafkaConfig struct {
	Brokers      []string   `json:"brokers"`
	Topic        string     `json:"topic"`
	RequiredAcks string     `json:"requiredAcks"`
	TLS          *TLSConfig `json:"tls,omitempty"`
}

KafkaConfig contains configuration for exporting decisions to Kafka

func (*KafkaConfig) DeepCopy added in v0.16.0

func (in *KafkaConfig) DeepCopy() *KafkaConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KafkaConfig.

func (*KafkaConfig) DeepCopyInto added in v0.16.0

func (in *KafkaConfig) DeepCopyInto(out *KafkaConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LeaderElectionConfig

type LeaderElectionConfig struct {
	LeaseDuration metav1.Duration `json:"leaseDuration"`
	RenewDeadline metav1.Duration `json:"renewDeadline"`
	RetryPeriod   metav1.Duration `json:"retryPeriod"`
}

LeaderElectionConfig contains configuration for leader election

func (*LeaderElectionConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LeaderElectionConfig.

func (*LeaderElectionConfig) DeepCopyInto

func (in *LeaderElectionConfig) DeepCopyInto(out *LeaderElectionConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NotificationWebhooksConfig added in v0.11.0

type NotificationWebhooksConfig struct {
	// Address is the URL to be called when the controller should do a webhook
	// notification. Currently the only supported notification is that a
	// datasource configuration has changed.
	SystemDatasourceChanged  string `json:"systemDatasourceChanged,omitempty"`
	LibraryDatasourceChanged string `json:"libraryDatasourceChanged,omitempty"`
}

NotificationWebhooksConfig contains configuration for how to call the notification webhook.

func (*NotificationWebhooksConfig) DeepCopy added in v0.11.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotificationWebhooksConfig.

func (*NotificationWebhooksConfig) DeepCopyInto added in v0.11.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OPAConfig added in v0.15.0

type OPAConfig struct {
	DecisionLogs DecisionLog `json:"decision_logs"`
}

OPAConfig contains default configuration for the opa config generated by the styra-controller

func (*OPAConfig) DeepCopy added in v0.15.0

func (in *OPAConfig) DeepCopy() *OPAConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OPAConfig.

func (*OPAConfig) DeepCopyInto added in v0.15.0

func (in *OPAConfig) DeepCopyInto(out *OPAConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProjectConfig

type ProjectConfig struct {
	metav1.TypeMeta `json:",inline"`

	// ControllerClass sets a controller class for this controller. This allows
	// the provided CRDs to target a specific controller. This is useful when
	// running multiple controllers in the same cluster.
	ControllerClass string `json:"controllerClass"`

	// DeletionProtectionDefault sets the default to use with regards to deletion
	// protection if it is not set on the resource.
	DeletionProtectionDefault bool `json:"deletionProtectionDefault"`

	// ReadOnly sets the value of ReadOnly for systems
	ReadOnly bool `json:"readOnly"`

	// EnableDeltaBundlesDefault sets the default of whether systems have delta-bundles or not
	EnableDeltaBundlesDefault *bool `json:"enableDeltaBundlesDefault,omitempty"`

	// DisableCRDWebhooks disables the CRD webhooks on the controller. If running
	// multiple controllers in the same cluster, only one will need to have it's
	// webhooks enabled.
	DisableCRDWebhooks bool `json:"disableCRDWebhooks"`

	// EnableMigrations enables the system migration annotation. This should be
	// kept disabled unless migrations need to be done.
	EnableMigrations bool `json:"enableMigrations"`

	// GitCredentials holds a list of git credential configurations. The
	// RepoPrefix of the GitCredential will be matched angainst repository URL in
	// order to determine which credential to use. The GitCredential with the
	// longest matching RepoPrefix will be selected.
	GitCredentials []*GitCredential `json:"gitCredentials"`

	// LogLevel sets the logging level of the controller. A higher number gives
	// more verbosity. A number higher than 0 should only be used for debugging
	// purposes.
	LogLevel int `json:"logLevel"`

	LeaderElection *LeaderElectionConfig `json:"leaderElection"`

	NotificationWebhooks *NotificationWebhooksConfig `json:"notificationWebhooks,omitempty"`

	Sentry *SentryConfig `json:"sentry"`

	SSO *SSOConfig `json:"sso"`

	Styra StyraConfig `json:"styra"`

	OPA OPAConfig `json:"opa,omitempty"`

	// SystemPrefix is a prefix for all the systems that the controller creates
	// in Styra DAS. This is useful in order to be able to identify what
	// controller created a system in a shared Styra DAS instance.
	SystemPrefix string `json:"systemPrefix"`

	// SystemSuffix is a suffix for all the systems that the controller creates
	// in Styra DAS. This is useful in order to be able to identify what
	// controller created a system in a shared Styra DAS instance.
	SystemSuffix string `json:"systemSuffix"`

	// SystemUserRoles is a list of Styra DAS system level roles which the subjects of
	// a system will be granted.
	SystemUserRoles []string `json:"systemUserRoles"`

	DecisionsExporter *DecisionsExporterConfig `json:"decisionsExporter,omitempty"`
}

ProjectConfig is the Schema for the projectconfigs API

func (*ProjectConfig) DeepCopy

func (in *ProjectConfig) DeepCopy() *ProjectConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectConfig.

func (*ProjectConfig) DeepCopyInto

func (in *ProjectConfig) DeepCopyInto(out *ProjectConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ProjectConfig) DeepCopyObject

func (in *ProjectConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ProjectConfig) GetGitCredentialForRepo

func (c *ProjectConfig) GetGitCredentialForRepo(repo string) *GitCredential

GetGitCredentialForRepo determines which default GitCredential to use for checking out the policy repository based on the URL to the policy repository.

type RequestContext added in v0.15.1

type RequestContext struct {
	HTTP HTTP `json:"http"`
}

RequestContext contains configuration for the RequestContext in the decision logs

func (*RequestContext) DeepCopy added in v0.15.1

func (in *RequestContext) DeepCopy() *RequestContext

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequestContext.

func (*RequestContext) DeepCopyInto added in v0.15.1

func (in *RequestContext) DeepCopyInto(out *RequestContext)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SSOConfig

type SSOConfig struct {
	// IdentityProvider is the ID of a configured Styra DAS identity provider.
	IdentityProvider string `json:"identityProvider"`

	// JWTGroupsClaim is the json path to a claim in issued JWTs which contain a
	// list of groups that the user belongs to.
	JWTGroupsClaim string `json:"jwtGroupsClaim"`
}

SSOConfig contains configuration for how to use SSO tokens for determining what groups a user belongs to. This can be used to grant members of a certain group access to systems.

func (*SSOConfig) DeepCopy

func (in *SSOConfig) DeepCopy() *SSOConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSOConfig.

func (*SSOConfig) DeepCopyInto

func (in *SSOConfig) DeepCopyInto(out *SSOConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SentryConfig

type SentryConfig struct {
	// Debug enables Sentry client debugging.
	Debug bool `json:"debug"`

	// DSN is the Sentry project DSN.
	DSN string `json:"dsn"`

	// Environment sets the environment of the events sent to Sentry.
	Environment string `json:"environment"`

	// HTTPSProxy sets an HTTP proxy server for sentry to use.
	HTTPSProxy string `json:"httpsProxy"`
}

SentryConfig contains configuration for how errors should be reported to sentry.

func (*SentryConfig) DeepCopy

func (in *SentryConfig) DeepCopy() *SentryConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SentryConfig.

func (*SentryConfig) DeepCopyInto

func (in *SentryConfig) DeepCopyInto(out *SentryConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StyraConfig

type StyraConfig struct {
	// Address is the URL for the Styra DAS API server.
	Address string `json:"address"`

	// Token is a Styra DAS API token. These can be created in the Styra DAS GUI
	// or through the API. The token should have the `WorkspaceAdministrator` role.
	Token string `json:"token"`

	// Alternative to the "token" whice define the Styra DAS API token directly in the config file,
	// this "tokenSecretPath" will use a token from a secret (only if "token" is not set)
	TokenSecretPath string `json:"tokenSecretPath"`
}

StyraConfig contains configuration for connecting to the Styra DAS apis

func (*StyraConfig) DeepCopy

func (in *StyraConfig) DeepCopy() *StyraConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StyraConfig.

func (*StyraConfig) DeepCopyInto

func (in *StyraConfig) DeepCopyInto(out *StyraConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TLSConfig added in v0.16.0

type TLSConfig struct {
	ClientCertificateName string `json:"clientCertificateName"`
	ClientCertificate     string `json:"clientCertificate"`
	ClientKey             string `json:"clientKey"`
	RootCA                string `json:"rootCA"`
	InsecureSkipVerify    bool   `json:"insecureSkipVerify"`
}

TLSConfig contains TLS configuration for Kafka decisions export.

func (*TLSConfig) DeepCopy added in v0.16.0

func (in *TLSConfig) DeepCopy() *TLSConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSConfig.

func (*TLSConfig) DeepCopyInto added in v0.16.0

func (in *TLSConfig) DeepCopyInto(out *TLSConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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