tetragon
41 строка · 1.0 Кб
1// SPDX-License-Identifier: Apache-2.0
2// Copyright Authors of Tetragon
3
4package tracingpolicy
5
6import (
7"github.com/cilium/tetragon/pkg/k8s/apis/cilium.io/v1alpha1"
8)
9
10// TracingPolicy is a tracing policy interface.
11// It is implemented by v1alpha1.types.TracingPolicy and
12// config.GenericTracingConf. The former is what is the k8s API server uses,
13// and the latter is used when we load files directly (e.g., via the cli).
14type TracingPolicy interface {
15// TpName returns the name of the policy.
16TpName() string
17// TpSpec returns the specification of the policy
18TpSpec() *v1alpha1.TracingPolicySpec
19// TpInfo returns a description of the policy
20TpInfo() string
21}
22
23// revive:disable:exported
24
25// TracingPolicyNamespaced is an interface for tracing policy applied on a specific namespace
26type TracingPolicyNamespaced interface {
27TracingPolicy
28// TpNamespace returns the namespace of the policy
29TpNamespace() string
30}
31
32// revive:enable:exported
33
34type PolicyInfo struct {
35Name string
36Hook string
37}
38
39type PolicyEvent interface {
40PolicyInfo() PolicyInfo
41}
42