* [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
* [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
* [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
* 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>
* [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
* [sshgateway] use ssh CA to auth
* change name
* add error log
* fix
* mark volume optional
* [installer] validate ssh-ca secret
* Revert "[installer] validate ssh-ca secret"
This reverts commit ca6ede78a7b5a720fd315eca32eb277cb5063069.
We must support the scenario where the installer has the secret, but, it is not in the cluster yet.
---------
Co-authored-by: Kyle Brennan <kyle@gitpod.io>
* [supervisor] Make UID/GID configurable
* Support content initializer as env var
* Make workspace runtime explicit
* Make linux user configurable for Git operations
* Don't assume /home/gitpod
* Fix unittest
* Fix wsdaemon