aboutsummaryrefslogtreecommitdiff
path: root/pkg/network
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2019-10-29 14:46:38 +0100
committerGitHub <noreply@github.com>2019-10-29 14:46:38 +0100
commit815bd568b225710fcc8b425c1d5143b2c8606de1 (patch)
tree2fffce829ce1282e6d635bb102fb1b32c8bbd229 /pkg/network
parent25f1b1540a700a80904cf0b2862a73da03200bb9 (diff)
parent2f6b8b94e87bb3645d34e59dd3b748dba4aa4d2c (diff)
downloadpodman-815bd568b225710fcc8b425c1d5143b2c8606de1.tar.gz
podman-815bd568b225710fcc8b425c1d5143b2c8606de1.tar.bz2
podman-815bd568b225710fcc8b425c1d5143b2c8606de1.zip
Merge pull request #4187 from baude/dnspluginenable
enable dnsplugin for network create
Diffstat (limited to 'pkg/network')
-rw-r--r--pkg/network/config.go14
-rw-r--r--pkg/network/netconflist.go21
2 files changed, 35 insertions, 0 deletions
diff --git a/pkg/network/config.go b/pkg/network/config.go
index 7eaa83833..37eb0dd64 100644
--- a/pkg/network/config.go
+++ b/pkg/network/config.go
@@ -14,6 +14,9 @@ const (
// CNIDeviceName is the default network device name and in
// reality should have an int appended to it (cni-podman4)
CNIDeviceName = "cni-podman"
+ // DefaultPodmanDomainName is used for the dnsname plugin to define
+ // a localized domain name for a created network
+ DefaultPodmanDomainName = "dns.podman"
)
// GetDefaultPodmanNetwork outputs the default network for podman
@@ -97,3 +100,14 @@ type FirewallConfig struct {
func (f FirewallConfig) Bytes() ([]byte, error) {
return json.MarshalIndent(f, "", "\t")
}
+
+// DNSNameConfig describes the dns container name resolution plugin config
+type DNSNameConfig struct {
+ PluginType string `json:"type"`
+ DomainName string `json:"domainName"`
+}
+
+// Bytes outputs the configuration as []byte
+func (d DNSNameConfig) Bytes() ([]byte, error) {
+ return json.MarshalIndent(d, "", "\t")
+}
diff --git a/pkg/network/netconflist.go b/pkg/network/netconflist.go
index c3b11b409..e19051b88 100644
--- a/pkg/network/netconflist.go
+++ b/pkg/network/netconflist.go
@@ -2,6 +2,8 @@ package network
import (
"net"
+ "os"
+ "path/filepath"
)
// NcList describes a generic map
@@ -111,3 +113,22 @@ func NewFirewallPlugin() FirewallConfig {
Backend: "iptables",
}
}
+
+// NewDNSNamePlugin creates the dnsname config with a given
+// domainname
+func NewDNSNamePlugin(domainName string) DNSNameConfig {
+ return DNSNameConfig{
+ PluginType: "dnsname",
+ DomainName: domainName,
+ }
+}
+
+// HasDNSNamePlugin looks to see if the dnsname cni plugin is present
+func HasDNSNamePlugin(paths []string) bool {
+ for _, p := range paths {
+ if _, err := os.Stat(filepath.Join(p, "dnsname")); err == nil {
+ return true
+ }
+ }
+ return false
+}