Browse Source

Merge pull request #29123 from vdemeester/29116-compose-to-swarm-logging

Handle logging in compose to swarm
Brian Goff 8 years ago
parent
commit
1f09d68a6e
3 changed files with 15 additions and 6 deletions
  1. 6 0
      api/types/swarm/common.go
  2. 0 6
      api/types/swarm/network.go
  3. 9 0
      cli/command/stack/deploy.go

+ 6 - 0
api/types/swarm/common.go

@@ -19,3 +19,9 @@ type Annotations struct {
 	Name   string            `json:",omitempty"`
 	Name   string            `json:",omitempty"`
 	Labels map[string]string `json:",omitempty"`
 	Labels map[string]string `json:",omitempty"`
 }
 }
+
+// Driver represents a driver (network, logging).
+type Driver struct {
+	Name    string            `json:",omitempty"`
+	Options map[string]string `json:",omitempty"`
+}

+ 0 - 6
api/types/swarm/network.go

@@ -109,9 +109,3 @@ type IPAMConfig struct {
 	Range   string `json:",omitempty"`
 	Range   string `json:",omitempty"`
 	Gateway string `json:",omitempty"`
 	Gateway string `json:",omitempty"`
 }
 }
-
-// Driver represents a network driver.
-type Driver struct {
-	Name    string            `json:",omitempty"`
-	Options map[string]string `json:",omitempty"`
-}

+ 9 - 0
cli/command/stack/deploy.go

@@ -567,6 +567,14 @@ func convertService(
 		return swarm.ServiceSpec{}, err
 		return swarm.ServiceSpec{}, err
 	}
 	}
 
 
+	var logDriver *swarm.Driver
+	if service.Logging != nil {
+		logDriver = &swarm.Driver{
+			Name:    service.Logging.Driver,
+			Options: service.Logging.Options,
+		}
+	}
+
 	serviceSpec := swarm.ServiceSpec{
 	serviceSpec := swarm.ServiceSpec{
 		Annotations: swarm.Annotations{
 		Annotations: swarm.Annotations{
 			Name:   name,
 			Name:   name,
@@ -589,6 +597,7 @@ func convertService(
 				TTY:             service.Tty,
 				TTY:             service.Tty,
 				OpenStdin:       service.StdinOpen,
 				OpenStdin:       service.StdinOpen,
 			},
 			},
+			LogDriver:     logDriver,
 			Resources:     resources,
 			Resources:     resources,
 			RestartPolicy: restartPolicy,
 			RestartPolicy: restartPolicy,
 			Placement: &swarm.Placement{
 			Placement: &swarm.Placement{