- Update to version 1.2.1:
* Release Icinga DB Version 1.2.1
* Update AUTHORS and .mailmap
* schema/pgsql: Drop checkcommand_argument.argument_key storage mode
* HA: Limit max open database connections to `1`
* HA: Use Transaction for each query
* build(deps): bump github.com/icinga/icinga-go-library from 0.3.1 to 0.4.0
* Docs: Redis ACL Username and Database
* test: Rebind Log Output Query for PostgreSQL
* schema: Fix broken upgrade script `1.3.0`
* build(deps): bump golang.org/x/sync from 0.9.0 to 0.10.0 in /tests
* build(deps): bump golang.org/x/sync from 0.9.0 to 0.10.0
* Fix typo
* build(deps): bump github.com/stretchr/testify in /tests
* build(deps): bump github.com/stretchr/testify from 1.9.0 to 1.10.0
* build(deps): bump golang.org/x/sync from 0.8.0 to 0.9.0
* build(deps): bump golang.org/x/sync from 0.8.0 to 0.9.0 in /tests
* HA State: ensure not this and another instance can be responsible
* HA: Use `... FOR UPDATE` lock clause unconditionally
* HA: Reduce deadlocks via exclusive locking (`SELECT ... FOR UPDATE`)
* HA: Abort Transaction Commit after Timeout
* HA/Heartbeat: Use last message's timestamp
* HA: Insert environment within retryable function
* HA: Deferred SQL Transaction Rollback
* HA: Increase log level for heartbeats from the future
* icingadb: Unify select cases for derived contexts
* Replace `int64` with `atomic.Int64` where applicable
* `telemetry`: Fix `atomic.Pointer` initialisation responsibility
* `telemetry`: Use `sync/atomic#Pointer` instead of our own wrapper
* `HA`: Use `sync/atomic#Pointer` instead of our own wrapper
* Make structifyStream() channel types more explicit, e.g. input only
* build(deps): bump github.com/redis/go-redis/v9 in /tests
* GHA: introduce golangci-lint
* gosec: handle integer conversions and potential overflows
* gosec: justify SHA1 usage with #nosec annotations
* errcheck: discard not used error return values
* RetentionConfig: restrict days to uint16
* Shorten CommentType#UnmarshalText()
* Adjust installation docs for centralized icinga.com doc injection
* Add `From Source` section to installation docs
* build(deps): bump github.com/mattn/go-sqlite3 from 1.14.22 to 1.14.24
* pkg/icingaredis/: check context termination while looping over channel
* build(deps): bump actions/checkout from 2 to 4
* build(deps): bump dominikh/staticcheck-action from 1.1.0 to 1.3.1
* build(deps): bump actions/setup-go from 4 to 5
* build(deps): bump actions/upload-artifact from 2 to 4
* Update GHA dependencies via dependabot
* GHA: Remove -gcflags="-m" from go build
* .deb: let user install icinga-archive-keyring package
* Test history.SlaDowntimeEndTime#Value()
* Test history.DowntimeEventTime#Value()
* Test history.FlappingEventTime#Value()
* Test icingadb/v1.EnvironmentFromContext()
* Test icingadb/v1.Environment#NewContext()
* Shorten icingadb/v1.EnvironmentFromContext()
* Shorten icingadb/v1.AddressBin#Value()
* Test icingadb/v1.Address6Bin#Value()
* Test icingadb/v1.AddressBin#Value()
* Docs: Fix whitespaces
* schema: Enlarge Command Argument and Environment Key
* build(deps): bump github.com/creasty/defaults from 1.7.0 to 1.8.0
* build(deps): bump golang.org/x/sync from 0.7.0 to 0.8.0
* build(deps): bump golang.org/x/sync from 0.7.0 to 0.8.0 in /tests
* Test icingaredis.CreateEntities()
* doc/03-Configuration.md: Logging Fields in Journald
* build(deps): bump github.com/docker/docker in /tests
* build(deps): bump github.com/icinga/icinga-go-library
* build(deps): bump github.com/goccy/go-yaml in /tests
* schema: Fix values to fit by increasing type sizes
* build(deps): bump github.com/goccy/go-yaml from 1.11.3 to 1.12.0
* build(deps): bump github.com/jessevdk/go-flags from 1.5.0 to 1.6.1
* build(deps): bump github.com/redis/go-redis/v9 in /tests
* build(deps): bump github.com/icinga/icinga-go-library
* GHA: also test MySQL 8
* cmd/icingadb-migrate: replace magic number 20 with sha1.Size
* icingadb-migrate: Verify env ID length
* icingadb-migrate: Mitigate NULL names in {comment,downtime}_query
* build(deps): bump github.com/icinga/icinga-go-library
* doc/02-Installation.md: Fix installing-icingadb-db-packages anchor
* Remove library code
* Use `icinga-go-library`
* Allow to dynamically define type constraint name
* database: Introduce `ColumnMap`
* Introduce `GetAddr()` for `database#DB` and `redis#Client`
* `config#FromYAMLFile()`: Parse result into value pointed to by the passed argument
* `config#ParseFlags()`: Parse result into value pointed to by the passed argument
* Replace `utils.Fatal()` with `utils.PrintErrorThenExit()`
* Refine `types#UnixMilli` tests
* `types#UnixMilli.Scan()`: Support `uint64`
* `types#UnixMilli.Scan()`: Support `[]byte`
* Fix `types#UnixMilli.UnmarshalText()` crashing on empty strings
* Introduce `contracts#SafeInit()`
* Decouple `structify` from `contracts`
* Introduce `logging#NewLoggingFromConfig()`
* Don't set default port in `redis`
* Move Redis related code to `redis`
* Move `internal/config#Retention` to `internal/config#RetentionConfig`
* Move `internal/config#FromYAMLFile()` to `config#FromYAMLFile()`
* Move `internal/config#ParseFlags()` to `config#ParseFlags()`
* Move database related code from `internal` to `database`
* Move `TLS` config options to `config#TLS`
* Add `logging#Config`
* Add `utils#IsUnixAddr()`
* Move special types to `icingadb/types`
* `icingadb-migrate`: Don't alias `types` import
* Move `icingadb#DB` to `database#DB`
* Move `contracts#Waiter{,Func}` to `com#Waiter{,Func}`
* Move `com#SplitOnDupId()` to `database#SplitOnDupId()`
* Make `com#CopyFirst()` generic
* Move `database#DB.CheckSchema()` to `icingadb#CheckSchema()`
* Introduce `icingadb#RetryConnectorCallbacks`
* Use `google/go-cmp` to determine equality of checksums
* Move type related utility functions from `internal` to `types`
* Move `utils#Name()` to `types#Name()`
* `types#Binary`: Assert `fmt.Stringer` interface compliance
* Move `utils#TableName()` to `database#TableName()`
* Introduce `strcase` for converting string cases
* Move database related contracts to `database/contracts`
* Move `internal#CantPerformQuery()` to `database#CantPerformQuery()`
* Move `icingadb/objectpacker` to `objectpacker`
* Move `config` to `internal/config`
* build(deps): bump github.com/jmoiron/sqlx from 1.3.5 to 1.4.0 in /tests
* build(deps): bump github.com/jmoiron/sqlx from 1.3.5 to 1.4.0
- Update to version 1.2.0:
* Bump version to 1.2.0
* Unify notation of `n * time.Duration`
* Update AUTHORS and .mailmap
* icingadb.DB: Retry Schema Checks
* icingadb: Remove shouldRetry
* Retry `io.EOF` error
* Docs: Account Redis' trademark policy
* Increment go.mod Go version to 1.22
* `retry`: Mitigate timing issues
* `retry`: Set `attempt`'s initial value to `1`
* `HA`: Don't log retry count
* `retry`: Explicitly check context for error
* `retry`: Execute on error callbacks for retryable errors only
* Consolidate default retry timeout and settings
* `HA`: Give up retrying after 5 minutes
* `HA.retry()`: Always use context with a deadline
* `retry`: Reduce `nil` checks for errors
* `retry`: `return` immediately after context errors
* Revert "retry: if stopped due to outer context, return that error"
* `retry`: Don't cancel `RetryableFunc` if it exceeds `Timeout`
* Retention: Also retry `DELETE` statements
* Retry **every** database error
* `db`: Log retried queries and give up after 5 minutes
* Register mysql default logger prior to 'mysql#NewConfig()'
* Upgrading docs for state_history schema migration
* Unify check attempt data type to uint32 already used somewhere
* Remove deprecated io/ioutil package references
* config.example.yml: Comment out unmodified blocks
* Add upgrading hints/warnings
* Add a correct composite `INDEX` for the history table
* build(deps): bump golang.org/x/sync from 0.6.0 to 0.7.0 in /tests
* build(deps): bump golang.org/x/sync from 0.6.0 to 0.7.0
* Enhance HA "Taking over", "Handing over" logging
* `history.Sync`: Don't operate on closed channel
* Validate `wsrep_sync_wait` database option
* Document `wsrep_sync_wait` database option
* Drop `icingadb#Register()` & make `mysqlLogger` exportable
* Database: Drop `registerDriverOnce` variable
* Move `pkg/driver` to `pkg/icingadb/driver.go`
* driver: Move `timeout` from package level to a function scope
* MySQL driver: on connect try setting wsrep_sync_wait, swallow error 1193
* Driver: Allow to post initialize database connections
* Drop superfluous custom driver registration
* Make value for SET SESSION `wsrep_sync_wait` configurable
* Document `database.options` properly
* build(deps): bump github.com/go-sql-driver/mysql in /tests
* build(deps): bump github.com/go-sql-driver/mysql from 1.8.0 to 1.8.1
* Document `retention.count` & `retention.interval` options
* Flatten(): render even large numbers as-is, not using scientific notation
* Flatten(): type-check input only once
* Use types.MakeString() instead of manual initialization (refactor)
* Test Flatten()
* Introduce types.MakeString()
* Upgrade `go-redis` to `v9`
* build(deps): bump github.com/docker/docker in /tests
* PostgreSQL: get_sla_ok_percent to return decimal
* build(deps): bump go.uber.org/zap from 1.26.0 to 1.27.0 in /tests
* build(deps): bump github.com/goccy/go-yaml in /tests
* build(deps): bump github.com/jmoiron/sqlx from 1.3.4 to 1.3.5 in /tests
* build(deps): bump github.com/google/uuid from 1.3.0 to 1.6.0 in /tests
* MySQL/MariaDB: Use strict SQL mode
* Integration tests: don't hard-code MySQL in some tests
* `schmema/mysql/1.1.2`: Fix timestamp is not UNIX time
* build(deps): bump github.com/go-sql-driver/mysql in /tests
* build(deps): bump github.com/stretchr/testify in /tests
* `schema/mysql`: Use `UNIX_TIMESTAMP()` instead of `CURRENT_TIMESTMAP()`
* tests/go.mod: bump github.com/icinga/icinga-testing "version"
* dependabot: enable go mod updates for /tests
* dependabot: run daily
* dependabot: remove reviewers
* build(deps): bump github.com/goccy/go-yaml from 1.11.2 to 1.11.3
* Retry broken pipe errors (`EPIPE`)
* build(deps): bump go.uber.org/zap from 1.26.0 to 1.27.0
* docs: Fix link to `Icinga DB Web`
* cmd/icingadb: Log Icinga DB version during startup
* build(deps): bump github.com/go-sql-driver/mysql from 1.7.1 to 1.8.0
* build(deps): bump github.com/google/uuid from 1.4.0 to 1.6.0
* build(deps): bump golang.org/x/sync from 0.5.0 to 0.6.0
* Remove redundant closure
* build(deps): bump github.com/stretchr/testify from 1.8.4 to 1.9.0
* build(deps): bump github.com/mattn/go-sqlite3 from 1.14.18 to 1.14.22
* build(deps): bump golang.org/x/sync from 0.3.0 to 0.5.0
* build(deps): bump github.com/mattn/go-sqlite3 from 1.14.17 to 1.14.18
* build(deps): bump github.com/docker/docker in /tests
* build(deps): bump github.com/google/uuid from 1.3.0 to 1.4.0
* build(deps): bump golang.org/x/net from 0.7.0 to 0.17.0 in /tests
* build(deps): bump go.uber.org/zap from 1.25.0 to 1.26.0
* build(deps): bump github.com/goccy/go-yaml from 1.11.0 to 1.11.2
- Update to version 1.1.1:
* GitHub Actions: remove version check
* doc/04-Upgrading.md: Fix path for schema upgrades
* GitHub Actions: also run on support branches
* cmd/icingadb: warn about unknown config options instead of rejecting them
* Upgrading docs for v1.1.1
* Add changelog for v1.1.1
* Update version number to 1.1.1
* Update AUTHORS
* GitHub Actions: change master to main
* Increase database schema version
* Schema: merge 1.2.0.sql upgrades into 1.1.1.sql
* Schema: change sort order of history event type enum
* build(deps): bump go.uber.org/zap from 1.24.0 to 1.25.0
* Run `go fmt ./...`
* GitHub Actions: use actions/setup-go@v4 and go-version: 1.x
* schema/pgsql: Add missing indices to `hostgroup` and `servicegroup`
* schema/mysql: Add missing indices to `hostgroup` and `servicegroup`
* schema/pgsql: Add new index for `customvar_flat`
* schema/mysql: Add new index for `customvar_flat`
* Migration: refactor output/processing of converted entities
* cmd/icingadb-migrate: ignore icinga_downtimehistory#was_started=0 rows
* Make integration tests work with Go 1.20.6
* Config parsing: unit test failure due to unknown fields
* Test UnixMilli#MarshalJSON()
* Test Bool#MarshalJSON()
* Test Binary#MarshalJSON()
* {Bool,Binary,UnixMilli}#MarshalJSON(): return valid JSON, not empty string
* Add empty custom vars test cases
* Flatten empty custom vars of type `array` & `map` correctly
* Support Percona XtraDB Cluster by not using SERIALIZABLE transactions directly
* icingadb-migrate: document TLS support
* Config parsing: fail on unknown fields and print them
* build(deps): bump golang.org/x/sync from 0.2.0 to 0.3.0
* build(deps): bump github.com/mattn/go-sqlite3 from 1.14.16 to 1.14.17
* build(deps): bump github.com/stretchr/testify from 1.8.3 to 1.8.4
* retry.Retryable(): treat ENOENT (AF_UNIX) like ECONNREFUSED, i.e. also retry
* build(deps): bump github.com/creasty/defaults from 1.6.0 to 1.7.0
* build(deps): bump github.com/go-sql-driver/mysql from 1.7.0 to 1.7.1
* build(deps): bump github.com/lib/pq from 1.10.7 to 1.10.9
* icingadb-migrate: handle NULL event time columns
* Merge network and database error retryability detection functions
* build(deps): bump github.com/goccy/go-yaml from 1.9.6 to 1.11.0
* build(deps): bump github.com/opencontainers/image-spec in /tests
* build(deps): bump github.com/docker/distribution in /tests
* build(deps): bump golang.org/x/net in /tests
* build(deps): bump github.com/stretchr/testify from 1.8.1 to 1.8.3
* build(deps): bump golang.org/x/sync
* build(deps): bump github.com/docker/docker in /tests
* schema: notification: enlarge name and name_ci 255 -> 767
* GitHub Actions: run Go lint job with at least 1.19
* GHA: handle changed interface of Icinga/docker-icingadb
* Heartbeat#sendEvent(m): nil-check m before dereferencing it
* convertFlappingRows(): fix foreign key error history -> flapping_history
* migrateOneType(): allow multiple stages of INSERT IGNORE, UPSERT
* build(deps): bump go.uber.org/zap from 1.23.0 to 1.24.0
* build(deps): bump github.com/go-sql-driver/mysql from 1.6.0 to 1.7.0
* Replace apt-get with apt
* Log UNIX socket address w/o port number
OBS-URL: https://build.opensuse.org/request/show/1256294
OBS-URL: https://build.opensuse.org/package/show/server:monitoring/icingadb?expand=0&rev=2
Description
No description provided
Languages
desktop
100%