|
@@ -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
|
|
|
}
|
|
}
|