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
27 lines
715 B
Go
27 lines
715 B
Go
package intention
|
|
|
|
import (
|
|
"github.com/hashicorp/consul/api"
|
|
)
|
|
|
|
// FormatSource returns the namespace/name format for the source. This is
|
|
// different from (*api.Intention).SourceString in that the default namespace
|
|
// is not omitted.
|
|
func FormatSource(i *api.Intention) string {
|
|
return partString(i.SourceNS, i.SourceName)
|
|
}
|
|
|
|
// FormatDestination returns the namespace/name format for the destination.
|
|
// This is different from (*api.Intention).DestinationString in that the
|
|
// default namespace is not omitted.
|
|
func FormatDestination(i *api.Intention) string {
|
|
return partString(i.DestinationNS, i.DestinationName)
|
|
}
|
|
|
|
func partString(ns, n string) string {
|
|
if ns == "" {
|
|
return n
|
|
}
|
|
return ns + "/" + n
|
|
}
|