Releases: rjbrown57/binman
v0.12.0
v0.11.0
v0.11.0
Server Mode
Server mode aka watch mode has been updated to allow binman to run as a server that can be queried by binman clients. Since binman is still limited to grabbing a single artifact per release the server will still be of limited use. Environments heavy on a single OS/Arch should find it useful to avoid needing to reach out to an external github/gitlab source.
XZ Support
Binman can now handle XZ compressed artifacts. Thanks @aauren!
Since last release
- Refactors! by @rjbrown57 in #87
- Watchfix by @rjbrown57 in #88
- server mode by @rjbrown57 in #89
- feat: add xz archive support by @aauren in #90
Full Changelog: v0.10.3...v0.11.0
v0.10.3
A fix for running in a container. Thanks to @marcciosilva !
What's Changed
- Create DB file if it doesn't exist (when getting a handle to the DB) by @marcciosilva in #86
New Contributors
- @marcciosilva made their first contribution in #86
Full Changelog: v0.10.2...v0.10.3
v0.10.2
Adds binman oci build
for building container images based on synced releases. Also contains a few minor fixes.
What's Changed
- Add build oci command by @rjbrown57 in #84
Full Changelog: v0.10.1...v0.10.2
v0.10.1
This release contains fixes for running in a container and moving the downloader code to it's own package
What's Changed
- Addtrace by @rjbrown57 in #82
- Downloadrefactor by @rjbrown57 in #83
Full Changelog: v0.10.0...v0.10.1
v0.10.0
Implement a bbolt based database to track work over time and allow binman to manage deleting old releases. If no db is detected during a run of binman it will be created and populated with what is currently found in your releasePath.
- Add command
binman clean
to allow removing of old versions based on passed threshold. This command has multiple flags. The key flags are-r
for dry run and , and -n to set the number of releases to keep. Please note if a db is initiated during a run ofbinman clean
dry run will be set automatically. - Add command
binman status
to view what the db is currently aware of.
What's Changed
- Add DB + status and clean commands by @rjbrown57 in #80
Full Changelog: v0.9.2...v0.10.0
v0.9.2
v0.9.1
What's Changed
- Assetselection by @rjbrown57 in #75
- refactor: add source + identify if querying latest in metrics for watch by @rjbrown57 in #76
- publish arm build
Full Changelog: v0.9.0...v0.9.1
v0.9.0
- Add binman watch for checking for new releases continuously. The following options can be configured via config file
watch:
sync: true # Whether to download assets or not. If you only want metrics set to false
fileserver: false # Start a basic fileserver at /
frequency: 60 # seconds between iteration, default is 60
port: 9091 # Port to expose healthz and metrics endpoints, default is 9091
an example helm chart is provided for running in k8s.
What's Changed
- feat: add binman watch subcommand by @rjbrown57 in #73
Full Changelog: v0.8.0...v0.9.0
v0.8.0
v0.8.0
This release allows binman to set different sources beyond github to sync from. By default github/gitlab sources are pre-configured for users.
This update will allow you to set private github/gitlab instances as well. Currently asset downloads must not require authentication. This will be added in a subsequent release.
PLEASE NOTE
this release adds the sourceIdentifier into the path assets are downloaded to. Previous behavior would be $RELEASEPATH/repos/rjbrown57/binman
. New Behavior is $RELEASEPATH/repos/github.com/rjbrown57/binman
. To Migrate you have two options mv $RELEASEPATH/repos/*
to $RELEASEPATH/repos/github.com/
and update all links at $RELEASEPATH/*.
Or rm -rf $RELEASEPATH/repos
and let binman sync everything fresh :).
Example source definitions
config:
releasepath: # path to keep fetched releases. $HOME/binMan is the default
maxdownloads: 1
sources:
- name: gitlab.com
tokenvar: GL_TOKEN
apitype: gitlab
- name: github.com
tokenvar: GH_TOKEN
apitype: github
- name: myprvate.github.com
tokenvar: GH_TOKEN
apitype: github
- name: myprivate.gitlab.com
tokenvar: GL_TOKEN
apitype: gitlab
releases:
- repo: rjbrown57/binman # by default github will be the source
- repo: myprivate.github.com/myorg/myproject # source can be supplied in the repo key
- repo: mygitlaborg/mygitlabproject
source: myprivate.gitlab.com # source can also be supplied via the source key. source must match the name field of configured sources.
See #71 for remaining multiple source issues.