72a515f5ec
Highlights: - add new endpoint to query for intentions by exact match - using this endpoint from the CLI instead of the dump+filter approach - enforcing that OSS can only read/write intentions with a SourceNS or DestinationNS field of "default". - preexisting OSS intentions with now-invalid namespace fields will delete those intentions on initial election or for wildcard namespaces an attempt will be made to downgrade them to "default" unless one exists. - also allow the '-namespace' CLI arg on all of the intention subcommands - update lots of docs
48 lines
1.5 KiB
Go
48 lines
1.5 KiB
Go
// +build !consulent
|
|
|
|
package structs
|
|
|
|
import (
|
|
"github.com/hashicorp/consul/acl"
|
|
)
|
|
|
|
// FillAuthzContext can fill in an acl.AuthorizerContext object to setup
|
|
// extra parameters for ACL enforcement. In OSS there is currently nothing
|
|
// extra to be done.
|
|
func (_ *Intention) FillAuthzContext(_ *acl.AuthorizerContext, _ bool) {
|
|
// do nothing
|
|
}
|
|
|
|
// FillAuthzContext can fill in an acl.AuthorizerContext object to setup
|
|
// extra parameters for ACL enforcement. In OSS there is currently nothing
|
|
// extra to be done.
|
|
func (_ *IntentionMatchEntry) FillAuthzContext(_ *acl.AuthorizerContext) {
|
|
// do nothing
|
|
}
|
|
|
|
// FillAuthzContext can fill in an acl.AuthorizerContext object to setup
|
|
// extra parameters for ACL enforcement. In OSS there is currently nothing
|
|
// extra to be done.
|
|
func (_ *IntentionQueryCheck) FillAuthzContext(_ *acl.AuthorizerContext) {
|
|
// do nothing
|
|
}
|
|
|
|
// DefaultNamespaces will populate both the SourceNS and DestinationNS fields
|
|
// if they are empty with the proper defaults.
|
|
func (ixn *Intention) DefaultNamespaces(_ *EnterpriseMeta) {
|
|
// Until we support namespaces, we force all namespaces to be default
|
|
if ixn.SourceNS == "" {
|
|
ixn.SourceNS = IntentionDefaultNamespace
|
|
}
|
|
if ixn.DestinationNS == "" {
|
|
ixn.DestinationNS = IntentionDefaultNamespace
|
|
}
|
|
}
|
|
|
|
// FillNonDefaultNamespaces will populate the SourceNS and DestinationNS fields
|
|
// if they are empty with the proper defaults, but only if the proper defaults
|
|
// are themselves not "default".
|
|
func (ixn *Intention) FillNonDefaultNamespaces(_ *EnterpriseMeta) {
|
|
// do nothing
|
|
}
|