Skip to content

Commit d445993

Browse files
authored
Merge pull request #697 from mr-jungchoi/falconctl-cloud
feat(node-sensor): add falcon.cloud option for unified sensor installation
2 parents e83b03d + 1bcab62 commit d445993

18 files changed

+233
-53
lines changed
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package v1alpha1
2+
3+
// FalconUnified Sensor configuration settings, extends FalconSensor with fields used for unified installation
4+
type FalconUnified struct {
5+
FalconSensor `json:",inline"`
6+
7+
// Falcon Customer Cloud Region - With the unified installer, you can let the sensor discover the CID's cloud automatically, or you can specify the cloud where the CID resides.
8+
// +kubebuilder:validation:Enum=us-1;us-2;eu-1;us-gov-1;us-gov-2
9+
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="CrowdStrike Falcon Cloud Region"
10+
Cloud string `json:"cloud,omitempty"`
11+
}

api/falcon/v1alpha1/falcondeployment_types.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ type FalconDeploymentSpec struct {
6161
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Falcon Admission Controller Configuration",order=8
6262
FalconAdmission FalconAdmissionSpec `json:"falconAdmission,omitempty"`
6363

64-
// Falcon Admission Controller Configuration
64+
// Falcon Node Sensor Controller Configuration
6565
// +kubebuilder:default:={}
6666
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Falcon Node Sensor Configuration",order=9
6767
FalconNodeSensor FalconNodeSensorSpec `json:"falconNodeSensor,omitempty"`

api/falcon/v1alpha1/falconnodesensor_types.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ type FalconNodeSensorSpec struct {
2929

3030
// +kubebuilder:default:={}
3131
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Falcon Sensor Configuration",order=2
32-
Falcon FalconSensor `json:"falcon,omitempty"`
32+
Falcon FalconUnified `json:"falcon,omitempty"`
3333

3434
// FalconAPI configures connection from your local Falcon operator to CrowdStrike Falcon platform.
3535
//
@@ -261,9 +261,9 @@ func (node *FalconNodeSensor) SetFalconAPISpec(falconApiSpec *FalconAPI) {
261261
}
262262

263263
func (node *FalconNodeSensor) GetFalconSpec() FalconSensor {
264-
return node.Spec.Falcon
264+
return node.Spec.Falcon.FalconSensor
265265
}
266266

267267
func (node *FalconNodeSensor) SetFalconSpec(falconSpec FalconSensor) {
268-
node.Spec.Falcon = falconSpec
268+
node.Spec.Falcon.FalconSensor = falconSpec
269269
}

api/falcon/v1alpha1/zz_generated.deepcopy.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1440,6 +1440,22 @@ func (in *FalconSensor) DeepCopy() *FalconSensor {
14401440
return out
14411441
}
14421442

1443+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
1444+
func (in *FalconUnified) DeepCopyInto(out *FalconUnified) {
1445+
*out = *in
1446+
in.FalconSensor.DeepCopyInto(&out.FalconSensor)
1447+
}
1448+
1449+
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FalconUnified.
1450+
func (in *FalconUnified) DeepCopy() *FalconUnified {
1451+
if in == nil {
1452+
return nil
1453+
}
1454+
out := new(FalconUnified)
1455+
in.DeepCopyInto(out)
1456+
return out
1457+
}
1458+
14431459
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
14441460
func (in *PriorityClassConfig) DeepCopyInto(out *PriorityClassConfig) {
14451461
*out = *in

bundle/manifests/falcon-operator.clusterserviceversion.yaml

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ metadata:
148148
capabilities: Seamless Upgrades
149149
categories: Security,Monitoring
150150
containerImage: quay.io/crowdstrike/falcon-operator
151-
createdAt: "2025-07-30T19:54:28Z"
151+
createdAt: "2025-08-11T17:31:06Z"
152152
description: Falcon Operator installs CrowdStrike Falcon Sensors on the cluster
153153
features.operators.openshift.io/cnf: "false"
154154
features.operators.openshift.io/cni: "false"
@@ -1359,7 +1359,7 @@ spec:
13591359
- description: Set the falcon image analyzer volume mount path.
13601360
displayName: Falcon Image Analyzer Volume Mount Path
13611361
path: falconImageAnalyzer.imageAnalyzerConfig.mountPath
1362-
- description: Falcon Admission Controller Configuration
1362+
- description: Falcon Node Sensor Controller Configuration
13631363
displayName: Falcon Node Sensor Configuration
13641364
path: falconNodeSensor
13651365
- description: Configure resource requests and limits for the DaemonSet Sensor.
@@ -1447,6 +1447,11 @@ spec:
14471447
This is useful for passing along AWS IAM Role or GCP Workload Identity.
14481448
displayName: Annotations
14491449
path: falconContainerSensor.injector.serviceAccount.annotations
1450+
- description: Falcon Customer Cloud Region - With the unified installer, you
1451+
can let the sensor discover the CID's cloud automatically, or you can specify
1452+
the cloud where the CID resides.
1453+
displayName: CrowdStrike Falcon Cloud Region
1454+
path: falconNodeSensor.falcon.cloud
14501455
- description: |-
14511456
Advanced configures various options that go against industry practices or are otherwise not recommended for use.
14521457
Adjusting these settings may result in incorrect or undesirable behavior. Proceed at your own risk.
@@ -1829,6 +1834,11 @@ spec:
18291834
Autopilot clusters, but can be set for any cluster.
18301835
displayName: Priority Class
18311836
path: node.priorityClass
1837+
- description: Falcon Customer Cloud Region - With the unified installer, you
1838+
can let the sensor discover the CID's cloud automatically, or you can specify
1839+
the cloud where the CID resides.
1840+
displayName: CrowdStrike Falcon Cloud Region
1841+
path: falcon.cloud
18321842
- description: |-
18331843
Advanced configures various options that go against industry practices or are otherwise not recommended for use.
18341844
Adjusting these settings may result in incorrect or undesirable behavior. Proceed at your own risk.

bundle/manifests/falcon.crowdstrike.com_falcondeployments.yaml

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3789,11 +3789,12 @@ spec:
37893789
type: object
37903790
falconNodeSensor:
37913791
default: {}
3792-
description: Falcon Admission Controller Configuration
3792+
description: Falcon Node Sensor Controller Configuration
37933793
properties:
37943794
falcon:
37953795
default: {}
3796-
description: CrowdStrike Falcon Sensor configuration settings.
3796+
description: FalconUnified Sensor configuration settings, extends
3797+
FalconSensor with fields used for unified installation
37973798
properties:
37983799
apd:
37993800
default: false
@@ -3819,6 +3820,18 @@ spec:
38193820
description: Falcon Customer ID (CID)
38203821
pattern: ^[0-9a-fA-F]{32}-[0-9a-fA-F]{2}$
38213822
type: string
3823+
cloud:
3824+
description: Falcon Customer Cloud Region - With the unified
3825+
installer, you can let the sensor discover the CID's cloud
3826+
automatically, or you can specify the cloud where the CID
3827+
resides.
3828+
enum:
3829+
- us-1
3830+
- us-2
3831+
- eu-1
3832+
- us-gov-1
3833+
- us-gov-2
3834+
type: string
38223835
provisioning_token:
38233836
description: Installation token that prevents unauthorized
38243837
hosts from being accidentally or maliciously added to your

bundle/manifests/falcon.crowdstrike.com_falconnodesensors.yaml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,8 @@ spec:
5050
properties:
5151
falcon:
5252
default: {}
53-
description: CrowdStrike Falcon Sensor configuration settings.
53+
description: FalconUnified Sensor configuration settings, extends
54+
FalconSensor with fields used for unified installation
5455
properties:
5556
apd:
5657
default: false
@@ -76,6 +77,17 @@ spec:
7677
description: Falcon Customer ID (CID)
7778
pattern: ^[0-9a-fA-F]{32}-[0-9a-fA-F]{2}$
7879
type: string
80+
cloud:
81+
description: Falcon Customer Cloud Region - With the unified installer,
82+
you can let the sensor discover the CID's cloud automatically,
83+
or you can specify the cloud where the CID resides.
84+
enum:
85+
- us-1
86+
- us-2
87+
- eu-1
88+
- us-gov-1
89+
- us-gov-2
90+
type: string
7991
provisioning_token:
8092
description: Installation token that prevents unauthorized hosts
8193
from being accidentally or maliciously added to your customer

config/crd/bases/falcon.crowdstrike.com_falcondeployments.yaml

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3797,11 +3797,12 @@ spec:
37973797
type: object
37983798
falconNodeSensor:
37993799
default: {}
3800-
description: Falcon Admission Controller Configuration
3800+
description: Falcon Node Sensor Controller Configuration
38013801
properties:
38023802
falcon:
38033803
default: {}
3804-
description: CrowdStrike Falcon Sensor configuration settings.
3804+
description: FalconUnified Sensor configuration settings, extends
3805+
FalconSensor with fields used for unified installation
38053806
properties:
38063807
apd:
38073808
default: false
@@ -3827,6 +3828,18 @@ spec:
38273828
description: Falcon Customer ID (CID)
38283829
pattern: ^[0-9a-fA-F]{32}-[0-9a-fA-F]{2}$
38293830
type: string
3831+
cloud:
3832+
description: Falcon Customer Cloud Region - With the unified
3833+
installer, you can let the sensor discover the CID's cloud
3834+
automatically, or you can specify the cloud where the CID
3835+
resides.
3836+
enum:
3837+
- us-1
3838+
- us-2
3839+
- eu-1
3840+
- us-gov-1
3841+
- us-gov-2
3842+
type: string
38303843
provisioning_token:
38313844
description: Installation token that prevents unauthorized
38323845
hosts from being accidentally or maliciously added to your

config/crd/bases/falcon.crowdstrike.com_falconnodesensors.yaml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,8 @@ spec:
5050
properties:
5151
falcon:
5252
default: {}
53-
description: CrowdStrike Falcon Sensor configuration settings.
53+
description: FalconUnified Sensor configuration settings, extends
54+
FalconSensor with fields used for unified installation
5455
properties:
5556
apd:
5657
default: false
@@ -76,6 +77,17 @@ spec:
7677
description: Falcon Customer ID (CID)
7778
pattern: ^[0-9a-fA-F]{32}-[0-9a-fA-F]{2}$
7879
type: string
80+
cloud:
81+
description: Falcon Customer Cloud Region - With the unified installer,
82+
you can let the sensor discover the CID's cloud automatically,
83+
or you can specify the cloud where the CID resides.
84+
enum:
85+
- us-1
86+
- us-2
87+
- eu-1
88+
- us-gov-1
89+
- us-gov-2
90+
type: string
7991
provisioning_token:
8092
description: Installation token that prevents unauthorized hosts
8193
from being accidentally or maliciously added to your customer

config/manifests/bases/falcon-operator.clusterserviceversion.yaml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1215,7 +1215,7 @@ spec:
12151215
- description: Set the falcon image analyzer volume mount path.
12161216
displayName: Falcon Image Analyzer Volume Mount Path
12171217
path: falconImageAnalyzer.imageAnalyzerConfig.mountPath
1218-
- description: Falcon Admission Controller Configuration
1218+
- description: Falcon Node Sensor Controller Configuration
12191219
displayName: Falcon Node Sensor Configuration
12201220
path: falconNodeSensor
12211221
- description: Configure resource requests and limits for the DaemonSet Sensor.
@@ -1303,6 +1303,11 @@ spec:
13031303
This is useful for passing along AWS IAM Role or GCP Workload Identity.
13041304
displayName: Annotations
13051305
path: falconContainerSensor.injector.serviceAccount.annotations
1306+
- description: Falcon Customer Cloud Region - With the unified installer, you
1307+
can let the sensor discover the CID's cloud automatically, or you can specify
1308+
the cloud where the CID resides.
1309+
displayName: CrowdStrike Falcon Cloud Region
1310+
path: falconNodeSensor.falcon.cloud
13061311
- description: |-
13071312
Advanced configures various options that go against industry practices or are otherwise not recommended for use.
13081313
Adjusting these settings may result in incorrect or undesirable behavior. Proceed at your own risk.
@@ -1685,6 +1690,11 @@ spec:
16851690
Autopilot clusters, but can be set for any cluster.
16861691
displayName: Priority Class
16871692
path: node.priorityClass
1693+
- description: Falcon Customer Cloud Region - With the unified installer, you
1694+
can let the sensor discover the CID's cloud automatically, or you can specify
1695+
the cloud where the CID resides.
1696+
displayName: CrowdStrike Falcon Cloud Region
1697+
path: falcon.cloud
16881698
- description: |-
16891699
Advanced configures various options that go against industry practices or are otherwise not recommended for use.
16901700
Adjusting these settings may result in incorrect or undesirable behavior. Proceed at your own risk.

0 commit comments

Comments
 (0)