Releases: nlsantos/brig
Releases · nlsantos/brig
v0.0.14-alpha
Changelog
- 5d8011d build(release): bump version to 0.0.14-alpha
- 6d65878 chore(brig): fixed linting issue
- 493c61a feat(trill): ExecInContainer() now returns stdout and stderr of its target
- 42b329b feat(trill): StartContainer() now returns the container ID on success
- 45ad89e feat(trill): added MultiExecInTempContainer and refactored ExecInTempContainer to use it
- 506aaaf feat(trill): added StopContainer(); StopDevcontainer() is now just a wrapper for the former
- f6f8103 feat(trill): implemented initial support for env probing
- f3a1077 feat(trill): implemented user namespace mapping for non-root values
- 62df0cb feat(trill): use a Composer project's user declaration if containerUser is absent
- fa6a2bd feat(writ): added scaffolding to support correct processing of env vars
- 807e4de feat(writ): interpolating env vars now take probing into account
- c50a93d feat(writ): moved env var interpolation and volume parsing into its own function
- 00f8acc fix(trill): allow for env maps in ExecInContainer to be nil
- b445139 fix(trill): removed what is basically a noop
- aece61b refactor(brig): adjusted lifecycleHandler() to account for changes in ExecInDevcontainer()'s signature
- 03d1362 refactor(trill): adjusted createComposerService() to account for change in StartContainer()'s signature
- 9c42f77 refactor(trill): split off spinning up a temp container into its own func
- d2a3032 test(brig): adjust var expansion test to account for the additional func call needed for interpolation
v0.0.13-alpha
Changelog
- 5aff556 build(deps): switched github.com/docker/docker to a version that's FreeBSD-compatible
- 45e769a build(release): bump version to 0.0.13-alpha
- e7caada chore(brig): added doc comments to recently-added methods
- eb34127 chore(brig): consolidated features with dependsOn and changed their names to avoid collision
- 8bcfc3c chore(brig): fixed some misspellings
- 6e166d1 chore(brig): formatting clean up
- e548bce chore(brig): rearranging test data to consolidate input files
- b9d60d2 chore(trill): removed inaccurate bits in comment for createComposerService()
- 56f50a3 chore(trill): removed unnecessary whitespace
- 8f62385 chore(writ): cleaned up some comments
- 7f0275e feat(brig): actually trigger feature installation scripts in response to lifecycle hooks
- d921d29 feat(brig): added building a DAG for feature installations
- 7fe030d feat(brig): added support for overriding order in the installation DAG
- 20ebd0b feat(brig): initial stab at supporting actual feature installs as a lifecycle signal
- 9c20adf feat(brig): instantiate trill client with a feature builder method
- 6085e52 feat(brig): skip instantiating a feature parser if there's already one
- 90a66bf feat(brig): supported features in devcontainers that use custom Containerfiles
- 891a353 feat(brig): supported refactored trill.ExecInDevcontainer()
- d8bdcd6 feat(trill): added a struct to store a builder function for a feature-laden OCI image
- 612758a feat(trill): added support for calling a helper function to build a featured OCI image for Composer services
- bf9ca06 feat(trill): implemented feature installation as a lifecycle signal
- cd8ed3a feat(writ): mount strings are now parsed the way the Docker CLI would parse them
- 135b35d fix(brig): added guard rail against orderOverride being nil
- 7ded728 fix(brig): corrected vertex ID sourced from when calculating dependsOn graphs
- 2f1533a fix(brig): marked prepareFeatureDataURI() as a stub more prominently
- 0707825 fix(brig): return an exit code if the writ constructor fails
- 3e80d40 fix(brig): setting feature options in ParseFeaturesConfig() now returns an error appropriately
- 83c4b3e fix(trill): moved feature install lifecycle invocation to after the container is started
- 489c4e2 fix(trill): moved invocation of feature installation to after initializeCommand
- 89b3abe refactor(brig)!: reworked two functions to mutate Command's featurePathLookup field instead
- 1edb421 refactor(brig): corrected sorting of feature methods
- c6cc869 refactor(brig): further consolidating test data
- 5789c2f refactor(brig): moved building features-laden OCI image into its own method
- 76c91af refactor(trill)!: ExecIn*Container() now accepts the remote user and env var map instead of referencing DevcontainerParser directly
- c7d4cac refactor(trill): rationalized a couple of type names
- cdde977 refactor(trill): sorted out some comments and streamlined the container starting logic in createComposerService()
- daa9414 refactor(writ)!: rationalized typing for env-var fields
- b3fc721 refactor(writ): the options struct now uses pointers
- a09b3e1 test(brig): added test case for features the declare dependsOn
- a808812 test(brig): added test case for features with dependsOn and devcontainer.json with overrideFeatureInstallOrder
- 575d76e test(brig): added test case for standalone feature installs (just standard order override)
- 457613c test(brig): renamed features-depends-simple/ to features-dependson/
v0.0.12-alpha
v0.0.10-alpha
Changelog
- 81300e5 Revert "docs: swapped in GFM callouts for a couple of sections"
- e9996cf build(linter): added kics configuration and ignored docs/index.md for markdownlint
- bf0e302 build(release): bump version to 0.0.10-alpha
- 3f2c54d build: added vhs tape
- c6f3416 chore: fix linting issues
- 7c19445 chore: fix spelling issues
- 82bfc14 feat(brig)!: moved setting containerUser and remoteUser out of brig
- 0c5ff66 feat(brig)!: removed MakeMeRoot (supplanted by updateRemoteUserUID support)
- cc91e69 feat(brig): added support for skipping building/pulling images if they already exist
- b580165 feat(trill)!: removed MakeMeRoot (supplanted by updateRemoteUserUID support)
- b4098c0 feat(trill): added a couple of logging lines
- 9a48103 feat(trill): added hook for postStartCommand
- 1ce9e09 feat(trill): added support for conditional builds and pulls
- 10526ff feat(trill): moved setting containerUser and remoteUser into trill
- 5399b25 feat(trill): set writ's DevcontainerID once the devcontainer is created
- ba30770 feat(trill: added IsImageTagAvailable
- 3846661 feat(writ): added support for the devcontainerId variable
- b4ca8a8 feat(writ): implemeted lookups for ${containerEnv:*} variables
- f8ae2d0 fix(brig): Composer projects cannot have "." in them
- f48e5e9 fix(brigrc): set sample values to their actual defaults
- c735302 fix(trill): explicitly parse ports to uint16 instead of just casting it
- 5e350ce refactor(trill): InspectImage now returns a pointer to the image config
- 6c67098 refactor(trill): moved UsernsMode setting in buildServiceContainerConfig to StartContainer
- fa8d3f1 refactor(trill): moved setting the container's user over to createComposerService
- f0253ff refactor(trill): removed duplicate setting of a struct field
- 6066ebf refactor(trill): removed unused parameter
- 5e2ce6f refactor(trill): renamed an internal variable for consistency
v0.0.9-alpha
Changelog
- 62b0e6a build(deps): updated go.mod
- b1a9d35 build(deps): updated go.mod
- c558aa5 build(release): bump version to 0.0.9-alpha
- 452fc8f build: brought down version requirement to 1.24.9 to support FreeBSD 15.0
- a30ba88 chore: fix linting issues
- d5123a0 chore: fix linting issues
- d88dcba feat(brig)!: changed the short flag for port offsets from -o to -p
- 55c53f6 feat(brig): added a deferred function to clean up after trill
- 9c8402e feat(brig): added ability to determine containerUser/remoteUser value from image
- 53b613a feat(brig): added ability to pass OCI platform meta to trill
- dcaed09 feat(brig): added ability to specify OCI architecture and OS
- df284ee feat(brig): added default podman socket path on FreeBSD
- 9e7e455 feat(brig): added support for lifecycle commands that run in the container
- bdfdf83 feat(brig): delegated actual process exit to main()
- 44fb3c9 feat(brig): fleshed out lifecycle command a little bit more
- fab2f2a feat(brig): fleshed out lifecycle support and added support for waitFor
- 707222c feat(brig): redeclared ExitCode to be a uint instead of an int
- a41bcb6 feat(brig): reworked error-handling and return in NewCommand
- f7c2939 feat(brig): skeleton of the lifecycle handling
- df79b00 feat(trill)!: decoupled terminal attaching from starting containers
- 48d1c17 feat(trill)!: made StartContainer a little more generic
- 93b4e28 feat(trill): added Client fields to support decoupling attaching from starting containers
- 47e8a5b feat(trill): added ErrLifecycleHandler error
- 5bcb2ac feat(trill): added ExecInContainer to run commands inside a running container
- 0a0e1af feat(trill): added InspectImage as a thin wrapper over the ImageInspect REST API
- e99b64f feat(trill): added StopDevcontainer to aid in clean up
- a99ff48 feat(trill): added a lifecycle response channel and guardrail around closing attachResp
- ef9b794 feat(trill): added a struct to hold OCI architecture options
- 26da4a2 feat(trill): added lifecycle hooks as appropriate
- 57d624a feat(trill): added prettier output to the build and pull operations
- 0b99e96 feat(trill): added support for OCI platform metadata to build and pull ops
- 1b0787d feat(trill): close the lifecycle channel after the last signal that can be sent
- 5fcb189 feat(trill): laid down the foundation for lifecycle support
- 70712fb feat(writ)!: renamed consts that stand in for valid waitFor values
- 133e862 feat(writ): added setting a default value for waitFor
- c38134a feat(writ): added unmarshallers for CacheFrom, CommandBase, and LifecycleCommand
- 7319ab6 feat(writ): tweaked the mapping of the lifecycle command fields into structs
- 99b2f12 fix(brig): corrected logic when checking the existence of lifecycle commands
- f01d87a fix(trill)!: shuffled off closing the Moby client connection to a deferrable function
- 1b8216b fix(trill): moved lifecycle hooks to after the devcontainer is started
- 517d8e3 fix(trill): the PostAttach hook now checks the handler's response
- 5bdce33 refactor(brig): reworked main execution to account for lifecycle handling
- e6f3ef1 refactor(brig): sorted functions alphabetically
- a4a67e0 refactor(brig): tweaking error handling a little bit
- b087d1b refactor(trill): simplified service container creation owing to lifecycle support
- 5e07e65 refactor(writ): moved setting the default for shutdownAction from normalizeValues() to setDefaultValues()
- 8090936 refactor(writ): renamed unmarshall.go to unmarshal.go
- 6a5ee0a test(writ): added a test case for the lifecycle commands
v0.0.8-alpha
Changelog
- e40ad47 build(deps): updated go.mod
- cb5ba03 build(release): bump version to 0.0.8-alpha
- 0cd1627 chore(trill): cleaned up a couple of log calls
- f3d0461 feat(brig): added conditional support for Composer projects
- bb29d14 feat(brig): added error handling to support recent changes to trill functions
- 24dd4f2 feat(brig): tried to rationalize error handling at the top-level
- 2f57a37 feat(trill)!: PullContainerImage now returns on an error
- 7439d16 feat(trill)!: StartContainer is now a little bit more generic and returns error
- 789a900 feat(trill)!: reworked error returns for the Composer service creation
- 8055cd5 feat(trill): BuildContainerImage now returns on an error; it's also a lot more generic
- 89abb3e feat(trill): added Composer-supporting fields to the Client struct
- e996a90 feat(trill): added a bit more error logging
- 6d130f6 feat(trill): added a thin wrapper to BuildContainerImage
- 24e4bae feat(trill): added ability to attach to a nominated Composer service
- 5b1adeb feat(trill): added guardrails to the terminal hijacking
- 8149664 feat(trill): added port, tmpfs, and volume bindings to host config of Composer services
- 48ad493 feat(trill): implemented dependency state checking
- 62577bb feat(trill): initial support for Composer projects
- 595d8a7 feat(writ): added normalization for the value of the dockerComposeFile field
- 48b75dc feat(writ): added unmarshalling support for the dockerComposeFile field
- 72be009 fix(brig)!: the logging handler now uses Stderr instead of Stdout
- 71855eb fix(trill): closed an os.Signal channel
- a37da5a fix(trill): corrected conditional for assigning the container's user
- cef679d fix(trill): force builder messages to use CRLF to help account for the terminal in raw mode
- 82ecefe fix(trill): services are now torn down before networks (as they should be)
- 625f36b fix(writ): rationalized the type assignment for the dockerComposeFile field
- a32ea7e refactor(trill): sorted Composer functions alphabetically
v0.0.7-alpha
Changelog
- 5a3a3c9 build(linter): added jscpd config
- ec8b36b build(linter): ignored testdata devcontainer.json files for jsonlint
- 5f44aaf build(release): bump version to 0.0.7-alpha
- 0bd9adb build: added go vet to the pre-hook and support for building FreeBSD binaries
- 82e05e4 chore(brig): fixed sorting of Options struct
- 834595c chore(brig): fixed sorting of functions
- f670c64 chore(trill): converted the Moby client handle into an unexported field
- bf9bf22 chore(trill): fixed a misspelled function doc
- 261f4ba chore(writ): fixed a misspelled log output
- d3584b7 chore: added Mega-Linter reports directory to .gitignore
- 0d4b0b4 chore: fix linting issues
- 6494af1 chore: fix linting issues
- 8d8d61f chore: fix linting issues
- aa515ec chore: fix linting issues
- 7120f64 dev(linter): swapped Super-Linter out for Mega-Linter
- e1c771c feat(brig): added port-offset flag to brigrc sample
- b02784c feat(brig): implemented support for increasing port numbers for ports < 1023
- 428be4a feat(brig): made the help text look a little bit nicer
- 7422650 feat(brig): replaced default log handler with prettylog
- b4e1476 feat(brig): swapped out prettylog for devslog
- 0a657bd feat(trill): added a debug dump of the host config for container creation
- 833c46f feat(trill): added support for increasing port numbers if they are < 1023
- 50424d6 feat: brought down version requirement to 1.24.10 to support Mega-Linter
- 3b32781 fix(brig)!: renamed it to "offset" rather than "factor"
- d6476bb fix(brig): fixed a segfault when neither image or dockerFile is specified
- fafe929 fix(trill): added explicit error-handling on a deferred func
- be154c7 fix(trill): rationalized a couple of error logging & handling in terminal resizing
- eda45be fix(trill): removed an unused import
- ecf1718 fix(writ): added explicit error-handling on a deferred func
- 2d2130b refactor(brig): cleaned up NewCommand a little bit
- 09b27d5 refactor(trill): attempt to simplify StartContainer by breaking it up into several funcs
- 84c86eb refactor(trill): shuffled off image-related functions into its own file
- 5e4ac09 refactor(writ): broke up parsing into its components
- b6c2eeb refactor(writ): moved struct and unmarshallers out of internal
- bef574f refactor(writ): simplified setting defaults even more
- abaf69d test(writ): removed a no-longer valid assertion
v0.0.6-alpha
Changelog
- 776ca33 build(release): bump version to 0.0.6-alpha
- d5254c5 build: added Homebrew support to releases
- aaedbba build: disable directory wrapping to support Homebrew
- cad670a build: replaced deprecated brews section with homebrew_casks
- 2d0e761 chore: fix linting issues
- 546055b chore: updated the description of brig in the version help text
- a4a1777 feat(brig): added a couple of common paths for fiding brigrc
- 13d0246 feat(brig): added a validation-only mode of operation
- b732105 feat(brig): added the validate flag to the sample brigrc
v0.0.5-alpha
Changelog
- 3a1bf21 build(deps): updated go.mod and go.sum
- ef366ff build(release): bump version to 0.0.5-alpha
- a22e6c0 build: move main CLI source into a subdirectory so it can be go install-able
- a77164b build: updated GoReleaser config to point to the moved main.go
- f71e2d8 chore: formatting fixes
- 928227a chore: removed a newline go was flagging as redundant
- 2868c0c dev: switch to using the official golang OCI image
- c3e287c feat(brig): added checking for well-known named pipes under Windows
- 119fc19 feat(brig): added support for the "Make Me Root" flag
- e5c67e0 feat(brig): attempt to make socket path detection a little more robust
- e3c9b51 feat(brig): implement support for the
imagefield in devcontainer.json and output suppression in builds/pulls - 4d03941 feat(trill): added a "Make Me Root" flag to force mapping your UID:GID to 0:0 in the container
- 4ef5fd8 feat(trill): added ability to suppress output of the build process via a parameter
- b6270f2 feat(trill): added preliminary support for forwarding ports
- 9eea048 feat(trill): set the container's working directory to workspaceFolder
- 133db8d feat(trill): support pulling in images from remote registries
- 983f713 feat(writ)!: ForwardPorts is now just []string
- 99bcd77 feat(writ)!: simplified the mapping for appPort and added an unmarshaller
- 06226d1 feat(writ): added a custom unmarshaller for the ForwardPort struct
- f540488 feat(writ): added parsing of forwardPorts and portsAttibutes
- 1102b4e feat(writ): swapped in a SplitSeq() because Emacs told me to
- ff108f4 fix(brig): move root mapping message to after setting the default log level
- ed8e31b fix(trill): set the container's internal user to the value of containerUser and not remoteUser
- 720313f fix(writ): corrected a dodgy variable assignment
- d59affc fix(writ): set overrideCommand correctly
- 9c18b8f fix(writ): straightened out the representation of PortsAttributes and OtherPortsAttributes to better reflect the spec
- adc98a6 refactor(brig): moved getSocketAddr() into brig
- b02ee5a refactor(trill): changed the conditional for processing mounts
- 2197336 refactor(trill): moved getSocketAddr() out of trill
- e730513 refactor(writ)!: renamed CoordinateAppPort to AppPort
- 19d7fdc refactor(writ): just a little clean up of the unmarshalling functions
- 0b82ee3 test(writ)!: edited the simple-devcontainer.json to the simplest (usable) config possible
- 09b5d90 test(writ): added a couple of invalid test cases using ports
- 99de246 test(writ): added a couple of new sample devcontainer.json files
- d794905 test(writ): added another forwartPort port attribute sample
- 2099fce test(writ): added test cases for handling forwarded ports and their attributes
- b5345aa test(writ): added test cases for the appPort field (in all its various guises)
- 7b336be test(writ): expanded the simple devcontainer test with checks for defaults
- 0851008 test(writ): fixed incorrect usage of assert.Equal*
- 04a98e5 test(writ): removed TestParseSimple
v0.0.4-alpha
Changelog
- 162443d build(release): bump version to 0.0.4-alpha
- f56e375 build: added arm64 as a target and included brigrc in the release archive
- 56b463c build: renamed the Windows binary to be the same as the *nix ones
- 1cd63cb build: skip UPX for Windows arm64 builds
- 69a4beb feat(brig): support the flag file being in a familiar directory in, e.g., Windows
- 978d151 feat(trill): added support for integrating the values of the containerEnv field into the devcontainer
- 30657d1 feat(writ): added a warning when runArgs is used in the devcontainer.json config
- 9c3455e feat(writ): initial support for variable expansion
- 0b4277f feat: added a default flags file that can be used as a reference/template
- 5f3cac4 fix(brig): ensure that the generated container name is valid
- 063a353 refactor(trill): added a couple of flags to the tar options just to make them more explicit
- 326c961 refactor(trill): changed a naked switch on the mount type to a tagged switch
- 4a047a4 refactor(writ): change the Source field of the Mount struct from a *string to a string
- 81aa9f0 refactor(writ): moved defWorkspacePath to the const DefWorkspacePath so it's easier to reference it in tests
- 97e5780 test(writ): added test case for variable expansion