Repository navigation
Fixes from the review: private SSH tunnel, store and collector, small fixes, upkeep - #23
Merged
Merged
Conversation
On macOS and Linux, ssh now forwards the remote Docker socket to a socket file in a folder made with mode 0700 (StreamLocalBindMask=0177), instead of a TCP port on 127.0.0.1 that every local program, and a web page, could reach. The folder is removed with the tunnel. Windows keeps the port for now. Requests to Docker also give up when no headers come within 30 seconds, so a hung daemon or tunnel no longer stops log collection for good.
- A clear can no longer leave a batch behind: the store checks the clear counter under its write lock and moves the cursor in the same step - Another server behind a connection pauses collecting and asks whether to keep or delete the old logs, instead of deleting them silently - Over the size limit, connections share the space equally; only those above their share lose lines - First reads of a replica run in the background, two at a time, so a slow one no longer holds up the other replicas and the events - Deploys are looked up by kind instead of among the newest 5,000 events
- --host beyond this computer answers any IP address of the machine (names stay refused) and warns that the link travels unencrypted - A settings file that cannot be read is set aside as config.broken.json; Stackline starts with the defaults and says so in the UI - CSV cells that start like a formula start with an apostrophe
Only moves code: store.rs becomes store/mod.rs with four modules beside it. Nothing changes in what the store does.
…ess private - New CI job e2e-swarm: starts a single-node swarm, deploys the demo stack and checks replicas, global and crashing services, lines of every replica and whole stack traces (e2e/tests/swarm.spec.ts, project "swarm"). It runs on its own because the crashing service fills Docker's short event history, which the Compose tests read. - README: a Security section (reads only, private SSH tunnel, sign-in token and Host check, --host 0.0.0.0, signed updates, how to report).
Store and collector fixes from the review
Split the log store, test a swarm stack in CI, add a Security section
The fake slow replica answered after 4 s, and two polls may wait 2 s each for first reads, so on a busy runner it finished during the second poll. It now takes 8 s.
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 PR now holds the work of #24, #25 and #26 as well. Those were merged into each other's branches, not into main, so it all lands here.
Private SSH tunnel
Store and collector
Small fixes
config.jsonis set aside asconfig.broken.json, and a banner says so.--host 0.0.0.0works for IP addresses. Names are still refused, and Stackline warns that the link is unencrypted.Upkeep
store.rsis split intostore/{mod,schema,query,retention,export}.rs. This only moves code.e2e-swarm, tests a single-node swarm with the demo stack.Tests
cargo testand clippy pass.