Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
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
27 changes: 20 additions & 7 deletions controllers/consoleplugin/config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,19 @@ type FilterConfig struct {
Placeholder string `yaml:"placeholder,omitempty" json:"placeholder,omitempty"`
}

type ScopeConfig struct {
ID string `yaml:"id" json:"id"`
Name string `yaml:"name" json:"name"`
ShortName string `yaml:"shortName" json:"shortName"`
Description string `yaml:"description" json:"description"`
Labels []string `yaml:"labels" json:"labels"`
Feature string `yaml:"feature,omitempty" json:"feature,omitempty"`
Groups []string `yaml:"groups,omitempty" json:"groups,omitempty"`
Filter string `yaml:"filter,omitempty" json:"filter,omitempty"`
Filters []string `yaml:"filters,omitempty" json:"filters,omitempty"`
StepInto string `yaml:"stepInto,omitempty" json:"stepInto,omitempty"`
}

type FieldConfig struct {
Name string `yaml:"name" json:"name"`
Type string `yaml:"type" json:"type"`
Expand All @@ -101,17 +114,17 @@ type Deduper struct {
}

type FrontendConfig struct {
RecordTypes []api.ConnTrackOutputRecordTypeEnum `yaml:"recordTypes" json:"recordTypes"`
Columns []ColumnConfig `yaml:"columns" json:"columns"`
Sampling int `yaml:"sampling" json:"sampling"`
Features []string `yaml:"features" json:"features"`
Deduper Deduper `yaml:"deduper" json:"deduper"`
Fields []FieldConfig `yaml:"fields" json:"fields"`

RecordTypes []api.ConnTrackOutputRecordTypeEnum `yaml:"recordTypes" json:"recordTypes"`
PortNaming flowslatest.ConsolePluginPortConfig `yaml:"portNaming,omitempty" json:"portNaming,omitempty"`
Columns []ColumnConfig `yaml:"columns" json:"columns"`
Filters []FilterConfig `yaml:"filters,omitempty" json:"filters,omitempty"`
Scopes []ScopeConfig `yaml:"scopes" json:"scopes"`
QuickFilters []flowslatest.QuickFilter `yaml:"quickFilters,omitempty" json:"quickFilters,omitempty"`
AlertNamespaces []string `yaml:"alertNamespaces,omitempty" json:"alertNamespaces,omitempty"`
Sampling int `yaml:"sampling" json:"sampling"`
Features []string `yaml:"features" json:"features"`
Deduper Deduper `yaml:"deduper" json:"deduper"`
Fields []FieldConfig `yaml:"fields" json:"fields"`
}

type PluginConfig struct {
Expand Down
121 changes: 121 additions & 0 deletions controllers/consoleplugin/config/static-frontend-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -904,6 +904,127 @@ filters:
name: Network events flow monitoring
component: text
hint: Specify a single network event.
scopes:
- id: cluster
name: Cluster
shortName: Cl
description: Cluster name or identifier
labels:
- K8S_ClusterName
feature: multiCluster
filter: cluster_name
stepInto: zone
- id: zone
name: Zone
shortName: AZ
description: Availability zone
labels:
- SrcK8S_Zone
- DstK8S_Zone
feature: zones
groups:
- clusters
filters:
- src_zone
- dst_zone
stepInto: host
- id: host
name: Node
shortName: Node
description: Node on which the resources are running
labels:
- SrcK8S_HostName
- DstK8S_HostName
groups:
- clusters
- zones
- clusters+zones
filters:
- src_host_name
- dst_host_name
stepInto: resource
- id: namespace
name: Namespace
shortName: NS
description: Resource namespace
labels:
- SrcK8S_Namespace
- DstK8S_Namespace
groups:
- clusters
- clusters+zones
- clusters+hosts
- zones
- zones+hosts
- hosts
filters:
- src_namespace
- dst_namespace
stepInto: owner
- id: owner
name: Owner
shortName: Own
description: Controller owner, such as a Deployment
labels:
- SrcK8S_OwnerName
- SrcK8S_OwnerType
- DstK8S_OwnerName
- DstK8S_OwnerType
- SrcK8S_Namespace
- DstK8S_Namespace
groups:
- clusters
- clusters+zones
- clusters+hosts
- clusters+namespaces
- zones
- zones+hosts
- zones+namespaces
- hosts
- hosts+namespaces
- namespaces
filters:
- src_owner_name
- dst_owner_name
stepInto: resource
- id: resource
name: Resource
shortName: Res
description: Base resource, such as a Pod, a Service or a Node
labels:
- SrcK8S_Name
- SrcK8S_Type
- SrcK8S_OwnerName
- SrcK8S_OwnerType
- SrcK8S_Namespace
- SrcAddr
- SrcK8S_HostName
- DstK8S_Name
- DstK8S_Type
- DstK8S_OwnerName
- DstK8S_OwnerType
- DstK8S_Namespace
- DstAddr
- DstK8S_HostName
groups:
- clusters
- clusters+zones
- clusters+hosts
- clusters+namespaces
- clusters+owners
- zones
- zones+hosts
- zones+namespaces
- zones+owners
- hosts
- hosts+namespaces
- hosts+owners
- namespaces
- namespaces+owners
- owners
filters:
- src_resource
- dst_resource
# Fields definition, used to generate documentation
fields:
- name: TimeFlowStartMs
Expand Down
1 change: 1 addition & 0 deletions controllers/consoleplugin/consoleplugin_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -338,6 +338,7 @@ func TestConfigMapContent(t *testing.T) {
assert.Empty(config.Frontend.Features)
assert.NotEmpty(config.Frontend.Columns)
assert.NotEmpty(config.Frontend.Filters)
assert.NotEmpty(config.Frontend.Scopes)
assert.Equal(config.Frontend.Sampling, 1)
assert.Equal(config.Frontend.Deduper.Mark, false)
assert.Equal(config.Frontend.Deduper.Merge, true)
Expand Down
Loading