Releases: ccremer/clustercode
v2.0.0
a lot of changes since 1.3.3
This Release marks a milestone in clustercode.
It's not perfect by far, but I wanted to get out a release eventually.
Please note that the changelog below is not useful at all when coming from v1.x.
v2 is a complete rewrite of clustercode.
- Instead of Java, it's written in Go.
- Instead of a master node with workers, it's a Kubernetes Operator that spawns Jobs
- Instead of scheduling separate media files across each worker, each Job splits, encodes and then merges a chunk of a single media file
This release comes also with the start of a WebUI (formerly https://github.com/ccremer/clustercode-admin). However, it's not in a working state yet (it's currently just a login text box 🤣 ).
To get started, you can check out the end-to-end test case to figure out how to configure things.
Documentation is practically inexistent yet.
Please note that this is my personal sandbox project on a practical use case. I don't expect people that they actually deploy this 🤣
However, I'm grateful for contributions if you do find it useful.
🚀 Features
- Add possibility to customize the spawned pods by @ccremer (#168)
- Add admission webhook server by @ccremer (#169)
- Bundle the UI in the Go binary by @ccremer (#178)
- WebUI: Add Proxy support for the Kubernetes API by @ccremer (#179)
- Auto-detect Kubernetes API URL for web UI by @ccremer (#195)
🛠️ Minor Changes
- Replace Goreleaser changelog generator with PR-based generator by @ccremer (#18)
- Move e2e make targets in its own makefile to clean up the main one by @ccremer (#33)
- Modularize make structure by @ccremer (#47)
- Rework GitHub workflows by @ccremer (#50)
- Rework e2e structure by @ccremer (#51)
- Restructure project around different CLI library by @ccremer (#153)
- Internal restructure by @ccremer (#161)
- Bootstrap UI framework by @ccremer (#171)
- Fix various issues with Helm chart releasing by @ccremer (#193)
- Use Cypress GH action by @ccremer (#194)
🔎 Breaking Changes
📄 Documentation
chart/clustercode-0.3.0
v2.0.0-rc5
chart/clustercode-0.2.0
Movie and Series conversion Operator with Ffmpeg
v2.0.0-rc4
76 changes since v2.0.0-rc3
🚀 Features
- Add Helm chart and automation boilerplate by @ccremer (#158)
- Add status conditions (#163) by ccremer
- Add possibility to customize the spawned pods (#168) by ccremer
- Add admission webhook server (#169) by ccremer
🛠️ Minor Changes
- Rework Workflows around documentation (#30) by ccremer
- Replace local registry by loading e2e images directly onto KIND cluster (#32) by ccremer
- Move e2e make targets in its own makefile to clean up the main one (#33) by ccremer
- Modularize make structure (#47) by ccremer
- Rework GitHub workflows (#50) by ccremer
- Use GH action to trigger workflow event in another repo (#52) by ccremer
- Rework e2e structure (#51) by ccremer
- Add builder utilities (#58) by ccremer
- Rename Kustomize dir (#61) by ccremer
- Restructure project around different CLI library (#153) by ccremer
- Update local dev environment (#157) by ccremer
- Update Antora documentation boilerplate to host docs in GH Pages (#159) by ccremer
- Replace BATS with Kuttl for e2e testing (#160) by ccremer
- Internal restructure (#161) by ccremer
- Add RBAC permission to delete collections of jobs (#167) by ccremer
🔎 Breaking Changes
- Rename ClustercodePlan to Blueprint (#56) by ccremer
- Rename ClustercodeTask to Task (#57) by ccremer
- Add webhook deployment to chart (#170) by ccremer
📄 Documentation
- Add changelog link in docs (#31) by ccremer
- Add overview graphic of clustercode (#48) by ccremer
- Generate API reference for Antora (#64) by ccremer
🔗 Dependency Updates
- Update mikepenz/release-changelog-builder-action action to v1.3.1 (#34) by renovate[bot]
- Update module knadh/koanf to v0.14.1 (#36) by renovate[bot]
- Update mikepenz/release-changelog-builder-action action to v1.4.1 (#39) by renovate[bot]
- Update module knadh/koanf to v0.15.0 (#37) by renovate[bot]
- Update k8s.io/utils commit hash to fddb29f (#38) by renovate[bot]
- Update module stretchr/testify to v1.7.0 (#40) by renovate[bot]
- Update docker.io/library/alpine Docker tag to v3.13 (#45) by renovate[bot]
- Upgrade to K8s 1.20 (#46) by ccremer
- Update mikepenz/action-junit-report action to v2 (#49) by renovate[bot]
- Update mikepenz/release-changelog-builder-action action to v1.4.2 (#54) by renovate[bot]
- Update module sigs.k8s.io/controller-runtime to v0.8.1 (#55) by renovate[bot]
- Update module go-logr/logr to v0.4.0 (#60) by renovate[bot]
- Update module spf13/cobra to v1.1.3 (#62) by renovate[bot]
- Update module sigs.k8s.io/controller-runtime to v0.8.2 (#63) by renovate[bot]
- Update module k8s.io/api to v0.20.3 (#68) by renovate[bot]
- Update module elastic/crd-ref-docs to v0.0.7 (#66) by renovate[bot]
- Update module k8s.io/client-go to v0.20.4 (#70) by renovate[bot]
- Pin mikepenz/release-changelog-builder-action action to v1 (#74) by ccremer
- Update module sigs.k8s.io/controller-tools to v0.5.0 (#73) by renovate[bot]
- Update k8s.io/utils commit hash to 2afb431 (#75) by renovate[bot]
- Update module sigs.k8s.io/controller-runtime to v0.8.3 (#76) by renovate[bot]
- Update module k8s.io/client-go to v0.20.5 (#82) by renovate[bot]
- Update dependency handlebars to 4.7.7 [SECURITY] (#87) by renovate[bot]
- Update dependency hosted-git-info to 2.8.9 [SECURITY] (#88) by renovate[bot]
- Update module go.uber.org/zap to v1.17.0 (#92) by renovate[bot]
- Update module github.com/knadh/koanf to v1 (#91) by renovate[bot]
- Update module github.com/knadh/koanf to v1.1.0 (#93) by renovate[bot]
- Update module sigs.k8s.io/controller-runtime to v0.9.0 (#94) by renovate[bot]
- Update dependency url-parse to 1.5.0 [SECURITY] (#96) by renovate[bot]
- Update dependency normalize-url to 4.5.1 [SECURITY] (#100) by renovate[bot]
- Update module sigs.k8s.io/controller-runtime to v0.9.1 (#105) by renovate[bot]
- Update module github.com/knadh/koanf to v1.1.1 (#106) by renovate[bot]
- Update mikepenz/release-changelog-builder-action action to v2 (#107) by renovate[bot]
- Update module go.uber.org/zap to v1.18.1 (#109) by renovate[bot]
- Update module sigs.k8s.io/controller-runtime to v0.9.2 (#108) by renovate[bot]
- Update dependency path-parse to 1.0.7 [SECURITY] (#119) by renovate[bot]
- Update dependency url-parse to 1.5.2 [SECURITY] (#121) by renovate[bot]
- Update dependency docker.io/library/alpine to v3.16 (#101) by renovate[bot]
- Update module github.com/knadh/koanf to v1.4.2 (#116) by renovate[bot]
- Update paambaati/codeclimate-action action to v3 (#125) by renovate[bot]
- Upgrade Antora to v3 (#138) by ccremer
- Update various dependencies (#141) by ccremer
- Update actions/setup-go action to v3 (#146) by renovate[bot]
- Update actions/checkout action to v3 (#145) by renovate[bot]
- Update goreleaser/goreleaser-action action to v3 (#148) by renovate[bot]
- Update actions/cache action to v3 (#144) by renovate[bot]
- Update mikepenz/release-changelog-builder-action action to v3 (#149) by renovate[bot]
- Update module go.uber.org/zap to v1.23.0 (#162) by renovate[bot]
- Update npm (#165) by renovate[bot]
- Update k8s.io/utils digest to e9cbc92 (#164) by renovate[bot]
- Update module sigs.k8s.io/controller-runtime to v0.13.0 (#166) by renovate[bot]
v2.0.0-rc2
9 changes since 1.3.2
🚀 Features
- Added Cleanup command PoC (PR #20)
🛠️ Minor Changes
- More CI improvements (PR #14)
- Replace Goreleaser changelog generator with PR-based generator (PR #18)
🔎 Breaking Changes
- Reimplementation in Go (PR #13)
🐛 Fixes
- Fix failing e2e test in PRs (PR #19)
📄 Documentation
- Add process diagram (PR #15)
🔗 Dependency Updates
- Update build-changelog action to 1.3.0 (PR #21)
- Update k8s.io/utils commit hash to 67b214c (PR #22)
- Update module go.uber.org/zap to v1.16.0 (PR #23)
Docker images
docker pull docker.io/ccremer/clustercode:v2.0.0-rc2
docker pull quay.io/ccremer/clustercode:v2.0.0-rc2
docker pull docker.io/ccremer/clustercode:v2
docker pull quay.io/ccremer/clustercode:v2
docker pull docker.io/ccremer/clustercode:latest
docker pull quay.io/ccremer/clustercode:latest
v2.0.0-rc1
Changelog
This is a big prerelease. Everything has changed since 1.x
The entire code has been rewritten for Kubernetes.
Kubernetes is now a requirement. This Operator works on any Linux Kubernetes (if you have the Admin permissions to install CRDs).
Docker images
docker pull docker.io/ccremer/clustercode:v2.0.0-rc1
docker pull quay.io/ccremer/clustercode:v2.0.0-rc1
1.3.2
1.3.1
Changes since 1.2.0
New Features
- WebAdmin UI: It is now possible to cancel a running conversion. The affected node will then wait for the next scan iteration, which provides time to make modifications on the profiles or shut it down.
- New cleanup strategy: Mark source in directory. Instead of creating a *.done file next to the input file, it will now be created in the directory you specify. This allows the input folders to be left alone/unmodified.
Changes
- REST: Added REST API for
/api/v1/tasks/stop
with DELETE method. It expects a query parameter for a given hostname, e.g./api/v1/tasks/stop?hostname=the.node
. The hostname is retrievable by calling/api/v1/tasks
first. - Settings:
- CC_CLEANUP_MARK_SOURCE_DIR (=
/input/done
) [new] - New enum possible for CC_CLEANUP_STRATEGY:
MARK_SOURCE_DIR
- new Jgroups Settings file:
fork.xml
. (relevant for windows and persisted config dir in docker) - Changed protocol stack in
tcp.xml
. (relevant for windows and persisted config dir in docker)
- CC_CLEANUP_MARK_SOURCE_DIR (=
- Other
- Fixed a bug in 1.3.0 that would leave tasks in the cluster forever if a node died and restarted.
- The default profiles now use the "medium" preset, instead of "ultrafast/faster" at the cost of encoding time, but the resulting file size should be lower now.
1.3.0
New Features
- WebAdmin UI: It is now possible to cancel a running conversion. The affected node will then wait for the next scan iteration, which provides time to make modifications on the profiles or shut it down.
- New cleanup strategy: Mark source in directory. Instead of creating a *.done file next to the input file, it will now be created in the directory you specify. This allows the input folders to be left alone/unmodified.
Changes
- REST: Added REST API for
/api/v1/tasks/stop
with DELETE method. It expects a query parameter for a given hostname, e.g./api/v1/tasks/stop?hostname=the.node
. The hostname is retrievable by calling/api/v1/tasks
first. - Settings:
- CC_CLEANUP_MARK_SOURCE_DIR (=
/input/done
) [new] - New enum possible for CC_CLEANUP_STRATEGY:
MARK_SOURCE_DIR
- new Jgroups Settings file:
fork.xml
. (relevant for windows and persisted config dir in docker) - Changed protocol stack in
tcp.xml
. (relevant for windows and persisted config dir in docker)
- CC_CLEANUP_MARK_SOURCE_DIR (=