mirror of
https://github.com/docker/compose.git
synced 2025-07-23 21:54:40 +02:00
report error using non-file secret|config with read-only service
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
This commit is contained in:
parent
fd0c23a1c9
commit
5f7c9a2b4b
@ -35,6 +35,10 @@ func (s *composeService) injectSecrets(ctx context.Context, project *types.Proje
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if service.ReadOnly {
|
||||||
|
return fmt.Errorf("cannot create secret %q in read-only service %s: `file` is the sole supported option", file.Name, service.Name)
|
||||||
|
}
|
||||||
|
|
||||||
if config.Target == "" {
|
if config.Target == "" {
|
||||||
config.Target = "/run/secrets/" + config.Source
|
config.Target = "/run/secrets/" + config.Source
|
||||||
} else if !isAbsTarget(config.Target) {
|
} else if !isAbsTarget(config.Target) {
|
||||||
@ -43,7 +47,7 @@ func (s *composeService) injectSecrets(ctx context.Context, project *types.Proje
|
|||||||
|
|
||||||
env, ok := project.Environment[file.Environment]
|
env, ok := project.Environment[file.Environment]
|
||||||
if !ok {
|
if !ok {
|
||||||
return fmt.Errorf("environment variable %q required by file %q is not set", file.Environment, file.Name)
|
return fmt.Errorf("environment variable %q required by secret %q is not set", file.Environment, file.Name)
|
||||||
}
|
}
|
||||||
b, err := createTar(env, types.FileReferenceConfig(config))
|
b, err := createTar(env, types.FileReferenceConfig(config))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -67,7 +71,7 @@ func (s *composeService) injectConfigs(ctx context.Context, project *types.Proje
|
|||||||
if file.Environment != "" {
|
if file.Environment != "" {
|
||||||
env, ok := project.Environment[file.Environment]
|
env, ok := project.Environment[file.Environment]
|
||||||
if !ok {
|
if !ok {
|
||||||
return fmt.Errorf("environment variable %q required by file %q is not set", file.Environment, file.Name)
|
return fmt.Errorf("environment variable %q required by config %q is not set", file.Environment, file.Name)
|
||||||
}
|
}
|
||||||
content = env
|
content = env
|
||||||
}
|
}
|
||||||
@ -75,6 +79,10 @@ func (s *composeService) injectConfigs(ctx context.Context, project *types.Proje
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if service.ReadOnly {
|
||||||
|
return fmt.Errorf("cannot create config %q in read-only service %s: `file` is the sole supported option", file.Name, service.Name)
|
||||||
|
}
|
||||||
|
|
||||||
if config.Target == "" {
|
if config.Target == "" {
|
||||||
config.Target = "/" + config.Source
|
config.Target = "/" + config.Source
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user