Skip to content
This repository has been archived by the owner on Mar 16, 2024. It is now read-only.

v4.0.0

Compare
Choose a tag to compare
@tarampampam tarampampam released this 15 Jan 15:54
· 199 commits to master since this release
8326dcc

Changed

  • GitHub actions updated
  • Docker image based on scratch (instead alpine image)
  • Go version updated from 1.13 up to 1.15
  • Package name changed from mikrotik-hosts-parser to github.com/tarampampam/mikrotik-hosts-parser/v4
  • Directory public renamed to web
  • Config file location now is ./configs/config.yml (instead ./serve.yml)
  • App packages refactored
  • Docker image now contains only one layer
  • More strict linter settings
  • Config file now contains only sources list and script generator options
  • Default values for the next serve sub-command flags:
    • For --config now is %binary_file_dir%/configs/config.yml (instead nothing)
    • For --resources-dir now is %binary_file_dir%/web (instead nothing)
    • For --listen flag now is 8080 (instead nothing)
  • For static files serving disabling you can set --resources-dir empty value ("")
  • Large performance improvements
  • HTTP requests log records contains request processing duration
  • Panics inside HTTP handlers now will be logged and JSON-formatted string will be returned (instead empty response)
  • Frontend dependencies updated
  • Docker image (for release) now supports linux/amd64 + linux/386 platforms

Added

  • Docker healthcheck
  • Healthcheck sub-command (hidden in CLI help) that makes a simple HTTP request (with user-agent HealthChecker/internal) to the http://127.0.0.1:8080/live endpoint. Port number can be changed using --port, -p flag or LISTEN_PORT environment variable
  • Two caching engines (memory and redis) instead file-based cache
  • serve sub-command flags:
    • --cache-ttl for cache entries lifetime setting (examples: 50s, 1h30m); 30m by default; environment variable: CACHE_TTL
    • --caching-engine for caching engine changing (memory|redis); memory by default; environment variable: CACHING_ENGINE
    • --redis-dsn for redis server URL setting; redis://127.0.0.1:6379/0 by default; environment variable: REDIS_DSN. This flag is required only if redis caching engine is set
  • Global (available for all sub-commands) flags:
    • --log-json for logging using JSON format (stderr)
    • --debug for debug information for logging messages
    • --verbose for verbose output
  • Graceful shutdown support for serve sub-command
  • HTTP endpoints:
    • /live for liveness probe
    • /ready for readiness probe
  • E2E tests (using postman)

Removed

  • File-based cache support
  • HTTP /api/routes handler

Fixed

  • Wrong HTTP Content-Type header value for docker environment