A Terraform Module to create a Deployment and other resources necessary for deploying the Lacework Admission Controller and Proxy Scanner in a Kubernetes cluster.
| Name | Version |
|---|---|
| terraform | >= 0.12.31 |
| kubernetes | >= 2.0.0 |
| lacework | ~> 2.0 |
| Name | Version |
|---|---|
| kubernetes | >= 2.0.0 |
| lacework | ~> 2.0 |
| tls | n/a |
No modules.
| Name | Description | Type | Default | Required |
|---|---|---|---|---|
| admission_controller_image | The image to use for deploying the Lacework admission controller. | string |
"lacework/lacework-admission-controller" |
no |
| admission_controller_image_tag | The image tag to use for deploying the Lacework admission controller. | string |
"latest" |
no |
| admission_controller_name | The name for the Lacework admission controller deployment. | string |
"lacework-admission-controller" |
no |
| admission_scanner_timeout | Default timeout for communication between admission controller and proxy scanner. | number |
30 |
no |
| block_exec | Block command execution (kubectl exec) on pods by admission controller. | bool |
false |
no |
| block_on_error | Block admission request if proxy scanner returns and error. | bool |
false |
no |
| bypass_scope | The list of namespaces to bypass control of by admission controller. Ex: kube-system,kube-public,lacework,mynamespace | string |
"kube-system,kube-public,lacework,lacework-dev" |
no |
| ca_cert | Root certificate for TLS authentication with the K8s api server. If use_self_signed_certs is false, this is required. Otherwise a self-signed cert will be created. | string |
"" |
no |
| cert_file_path | Path for server certificate file in admission controller volume. | string |
"/certs/admission.crt" |
no |
| cert_key_path | Path for server key file in admission controller volume. | string |
"/certs/admission.key" |
no |
| certs_secret_name | The name of the K8s secret containing the certificates. | string |
"lacework-admission-certs" |
no |
| default_registry | Default registry for proxy scanner to use when none is provided in image name. | string |
"index.docker.io" |
no |
| deploy_combined | Deploy both the admission controller and proxy scanner together if true. If false, only deploy the admission controller. | bool |
true |
no |
| enable_debug_logging | Enable debug logging on the admission controller. | bool |
true |
no |
| excluded_resources | The list of resources skip admission review. Ex: ['Pod', 'Deployment', 'ReplicaSet', 'DaemonSet'] | list(string) |
[] |
no |
| failure_policy | Webhook falure policy (what response the webhook should take if it fails) Ex: Ignore, Fail | string |
"Ignore" |
no |
| image_pull_policy | The pull policy to use when deploying container images. Ex: Always, Never, IfNotPresent | string |
"Always" |
no |
| lacework_account_name | The name of your Lacework account (for the proxy scanner). | string |
n/a | yes |
| namespace | The Kubernetes namespace in which to deploy the admission controller and (optionally) the proxy scanner. | string |
"lacework" |
no |
| proxy_scanner_image | The image to use for deploying the Lacework proxy scanner. | string |
"lacework/lacework-proxy-scanner" |
no |
| proxy_scanner_image_tag | The image tag to use for deploying the Lacework proxy scanner. | string |
"latest" |
no |
| proxy_scanner_log_level | Set the LOG_LEVEL environment variable for proxy scanner. Ex: info, debug | string |
"info" |
no |
| proxy_scanner_name | The name for the Lacework proxy scanner deployment. | string |
"lacework-proxy-scanner" |
no |
| proxy_scanner_token | The token for the Lacework proxy scanner. | string |
n/a | yes |
| registries | A list of registries to apply to proxy scanner. See proxy scanner configuration documentation for details. | list(any) |
n/a | yes |
| revision_history_limit | The number of history revisions to keep. | number |
10 |
no |
| scan_public_registries | Set to true if you want to scan images from registries that are publicly accessible. | bool |
false |
no |
| server_certificate | Certificate for TLS authentication with the K8s api server. If use_self_signed_certs is false, this is required. Otherwise a self-signed cert will be created. | string |
"" |
no |
| server_key | Certificate key for TLS authentication with the K8s api server. If use_self_signed_certs is false, this is required. Otherwise a self-signed cert will be created. | string |
"" |
no |
| service_account_name | The Kubernetes ServiceAccount to use for pods. | string |
"lacework-admission-sa" |
no |
| skip_cert | Skip encrypted communication between admission controller and proxy scanner using certificate. Default is to skip. If set to false, certificate used will be based on use_self_signed_certs setting. | bool |
true |
no |
| skip_verify | Skip SSL verification between the webhook and the proxy scanner. | bool |
true |
no |
| static_cache_location | Location of the proxy scanner's cache file. | string |
"/opt/lacework/cache" |
no |
| tls_port | Listening port for admission controller. | number |
8443 |
no |
| tolerations | A list of Kubernetes Tolerations to apply to the Deployment definition. | list(map(string)) |
[ |
no |
| use_self_signed_certs | Deploy admission controller with self-signed certificates if true. If false, you must define certs in the ca_cert, server_certificate, and server_key variables. | bool |
true |
no |
| webhook_timeout | Timeout in seconds for admission webhook failure. | number |
30 |
no |
No outputs.
