42 Commits

Author SHA1 Message Date
s1d3sw1ped 90f1cf8bdf Enhance environment variable documentation and configuration
Format / gofmt (push) Successful in 5s
CI / Build (push) Successful in 12s
CI / Go Tests (push) Successful in 22s
Release Artifacts / Validate release tag (push) Successful in 1s
Release Artifacts / Build and release executables (push) Successful in 33s
Release Artifacts / Build and release Docker image (push) Successful in 3m10s
Co-authored-by: Cursor <cursoragent@cursor.com>
1.0.4
2026-07-15 16:27:18 -05:00
s1d3sw1ped ad4355df17 Heavy security and file splitting
CI / Go Tests (push) Successful in 15s
CI / Build (push) Successful in 9s
Format / gofmt (push) Successful in 7s
Release Artifacts / Validate release tag (push) Successful in 2s
Release Artifacts / Build and release executables (push) Successful in 15s
Release Artifacts / Build and release Docker image (push) Successful in 28s
1.0.3
2026-06-01 20:15:28 -05:00
s1d3sw1ped bdbe1a9416 Update AGENTS.md and Makefile for improved build and test instructions
CI / Go Tests (push) Successful in 12s
CI / Build (push) Successful in 9s
Format / gofmt (push) Successful in 6s
Release Artifacts / Validate release tag (push) Successful in 2s
Release Artifacts / Build and release executables (push) Successful in 15s
Release Artifacts / Build and release Docker image (push) Successful in 26s
- Revised the build and test instructions in `AGENTS.md` to emphasize the importance of formatting, testing, and building before finalizing code changes.
- Enhanced comments in the `Makefile` to clarify the purpose of each target, including `run`, `dev`, `build`, `docker`, `test`, `test-race`, and `fmt`.
1.0.2
2026-06-01 05:58:22 -05:00
s1d3sw1ped e6801007ee Refactor constants in filesystem.go for improved readability
- Adjusted formatting of constant declarations in `filesystem.go` to enhance code clarity and maintainability.
2026-06-01 05:58:15 -05:00
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.
1.0.1
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.
1.0.0
2026-06-01 05:06:57 -05:00
s1d3sw1ped 0dc1df2ded Update release workflow to conditionally enable latest tag for non-prerelease versions
CI / Go Tests (push) Successful in 12s
CI / Build (push) Successful in 10s
Format / gofmt (push) Successful in 6s
Release Artifacts / Validate release tag (push) Successful in 2s
Release Artifacts / Build and release executables (push) Successful in 15s
Release Artifacts / Build and release Docker image (push) Successful in 26s
- Modified the Docker image tagging step to include a condition that enables the 'latest' tag only when the release is not a prerelease, improving version management.
2026-06-01 04:47:05 -05:00
s1d3sw1ped ded1bb290b Update Dockerfile to remove unused volume configuration
CI / Go Tests (push) Successful in 12s
CI / Build (push) Successful in 9s
Format / gofmt (push) Successful in 6s
- Removed the "/config" volume from the Dockerfile, simplifying the container's volume management.
2026-06-01 04:44:17 -05:00
s1d3sw1ped 34a0198952 Update test configuration to ensure deterministic failure for missing config
CI / Go Tests (push) Successful in 12s
CI / Build (push) Successful in 8s
Format / gofmt (push) Successful in 6s
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 26s
- Modified the test case in `main_test.go` to use a directory path for the config argument, ensuring that the configuration initialization fails consistently during testing.
2026-06-01 04:40:05 -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 f74e028227 Remove artifact listing from release notes generation in workflow
CI / Go Tests (push) Successful in 22s
CI / Build (push) Successful in 17s
Format / gofmt (push) Successful in 9s
Release Artifacts / Validate release tag (push) Successful in 2s
Release Artifacts / Build and release executables (push) Successful in 19s
Release Artifacts / Build and release Docker image (push) Successful in 13s
2026-06-01 03:35:00 -05:00
s1d3sw1ped fd12b940a7 Refactor release workflow to improve Docker image handling and streamline build steps
CI / Go Tests (push) Successful in 17s
CI / Build (push) Successful in 18s
Format / gofmt (push) Successful in 10s
Release Artifacts / Validate release tag (push) Successful in 1s
Release Artifacts / Build and release executables (push) Successful in 17s
Release Artifacts / Build and release Docker image (push) Successful in 1m38s
- Updated the image resolution step to clarify registry and image name handling.
- Replaced the manual Docker login process with the docker/login-action for enhanced security.
- Introduced Docker metadata extraction and updated the build and push steps to utilize the latest actions for better efficiency.
2026-06-01 03:26:36 -05:00
s1d3sw1ped cc240ae9db Refactor release workflow to consolidate build steps and enhance Docker image handling
CI / Go Tests (push) Successful in 14s
CI / Build (push) Successful in 11s
Format / gofmt (push) Successful in 8s
Release Artifacts / Validate release tag (push) Successful in 1s
Release Artifacts / Build and release executables (push) Successful in 23s
Release Artifacts / Build and release Docker image (push) Failing after 5s
- Merged the test and release-binaries jobs into a single build-and-release-executables job for improved clarity.
- Updated Docker image build and push steps to streamline the process and remove unnecessary artifact handling.
- Enhanced permissions for Docker image publishing and adjusted environment variable usage for better security and efficiency.
2026-06-01 03:21:05 -05:00
s1d3sw1ped c38b2f9ece Refactor release workflow to remove unnecessary registry login step and update fallback token handling
CI / Go Tests (push) Successful in 13s
CI / Build (push) Successful in 11s
Format / gofmt (push) Successful in 7s
Release Artifacts / Validate release tag (push) Successful in 4s
Release Artifacts / Test release candidate (push) Successful in 12s
Release Artifacts / Build executable release artifacts (push) Successful in 14s
Release Artifacts / Build Docker image artifact (push) Successful in 29s
Release Artifacts / Publish release (push) Failing after 2s
Release Artifacts / Publish Docker image (push) Failing after 2s
- Removed the login step to the Docker registry, simplifying the workflow.
- Updated fallback token retrieval to use secrets for enhanced security.
2026-06-01 03:13:35 -05:00
s1d3sw1ped e3c4bd5195 Implement comprehensive release workflow with validation, testing, and Docker support
CI / Go Tests (push) Successful in 11s
CI / Build (push) Successful in 10s
Format / gofmt (push) Successful in 8s
Release Artifacts / Validate release tag (push) Successful in 2s
Release Artifacts / Test release candidate (push) Successful in 13s
Release Artifacts / Build executable release artifacts (push) Successful in 12s
Release Artifacts / Build Docker image artifact (push) Failing after 3s
Release Artifacts / Publish release (push) Has been skipped
Release Artifacts / Publish Docker image (push) Has been skipped
- Added a validation job for release tags to ensure correct format.
- Introduced a testing job to run UI tests and race tests before release.
- Enhanced the release process to build and publish Docker images alongside binaries.
- Updated artifact handling to use validated tags for naming and uploading.
- Streamlined the workflow to ensure dependencies are built and tested prior to release.
2026-06-01 03:04:35 -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 051e3c3c64 Update artifact upload action in release workflow to use a direct URL
CI / Go Tests (push) Successful in 11s
CI / Build (push) Successful in 8s
Format / gofmt (push) Successful in 5s
Release Artifacts / Build linux/amd64 (default) (push) Successful in 22s
Release Artifacts / Build linux/amd64 (alpine-static) (push) Successful in 13s
Release Artifacts / Build linux/arm64 (default) (push) Successful in 17s
Release Artifacts / Build linux/arm64 (alpine-static) (push) Successful in 14s
2026-06-01 02:11:56 -05:00
s1d3sw1ped 1cab3bd812 Update artifact upload action in release workflow to use Gitea's upload action
CI / Go Tests (push) Successful in 11s
CI / Build (push) Successful in 8s
Format / gofmt (push) Successful in 5s
Release Artifacts / Build linux/amd64 (default) (push) Failing after 2s
Release Artifacts / Build linux/amd64 (alpine-static) (push) Failing after 2s
Release Artifacts / Build linux/arm64 (default) (push) Failing after 2s
Release Artifacts / Build linux/arm64 (alpine-static) (push) Failing after 3s
2026-06-01 02:10:02 -05:00
s1d3sw1ped fcc7cc37da Add Node.js setup and UI build steps to CI workflow
CI / Go Tests (push) Successful in 25s
CI / Build (push) Successful in 8s
Format / gofmt (push) Successful in 4s
Release Artifacts / Build linux/amd64 (default) (push) Failing after 16s
Release Artifacts / Build linux/amd64 (alpine-static) (push) Failing after 15s
Release Artifacts / Build linux/arm64 (default) (push) Failing after 14s
Release Artifacts / Build linux/arm64 (alpine-static) (push) Failing after 14s
- Added a step to set up Node.js version 20 in the CI workflow.
- Included installation of UI dependencies and a build step for UI assets.
- Enhanced the CI process to ensure UI components are built before running tests.
2026-06-01 02:06:40 -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 dbf112a5b7 Stop tracking generated web static assets.
These files are build outputs and should not live in source control.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-31 20:34:42 -05:00
s1d3sw1ped 7e1752b39c Minor fixes 2026-05-31 20:22:13 -05:00
s1d3sw1ped 99d46ecd2a Many changes 2026-05-31 20:17:49 -05:00
s1d3sw1ped 9e398957a9 Add generate-config command to output default configuration in YAML format 2026-05-31 17:46:02 -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 4e23a7b3f4 Updated Makefile to introduce new targets for development and configuration generation, replacing the run target with an alias for dev. Enhanced help output for clarity on available commands. 2026-05-31 17:45:11 -05:00
s1d3sw1ped f049dc942b Reclassified yaml to run artifacts and added additional run artifacts 2026-05-31 17:44:41 -05:00
s1d3sw1ped a7be3c835a Updated AGENTS.md to be more explicit about backwards compatibility 2026-05-31 17:31:49 -05:00
s1d3sw1ped 40b59e89dd Ignore any yaml configs 2026-05-31 17:22:32 -05:00
s1d3sw1ped 34f11e4caf Remove example config 2026-05-31 17:21:18 -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 efc9eeb536 Updated code structure using new Cobra CLI conventions 2026-05-31 17:10:31 -05:00
s1d3sw1ped c50388a38c Added some Cobra CLI conventions to AGENTS.md 2026-05-31 17:09:53 -05:00
s1d3sw1ped 9b665d2df6 Switched to using cobra for better cli support 2026-05-31 17:04:39 -05:00
s1d3sw1ped 2e00798d2d small change to AGENTS.md to prevent backwards compatibility contamination 2026-05-31 17:03:58 -05:00
s1d3sw1ped cc20c8e34b ran go mod tidy 2026-05-31 16:59:27 -05:00
s1d3sw1ped 47c767f9e8 initial commit 2026-05-29 22:39:50 -05:00