Changed
- GitHub actions updated
- Docker image based on
scratch
(insteadalpine
image) - Go version updated from
1.13
up to1.15
- Package name changed from
mikrotik-hosts-parser
togithub.com/tarampampam/mikrotik-hosts-parser/v4
- Directory
public
renamed toweb
- 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 is8080
(instead nothing)
- For
- 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 thehttp://127.0.0.1:8080/live
endpoint. Port number can be changed using--port
,-p
flag orLISTEN_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 ifredis
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