Skip to content

Kubernetes

This Terraform module can be used to automate the deployment of the CrowdStrike Falcon Sensor, Falcon Admission Controller (KAC) and Falcon Image Analyzer (IAR) on Kubernetes clusters.

View on GitHub

Learn more about each module:

ModuleDescription
operatorManages sensor deployment
operator-openshiftManages sensor deployment on OpenShift clusters
  1. You will need to provide CrowdStrike API Keys and CrowdStrike cloud region for the installation. It is recommended to establish new API credentials for the installation at https://falcon.crowdstrike.com/support/api-clients-and-keys, minimal required permissions are:

    Scope NamePermission
    Falcon Images DownloadRead
    Sensor DownloadRead
    Falcon Container CLIWrite
    Falcon Container ImageRead and Write

No providers.

No resources.

NameDescriptionTypeDefaultRequired
admission_controller_manifest_pathPath to custom admission controller manifest file. Use ‘default’ to use the built-in manifest.string"default"no
cidCustomer ID (CID) of the Falcon platform. Required when using us-gov-2 cloud region.string""no
cleanupWhether to cleanup resources on destroy.booltrueno
client_idFalcon API Client Idstringn/ayes
client_secretFalcon API Client Secretstringn/ayes
cloudFalcon Cloud Regionstring"us-1"no
container_sensor_manifest_pathPath to custom container sensor manifest file. Use ‘default’ to use the built-in manifest.string"default"no
environmentEnvironment or ‘Alias’ tagstring"tf_module"no
falcon_admissionWhether to deploy the FalconAdmission Custom Resource (CR) to the cluster.booltrueno
iarWhether to deploy the Falcon Image Analyzer Custom Resource (CR) to the cluster.booltrueno
iar_manifest_pathPath to custom image analyzer manifest file. Use ‘default’ to use the built-in manifest.string"default"no
node_manifest_pathPath to custom node sensor manifest file. Use ‘default’ to use the built-in manifest.string"default"no
node_sensor_modeFalcon Node Sensor mode: ‘kernel’ or ‘bpf’.string"bpf"no
operator_versionFalcon Operator version to deploy. Can be a branch, tag, or commit hash of the falcon-operator repo.string"v1.4.0"no
platformSpecify whether your cluster is managed by kubernetes or openshift.string"kubernetes"no
sensor_typeFalcon sensor type: FalconNodeSensor or FalconContainer.string"FalconNodeSensor"no

No outputs.

provider "aws" {
region = local.region
}
# Example of using secrets stored in AWS Secrets Manager
data "aws_eks_cluster_auth" "this" {
name = module.eks_blueprints.eks_cluster_id
}
data "aws_secretsmanager_secret_version" "current" {
secret_id = data.aws_secretsmanager_secret.falcon_secrets.id
version_stage = var.aws_secret_version_stage
}
locals {
cluster_name = "cluster-name"
region = var.region
secrets = jsondecode(data.aws_secretsmanager_secret_version.current.secret_string)
}
module "crowdstrike_falcon" {
source = "github.com/CrowdStrike/terraform-kubectl-falcon?ref=v0.1.0"
cid = local.secrets["cid"]
client_id = local.secrets["client_id"]
client_secret = local.secrets["client_secret"]
cloud = var.cloud
cluster_name = local.cluster_name
}