Releases: chronicle/logstory
Releases · chronicle/logstory
v1.1.1 - Cloud Run Documentation Updates and LOGSTORY_TIMESTAMP_DELTA Support
What's New in v1.1.1
New Features
- LOGSTORY_TIMESTAMP_DELTA Environment Variable: Added support for
LOGSTORY_TIMESTAMP_DELTAenvironment variable as an alternative to--timestamp-deltaCLI flag- Default value:
1d - Can be overridden by command line arguments when needed
- Simplifies Cloud Run deployment by reducing hardcoded scheduler arguments
- Default value:
Documentation Updates
- Updated for Cloud Run v1.1.0: Complete documentation refresh for the Cloud Run migration
- Changed "GCP Cloud Run functions" to "GCP Cloud Run Services" terminology
- Updated deployment instructions to use Makefile instead of Terraform
- Added comprehensive Cloud Run Deployment Workflow guide
- Removed obsolete Cloud Functions and Terraform references
Cloud Run Deployment Improvements
- UTC Scheduling: Standardized all schedulers to use UTC timezone for consistency
- Entities: 12:01 AM UTC (daily and every 3 days)
- Events: 3:00 AM UTC (daily and every 3 days)
- Simplified Container Arguments: Removed hardcoded
--timestamp-deltafrom scheduler commands - Fixed Container Command: Added proper
"logstory"prefix to container argument overrides
Build Fixes
.gitignoreUpdate: Removeddist/*to allow wheel files in Cloud Build context- Documentation Consistency: Fixed all examples, troubleshooting guides, and scheduler configurations
Benefits
- Easier Deployment: Change timestamp delta without recreating schedulers
- Global Consistency: UTC scheduling works across all regions
- Better Documentation: Accurate Cloud Run deployment instructions
- Flexible Configuration: Mix environment variables and command arguments as needed
Documentation
Migration Notes
From v1.1.0 to v1.1.1
- No breaking changes: Existing deployments continue to work
- Optional: Update Cloud Run jobs to use
LOGSTORY_TIMESTAMP_DELTA=1denvironment variable - Recommended: Recreate schedulers to use UTC timezone:
make delete-cloudrun-all && make schedule-cloudrun-all
Environment Variable Usage
# Set as environment variable (new way)
export LOGSTORY_TIMESTAMP_DELTA=1d
logstory replay all
# Or override with CLI argument (still works)
logstory replay all --timestamp-delta=3dFull Changelog
Added:
LOGSTORY_TIMESTAMP_DELTAenvironment variable supportget_timestamp_delta_default()function insrc/logstory/logstory.py- Comprehensive Cloud Run deployment documentation
Changed:
- Cloud Run schedulers now use UTC timezone instead of America/New_York
- Scheduler times: entities at 12:01 AM UTC, events at 3:00 AM UTC
- Container arguments simplified to remove hardcoded timestamp-delta
- Documentation updated throughout for Cloud Run v1.1.0
Fixed:
- Container argument overrides now include proper "logstory" command prefix
.gitignoreallowsdist/files for Cloud Build context- Documentation consistency between examples and actual implementation
Installation:
pip install logstory==1.1.1Docker:
docker pull gcr.io/your-project/logstory:v1.1.1Release v1.1.0
Release v1.0.0 - Major CLI Migration to Typer
Major Release: v1.0.0
This release represents a significant milestone with a complete CLI framework migration and enhanced user experience.
Breaking Changes
BREAKING CHANGE: Complete migration from Abseil to Typer CLI framework with restructured command organization:
| Old Command | New Command |
|---|---|
logstory usecases_list |
logstory usecases list-installed |
logstory usecases_list_logtypes |
logstory usecases list-installed --logtypes |
logstory usecase_replay X |
logstory replay usecase X |
Major Features
CLI Framework Migration
- New Command Structure: Commands now use logical groups:
usecasesandreplay - Modern Framework: Replaced Abseil with Typer for better help generation and validation
- Improved Flags: Updated naming convention to use hyphens (e.g.,
--customer-id) - Enhanced Error Messages: Better parameter validation and user feedback
Environment Configuration Support
- Environment Files: Added
--env-fileoption for custom environment files (.env.prod,.env.dev, etc.) - Environment Variables: Support for
LOGSTORY_CUSTOMER_ID,LOGSTORY_CREDENTIALS_PATH,LOGSTORY_REGION - Automatic Loading: Default
.envfile loading if present - Configuration Priority: CLI options > environment variables > .env file values
- Comprehensive Documentation: Added complete
docs/env-file.mdguide - Template File: Added
src/logstory/.env.examplefor users
Enhanced User Experience
- Progressive Disclosure: Added
--detailsflag forlist-installedcommand (defaults to names-only) - VS Code Integration: Added
--openflag to open usecase markdown files directly - Better Help: Comprehensive help text with environment variable hints
- Improved Organization: Better command discoverability
Timestamp Pattern Consolidation
- Reduced Redundancy: Consolidated 34 duplicate strftime patterns across YAML configurations
- Maintained Functionality: Preserved all
base_time: trueentries exactly as-is - Significant Reductions:
- Entities YAML: 8 entries reduced (AZURE_AD_CONTEXT: 7→2, GCP_DLP_CONTEXT: 5→2)
- Events YAML: 26 entries reduced across 13 log types
- WINDOWS_DEFENDER_AV: Reduced from 13 to 4 entries
- Improved Maintainability: Reduced 106 lines of YAML configuration
Documentation
- Migration Guide: Complete guide for upgrading from Abseil CLI
- Environment File Guide: Comprehensive
docs/env-file.mdreference - Updated README: Complete CLI reference and examples
- Consolidation Documentation: Added
tests/yaml_consolidation_proposal.md - Updated CHANGELOG: Breaking changes documentation
Usage Examples
Environment File Support
# Create environment files for different environments
echo "LOGSTORY_CUSTOMER_ID=prod-uuid" > .env.prod
echo "LOGSTORY_CUSTOMER_ID=dev-uuid" > .env.dev
# Use specific environment
logstory replay usecase RULES_SEARCH_WORKSHOP --env-file .env.prodProgressive Disclosure
# Simple list (new default)
logstory usecases list-installed
# With logtypes
logstory usecases list-installed --logtypes
# Full details (old default behavior)
logstory usecases list-installed --detailsMigration Guide
See the comprehensive migration guide in the documentation. Key changes:
- Commands now use groups (
usecasesandreplay) - Flag naming uses hyphens instead of underscores
- Environment file support for better configuration management
- Progressive disclosure for cleaner default output
Full Changelog: v0.1.4...v1.0.0
Release v0.1.4
What's Changed
Major Improvements from PR #10
- Comprehensive Timestamp Validation: Added runtime validation for timestamp configurations with checks for required fields, epoch/dateformat consistency, field types, and base time count
- Enhanced Test Suite: Developed comprehensive tests that validate all 55 log types across entities and events files
- Configuration Cleanup: Removed conflicting
dateformatfields fromepoch=truetimestamps and cleaned up 30+ timestamp configurations - Code Quality: Updated Ruff configuration, fixed import sorting, and improved overall code style
CI/CD Improvements from PR #17
- Fixed
logstory --helpexit code issue in quality gates workflow - Added missing
tomlmodule dependency in security checks - Improved GitHub Actions workflows for better automated testing and releases
Bug Fixes
- Remove
logstory --helptest that was causing exit code 1 - Add
tomlmodule to security checks dependencies to fix module import error - Fixed timestamp configuration inconsistencies across the codebase
Full Changelog
🤖 Generated with Claude Code
Release v0.1.2
What changed:
- ReadMe improved
- MyST syntax removed for compatibility with PyPI
- replace relative image path with fixed
- Fix typo
Release v0.1.1
First import of Logstory