Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Query builder #6

Closed
wants to merge 560 commits into from
Closed

Query builder #6

wants to merge 560 commits into from
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Oct 13, 2021

  1. Configuration menu
    Copy the full SHA
    2def610 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    64abbaa View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    8d5b987 View commit details
    Browse the repository at this point in the history

Commits on Oct 14, 2021

  1. Sync state runtime updates ASAP

    I.e. don't wait for the complete initial sync first.
    Al2Klimov committed Oct 14, 2021
    Configuration menu
    Copy the full SHA
    4024b39 View commit details
    Browse the repository at this point in the history

Commits on Oct 26, 2021

  1. Use context from errgroup

    lippserd committed Oct 26, 2021
    Configuration menu
    Copy the full SHA
    e39ebe1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8117a5c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    21001dd View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    0852b97 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    cae13c8 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    f123460 View commit details
    Browse the repository at this point in the history
  7. Handle contracts.Initer in common.NewSyncSubject()

    contracts.EntitiyFactoryFunc.WithInit() checked for
    contracts.Initer every time.
    Now it is only done once in common.NewSyncSubject().
    lippserd committed Oct 26, 2021
    Configuration menu
    Copy the full SHA
    587059d View commit details
    Browse the repository at this point in the history
  8. Handle flat custom vars explicitly in runtime updates

    This also requires explicit handling of custom variables as we need
    to multiplex the original values to handle flat custom variables.
    lippserd committed Oct 26, 2021
    Configuration menu
    Copy the full SHA
    6610b9a View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    3f8f453 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    4f60452 View commit details
    Browse the repository at this point in the history

Commits on Nov 3, 2021

  1. Configuration menu
    Copy the full SHA
    d0b5976 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a58476a View commit details
    Browse the repository at this point in the history
  3. Replace Apache 2.0 licensed gopkg.in/yaml.v3 with MIT licensed github…

    ….com/goccy/go-yaml
    
    ... not to have GPLv2<->Apache 2.0 (app<->deps) license conflicts.
    Al2Klimov committed Nov 3, 2021
    Configuration menu
    Copy the full SHA
    1051b50 View commit details
    Browse the repository at this point in the history
  4. Merge pull request #392 from Icinga/feature/history-deterministic-ids

    Make {NotificationHistory,StateHistory,History*}#Id UUID -> SHA1
    julianbrost authored Nov 3, 2021
    Configuration menu
    Copy the full SHA
    bb6eb68 View commit details
    Browse the repository at this point in the history
  5. Add db.BuildIgnoreStmt()

    lippserd authored and julianbrost committed Nov 3, 2021
    Configuration menu
    Copy the full SHA
    d210201 View commit details
    Browse the repository at this point in the history
  6. Insert environment

    With this change Icinga DB will insert the environment after each
    heartbeat takeover if it does not already exist in the database as
    the environment may have changed, although this is likely to happen
    very rarely,
    
    Instead of checking whether the environment already exists,
    uses an INSERT statement that does nothing if it does.
    lippserd authored and julianbrost committed Nov 3, 2021
    Configuration menu
    Copy the full SHA
    ea715b7 View commit details
    Browse the repository at this point in the history
  7. Make v1.Environment#Name types.String

    The default environment of Icinga is the empty string.
    In Golang, the zero value of string is also the empty string.
    But it makes sense to distinguish whether the name is not set
    or set to the empty string. That is possible with this change.
    lippserd authored and julianbrost committed Nov 3, 2021
    Configuration menu
    Copy the full SHA
    321da92 View commit details
    Browse the repository at this point in the history
  8. Restart HA after environment change

    If the environment changes during runtime, we have to restart HA
    in order to stop a possibly running config sync and start a new
    one.
    lippserd authored and julianbrost committed Nov 3, 2021
    Configuration menu
    Copy the full SHA
    c29dbb2 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    845d8c8 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    95d84a1 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    5ecaec3 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    b15966d View commit details
    Browse the repository at this point in the history
  13. Only sync entities that belong to the current environment

    Previously, we selected each entity from the database.
    Now we only select entities that belong to the current environment.
    lippserd authored and julianbrost committed Nov 3, 2021
    Configuration menu
    Copy the full SHA
    b1ab57a View commit details
    Browse the repository at this point in the history
  14. Use new environment ID

    Icinga/icinga2#9036 introduced a new environment ID for
    Icinga DB that's written to the icinga:stats stream as field
    "icingadb_environment". This commit updates the code to make use of this ID
    instead of the one derived from the Icinga 2 Environment constant.
    julianbrost committed Nov 3, 2021
    Configuration menu
    Copy the full SHA
    1caaef2 View commit details
    Browse the repository at this point in the history
  15. Exit on environment ID changes

    There's a small risk that when the environment ID changes, Icinga DB could
    update write into the wrong environment in the database. Therefore,
    Icinga/icinga2#9036 introduced a new default
    environment ID based on the CA public key so that there should be no cases
    where it's required to change the actual environment ID. So if this happens
    nonetheless, just bail out.
    julianbrost committed Nov 3, 2021
    Configuration menu
    Copy the full SHA
    02727df View commit details
    Browse the repository at this point in the history

Commits on Nov 4, 2021

  1. Merge pull request #401 from Icinga/flawed-config-keys-and-validation

    Fix flawed config keys and validation
    julianbrost authored Nov 4, 2021
    Configuration menu
    Copy the full SHA
    703c131 View commit details
    Browse the repository at this point in the history

Commits on Nov 5, 2021

  1. Merge pull request #391 from Icinga/bugfix/multi-environment

    Better handling of multiple environments
    julianbrost authored Nov 5, 2021
    Configuration menu
    Copy the full SHA
    7d0f2aa View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    130cc74 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b86d649 View commit details
    Browse the repository at this point in the history
  4. Introduce Counter.Reset()

    lippserd committed Nov 5, 2021
    Configuration menu
    Copy the full SHA
    77f4536 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    5ed7091 View commit details
    Browse the repository at this point in the history
  6. Introduce package periodic

    lippserd committed Nov 5, 2021
    Configuration menu
    Copy the full SHA
    2e30304 View commit details
    Browse the repository at this point in the history
  7. Introduce Counter.Total()

    lippserd committed Nov 5, 2021
    Configuration menu
    Copy the full SHA
    f79e10d View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    53bfa95 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    3fb3a0c View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    de3c5f2 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    b3e9653 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    3e5c9e4 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    31e3095 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    20c57e0 View commit details
    Browse the repository at this point in the history
  15. Log which delta finished

    lippserd committed Nov 5, 2021
    Configuration menu
    Copy the full SHA
    d9f220f View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    60b1370 View commit details
    Browse the repository at this point in the history
  17. Remove waiting for heartbeat message

    If a heartbeat is pending,
    we log it every 60 seconds anyway.
    lippserd committed Nov 5, 2021
    Configuration menu
    Copy the full SHA
    d42ea77 View commit details
    Browse the repository at this point in the history
  18. Remove syncing $redisKey log message

    This info message just pollutes the logs and
    for debugging we log the execution anyway.
    lippserd committed Nov 5, 2021
    Configuration menu
    Copy the full SHA
    8a531f3 View commit details
    Browse the repository at this point in the history
  19. Remove syncing $subject log message

    This info message just pollutes the logs and
    for debugging we log the execution anyway
    lippserd committed Nov 5, 2021
    Configuration menu
    Copy the full SHA
    07a2cf4 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    8336a2b View commit details
    Browse the repository at this point in the history
  21. Use debug instead of info for some log messages

    These log messages are not relevant for the info level.
    lippserd committed Nov 5, 2021
    Configuration menu
    Copy the full SHA
    a9c7708 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    b3e42f4 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    267f999 View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    69b7a45 View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    ffee082 View commit details
    Browse the repository at this point in the history

Commits on Nov 9, 2021

  1. Merge pull request #388 from Icinga/bugfix/gpl2

    Replace Apache 2.0 licensed gopkg.in/yaml.v3 with MIT licensed github.com/goccy/go-yaml
    lippserd authored Nov 9, 2021
    Configuration menu
    Copy the full SHA
    66e9ea0 View commit details
    Browse the repository at this point in the history
  2. Schema: Prefix command_id with command type (check, event, notification)

    Signed-off-by: Eric Lippmann <eric.lippmann@icinga.com>
    N-o-X authored and lippserd committed Nov 9, 2021
    Configuration menu
    Copy the full SHA
    3809149 View commit details
    Browse the repository at this point in the history

Commits on Nov 11, 2021

  1. Fix broken retry mechanics

    dc7511c introduced a parent context check to suppress logging if
    it was canceled.
    If it was not canceled, the check overwrites the variable err,
    which resets every previous real error to nil,
    which then leads to fatals because the OnError callback or
    the IsRetryable function expect a non-nil error.
    Since I cannot reproduce which logs should have been suppressed by
    the changes, I removed them completely.
    lippserd committed Nov 11, 2021
    Configuration menu
    Copy the full SHA
    2cc8cbc View commit details
    Browse the repository at this point in the history

Commits on Nov 12, 2021

  1. Configuration menu
    Copy the full SHA
    022af32 View commit details
    Browse the repository at this point in the history
  2. Add service_state.host_id column

    yhabteab authored and lippserd committed Nov 12, 2021
    Configuration menu
    Copy the full SHA
    883eedb View commit details
    Browse the repository at this point in the history
  3. RuntimeUpdates#Sync(): force FIFO for config updates

    so they don't interfer.
    
    Co-authored-by: Eric Lippmann <eric.lippmann@icinga.com>
    Al2Klimov and lippserd committed Nov 12, 2021
    Configuration menu
    Copy the full SHA
    9a33c80 View commit details
    Browse the repository at this point in the history
  4. Add special handling for bulks of size 1

    Co-authored-by: Eric Lippmann <eric.lippmann@icinga.com>
    Al2Klimov and lippserd committed Nov 12, 2021
    Configuration menu
    Copy the full SHA
    ac6ef6a View commit details
    Browse the repository at this point in the history
  5. Add special handling for entity bulks of size 1

    Co-authored-by: Eric Lippmann <eric.lippmann@icinga.com>
    Al2Klimov and lippserd committed Nov 12, 2021
    Configuration menu
    Copy the full SHA
    e497d32 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    5e8e3db View commit details
    Browse the repository at this point in the history
  7. Merge pull request #394 from Icinga/bugfix/unbulk-rtu

    RuntimeUpdates#Sync(): force FIFO for config updates
    lippserd authored Nov 12, 2021
    Configuration menu
    Copy the full SHA
    b96795e View commit details
    Browse the repository at this point in the history
  8. Merge pull request #408 from Icinga/retry-broken

    Fix broken retry mechanics
    julianbrost authored Nov 12, 2021
    Configuration menu
    Copy the full SHA
    b74fdd8 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    accfea4 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    9322a4c View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    d753a56 View commit details
    Browse the repository at this point in the history
  12. Merge pull request #410 from Icinga/bugfix/improve-notification-recip…

    …ient
    
    Make NotificationRecipient struct readable
    lippserd authored Nov 12, 2021
    Configuration menu
    Copy the full SHA
    5803117 View commit details
    Browse the repository at this point in the history

Commits on Dec 9, 2021

  1. Make sure Redis connection pool is large enough

    The default Redis PoolSize is 10 * CPU, which isn't enough to run Icinga DB on machines with only 1 CPU.
    Most of our open connections come from blocking XREADs. (e.g. Heartbeat, Runtime, Overdue, History)
    N-o-X committed Dec 9, 2021
    Configuration menu
    Copy the full SHA
    00db631 View commit details
    Browse the repository at this point in the history

Commits on Feb 2, 2022

  1. HA#realize(): re-try transaction on temporary error

    and don't just crash.
    
    refs #427
    Al2Klimov committed Feb 2, 2022
    Configuration menu
    Copy the full SHA
    d9c589c View commit details
    Browse the repository at this point in the history

Commits on Feb 3, 2022

  1. Rename TLS.Tls to TLS.Enable

    Enable is more self-documenting.
    lippserd committed Feb 3, 2022
    Configuration menu
    Copy the full SHA
    fb6e9eb View commit details
    Browse the repository at this point in the history
  2. Don't embed TLS config

    When embedding TLS, the field name is implicitly specified as TLS,
    which conflicts with the YAML key tls,
    which currently does not allow TLS to be enabled.
    I'm not entirely sure if this is a bug in goccy/go-yaml,
    but if a struct field name other than TLS is specified,
    the configuration works again.
    lippserd committed Feb 3, 2022
    Configuration menu
    Copy the full SHA
    35073bf View commit details
    Browse the repository at this point in the history
  3. Merge pull request #432 from Icinga/bugfix/crash-after-interuption-of…

    …-mysql-connection-427
    
    HA#realize(): re-try transaction on temporary error
    lippserd authored Feb 3, 2022
    Configuration menu
    Copy the full SHA
    29d3d46 View commit details
    Browse the repository at this point in the history

Commits on Feb 17, 2022

  1. Configuration menu
    Copy the full SHA
    a041d9e View commit details
    Browse the repository at this point in the history

Commits on Mar 9, 2022

  1. Avoid SQL syntax Postgres doesn't understand

    refs #136
    Al2Klimov committed Mar 9, 2022
    Configuration menu
    Copy the full SHA
    0bbc862 View commit details
    Browse the repository at this point in the history
  2. Handle Postgres-specific errors

    refs #136
    Al2Klimov committed Mar 9, 2022
    Configuration menu
    Copy the full SHA
    a0cd9a4 View commit details
    Browse the repository at this point in the history
  3. Support Postgres

    refs #136
    Al2Klimov committed Mar 9, 2022
    Configuration menu
    Copy the full SHA
    0d4cdff View commit details
    Browse the repository at this point in the history

Commits on Mar 10, 2022

  1. DB#Build*Stmt(): quote table names

    Rationale: see https://dba.stackexchange.com/q/73136
    
    refs #136
    Al2Klimov committed Mar 10, 2022
    Configuration menu
    Copy the full SHA
    99829e1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    eeb77fc View commit details
    Browse the repository at this point in the history
  3. Don't re-invent sqlx.DB#Rebind()

    refs #136
    Al2Klimov committed Mar 10, 2022
    Configuration menu
    Copy the full SHA
    5eab16c View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    17a3dd1 View commit details
    Browse the repository at this point in the history
  5. Introduce NeverSplit

    Al2Klimov committed Mar 10, 2022
    Configuration menu
    Copy the full SHA
    de4ebfe View commit details
    Browse the repository at this point in the history
  6. Introduce SplitOnDupId

    Al2Klimov committed Mar 10, 2022
    Configuration menu
    Copy the full SHA
    3c91894 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    1d367c0 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    d9bdd27 View commit details
    Browse the repository at this point in the history
  9. NamedBulkExec(): allow custom BulkChunkSplitPolicy

    By the way avoid duplicate rows in the same upsert chunk to avoid Postgres
    error 21000 (ON CONFLICT DO UPDATE command cannot affect row a second time).
    
    refs #136
    Al2Klimov committed Mar 10, 2022
    Configuration menu
    Copy the full SHA
    c2ec94e View commit details
    Browse the repository at this point in the history
  10. DB#BuildDeleteStmt(): don't pre-rebind ?s

    refs #136
    Al2Klimov committed Mar 10, 2022
    Configuration menu
    Copy the full SHA
    65f4f87 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    d50e317 View commit details
    Browse the repository at this point in the history
  12. Throw BulkChunkSplitPolicy#Reset() away

    refs #136
    Al2Klimov committed Mar 10, 2022
    Configuration menu
    Copy the full SHA
    fe23444 View commit details
    Browse the repository at this point in the history
  13. Simplify BulkChunkSplitPolicy

    refs #136
    Al2Klimov committed Mar 10, 2022
    Configuration menu
    Copy the full SHA
    818e543 View commit details
    Browse the repository at this point in the history
  14. Wrap "icingadb-*sql" in constants

    refs #136
    Al2Klimov committed Mar 10, 2022
    Configuration menu
    Copy the full SHA
    8a28262 View commit details
    Browse the repository at this point in the history
  15. Remove null bytes from strings

    PostgreSQL does not allow null bytes in varchar, char and
    text fields.
    lippserd authored and Al2Klimov committed Mar 10, 2022
    Configuration menu
    Copy the full SHA
    74c2bfd View commit details
    Browse the repository at this point in the history

Commits on Mar 21, 2022

  1. Introduce db.CleanupOlderThan()

    Co-authored-by: Eric Lippmann <eric.lippmann@icinga.com>
    raviks789 and lippserd committed Mar 21, 2022
    Configuration menu
    Copy the full SHA
    4edaebc View commit details
    Browse the repository at this point in the history

Commits on Mar 22, 2022

  1. Introduce history.Retention

    Co-authored-by: Eric Lippmann <eric.lippmann@icinga.com>
    raviks789 and lippserd committed Mar 22, 2022
    Configuration menu
    Copy the full SHA
    866cf1b View commit details
    Browse the repository at this point in the history
  2. Introduce config.HistoryRetention

    Co-authored-by: Eric Lippmann <eric.lippmann@icinga.com>
    raviks789 and lippserd committed Mar 22, 2022
    Configuration menu
    Copy the full SHA
    97091e4 View commit details
    Browse the repository at this point in the history
  3. Allow history retention configuration

    Co-authored-by: Eric Lippmann <eric.lippmann@icinga.com>
    raviks789 and lippserd committed Mar 22, 2022
    Configuration menu
    Copy the full SHA
    c84dc58 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    2ef465f View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    ff561c7 View commit details
    Browse the repository at this point in the history

Commits on Mar 30, 2022

  1. Make Bulker generic

    Al2Klimov committed Mar 30, 2022
    Configuration menu
    Copy the full SHA
    dddd580 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b65ea6d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    ce5f280 View commit details
    Browse the repository at this point in the history

Commits on Apr 4, 2022

  1. Configuration menu
    Copy the full SHA
    121060a View commit details
    Browse the repository at this point in the history

Commits on Apr 14, 2022

  1. UnixMilli(x): don't overflow on 4/11/2262 (UTC)

    but on 8/17/292278994 by not converting x into int64 ns and those to ms.
    Al2Klimov committed Apr 14, 2022
    Configuration menu
    Copy the full SHA
    874e872 View commit details
    Browse the repository at this point in the history
  2. Do x.UnixMilli(), not utils.UnixMilli(x)

    and remove redundant utils.UnixMilli().
    Al2Klimov committed Apr 14, 2022
    Configuration menu
    Copy the full SHA
    b908514 View commit details
    Browse the repository at this point in the history

Commits on May 2, 2022

  1. Configuration menu
    Copy the full SHA
    5b9d96e View commit details
    Browse the repository at this point in the history

Commits on May 3, 2022

  1. Retry EAGAIN

    julianbrost committed May 3, 2022
    Configuration menu
    Copy the full SHA
    0ff1a96 View commit details
    Browse the repository at this point in the history

Commits on May 4, 2022

  1. Configuration menu
    Copy the full SHA
    dbd1a30 View commit details
    Browse the repository at this point in the history
  2. On HA handover: always set icingadb_instance#responsible=n

    even on lost heartbeat.
    Al2Klimov committed May 4, 2022
    Configuration menu
    Copy the full SHA
    a6c592d View commit details
    Browse the repository at this point in the history
  3. On HA takeover set other instances' icingadb_instance#responsible = n

    for the case they crashed and didn't that by themselves.
    Al2Klimov committed May 4, 2022
    Configuration menu
    Copy the full SHA
    286732c View commit details
    Browse the repository at this point in the history
  4. go:embed LUA script

    for the sake of syntax highlighting.
    Al2Klimov committed May 4, 2022
    Configuration menu
    Copy the full SHA
    abc76f1 View commit details
    Browse the repository at this point in the history

Commits on May 5, 2022

  1. Merge pull request #459 from Icinga/424

    Ensure icingadb_instance#responsible=n
    julianbrost authored May 5, 2022
    Configuration menu
    Copy the full SHA
    a334b6a View commit details
    Browse the repository at this point in the history

Commits on May 10, 2022

  1. Merge pull request #471 from Icinga/embed.lua

    go:embed LUA script
    julianbrost authored May 10, 2022
    Configuration menu
    Copy the full SHA
    073c6eb View commit details
    Browse the repository at this point in the history

Commits on May 11, 2022

  1. Retention: periodically log number of items removed

    Other components log this information periodically at level info, whereas the
    retention feature was completely quiet at that level. It's logged at the
    interval the retention cleanup is run rather than the global configured logging
    interval since retention cleanup is done less often.
    julianbrost committed May 11, 2022
    Configuration menu
    Copy the full SHA
    34093f0 View commit details
    Browse the repository at this point in the history

Commits on May 12, 2022

  1. Allow setting port for PostgreSQL Unix domain socket

    When you specify a socket path like /run/postgresql, the actual socket file is
    located at /run/postgresql/.s.PGSQL.5432 where the number is the port number of
    the server (as it's used for TCP). So it makes sense also allowing to set the
    port for Unix domain sockets.
    
    This commit also omits the port from the connection URI if none is given for
    TCP connections, thus also using the default value in this case.
    julianbrost committed May 12, 2022
    Configuration menu
    Copy the full SHA
    b43669d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4ae2714 View commit details
    Browse the repository at this point in the history

Commits on May 13, 2022

  1. Configuration menu
    Copy the full SHA
    0e1eed9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e61d3ee View commit details
    Browse the repository at this point in the history
  3. Merge pull request #483 from Icinga/bugfix/sql-port-numbers

    DB: use default ports and allow setting port for PostgreSQL Unix domain sockets
    lippserd authored May 13, 2022
    Configuration menu
    Copy the full SHA
    cb946d2 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    a3e4866 View commit details
    Browse the repository at this point in the history
  5. Merge pull request #480 from Icinga/feature/retention-logging

    Retention: periodically log number of items removed
    julianbrost authored May 13, 2022
    Configuration menu
    Copy the full SHA
    ebf8d72 View commit details
    Browse the repository at this point in the history
  6. Build fix

    Two PRs (#247, #480) were merged without hard merge conflicts but the resulting
    code missed a change of a variable leading to a build failure.
    julianbrost committed May 13, 2022
    Configuration menu
    Copy the full SHA
    eb79fd3 View commit details
    Browse the repository at this point in the history
  7. Retention: remove StartWithCallback

    This was added for the tests but the corresponding test was rewritten in #467
    so it's no longer used or needed.
    julianbrost committed May 13, 2022
    Configuration menu
    Copy the full SHA
    6d1880d View commit details
    Browse the repository at this point in the history
  8. CleanupOlderThan: no longer return number of rounds

    This value is not used anymore, so instead of returning a struct, the function
    can just return the number of rows deleted as uint64.
    julianbrost committed May 13, 2022
    Configuration menu
    Copy the full SHA
    a4803d0 View commit details
    Browse the repository at this point in the history
  9. Merge pull request #477 from Icinga/feature/more-config-validation

    Check for required database and Redis config options during config validation
    julianbrost authored May 13, 2022
    Configuration menu
    Copy the full SHA
    75cb57c View commit details
    Browse the repository at this point in the history
  10. Retention: take environment_id into account

    This commit ensures that the retention feature only deletes history from the
    current environment. Previously, the deletion queries where missing an
    appropriate WHERE clause.
    julianbrost committed May 13, 2022
    Configuration menu
    Copy the full SHA
    1c3ecaa View commit details
    Browse the repository at this point in the history

Commits on May 16, 2022

  1. Split Redis address into host and port

    The port is set to 6379 by default to keep it consistent with standard
    Redis installations, but the example configuration explicitly specifies
    6380 since that is the default port of the icingadb-redis package.
    lippserd committed May 16, 2022
    Configuration menu
    Copy the full SHA
    b2c1744 View commit details
    Browse the repository at this point in the history
  2. Expect serverName only in TLS.MakeConfig()

    With recent changes to Unix domain socket support, port and address
    handling in SQL and Redis configuration, the function can now be reduced
    to just expecting the server name.
    lippserd committed May 16, 2022
    Configuration menu
    Copy the full SHA
    fcad7fb View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    3842190 View commit details
    Browse the repository at this point in the history

Commits on May 17, 2022

  1. Configuration menu
    Copy the full SHA
    f7697a2 View commit details
    Browse the repository at this point in the history

Commits on May 23, 2022

  1. Merge pull request #482 from Icinga/feature/parameter-delimiters-chec…

    …k-execution-6277
    
    Add CommandArgument#Separator
    julianbrost authored May 23, 2022
    Configuration menu
    Copy the full SHA
    6a5e7ed View commit details
    Browse the repository at this point in the history
  2. Add more information to icingadb --version ouput

    This commit adds the build information (Go version, Git commit) and system
    information (distribution with version) to the output of `icingadb --version`.
    
    When exporting the source code using `git archive`, Git will insert the version
    information using the export-subst attribute (adds both a pretty version string
    like `git describe` and the commit hash).
    
    `go build` also adds some Git commit information to the resulting binary when
    building from a Git working directory (only the commit hash and a flag if there
    are uncommitted changes, but no pretty version string).
    
    Note that `go build` does not include Git version information in the binary, so
    when running directly from a Git working directory, commit information won't be
    available in the binary, but when doing this, you should be well aware which
    version you're running anyways.
    
    System information is obtained from the `os-release` file.
    julianbrost committed May 23, 2022
    Configuration menu
    Copy the full SHA
    335aa60 View commit details
    Browse the repository at this point in the history

Commits on May 24, 2022

  1. Streamline IsRetryable functions and retry DNS errors

    Aligns the behavior of the IsRetryable functions for Redis and database.
    It now also checks if the error implements timeout, even if the error
    implements temporary, where previously only the temporary bool was
    returned and timeout was ignored. The idea here is that an error could
    implement both, returning false for temporary and true for timeout.
    Also, all DNS errors are now considered retryable.
    lippserd committed May 24, 2022
    Configuration menu
    Copy the full SHA
    c904daf View commit details
    Browse the repository at this point in the history
  2. Merge pull request #487 from Icinga/feature/version-details

    Add more information to `icingadb --version` ouput
    lippserd authored May 24, 2022
    Configuration menu
    Copy the full SHA
    c716ef7 View commit details
    Browse the repository at this point in the history
  3. Merge pull request #489 from Icinga/retry-dns-errors

    Streamline IsRetryable functions and retry DNS errors
    julianbrost authored May 24, 2022
    Configuration menu
    Copy the full SHA
    6c4b607 View commit details
    Browse the repository at this point in the history
  4. Fix icingadb --version output when using older Git versions

    When building Icinga DB from a tarball generated using `git archive` using a
    Git version older than 2.32, the version output could incorrectly state "Icinga
    DB version: %(describe)". This commit detects this situation and implements a
    fallback.
    julianbrost committed May 24, 2022
    Configuration menu
    Copy the full SHA
    e681cca View commit details
    Browse the repository at this point in the history

Commits on May 31, 2022

  1. Configuration menu
    Copy the full SHA
    136d7c0 View commit details
    Browse the repository at this point in the history

Commits on Jun 9, 2022

  1. Merge pull request #493 from Icinga/schema-consistency-for-relations

    Schema consistency for relations
    julianbrost authored Jun 9, 2022
    Configuration menu
    Copy the full SHA
    7808dc5 View commit details
    Browse the repository at this point in the history

Commits on Jun 15, 2022

  1. DB#{*BulkExec,*Streamed}(): replace succeeded channel with callbacks

    to allow to avoid a goroutine reading that channel.
    Al2Klimov committed Jun 15, 2022
    Configuration menu
    Copy the full SHA
    ec8839b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4d066ab View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c1eadb9 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    74bb1f2 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    d22d554 View commit details
    Browse the repository at this point in the history

Commits on Jun 22, 2022

  1. oneBulk(): terminate once input closed (like the regular bulker)

    instead of outputting zero values.
    Al2Klimov committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    800642a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8b8f8e6 View commit details
    Browse the repository at this point in the history
  3. XTRIM data XREAD from icinga:runtime*

    for Icinga 2 to monitor pending runtime updates.
    Al2Klimov committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    b61284b View commit details
    Browse the repository at this point in the history

Commits on Jun 23, 2022

  1. Clear icinga:runtime* and read from 0-0 later

    instead of preserving the (never read) data and reading beyond its end later.
    This indicates the correct number of pending runtime updates
    (for monitoring by Icinga 2) from the beginning.
    Al2Klimov committed Jun 23, 2022
    Configuration menu
    Copy the full SHA
    f6df1de View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    110deeb View commit details
    Browse the repository at this point in the history
  3. Introduce Atomic[T]

    Al2Klimov committed Jun 23, 2022
    Configuration menu
    Copy the full SHA
    95cb61d View commit details
    Browse the repository at this point in the history
  4. Write own heartbeat into icingadb:telemetry:heartbeat

    including version, current DB error and HA status quo.
    Al2Klimov committed Jun 23, 2022
    Configuration menu
    Copy the full SHA
    99467ab View commit details
    Browse the repository at this point in the history

Commits on Jun 24, 2022

  1. Configuration menu
    Copy the full SHA
    15ba0b4 View commit details
    Browse the repository at this point in the history

Commits on Jun 28, 2022

  1. Telemetry: send Go metrics as performance data string

    Rather than using a JSON structure to convey these values, simply use the
    existing format to communicate performance data to Icinga 2.
    
    Also removes the reference to Go in the Redis structure, allowing this string
    to be extended with more metrics in the future without running into naming
    issues.
    julianbrost committed Jun 28, 2022
    Configuration menu
    Copy the full SHA
    2babc99 View commit details
    Browse the repository at this point in the history
  2. Telemetry: rename keys in heartbeat stream

    In both C++ and Go, the keys are only used as constant strings, so namespacing
    them just adds clutter for the `general:*` keys, therefore remove it.
    julianbrost committed Jun 28, 2022
    Configuration menu
    Copy the full SHA
    95b7476 View commit details
    Browse the repository at this point in the history
  3. Telemetry: change stats names in Redis

    The same names are used in perfdata names and config_sync sounds more natural
    than sync_config.
    julianbrost committed Jun 28, 2022
    Configuration menu
    Copy the full SHA
    0b13c56 View commit details
    Browse the repository at this point in the history
  4. Telemetry: use mutex for synchronizing last database error

    The old CompareAndSwap based code tended to end up in an endless loop. Replace
    it by simple syncrhonization mechanisms where this can't happen.
    julianbrost committed Jun 28, 2022
    Configuration menu
    Copy the full SHA
    b612653 View commit details
    Browse the repository at this point in the history
  5. Merge pull request #464 from Icinga/OwnHeartbeat

    Write own status into Redis
    lippserd authored Jun 28, 2022
    Configuration menu
    Copy the full SHA
    78fae81 View commit details
    Browse the repository at this point in the history
  6. Fix Redis MaxRetries

    Previously, we set the maximum number of retries to the pool size + 1,
    but increased the pool size immediately after this assignment, so the
    maximum number of retries was always too low for systems with less than
    4 cores. Now it is set the other way around.
    lippserd committed Jun 28, 2022
    Configuration menu
    Copy the full SHA
    1944da6 View commit details
    Browse the repository at this point in the history
  7. Block XREADs for a maxium of one second

    I just had the observation that blocking XREADs without timeouts (BLOCK
    0) on multiple consecutive Redis restarts and I/O timeouts exceeds Redis
    internal retries and eventually leads to fatal errors. @julianbrost
    looked at this for clarification, here is his finding:
    
    go-redis only considers a command successful when it returned something,
    so a successfully started blocking XREAD consumes a retry attempt each
    time the underlying Redis connection is terminated. If this happens
    often before any element appears in the stream, this error is
    propagated. (This also means that even with this PR, when restarting
    Redis often enough so that a query never reaches the BLOCK 1sec, this
    would still happen.)
    
    Icinga/icingadb#504 (comment)
    lippserd committed Jun 28, 2022
    Configuration menu
    Copy the full SHA
    d01a954 View commit details
    Browse the repository at this point in the history
  8. Retry: Detect ECONNREFUSED properly

    Also the order of the checks has been adjusted and the documentation has
    been adapted to it. In addition, EAGAIN is no longer checked, since this
    is already done via Timeout().
    lippserd committed Jun 28, 2022
    Configuration menu
    Copy the full SHA
    27854ff View commit details
    Browse the repository at this point in the history
  9. Merge pull request #505 from Icinga/make-json-keys-and-db-columns-con…

    …sistent
    
    Make json keys and DB columns consistent
    julianbrost authored Jun 28, 2022
    Configuration menu
    Copy the full SHA
    e8a95e0 View commit details
    Browse the repository at this point in the history
  10. Retry ECONNRESET

    ECONNRESET is treated as a temporary error by Go only if it comes from
    calling accept.
    lippserd committed Jun 28, 2022
    Configuration menu
    Copy the full SHA
    985cbcd View commit details
    Browse the repository at this point in the history
  11. Fix comment

    lippserd committed Jun 28, 2022
    Configuration menu
    Copy the full SHA
    beb9460 View commit details
    Browse the repository at this point in the history

Commits on Jun 29, 2022

  1. Configuration menu
    Copy the full SHA
    a2430ad View commit details
    Browse the repository at this point in the history
  2. Merge pull request #504 from Icinga/retry

    Fixes related to the retry functionality
    julianbrost authored Jun 29, 2022
    Configuration menu
    Copy the full SHA
    e772cbe View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    929b6cc View commit details
    Browse the repository at this point in the history
  4. Merge pull request #508 from Icinga/state-soft_state

    icinga:*:state: rename state to soft_state
    julianbrost authored Jun 29, 2022
    Configuration menu
    Copy the full SHA
    e35cb43 View commit details
    Browse the repository at this point in the history
  5. Set Redis server port to 6380 by default

    All Icinga DB components use 6380 as default Redis port.
    lippserd committed Jun 29, 2022
    Configuration menu
    Copy the full SHA
    4cc3843 View commit details
    Browse the repository at this point in the history

Commits on Aug 19, 2022

  1. Merge pull request #503 from Icinga/parseString-DRY

    parseString(): Don't Repeat Yourself
    Al2Klimov authored Aug 19, 2022
    Configuration menu
    Copy the full SHA
    5d9f571 View commit details
    Browse the repository at this point in the history

Commits on Sep 13, 2022

  1. Save memory during config sync via SyncSubject#FactoryForDelta()

    Code comment TL;DR: Allocate the same amount of smaller data structures
    Al2Klimov committed Sep 13, 2022
    Configuration menu
    Copy the full SHA
    f2d125c View commit details
    Browse the repository at this point in the history

Commits on Oct 11, 2022

  1. Configuration menu
    Copy the full SHA
    e2e6e81 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a94f2bb View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5f8fa6b View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    58b4be1 View commit details
    Browse the repository at this point in the history

Commits on Nov 2, 2022

  1. Merge pull request #525 from Icinga/save-memory

    Save memory during config sync via SyncSubject#FactoryForDelta()
    julianbrost authored Nov 2, 2022
    Configuration menu
    Copy the full SHA
    6a5a6b2 View commit details
    Browse the repository at this point in the history

Commits on Nov 9, 2022

  1. Log UNIX socket address w/o port number

    E.g. not
    Connecting to database at '/var/lib/mysql/mysql.sock:0'
    Connecting to Redis at '/run/icingadb-redis/icingadb-redis-server.sock:6380'
    Al2Klimov committed Nov 9, 2022
    Configuration menu
    Copy the full SHA
    d26708f View commit details
    Browse the repository at this point in the history

Commits on Jan 19, 2023

  1. Heartbeat#sendEvent(m): nil-check m before dereferencing it

    as it can be nil.
    Al2Klimov committed Jan 19, 2023
    Configuration menu
    Copy the full SHA
    bcbd470 View commit details
    Browse the repository at this point in the history

Commits on May 26, 2023

  1. Merge network and database error retryability detection functions

    so that connection attempts will also be re-tried on RDBMS-specific errors,
    e.g. Postgres' 57P03 (the database system is starting up), not to crash.
    On the other hand, SQL operations which are safe to retry on SQL errors
    are also safe to retry on network errors.
    Al2Klimov committed May 26, 2023
    Configuration menu
    Copy the full SHA
    4cfa5cc View commit details
    Browse the repository at this point in the history

Commits on Jun 5, 2023

  1. retry.Retryable(): treat ENOENT (AF_UNIX) like ECONNREFUSED, i.e. als…

    …o retry
    
    During connect(2) we may get ECONNREFUSED between server's bind(2) and
    listen(2), but the most downtime between boot and service start the socket
    won't exist, yet. I.e. ENOENT is the de facto ECONNREFUSED of *nix sockets.
    Al2Klimov committed Jun 5, 2023
    Configuration menu
    Copy the full SHA
    4f2f939 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #559 from Icinga/segv

    Heartbeat#sendEvent(m): nil-check m before dereferencing it
    julianbrost authored Jun 5, 2023
    Configuration menu
    Copy the full SHA
    1ccac4d View commit details
    Browse the repository at this point in the history

Commits on Jun 19, 2023

  1. Config parsing: fail on unknown fields and print them

    Useful against config validation or runtime failures
    caused by wrong field spelling or YAML indentation.
    Al2Klimov committed Jun 19, 2023
    Configuration menu
    Copy the full SHA
    6ed1f44 View commit details
    Browse the repository at this point in the history

Commits on Jun 22, 2023

  1. Support Percona XtraDB Cluster by not using SERIALIZABLE transactions…

    … directly
    
    The RDBMS rejects them by default. But it doesn't rejects their equivalent:
    Append "LOCK IN SHARE MODE" to every SELECT in a REPEATABLE READ transaction.
    Now we do the latter with MySQL.
    Al2Klimov committed Jun 22, 2023
    Configuration menu
    Copy the full SHA
    94ed6c8 View commit details
    Browse the repository at this point in the history

Commits on Jun 29, 2023

  1. Configuration menu
    Copy the full SHA
    e5781fd View commit details
    Browse the repository at this point in the history

Commits on Jul 4, 2023

  1. {Bool,Binary,UnixMilli}#MarshalJSON(): return valid JSON, not empty s…

    …tring
    
    in case an instance is null.
    Al2Klimov committed Jul 4, 2023
    Configuration menu
    Copy the full SHA
    76cc280 View commit details
    Browse the repository at this point in the history

Commits on Jul 7, 2023

  1. Test Binary#MarshalJSON()

    Al2Klimov committed Jul 7, 2023
    Configuration menu
    Copy the full SHA
    d0a1e63 View commit details
    Browse the repository at this point in the history
  2. Test Bool#MarshalJSON()

    Al2Klimov committed Jul 7, 2023
    Configuration menu
    Copy the full SHA
    1df665b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e8891b2 View commit details
    Browse the repository at this point in the history

Commits on Jul 11, 2023

  1. Configuration menu
    Copy the full SHA
    07c71a4 View commit details
    Browse the repository at this point in the history

Commits on Jul 25, 2023

  1. Merge pull request #612 from Icinga/bool-binary-unixmilli-marshaljson…

    …-return-valid-json-not-empty-string
    
    {Bool,Binary,UnixMilli}#MarshalJSON(): return valid JSON, not empty string
    julianbrost authored Jul 25, 2023
    Configuration menu
    Copy the full SHA
    1ff1d76 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #605 from Icinga/yaml.DisallowUnknownField

    Config parsing: fail on unknown fields and print them
    julianbrost authored Jul 25, 2023
    Configuration menu
    Copy the full SHA
    9b999a1 View commit details
    Browse the repository at this point in the history
  3. Merge pull request #601 from Icinga/flatten-empty-custom-vars-correctly

    Write a hint for empty arrays/dicts into `customvar_flat`
    julianbrost authored Jul 25, 2023
    Configuration menu
    Copy the full SHA
    9176cf3 View commit details
    Browse the repository at this point in the history

Commits on Jul 27, 2023

  1. Merge pull request #593 from Icinga/wait-for-database-to-start-rather…

    …-than-crashing-561
    
    Merge network and database error retryability detection functions
    Al2Klimov authored Jul 27, 2023
    Configuration menu
    Copy the full SHA
    bef990a View commit details
    Browse the repository at this point in the history

Commits on Jul 31, 2023

  1. Merge pull request #609 from Icinga/percona-xtradb-cluster

    Support Percona XtraDB Cluster by not using SERIALIZABLE transactions directly
    julianbrost authored Jul 31, 2023
    Configuration menu
    Copy the full SHA
    1814733 View commit details
    Browse the repository at this point in the history
  2. Migration: refactor output/processing of converted entities

    This commit simplifies the `icingaDbOutputStage` type to contain only one
    entity slice to be insert/upsert. This allows to simplify the handling in
    `migrateOneType()` by removing nested loops.
    
    Additionally, a bit of code inside that function is outsourced into a new
    `utils.ChanFromSlice()` function. This makes the body of the loop over the
    insert/upsert operation (the loop using the `op` variable) simple enough so
    that it can just be unrolled which saves the inline struct and slice definition
    for that loop.
    julianbrost committed Jul 31, 2023
    Configuration menu
    Copy the full SHA
    11031dc View commit details
    Browse the repository at this point in the history
  3. Merge pull request #554 from Icinga/553

    convertFlappingRows(): fix foreign key error history -> flapping_history
    julianbrost authored Jul 31, 2023
    Configuration menu
    Copy the full SHA
    3e36b8d View commit details
    Browse the repository at this point in the history

Commits on Aug 4, 2023

  1. Run go fmt ./...

    Looks like newer Go version have a different opinion on how indentation in
    comments should look like. Adapt existing comments to make the GitHub Actions
    happy.
    julianbrost committed Aug 4, 2023
    Configuration menu
    Copy the full SHA
    2b9b81a View commit details
    Browse the repository at this point in the history

Commits on Aug 7, 2023

  1. Increase database schema version

    The removal of the `NOT NULL` constraint on `customvar_flat`.`flat_value` makes
    the schema upgrade a hard requirement for 1.1.1.
    julianbrost committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    a34ea3c View commit details
    Browse the repository at this point in the history

Commits on Nov 21, 2023

  1. Configuration menu
    Copy the full SHA
    f88e21c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4f4ae31 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d00cda9 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    3fe4d79 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    556f1cc View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    a5b09d3 View commit details
    Browse the repository at this point in the history
  7. types#Binary: Assert fmt.Stringer interface compliance

    This prevents import cycles because the `database` package uses the
    `types` packages.
    lippserd committed Nov 21, 2023
    Configuration menu
    Copy the full SHA
    132a498 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    9eefd33 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    6c7cf4a View commit details
    Browse the repository at this point in the history
  10. Use google/go-cmp to determine equality of checksums

    Otherwise we would have to move the `Equaler` interface to the
    `types` package, which is pretty useless for a single use case.
    lippserd committed Nov 21, 2023
    Configuration menu
    Copy the full SHA
    d96387d View commit details
    Browse the repository at this point in the history
  11. Introduce driver#Option

    lippserd committed Nov 21, 2023
    Configuration menu
    Copy the full SHA
    777b8d6 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    784ee9f View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    80f0af9 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    a1609a6 View commit details
    Browse the repository at this point in the history
  15. Make com#CopyFirst() generic

    lippserd committed Nov 21, 2023
    Configuration menu
    Copy the full SHA
    8a1800a View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    a667c3c View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    932cced View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    fc5b565 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    95818ce View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    3d81352 View commit details
    Browse the repository at this point in the history
  21. Add utils#IsUnixAddr()

    lippserd committed Nov 21, 2023
    Configuration menu
    Copy the full SHA
    5d2a86f View commit details
    Browse the repository at this point in the history
  22. Add logging#Config

    lippserd committed Nov 21, 2023
    Configuration menu
    Copy the full SHA
    d84519b View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    43ad9a2 View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    c3cb65f View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    8a844a0 View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    3625e61 View commit details
    Browse the repository at this point in the history
  27. Configuration menu
    Copy the full SHA
    73fe7f9 View commit details
    Browse the repository at this point in the history
  28. Configuration menu
    Copy the full SHA
    3aec1ef View commit details
    Browse the repository at this point in the history
  29. Add redis#Config.Database

    lippserd committed Nov 21, 2023
    Configuration menu
    Copy the full SHA
    0323516 View commit details
    Browse the repository at this point in the history
  30. Remove icingadb

    lippserd committed Nov 21, 2023
    Configuration menu
    Copy the full SHA
    f942874 View commit details
    Browse the repository at this point in the history
  31. Remove icingaredis

    lippserd committed Nov 21, 2023
    Configuration menu
    Copy the full SHA
    741ff8f View commit details
    Browse the repository at this point in the history
  32. Remove common

    lippserd committed Nov 21, 2023
    Configuration menu
    Copy the full SHA
    5a27e3d View commit details
    Browse the repository at this point in the history
  33. Remove contracts

    lippserd committed Nov 21, 2023
    Configuration menu
    Copy the full SHA
    fab1fc0 View commit details
    Browse the repository at this point in the history
  34. Fix imports

    lippserd committed Nov 21, 2023
    Configuration menu
    Copy the full SHA
    c0c0153 View commit details
    Browse the repository at this point in the history
  35. Configuration menu
    Copy the full SHA
    53258f1 View commit details
    Browse the repository at this point in the history
  36. Introduce logging#Fatal()

    lippserd committed Nov 21, 2023
    Configuration menu
    Copy the full SHA
    027ef98 View commit details
    Browse the repository at this point in the history
  37. Introduce types#Checksum()

    lippserd committed Nov 21, 2023
    Configuration menu
    Copy the full SHA
    b7c9ad0 View commit details
    Browse the repository at this point in the history
  38. Configuration menu
    Copy the full SHA
    bbcd126 View commit details
    Browse the repository at this point in the history
  39. Configuration menu
    Copy the full SHA
    f65cbf3 View commit details
    Browse the repository at this point in the history
  40. Configuration menu
    Copy the full SHA
    296911a View commit details
    Browse the repository at this point in the history
  41. Configuration menu
    Copy the full SHA
    d6e58a0 View commit details
    Browse the repository at this point in the history
  42. go mod init

    lippserd committed Nov 21, 2023
    Configuration menu
    Copy the full SHA
    330ba12 View commit details
    Browse the repository at this point in the history

Commits on Nov 29, 2023

  1. Configuration menu
    Copy the full SHA
    c916dcc View commit details
    Browse the repository at this point in the history
  2. Merge pull request #1 from Icinga/register-custom-drivers-properly

    Rename driver names to `icinga-*sql`
    yhabteab authored Nov 29, 2023
    Configuration menu
    Copy the full SHA
    33ab9e6 View commit details
    Browse the repository at this point in the history

Commits on Dec 11, 2023

  1. database: Introduce ColumnMap

    `ColumnMap` provides a cached mapping of structs exported fields to
    their database column names. By default, all exported struct fields are
    mapped to their database column names using snake case notation. The `-`
    (hyphen) directive for the db tag can be used to exclude certain fields.
    Since `ColumnMap` uses cache, the returned slice MUST NOT be modified
    directly.
    lippserd committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    ac645fd View commit details
    Browse the repository at this point in the history
  2. Merge pull request #5 from Icinga/column-map

    database: Introduce `ColumnMap`
    lippserd authored Dec 11, 2023
    Configuration menu
    Copy the full SHA
    5f0078f View commit details
    Browse the repository at this point in the history

Commits on Jan 16, 2024

  1. Create LICENSE

    lippserd authored Jan 16, 2024
    Configuration menu
    Copy the full SHA
    5a13b24 View commit details
    Browse the repository at this point in the history

Commits on Jan 22, 2024

  1. Add go github workflows

    yhabteab committed Jan 22, 2024
    Configuration menu
    Copy the full SHA
    41c8744 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #8 from Icinga/github-actions

    Add go github workflows
    lippserd authored Jan 22, 2024
    Configuration menu
    Copy the full SHA
    a39ed01 View commit details
    Browse the repository at this point in the history

Commits on Feb 5, 2024

  1. Configuration menu
    Copy the full SHA
    57d05b2 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #7 from Icinga/constrainter

    Allow to dynamically define type constraint name
    yhabteab authored Feb 5, 2024
    Configuration menu
    Copy the full SHA
    f0e227c View commit details
    Browse the repository at this point in the history
  3. Introduce QueryBuilder type

    yhabteab committed Feb 5, 2024
    Configuration menu
    Copy the full SHA
    02cb84e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    05b2800 View commit details
    Browse the repository at this point in the history