Replace scattered defaults subcommands with `system property`. by jglogan · Pull Request #604 · apple/container

@jglogan marked this pull request as draft

September 12, 2025 02:16

@jglogan jglogan changed the title Property cli Replace scattered defaults subcommands with system property.

Sep 12, 2025
- Replaces `registry default` and `system dns default`
  subcommands with `system property`.
- Users can use `system property ls` to see details
  about each supported default value.
- `system property set` implements reasonable validation
  for all properties.
- NOTE: Probing of the registry for `registry default set`
  was removed, which means users will find out about a
  botched setting when pulling or pushing.
- Updated all documentation to use the new property commands instead
  of macOS defaults or individual default subcommands.

@jglogan jglogan marked this pull request as ready for review

September 13, 2025 00:48

This was referenced

Sep 13, 2025

adityaramani

adityaramani

@jglogan

- Use the correct reference constructor.
- Fix missing DefaultsStore set for kernel URL.

katiewasnothere

Mcrich23 added a commit to Mcrich23/container that referenced this pull request

Sep 17, 2025
commit 449f1d2
Author: J Logan <sgtbakerrahulnet@yahoo.com>
Date:   Tue Sep 16 13:37:55 2025 -0700

    Replace scattered defaults subcommands with `system property`. (apple#604)

    Common subcommands for all defaults.

    - Closes apple#384.
    - Replaces `registry default` and `system dns default` subcommands with
    `system property`.
    - Users can use `system property ls` to see details about each supported
    default value.
    - `system property set` implements reasonable validation for all
    properties.
    - NOTE: Probing of the registry for `registry default set` was removed,
    which means users will find out about a botched setting when pulling or
    pushing.
    - Updates docs.

    ## Type of Change
    - [ ] Bug fix
    - [x] New feature
    - [x] Breaking change
    - [x] Documentation update

    ## Motivation and Context
    See apple#384.

    ## Testing
    - [x] Tested locally
    - [x] Added/updated tests
    - [x] Added/updated docs

commit 386fd87
Author: Kathryn Baldauf <k_baldauf@apple.com>
Date:   Tue Sep 16 10:52:08 2025 -0700

    Enumerate using relative paths to avoid mismatch with symlink resolution of special paths like /tmp (apple#613)

    ## Type of Change
    - [x] Bug fix
    - [ ] New feature
    - [ ] Breaking change
    - [ ] Documentation update

    ## Motivation and Context
    Fixes apple#588. This PR changes the
    archiver compression file enumeration to use the
    [enumerator(atPath:)](https://developer.apple.com/documentation/foundation/filemanager/enumerator(atpath:))
    version. This version returns relative paths instead of full file paths
    from the filesystem. /tmp is symlinked to /private/tmp and some swift
    packages will handle that path differently. While a call to Foundation's
    `URL.resolvingSymlinksInPath()` will return "/tmp", a call to
    `FileManager.enumerator(at:)` will return "/private/tmp". This
    difference causes a container image build to fail when the user is using
    a path under /tmp or other special case paths as the context directory.

    ## Testing
    - [x] Tested locally
    - [x] Added/updated tests
    - [ ] Added/updated docs

    Signed-off-by: Kathryn Baldauf <k_baldauf@apple.com>

commit 79cc363
Author: J Logan <sgtbakerrahulnet@yahoo.com>
Date:   Tue Sep 16 10:14:14 2025 -0700

    Relocates API server to Helpers, service to Services. (apple#616)

    - Closes apple#615.

    Improves project organization. Separates service so it can be tested and
    used separately from the executable target. No functional changes.

commit a54be36
Author: J Logan <sgtbakerrahulnet@yahoo.com>
Date:   Mon Sep 15 11:27:51 2025 -0700

    Add `--labels` for networks. (apple#600)

    - Closes apple#557.
    - Breaking change: removes `.upToNextOption` for labels on volumes as
    this is not what is done for containers, and it forces the argument to
    precede the options if a label is supplied, which is non-intuitive.

    ## Type of Change
    - [ ] Bug fix
    - [x] New feature
    - [x] Breaking change
    - [x] Documentation update

    ## Motivation and Context
    Consistent features and UX across managed resources.

    ## Testing
    - [x] Tested locally
    - [x] Added/updated tests
    - [x] Added/updated docs