Releases: bacalhau-project/bacalhau
v1.2.3
What's Changed
- Bump github.com/invopop/jsonschema from 0.11.0 to 0.12.0 by @dependabot in #3350
- Improve testing for tls by @olgibbons in #3345
- Moving spelling file to its own directory (for vscode integration) and skipping draft PRs by @aronchick in #3280
- Project level changes for improving webui by @aronchick in #3356
- updating circle config by @aronchick in #3366
- Configuration changes for webui by @aronchick in #3357
- Fix webui linting by @aronchick in #3363
- 3358 - Adding MSW and mocks into webui by @aronchick in #3359
- decouple logsstream from transport layer by @wdbaruni in #3354
- Docupdating a1qa into main by @MichaelHoepler in #3227
- 3317 - Moving to YARN and including the reactSVG code by @aronchick in #3372
- Adding example ask authn policy that uses a shared secret by @simonwo in #3364
- Add initial docs for exec command by @rossjones in #3173
- Include supported job type options in help text by @rossjones in #3391
- 3367 - more spelling fixes by @aronchick in #3373
- 3368 - adding svgs in static dir and tests by @aronchick in #3374
- 3371 - Adding storybook stories by @aronchick in #3387
- feat: add metrics to publisher and input storage by @frrist in #3360
- Fix some issues in makefile. by @frrist in #3399
- fix: auth docs and config set for Auth by @frrist in #3349
- External CLI tests and subsequent authn/z fixes by @simonwo in #3406
- fix python ci build by @wdbaruni in #3414
- NATS based LogStream by @wdbaruni in #3407
- Improve pagination and filtering of job list command. by @rossjones in #3344
- Make publisher optional in CLI by @rossjones in #3417
- Bump cryptography from 41.0.6 to 42.0.0 in /python by @dependabot in #3413
- Select network address based on type by @rossjones in #3394
- Remove inmemory jobstore by @rossjones in #3422
- Removes the compute node's inmemory store by @rossjones in #3424
- First Storyboard web ui tools for JobTable by @aronchick in #3404
- Support anonymous mode authorization for V1 APIs by @simonwo in #3426
- Add vite env to tsconfig by @rossjones in #3435
- Install webui dependencies when missing by @rossjones in #3433
- Fix to my (accidental) reversion of this code by @aronchick in #3437
- Require NATS clients to be authenticated with a server secret token by @simonwo in #3425
- Fix too-speedy shutdown in devstack by @rossjones in #3434
- Adds support for specifying a default publisher on the server by @rossjones in #3430
- Updates the out of date mocks by @rossjones in #3439
- 3427 move from webpack to vite by @aronchick in #3442
- fix nats logstream by @wdbaruni in #3449
- Generate TLS server certificates, keys and CA by @olgibbons in #3443
- feat: GA trigger deployment to development cluster by @frrist in #3440
- Fix Python building in project (was: Bump github.com/aws/aws-sdk-go-v2 from 1.21.1 to 1.24.1) by @dependabot in #3405
- Verify signatures of JWTs when authorizing by @simonwo in #3452
- no job spec with executions by default by @wdbaruni in #3453
- Improve
job describe
output by @wdbaruni in #3459 - s3 only publish compressed results by @wdbaruni in #3464
- Adds a 'local' publisher by @rossjones in #3431
- Replace freeport dependency with modified version by @rossjones in #3470
- Bump go.opentelemetry.io/otel/exporters/otlp/otlptrace from 1.22.0 to 1.23.1 by @dependabot in #3455
- run staging on nats by @wdbaruni in #3463
- Enable access to local publisher content on demo network by @rossjones in #3486
- Devstack cancellations by @rossjones in #3487
- persist store paths, and migrate repo to v3 by @wdbaruni in #3429
- nodeID generation not based on libp2p by @wdbaruni in #3450
- Updates the experimental slices package by @rossjones in #3502
- Bump github.com/multiformats/go-multiaddr from 0.9.0 to 0.12.2 by @dependabot in #3473
- fix: set EvalID in execution by @frrist in #3500
- Bump ip from 2.0.0 to 2.0.1 in /webui by @dependabot in #3501
- Remove invalid or expired authorization tokens by @simonwo in #3506
- Update AWS SDK packages by @simonwo in #3511
- Bump cryptography from 42.0.2 to 42.0.4 in /python by @dependabot in #3504
- 3454 use earthly for building webui by @aronchick in #3460
- 3461 push the image after building it ci by @aronchick in #3482
- [cleanup] staticcheck cleanup by @rossjones in #3397
- fix build from source by installing earthly by @wdbaruni in #3541
- fix v3 repo migration when store config is present, but empty by @wdbaruni in #3542
- Make it easier to build just the binary by @rossjones in #3536
- Persistent node store by @rossjones in #3503
- Adds support for filtering of the List command in NodeInfoStores by @rossjones in #3545
- fix expected repoclone, but received: repoCloneLFS error by @wdbaruni in #3532
- Hide NATS auth token if the user supplied it by @simonwo in #3539
- Adds a node approval state to the node info by @rossjones in #3515
- Move job utils to temporary legacy package by @rossjones in #3457
- Fix CI and enable releases to happen by @simonwo in #3548
- Bump github.com/nats-io/nats-server/v2 from 2.10.7 to 2.10.11 by @dependabot in #3507
- Excludes local address from TF cluster settings by @rossjones in #3551
- Release v1.2.2 by @simonwo in #3561
- Ensure compute node does not open jobstore by @rossjones in #3565
- 3538 make build is broken by @aronchick in #3568
- Address type resolution in publisher not server by @rossjones in #3555
- Remove local addresses from cluster settings by @rossjones in #3553
- Node registration when network=nats by @rossjones in #3535
- Regularly updates node info when using NATS by @rossjones in #3573
- Fix python flyte tests by @enricorotundo in #3563
- 3462 build python using earthly by @aronchick in #3483
- Live compute-node...
v1.2.3-rc2
What's Changed
- Release v1.2.2 by @simonwo in #3561
- Ensure compute node does not open jobstore by @rossjones in #3565
- 3538 make build is broken by @aronchick in #3568
- Address type resolution in publisher not server by @rossjones in #3555
- Remove local addresses from cluster settings by @rossjones in #3553
- Node registration when network=nats by @rossjones in #3535
- Regularly updates node info when using NATS by @rossjones in #3573
- Fix python flyte tests by @enricorotundo in #3563
- 3462 build python using earthly by @aronchick in #3483
- Live compute-node resource tracking by @rossjones in #3556
- Cancel authn input if the user presses Ctrl+C by @simonwo in #3579
- More documentation for WASM loader. by @simonwo in #3584
- Fix error on reading an empty tokens file by @simonwo in #3589
- Fixes a race condition starting server for local publisher by @rossjones in #3587
- Two fixes for more upfront validation by @simonwo in #3593
- Show node approval status in CLI by @rossjones in #3585
- Bump github.com/lestrrat-go/jwx from 1.2.28 to 1.2.29 by @dependabot in #3582
- Upgrade docker and fix deprecations by @rossjones in #3597
- deps: remove job info consumer by @frrist in #3400
- Manually cleanup repo directory to work around flaky window test. by @rossjones in #3602
- 3491 move plugins to earthly by @aronchick in #3495
- Implement new and improved terraform-base deployment by @frrist in #3089
- fix: add token_valid check to authz mp-tf by @frrist in #3611
- Store registration sentinel file alongside executions db by @rossjones in #3596
- Disables the swagger doc generation by @rossjones in #3625
- fix nodeIDs when using libp2p by @wdbaruni in #3624
- Updates timeout for TestNack_TimeoutReset by @rossjones in #3618
- Revert "Store registration sentinel file alongside executions db" by @rossjones in #3629
- Fix job logs following to work with auth by @simonwo in #3613
- Fix documentation not being built or deployed. by @simonwo in #3634
- Bump google.golang.org/protobuf from 1.32.0 to 1.33.0 in /ops/aws/canary/lambda by @dependabot in #3631
- Simplify labels for compute node by @rossjones in #3637
Full Changelog: v1.2.2...v1.2.3-rc2
v1.2.3-rc1
What's Changed
- Fix CI and enable releases to happen by @simonwo in #3548
- Bump github.com/nats-io/nats-server/v2 from 2.10.7 to 2.10.11 by @dependabot in #3507
- Excludes local address from TF cluster settings by @rossjones in #3551
- Release v1.2.2 by @simonwo in #3561
- Ensure compute node does not open jobstore by @rossjones in #3565
- 3538 make build is broken by @aronchick in #3568
- Address type resolution in publisher not server by @rossjones in #3555
- Remove local addresses from cluster settings by @rossjones in #3553
- Node registration when network=nats by @rossjones in #3535
- Regularly updates node info when using NATS by @rossjones in #3573
- Fix python flyte tests by @enricorotundo in #3563
- 3462 build python using earthly by @aronchick in #3483
- Live compute-node resource tracking by @rossjones in #3556
- Cancel authn input if the user presses Ctrl+C by @simonwo in #3579
- More documentation for WASM loader. by @simonwo in #3584
- Fix error on reading an empty tokens file by @simonwo in #3589
- Fixes a race condition starting server for local publisher by @rossjones in #3587
- Two fixes for more upfront validation by @simonwo in #3593
- Show node approval status in CLI by @rossjones in #3585
- Bump github.com/lestrrat-go/jwx from 1.2.28 to 1.2.29 by @dependabot in #3582
- Upgrade docker and fix deprecations by @rossjones in #3597
- deps: remove job info consumer by @frrist in #3400
- Manually cleanup repo directory to work around flaky window test. by @rossjones in #3602
- 3491 move plugins to earthly by @aronchick in #3495
- Implement new and improved terraform-base deployment by @frrist in #3089
- fix: add token_valid check to authz mp-tf by @frrist in #3611
- Store registration sentinel file alongside executions db by @rossjones in #3596
- Disables the swagger doc generation by @rossjones in #3625
- fix nodeIDs when using libp2p by @wdbaruni in #3624
- Updates timeout for TestNack_TimeoutReset by @rossjones in #3618
- Revert "Store registration sentinel file alongside executions db" by @rossjones in #3629
- Fix job logs following to work with auth by @simonwo in #3613
- Fix documentation not being built or deployed. by @simonwo in #3634
Full Changelog: v1.2.2-rc2...v1.2.3-rc1
v1.2.2
What's Changed
- Improve testing for tls by @olgibbons in #3345
- Moving spelling file to its own directory (for vscode integration) and skipping draft PRs by @aronchick in #3280
- Project level changes for improving webui by @aronchick in #3356
- updating circle config by @aronchick in #3366
- Configuration changes for webui by @aronchick in #3357
- Fix webui linting by @aronchick in #3363
- 3358 - Adding MSW and mocks into webui by @aronchick in #3359
- decouple logsstream from transport layer by @wdbaruni in #3354
- Docupdating a1qa into main by @MichaelHoepler in #3227
- 3317 - Moving to YARN and including the reactSVG code by @aronchick in #3372
- Adding example ask authn policy that uses a shared secret by @simonwo in #3364
- Add initial docs for exec command by @rossjones in #3173
- Include supported job type options in help text by @rossjones in #3391
- 3367 - more spelling fixes by @aronchick in #3373
- 3368 - adding svgs in static dir and tests by @aronchick in #3374
- 3371 - Adding storybook stories by @aronchick in #3387
- feat: add metrics to publisher and input storage by @frrist in #3360
- Fix some issues in makefile. by @frrist in #3399
- fix: auth docs and config set for Auth by @frrist in #3349
- External CLI tests and subsequent authn/z fixes by @simonwo in #3406
- fix python ci build by @wdbaruni in #3414
- NATS based LogStream by @wdbaruni in #3407
- Improve pagination and filtering of job list command. by @rossjones in #3344
- Make publisher optional in CLI by @rossjones in #3417
- Select network address based on type by @rossjones in #3394
- Remove inmemory jobstore by @rossjones in #3422
- Removes the compute node's inmemory store by @rossjones in #3424
- First Storyboard web ui tools for JobTable by @aronchick in #3404
- Support anonymous mode authorization for V1 APIs by @simonwo in #3426
- Add vite env to tsconfig by @rossjones in #3435
- Install webui dependencies when missing by @rossjones in #3433
- Fix to my (accidental) reversion of this code by @aronchick in #3437
- Require NATS clients to be authenticated with a server secret token by @simonwo in #3425
- Fix too-speedy shutdown in devstack by @rossjones in #3434
- Adds support for specifying a default publisher on the server by @rossjones in #3430
- Updates the out of date mocks by @rossjones in #3439
- 3427 move from webpack to vite by @aronchick in #3442
- fix nats logstream by @wdbaruni in #3449
- Generate TLS server certificates, keys and CA by @olgibbons in #3443
- feat: GA trigger deployment to development cluster by @frrist in #3440
- Fix Python building in project (was: Bump github.com/aws/aws-sdk-go-v2 from 1.21.1 to 1.24.1) by @dependabot in #3405
- Verify signatures of JWTs when authorizing by @simonwo in #3452
- no job spec with executions by default by @wdbaruni in #3453
- Improve
job describe
output by @wdbaruni in #3459 - s3 only publish compressed results by @wdbaruni in #3464
- Adds a 'local' publisher by @rossjones in #3431
- Replace freeport dependency with modified version by @rossjones in #3470
- run staging on nats by @wdbaruni in #3463
- Enable access to local publisher content on demo network by @rossjones in #3486
- Devstack cancellations by @rossjones in #3487
- persist store paths, and migrate repo to v3 by @wdbaruni in #3429
- nodeID generation not based on libp2p by @wdbaruni in #3450
- Updates the experimental slices package by @rossjones in #3502
- fix: set EvalID in execution by @frrist in #3500
- Remove invalid or expired authorization tokens by @simonwo in #3506
- Update AWS SDK packages by @simonwo in #3511
- Bump cryptography from 42.0.2 to 42.0.4 in /python by @dependabot in #3504
- 3454 use earthly for building webui by @aronchick in #3460
- 3461 push the image after building it ci by @aronchick in #3482
- [cleanup] staticcheck cleanup by @rossjones in #3397
- fix build from source by installing earthly by @wdbaruni in #3541
- fix v3 repo migration when store config is present, but empty by @wdbaruni in #3542
- Make it easier to build just the binary by @rossjones in #3536
- Persistent node store by @rossjones in #3503
- Adds support for filtering of the List command in NodeInfoStores by @rossjones in #3545
- fix expected repoclone, but received: repoCloneLFS error by @wdbaruni in #3532
- Hide NATS auth token if the user supplied it by @simonwo in #3539
- Adds a node approval state to the node info by @rossjones in #3515
- Move job utils to temporary legacy package by @rossjones in #3457
- Fix CI and enable releases to happen by @simonwo in #3548
Full Changelog: v1.2.1...v1.2.2-rc3
v1.2.2-rc2
What's Changed
- Improve testing for tls by @olgibbons in #3345
- Moving spelling file to its own directory (for vscode integration) and skipping draft PRs by @aronchick in #3280
- Project level changes for improving webui by @aronchick in #3356
- updating circle config by @aronchick in #3366
- Configuration changes for webui by @aronchick in #3357
- Fix webui linting by @aronchick in #3363
- 3358 - Adding MSW and mocks into webui by @aronchick in #3359
- decouple logsstream from transport layer by @wdbaruni in #3354
- Docupdating a1qa into main by @MichaelHoepler in #3227
- 3317 - Moving to YARN and including the reactSVG code by @aronchick in #3372
- Adding example ask authn policy that uses a shared secret by @simonwo in #3364
- Add initial docs for exec command by @rossjones in #3173
- Include supported job type options in help text by @rossjones in #3391
- 3367 - more spelling fixes by @aronchick in #3373
- 3368 - adding svgs in static dir and tests by @aronchick in #3374
- 3371 - Adding storybook stories by @aronchick in #3387
- feat: add metrics to publisher and input storage by @frrist in #3360
- Fix some issues in makefile. by @frrist in #3399
- fix: auth docs and config set for Auth by @frrist in #3349
- External CLI tests and subsequent authn/z fixes by @simonwo in #3406
- fix python ci build by @wdbaruni in #3414
- NATS based LogStream by @wdbaruni in #3407
- Improve pagination and filtering of job list command. by @rossjones in #3344
- Make publisher optional in CLI by @rossjones in #3417
- Select network address based on type by @rossjones in #3394
- Remove inmemory jobstore by @rossjones in #3422
- Removes the compute node's inmemory store by @rossjones in #3424
- First Storyboard web ui tools for JobTable by @aronchick in #3404
- Support anonymous mode authorization for V1 APIs by @simonwo in #3426
- Add vite env to tsconfig by @rossjones in #3435
- Install webui dependencies when missing by @rossjones in #3433
- Fix to my (accidental) reversion of this code by @aronchick in #3437
- Require NATS clients to be authenticated with a server secret token by @simonwo in #3425
- Fix too-speedy shutdown in devstack by @rossjones in #3434
- Adds support for specifying a default publisher on the server by @rossjones in #3430
- Updates the out of date mocks by @rossjones in #3439
- 3427 move from webpack to vite by @aronchick in #3442
- fix nats logstream by @wdbaruni in #3449
- Generate TLS server certificates, keys and CA by @olgibbons in #3443
- feat: GA trigger deployment to development cluster by @frrist in #3440
- Fix Python building in project (was: Bump github.com/aws/aws-sdk-go-v2 from 1.21.1 to 1.24.1) by @dependabot in #3405
- Verify signatures of JWTs when authorizing by @simonwo in #3452
- no job spec with executions by default by @wdbaruni in #3453
- Improve
job describe
output by @wdbaruni in #3459 - s3 only publish compressed results by @wdbaruni in #3464
- Adds a 'local' publisher by @rossjones in #3431
- Replace freeport dependency with modified version by @rossjones in #3470
- run staging on nats by @wdbaruni in #3463
- Enable access to local publisher content on demo network by @rossjones in #3486
- Devstack cancellations by @rossjones in #3487
- persist store paths, and migrate repo to v3 by @wdbaruni in #3429
- nodeID generation not based on libp2p by @wdbaruni in #3450
- Updates the experimental slices package by @rossjones in #3502
- fix: set EvalID in execution by @frrist in #3500
- Remove invalid or expired authorization tokens by @simonwo in #3506
- Update AWS SDK packages by @simonwo in #3511
- 3454 use earthly for building webui by @aronchick in #3460
- 3461 push the image after building it ci by @aronchick in #3482
- [cleanup] staticcheck cleanup by @rossjones in #3397
- fix build from source by installing earthly by @wdbaruni in #3541
- fix v3 repo migration when store config is present, but empty by @wdbaruni in #3542
- Make it easier to build just the binary by @rossjones in #3536
- Persistent node store by @rossjones in #3503
- Adds support for filtering of the List command in NodeInfoStores by @rossjones in #3545
- fix expected repoclone, but received: repoCloneLFS error by @wdbaruni in #3532
- Hide NATS auth token if the user supplied it by @simonwo in #3539
- Adds a node approval state to the node info by @rossjones in #3515
- Move job utils to temporary legacy package by @rossjones in #3457
Full Changelog: v1.2.1...v1.2.2-rc2
v1.2.2-rc1
What's Changed
- WebUI Enhancements: A series of improvements have been made to the WebUI, including better linting, the addition of Mock Service Worker (MSW) for better frontend testing, storybook integration for UI component testing, and a move from webpack to Vite for a faster development experience. These changes aim to improve the development workflow and user interaction with Bacalhau's WebUI.
- feat: add metrics to publisher and input storage by @frrist in #3360
- External CLI tests and subsequent authn/z fixes by @simonwo in #3406
- NATS based LogStream by @wdbaruni in #3407
- Improve pagination and filtering of job list command. by @rossjones in #3344
- Make publisher optional in CLI by @rossjones in #3417
- Select network address based on type by @rossjones in #3394
- Remove inmemory jobstore by @rossjones in #3422
- Removes the compute node's inmemory store by @rossjones in #3424
- Support anonymous mode authorization for V1 APIs by @simonwo in #3426
- Require NATS clients to be authenticated with a server secret token by @simonwo in #3425
- Adds support for specifying a default publisher on the server by @rossjones in #3430
- Generate TLS server certificates, keys and CA by @olgibbons in #3443
- Verify signatures of JWTs when authorizing by @simonwo in #3452
- no job spec with executions by default by @wdbaruni in #3453
- Improve
job describe
output by @wdbaruni in #3459
Full Changelog: v1.2.1...v1.2.2-rc1
v1.2.1
What's Changed
- Remove building Bacalhau as part of Docker image build by @simonwo in #3092
- Docs migration by @simonwo in #3070
- Custom job type docker images by @rossjones in #3093
- Fix error message when missing plugin path by @rossjones in #3109
- fix: require teststack connected before test by @frrist in #3111
- fix: helpful error when IPFS fails to get content by @frrist in #3101
- refactor: allow node info store ttl configuration by @frrist in #3102
- Fix GPU labels for nodes with multiple GPU vendors by @simonwo in #3116
- Speed up CI a little bit by @simonwo in #3119
- Don't auto-generate Go-based docs using Swagger anymore by @simonwo in #3115
- Fix non-working test to save 30s by @rossjones in #3124
- Speed up the failing ipfs downloader test by @rossjones in #3123
- feat: further configuration of embedded ipfs daemon by @frrist in #3096
- Webui fix job name and by @olgibbons in #3098
- Run code generation by @rossjones in #3133
- Appeasing linter by @rossjones in #3122
- Provide flag to set webui port by @rossjones in #3132
- Translation converting custom task types to docker tasks by @rossjones in #3108
- Build and release on tags by @simonwo in #3136
- Only release Bacalhau artifacts from the workspace. by @simonwo in #3140
- Shunt GPU tooling error messages to DEBUG by @simonwo in #3153
- Enable experimental job translation by @rossjones in #3139
- Make logs wait for execution to be running by @rossjones in #3138
- Show error message when nodes don't support Docker by @simonwo in #3155
- adding error information to boltdb not running by @aronchick in #3156
- 3151 fix tests when s3 credentials are valid but dont have access to the test bucket by @aronchick in #3154
- Fixing many spelling errors and adding codespell check to CI by @aronchick in #3161
- Support extra flags for exec command by @rossjones in #3162
- 200 for api root by @aronchick in #3158
- Update the duckdb executor image to put binary in path by @rossjones in #3172
- [circleci] Build swagger reference - this is an automatic commit [skip ci] by @simonwo in #3175
- [circleci] Build swagger reference - this is an automatic commit [skip ci] by @simonwo in #3176
- Add authorization middleware by @simonwo in #3170
- Create Bacalhau repo with correct permission from Python SDK by @simonwo in #3186
- fix: filter out requester nodes in rankAndFilterNodes by @frrist in #3216
- feat: allow clients to submit docker/wasm jobs with mismatched versions by @frrist in #3207
- adding testing bacalhau running script by @aronchick in #3157
- Enable TLS support for CLI by @rossjones in #2854
- Update docker executor for oom by @olgibbons in #3230
- Add authentication API endpoints and default using private keys by @simonwo in #3220
- feat: implement server/client version notify middleware by @frrist in #3221
- Swagger PRs - 1 - MVP by @aronchick in #3224
- Store source job spec in metadata when translating by @rossjones in #3257
- Refactor how we configure TLS in devstack by @rossjones in #3259
- Removes mypy from airflow plugin by @rossjones in #3273
- cleanup: Rename NewIPFSPublishers by @rossjones in #3263
- Remove estuary by @rossjones in #3270
- Some easy cleanup with spell checking by @aronchick in #3276
- Add authentication to the CLI by @simonwo in #3261
- Some small spelling fixes and adding a configuration file for prettier by @aronchick in #3277
- introduce nats transport by @wdbaruni in #3188
- docs: Fix dev links in main README.md by @adamac in #3291
- Make ExecuteTestCobraCommand safer to use by @rossjones in #3294
- Allow authn and authz methods to be configured by @simonwo in #3299
- Improve config of docker manifest caching by @rossjones in #2516
- Minor doc update by @rossjones in #3307
- Move linters to github actions by @rossjones in #3289
- feat: implement local Telemetry suite by @frrist in #3302
- Add authentication that supports usernames and passwords by @simonwo in #3311
- instument basic metrics by @frrist in #3309
- Update the deprecated linux image for CI by @rossjones in #3272
- refactor v2 client to be more idiomatic by @frrist in #3318
- Ensures requests as json do not include headers by @rossjones in #3341
- Stops linters from 'fixing' code by @rossjones in #3346
New Contributors
Full Changelog: v1.2.0...v1.2.1
v1.2.1-rc3
What's Changed
- Bump github.com/jedib0t/go-pretty/v6 from 6.4.7 to 6.4.9 by @dependabot in #3091
- Remove building Bacalhau as part of Docker image build by @simonwo in #3092
- Docs migration by @simonwo in #3070
- Bump github.com/go-git/go-git/v5 from 5.8.1 to 5.11.0 by @dependabot in #3097
- Bump github.com/hashicorp/go-hclog from 1.5.0 to 1.6.2 by @dependabot in #3105
- Custom job type docker images by @rossjones in #3093
- Fix error message when missing plugin path by @rossjones in #3109
- fix: require teststack connected before test by @frrist in #3111
- fix: helpful error when IPFS fails to get content by @frrist in #3101
- refactor: allow node info store ttl configuration by @frrist in #3102
- Fix GPU labels for nodes with multiple GPU vendors by @simonwo in #3116
- Speed up CI a little bit by @simonwo in #3119
- Don't auto-generate Go-based docs using Swagger anymore by @simonwo in #3115
- Bump github.com/labstack/echo/v4 from 4.11.1 to 4.11.3 by @dependabot in #3117
- Fix non-working test to save 30s by @rossjones in #3124
- Speed up the failing ipfs downloader test by @rossjones in #3123
- Bump go.opentelemetry.io/otel/exporters/otlp/otlptrace from 1.18.0 to 1.21.0 by @dependabot in #3126
- feat: further configuration of embedded ipfs daemon by @frrist in #3096
- Bump golang.org/x/crypto from 0.16.0 to 0.17.0 by @dependabot in #3129
- Webui fix job name and by @olgibbons in #3098
- Run code generation by @rossjones in #3133
- Bump golang.org/x/time from 0.3.0 to 0.5.0 by @dependabot in #3134
- Appeasing linter by @rossjones in #3122
- Provide flag to set webui port by @rossjones in #3132
- Translation converting custom task types to docker tasks by @rossjones in #3108
- Build and release on tags by @simonwo in #3136
Full Changelog: v1.2.0...v1.2.1-rc2
v1.2.1-rc1
What's Changed
- Bump github.com/jedib0t/go-pretty/v6 from 6.4.7 to 6.4.9 by @dependabot in #3091
- Remove building Bacalhau as part of Docker image build by @simonwo in #3092
- Docs migration by @simonwo in #3070
- Bump github.com/go-git/go-git/v5 from 5.8.1 to 5.11.0 by @dependabot in #3097
- Bump github.com/hashicorp/go-hclog from 1.5.0 to 1.6.2 by @dependabot in #3105
- Custom job type docker images by @rossjones in #3093
- Fix error message when missing plugin path by @rossjones in #3109
- fix: require teststack connected before test by @frrist in #3111
- fix: helpful error when IPFS fails to get content by @frrist in #3101
- refactor: allow node info store ttl configuration by @frrist in #3102
- Fix GPU labels for nodes with multiple GPU vendors by @simonwo in #3116
- Speed up CI a little bit by @simonwo in #3119
- Don't auto-generate Go-based docs using Swagger anymore by @simonwo in #3115
- Bump github.com/labstack/echo/v4 from 4.11.1 to 4.11.3 by @dependabot in #3117
- Fix non-working test to save 30s by @rossjones in #3124
- Speed up the failing ipfs downloader test by @rossjones in #3123
- Bump go.opentelemetry.io/otel/exporters/otlp/otlptrace from 1.18.0 to 1.21.0 by @dependabot in #3126
- feat: further configuration of embedded ipfs daemon by @frrist in #3096
- Bump golang.org/x/crypto from 0.16.0 to 0.17.0 by @dependabot in #3129
- Webui fix job name and by @olgibbons in #3098
- Run code generation by @rossjones in #3133
- Bump golang.org/x/time from 0.3.0 to 0.5.0 by @dependabot in #3134
- Appeasing linter by @rossjones in #3122
- Provide flag to set webui port by @rossjones in #3132
- Translation converting custom task types to docker tasks by @rossjones in #3108
Full Changelog: v1.2.0...v1.2.1-rc1
v1.2.0
Announcing Bacalhau v1.2
📢 We are extremely proud to announce the release of Bacalhau 1.2! Since we announced the release of Bacalhau 1.1 in September 2023, we have been the community has stepped forward to release a number of novel ways to use Bacalhau. For example:
- Save $2.5M Per Year by Managing Logs the AWS Way
- Edge-based Machine Learning Inference
- Distributed Warehousing Made Easy With Bacalhau
- How to Solve Edge Container Orchestration
We are also excited to announce that the U.S. Navy Chose Bacalhau to Manage Predictive Maintenance Workloads!
But that’s just the start - Bacalhau 1.2 is packed with new features, enhancements, and bug fixes to improve your workflow and overall user experience.
Read on to learn more about these exciting updates! Or install straight away.
Job templates
Users can now create and customize job templates to streamline their workflow by creating a large number of similar jobs more easily.
A job template contains named placeholders:
Name: docker job
Type: batch
Count: 1
Tasks:
- Name: main
Engine:
Type: docker
Params:
Image: ubuntu:latest
Entrypoint:
- /bin/bash
Parameters:
- -c
- echo {{.greeting}} {{.name}}
The placeholders will be filled in during a call to bacalhau job run
with environment variables or command-line flags:
export greeting=Hello
bacalhau job run job.yaml --template-vars "name=World" --template-envs "*"
The templating functionality is based on the Go text/template
package. This robust library offers a wide range of features for manipulating and formatting text based on template definitions and input variables. For more information about the Go text/template
library and its syntax, you can refer to the official documentation: Go text/template Package.
Telemetry from inside WASM jobs with Dylibso integration
This release introduces the ability to collect telemetry data from within WebAssembly (WASM) jobs via integration with the Dylibso Observe SDK.
Now, WebAssembly modules that have been automatically or manually instrumented will pass
tracing information to any OTEL endpoints configured for Bacalhau to use. This happens
automatically if OTEL is configured and the WASM is instrumented. Uninstrumented WASM continues to be run as normal with no required changes.
This allows WASM jobs to pass telemetry into Jaeger or any other configured OTEL client:
Simplified node bootstrapping
Bacalhau nodes now no longer require peers to be supplied with a LibP2P key, which simplifies configuration of private Bacalhau clusters. Now, Bacalhau only requires an IP address and port number to establish peering with other nodes.
Whereas previously, Bacalhau required a public key to be specified with peer information:
/ip4/35.245.161.250/tcp/1235/p2p/QmbxGSsM6saCTyKkiWSxhJCt6Fgj7M9cns1vzYtfDbB5Ws
A simpler version with automatic key lookup is now supported:
/ip4/35.245.161.250/tcp/1235/http
This means in private environments, node set-up can be considerably simplified, as only the IP address and port need to be known in advance of establishing the cluster.
New browser-based dashboard
We have introduced a modern and intuitive browser-based dashboard, providing web users with a fresh experience. Users can now see both job execution lists and node information:
For the demonstration network, you can now visit http://bootstrap.production.bacalhau.org to see the dashboard in action.
It is simple to add the web UI to your own private cluster – just pass --web-ui
to your bacalhau serve
command or set Node.WebUI: yes
in your config file. Once set Bacalhau will serve the web UI on port 80 automatically with no further configuration required.
Support for AMD and Intel GPUs
Users can now take advantage of the power of AMD and Intel GPUs for their computational tasks, in addition to our existing support for Nvidia GPUs.
Now, if a compute node has the AMD utlity rocm-smi
or Intel utility xpu-smi
installed, Bacalhau will automatically detect their GPUs at boot and make them available for use in Docker jobs.
Further, details on available GPUs are now available from the Nodes API. Calls to /api/v1/orchestrator/nodes
now return extended GPU information that identifies the GPU’s vendor, available VRAM, and model name.
Support for multiple GPUs in Docker jobs
We now support the utilization of multiple GPUs in Docker jobs, enabling workload splitting and parallel processing.
Users can take advantage of multiple GPUs by passing the --gpu=...
flag to bacalhau docker run
or by specifying the number of GPUs in the Resources section of the job spec. The job will wait for the requested number of GPUs to become available at which point the job will have exclusive use of the GPUs for as long as it is executing.
Results download from S3-compatible buckets
Users can now download results directly from S3-compatible buckets using bacalhau get
, simplifying the data retrieval process.
The S3 Publisher will now generate pre-signed URLs on-demand for use by Bacalhau clients downloading job results without needing to provide credentials to the bucket itself. This requires the requester node to have appropriate IAM permissions for reading buckets.
Support for Google Cloud buckets
Users can now seamlessly integrate Google Cloud Storage (GCS) buckets into their jobs, allowing for easy storage and retrieval of data.
To use GCS buckets, request data from a GCS storage endpoint or configure an S3 publisher using a [storage.googleapis.com](http://storage.googleapis.com)
endpoint.
Programmatic API for manipulating config
Developers can now programmatically manipulate configuration settings using the new bacalhau config
command, providing more flexibility and automation in managing Bacalhau nodes.
- Use
bacalhau config list
to show the current state of configuration variables including defaults. - Use
bacalhau config set <key> <value>
to permanently set a configuration option. - Use
bacalhau config default
to generate a Bacalhau configuration file in YAML format without any user-specific overrides in place. - Use
bacalhau config auto-resources
to detect available system capacity (CPU, RAM, Disk, GPUs, etc.) and write the capacity into the config file. Users can specify a number from 0-100 to limit the capacity to that percentage of total capacity. A number over 100 can also be used to overcommit on capacity, which is useful mainly for setting queue capacities.
Improvements and Bug Fixes
- Sanity checking of WebAssembly resource usage: we now check that WebAssembly jobs have requested...