Commit Graph

14 Commits

Author SHA1 Message Date
s1d3sw1ped a3162a3e5f Enhance scratchbox storage metadata management
CI / Go Tests (push) Successful in 14s
CI / Build (push) Successful in 8s
Format / gofmt (push) Failing after 4s
Release Artifacts / Validate release tag (push) Successful in 2s
Release Artifacts / Build and release executables (push) Successful in 14s
Release Artifacts / Build and release Docker image (push) Successful in 24s
- Updated `README.md` to clarify the distinction between public scratch IDs and internal blob IDs.
- Modified `filesystem.go` to introduce a new `BlobID` field in the `Metadata` struct, ensuring the separation of public and internal identifiers.
- Implemented functions to generate and reserve unique public IDs for scratch entries, improving metadata integrity.
- Adjusted tests in `filesystem_test.go` to validate the new ID structure and ensure public IDs do not match blob hashes.
2026-06-01 05:50:37 -05:00
s1d3sw1ped 4579443d09 Enforce environment variable configuration for Docker entrypoint
CI / Go Tests (push) Successful in 12s
CI / Build (push) Successful in 11s
Format / gofmt (push) Successful in 6s
Release Artifacts / Validate release tag (push) Successful in 2s
Release Artifacts / Build and release executables (push) Successful in 16s
Release Artifacts / Build and release Docker image (push) Successful in 26s
- Updated `docker-entrypoint.sh` to disallow custom command-line arguments, requiring configuration through `SCRATCHBOX_*` environment variables.
- Modified `README.md` to clarify that custom container commands are not supported and to reflect the new entrypoint behavior.
- Enhanced `main_test.go` to validate failure when required environment variables are not set.
- Added a function in `server.go` to print startup environment variables, ensuring visibility of configuration during server initialization.
2026-06-01 05:06:57 -05:00
s1d3sw1ped bc9077660b Add example environment configuration and Docker Compose setup
CI / Go Tests (push) Failing after 9s
CI / Build (push) Successful in 9s
Format / gofmt (push) Successful in 7s
Release Artifacts / Validate release tag (push) Successful in 1s
Release Artifacts / Build and release executables (push) Failing after 8s
Release Artifacts / Build and release Docker image (push) Has been skipped
- Introduced a new `.env.example` file to provide a template for environment variables used by the Scratchbox server.
- Added a `docker-compose.example.yml` file to facilitate easy deployment of the Scratchbox service with Docker.
- Updated `docker-entrypoint.sh` to enforce environment variable settings for server configuration.
- Removed the generation of a config key file from the workflow, simplifying the configuration process.
- Adjusted the README.md to reflect changes in configuration management and usage instructions.
2026-06-01 04:36:53 -05:00
s1d3sw1ped 7968d47030 Enhance release workflow and documentation for tag validation and release notes generation
CI / Go Tests (push) Successful in 13s
CI / Build (push) Successful in 12s
Format / gofmt (push) Successful in 7s
Release Artifacts / Build and publish release (push) Successful in 12s
- Added validation for accepted release tag formats in the release workflow.
- Implemented a step to generate release notes based on changes since the last tag.
- Updated README.md to include accepted tag formats for stable and prerelease versions.
- Adjusted archive naming convention for consistency in release artifacts.
2026-06-01 02:33:47 -05:00
s1d3sw1ped 56fd479761 Refactor release workflow to streamline binary builds and packaging
CI / Go Tests (push) Successful in 13s
CI / Build (push) Successful in 11s
Format / gofmt (push) Successful in 8s
Release Artifacts / Build and publish release (push) Successful in 14s
- Updated the release workflow to consolidate build steps for different architectures.
- Changed the variant name in README.md for clarity on static binaries compatibility.
- Enhanced the packaging process to create release archives for each binary built.
- Removed the matrix strategy for builds, simplifying the CI configuration.
2026-06-01 02:17:42 -05:00
s1d3sw1ped 34fd1a5a4d Add Docker support with Dockerfile, entrypoint script, and CI workflows
CI / Go Tests (push) Failing after 26s
CI / Build (push) Successful in 15s
Format / gofmt (push) Successful in 5s
- Introduced a Dockerfile for building the application with Go and Node.js dependencies.
- Added a docker-entrypoint.sh script to manage container execution.
- Created a .dockerignore file to exclude unnecessary files from the Docker context.
- Updated Makefile to include a new target for building the Docker image.
- Added CI workflows for testing, formatting, and releasing artifacts in Gitea.
2026-06-01 02:03:17 -05:00
s1d3sw1ped 050ec138f3 Lots more changes 2026-06-01 01:29:47 -05:00
s1d3sw1ped 8bec7f0dda Apply existing rate limiting to scratch read routes.
Reuse the current IP-based limiter for read endpoints so public reads remain open but throttled, and add integration coverage plus docs updates for the expanded scope.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-31 21:09:25 -05:00
s1d3sw1ped dbb72da312 Harden HTTP defaults and proxy header trust.
Add explicit server timeout/header limits, require trusted proxy CIDRs when honoring forwarded IP headers, and document single-instance storage expectations.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-31 21:09:00 -05:00
s1d3sw1ped 99d46ecd2a Many changes 2026-05-31 20:17:49 -05:00
s1d3sw1ped 900b1a0165 Updated README.md to replace the sample config instructions with a command to generate defaults directly, streamlining the setup process. 2026-05-31 17:45:29 -05:00
s1d3sw1ped aef7720896 Fixed non-existent -config option should have been --config or -c 2026-05-31 17:18:30 -05:00
s1d3sw1ped 696b5c57f7 Fixed invalid references to pastebin now scratchbox 2026-05-31 17:13:34 -05:00
s1d3sw1ped 47c767f9e8 initial commit 2026-05-29 22:39:50 -05:00