Categorygithub.com/datreeio/admission-webhook-datree
repositorypackage
0.0.0-20230723090656-4c43a3e0d940
Repository: https://github.com/datreeio/admission-webhook-datree.git
Documentation: pkg.go.dev

# Packages

No description provided by the author

# README

Datree Admission Webhook

Overview

Datree offers cluster integration that allows you to validate your resources against your configured policy upon pushing them into a cluster, by using an admission webhook.

The webhook will catch create, apply and edit operations and initiate a policy check against the configs associated with each operation. If any misconfigurations are found, the webhook will reject the operation, and display a detailed output with instructions on how to resolve each misconfiguration.

👉🏻 For the full documentation click here.

Values

The following table lists the configurable parameters of the Datree chart and their default values.

Values

ParameterDescriptionDefault
namespaceThe name of the namespace all resources will be created in, if not specified in the release.
""
replicaCountThe number of Datree webhook-server replicas to deploy for the webhook.
2
customLabelsAdditional labels to add to all resources.
{}
customAnnotationsAdditional annotations to add to all resources.
{}
rbac.serviceAccountCreate service Account for the webhook
{
  "create": true,
  "name": "datree-webhook-server"
}
rbac.clusterRoleCreate service Role for the webhook
{
  "create": true,
  "name": "datree-webhook-server-cluster-role"
}
datree.tokenThe token used to link Datree to your dashboard. (string, required)
null
datree.existingSecretThe token may also be provided via secret, note if the existingSecret is provided the token field above is ignored.
{
  "key": "",
  "name": ""
}
datree.verboseDisplay 'How to Fix' link for failed rules in output. (boolean, optional)
null
datree.outputThe format output of the policy check results: yaml, json, xml, simple, JUnit. (string, optional)
null
datree.noRecordDon’t send policy checks metadata to the backend. (boolean, optional)
null
datree.enabledWarningsChoose which warnings to enable. (string array ,optional)
[
  "failedPolicyCheck",
  "skippedBySkipList",
  "passedPolicyCheck",
  "RBACBypassed"
]
datree.clusterNameThe name of the cluster link for cluster name in your dashboard (string ,optional)
null
datree.scanIntervalHoursHow often should the scan run in hours. (int, optional, default: 1 )
1
datree.configFromHelmIf false, the webhook will be configured from the dashboard, otherwise it will be configured from here. Affected configurations: policy, enforce, customSkipList.
false
datree.policyThe name of the policy to check, e.g: staging. (string, optional)
null
datree.enforceBlock resources that fail the policy check. (boolean ,optional)
null
datree.customSkipListExcluded resources from policy checks. ("namespace;kind;name" ,optional)
[
  "(.*);(.*);(^aws-node.*)",
  "(^openshift.*);(.*);(.*)"
]
datree.labelKubeSystemset admission.datree/validate=skip label on kube-system resources. (openshift/okd users should set it to false)
true
datree.logLevellog level for the webhook-server, -1 - debug, 0 - info, 1 - warning, 2 - error, 3 - fatal
0
image.repositoryImage repository for the webhook
"datree/admission-webhook"
image.tagThe image release tag to use for the webhook
null
image.pullPolicyImage pull policy for the webhook
"Always"
imageCredentialsFor private registry which contains all the required images
{
  "email": null,
  "enabled": false,
  "password": null,
  "registry": null,
  "username": null
}
securityContextSecurity context applied on the containers
{
  "allowPrivilegeEscalation": false,
  "capabilities": {
    "drop": [
      "ALL"
    ]
  },
  "readOnlyRootFilesystem": true,
  "runAsNonRoot": true,
  "runAsUser": 25000,
  "seccompProfile": {
    "type": "RuntimeDefault"
  }
}
resourcesThe resource request/limits for the webhook container image
{}
nodeSelectorUsed to select on which node a pod is scheduled to run
{}
affinity
{}
tolerations
[]
clusterScanner.resourcesThe resource request/limits for the scanner container image
{}
clusterScanner.annotations
{}
clusterScanner.rbac.serviceAccountCreate service Account for the scanner
{
  "create": true,
  "name": "cluster-scanner-service-account"
}
clusterScanner.rbac.clusterRoleCreate service Role for the scanner
{
  "create": true,
  "name": "cluster-scanner-role"
}
clusterScanner.rbac.clusterRoleBindingCreate service RoleBinding for the scanner
{
  "name": "cluster-scanner-role-binding"
}
clusterScanner.image.repositoryImage repository for the scanner
"datree/cluster-scanner"
clusterScanner.image.pullPolicyImage pull policy for the scanner
"Always"
clusterScanner.image.tagThe image release tag to use for the scanner
null
clusterScanner.image.resources
{}
clusterScanner.livenessProbe.enabled
true
clusterScanner.livenessProbe.scheme
null
clusterScanner.livenessProbe.initialDelaySeconds
null
clusterScanner.livenessProbe.periodSeconds
null
clusterScanner.readinessProbe.enabled
true
clusterScanner.readinessProbe.scheme
null
clusterScanner.readinessProbe.initialDelaySeconds
null
clusterScanner.readinessProbe.periodSeconds
null
hooks.timeoutTimeThe timeout time the hook will wait for the webhook-server is ready.
null
hooks.ttlSecondsAfterFinished
null
hooks.image.repository
"clastix/kubectl"
hooks.image.tag
"v1.25"
hooks.image.pullPolicy
"IfNotPresent"
validatingWebhookConfiguration.failurePolicy
"Ignore"
livenessProbe.enabled
true
livenessProbe.scheme
null
livenessProbe.initialDelaySeconds
null
livenessProbe.periodSeconds
null
readinessProbe.enabled
true
readinessProbe.scheme
null
readinessProbe.initialDelaySeconds
null
readinessProbe.periodSeconds
null
devMode.enabled
false