Skip to content

Releases: chronicle/logstory

v1.1.1 - Cloud Run Documentation Updates and LOGSTORY_TIMESTAMP_DELTA Support

21 Aug 02:29
69f80e4

Choose a tag to compare

What's New in v1.1.1

New Features

  • LOGSTORY_TIMESTAMP_DELTA Environment Variable: Added support for LOGSTORY_TIMESTAMP_DELTA environment variable as an alternative to --timestamp-delta CLI flag
    • Default value: 1d
    • Can be overridden by command line arguments when needed
    • Simplifies Cloud Run deployment by reducing hardcoded scheduler arguments

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-delta from scheduler commands
  • Fixed Container Command: Added proper "logstory" prefix to container argument overrides

Build Fixes

  • .gitignore Update: Removed dist/* 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=1d environment 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=3d

Full Changelog

Added:

  • LOGSTORY_TIMESTAMP_DELTA environment variable support
  • get_timestamp_delta_default() function in src/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
  • .gitignore allows dist/ files for Cloud Build context
  • Documentation consistency between examples and actual implementation

Installation:

pip install logstory==1.1.1

Docker:

docker pull gcr.io/your-project/logstory:v1.1.1

Release v1.1.0

21 Aug 00:21
e516b7f

Choose a tag to compare

What's Changed

  • Add scripting documentation and clean up development files by @dandye in #32
  • Add Duo event ts patterns and dateformats by @dandye in #34
  • Migrate from Cloud Functions to Cloud Run and add REST API support by @dandye in #35

Full Changelog: v1.0.0...v1.1.0

Release v1.0.0 - Major CLI Migration to Typer

02 Aug 01:03
5edcb72

Choose a tag to compare

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: usecases and replay
  • 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-file option for custom environment files (.env.prod, .env.dev, etc.)
  • Environment Variables: Support for LOGSTORY_CUSTOMER_ID, LOGSTORY_CREDENTIALS_PATH, LOGSTORY_REGION
  • Automatic Loading: Default .env file loading if present
  • Configuration Priority: CLI options > environment variables > .env file values
  • Comprehensive Documentation: Added complete docs/env-file.md guide
  • Template File: Added src/logstory/.env.example for users

Enhanced User Experience

  • Progressive Disclosure: Added --details flag for list-installed command (defaults to names-only)
  • VS Code Integration: Added --open flag 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: true entries 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.md reference
  • 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.prod

Progressive 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 --details

Migration Guide

See the comprehensive migration guide in the documentation. Key changes:

  • Commands now use groups (usecases and replay)
  • 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

07 Jun 20:09
8144845

Choose a tag to compare

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 dateformat fields from epoch=true timestamps 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 --help exit code issue in quality gates workflow
  • Added missing toml module dependency in security checks
  • Improved GitHub Actions workflows for better automated testing and releases

Bug Fixes

  • Remove logstory --help test that was causing exit code 1
  • Add toml module to security checks dependencies to fix module import error
  • Fixed timestamp configuration inconsistencies across the codebase

Full Changelog

v0.1.3...v0.1.4

🤖 Generated with Claude Code

Release v0.1.2

13 May 18:48
e78e6f9

Choose a tag to compare

What changed:

  • ReadMe improved
    • MyST syntax removed for compatibility with PyPI
    • replace relative image path with fixed
    • Fix typo

Release v0.1.1

13 May 17:39

Choose a tag to compare

First import of Logstory