* [docker-up] Minor fixes and add tests
Tool: gitpod/catfood.gitpod.cloud
* [image-builder-bob] Tests&fixes from an experimental PR
Tool: gitpod/catfood.gitpod.cloud
* [supervisor, ws-manager] Write docker credentials into client config file if passed into workspace
Tool: gitpod/catfood.gitpod.cloud
* [server] Introduce project.settings.enableDockerdAuthentication and expose it on the API
Tool: gitpod/catfood.gitpod.cloud
* [dashboard] Add "Docker registry authentication" toggle under projects/env vars
Tool: gitpod/catfood.gitpod.cloud
* [server] Guard project.settings.enableDockerdAuthentication by org write_settings permission
Tool: gitpod/catfood.gitpod.cloud
* review comments with cleanup + small fixes
Tool: gitpod/catfood.gitpod.cloud
* [go components] Fixed "go test ./..." in various components
Tool: gitpod/catfood.gitpod.cloud
* [go components] Update k8s 0.29.3 -> 0.30.9 API
- update the go-update-wc-deps.sh script to handle the brunt of that transition
- fixes Maintenance- + Subscriber-Controller
- document steps
Tool: gitpod/catfood.gitpod.cloud
* [ws-manager-mk2] Decide how to apply appamor config based on serverversion to support k8s 1.30+
Tool: gitpod/catfood.gitpod.cloud
* [gpctl] Missing go mod tidy
Tool: gitpod/catfood.gitpod.cloud
* Replace vulnerable outcaste-io/badger/v3 with original dgraph-io/badger/v3
Tool: gitpod/catfood.gitpod.cloud
* more go mod tidy
Tool: gitpod/catfood.gitpod.cloud
* [image-builder-bob, installer] Select the correct version of containerd....
Tool: gitpod/catfood.gitpod.cloud
---------
Co-authored-by: Gero Posmyk-Leinemann <gero@gitpod.io>
* [supervisor] Add Gitpod commit annotation
* server and API changes
* [dashboard] add org setting for commit annotation
* Fix things
* Fix label for annotation switch
* Revert accidental rename
* minor docs fixes
* Add a feature flag for the setting: `commit_annotation_setting_enabled`
* Register hook in the cloned repo instead of under /etc/
* don't override existing hooks
* `gp git-commit-message-helper` to use `git interpret-trailers`
* Test it!
* 🧹 indeed
* Update timestamp of DB migration
* [ws-proxy] upgrade golang-crypto
* Upgrade all direct deps
* Upgrade `golang.org/x/crypto` to v0.31.0
* bump up
---------
Co-authored-by: Filip Troníček <filip@gitpod.io>
* [context parser] Check current ref for Docker image existence
* Better builder bob errors from supervisor
* Gently soft-fail when the Dockerfile isn't found
* Add warning to ws metadata when starting workspace
* Introduce a magic constant instead of empty strings
* Improve supervisor failed reading bob log error
* Fixup cloning our special SHA
* idk what happened
* let workspaces start even on invalid docker refs
* Revert "[supervisor] revert recent changes to reduce frequency of `supervisor run error with unexpected exit code` (#20325)"
This reverts commit 3f066ce935d282d20c3098fbc6c7f6d2d5b1f152.
* Ignore expected case: pod kill / process kill by supervisor
* Debug commit
* fix
* Revert "Debug commit"
This reverts commit 1473e3d147c5f20e65f0a44a67d48dfd8bf9b258.
* Revert "[supervisor] switch lib back to use upstream `ramr/go-reaper` (#20322)"
This reverts commit 9442b52b9a1ade40857d16c65dca7993703bc5d9.
* Revert "[supervisor] set pod failure reason when supervisor is reaped (#20318)"
This reverts commit 9e8da3bdd041b1a42fd8d2ef1d732907bb0630c7.
* [supervisor] set pod failed reason when supervisor been reap
* Debug commit
* upgrade pkg
* Revert "Debug commit"
This reverts commit 1b6bde80c410034b62e235438b8f7262fa7f63b6.
* Provide a nicer image build failed message
* an error message that actually shows up
* Tweak error message
* Make env retrieval consistent in supervisor config
* Fix broken docs link in dashboard
* proto update
Co-authored-by: Filip Troníček <filip@gitpod.io>
Co-authored-by: Gero Posmyk-Leinemann <32448529+geropl@users.noreply.github.com>
* dashboard + server
---------
Co-authored-by: Filip Troníček <filip@gitpod.io>
Co-authored-by: Gero Posmyk-Leinemann <32448529+geropl@users.noreply.github.com>
* [PAPI] Retry steams upon not receiving data for 10 seconds
* [PAPI] Retry steams upon not receiving data for 10 seconds (#20176)
* debug message
* Do not listen for ws updates globally and do not timeout for those calls
* Timeout signal as a getter
* use ff for disablement
* accesor fn => getter
* send empty initial data in papi for global ws watch requests
---------
Co-authored-by: Gero Posmyk-Leinemann <gero@gitpod.io>
* [supervisor] Make sure we read the last chunk of message when task is closed
* [server, dashboard] Prebuild logs: stream as UInt8Array instead of string, and make sure we send the last chunk before closing the response
* Make log buffer more efficient
Merging done with `TypedArray.prototype.set()` as suggested here:
https://stackoverflow.com/a/73074813/10199319
* [dashboard] PrebuildTaskTab: use hash(err.message) as toastId
* [server] prebuild logs: Only call res.end after a timeout, so clients can continue reading from the stream
* [dashboard] prebuild logs emitter: If we receive code "200", forward prefixChunk, and stop streaming
* fixup! [dashboard] PrebuildTaskTab: use hash(err.message) as toastId
---------
Co-authored-by: Filip Troníček <filip@gitpod.io>
* log it all
* fix failing image logs prebuild updates
* make sure we dispose of requests properly
* minor cleanup
* handle aborts gracefully
* Try using a tailing library for reading supervisor task logs
* Fix caching requests on Firefox
* Revert "Try using a tailing library for reading supervisor task logs"
This reverts commit fdc3183aa76cab7ac4976fb633d148482054722b.
* Change log order
Make sure we wait for the line to be written first
* Tweak abortion error message
* Remove extra log line
* Enable displaying JB warmup tasks in the Prebuilds UI
* a hacky comment
* shorten jb warmup task id prefix
* update converter tests
* Capitalize product names
* Fix IDE order
* update golden test results
* Image builds in prebuilds UI
* update java gitignore
* Introduce a public API `watchWorkspaceImageBuildLogs`
* Use papi impl in prebuild logs
* Special case for missing prebuild tasks
* Add route handler for image build logs
* remove the papi method
* 404 if nothing was written
* remove unused converter changes
* update golden files
* Remove unused hook
* reset backoff when imagebuild logs are not ready
* Handle unavailable logs better
* Prebuild task tab component
* Fix tracking same URL
* conflict fixes
* Remove unused dep
* Update comment
* Clean up
* Simplify image build handling
It is no longer a special case
* Gracefully stop supervisor to fix abrupt connection termination for tasks (#19942)
* supervisor graceful stop
* Context consistency and server.shutdown
* Use a dedicated waitgroup for proper cleanup
* use the correct context
* Remove extra context wait
* remove terminal mux ctx changes
* remove debug logs
---------
Co-authored-by: Gero Posmyk-Leinemann <gero@gitpod.io>
---------
Co-authored-by: Gero Posmyk-Leinemann <gero@gitpod.io>
* Integrate reading from log files into Supervisor's `terminal.Listen`
* Try with GetOutput
* do not bubble down and fail
* remove debug stuff
* definitions and impl of `task.proto`
* codegen
* update endpoint
* Implement `ListenToOutput`
* Try with one API (🤞)
* stream beginning from where we left off
* Do not watch closed tasks
* move closing of worker channel
* simplify one-off reading
* codegen
* consolidate for loops, optimize watching
* remove extra line
It makes sense to group the offset definition with the function below it
* Gpl/ft/supervisor-listen-files (#19878)
* commit step 1
* 2nd
* Changes from joint code review
---------
Co-authored-by: Filip Troníček <filip@gitpod.io>
* Remove year bumps
---------
Co-authored-by: Gero Posmyk-Leinemann <gero@gitpod.io>
* [server] ValidateGitStatusLength (max: 4096)
Behind feature flag api_validate_git_status_length
* [supervisor] Cap length of GitStatus message
* [supervisor] cap gitstatus test