Documentation
¶
Index ¶
- Constants
- Variables
- func RegisterAgentServiceServer(s grpc.ServiceRegistrar, srv AgentServiceServer)
- func RegisterEnrollmentServiceServer(s grpc.ServiceRegistrar, srv EnrollmentServiceServer)
- type AckStatus
- type AddressGroup
- func (*AddressGroup) Descriptor() ([]byte, []int)deprecated
- func (x *AddressGroup) GetCidrs() []string
- func (x *AddressGroup) GetId() string
- func (x *AddressGroup) GetName() string
- func (*AddressGroup) ProtoMessage()
- func (x *AddressGroup) ProtoReflect() protoreflect.Message
- func (x *AddressGroup) Reset()
- func (x *AddressGroup) String() string
- type AgentInfo
- type AgentServiceClient
- type AgentServiceServer
- type AgentService_ReportFlowsClient
- type AgentService_ReportFlowsServer
- type AgentService_SyncClient
- type AgentService_SyncServer
- type DeltaChange
- func (*DeltaChange) Descriptor() ([]byte, []int)deprecated
- func (x *DeltaChange) GetAddPeers() *PeerChange
- func (x *DeltaChange) GetChange() isDeltaChange_Change
- func (x *DeltaChange) GetRemovePeers() *PeerChange
- func (x *DeltaChange) GetRemoveRuleId() string
- func (x *DeltaChange) GetSetMode() EnforcementMode
- func (x *DeltaChange) GetUpsertRule() *ResolvedRule
- func (*DeltaChange) ProtoMessage()
- func (x *DeltaChange) ProtoReflect() protoreflect.Message
- func (x *DeltaChange) Reset()
- func (x *DeltaChange) String() string
- type DeltaChange_AddPeers
- type DeltaChange_RemovePeers
- type DeltaChange_RemoveRuleId
- type DeltaChange_SetMode
- type DeltaChange_UpsertRule
- type Direction
- type Directive
- func (*Directive) Descriptor() ([]byte, []int)deprecated
- func (x *Directive) GetDirective() isDirective_Directive
- func (x *Directive) GetReconnect() *Reconnect
- func (x *Directive) GetReenroll() *Reenroll
- func (*Directive) ProtoMessage()
- func (x *Directive) ProtoReflect() protoreflect.Message
- func (x *Directive) Reset()
- func (x *Directive) String() string
- type Directive_Reconnect
- type Directive_Reenroll
- type EnforcementMode
- func (EnforcementMode) Descriptor() protoreflect.EnumDescriptor
- func (x EnforcementMode) Enum() *EnforcementMode
- func (EnforcementMode) EnumDescriptor() ([]byte, []int)deprecated
- func (x EnforcementMode) Number() protoreflect.EnumNumber
- func (x EnforcementMode) String() string
- func (EnforcementMode) Type() protoreflect.EnumType
- type EnrollRequest
- func (*EnrollRequest) Descriptor() ([]byte, []int)deprecated
- func (x *EnrollRequest) GetCsrPem() []byte
- func (x *EnrollRequest) GetFacts() *HostFacts
- func (x *EnrollRequest) GetProvisioningToken() string
- func (*EnrollRequest) ProtoMessage()
- func (x *EnrollRequest) ProtoReflect() protoreflect.Message
- func (x *EnrollRequest) Reset()
- func (x *EnrollRequest) String() string
- type EnrollResponse
- func (*EnrollResponse) Descriptor() ([]byte, []int)deprecated
- func (x *EnrollResponse) GetAssignedLabels() []*Label
- func (x *EnrollResponse) GetCaBundlePem() []byte
- func (x *EnrollResponse) GetCertificatePem() []byte
- func (x *EnrollResponse) GetWorkloadId() string
- func (*EnrollResponse) ProtoMessage()
- func (x *EnrollResponse) ProtoReflect() protoreflect.Message
- func (x *EnrollResponse) Reset()
- func (x *EnrollResponse) String() string
- type EnrollmentServiceClient
- type EnrollmentServiceServer
- type EvidenceGap
- func (*EvidenceGap) Descriptor() ([]byte, []int)deprecated
- func (x *EvidenceGap) GetCount() uint64
- func (x *EvidenceGap) GetFrom() *timestamppb.Timestamp
- func (x *EvidenceGap) GetKind() EvidenceGapKind
- func (x *EvidenceGap) GetSource() EvidenceSource
- func (x *EvidenceGap) GetTo() *timestamppb.Timestamp
- func (*EvidenceGap) ProtoMessage()
- func (x *EvidenceGap) ProtoReflect() protoreflect.Message
- func (x *EvidenceGap) Reset()
- func (x *EvidenceGap) String() string
- type EvidenceGapKind
- func (EvidenceGapKind) Descriptor() protoreflect.EnumDescriptor
- func (x EvidenceGapKind) Enum() *EvidenceGapKind
- func (EvidenceGapKind) EnumDescriptor() ([]byte, []int)deprecated
- func (x EvidenceGapKind) Number() protoreflect.EnumNumber
- func (x EvidenceGapKind) String() string
- func (EvidenceGapKind) Type() protoreflect.EnumType
- type EvidenceSource
- func (EvidenceSource) Descriptor() protoreflect.EnumDescriptor
- func (x EvidenceSource) Enum() *EvidenceSource
- func (EvidenceSource) EnumDescriptor() ([]byte, []int)deprecated
- func (x EvidenceSource) Number() protoreflect.EnumNumber
- func (x EvidenceSource) String() string
- func (EvidenceSource) Type() protoreflect.EnumType
- type FlowRecord
- func (*FlowRecord) Descriptor() ([]byte, []int)deprecated
- func (x *FlowRecord) GetByteCount() uint64
- func (x *FlowRecord) GetConnectionCount() uint64
- func (x *FlowRecord) GetDecision() PolicyDecision
- func (x *FlowRecord) GetDirection() Direction
- func (x *FlowRecord) GetDstAddress() string
- func (x *FlowRecord) GetDstPort() uint32
- func (x *FlowRecord) GetFirstSeen() *timestamppb.Timestamp
- func (x *FlowRecord) GetLastSeen() *timestamppb.Timestamp
- func (x *FlowRecord) GetMatchedRuleId() string
- func (x *FlowRecord) GetProcessName() string
- func (x *FlowRecord) GetProtocol() Protocol
- func (x *FlowRecord) GetSrcAddress() string
- func (*FlowRecord) ProtoMessage()
- func (x *FlowRecord) ProtoReflect() protoreflect.Message
- func (x *FlowRecord) Reset()
- func (x *FlowRecord) String() string
- type Heartbeat
- func (*Heartbeat) Descriptor() ([]byte, []int)deprecated
- func (x *Heartbeat) GetCredentialRenewalError() string
- func (x *Heartbeat) GetDroppedFlowRecords() uint64
- func (x *Heartbeat) GetOwnedTable() OwnedTableState
- func (x *Heartbeat) GetSourceOverruns() uint64
- func (x *Heartbeat) GetUptimeSeconds() uint64
- func (*Heartbeat) ProtoMessage()
- func (x *Heartbeat) ProtoReflect() protoreflect.Message
- func (x *Heartbeat) Reset()
- func (x *Heartbeat) String() string
- type Hello
- func (*Hello) Descriptor() ([]byte, []int)deprecated
- func (x *Hello) GetAgent() *AgentInfo
- func (x *Hello) GetAppliedPolicyVersion() uint64
- func (x *Hello) GetFacts() *HostFacts
- func (*Hello) ProtoMessage()
- func (x *Hello) ProtoReflect() protoreflect.Message
- func (x *Hello) Reset()
- func (x *Hello) String() string
- type HelloAck
- type HostFacts
- func (*HostFacts) Descriptor() ([]byte, []int)deprecated
- func (x *HostFacts) GetHostname() string
- func (x *HostFacts) GetInterfaces() []*NetworkInterface
- func (x *HostFacts) GetOs() *OsInfo
- func (*HostFacts) ProtoMessage()
- func (x *HostFacts) ProtoReflect() protoreflect.Message
- func (x *HostFacts) Reset()
- func (x *HostFacts) String() string
- type InventoryReport
- func (*InventoryReport) Descriptor() ([]byte, []int)deprecated
- func (x *InventoryReport) GetFacts() *HostFacts
- func (x *InventoryReport) GetListeningServices() []*ListeningService
- func (*InventoryReport) ProtoMessage()
- func (x *InventoryReport) ProtoReflect() protoreflect.Message
- func (x *InventoryReport) Reset()
- func (x *InventoryReport) String() string
- type Label
- type LabelMatch
- type LabelSelector
- type ListeningService
- func (*ListeningService) Descriptor() ([]byte, []int)deprecated
- func (x *ListeningService) GetPort() uint32
- func (x *ListeningService) GetProcessName() string
- func (x *ListeningService) GetProcessPath() string
- func (x *ListeningService) GetProtocol() Protocol
- func (*ListeningService) ProtoMessage()
- func (x *ListeningService) ProtoReflect() protoreflect.Message
- func (x *ListeningService) Reset()
- func (x *ListeningService) String() string
- type NetworkInterface
- func (*NetworkInterface) Descriptor() ([]byte, []int)deprecated
- func (x *NetworkInterface) GetAddresses() []string
- func (x *NetworkInterface) GetMacAddress() string
- func (x *NetworkInterface) GetName() string
- func (*NetworkInterface) ProtoMessage()
- func (x *NetworkInterface) ProtoReflect() protoreflect.Message
- func (x *NetworkInterface) Reset()
- func (x *NetworkInterface) String() string
- type OsInfo
- func (*OsInfo) Descriptor() ([]byte, []int)deprecated
- func (x *OsInfo) GetArchitecture() string
- func (x *OsInfo) GetFamily() string
- func (x *OsInfo) GetKernelVersion() string
- func (x *OsInfo) GetName() string
- func (x *OsInfo) GetVersion() string
- func (*OsInfo) ProtoMessage()
- func (x *OsInfo) ProtoReflect() protoreflect.Message
- func (x *OsInfo) Reset()
- func (x *OsInfo) String() string
- type OwnedTableState
- func (OwnedTableState) Descriptor() protoreflect.EnumDescriptor
- func (x OwnedTableState) Enum() *OwnedTableState
- func (OwnedTableState) EnumDescriptor() ([]byte, []int)deprecated
- func (x OwnedTableState) Number() protoreflect.EnumNumber
- func (x OwnedTableState) String() string
- func (OwnedTableState) Type() protoreflect.EnumType
- type PeerChange
- type PeerSelector
- func (*PeerSelector) Descriptor() ([]byte, []int)deprecated
- func (x *PeerSelector) GetAddressGroupId() string
- func (x *PeerSelector) GetCidr() string
- func (x *PeerSelector) GetPeer() isPeerSelector_Peer
- func (x *PeerSelector) GetWorkloads() *LabelSelector
- func (*PeerSelector) ProtoMessage()
- func (x *PeerSelector) ProtoReflect() protoreflect.Message
- func (x *PeerSelector) Reset()
- func (x *PeerSelector) String() string
- type PeerSelector_AddressGroupId
- type PeerSelector_Cidr
- type PeerSelector_Workloads
- type PolicyAck
- func (*PolicyAck) Descriptor() ([]byte, []int)deprecated
- func (x *PolicyAck) GetErrorDetail() string
- func (x *PolicyAck) GetStatus() AckStatus
- func (x *PolicyAck) GetVersion() uint64
- func (*PolicyAck) ProtoMessage()
- func (x *PolicyAck) ProtoReflect() protoreflect.Message
- func (x *PolicyAck) Reset()
- func (x *PolicyAck) String() string
- type PolicyDecision
- func (PolicyDecision) Descriptor() protoreflect.EnumDescriptor
- func (x PolicyDecision) Enum() *PolicyDecision
- func (PolicyDecision) EnumDescriptor() ([]byte, []int)deprecated
- func (x PolicyDecision) Number() protoreflect.EnumNumber
- func (x PolicyDecision) String() string
- func (PolicyDecision) Type() protoreflect.EnumType
- type PolicyDelta
- func (*PolicyDelta) Descriptor() ([]byte, []int)deprecated
- func (x *PolicyDelta) GetChanges() []*DeltaChange
- func (x *PolicyDelta) GetFromVersion() uint64
- func (x *PolicyDelta) GetToVersion() uint64
- func (*PolicyDelta) ProtoMessage()
- func (x *PolicyDelta) ProtoReflect() protoreflect.Message
- func (x *PolicyDelta) Reset()
- func (x *PolicyDelta) String() string
- type PolicySnapshot
- type PolicyUpdate
- func (*PolicyUpdate) Descriptor() ([]byte, []int)deprecated
- func (x *PolicyUpdate) GetDelta() *PolicyDelta
- func (x *PolicyUpdate) GetSnapshot() *PolicySnapshot
- func (x *PolicyUpdate) GetUpdate() isPolicyUpdate_Update
- func (*PolicyUpdate) ProtoMessage()
- func (x *PolicyUpdate) ProtoReflect() protoreflect.Message
- func (x *PolicyUpdate) Reset()
- func (x *PolicyUpdate) String() string
- type PolicyUpdate_Delta
- type PolicyUpdate_Snapshot
- type PortRange
- type Protocol
- type Reconnect
- type Reenroll
- type RenewCredentialRequest
- func (*RenewCredentialRequest) Descriptor() ([]byte, []int)deprecated
- func (x *RenewCredentialRequest) GetCsrPem() []byte
- func (*RenewCredentialRequest) ProtoMessage()
- func (x *RenewCredentialRequest) ProtoReflect() protoreflect.Message
- func (x *RenewCredentialRequest) Reset()
- func (x *RenewCredentialRequest) String() string
- type RenewCredentialResponse
- func (*RenewCredentialResponse) Descriptor() ([]byte, []int)deprecated
- func (x *RenewCredentialResponse) GetCaBundlePem() []byte
- func (x *RenewCredentialResponse) GetCertificatePem() []byte
- func (*RenewCredentialResponse) ProtoMessage()
- func (x *RenewCredentialResponse) ProtoReflect() protoreflect.Message
- func (x *RenewCredentialResponse) Reset()
- func (x *RenewCredentialResponse) String() string
- type ReportFlowsRequest
- func (*ReportFlowsRequest) Descriptor() ([]byte, []int)deprecated
- func (x *ReportFlowsRequest) GetGaps() []*EvidenceGap
- func (x *ReportFlowsRequest) GetRecords() []*FlowRecord
- func (x *ReportFlowsRequest) GetSentAt() *timestamppb.Timestamp
- func (x *ReportFlowsRequest) GetWindowEnd() *timestamppb.Timestamp
- func (x *ReportFlowsRequest) GetWindowStart() *timestamppb.Timestamp
- func (*ReportFlowsRequest) ProtoMessage()
- func (x *ReportFlowsRequest) ProtoReflect() protoreflect.Message
- func (x *ReportFlowsRequest) Reset()
- func (x *ReportFlowsRequest) String() string
- type ReportFlowsResponse
- func (*ReportFlowsResponse) Descriptor() ([]byte, []int)deprecated
- func (x *ReportFlowsResponse) GetAcceptedRecords() uint64
- func (*ReportFlowsResponse) ProtoMessage()
- func (x *ReportFlowsResponse) ProtoReflect() protoreflect.Message
- func (x *ReportFlowsResponse) Reset()
- func (x *ReportFlowsResponse) String() string
- type ResolvedRule
- func (*ResolvedRule) Descriptor() ([]byte, []int)deprecated
- func (x *ResolvedRule) GetPeerCidrs() []string
- func (x *ResolvedRule) GetPorts() []*PortRange
- func (x *ResolvedRule) GetProtocol() Protocol
- func (x *ResolvedRule) GetRuleId() string
- func (*ResolvedRule) ProtoMessage()
- func (x *ResolvedRule) ProtoReflect() protoreflect.Message
- func (x *ResolvedRule) Reset()
- func (x *ResolvedRule) String() string
- type Rule
- func (*Rule) Descriptor() ([]byte, []int)deprecated
- func (x *Rule) GetDescription() string
- func (x *Rule) GetDirection() Direction
- func (x *Rule) GetEnabled() bool
- func (x *Rule) GetId() string
- func (x *Rule) GetPeers() []*PeerSelector
- func (x *Rule) GetServiceIds() []string
- func (x *Rule) GetServices() []*ServiceEntry
- func (*Rule) ProtoMessage()
- func (x *Rule) ProtoReflect() protoreflect.Message
- func (x *Rule) Reset()
- func (x *Rule) String() string
- type Ruleset
- func (*Ruleset) Descriptor() ([]byte, []int)deprecated
- func (x *Ruleset) GetDescription() string
- func (x *Ruleset) GetEnabled() bool
- func (x *Ruleset) GetId() string
- func (x *Ruleset) GetName() string
- func (x *Ruleset) GetRules() []*Rule
- func (x *Ruleset) GetScope() *LabelSelector
- func (*Ruleset) ProtoMessage()
- func (x *Ruleset) ProtoReflect() protoreflect.Message
- func (x *Ruleset) Reset()
- func (x *Ruleset) String() string
- type ServiceDefinition
- func (*ServiceDefinition) Descriptor() ([]byte, []int)deprecated
- func (x *ServiceDefinition) GetEntries() []*ServiceEntry
- func (x *ServiceDefinition) GetId() string
- func (x *ServiceDefinition) GetName() string
- func (*ServiceDefinition) ProtoMessage()
- func (x *ServiceDefinition) ProtoReflect() protoreflect.Message
- func (x *ServiceDefinition) Reset()
- func (x *ServiceDefinition) String() string
- type ServiceEntry
- func (*ServiceEntry) Descriptor() ([]byte, []int)deprecated
- func (x *ServiceEntry) GetPorts() []*PortRange
- func (x *ServiceEntry) GetProtocol() Protocol
- func (*ServiceEntry) ProtoMessage()
- func (x *ServiceEntry) ProtoReflect() protoreflect.Message
- func (x *ServiceEntry) Reset()
- func (x *ServiceEntry) String() string
- type SyncConfig
- func (*SyncConfig) Descriptor() ([]byte, []int)deprecated
- func (x *SyncConfig) GetFlowAggregationWindowSeconds() uint32
- func (x *SyncConfig) GetFlowBatchMaxRecords() uint32
- func (x *SyncConfig) GetHeartbeatIntervalSeconds() uint32
- func (x *SyncConfig) GetInventoryReportIntervalSeconds() uint32
- func (*SyncConfig) ProtoMessage()
- func (x *SyncConfig) ProtoReflect() protoreflect.Message
- func (x *SyncConfig) Reset()
- func (x *SyncConfig) String() string
- type SyncRequest
- func (*SyncRequest) Descriptor() ([]byte, []int)deprecated
- func (x *SyncRequest) GetHeartbeat() *Heartbeat
- func (x *SyncRequest) GetHello() *Hello
- func (x *SyncRequest) GetInventory() *InventoryReport
- func (x *SyncRequest) GetMsg() isSyncRequest_Msg
- func (x *SyncRequest) GetPolicyAck() *PolicyAck
- func (*SyncRequest) ProtoMessage()
- func (x *SyncRequest) ProtoReflect() protoreflect.Message
- func (x *SyncRequest) Reset()
- func (x *SyncRequest) String() string
- type SyncRequest_Heartbeat
- type SyncRequest_Hello
- type SyncRequest_Inventory
- type SyncRequest_PolicyAck
- type SyncResponse
- func (*SyncResponse) Descriptor() ([]byte, []int)deprecated
- func (x *SyncResponse) GetDirective() *Directive
- func (x *SyncResponse) GetHelloAck() *HelloAck
- func (x *SyncResponse) GetMsg() isSyncResponse_Msg
- func (x *SyncResponse) GetPolicyUpdate() *PolicyUpdate
- func (*SyncResponse) ProtoMessage()
- func (x *SyncResponse) ProtoReflect() protoreflect.Message
- func (x *SyncResponse) Reset()
- func (x *SyncResponse) String() string
- type SyncResponse_Directive
- type SyncResponse_HelloAck
- type SyncResponse_PolicyUpdate
- type SyncState
- type UnimplementedAgentServiceServer
- func (UnimplementedAgentServiceServer) RenewCredential(context.Context, *RenewCredentialRequest) (*RenewCredentialResponse, error)
- func (UnimplementedAgentServiceServer) ReportFlows(grpc.ClientStreamingServer[ReportFlowsRequest, ReportFlowsResponse]) error
- func (UnimplementedAgentServiceServer) Sync(grpc.BidiStreamingServer[SyncRequest, SyncResponse]) error
- type UnimplementedEnrollmentServiceServer
- type UnsafeAgentServiceServer
- type UnsafeEnrollmentServiceServer
- type Workload
- func (*Workload) Descriptor() ([]byte, []int)deprecated
- func (x *Workload) GetAgent() *AgentInfo
- func (x *Workload) GetEnrolledAt() *timestamppb.Timestamp
- func (x *Workload) GetFacts() *HostFacts
- func (x *Workload) GetLabels() []*Label
- func (x *Workload) GetLastSeen() *timestamppb.Timestamp
- func (x *Workload) GetMode() EnforcementMode
- func (x *Workload) GetSyncState() SyncState
- func (x *Workload) GetWorkloadId() string
- func (*Workload) ProtoMessage()
- func (x *Workload) ProtoReflect() protoreflect.Message
- func (x *Workload) Reset()
- func (x *Workload) String() string
- type WorkloadPolicy
- func (*WorkloadPolicy) Descriptor() ([]byte, []int)deprecated
- func (x *WorkloadPolicy) GetInboundRules() []*ResolvedRule
- func (x *WorkloadPolicy) GetMode() EnforcementMode
- func (x *WorkloadPolicy) GetVersion() uint64
- func (*WorkloadPolicy) ProtoMessage()
- func (x *WorkloadPolicy) ProtoReflect() protoreflect.Message
- func (x *WorkloadPolicy) Reset()
- func (x *WorkloadPolicy) String() string
Constants ¶
const ( AgentService_Sync_FullMethodName = "/innerwall.v1.AgentService/Sync" AgentService_ReportFlows_FullMethodName = "/innerwall.v1.AgentService/ReportFlows" AgentService_RenewCredential_FullMethodName = "/innerwall.v1.AgentService/RenewCredential" )
const (
EnrollmentService_Enroll_FullMethodName = "/innerwall.v1.EnrollmentService/Enroll"
)
Variables ¶
var ( AckStatus_name = map[int32]string{ 0: "ACK_STATUS_UNSPECIFIED", 1: "ACK_STATUS_APPLIED", 2: "ACK_STATUS_FAILED", } AckStatus_value = map[string]int32{ "ACK_STATUS_UNSPECIFIED": 0, "ACK_STATUS_APPLIED": 1, "ACK_STATUS_FAILED": 2, } )
Enum value maps for AckStatus.
var ( OwnedTableState_name = map[int32]string{ 0: "OWNED_TABLE_STATE_UNSPECIFIED", 1: "OWNED_TABLE_STATE_PRESENT", 2: "OWNED_TABLE_STATE_ABSENT", } OwnedTableState_value = map[string]int32{ "OWNED_TABLE_STATE_UNSPECIFIED": 0, "OWNED_TABLE_STATE_PRESENT": 1, "OWNED_TABLE_STATE_ABSENT": 2, } )
Enum value maps for OwnedTableState.
var ( EvidenceGapKind_name = map[int32]string{ 0: "EVIDENCE_GAP_KIND_UNSPECIFIED", 1: "EVIDENCE_GAP_KIND_SOURCE_OVERRUN", 2: "EVIDENCE_GAP_KIND_SOURCE_RESTART", 3: "EVIDENCE_GAP_KIND_BUFFER_OVERFLOW", 4: "EVIDENCE_GAP_KIND_DUMP_TRUNCATED", 5: "EVIDENCE_GAP_KIND_WINDOW_OVERFLOW", 6: "EVIDENCE_GAP_KIND_WINDOW_REJECTED", 7: "EVIDENCE_GAP_KIND_TABLE_REMOVED", 8: "EVIDENCE_GAP_KIND_AGENT_SILENT", } EvidenceGapKind_value = map[string]int32{ "EVIDENCE_GAP_KIND_UNSPECIFIED": 0, "EVIDENCE_GAP_KIND_SOURCE_OVERRUN": 1, "EVIDENCE_GAP_KIND_SOURCE_RESTART": 2, "EVIDENCE_GAP_KIND_BUFFER_OVERFLOW": 3, "EVIDENCE_GAP_KIND_DUMP_TRUNCATED": 4, "EVIDENCE_GAP_KIND_WINDOW_OVERFLOW": 5, "EVIDENCE_GAP_KIND_WINDOW_REJECTED": 6, "EVIDENCE_GAP_KIND_TABLE_REMOVED": 7, "EVIDENCE_GAP_KIND_AGENT_SILENT": 8, } )
Enum value maps for EvidenceGapKind.
var ( EvidenceSource_name = map[int32]string{ 0: "EVIDENCE_SOURCE_UNSPECIFIED", 1: "EVIDENCE_SOURCE_CONNTRACK", 2: "EVIDENCE_SOURCE_NFLOG", } EvidenceSource_value = map[string]int32{ "EVIDENCE_SOURCE_UNSPECIFIED": 0, "EVIDENCE_SOURCE_CONNTRACK": 1, "EVIDENCE_SOURCE_NFLOG": 2, } )
Enum value maps for EvidenceSource.
var ( PolicyDecision_name = map[int32]string{ 0: "POLICY_DECISION_UNSPECIFIED", 1: "POLICY_DECISION_OBSERVED", 2: "POLICY_DECISION_ALLOWED", 3: "POLICY_DECISION_WOULD_BLOCK", 4: "POLICY_DECISION_BLOCKED", } PolicyDecision_value = map[string]int32{ "POLICY_DECISION_UNSPECIFIED": 0, "POLICY_DECISION_OBSERVED": 1, "POLICY_DECISION_ALLOWED": 2, "POLICY_DECISION_WOULD_BLOCK": 3, "POLICY_DECISION_BLOCKED": 4, } )
Enum value maps for PolicyDecision.
var ( Protocol_name = map[int32]string{ 0: "PROTOCOL_UNSPECIFIED", 1: "PROTOCOL_TCP", 2: "PROTOCOL_UDP", 3: "PROTOCOL_ICMP", } Protocol_value = map[string]int32{ "PROTOCOL_UNSPECIFIED": 0, "PROTOCOL_TCP": 1, "PROTOCOL_UDP": 2, "PROTOCOL_ICMP": 3, } )
Enum value maps for Protocol.
var ( EnforcementMode_name = map[int32]string{ 0: "ENFORCEMENT_MODE_UNSPECIFIED", 1: "ENFORCEMENT_MODE_VISIBILITY", 2: "ENFORCEMENT_MODE_SIMULATION", 3: "ENFORCEMENT_MODE_ENFORCED", } EnforcementMode_value = map[string]int32{ "ENFORCEMENT_MODE_UNSPECIFIED": 0, "ENFORCEMENT_MODE_VISIBILITY": 1, "ENFORCEMENT_MODE_SIMULATION": 2, "ENFORCEMENT_MODE_ENFORCED": 3, } )
Enum value maps for EnforcementMode.
var ( SyncState_name = map[int32]string{ 0: "SYNC_STATE_UNSPECIFIED", 1: "SYNC_STATE_SYNCED", 2: "SYNC_STATE_PENDING", 3: "SYNC_STATE_DEGRADED", 4: "SYNC_STATE_OFFLINE", } SyncState_value = map[string]int32{ "SYNC_STATE_UNSPECIFIED": 0, "SYNC_STATE_SYNCED": 1, "SYNC_STATE_PENDING": 2, "SYNC_STATE_DEGRADED": 3, "SYNC_STATE_OFFLINE": 4, } )
Enum value maps for SyncState.
var ( Direction_name = map[int32]string{ 0: "DIRECTION_UNSPECIFIED", 1: "DIRECTION_INBOUND", 2: "DIRECTION_OUTBOUND", } Direction_value = map[string]int32{ "DIRECTION_UNSPECIFIED": 0, "DIRECTION_INBOUND": 1, "DIRECTION_OUTBOUND": 2, } )
Enum value maps for Direction.
var AgentService_ServiceDesc = grpc.ServiceDesc{ ServiceName: "innerwall.v1.AgentService", HandlerType: (*AgentServiceServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "RenewCredential", Handler: _AgentService_RenewCredential_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "Sync", Handler: _AgentService_Sync_Handler, ServerStreams: true, ClientStreams: true, }, { StreamName: "ReportFlows", Handler: _AgentService_ReportFlows_Handler, ClientStreams: true, }, }, Metadata: "innerwall/v1/agent.proto", }
AgentService_ServiceDesc is the grpc.ServiceDesc for AgentService service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)
var EnrollmentService_ServiceDesc = grpc.ServiceDesc{ ServiceName: "innerwall.v1.EnrollmentService", HandlerType: (*EnrollmentServiceServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "Enroll", Handler: _EnrollmentService_Enroll_Handler, }, }, Streams: []grpc.StreamDesc{}, Metadata: "innerwall/v1/agent.proto", }
EnrollmentService_ServiceDesc is the grpc.ServiceDesc for EnrollmentService service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)
var File_innerwall_v1_agent_proto protoreflect.FileDescriptor
var File_innerwall_v1_inventory_proto protoreflect.FileDescriptor
var File_innerwall_v1_policy_proto protoreflect.FileDescriptor
Functions ¶
func RegisterAgentServiceServer ¶
func RegisterAgentServiceServer(s grpc.ServiceRegistrar, srv AgentServiceServer)
func RegisterEnrollmentServiceServer ¶
func RegisterEnrollmentServiceServer(s grpc.ServiceRegistrar, srv EnrollmentServiceServer)
Types ¶
type AckStatus ¶
type AckStatus int32
const ( AckStatus_ACK_STATUS_UNSPECIFIED AckStatus = 0 // The update was applied atomically to the host firewall. AckStatus_ACK_STATUS_APPLIED AckStatus = 1 // The apply failed as a unit; the agent remains on its previous version. // Partial application is not representable by design: a version number is // only meaningful if it describes the complete installed state. AckStatus_ACK_STATUS_FAILED AckStatus = 2 )
func (AckStatus) Descriptor ¶
func (AckStatus) Descriptor() protoreflect.EnumDescriptor
func (AckStatus) EnumDescriptor
deprecated
func (AckStatus) Number ¶
func (x AckStatus) Number() protoreflect.EnumNumber
func (AckStatus) Type ¶
func (AckStatus) Type() protoreflect.EnumType
type AddressGroup ¶
type AddressGroup struct {
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
// CIDR notation.
Cidrs []string `protobuf:"bytes,3,rep,name=cidrs,proto3" json:"cidrs,omitempty"`
// contains filtered or unexported fields
}
A named set of addresses for peers that are not managed workloads (databases without agents, corporate ranges, external services). These exist from day one: no fleet is ever fully enrolled.
func (*AddressGroup) Descriptor
deprecated
func (*AddressGroup) Descriptor() ([]byte, []int)
Deprecated: Use AddressGroup.ProtoReflect.Descriptor instead.
func (*AddressGroup) GetCidrs ¶
func (x *AddressGroup) GetCidrs() []string
func (*AddressGroup) GetId ¶
func (x *AddressGroup) GetId() string
func (*AddressGroup) GetName ¶
func (x *AddressGroup) GetName() string
func (*AddressGroup) ProtoMessage ¶
func (*AddressGroup) ProtoMessage()
func (*AddressGroup) ProtoReflect ¶
func (x *AddressGroup) ProtoReflect() protoreflect.Message
func (*AddressGroup) Reset ¶
func (x *AddressGroup) Reset()
func (*AddressGroup) String ¶
func (x *AddressGroup) String() string
type AgentInfo ¶
type AgentInfo struct {
Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
// Feature capabilities the agent supports, as opaque strings. Lets the
// control plane vary behavior across agent versions without a schema change.
Capabilities []string `protobuf:"bytes,2,rep,name=capabilities,proto3" json:"capabilities,omitempty"`
// contains filtered or unexported fields
}
func (*AgentInfo) Descriptor
deprecated
func (*AgentInfo) GetCapabilities ¶
func (*AgentInfo) GetVersion ¶
func (*AgentInfo) ProtoMessage ¶
func (*AgentInfo) ProtoMessage()
func (*AgentInfo) ProtoReflect ¶
func (x *AgentInfo) ProtoReflect() protoreflect.Message
type AgentServiceClient ¶
type AgentServiceClient interface {
// The desired-state sync stream. Lifecycle:
// 1. Agent connects and sends Hello (agent info, host facts, last
// applied policy version — 0 if none).
// 2. Server replies HelloAck (sync configuration), then unconditionally
// sends a PolicySnapshot. Deltas are only ever sent within a live
// stream, after the snapshot; reconnection always restarts from a
// snapshot. This trades a few kilobytes on reconnect for the
// elimination of cross-session divergence as a failure class.
// 3. Server pipelines PolicyUpdates without waiting for acks. The agent
// applies updates strictly in order and acks each one. Apply is
// atomic: on failure the agent remains on its last good version and
// acks FAILED, and the server's recovery move is a fresh snapshot,
// never a retried delta.
//
// Low-volume control traffic only. Flow telemetry is deliberately a
// separate RPC so that reporting volume can never head-of-line-block a
// policy update.
Sync(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[SyncRequest, SyncResponse], error)
// High-volume, loss-tolerant flow telemetry. The agent aggregates flows
// over the window configured in SyncConfig and uploads batches. The
// response is returned when the client closes the stream.
ReportFlows(ctx context.Context, opts ...grpc.CallOption) (grpc.ClientStreamingClient[ReportFlowsRequest, ReportFlowsResponse], error)
// Rotate the workload credential before expiry. Authenticated by the
// current credential; the renewed credential binds the same identity.
RenewCredential(ctx context.Context, in *RenewCredentialRequest, opts ...grpc.CallOption) (*RenewCredentialResponse, error)
}
AgentServiceClient is the client API for AgentService service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
func NewAgentServiceClient ¶
func NewAgentServiceClient(cc grpc.ClientConnInterface) AgentServiceClient
type AgentServiceServer ¶
type AgentServiceServer interface {
// The desired-state sync stream. Lifecycle:
// 1. Agent connects and sends Hello (agent info, host facts, last
// applied policy version — 0 if none).
// 2. Server replies HelloAck (sync configuration), then unconditionally
// sends a PolicySnapshot. Deltas are only ever sent within a live
// stream, after the snapshot; reconnection always restarts from a
// snapshot. This trades a few kilobytes on reconnect for the
// elimination of cross-session divergence as a failure class.
// 3. Server pipelines PolicyUpdates without waiting for acks. The agent
// applies updates strictly in order and acks each one. Apply is
// atomic: on failure the agent remains on its last good version and
// acks FAILED, and the server's recovery move is a fresh snapshot,
// never a retried delta.
//
// Low-volume control traffic only. Flow telemetry is deliberately a
// separate RPC so that reporting volume can never head-of-line-block a
// policy update.
Sync(grpc.BidiStreamingServer[SyncRequest, SyncResponse]) error
// High-volume, loss-tolerant flow telemetry. The agent aggregates flows
// over the window configured in SyncConfig and uploads batches. The
// response is returned when the client closes the stream.
ReportFlows(grpc.ClientStreamingServer[ReportFlowsRequest, ReportFlowsResponse]) error
// Rotate the workload credential before expiry. Authenticated by the
// current credential; the renewed credential binds the same identity.
RenewCredential(context.Context, *RenewCredentialRequest) (*RenewCredentialResponse, error)
// contains filtered or unexported methods
}
AgentServiceServer is the server API for AgentService service. All implementations must embed UnimplementedAgentServiceServer for forward compatibility.
type AgentService_ReportFlowsClient ¶
type AgentService_ReportFlowsClient = grpc.ClientStreamingClient[ReportFlowsRequest, ReportFlowsResponse]
This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type AgentService_ReportFlowsServer ¶
type AgentService_ReportFlowsServer = grpc.ClientStreamingServer[ReportFlowsRequest, ReportFlowsResponse]
This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type AgentService_SyncClient ¶
type AgentService_SyncClient = grpc.BidiStreamingClient[SyncRequest, SyncResponse]
This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type AgentService_SyncServer ¶
type AgentService_SyncServer = grpc.BidiStreamingServer[SyncRequest, SyncResponse]
This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type DeltaChange ¶
type DeltaChange struct {
// Types that are valid to be assigned to Change:
//
// *DeltaChange_UpsertRule
// *DeltaChange_RemoveRuleId
// *DeltaChange_AddPeers
// *DeltaChange_RemovePeers
// *DeltaChange_SetMode
Change isDeltaChange_Change `protobuf_oneof:"change"`
// contains filtered or unexported fields
}
func (*DeltaChange) Descriptor
deprecated
func (*DeltaChange) Descriptor() ([]byte, []int)
Deprecated: Use DeltaChange.ProtoReflect.Descriptor instead.
func (*DeltaChange) GetAddPeers ¶
func (x *DeltaChange) GetAddPeers() *PeerChange
func (*DeltaChange) GetChange ¶
func (x *DeltaChange) GetChange() isDeltaChange_Change
func (*DeltaChange) GetRemovePeers ¶
func (x *DeltaChange) GetRemovePeers() *PeerChange
func (*DeltaChange) GetRemoveRuleId ¶
func (x *DeltaChange) GetRemoveRuleId() string
func (*DeltaChange) GetSetMode ¶
func (x *DeltaChange) GetSetMode() EnforcementMode
func (*DeltaChange) GetUpsertRule ¶
func (x *DeltaChange) GetUpsertRule() *ResolvedRule
func (*DeltaChange) ProtoMessage ¶
func (*DeltaChange) ProtoMessage()
func (*DeltaChange) ProtoReflect ¶
func (x *DeltaChange) ProtoReflect() protoreflect.Message
func (*DeltaChange) Reset ¶
func (x *DeltaChange) Reset()
func (*DeltaChange) String ¶
func (x *DeltaChange) String() string
type DeltaChange_AddPeers ¶
type DeltaChange_AddPeers struct {
// Add peers to an existing resolved rule's peer set.
AddPeers *PeerChange `protobuf:"bytes,3,opt,name=add_peers,json=addPeers,proto3,oneof"`
}
type DeltaChange_RemovePeers ¶
type DeltaChange_RemovePeers struct {
// Remove peers from an existing resolved rule's peer set.
RemovePeers *PeerChange `protobuf:"bytes,4,opt,name=remove_peers,json=removePeers,proto3,oneof"`
}
type DeltaChange_RemoveRuleId ¶
type DeltaChange_RemoveRuleId struct {
// Remove a resolved rule by its id (see ResolvedRule.rule_id).
RemoveRuleId string `protobuf:"bytes,2,opt,name=remove_rule_id,json=removeRuleId,proto3,oneof"`
}
type DeltaChange_SetMode ¶
type DeltaChange_SetMode struct {
// Change the workload's enforcement mode.
SetMode EnforcementMode `protobuf:"varint,5,opt,name=set_mode,json=setMode,proto3,enum=innerwall.v1.EnforcementMode,oneof"`
}
type DeltaChange_UpsertRule ¶
type DeltaChange_UpsertRule struct {
// Add a new resolved rule, or replace an existing one wholesale.
UpsertRule *ResolvedRule `protobuf:"bytes,1,opt,name=upsert_rule,json=upsertRule,proto3,oneof"`
}
type Direction ¶
type Direction int32
Traffic direction relative to the workloads in a ruleset's scope. Both values are defined now so that enabling outbound later is an admission-validation change, not a schema change (ADR-0010). In v1 the control plane rejects any rule with DIRECTION_OUTBOUND at admission.
func (Direction) Descriptor ¶
func (Direction) Descriptor() protoreflect.EnumDescriptor
func (Direction) EnumDescriptor
deprecated
func (Direction) Number ¶
func (x Direction) Number() protoreflect.EnumNumber
func (Direction) Type ¶
func (Direction) Type() protoreflect.EnumType
type Directive ¶
type Directive struct {
// Types that are valid to be assigned to Directive:
//
// *Directive_Reconnect
// *Directive_Reenroll
Directive isDirective_Directive `protobuf_oneof:"directive"`
// contains filtered or unexported fields
}
Server-initiated commands. Modeled as a oneof of messages rather than an enum so future directives can carry payloads without a breaking change.
func (*Directive) Descriptor
deprecated
func (*Directive) GetDirective ¶
func (x *Directive) GetDirective() isDirective_Directive
func (*Directive) GetReconnect ¶
func (*Directive) GetReenroll ¶
func (*Directive) ProtoMessage ¶
func (*Directive) ProtoMessage()
func (*Directive) ProtoReflect ¶
func (x *Directive) ProtoReflect() protoreflect.Message
type Directive_Reconnect ¶
type Directive_Reconnect struct {
// Tear down and re-establish the sync stream (which restarts from a
// snapshot by the stream lifecycle rules).
Reconnect *Reconnect `protobuf:"bytes,1,opt,name=reconnect,proto3,oneof"`
}
type Directive_Reenroll ¶
type Directive_Reenroll struct {
// Never sent; deprecated and reserved-unused. The control plane does
// not direct re-enrollment: a workload whose credential is past the
// renewal grace is refused, with a reason naming re-enrollment, at
// renewal and at stream open, and its agent keeps enforcing from disk
// and retrying until the operator enrolls the host again with a new
// provisioning token. The field stays so its number is never reassigned,
// and agents keep handling it for wire compatibility (ADR-0015 as
// amended).
Reenroll *Reenroll `protobuf:"bytes,2,opt,name=reenroll,proto3,oneof"`
}
type EnforcementMode ¶
type EnforcementMode int32
How the agent treats traffic that the rendered policy would deny. Progression is visibility -> simulation -> enforced: policy is authored and validated against observed traffic before anything is dropped.
const ( EnforcementMode_ENFORCEMENT_MODE_UNSPECIFIED EnforcementMode = 0 // Observe and report flows only. No policy evaluation required. EnforcementMode_ENFORCEMENT_MODE_VISIBILITY EnforcementMode = 1 // Evaluate rendered policy against observed flows and report would-be // denials, but drop nothing. EnforcementMode_ENFORCEMENT_MODE_SIMULATION EnforcementMode = 2 // Evaluate rendered policy and drop denied traffic. EnforcementMode_ENFORCEMENT_MODE_ENFORCED EnforcementMode = 3 )
func (EnforcementMode) Descriptor ¶
func (EnforcementMode) Descriptor() protoreflect.EnumDescriptor
func (EnforcementMode) Enum ¶
func (x EnforcementMode) Enum() *EnforcementMode
func (EnforcementMode) EnumDescriptor
deprecated
func (EnforcementMode) EnumDescriptor() ([]byte, []int)
Deprecated: Use EnforcementMode.Descriptor instead.
func (EnforcementMode) Number ¶
func (x EnforcementMode) Number() protoreflect.EnumNumber
func (EnforcementMode) String ¶
func (x EnforcementMode) String() string
func (EnforcementMode) Type ¶
func (EnforcementMode) Type() protoreflect.EnumType
type EnrollRequest ¶
type EnrollRequest struct {
// Provisioning token. Tokens are scoped, not single-use: a token minted for
// a label set can enroll many workloads (baked into an image or provisioning
// pipeline), and the control plane assigns that label set at enrollment.
ProvisioningToken string `protobuf:"bytes,1,opt,name=provisioning_token,json=provisioningToken,proto3" json:"provisioning_token,omitempty"`
// PKCS#10 certificate signing request, PEM-encoded. The private key never
// leaves the host.
CsrPem []byte `protobuf:"bytes,2,opt,name=csr_pem,json=csrPem,proto3" json:"csr_pem,omitempty"`
// Host facts observed at enrollment time. Descriptive only — facts never
// influence identity or authorization (ADR-0004).
Facts *HostFacts `protobuf:"bytes,3,opt,name=facts,proto3" json:"facts,omitempty"`
// contains filtered or unexported fields
}
func (*EnrollRequest) Descriptor
deprecated
func (*EnrollRequest) Descriptor() ([]byte, []int)
Deprecated: Use EnrollRequest.ProtoReflect.Descriptor instead.
func (*EnrollRequest) GetCsrPem ¶
func (x *EnrollRequest) GetCsrPem() []byte
func (*EnrollRequest) GetFacts ¶
func (x *EnrollRequest) GetFacts() *HostFacts
func (*EnrollRequest) GetProvisioningToken ¶
func (x *EnrollRequest) GetProvisioningToken() string
func (*EnrollRequest) ProtoMessage ¶
func (*EnrollRequest) ProtoMessage()
func (*EnrollRequest) ProtoReflect ¶
func (x *EnrollRequest) ProtoReflect() protoreflect.Message
func (*EnrollRequest) Reset ¶
func (x *EnrollRequest) Reset()
func (*EnrollRequest) String ¶
func (x *EnrollRequest) String() string
type EnrollResponse ¶
type EnrollResponse struct {
// The identity granted to this workload. Also bound into the issued
// credential; from this point on, identity is always taken from the
// connection credential, and this field exists for agent-side logging
// and diagnostics only.
WorkloadId string `protobuf:"bytes,1,opt,name=workload_id,json=workloadId,proto3" json:"workload_id,omitempty"`
// Signed client certificate, PEM-encoded.
CertificatePem []byte `protobuf:"bytes,2,opt,name=certificate_pem,json=certificatePem,proto3" json:"certificate_pem,omitempty"`
// CA bundle for verifying the control plane, PEM-encoded.
CaBundlePem []byte `protobuf:"bytes,3,opt,name=ca_bundle_pem,json=caBundlePem,proto3" json:"ca_bundle_pem,omitempty"`
// Labels assigned from the provisioning token's scope.
AssignedLabels []*Label `protobuf:"bytes,4,rep,name=assigned_labels,json=assignedLabels,proto3" json:"assigned_labels,omitempty"`
// contains filtered or unexported fields
}
func (*EnrollResponse) Descriptor
deprecated
func (*EnrollResponse) Descriptor() ([]byte, []int)
Deprecated: Use EnrollResponse.ProtoReflect.Descriptor instead.
func (*EnrollResponse) GetAssignedLabels ¶
func (x *EnrollResponse) GetAssignedLabels() []*Label
func (*EnrollResponse) GetCaBundlePem ¶
func (x *EnrollResponse) GetCaBundlePem() []byte
func (*EnrollResponse) GetCertificatePem ¶
func (x *EnrollResponse) GetCertificatePem() []byte
func (*EnrollResponse) GetWorkloadId ¶
func (x *EnrollResponse) GetWorkloadId() string
func (*EnrollResponse) ProtoMessage ¶
func (*EnrollResponse) ProtoMessage()
func (*EnrollResponse) ProtoReflect ¶
func (x *EnrollResponse) ProtoReflect() protoreflect.Message
func (*EnrollResponse) Reset ¶
func (x *EnrollResponse) Reset()
func (*EnrollResponse) String ¶
func (x *EnrollResponse) String() string
type EnrollmentServiceClient ¶
type EnrollmentServiceClient interface {
// Exchange a provisioning token and a certificate signing request for a
// workload identity and signed credential.
Enroll(ctx context.Context, in *EnrollRequest, opts ...grpc.CallOption) (*EnrollResponse, error)
}
EnrollmentServiceClient is the client API for EnrollmentService service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
func NewEnrollmentServiceClient ¶
func NewEnrollmentServiceClient(cc grpc.ClientConnInterface) EnrollmentServiceClient
type EnrollmentServiceServer ¶
type EnrollmentServiceServer interface {
// Exchange a provisioning token and a certificate signing request for a
// workload identity and signed credential.
Enroll(context.Context, *EnrollRequest) (*EnrollResponse, error)
// contains filtered or unexported methods
}
EnrollmentServiceServer is the server API for EnrollmentService service. All implementations must embed UnimplementedEnrollmentServiceServer for forward compatibility.
type EvidenceGap ¶
type EvidenceGap struct {
Kind EvidenceGapKind `protobuf:"varint,1,opt,name=kind,proto3,enum=innerwall.v1.EvidenceGapKind" json:"kind,omitempty"`
// The source that lost the evidence; unspecified for a loss that is not
// one source's (a buffer overflow drops records of every source).
Source EvidenceSource `protobuf:"varint,2,opt,name=source,proto3,enum=innerwall.v1.EvidenceSource" json:"source,omitempty"`
From *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=from,proto3" json:"from,omitempty"`
To *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=to,proto3" json:"to,omitempty"`
// How many records, table entries, or observations were lost, when that
// is known: for a buffer overflow, a truncated dump, a window overflow,
// and a rejected window. A kernel-side loss has no count.
Count *uint64 `protobuf:"varint,5,opt,name=count,proto3,oneof" json:"count,omitempty"`
// contains filtered or unexported fields
}
An interval [from, to) in which a workload's flow evidence is known to be incomplete: something was lost there that cannot be recovered, only bounded in time. Every kind of loss the agent can detect is expressed this way, so a reader asks one question of a time range: is the evidence in it whole?
func (*EvidenceGap) Descriptor
deprecated
func (*EvidenceGap) Descriptor() ([]byte, []int)
Deprecated: Use EvidenceGap.ProtoReflect.Descriptor instead.
func (*EvidenceGap) GetCount ¶
func (x *EvidenceGap) GetCount() uint64
func (*EvidenceGap) GetFrom ¶
func (x *EvidenceGap) GetFrom() *timestamppb.Timestamp
func (*EvidenceGap) GetKind ¶
func (x *EvidenceGap) GetKind() EvidenceGapKind
func (*EvidenceGap) GetSource ¶
func (x *EvidenceGap) GetSource() EvidenceSource
func (*EvidenceGap) GetTo ¶
func (x *EvidenceGap) GetTo() *timestamppb.Timestamp
func (*EvidenceGap) ProtoMessage ¶
func (*EvidenceGap) ProtoMessage()
func (*EvidenceGap) ProtoReflect ¶
func (x *EvidenceGap) ProtoReflect() protoreflect.Message
func (*EvidenceGap) Reset ¶
func (x *EvidenceGap) Reset()
func (*EvidenceGap) String ¶
func (x *EvidenceGap) String() string
type EvidenceGapKind ¶
type EvidenceGapKind int32
const ( EvidenceGapKind_EVIDENCE_GAP_KIND_UNSPECIFIED EvidenceGapKind = 0 // The kernel dropped events because the source's socket buffer was full. EvidenceGapKind_EVIDENCE_GAP_KIND_SOURCE_OVERRUN EvidenceGapKind = 1 // The source was down between a failure and its next subscribe. EvidenceGapKind_EVIDENCE_GAP_KIND_SOURCE_RESTART EvidenceGapKind = 2 // Closed windows were dropped because the agent's buffer was full while // the control plane was unreachable. EvidenceGapKind_EVIDENCE_GAP_KIND_BUFFER_OVERFLOW EvidenceGapKind = 3 // The connection table held more entries at subscribe than the source // processes; the interval runs from the subscribe to the last skipped // connection seen closing. EvidenceGapKind_EVIDENCE_GAP_KIND_DUMP_TRUNCATED EvidenceGapKind = 4 // The open aggregation window held as many distinct keys as the agent // allows, and observations for new keys were dropped; the interval runs // from the first drop to the window's close, and the count is the // observations dropped. EvidenceGapKind_EVIDENCE_GAP_KIND_WINDOW_OVERFLOW EvidenceGapKind = 5 // The control plane refused a closed window as malformed, and the agent // dropped it rather than retry a report that can never be accepted; the // interval is the window's bounds and the count is its records. EvidenceGapKind_EVIDENCE_GAP_KIND_WINDOW_REJECTED EvidenceGapKind = 6 // The owned table was gone from the kernel, so neither the observation // that depends on it nor the classification its marks carry could be // trusted: the interval runs from the last instant the agent knew the // table present to the instant it was installed again, and is shipped in // pieces, one with each window, while the table stays gone. Not one // source's loss; no count. EvidenceGapKind_EVIDENCE_GAP_KIND_TABLE_REMOVED EvidenceGapKind = 7 // The control plane received no flow report from the workload's agent // over the interval, and no window delivered afterwards covered it: the // agent process was down, or it lost what it would have reported. The // one kind the control plane derives itself, from the receipt instants // of consecutive reports; an agent cannot observe its own absence, so a // reported gap of this kind is refused at ingest. Not one source's // loss; no count. EvidenceGapKind_EVIDENCE_GAP_KIND_AGENT_SILENT EvidenceGapKind = 8 )
func (EvidenceGapKind) Descriptor ¶
func (EvidenceGapKind) Descriptor() protoreflect.EnumDescriptor
func (EvidenceGapKind) Enum ¶
func (x EvidenceGapKind) Enum() *EvidenceGapKind
func (EvidenceGapKind) EnumDescriptor
deprecated
func (EvidenceGapKind) EnumDescriptor() ([]byte, []int)
Deprecated: Use EvidenceGapKind.Descriptor instead.
func (EvidenceGapKind) Number ¶
func (x EvidenceGapKind) Number() protoreflect.EnumNumber
func (EvidenceGapKind) String ¶
func (x EvidenceGapKind) String() string
func (EvidenceGapKind) Type ¶
func (EvidenceGapKind) Type() protoreflect.EnumType
type EvidenceSource ¶
type EvidenceSource int32
The agent's flow sources.
const ( EvidenceSource_EVIDENCE_SOURCE_UNSPECIFIED EvidenceSource = 0 // Connection tracking: connections and their bytes. EvidenceSource_EVIDENCE_SOURCE_CONNTRACK EvidenceSource = 1 // The terminal rule's packet log: blocked and would-block attempts. EvidenceSource_EVIDENCE_SOURCE_NFLOG EvidenceSource = 2 )
func (EvidenceSource) Descriptor ¶
func (EvidenceSource) Descriptor() protoreflect.EnumDescriptor
func (EvidenceSource) Enum ¶
func (x EvidenceSource) Enum() *EvidenceSource
func (EvidenceSource) EnumDescriptor
deprecated
func (EvidenceSource) EnumDescriptor() ([]byte, []int)
Deprecated: Use EvidenceSource.Descriptor instead.
func (EvidenceSource) Number ¶
func (x EvidenceSource) Number() protoreflect.EnumNumber
func (EvidenceSource) String ¶
func (x EvidenceSource) String() string
func (EvidenceSource) Type ¶
func (EvidenceSource) Type() protoreflect.EnumType
type FlowRecord ¶
type FlowRecord struct {
SrcAddress string `protobuf:"bytes,1,opt,name=src_address,json=srcAddress,proto3" json:"src_address,omitempty"`
DstAddress string `protobuf:"bytes,2,opt,name=dst_address,json=dstAddress,proto3" json:"dst_address,omitempty"`
DstPort uint32 `protobuf:"varint,3,opt,name=dst_port,json=dstPort,proto3" json:"dst_port,omitempty"`
Protocol Protocol `protobuf:"varint,4,opt,name=protocol,proto3,enum=innerwall.v1.Protocol" json:"protocol,omitempty"`
// Direction relative to the reporting workload. Only DIRECTION_INBOUND is
// produced in v1 (ADR-0010); the field exists so records are
// self-describing when outbound observation lands.
Direction Direction `protobuf:"varint,5,opt,name=direction,proto3,enum=innerwall.v1.Direction" json:"direction,omitempty"`
Decision PolicyDecision `protobuf:"varint,6,opt,name=decision,proto3,enum=innerwall.v1.PolicyDecision" json:"decision,omitempty"`
// The rendered rule that matched, when a policy evaluation occurred.
// Empty for OBSERVED records and for flows no rule matched.
MatchedRuleId string `protobuf:"bytes,7,opt,name=matched_rule_id,json=matchedRuleId,proto3" json:"matched_rule_id,omitempty"`
// Connections opened, or found live when the source subscribed, in the
// window. A connection that predates the source's subscription (at agent
// start, or after the source restarted) is counted once, first seen at
// the subscription; one whose close is the first the source saw of it is
// counted at its close.
ConnectionCount uint64 `protobuf:"varint,8,opt,name=connection_count,json=connectionCount,proto3" json:"connection_count,omitempty"`
ByteCount uint64 `protobuf:"varint,9,opt,name=byte_count,json=byteCount,proto3" json:"byte_count,omitempty"`
FirstSeen *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=first_seen,json=firstSeen,proto3" json:"first_seen,omitempty"`
LastSeen *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=last_seen,json=lastSeen,proto3" json:"last_seen,omitempty"`
// Best-effort process attribution on the reporting host.
ProcessName string `protobuf:"bytes,12,opt,name=process_name,json=processName,proto3" json:"process_name,omitempty"`
// contains filtered or unexported fields
}
An aggregated flow observation. Flows are aggregated per unique (src_address, dst_address, dst_port, protocol, direction, decision, matched_rule_id) within the reporting window: two records alike in every other key but admitted by different rules stay two records. The ephemeral source port is deliberately not part of the record, since it carries no policy meaning and would defeat aggregation.
func (*FlowRecord) Descriptor
deprecated
func (*FlowRecord) Descriptor() ([]byte, []int)
Deprecated: Use FlowRecord.ProtoReflect.Descriptor instead.
func (*FlowRecord) GetByteCount ¶
func (x *FlowRecord) GetByteCount() uint64
func (*FlowRecord) GetConnectionCount ¶
func (x *FlowRecord) GetConnectionCount() uint64
func (*FlowRecord) GetDecision ¶
func (x *FlowRecord) GetDecision() PolicyDecision
func (*FlowRecord) GetDirection ¶
func (x *FlowRecord) GetDirection() Direction
func (*FlowRecord) GetDstAddress ¶
func (x *FlowRecord) GetDstAddress() string
func (*FlowRecord) GetDstPort ¶
func (x *FlowRecord) GetDstPort() uint32
func (*FlowRecord) GetFirstSeen ¶
func (x *FlowRecord) GetFirstSeen() *timestamppb.Timestamp
func (*FlowRecord) GetLastSeen ¶
func (x *FlowRecord) GetLastSeen() *timestamppb.Timestamp
func (*FlowRecord) GetMatchedRuleId ¶
func (x *FlowRecord) GetMatchedRuleId() string
func (*FlowRecord) GetProcessName ¶
func (x *FlowRecord) GetProcessName() string
func (*FlowRecord) GetProtocol ¶
func (x *FlowRecord) GetProtocol() Protocol
func (*FlowRecord) GetSrcAddress ¶
func (x *FlowRecord) GetSrcAddress() string
func (*FlowRecord) ProtoMessage ¶
func (*FlowRecord) ProtoMessage()
func (*FlowRecord) ProtoReflect ¶
func (x *FlowRecord) ProtoReflect() protoreflect.Message
func (*FlowRecord) Reset ¶
func (x *FlowRecord) Reset()
func (*FlowRecord) String ¶
func (x *FlowRecord) String() string
type Heartbeat ¶
type Heartbeat struct {
UptimeSeconds uint64 `protobuf:"varint,1,opt,name=uptime_seconds,json=uptimeSeconds,proto3" json:"uptime_seconds,omitempty"`
// Flow records dropped by the agent since the stream opened (buffer
// pressure). Non-zero values tell the operator that the flow map is
// incomplete before they trust it for policy authoring.
DroppedFlowRecords uint64 `protobuf:"varint,2,opt,name=dropped_flow_records,json=droppedFlowRecords,proto3" json:"dropped_flow_records,omitempty"`
// The reason the most recent automatic credential renewal failed, or
// empty when the last attempt succeeded or none has been due yet. A
// workload that keeps reporting a reason is heading for expiry and
// re-enrollment; surfacing it here lets the operator act before the
// credential lapses (ADR-0016).
CredentialRenewalError string `` /* 129-byte string literal not displayed */
// Kernel-side overruns of the agent's flow sources since the agent
// started: each is a moment the kernel dropped events because a source
// fell behind. Each is also reported as an EvidenceGap with its interval;
// this is the live counter beside dropped_flow_records.
SourceOverruns uint64 `protobuf:"varint,4,opt,name=source_overruns,json=sourceOverruns,proto3" json:"source_overruns,omitempty"`
// Whether the Innerwall-owned firewall table is in the kernel, read when
// this heartbeat is composed. Everything the agent enforces and observes
// lives in that table, and the local kill switch removes it without the
// control plane (ADR-0011), so the version the agent last acknowledged
// says nothing about whether it is still installed; this does.
// UNSPECIFIED from an agent that predates the field, from one that has
// installed nothing yet, or when the read failed.
OwnedTable OwnedTableState `` /* 126-byte string literal not displayed */
// contains filtered or unexported fields
}
Lightweight liveness signal with backpressure visibility.
func (*Heartbeat) Descriptor
deprecated
func (*Heartbeat) GetCredentialRenewalError ¶
func (*Heartbeat) GetDroppedFlowRecords ¶
func (*Heartbeat) GetOwnedTable ¶ added in v0.2.0
func (x *Heartbeat) GetOwnedTable() OwnedTableState
func (*Heartbeat) GetSourceOverruns ¶
func (*Heartbeat) GetUptimeSeconds ¶
func (*Heartbeat) ProtoMessage ¶
func (*Heartbeat) ProtoMessage()
func (*Heartbeat) ProtoReflect ¶
func (x *Heartbeat) ProtoReflect() protoreflect.Message
type Hello ¶
type Hello struct {
Agent *AgentInfo `protobuf:"bytes,1,opt,name=agent,proto3" json:"agent,omitempty"`
// The policy version currently applied on the host; 0 if none. Informs
// server-side status only — the server always responds with a snapshot
// regardless of this value.
AppliedPolicyVersion uint64 `protobuf:"varint,2,opt,name=applied_policy_version,json=appliedPolicyVersion,proto3" json:"applied_policy_version,omitempty"`
Facts *HostFacts `protobuf:"bytes,3,opt,name=facts,proto3" json:"facts,omitempty"`
// contains filtered or unexported fields
}
First message on every stream, agent -> server.
func (*Hello) Descriptor
deprecated
func (*Hello) GetAppliedPolicyVersion ¶
func (*Hello) ProtoMessage ¶
func (*Hello) ProtoMessage()
func (*Hello) ProtoReflect ¶
func (x *Hello) ProtoReflect() protoreflect.Message
type HelloAck ¶
type HelloAck struct {
Config *SyncConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
// contains filtered or unexported fields
}
First server message on every stream.
func (*HelloAck) Descriptor
deprecated
func (*HelloAck) GetConfig ¶
func (x *HelloAck) GetConfig() *SyncConfig
func (*HelloAck) ProtoMessage ¶
func (*HelloAck) ProtoMessage()
func (*HelloAck) ProtoReflect ¶
func (x *HelloAck) ProtoReflect() protoreflect.Message
type HostFacts ¶
type HostFacts struct {
Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"`
Os *OsInfo `protobuf:"bytes,2,opt,name=os,proto3" json:"os,omitempty"`
Interfaces []*NetworkInterface `protobuf:"bytes,3,rep,name=interfaces,proto3" json:"interfaces,omitempty"`
// contains filtered or unexported fields
}
Facts observed on the host by the agent. Reported at enrollment and refreshed via inventory reports on the sync stream. Facts are descriptive inventory only — they never confer identity (ADR-0004) and never carry labels (see Label).
func (*HostFacts) Descriptor
deprecated
func (*HostFacts) GetHostname ¶
func (*HostFacts) GetInterfaces ¶
func (x *HostFacts) GetInterfaces() []*NetworkInterface
func (*HostFacts) ProtoMessage ¶
func (*HostFacts) ProtoMessage()
func (*HostFacts) ProtoReflect ¶
func (x *HostFacts) ProtoReflect() protoreflect.Message
type InventoryReport ¶
type InventoryReport struct {
Facts *HostFacts `protobuf:"bytes,1,opt,name=facts,proto3" json:"facts,omitempty"`
ListeningServices []*ListeningService `protobuf:"bytes,2,rep,name=listening_services,json=listeningServices,proto3" json:"listening_services,omitempty"`
// contains filtered or unexported fields
}
Periodic inventory refresh, agent -> server.
func (*InventoryReport) Descriptor
deprecated
func (*InventoryReport) Descriptor() ([]byte, []int)
Deprecated: Use InventoryReport.ProtoReflect.Descriptor instead.
func (*InventoryReport) GetFacts ¶
func (x *InventoryReport) GetFacts() *HostFacts
func (*InventoryReport) GetListeningServices ¶
func (x *InventoryReport) GetListeningServices() []*ListeningService
func (*InventoryReport) ProtoMessage ¶
func (*InventoryReport) ProtoMessage()
func (*InventoryReport) ProtoReflect ¶
func (x *InventoryReport) ProtoReflect() protoreflect.Message
func (*InventoryReport) Reset ¶
func (x *InventoryReport) Reset()
func (*InventoryReport) String ¶
func (x *InventoryReport) String() string
type Label ¶
type Label struct {
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
// contains filtered or unexported fields
}
A key/value pair attached to a workload. Labels are assigned by the control plane — at enrollment (derived from the provisioning token's scope) or later by an operator. Agents never self-assign labels; an agent-supplied label would let a compromised host place itself into a more permissive policy scope. Policy selectors (policy.proto) match against these values.
func (*Label) Descriptor
deprecated
func (*Label) ProtoMessage ¶
func (*Label) ProtoMessage()
func (*Label) ProtoReflect ¶
func (x *Label) ProtoReflect() protoreflect.Message
type LabelMatch ¶
type LabelMatch struct {
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
// The label value must equal one of these.
Values []string `protobuf:"bytes,2,rep,name=values,proto3" json:"values,omitempty"`
// contains filtered or unexported fields
}
func (*LabelMatch) Descriptor
deprecated
func (*LabelMatch) Descriptor() ([]byte, []int)
Deprecated: Use LabelMatch.ProtoReflect.Descriptor instead.
func (*LabelMatch) GetKey ¶
func (x *LabelMatch) GetKey() string
func (*LabelMatch) GetValues ¶
func (x *LabelMatch) GetValues() []string
func (*LabelMatch) ProtoMessage ¶
func (*LabelMatch) ProtoMessage()
func (*LabelMatch) ProtoReflect ¶
func (x *LabelMatch) ProtoReflect() protoreflect.Message
func (*LabelMatch) Reset ¶
func (x *LabelMatch) Reset()
func (*LabelMatch) String ¶
func (x *LabelMatch) String() string
type LabelSelector ¶
type LabelSelector struct {
Matches []*LabelMatch `protobuf:"bytes,1,rep,name=matches,proto3" json:"matches,omitempty"`
// contains filtered or unexported fields
}
Matches workloads by label. Requirements are ANDed across matches; values within a match are ORed. An empty selector matches nothing (never everything): breadth must be stated explicitly, not reached by omission.
func (*LabelSelector) Descriptor
deprecated
func (*LabelSelector) Descriptor() ([]byte, []int)
Deprecated: Use LabelSelector.ProtoReflect.Descriptor instead.
func (*LabelSelector) GetMatches ¶
func (x *LabelSelector) GetMatches() []*LabelMatch
func (*LabelSelector) ProtoMessage ¶
func (*LabelSelector) ProtoMessage()
func (*LabelSelector) ProtoReflect ¶
func (x *LabelSelector) ProtoReflect() protoreflect.Message
func (*LabelSelector) Reset ¶
func (x *LabelSelector) Reset()
func (*LabelSelector) String ¶
func (x *LabelSelector) String() string
type ListeningService ¶
type ListeningService struct {
Protocol Protocol `protobuf:"varint,1,opt,name=protocol,proto3,enum=innerwall.v1.Protocol" json:"protocol,omitempty"`
Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
ProcessName string `protobuf:"bytes,3,opt,name=process_name,json=processName,proto3" json:"process_name,omitempty"`
ProcessPath string `protobuf:"bytes,4,opt,name=process_path,json=processPath,proto3" json:"process_path,omitempty"`
// contains filtered or unexported fields
}
A service listening on the host. Combined with observed flows, this is what makes policy authoring tractable during the visibility phase: the operator sees both what is exposed and what actually connects to it.
func (*ListeningService) Descriptor
deprecated
func (*ListeningService) Descriptor() ([]byte, []int)
Deprecated: Use ListeningService.ProtoReflect.Descriptor instead.
func (*ListeningService) GetPort ¶
func (x *ListeningService) GetPort() uint32
func (*ListeningService) GetProcessName ¶
func (x *ListeningService) GetProcessName() string
func (*ListeningService) GetProcessPath ¶
func (x *ListeningService) GetProcessPath() string
func (*ListeningService) GetProtocol ¶
func (x *ListeningService) GetProtocol() Protocol
func (*ListeningService) ProtoMessage ¶
func (*ListeningService) ProtoMessage()
func (*ListeningService) ProtoReflect ¶
func (x *ListeningService) ProtoReflect() protoreflect.Message
func (*ListeningService) Reset ¶
func (x *ListeningService) Reset()
func (*ListeningService) String ¶
func (x *ListeningService) String() string
type NetworkInterface ¶
type NetworkInterface struct {
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Addresses in CIDR notation (e.g. "10.0.4.17/24").
Addresses []string `protobuf:"bytes,2,rep,name=addresses,proto3" json:"addresses,omitempty"`
MacAddress string `protobuf:"bytes,3,opt,name=mac_address,json=macAddress,proto3" json:"mac_address,omitempty"`
// contains filtered or unexported fields
}
func (*NetworkInterface) Descriptor
deprecated
func (*NetworkInterface) Descriptor() ([]byte, []int)
Deprecated: Use NetworkInterface.ProtoReflect.Descriptor instead.
func (*NetworkInterface) GetAddresses ¶
func (x *NetworkInterface) GetAddresses() []string
func (*NetworkInterface) GetMacAddress ¶
func (x *NetworkInterface) GetMacAddress() string
func (*NetworkInterface) GetName ¶
func (x *NetworkInterface) GetName() string
func (*NetworkInterface) ProtoMessage ¶
func (*NetworkInterface) ProtoMessage()
func (*NetworkInterface) ProtoReflect ¶
func (x *NetworkInterface) ProtoReflect() protoreflect.Message
func (*NetworkInterface) Reset ¶
func (x *NetworkInterface) Reset()
func (*NetworkInterface) String ¶
func (x *NetworkInterface) String() string
type OsInfo ¶
type OsInfo struct {
// Broad family, e.g. "linux".
Family string `protobuf:"bytes,1,opt,name=family,proto3" json:"family,omitempty"`
// Distribution or product name.
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`
KernelVersion string `protobuf:"bytes,4,opt,name=kernel_version,json=kernelVersion,proto3" json:"kernel_version,omitempty"`
Architecture string `protobuf:"bytes,5,opt,name=architecture,proto3" json:"architecture,omitempty"`
// contains filtered or unexported fields
}
func (*OsInfo) Descriptor
deprecated
func (*OsInfo) GetArchitecture ¶
func (*OsInfo) GetKernelVersion ¶
func (*OsInfo) GetVersion ¶
func (*OsInfo) ProtoMessage ¶
func (*OsInfo) ProtoMessage()
func (*OsInfo) ProtoReflect ¶
func (x *OsInfo) ProtoReflect() protoreflect.Message
type OwnedTableState ¶ added in v0.2.0
type OwnedTableState int32
The owned table as a heartbeat found it in the kernel.
const ( OwnedTableState_OWNED_TABLE_STATE_UNSPECIFIED OwnedTableState = 0 // The owned table is in the kernel. OwnedTableState_OWNED_TABLE_STATE_PRESENT OwnedTableState = 1 // The agent installed a policy and the owned table is gone from the // kernel: nothing on the host is enforced or observed by Innerwall. The // installed policy stays on disk, and the agent's next apply or restart // reinstalls it; the agent never reinstalls on its own, because removing // the table is the kill switch. OwnedTableState_OWNED_TABLE_STATE_ABSENT OwnedTableState = 2 )
func (OwnedTableState) Descriptor ¶ added in v0.2.0
func (OwnedTableState) Descriptor() protoreflect.EnumDescriptor
func (OwnedTableState) Enum ¶ added in v0.2.0
func (x OwnedTableState) Enum() *OwnedTableState
func (OwnedTableState) EnumDescriptor
deprecated
added in
v0.2.0
func (OwnedTableState) EnumDescriptor() ([]byte, []int)
Deprecated: Use OwnedTableState.Descriptor instead.
func (OwnedTableState) Number ¶ added in v0.2.0
func (x OwnedTableState) Number() protoreflect.EnumNumber
func (OwnedTableState) String ¶ added in v0.2.0
func (x OwnedTableState) String() string
func (OwnedTableState) Type ¶ added in v0.2.0
func (OwnedTableState) Type() protoreflect.EnumType
type PeerChange ¶
type PeerChange struct {
// The resolved rule's id (see ResolvedRule.rule_id).
RuleId string `protobuf:"bytes,1,opt,name=rule_id,json=ruleId,proto3" json:"rule_id,omitempty"`
PeerCidrs []string `protobuf:"bytes,2,rep,name=peer_cidrs,json=peerCidrs,proto3" json:"peer_cidrs,omitempty"`
// contains filtered or unexported fields
}
func (*PeerChange) Descriptor
deprecated
func (*PeerChange) Descriptor() ([]byte, []int)
Deprecated: Use PeerChange.ProtoReflect.Descriptor instead.
func (*PeerChange) GetPeerCidrs ¶
func (x *PeerChange) GetPeerCidrs() []string
func (*PeerChange) GetRuleId ¶
func (x *PeerChange) GetRuleId() string
func (*PeerChange) ProtoMessage ¶
func (*PeerChange) ProtoMessage()
func (*PeerChange) ProtoReflect ¶
func (x *PeerChange) ProtoReflect() protoreflect.Message
func (*PeerChange) Reset ¶
func (x *PeerChange) Reset()
func (*PeerChange) String ¶
func (x *PeerChange) String() string
type PeerSelector ¶
type PeerSelector struct {
// Types that are valid to be assigned to Peer:
//
// *PeerSelector_Workloads
// *PeerSelector_AddressGroupId
// *PeerSelector_Cidr
Peer isPeerSelector_Peer `protobuf_oneof:"peer"`
// contains filtered or unexported fields
}
The remote end of a rule: managed workloads by selector, a named address group, or a literal CIDR.
func (*PeerSelector) Descriptor
deprecated
func (*PeerSelector) Descriptor() ([]byte, []int)
Deprecated: Use PeerSelector.ProtoReflect.Descriptor instead.
func (*PeerSelector) GetAddressGroupId ¶
func (x *PeerSelector) GetAddressGroupId() string
func (*PeerSelector) GetCidr ¶
func (x *PeerSelector) GetCidr() string
func (*PeerSelector) GetPeer ¶
func (x *PeerSelector) GetPeer() isPeerSelector_Peer
func (*PeerSelector) GetWorkloads ¶
func (x *PeerSelector) GetWorkloads() *LabelSelector
func (*PeerSelector) ProtoMessage ¶
func (*PeerSelector) ProtoMessage()
func (*PeerSelector) ProtoReflect ¶
func (x *PeerSelector) ProtoReflect() protoreflect.Message
func (*PeerSelector) Reset ¶
func (x *PeerSelector) Reset()
func (*PeerSelector) String ¶
func (x *PeerSelector) String() string
type PeerSelector_AddressGroupId ¶
type PeerSelector_AddressGroupId struct {
AddressGroupId string `protobuf:"bytes,2,opt,name=address_group_id,json=addressGroupId,proto3,oneof"`
}
type PeerSelector_Cidr ¶
type PeerSelector_Cidr struct {
Cidr string `protobuf:"bytes,3,opt,name=cidr,proto3,oneof"`
}
type PeerSelector_Workloads ¶
type PeerSelector_Workloads struct {
Workloads *LabelSelector `protobuf:"bytes,1,opt,name=workloads,proto3,oneof"`
}
type PolicyAck ¶
type PolicyAck struct {
// The to-version of the update being acknowledged.
Version uint64 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
Status AckStatus `protobuf:"varint,2,opt,name=status,proto3,enum=innerwall.v1.AckStatus" json:"status,omitempty"`
// Populated when status is FAILED.
ErrorDetail string `protobuf:"bytes,3,opt,name=error_detail,json=errorDetail,proto3" json:"error_detail,omitempty"`
// contains filtered or unexported fields
}
func (*PolicyAck) Descriptor
deprecated
func (*PolicyAck) GetErrorDetail ¶
func (*PolicyAck) GetVersion ¶
func (*PolicyAck) ProtoMessage ¶
func (*PolicyAck) ProtoMessage()
func (*PolicyAck) ProtoReflect ¶
func (x *PolicyAck) ProtoReflect() protoreflect.Message
type PolicyDecision ¶
type PolicyDecision int32
The outcome the policy engine reached (or would have reached) for a flow. WOULD_BLOCK is the load-bearing value for the simulation phase: it is the evidence that a policy is safe (or not) to enforce.
const ( PolicyDecision_POLICY_DECISION_UNSPECIFIED PolicyDecision = 0 // Observed in visibility mode; no policy evaluation was performed. PolicyDecision_POLICY_DECISION_OBSERVED PolicyDecision = 1 // Permitted by the rendered policy. PolicyDecision_POLICY_DECISION_ALLOWED PolicyDecision = 2 // Permitted (simulation mode), but the rendered policy would have denied it. PolicyDecision_POLICY_DECISION_WOULD_BLOCK PolicyDecision = 3 // Denied and dropped (enforced mode). PolicyDecision_POLICY_DECISION_BLOCKED PolicyDecision = 4 )
func (PolicyDecision) Descriptor ¶
func (PolicyDecision) Descriptor() protoreflect.EnumDescriptor
func (PolicyDecision) Enum ¶
func (x PolicyDecision) Enum() *PolicyDecision
func (PolicyDecision) EnumDescriptor
deprecated
func (PolicyDecision) EnumDescriptor() ([]byte, []int)
Deprecated: Use PolicyDecision.Descriptor instead.
func (PolicyDecision) Number ¶
func (x PolicyDecision) Number() protoreflect.EnumNumber
func (PolicyDecision) String ¶
func (x PolicyDecision) String() string
func (PolicyDecision) Type ¶
func (PolicyDecision) Type() protoreflect.EnumType
type PolicyDelta ¶
type PolicyDelta struct {
FromVersion uint64 `protobuf:"varint,1,opt,name=from_version,json=fromVersion,proto3" json:"from_version,omitempty"`
ToVersion uint64 `protobuf:"varint,2,opt,name=to_version,json=toVersion,proto3" json:"to_version,omitempty"`
Changes []*DeltaChange `protobuf:"bytes,3,rep,name=changes,proto3" json:"changes,omitempty"`
// contains filtered or unexported fields
}
An incremental change between two consecutive rendered versions. Only ever valid within the live stream on which the base version was established: from_version must equal the agent's currently applied version or the delta must be discarded and a snapshot requested.
func (*PolicyDelta) Descriptor
deprecated
func (*PolicyDelta) Descriptor() ([]byte, []int)
Deprecated: Use PolicyDelta.ProtoReflect.Descriptor instead.
func (*PolicyDelta) GetChanges ¶
func (x *PolicyDelta) GetChanges() []*DeltaChange
func (*PolicyDelta) GetFromVersion ¶
func (x *PolicyDelta) GetFromVersion() uint64
func (*PolicyDelta) GetToVersion ¶
func (x *PolicyDelta) GetToVersion() uint64
func (*PolicyDelta) ProtoMessage ¶
func (*PolicyDelta) ProtoMessage()
func (*PolicyDelta) ProtoReflect ¶
func (x *PolicyDelta) ProtoReflect() protoreflect.Message
func (*PolicyDelta) Reset ¶
func (x *PolicyDelta) Reset()
func (*PolicyDelta) String ¶
func (x *PolicyDelta) String() string
type PolicySnapshot ¶
type PolicySnapshot struct {
Policy *WorkloadPolicy `protobuf:"bytes,1,opt,name=policy,proto3" json:"policy,omitempty"`
// contains filtered or unexported fields
}
Full desired state. Sent on every new sync stream (see agent.proto) and as the recovery path after a failed delta apply. Always replaces the agent's entire policy state.
func (*PolicySnapshot) Descriptor
deprecated
func (*PolicySnapshot) Descriptor() ([]byte, []int)
Deprecated: Use PolicySnapshot.ProtoReflect.Descriptor instead.
func (*PolicySnapshot) GetPolicy ¶
func (x *PolicySnapshot) GetPolicy() *WorkloadPolicy
func (*PolicySnapshot) ProtoMessage ¶
func (*PolicySnapshot) ProtoMessage()
func (*PolicySnapshot) ProtoReflect ¶
func (x *PolicySnapshot) ProtoReflect() protoreflect.Message
func (*PolicySnapshot) Reset ¶
func (x *PolicySnapshot) Reset()
func (*PolicySnapshot) String ¶
func (x *PolicySnapshot) String() string
type PolicyUpdate ¶
type PolicyUpdate struct {
// Types that are valid to be assigned to Update:
//
// *PolicyUpdate_Snapshot
// *PolicyUpdate_Delta
Update isPolicyUpdate_Update `protobuf_oneof:"update"`
// contains filtered or unexported fields
}
func (*PolicyUpdate) Descriptor
deprecated
func (*PolicyUpdate) Descriptor() ([]byte, []int)
Deprecated: Use PolicyUpdate.ProtoReflect.Descriptor instead.
func (*PolicyUpdate) GetDelta ¶
func (x *PolicyUpdate) GetDelta() *PolicyDelta
func (*PolicyUpdate) GetSnapshot ¶
func (x *PolicyUpdate) GetSnapshot() *PolicySnapshot
func (*PolicyUpdate) GetUpdate ¶
func (x *PolicyUpdate) GetUpdate() isPolicyUpdate_Update
func (*PolicyUpdate) ProtoMessage ¶
func (*PolicyUpdate) ProtoMessage()
func (*PolicyUpdate) ProtoReflect ¶
func (x *PolicyUpdate) ProtoReflect() protoreflect.Message
func (*PolicyUpdate) Reset ¶
func (x *PolicyUpdate) Reset()
func (*PolicyUpdate) String ¶
func (x *PolicyUpdate) String() string
type PolicyUpdate_Delta ¶
type PolicyUpdate_Delta struct {
Delta *PolicyDelta `protobuf:"bytes,2,opt,name=delta,proto3,oneof"`
}
type PolicyUpdate_Snapshot ¶
type PolicyUpdate_Snapshot struct {
Snapshot *PolicySnapshot `protobuf:"bytes,1,opt,name=snapshot,proto3,oneof"`
}
type PortRange ¶
type PortRange struct {
Start uint32 `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"`
End uint32 `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"`
// contains filtered or unexported fields
}
Inclusive port range. A single port is expressed as start == end.
func (*PortRange) Descriptor
deprecated
func (*PortRange) ProtoMessage ¶
func (*PortRange) ProtoMessage()
func (*PortRange) ProtoReflect ¶
func (x *PortRange) ProtoReflect() protoreflect.Message
type Protocol ¶
type Protocol int32
Transport protocol vocabulary shared by policy definitions, flow records, and listening-service inventory.
func (Protocol) Descriptor ¶
func (Protocol) Descriptor() protoreflect.EnumDescriptor
func (Protocol) EnumDescriptor
deprecated
func (Protocol) Number ¶
func (x Protocol) Number() protoreflect.EnumNumber
func (Protocol) Type ¶
func (Protocol) Type() protoreflect.EnumType
type Reconnect ¶
type Reconnect struct {
// contains filtered or unexported fields
}
func (*Reconnect) Descriptor
deprecated
func (*Reconnect) ProtoMessage ¶
func (*Reconnect) ProtoMessage()
func (*Reconnect) ProtoReflect ¶
func (x *Reconnect) ProtoReflect() protoreflect.Message
type Reenroll ¶
type Reenroll struct {
// contains filtered or unexported fields
}
func (*Reenroll) Descriptor
deprecated
func (*Reenroll) ProtoMessage ¶
func (*Reenroll) ProtoMessage()
func (*Reenroll) ProtoReflect ¶
func (x *Reenroll) ProtoReflect() protoreflect.Message
type RenewCredentialRequest ¶
type RenewCredentialRequest struct {
// PKCS#10 certificate signing request, PEM-encoded. The workload being
// renewed is derived from the connection credential, not from the request.
CsrPem []byte `protobuf:"bytes,1,opt,name=csr_pem,json=csrPem,proto3" json:"csr_pem,omitempty"`
// contains filtered or unexported fields
}
func (*RenewCredentialRequest) Descriptor
deprecated
func (*RenewCredentialRequest) Descriptor() ([]byte, []int)
Deprecated: Use RenewCredentialRequest.ProtoReflect.Descriptor instead.
func (*RenewCredentialRequest) GetCsrPem ¶
func (x *RenewCredentialRequest) GetCsrPem() []byte
func (*RenewCredentialRequest) ProtoMessage ¶
func (*RenewCredentialRequest) ProtoMessage()
func (*RenewCredentialRequest) ProtoReflect ¶
func (x *RenewCredentialRequest) ProtoReflect() protoreflect.Message
func (*RenewCredentialRequest) Reset ¶
func (x *RenewCredentialRequest) Reset()
func (*RenewCredentialRequest) String ¶
func (x *RenewCredentialRequest) String() string
type RenewCredentialResponse ¶
type RenewCredentialResponse struct {
CertificatePem []byte `protobuf:"bytes,1,opt,name=certificate_pem,json=certificatePem,proto3" json:"certificate_pem,omitempty"`
CaBundlePem []byte `protobuf:"bytes,2,opt,name=ca_bundle_pem,json=caBundlePem,proto3" json:"ca_bundle_pem,omitempty"`
// contains filtered or unexported fields
}
func (*RenewCredentialResponse) Descriptor
deprecated
func (*RenewCredentialResponse) Descriptor() ([]byte, []int)
Deprecated: Use RenewCredentialResponse.ProtoReflect.Descriptor instead.
func (*RenewCredentialResponse) GetCaBundlePem ¶
func (x *RenewCredentialResponse) GetCaBundlePem() []byte
func (*RenewCredentialResponse) GetCertificatePem ¶
func (x *RenewCredentialResponse) GetCertificatePem() []byte
func (*RenewCredentialResponse) ProtoMessage ¶
func (*RenewCredentialResponse) ProtoMessage()
func (*RenewCredentialResponse) ProtoReflect ¶
func (x *RenewCredentialResponse) ProtoReflect() protoreflect.Message
func (*RenewCredentialResponse) Reset ¶
func (x *RenewCredentialResponse) Reset()
func (*RenewCredentialResponse) String ¶
func (x *RenewCredentialResponse) String() string
type ReportFlowsRequest ¶
type ReportFlowsRequest struct {
WindowStart *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=window_start,json=windowStart,proto3" json:"window_start,omitempty"`
WindowEnd *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=window_end,json=windowEnd,proto3" json:"window_end,omitempty"`
Records []*FlowRecord `protobuf:"bytes,3,rep,name=records,proto3" json:"records,omitempty"`
// Intervals in which the agent knows its evidence is incomplete, shipped
// with the next window rather than on a schedule of their own. They are
// not bounded by the window: a gap is wherever the loss happened. A
// window may carry gaps and no records. The reporting workload is the
// connection credential's, as for the records.
Gaps []*EvidenceGap `protobuf:"bytes,4,rep,name=gaps,proto3" json:"gaps,omitempty"`
// The agent's clock when it sent this request, stamped on every request
// immediately before it is sent. The control plane compares it with the
// instant it received the request to detect an agent whose clock has
// drifted, which would otherwise misdate every window it reports. The
// window bounds cannot serve: a window held in the agent's buffer while
// the control plane was unreachable is delivered late by design, and
// late delivery is not skew. Unset from an agent that predates the
// field.
SentAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=sent_at,json=sentAt,proto3" json:"sent_at,omitempty"`
// contains filtered or unexported fields
}
One aggregation window of flow records from one agent.
func (*ReportFlowsRequest) Descriptor
deprecated
func (*ReportFlowsRequest) Descriptor() ([]byte, []int)
Deprecated: Use ReportFlowsRequest.ProtoReflect.Descriptor instead.
func (*ReportFlowsRequest) GetGaps ¶
func (x *ReportFlowsRequest) GetGaps() []*EvidenceGap
func (*ReportFlowsRequest) GetRecords ¶
func (x *ReportFlowsRequest) GetRecords() []*FlowRecord
func (*ReportFlowsRequest) GetSentAt ¶ added in v0.2.0
func (x *ReportFlowsRequest) GetSentAt() *timestamppb.Timestamp
func (*ReportFlowsRequest) GetWindowEnd ¶
func (x *ReportFlowsRequest) GetWindowEnd() *timestamppb.Timestamp
func (*ReportFlowsRequest) GetWindowStart ¶
func (x *ReportFlowsRequest) GetWindowStart() *timestamppb.Timestamp
func (*ReportFlowsRequest) ProtoMessage ¶
func (*ReportFlowsRequest) ProtoMessage()
func (*ReportFlowsRequest) ProtoReflect ¶
func (x *ReportFlowsRequest) ProtoReflect() protoreflect.Message
func (*ReportFlowsRequest) Reset ¶
func (x *ReportFlowsRequest) Reset()
func (*ReportFlowsRequest) String ¶
func (x *ReportFlowsRequest) String() string
type ReportFlowsResponse ¶
type ReportFlowsResponse struct {
// Total records accepted across the stream.
AcceptedRecords uint64 `protobuf:"varint,1,opt,name=accepted_records,json=acceptedRecords,proto3" json:"accepted_records,omitempty"`
// contains filtered or unexported fields
}
func (*ReportFlowsResponse) Descriptor
deprecated
func (*ReportFlowsResponse) Descriptor() ([]byte, []int)
Deprecated: Use ReportFlowsResponse.ProtoReflect.Descriptor instead.
func (*ReportFlowsResponse) GetAcceptedRecords ¶
func (x *ReportFlowsResponse) GetAcceptedRecords() uint64
func (*ReportFlowsResponse) ProtoMessage ¶
func (*ReportFlowsResponse) ProtoMessage()
func (*ReportFlowsResponse) ProtoReflect ¶
func (x *ReportFlowsResponse) ProtoReflect() protoreflect.Message
func (*ReportFlowsResponse) Reset ¶
func (x *ReportFlowsResponse) Reset()
func (*ReportFlowsResponse) String ¶
func (x *ReportFlowsResponse) String() string
type ResolvedRule ¶
type ResolvedRule struct {
// The resolved rule's identity: the authored rule id, a slash, and the
// protocol name in lower case, e.g. "<authored-rule-id>/tcp". An authored
// rule that permits several protocols renders to one resolved rule per
// protocol, and deltas address each by this id, so the protocol is part
// of the identity. Provenance is the part before the slash (ADR-0018).
RuleId string `protobuf:"bytes,1,opt,name=rule_id,json=ruleId,proto3" json:"rule_id,omitempty"`
// Concrete peer addresses: managed-workload addresses as host routes
// (/32 or /128) plus any literal CIDRs from the authored rule.
PeerCidrs []string `protobuf:"bytes,2,rep,name=peer_cidrs,json=peerCidrs,proto3" json:"peer_cidrs,omitempty"`
Protocol Protocol `protobuf:"varint,3,opt,name=protocol,proto3,enum=innerwall.v1.Protocol" json:"protocol,omitempty"`
Ports []*PortRange `protobuf:"bytes,4,rep,name=ports,proto3" json:"ports,omitempty"`
// contains filtered or unexported fields
}
A single resolved inbound permission: concrete peers, one protocol, ports. Its id carries the authored rule id for provenance — flow records and diagnostics can point back to the intent that produced a given permission.
func (*ResolvedRule) Descriptor
deprecated
func (*ResolvedRule) Descriptor() ([]byte, []int)
Deprecated: Use ResolvedRule.ProtoReflect.Descriptor instead.
func (*ResolvedRule) GetPeerCidrs ¶
func (x *ResolvedRule) GetPeerCidrs() []string
func (*ResolvedRule) GetPorts ¶
func (x *ResolvedRule) GetPorts() []*PortRange
func (*ResolvedRule) GetProtocol ¶
func (x *ResolvedRule) GetProtocol() Protocol
func (*ResolvedRule) GetRuleId ¶
func (x *ResolvedRule) GetRuleId() string
func (*ResolvedRule) ProtoMessage ¶
func (*ResolvedRule) ProtoMessage()
func (*ResolvedRule) ProtoReflect ¶
func (x *ResolvedRule) ProtoReflect() protoreflect.Message
func (*ResolvedRule) Reset ¶
func (x *ResolvedRule) Reset()
func (*ResolvedRule) String ¶
func (x *ResolvedRule) String() string
type Rule ¶
type Rule struct {
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Direction Direction `protobuf:"varint,2,opt,name=direction,proto3,enum=innerwall.v1.Direction" json:"direction,omitempty"`
Peers []*PeerSelector `protobuf:"bytes,3,rep,name=peers,proto3" json:"peers,omitempty"`
// Services permitted, written inline.
Services []*ServiceEntry `protobuf:"bytes,4,rep,name=services,proto3" json:"services,omitempty"`
Enabled bool `protobuf:"varint,5,opt,name=enabled,proto3" json:"enabled,omitempty"`
Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"`
// Services permitted by reference to ServiceDefinitions, by id. The
// control plane expands a reference when it renders, so editing a
// definition re-renders every rule that names it; a reference to a
// definition that does not exist is rejected at admission. A rule may
// combine references with inline entries (ADR-0018).
ServiceIds []string `protobuf:"bytes,7,rep,name=service_ids,json=serviceIds,proto3" json:"service_ids,omitempty"`
// contains filtered or unexported fields
}
A single authored rule. The ruleset's scope is the local end; `peers` is the remote end; `direction` orients the two. For DIRECTION_INBOUND, peers may initiate connections to scoped workloads on the listed services. (For DIRECTION_OUTBOUND — rejected in v1 — scoped workloads would initiate to peers.) This orientation means the schema needs no separate source/destination fields per direction.
func (*Rule) Descriptor
deprecated
func (*Rule) GetDescription ¶
func (*Rule) GetDirection ¶
func (*Rule) GetEnabled ¶
func (*Rule) GetPeers ¶
func (x *Rule) GetPeers() []*PeerSelector
func (*Rule) GetServiceIds ¶
func (*Rule) GetServices ¶
func (x *Rule) GetServices() []*ServiceEntry
func (*Rule) ProtoMessage ¶
func (*Rule) ProtoMessage()
func (*Rule) ProtoReflect ¶
func (x *Rule) ProtoReflect() protoreflect.Message
type Ruleset ¶
type Ruleset struct {
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
// The workloads this ruleset applies to (the local end of its rules).
Scope *LabelSelector `protobuf:"bytes,3,opt,name=scope,proto3" json:"scope,omitempty"`
Rules []*Rule `protobuf:"bytes,4,rep,name=rules,proto3" json:"rules,omitempty"`
Enabled bool `protobuf:"varint,5,opt,name=enabled,proto3" json:"enabled,omitempty"`
Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"`
// contains filtered or unexported fields
}
func (*Ruleset) Descriptor
deprecated
func (*Ruleset) GetDescription ¶
func (*Ruleset) GetEnabled ¶
func (*Ruleset) GetScope ¶
func (x *Ruleset) GetScope() *LabelSelector
func (*Ruleset) ProtoMessage ¶
func (*Ruleset) ProtoMessage()
func (*Ruleset) ProtoReflect ¶
func (x *Ruleset) ProtoReflect() protoreflect.Message
type ServiceDefinition ¶
type ServiceDefinition struct {
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Entries []*ServiceEntry `protobuf:"bytes,3,rep,name=entries,proto3" json:"entries,omitempty"`
// contains filtered or unexported fields
}
A named, reusable set of protocol/port entries.
func (*ServiceDefinition) Descriptor
deprecated
func (*ServiceDefinition) Descriptor() ([]byte, []int)
Deprecated: Use ServiceDefinition.ProtoReflect.Descriptor instead.
func (*ServiceDefinition) GetEntries ¶
func (x *ServiceDefinition) GetEntries() []*ServiceEntry
func (*ServiceDefinition) GetId ¶
func (x *ServiceDefinition) GetId() string
func (*ServiceDefinition) GetName ¶
func (x *ServiceDefinition) GetName() string
func (*ServiceDefinition) ProtoMessage ¶
func (*ServiceDefinition) ProtoMessage()
func (*ServiceDefinition) ProtoReflect ¶
func (x *ServiceDefinition) ProtoReflect() protoreflect.Message
func (*ServiceDefinition) Reset ¶
func (x *ServiceDefinition) Reset()
func (*ServiceDefinition) String ¶
func (x *ServiceDefinition) String() string
type ServiceEntry ¶
type ServiceEntry struct {
Protocol Protocol `protobuf:"varint,1,opt,name=protocol,proto3,enum=innerwall.v1.Protocol" json:"protocol,omitempty"`
// Empty means all ports for the protocol (e.g. ICMP, which has none).
Ports []*PortRange `protobuf:"bytes,2,rep,name=ports,proto3" json:"ports,omitempty"`
// contains filtered or unexported fields
}
func (*ServiceEntry) Descriptor
deprecated
func (*ServiceEntry) Descriptor() ([]byte, []int)
Deprecated: Use ServiceEntry.ProtoReflect.Descriptor instead.
func (*ServiceEntry) GetPorts ¶
func (x *ServiceEntry) GetPorts() []*PortRange
func (*ServiceEntry) GetProtocol ¶
func (x *ServiceEntry) GetProtocol() Protocol
func (*ServiceEntry) ProtoMessage ¶
func (*ServiceEntry) ProtoMessage()
func (*ServiceEntry) ProtoReflect ¶
func (x *ServiceEntry) ProtoReflect() protoreflect.Message
func (*ServiceEntry) Reset ¶
func (x *ServiceEntry) Reset()
func (*ServiceEntry) String ¶
func (x *ServiceEntry) String() string
type SyncConfig ¶
type SyncConfig struct {
HeartbeatIntervalSeconds uint32 `` /* 136-byte string literal not displayed */
InventoryReportIntervalSeconds uint32 `` /* 156-byte string literal not displayed */
FlowAggregationWindowSeconds uint32 `` /* 150-byte string literal not displayed */
FlowBatchMaxRecords uint32 `protobuf:"varint,4,opt,name=flow_batch_max_records,json=flowBatchMaxRecords,proto3" json:"flow_batch_max_records,omitempty"`
// contains filtered or unexported fields
}
Server-assigned operating parameters. Centralizing these means fleet-wide tuning without agent redeployment.
func (*SyncConfig) Descriptor
deprecated
func (*SyncConfig) Descriptor() ([]byte, []int)
Deprecated: Use SyncConfig.ProtoReflect.Descriptor instead.
func (*SyncConfig) GetFlowAggregationWindowSeconds ¶
func (x *SyncConfig) GetFlowAggregationWindowSeconds() uint32
func (*SyncConfig) GetFlowBatchMaxRecords ¶
func (x *SyncConfig) GetFlowBatchMaxRecords() uint32
func (*SyncConfig) GetHeartbeatIntervalSeconds ¶
func (x *SyncConfig) GetHeartbeatIntervalSeconds() uint32
func (*SyncConfig) GetInventoryReportIntervalSeconds ¶
func (x *SyncConfig) GetInventoryReportIntervalSeconds() uint32
func (*SyncConfig) ProtoMessage ¶
func (*SyncConfig) ProtoMessage()
func (*SyncConfig) ProtoReflect ¶
func (x *SyncConfig) ProtoReflect() protoreflect.Message
func (*SyncConfig) Reset ¶
func (x *SyncConfig) Reset()
func (*SyncConfig) String ¶
func (x *SyncConfig) String() string
type SyncRequest ¶
type SyncRequest struct {
// Types that are valid to be assigned to Msg:
//
// *SyncRequest_Hello
// *SyncRequest_PolicyAck
// *SyncRequest_Inventory
// *SyncRequest_Heartbeat
Msg isSyncRequest_Msg `protobuf_oneof:"msg"`
// contains filtered or unexported fields
}
func (*SyncRequest) Descriptor
deprecated
func (*SyncRequest) Descriptor() ([]byte, []int)
Deprecated: Use SyncRequest.ProtoReflect.Descriptor instead.
func (*SyncRequest) GetHeartbeat ¶
func (x *SyncRequest) GetHeartbeat() *Heartbeat
func (*SyncRequest) GetHello ¶
func (x *SyncRequest) GetHello() *Hello
func (*SyncRequest) GetInventory ¶
func (x *SyncRequest) GetInventory() *InventoryReport
func (*SyncRequest) GetMsg ¶
func (x *SyncRequest) GetMsg() isSyncRequest_Msg
func (*SyncRequest) GetPolicyAck ¶
func (x *SyncRequest) GetPolicyAck() *PolicyAck
func (*SyncRequest) ProtoMessage ¶
func (*SyncRequest) ProtoMessage()
func (*SyncRequest) ProtoReflect ¶
func (x *SyncRequest) ProtoReflect() protoreflect.Message
func (*SyncRequest) Reset ¶
func (x *SyncRequest) Reset()
func (*SyncRequest) String ¶
func (x *SyncRequest) String() string
type SyncRequest_Heartbeat ¶
type SyncRequest_Heartbeat struct {
Heartbeat *Heartbeat `protobuf:"bytes,4,opt,name=heartbeat,proto3,oneof"`
}
type SyncRequest_Hello ¶
type SyncRequest_Hello struct {
Hello *Hello `protobuf:"bytes,1,opt,name=hello,proto3,oneof"`
}
type SyncRequest_Inventory ¶
type SyncRequest_Inventory struct {
Inventory *InventoryReport `protobuf:"bytes,3,opt,name=inventory,proto3,oneof"`
}
type SyncRequest_PolicyAck ¶
type SyncRequest_PolicyAck struct {
PolicyAck *PolicyAck `protobuf:"bytes,2,opt,name=policy_ack,json=policyAck,proto3,oneof"`
}
type SyncResponse ¶
type SyncResponse struct {
// Types that are valid to be assigned to Msg:
//
// *SyncResponse_HelloAck
// *SyncResponse_PolicyUpdate
// *SyncResponse_Directive
Msg isSyncResponse_Msg `protobuf_oneof:"msg"`
// contains filtered or unexported fields
}
func (*SyncResponse) Descriptor
deprecated
func (*SyncResponse) Descriptor() ([]byte, []int)
Deprecated: Use SyncResponse.ProtoReflect.Descriptor instead.
func (*SyncResponse) GetDirective ¶
func (x *SyncResponse) GetDirective() *Directive
func (*SyncResponse) GetHelloAck ¶
func (x *SyncResponse) GetHelloAck() *HelloAck
func (*SyncResponse) GetMsg ¶
func (x *SyncResponse) GetMsg() isSyncResponse_Msg
func (*SyncResponse) GetPolicyUpdate ¶
func (x *SyncResponse) GetPolicyUpdate() *PolicyUpdate
func (*SyncResponse) ProtoMessage ¶
func (*SyncResponse) ProtoMessage()
func (*SyncResponse) ProtoReflect ¶
func (x *SyncResponse) ProtoReflect() protoreflect.Message
func (*SyncResponse) Reset ¶
func (x *SyncResponse) Reset()
func (*SyncResponse) String ¶
func (x *SyncResponse) String() string
type SyncResponse_Directive ¶
type SyncResponse_Directive struct {
Directive *Directive `protobuf:"bytes,3,opt,name=directive,proto3,oneof"`
}
type SyncResponse_HelloAck ¶
type SyncResponse_HelloAck struct {
HelloAck *HelloAck `protobuf:"bytes,1,opt,name=hello_ack,json=helloAck,proto3,oneof"`
}
type SyncResponse_PolicyUpdate ¶
type SyncResponse_PolicyUpdate struct {
PolicyUpdate *PolicyUpdate `protobuf:"bytes,2,opt,name=policy_update,json=policyUpdate,proto3,oneof"`
}
type SyncState ¶
type SyncState int32
Control-plane view of an agent's convergence with desired state.
const ( SyncState_SYNC_STATE_UNSPECIFIED SyncState = 0 // Applied policy version matches the latest rendered version. SyncState_SYNC_STATE_SYNCED SyncState = 1 // A newer rendered version exists that the agent has not yet acknowledged. SyncState_SYNC_STATE_PENDING SyncState = 2 // The agent reported a failed apply and remains on its last good version. SyncState_SYNC_STATE_DEGRADED SyncState = 3 // No live sync stream for this workload. SyncState_SYNC_STATE_OFFLINE SyncState = 4 )
func (SyncState) Descriptor ¶
func (SyncState) Descriptor() protoreflect.EnumDescriptor
func (SyncState) EnumDescriptor
deprecated
func (SyncState) Number ¶
func (x SyncState) Number() protoreflect.EnumNumber
func (SyncState) Type ¶
func (SyncState) Type() protoreflect.EnumType
type UnimplementedAgentServiceServer ¶
type UnimplementedAgentServiceServer struct{}
UnimplementedAgentServiceServer must be embedded to have forward compatible implementations.
NOTE: this should be embedded by value instead of pointer to avoid a nil pointer dereference when methods are called.
func (UnimplementedAgentServiceServer) RenewCredential ¶
func (UnimplementedAgentServiceServer) RenewCredential(context.Context, *RenewCredentialRequest) (*RenewCredentialResponse, error)
func (UnimplementedAgentServiceServer) ReportFlows ¶
func (UnimplementedAgentServiceServer) ReportFlows(grpc.ClientStreamingServer[ReportFlowsRequest, ReportFlowsResponse]) error
type UnimplementedEnrollmentServiceServer ¶
type UnimplementedEnrollmentServiceServer struct{}
UnimplementedEnrollmentServiceServer must be embedded to have forward compatible implementations.
NOTE: this should be embedded by value instead of pointer to avoid a nil pointer dereference when methods are called.
func (UnimplementedEnrollmentServiceServer) Enroll ¶
func (UnimplementedEnrollmentServiceServer) Enroll(context.Context, *EnrollRequest) (*EnrollResponse, error)
type UnsafeAgentServiceServer ¶
type UnsafeAgentServiceServer interface {
// contains filtered or unexported methods
}
UnsafeAgentServiceServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to AgentServiceServer will result in compilation errors.
type UnsafeEnrollmentServiceServer ¶
type UnsafeEnrollmentServiceServer interface {
// contains filtered or unexported methods
}
UnsafeEnrollmentServiceServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to EnrollmentServiceServer will result in compilation errors.
type Workload ¶
type Workload struct {
// Stable identity assigned at enrollment and bound into the workload's
// credential (ADR-0004). Never derived from host facts.
WorkloadId string `protobuf:"bytes,1,opt,name=workload_id,json=workloadId,proto3" json:"workload_id,omitempty"`
Labels []*Label `protobuf:"bytes,2,rep,name=labels,proto3" json:"labels,omitempty"`
Facts *HostFacts `protobuf:"bytes,3,opt,name=facts,proto3" json:"facts,omitempty"`
Agent *AgentInfo `protobuf:"bytes,4,opt,name=agent,proto3" json:"agent,omitempty"`
Mode EnforcementMode `protobuf:"varint,5,opt,name=mode,proto3,enum=innerwall.v1.EnforcementMode" json:"mode,omitempty"`
SyncState SyncState `protobuf:"varint,6,opt,name=sync_state,json=syncState,proto3,enum=innerwall.v1.SyncState" json:"sync_state,omitempty"`
EnrolledAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=enrolled_at,json=enrolledAt,proto3" json:"enrolled_at,omitempty"`
LastSeen *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=last_seen,json=lastSeen,proto3" json:"last_seen,omitempty"`
// contains filtered or unexported fields
}
A workload as known to the control plane. This is the control plane's authoritative record, composed from enrollment, inventory reports, and sync status — not a message the agent sends.
func (*Workload) Descriptor
deprecated
func (*Workload) GetEnrolledAt ¶
func (x *Workload) GetEnrolledAt() *timestamppb.Timestamp
func (*Workload) GetLastSeen ¶
func (x *Workload) GetLastSeen() *timestamppb.Timestamp
func (*Workload) GetMode ¶
func (x *Workload) GetMode() EnforcementMode
func (*Workload) GetSyncState ¶
func (*Workload) GetWorkloadId ¶
func (*Workload) ProtoMessage ¶
func (*Workload) ProtoMessage()
func (*Workload) ProtoReflect ¶
func (x *Workload) ProtoReflect() protoreflect.Message
type WorkloadPolicy ¶
type WorkloadPolicy struct {
Version uint64 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
Mode EnforcementMode `protobuf:"varint,2,opt,name=mode,proto3,enum=innerwall.v1.EnforcementMode" json:"mode,omitempty"`
InboundRules []*ResolvedRule `protobuf:"bytes,3,rep,name=inbound_rules,json=inboundRules,proto3" json:"inbound_rules,omitempty"`
// contains filtered or unexported fields
}
The complete rendered policy for one workload at one version. Versions are per-workload, monotonic, and opaque to everything except ordering. Small by construction: a workload's rendered policy is its own inbound rules only.
func (*WorkloadPolicy) Descriptor
deprecated
func (*WorkloadPolicy) Descriptor() ([]byte, []int)
Deprecated: Use WorkloadPolicy.ProtoReflect.Descriptor instead.
func (*WorkloadPolicy) GetInboundRules ¶
func (x *WorkloadPolicy) GetInboundRules() []*ResolvedRule
func (*WorkloadPolicy) GetMode ¶
func (x *WorkloadPolicy) GetMode() EnforcementMode
func (*WorkloadPolicy) GetVersion ¶
func (x *WorkloadPolicy) GetVersion() uint64
func (*WorkloadPolicy) ProtoMessage ¶
func (*WorkloadPolicy) ProtoMessage()
func (*WorkloadPolicy) ProtoReflect ¶
func (x *WorkloadPolicy) ProtoReflect() protoreflect.Message
func (*WorkloadPolicy) Reset ¶
func (x *WorkloadPolicy) Reset()
func (*WorkloadPolicy) String ¶
func (x *WorkloadPolicy) String() string