Skip to content

Tags: aviationexam/docker-compose-builder

Tags

0.9.1

Toggle 0.9.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Fix YAML serialization for placement constraints (#202)

* Fix build

* Fix tests

0.9.0

Toggle 0.9.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
add Typed Deployment (#199)

* add Typed Deployment

* Minor tweaks

* Ignore CS0618 in tests

---------

Co-authored-by: aus-design-web-mobile <aus-design-web-mobile@users.noreply.github.com>
Co-authored-by: Jan Trejbal <jan@trejbal.land>

0.8.0

Toggle 0.8.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
add typed secrets and configs (#195)

* add typed secrets and configs

* feat: add UnixFileMode type for file permission handling

- Add UnixFileMode record struct with notation preservation (Octal, OctalWithO, RawInt)
- Add UnixFileModeConverter for YAML serialization/deserialization
- Support parsing: 0755 (octal), 0o755 (octal with 'o'), 256 (decimal)
- Preserve original notation on round-trip serialization
- Replace int? Mode with UnixFileMode? in ServiceSecret, ServiceConfig, ServiceVolumeTmpfs
- Simplify collection converters to use rootDeserializer instead of manual parsing
- Register UnixFileModeConverter in ComposeExtensions

* test: add comprehensive UnixFileMode tests

- Test parsing for all notations: octal (0755), octal with 'o' (0o755), decimal (493)
- Test setuid/setgid/sticky bit modes (04777, 02755, etc.)
- Test invalid octal values (0800, 0888) throw exceptions
- Test notation preservation on ToNotationString()
- Test implicit conversion roundtrip equality
- Test equality includes notation (record struct semantics)
- Add integration tests for mode serialization in compose files

* refactor: extract ServiceItemCollection base class

Extract common IList<T> implementation from ServiceSecretCollection,
ServiceConfigCollection, and ServiceVolumeCollection into abstract
ServiceItemCollection<T> base class.

Each concrete collection still implements IList<string> explicitly
due to C# interface unification limitations (CS0695).

---------

Co-authored-by: Jasim Schluter <jasim.schluter@pacom.com>
Co-authored-by: Jan Trejbal <jan@trejbal.land>

0.7.1

Toggle 0.7.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Fix quoted keys in YAML serialization and add comprehensive service t…

…est (#192)

* Add serialization test for complex service with healthcheck and deploy

Test covers comprehensive Docker Compose service configuration including:
- HealthCheck (test command, interval, timeout, retries, start_period)
- Deploy (labels, replicas, update_config, restart_policy, placement, resources)
- Ports, extra_hosts, command, volumes, labels, environment, networks

The test currently fails due to quoted keys in serialization output.
Keys 'ports', 'extra_hosts', 'command', 'deploy' are incorrectly quoted.

* Fix quoted keys in YAML serialization output

The issue was that custom type converters (ServiceVolumeCollectionConverter,
YamlValueCollectionConverter) were emitting YAML events directly to IEmitter,
bypassing the event emitter chain. This caused ForceQuotedStringValuesEventEmitter
to lose track of key/value positions, resulting in quoted keys like "ports".

Changes:
- Refactor converters to use serializer callback instead of direct emitter.Emit()
- Simplify ForceQuotedStringValuesEventEmitter to use boolean toggle for key/value tracking
- Remove ServiceVolumeConverter (functionality merged into ServiceVolumeCollectionConverter)

0.7.0

Toggle 0.7.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Add Typed ServiceVolume Models With Custom Collection (#191)

* Changes Volumes property from List<string> to ServiceVolumeCollection,
   which implements both IList<string> and IList<ServiceVolume>.

   This allows both patterns to work:
   - foreach (string v in service.Volumes) - backwards compatible
   - foreach (var v in service.Volumes) - typed access (ServiceVolume)
   - string x = service.Volumes[0] - implicit conversion
   - ServiceVolume y = service.Volumes[0] - typed access

   Note: This is a minor breaking change for code using 'var' with volumes,
   as the inferred type changes from string to ServiceVolume.

* fix formatting issue
update complex example

* Keep class per file

* Define PLACE_ACCESSORHOLDER_ATTRIBUTE_ON_SAME_LINE_EX

* Simplify deserializer

* Simplify serializer

---------

Co-authored-by: aus-design-web-mobile <aus-design-web-mobile@users.noreply.github.com>
Co-authored-by: Jan Trejbal <jan@trejbal.land>

0.6.0

Toggle 0.6.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Add Deserialization support (#187)

* Add Deserialization support

* Minor tweaks

* Configure raw string literal indentation

* Add builder factory methods

* Use PublishedPortConverter in deserialization

* Implement PublishedPortConverter.ReadYaml

* Fix CS

---------

Co-authored-by: aus-design-web-mobile <aus-design-web-mobile@users.noreply.github.com>
Co-authored-by: Jan Trejbal <jan@trejbal.land>

0.5.0

Toggle 0.5.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Add net 10 target (#167)

* Add global.json

* Update test dependencies

* Enable Testing_Platform

* Add net10 actions SDK

* Add net10 targets

0.4.5

Toggle 0.4.5's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Bump gittools/actions from 4.1.0 to 4.2.0 (#166)

Bumps [gittools/actions](https://github.com/gittools/actions) from 4.1.0 to 4.2.0.
- [Release notes](https://github.com/gittools/actions/releases)
- [Changelog](https://github.com/GitTools/actions/blob/main/GitReleaseManager.yml)
- [Commits](GitTools/actions@v4.1.0...v4.2.0)

---
updated-dependencies:
- dependency-name: gittools/actions
  dependency-version: 4.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

0.4.4

Toggle 0.4.4's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Migrate to SLNX (#159)

0.4.3

Toggle 0.4.3's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Use serializer in the PublishedPortConverter (#143)