syntax = "proto3"; package v1.config; option go_package = "github.com/accuknox/knoxAutoPolicy/protos/v1/config"; // CRUD: Create / Read / Update / Delete service ConfigStore { rpc Add (ConfigRequest) returns (ConfigResponse); rpc Get (ConfigRequest) returns (ConfigResponse); rpc Update (ConfigRequest) returns (ConfigResponse); rpc Delete (ConfigRequest) returns (ConfigResponse); rpc Apply (ConfigRequest) returns (ConfigResponse); } message ConfigRequest { string config_name = 1; Config config = 3; } message ConfigResponse { string msg = 1; repeated Config config = 2; } // ============================ // message ConfigDB { string db_driver = 1; string db_host = 2; string db_port = 3; string db_user = 4; string db_pass = 5; string db_name = 6; string table_auto_policy_config = 7; } message ConfigCiliumHubble { string hubble_url = 1; string hubble_port = 2; } message ConfigKubeArmorRelay { string kubearmor_url = 1; string kubearmor_port = 2; } // ============================ // message NetworkLogFilter { string source_namespace = 1; repeated string source_labels = 2; string destination_namespace = 3; repeated string destination_labels = 4; string protocol = 5; string port_number = 6; } message ConfigNetworkPolicy { int32 operation_mode = 1; string cronjob_time_interval = 2; string one_time_job_time_selection = 3; string network_log_from = 4; string network_log_file = 5; string network_policy_to = 6; string network_policy_dir = 7; int32 network_policy_types = 8; int32 network_policy_rule_types = 9; int32 network_policy_cidrbits = 10; repeated NetworkLogFilter network_policy_log_filters = 11; int32 network_policy_l3_level = 12; int32 network_policy_l4_level = 13; int32 network_policy_l7_level = 14; } // ============================ // message SystemLogFilter { string namespace = 1; repeated string labels = 2; repeated string file_formats = 3; repeated string process_formats = 4; repeated string file_dirs = 5; repeated string process_dirs = 6; } message ConfigSystemPolicy { int32 operation_mode = 1; string cronjob_time_interval = 2; string one_time_job_time_selection = 3; string system_log_from = 4; string system_log_file = 5; string system_policy_to = 6; string system_policy_dir = 7; repeated SystemLogFilter system_policy_log_filters = 8; bool system_policy_proc_fromsource = 9; bool system_policy_file_fromsource = 10; } // ============================ // message ConfigClusterMgmt { string cluster_info_from = 1; string cluster_mgmt_url = 2; } // ============================ // message Config { string config_name = 1; int32 status = 2; ConfigDB config_db = 3; ConfigCiliumHubble config_cilium_hubble = 4; ConfigNetworkPolicy config_network_policy = 5; ConfigSystemPolicy config_system_policy = 6; ConfigClusterMgmt config_cluster_mgmt = 7; ConfigKubeArmorRelay config_kubearmor_relay = 8; }