Conversation
…nce password generation with URL-safe characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces real-time streaming of deploy events using Server-Sent Events (SSE), along with a robust in-memory event broadcaster and associated tests. It also improves environment file handling and adds utility methods for deploy status checks. The main themes are deploy event streaming, event broadcasting infrastructure, environment file handling, and test coverage.
Deploy event streaming and SSE support:
StreamEventsHTTP handler indeploy.gothat streams deploy events in real time to clients using Server-Sent Events (SSE). It backfills existing events, sends live updates, and properly handles deploy completion and client disconnects. [1] [2]writeSSEEventandrenderDeployEventsHTMLfor formatting event data and HTML responses.Event broadcasting infrastructure:
EventBroadcasterinevent_broadcaster.gothat supports subscribing/unsubscribing to deploy event streams, publishing events, and cleaning up slow or disconnected subscribers.Engineand handler, ensuring that new events are published to all active subscribers. [1] [2] [3] [4]Environment file handling improvements:
resolveEnvFilePathto locate the correct.envfile, supporting multiple locations and theTALOS_ENV_FILEenvironment variable. ThepersistEncryptionKeyfunction now returns the path used and creates parent directories as needed. [1] [2] [3]Utility and status helpers:
IsTerminalmethod to theDeployStatustype to easily check if a deploy is complete or failed.Test coverage:
event_broadcaster_test.go), deploy event streaming handler (deploy_test.go), and environment file handling (main_test.go), ensuring correct behavior, resource cleanup, and non-blocking event delivery. [1] [2] [3]