Skip to content
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

Document all the fields in the Cilium spec #8559

Merged
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
186 changes: 94 additions & 92 deletions pkg/apis/kops/networking.go
Original file line number Diff line number Diff line change
Expand Up @@ -201,149 +201,149 @@ type CiliumNetworkingSpec struct {
// AccessLog is not implemented and may be removed in the future.
// Setting this has no effect.
olemarkus marked this conversation as resolved.
Show resolved Hide resolved
AccessLog string `json:"accessLog,omitempty"`
// AgentLabels has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// AgentLabels is not implemented and may be removed in the future.
// Setting this has no effect.
AgentLabels []string `json:"agentLabels,omitempty"`
// AgentPrometheusPort is the port to listen to for Prometheus metrics.
// Defaults to 9090.
AgentPrometheusPort int `json:"agentPrometheusPort,omitempty"`
// AllowLocalhost has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// AllowLocalhost is not implemented and may be removed in the future.
// Setting this has no effect.
AllowLocalhost string `json:"allowLocalhost,omitempty"`
// AutoIpv6NodeRoutes has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// AutoIpv6NodeRoutes is not implemented and may be removed in the future.
// Setting this has no effect.
AutoIpv6NodeRoutes bool `json:"autoIpv6NodeRoutes,omitempty"`
// BPFRoot has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// BPFRoot is not implemented and may be removed in the future.
// Setting this has no effect.
BPFRoot string `json:"bpfRoot,omitempty"`
// ContainerRuntime has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// ContainerRuntime is not implemented and may be removed in the future.
// Setting this has no effect.
ContainerRuntime []string `json:"containerRuntime,omitempty"`
// ContainerRuntimeEndpoint has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// ContainerRuntimeEndpoint is not implemented and may be removed in the future.
// Setting this has no effect.
ContainerRuntimeEndpoint map[string]string `json:"containerRuntimeEndpoint,omitempty"`
// Debug runs Cilium in debug mode.
Debug bool `json:"debug,omitempty"`
// DebugVerbose has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// DebugVerbose is not implemented and may be removed in the future.
// Setting this has no effect.
DebugVerbose []string `json:"debugVerbose,omitempty"`
// Device has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// Device is not implemented and may be removed in the future.
// Setting this has no effect.
Device string `json:"device,omitempty"`
// DisableConntrack has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// DisableConntrack is not implemented and may be removed in the future.
// Setting this has no effect.
DisableConntrack bool `json:"disableConntrack,omitempty"`
// DisableIpv4 is deprecated: Use EnableIpv4 instead.
// Setting this flag has no effect.
DisableIpv4 bool `json:"disableIpv4,omitempty"`
// DisableK8sServices has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// DisableK8sServices is not implemented and may be removed in the future.
// Setting this has no effect.
DisableK8sServices bool `json:"disableK8sServices,omitempty"`
// EnablePolicy specifies the policy enforcement mode.
// "default": Follows Kubernetes policy enforcement.
// "always": Cilium restricts all traffic if no policy is in place.
// "never": Cilium allows all traffic regardless of policies in place.
olemarkus marked this conversation as resolved.
Show resolved Hide resolved
// If unspecified, "default" policy mode will be used.
EnablePolicy string `json:"enablePolicy,omitempty"`
// EnableTracing has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// EnableTracing is not implemented and may be removed in the future.
// Setting this has no effect.
EnableTracing bool `json:"enableTracing,omitempty"`
// EnablePrometheusMetrics enables the Cilium "/metrics" endpoint for both the agent and the operator.
EnablePrometheusMetrics bool `json:"enablePrometheusMetrics,omitempty"`
// EnvoyLog has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// EnvoyLog is not implemented and may be removed in the future.
// Setting this has no effect.
EnvoyLog string `json:"envoyLog,omitempty"`
// Ipv4ClusterCIDRMaskSize has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// Ipv4ClusterCIDRMaskSize is not implemented and may be removed in the future.
// Setting this has no effect.
Ipv4ClusterCIDRMaskSize int `json:"ipv4ClusterCidrMaskSize,omitempty"`
// Ipv4Node has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// Ipv4Node is not implemented and may be removed in the future.
// Setting this has no effect.
Ipv4Node string `json:"ipv4Node,omitempty"`
// Ipv4Range has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// Ipv4Range is not implemented and may be removed in the future.
// Setting this has no effect.
Ipv4Range string `json:"ipv4Range,omitempty"`
// Ipv4ServiceRange has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// Ipv4ServiceRange is not implemented and may be removed in the future.
// Setting this has no effect.
Ipv4ServiceRange string `json:"ipv4ServiceRange,omitempty"`
// Ipv6ClusterAllocCidr has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// Ipv6ClusterAllocCidr is not implemented and may be removed in the future.
// Setting this has no effect.
Ipv6ClusterAllocCidr string `json:"ipv6ClusterAllocCidr,omitempty"`
// Ipv6Node has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// Ipv6Node is not implemented and may be removed in the future.
// Setting this has no effect.
Ipv6Node string `json:"ipv6Node,omitempty"`
// Ipv6Range has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// Ipv6Range is not implemented and may be removed in the future.
// Setting this has no effect.
Ipv6Range string `json:"ipv6Range,omitempty"`
// Ipv6ServiceRange has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// Ipv6ServiceRange is not implemented and may be removed in the future.
// Setting this has no effect.
Ipv6ServiceRange string `json:"ipv6ServiceRange,omitempty"`
// K8sAPIServer has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// K8sAPIServer is not implemented and may be removed in the future.
// Setting this has no effect.
K8sAPIServer string `json:"k8sApiServer,omitempty"`
// K8sKubeconfigPath has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// K8sKubeconfigPath is not implemented and may be removed in the future.
// Setting this has no effect.
K8sKubeconfigPath string `json:"k8sKubeconfigPath,omitempty"`
// KeepBPFTemplates has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// KeepBPFTemplates is not implemented and may be removed in the future.
// Setting this has no effect.
KeepBPFTemplates bool `json:"keepBpfTemplates,omitempty"`
// KeepConfig has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// KeepConfig is not implemented and may be removed in the future.
// Setting this has no effect.
KeepConfig bool `json:"keepConfig,omitempty"`
// LabelPrefixFile has not been implemented in the new templates and may be removed in the future.
// LabelPrefixFile is not implemented and may be removed in the future.
// Setting this has currently no effect
LabelPrefixFile string `json:"labelPrefixFile,omitempty"`
// Labels has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// Labels is not implemented and may be removed in the future.
// Setting this has no effect.
Labels []string `json:"labels,omitempty"`
// LB has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// LB is not implemented and may be removed in the future.
// Setting this has no effect.
LB string `json:"lb,omitempty"`
// LibDir has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// LibDir is not implemented and may be removed in the future.
// Setting this has no effect.
LibDir string `json:"libDir,omitempty"`
// LogDrivers has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// LogDrivers is not implemented and may be removed in the future.
// Setting this has no effect.
LogDrivers []string `json:"logDriver,omitempty"`
// LogOpt has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// LogOpt is not implemented and may be removed in the future.
// Setting this has no effect.
LogOpt map[string]string `json:"logOpt,omitempty"`
// Logstash has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// Logstash is not implemented and may be removed in the future.
// Setting this has no effect.
Logstash bool `json:"logstash,omitempty"`
// LogstashAgent has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// LogstashAgent is not implemented and may be removed in the future.
// Setting this has no effect.
LogstashAgent string `json:"logstashAgent,omitempty"`
// LogstashProbeTimer has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// LogstashProbeTimer is not implemented and may be removed in the future.
// Setting this has no effect.
LogstashProbeTimer uint32 `json:"logstashProbeTimer,omitempty"`
// DisableMasquerade disables masquerading traffic to external destinations behind the node IP.
DisableMasquerade bool `json:"disableMasquerade,omitempty"`
// Nat6Range has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// Nat6Range is not implemented and may be removed in the future.
// Setting this has no effect.
Nat46Range string `json:"nat46Range,omitempty"`
// Pprof has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// Pprof is not implemented and may be removed in the future.
// Setting this has no effect.
Pprof bool `json:"pprof,omitempty"`
// PrefilterDevice has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// PrefilterDevice is not implemented and may be removed in the future.
// Setting this has no effect.
PrefilterDevice string `json:"prefilterDevice,omitempty"`
// PrometheusServeAddr is deprecated. Use EnablePrometheusMetrics and AgentPrometheusPort instead.
// Setting this has currently no effect.
// Setting this has no effect.
PrometheusServeAddr string `json:"prometheusServeAddr,omitempty"`
// Restore has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// Restore is not implemented and may be removed in the future.
// Setting this has no effect.
Restore bool `json:"restore,omitempty"`
// SingleClusterRoute has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// SingleClusterRoute is not implemented and may be removed in the future.
// Setting this has no effect.
SingleClusterRoute bool `json:"singleClusterRoute,omitempty"`
// SocketPath has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// SocketPath is not implemented and may be removed in the future.
// Setting this has no effect.
SocketPath string `json:"socketPath,omitempty"`
// StateDir has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// StateDir is not implemented and may be removed in the future.
// Setting this has no effect.
StateDir string `json:"stateDir,omitempty"`
// TracePayloadLen has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// TracePayloadLen is not implemented and may be removed in the future.
// Setting this has no effect.
TracePayloadLen int `json:"tracePayloadlen,omitempty"`
// Tunnel specifies the Cilium tunelling mode. Possible values are "vxlan", "geneve", or "disabled".
// Default: vxlan
Expand Down Expand Up @@ -386,6 +386,8 @@ type CiliumNetworkingSpec struct {
ContainerRuntimeLabels string `json:"containerRuntimeLabels,omitempty"`
// Ipam specifies the IP address allocation mode to use.
// "eni" will use AWS native networking for pods. Eni requires masquerade to be set to false.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like the possible values are "crd", "eni", and "azure". These should be documented.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"crd" should work out of the box. Kops wouldn't support azure though.

olemarkus marked this conversation as resolved.
Show resolved Hide resolved
// "crd" will use CRDs for controlling IP address management.
// Empty value will use host-scope address management.
Ipam string `json:"ipam,omitempty"`
// IPTablesRulesNoinstall disables installing the base IPTables rules used for masquerading and kube-proxy.
// Default: false
Expand All @@ -398,20 +400,20 @@ type CiliumNetworkingSpec struct {
// Default: false
EnableNodePort bool `json:"enableNodePort"`

// RemoveCbrBridge has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// RemoveCbrBridge is not implemented and may be removed in the future.
// Setting this has no effect.
RemoveCbrBridge bool `json:"removeCbrBridge"`
// RestartPods has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// RestartPods is not implemented and may be removed in the future.
// Setting this has no effect.
RestartPods bool `json:"restartPods"`
// ReconfigureKubelet has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// ReconfigureKubelet is not implemented and may be removed in the future.
// Setting this has no effect.
ReconfigureKubelet bool `json:"reconfigureKubelet"`
// NodeInitBootstrapFile has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// NodeInitBootstrapFile is not implemented and may be removed in the future.
// Setting this has no effect.
NodeInitBootstrapFile string `json:"nodeInitBootstrapFile"`
// CniBinPath has not been implemented in the new templates and may be removed in the future.
// Setting this has currently no effect.
// CniBinPath is not implemented and may be removed in the future.
// Setting this has no effect.
CniBinPath string `json:"cniBinPath"`
}

Expand Down