feat: set default log driver for service containers to 'local' (#83)

This commit is contained in:
Zasda Yusuf Mikail
2025-06-27 16:42:26 +10:00
committed by GitHub
parent 3b1ce42dd7
commit 1abadaef50
2 changed files with 11 additions and 5 deletions
+10 -3
View File
@@ -30,8 +30,10 @@ const (
PullPolicyNever = "never" PullPolicyNever = "never"
) )
var serviceIDRegexp = regexp.MustCompile("^[0-9a-f]{32}$") var (
var dnsLabelRegexp = regexp.MustCompile(`^[a-z0-9]([-a-z0-9]*[a-z0-9])?$`) serviceIDRegexp = regexp.MustCompile("^[0-9a-f]{32}$")
dnsLabelRegexp = regexp.MustCompile(`^[a-z0-9]([-a-z0-9]*[a-z0-9])?$`)
)
func ValidateServiceID(id string) bool { func ValidateServiceID(id string) bool {
return serviceIDRegexp.MatchString(id) return serviceIDRegexp.MatchString(id)
@@ -146,7 +148,6 @@ func (s *ServiceSpec) Validate() error {
return nil return nil
} }
func (s *ServiceSpec) Clone() ServiceSpec { func (s *ServiceSpec) Clone() ServiceSpec {
spec := *s spec := *s
@@ -200,6 +201,12 @@ type ContainerSpec struct {
// SetDefaults returns a copy of the container spec with default values set. // SetDefaults returns a copy of the container spec with default values set.
func (s *ContainerSpec) SetDefaults() ContainerSpec { func (s *ContainerSpec) SetDefaults() ContainerSpec {
spec := s.Clone() spec := s.Clone()
if spec.LogDriver == nil {
spec.LogDriver = &LogDriver{
Name: "local",
Options: map[string]string{},
}
}
if spec.PullPolicy == "" { if spec.PullPolicy == "" {
spec.PullPolicy = PullPolicyMissing spec.PullPolicy = PullPolicyMissing
} }
-1
View File
@@ -62,7 +62,6 @@ func assertContainerMatchesSpec(t *testing.T, ctr api.ServiceContainer, spec api
assert.Equal(t, spec.Container.Init, ctr.HostConfig.Init) assert.Equal(t, spec.Container.Init, ctr.HostConfig.Init)
assert.True(t, strings.HasPrefix(ctr.Name, spec.Name+"-")) assert.True(t, strings.HasPrefix(ctr.Name, spec.Name+"-"))
// If LogDriver is not set, any log driver set as default in the Docker daemon config could be used.
if spec.Container.LogDriver != nil { if spec.Container.LogDriver != nil {
assert.Equal(t, spec.Container.LogDriver.Name, ctr.HostConfig.LogConfig.Type) assert.Equal(t, spec.Container.LogDriver.Name, ctr.HostConfig.LogConfig.Type)
assert.Equal(t, spec.Container.LogDriver.Options, ctr.HostConfig.LogConfig.Config) assert.Equal(t, spec.Container.LogDriver.Options, ctr.HostConfig.LogConfig.Config)