63 lines
1.9 KiB
Go
63 lines
1.9 KiB
Go
|
package structs
|
||
|
|
||
|
import (
|
||
|
"time"
|
||
|
)
|
||
|
|
||
|
// Intention defines an intention for the Connect Service Graph. This defines
|
||
|
// the allowed or denied behavior of a connection between two services using
|
||
|
// Connect.
|
||
|
type Intention struct {
|
||
|
// ID is the UUID-based ID for the intention, always generated by Consul.
|
||
|
ID string
|
||
|
|
||
|
// SourceNS, SourceName are the namespace and name, respectively, of
|
||
|
// the source service. Either of these may be the wildcard "*", but only
|
||
|
// the full value can be a wildcard. Partial wildcards are not allowed.
|
||
|
// The source may also be a non-Consul service, as specified by SourceType.
|
||
|
//
|
||
|
// DestinationNS, DestinationName is the same, but for the destination
|
||
|
// service. The same rules apply. The destination is always a Consul
|
||
|
// service.
|
||
|
SourceNS, SourceName string
|
||
|
DestinationNS, DestinationName string
|
||
|
|
||
|
// SourceType is the type of the value for the source.
|
||
|
SourceType IntentionSourceType
|
||
|
|
||
|
// Action is whether this is a whitelist or blacklist intention.
|
||
|
Action IntentionAction
|
||
|
|
||
|
// DefaultAddr, DefaultPort of the local listening proxy (if any) to
|
||
|
// make this connection.
|
||
|
DefaultAddr string
|
||
|
DefaultPort int
|
||
|
|
||
|
// Meta is arbitrary metadata associated with the intention. This is
|
||
|
// opaque to Consul but is served in API responses.
|
||
|
Meta map[string]string
|
||
|
|
||
|
// CreatedAt and UpdatedAt keep track of when this record was created
|
||
|
// or modified.
|
||
|
CreatedAt, UpdatedAt time.Time
|
||
|
|
||
|
RaftIndex
|
||
|
}
|
||
|
|
||
|
// IntentionAction is the action that the intention represents. This
|
||
|
// can be "allow" or "deny" to whitelist or blacklist intentions.
|
||
|
type IntentionAction string
|
||
|
|
||
|
const (
|
||
|
IntentionActionAllow IntentionAction = "allow"
|
||
|
IntentionActionDeny IntentionAction = "deny"
|
||
|
)
|
||
|
|
||
|
// IntentionSourceType is the type of the source within an intention.
|
||
|
type IntentionSourceType string
|
||
|
|
||
|
const (
|
||
|
// IntentionSourceConsul is a service within the Consul catalog.
|
||
|
IntentionSourceConsul IntentionSourceType = "consul"
|
||
|
)
|