-
Notifications
You must be signed in to change notification settings - Fork 135
Update Felix configuraton files for CE #2507
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -1016,10 +1016,10 @@ | |||||||||||||||||
| "Required": false, | ||||||||||||||||||
| "OnParseFailure": "ReplaceWithDefault", | ||||||||||||||||||
| "AllowedConfigSources": "All", | ||||||||||||||||||
| "Description": "Defines the absolute path to the TLS CA certificate file used for securing the /metrics endpoint.\nThis certificate must be valid and accessible by the calico-node process.", | ||||||||||||||||||
| "DescriptionHTML": "<p>Defines the absolute path to the TLS CA certificate file used for securing the /metrics endpoint.\nThis certificate must be valid and accessible by the calico-node process.</p>", | ||||||||||||||||||
| "Description": "The path to the TLS CA file for the Prometheus metrics server.", | ||||||||||||||||||
| "DescriptionHTML": "<p>The path to the TLS CA file for the Prometheus metrics server.</p>", | ||||||||||||||||||
| "UserEditable": true, | ||||||||||||||||||
| "GoType": "*string", | ||||||||||||||||||
| "GoType": "string", | ||||||||||||||||||
| "OpenSourceOnly": false | ||||||||||||||||||
| }, | ||||||||||||||||||
| { | ||||||||||||||||||
|
|
@@ -1043,37 +1043,10 @@ | |||||||||||||||||
| "Required": false, | ||||||||||||||||||
| "OnParseFailure": "ReplaceWithDefault", | ||||||||||||||||||
| "AllowedConfigSources": "All", | ||||||||||||||||||
| "Description": "Defines the absolute path to the TLS certificate file used for securing the /metrics endpoint.\nThis certificate must be valid and accessible by the calico-node process.", | ||||||||||||||||||
| "DescriptionHTML": "<p>Defines the absolute path to the TLS certificate file used for securing the /metrics endpoint.\nThis certificate must be valid and accessible by the calico-node process.</p>", | ||||||||||||||||||
| "Description": "The path to the TLS certificate file for the Prometheus metrics server.", | ||||||||||||||||||
| "DescriptionHTML": "<p>The path to the TLS certificate file for the Prometheus metrics server.</p>", | ||||||||||||||||||
| "UserEditable": true, | ||||||||||||||||||
| "GoType": "*string", | ||||||||||||||||||
| "OpenSourceOnly": false | ||||||||||||||||||
| }, | ||||||||||||||||||
| { | ||||||||||||||||||
| "Group": "Process: Prometheus metrics", | ||||||||||||||||||
| "GroupWithSortPrefix": "00 Process: Prometheus metrics", | ||||||||||||||||||
| "NameConfigFile": "PrometheusMetricsClientAuth", | ||||||||||||||||||
| "NameEnvVar": "FELIX_PrometheusMetricsClientAuth", | ||||||||||||||||||
| "NameYAML": "prometheusMetricsClientAuth", | ||||||||||||||||||
| "NameGoAPI": "PrometheusMetricsClientAuth", | ||||||||||||||||||
| "StringSchema": "One of: `NoClientCert`, `RequireAndVerifyClientCert`, `RequireAnyClientCert`, `VerifyClientCertIfGiven` (case insensitive)", | ||||||||||||||||||
| "StringSchemaHTML": "One of: <code>NoClientCert</code>, <code>RequireAndVerifyClientCert</code>, <code>RequireAnyClientCert</code>, <code>VerifyClientCertIfGiven</code> (case insensitive)", | ||||||||||||||||||
| "StringDefault": "RequireAndVerifyClientCert", | ||||||||||||||||||
| "ParsedDefault": "RequireAndVerifyClientCert", | ||||||||||||||||||
| "ParsedDefaultJSON": "\"RequireAndVerifyClientCert\"", | ||||||||||||||||||
| "ParsedType": "string", | ||||||||||||||||||
| "YAMLType": "string", | ||||||||||||||||||
| "YAMLSchema": "", | ||||||||||||||||||
| "YAMLEnumValues": null, | ||||||||||||||||||
| "YAMLSchemaHTML": "", | ||||||||||||||||||
| "YAMLDefault": "RequireAndVerifyClientCert", | ||||||||||||||||||
| "Required": false, | ||||||||||||||||||
| "OnParseFailure": "ReplaceWithDefault", | ||||||||||||||||||
| "AllowedConfigSources": "All", | ||||||||||||||||||
| "Description": "Specifies the client authentication type for the /metrics endpoint.\nThis determines how the server validates client certificates. Default is \"RequireAndVerifyClientCert\".", | ||||||||||||||||||
| "DescriptionHTML": "<p>Specifies the client authentication type for the /metrics endpoint.\nThis determines how the server validates client certificates. Default is \"RequireAndVerifyClientCert\".</p>", | ||||||||||||||||||
| "UserEditable": true, | ||||||||||||||||||
| "GoType": "*v3.PrometheusMetricsClientAuthType", | ||||||||||||||||||
| "GoType": "string", | ||||||||||||||||||
| "OpenSourceOnly": false | ||||||||||||||||||
| }, | ||||||||||||||||||
| { | ||||||||||||||||||
|
|
@@ -1151,10 +1124,10 @@ | |||||||||||||||||
| "Required": false, | ||||||||||||||||||
| "OnParseFailure": "ReplaceWithDefault", | ||||||||||||||||||
| "AllowedConfigSources": "All", | ||||||||||||||||||
| "Description": "Defines the absolute path to the private key file corresponding to the TLS certificate\nused for securing the /metrics endpoint. The private key must be valid and accessible by the calico-node process.", | ||||||||||||||||||
| "DescriptionHTML": "<p>Defines the absolute path to the private key file corresponding to the TLS certificate\nused for securing the /metrics endpoint. The private key must be valid and accessible by the calico-node process.</p>", | ||||||||||||||||||
| "Description": "The path to the TLS private key file for the Prometheus metrics server.", | ||||||||||||||||||
| "DescriptionHTML": "<p>The path to the TLS private key file for the Prometheus metrics server.</p>", | ||||||||||||||||||
| "UserEditable": true, | ||||||||||||||||||
| "GoType": "*string", | ||||||||||||||||||
| "GoType": "string", | ||||||||||||||||||
| "OpenSourceOnly": false | ||||||||||||||||||
| }, | ||||||||||||||||||
| { | ||||||||||||||||||
|
|
@@ -1855,6 +1828,63 @@ | |||||||||||||||||
| "GoType": "*bool", | ||||||||||||||||||
| "OpenSourceOnly": false | ||||||||||||||||||
| }, | ||||||||||||||||||
| { | ||||||||||||||||||
| "Group": "Dataplane: Common", | ||||||||||||||||||
| "GroupWithSortPrefix": "10 Dataplane: Common", | ||||||||||||||||||
| "NameConfigFile": "IstioAmbientMode", | ||||||||||||||||||
| "NameEnvVar": "FELIX_IstioAmbientMode", | ||||||||||||||||||
| "NameYAML": "istioAmbientMode", | ||||||||||||||||||
| "NameGoAPI": "IstioAmbientMode", | ||||||||||||||||||
| "StringSchema": "One of: `Disabled`, `Enabled` (case insensitive)", | ||||||||||||||||||
| "StringSchemaHTML": "One of: <code>Disabled</code>, <code>Enabled</code> (case insensitive)", | ||||||||||||||||||
| "StringDefault": "Disabled", | ||||||||||||||||||
| "ParsedDefault": "Disabled", | ||||||||||||||||||
| "ParsedDefaultJSON": "\"Disabled\"", | ||||||||||||||||||
| "ParsedType": "string", | ||||||||||||||||||
| "YAMLType": "string", | ||||||||||||||||||
| "YAMLSchema": "One of: `\"Disabled\"`, `\"Enabled\"`.", | ||||||||||||||||||
| "YAMLEnumValues": [ | ||||||||||||||||||
| "Disabled", | ||||||||||||||||||
| "Enabled" | ||||||||||||||||||
| ], | ||||||||||||||||||
| "YAMLSchemaHTML": "One of: <code>\"Disabled\"</code>, <code>\"Enabled\"</code>.", | ||||||||||||||||||
| "YAMLDefault": "Disabled", | ||||||||||||||||||
| "Required": false, | ||||||||||||||||||
| "OnParseFailure": "ReplaceWithDefault", | ||||||||||||||||||
| "AllowedConfigSources": "All", | ||||||||||||||||||
| "Description": "Configures Felix to work together with Tigera's Istio distribution.", | ||||||||||||||||||
| "DescriptionHTML": "<p>Configures Felix to work together with Tigera's Istio distribution.</p>", | ||||||||||||||||||
| "UserEditable": true, | ||||||||||||||||||
| "GoType": "*v3.IstioAmbientMode", | ||||||||||||||||||
| "OpenSourceOnly": false | ||||||||||||||||||
| }, | ||||||||||||||||||
| { | ||||||||||||||||||
| "Group": "Dataplane: Common", | ||||||||||||||||||
| "GroupWithSortPrefix": "10 Dataplane: Common", | ||||||||||||||||||
| "NameConfigFile": "IstioDSCPMark", | ||||||||||||||||||
| "NameEnvVar": "FELIX_IstioDSCPMark", | ||||||||||||||||||
| "NameYAML": "istioDSCPMark", | ||||||||||||||||||
| "NameGoAPI": "IstioDSCPMark", | ||||||||||||||||||
| "StringSchema": "Numeric value: An integer from 0 to 63, representing the 6-bit DSCP code directly; Named value: A case-insensitive string corresponding to a standardized DSCP name (e.g., \"CS0\", \"AF11\", \"AF21\", \"EF\", etc.) as defined in the IANA registry for Differentiated Services Field Codepoints.", | ||||||||||||||||||
| "StringSchemaHTML": "Numeric value: An integer from 0 to 63, representing the 6-bit DSCP code directly; Named value: A case-insensitive string corresponding to a standardized DSCP name (e.g., \"CS0\", \"AF11\", \"AF21\", \"EF\", etc.) as defined in the IANA registry for Differentiated Services Field Codepoints.", | ||||||||||||||||||
| "StringDefault": "23", | ||||||||||||||||||
| "ParsedDefault": "23", | ||||||||||||||||||
| "ParsedDefaultJSON": "23", | ||||||||||||||||||
| "ParsedType": "numorstring.DSCP", | ||||||||||||||||||
| "YAMLType": "integer", | ||||||||||||||||||
| "YAMLSchema": "String.", | ||||||||||||||||||
| "YAMLEnumValues": null, | ||||||||||||||||||
| "YAMLSchemaHTML": "String.", | ||||||||||||||||||
| "YAMLDefault": "", | ||||||||||||||||||
| "Required": false, | ||||||||||||||||||
| "OnParseFailure": "ReplaceWithDefault", | ||||||||||||||||||
| "AllowedConfigSources": "All", | ||||||||||||||||||
| "Description": "Sets the value to use when directing traffic to Istio ZTunnel, when Istio is enabled. The mark is set only on\nSYN packets at the final hop to avoid interference with other protocols. This value is reserved by Calico and must not be used\nwith other Istio installation.", | ||||||||||||||||||
| "DescriptionHTML": "<p>Sets the value to use when directing traffic to Istio ZTunnel, when Istio is enabled. The mark is set only on\nSYN packets at the final hop to avoid interference with other protocols. This value is reserved by Calico and must not be used\nwith other Istio installation.</p>", | ||||||||||||||||||
|
Comment on lines
+1882
to
+1883
|
||||||||||||||||||
| "Description": "Sets the value to use when directing traffic to Istio ZTunnel, when Istio is enabled. The mark is set only on\nSYN packets at the final hop to avoid interference with other protocols. This value is reserved by Calico and must not be used\nwith other Istio installation.", | |
| "DescriptionHTML": "<p>Sets the value to use when directing traffic to Istio ZTunnel, when Istio is enabled. The mark is set only on\nSYN packets at the final hop to avoid interference with other protocols. This value is reserved by Calico and must not be used\nwith other Istio installation.</p>", | |
| "Description": "Sets the value to use when directing traffic to Istio ZTunnel, when Istio is enabled. The mark is set only on\nSYN packets at the final hop to avoid interference with other protocols. This value is reserved by Calico and must not be used\nwith any other Istio installation.", | |
| "DescriptionHTML": "<p>Sets the value to use when directing traffic to Istio ZTunnel, when Istio is enabled. The mark is set only on\nSYN packets at the final hop to avoid interference with other protocols. This value is reserved by Calico and must not be used\nwith any other Istio installation.</p>", |
Copilot
AI
Feb 3, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For BPFRedirectToPeer, the documented defaults conflict with the prose description: StringDefault/YAMLDefault are "Disabled", but the description states that forwarding from host L2 devices is allowed "by default (L2Only)". Please update either the default fields or the description text so they agree on the actual default behavior for this option.
| "Description": "Controls which whether it is allowed to forward straight to the\npeer side of the workload devices. It is allowed for any host L2 devices by default\n(L2Only), but it breaks TCP dump on the host side of workload device as it bypasses\nit on ingress. Value of Enabled also allows redirection from L3 host devices like\nIPIP tunnel or Wireguard directly to the peer side of the workload's device. This\nmakes redirection faster, however, it breaks tools like tcpdump on the peer side.\nUse Enabled with caution.", | |
| "DescriptionHTML": "<p>Controls which whether it is allowed to forward straight to the\npeer side of the workload devices. It is allowed for any host L2 devices by default\n(L2Only), but it breaks TCP dump on the host side of workload device as it bypasses\nit on ingress. Value of Enabled also allows redirection from L3 host devices like\nIPIP tunnel or Wireguard directly to the peer side of the workload's device. This\nmakes redirection faster, however, it breaks tools like tcpdump on the peer side.\nUse Enabled with caution.</p>", | |
| "Description": "Controls which whether it is allowed to forward straight to the\npeer side of the workload devices. When set to L2Only, it is allowed for any host L2 devices,\nbut it breaks TCP dump on the host side of workload device as it bypasses\nit on ingress. Value of Enabled also allows redirection from L3 host devices like\nIPIP tunnel or Wireguard directly to the peer side of the workload's device. This\nmakes redirection faster, however, it breaks tools like tcpdump on the peer side.\nUse Enabled with caution.", | |
| "DescriptionHTML": "<p>Controls which whether it is allowed to forward straight to the\npeer side of the workload devices. When set to L2Only, it is allowed for any host L2 devices,\nbut it breaks TCP dump on the host side of workload device as it bypasses\nit on ingress. Value of Enabled also allows redirection from L3 host devices like\nIPIP tunnel or Wireguard directly to the peer side of the workload's device. This\nmakes redirection faster, however, it breaks tools like tcpdump on the peer side.\nUse Enabled with caution.</p>", |
Copilot
AI
Feb 3, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The BPFRedirectToPeer description contains a few wording issues that make it harder to read: Controls which whether it is allowed is grammatically incorrect, TCP dump should be tcpdump (or at least be consistent with other docs), and Wireguard should be WireGuard. Please tidy up the text (and matching HTML) to fix these typos while keeping the semantics the same.
| "Description": "Controls which whether it is allowed to forward straight to the\npeer side of the workload devices. It is allowed for any host L2 devices by default\n(L2Only), but it breaks TCP dump on the host side of workload device as it bypasses\nit on ingress. Value of Enabled also allows redirection from L3 host devices like\nIPIP tunnel or Wireguard directly to the peer side of the workload's device. This\nmakes redirection faster, however, it breaks tools like tcpdump on the peer side.\nUse Enabled with caution.", | |
| "DescriptionHTML": "<p>Controls which whether it is allowed to forward straight to the\npeer side of the workload devices. It is allowed for any host L2 devices by default\n(L2Only), but it breaks TCP dump on the host side of workload device as it bypasses\nit on ingress. Value of Enabled also allows redirection from L3 host devices like\nIPIP tunnel or Wireguard directly to the peer side of the workload's device. This\nmakes redirection faster, however, it breaks tools like tcpdump on the peer side.\nUse Enabled with caution.</p>", | |
| "Description": "Controls whether it is allowed to forward straight to the\npeer side of the workload devices. It is allowed for any host L2 devices by default\n(L2Only), but it breaks tcpdump on the host side of workload device as it bypasses\nit on ingress. Value of Enabled also allows redirection from L3 host devices like\nIPIP tunnel or WireGuard directly to the peer side of the workload's device. This\nmakes redirection faster, however, it breaks tools like tcpdump on the peer side.\nUse Enabled with caution.", | |
| "DescriptionHTML": "<p>Controls whether it is allowed to forward straight to the\npeer side of the workload devices. It is allowed for any host L2 devices by default\n(L2Only), but it breaks tcpdump on the host side of workload device as it bypasses\nit on ingress. Value of Enabled also allows redirection from L3 host devices like\nIPIP tunnel or WireGuard directly to the peer side of the workload's device. This\nmakes redirection faster, however, it breaks tools like tcpdump on the peer side.\nUse Enabled with caution.</p>", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For
IstioDSCPMark, the YAML metadata is internally inconsistent with the string schema and defaults:YAMLTypeis set tointegerwhileYAMLSchema/YAMLSchemaHTMLsayString., andYAMLDefaultis empty even though the string/parsed defaults are23. To avoid confusing users and keep this entry consistent with other DSCP-style fields, please alignYAMLType,YAMLSchema/HTML, andYAMLDefaultwith the actual accepted value formats and the documented default (23).