feat: add --models flag to config command

Signed-off-by: MohammadHasan Akbari <jarqvi.jarqvi@gmail.com>
This commit is contained in:
MohammadHasan Akbari 2025-07-07 12:09:40 +00:00 committed by Guillaume Lours
parent 0cc3c7a550
commit f42226e352
3 changed files with 27 additions and 0 deletions

View File

@ -51,6 +51,7 @@ type configOptions struct {
services bool services bool
volumes bool volumes bool
networks bool networks bool
models bool
profiles bool profiles bool
images bool images bool
hash string hash string
@ -115,6 +116,9 @@ func configCommand(p *ProjectOptions, dockerCli command.Cli) *cobra.Command {
if opts.networks { if opts.networks {
return runNetworks(ctx, dockerCli, opts) return runNetworks(ctx, dockerCli, opts)
} }
if opts.models {
return runModels(ctx, dockerCli, opts)
}
if opts.hash != "" { if opts.hash != "" {
return runHash(ctx, dockerCli, opts) return runHash(ctx, dockerCli, opts)
} }
@ -152,6 +156,7 @@ func configCommand(p *ProjectOptions, dockerCli command.Cli) *cobra.Command {
flags.BoolVar(&opts.services, "services", false, "Print the service names, one per line.") flags.BoolVar(&opts.services, "services", false, "Print the service names, one per line.")
flags.BoolVar(&opts.volumes, "volumes", false, "Print the volume names, one per line.") flags.BoolVar(&opts.volumes, "volumes", false, "Print the volume names, one per line.")
flags.BoolVar(&opts.networks, "networks", false, "Print the network names, one per line.") flags.BoolVar(&opts.networks, "networks", false, "Print the network names, one per line.")
flags.BoolVar(&opts.models, "models", false, "Print the model names, one per line.")
flags.BoolVar(&opts.profiles, "profiles", false, "Print the profile names, one per line.") flags.BoolVar(&opts.profiles, "profiles", false, "Print the profile names, one per line.")
flags.BoolVar(&opts.images, "images", false, "Print the image names, one per line.") flags.BoolVar(&opts.images, "images", false, "Print the image names, one per line.")
flags.StringVar(&opts.hash, "hash", "", "Print the service config hash, one per line.") flags.StringVar(&opts.hash, "hash", "", "Print the service config hash, one per line.")
@ -383,6 +388,17 @@ func runNetworks(ctx context.Context, dockerCli command.Cli, opts configOptions)
return nil return nil
} }
func runModels(ctx context.Context, dockerCli command.Cli, opts configOptions) error {
project, err := opts.ToProject(ctx, dockerCli, nil, cli.WithoutEnvironmentResolution)
if err != nil {
return err
}
for n := range project.Models {
_, _ = fmt.Fprintln(dockerCli.Out(), n)
}
return nil
}
func runHash(ctx context.Context, dockerCli command.Cli, opts configOptions) error { func runHash(ctx context.Context, dockerCli command.Cli, opts configOptions) error {
var services []string var services []string
if opts.hash != "*" { if opts.hash != "*" {

View File

@ -15,6 +15,7 @@ the canonical format.
| `--hash` | `string` | | Print the service config hash, one per line. | | `--hash` | `string` | | Print the service config hash, one per line. |
| `--images` | `bool` | | Print the image names, one per line. | | `--images` | `bool` | | Print the image names, one per line. |
| `--lock-image-digests` | `bool` | | Produces an override file with image digests | | `--lock-image-digests` | `bool` | | Produces an override file with image digests |
| `--models` | `bool` | | Print the model names, one per line. |
| `--networks` | `bool` | | Print the network names, one per line. | | `--networks` | `bool` | | Print the network names, one per line. |
| `--no-consistency` | `bool` | | Don't check model consistency - warning: may produce invalid Compose output | | `--no-consistency` | `bool` | | Don't check model consistency - warning: may produce invalid Compose output |
| `--no-env-resolution` | `bool` | | Don't resolve service env files | | `--no-env-resolution` | `bool` | | Don't resolve service env files |

View File

@ -56,6 +56,16 @@ options:
experimentalcli: false experimentalcli: false
kubernetes: false kubernetes: false
swarm: false swarm: false
- option: models
value_type: bool
default_value: "false"
description: Print the model names, one per line.
deprecated: false
hidden: false
experimental: false
experimentalcli: false
kubernetes: false
swarm: false
- option: networks - option: networks
value_type: bool value_type: bool
default_value: "false" default_value: "false"