TwiN
9d151fcdb4
refactor: Break core package into multiple packages under config/endpoint ( #759 )
...
* refactor: Partially break core package into dns, result and ssh packages
* refactor: Move core package to config/endpoint
* refactor: Fix warning about overlapping imported package name with endpoint variable
* refactor: Rename EndpointStatus to Status
* refactor: Merge result pkg back into endpoint pkg, because it makes more sense
* refactor: Rename parameter r to result in Condition.evaluate
* refactor: Rename parameter r to result
* refactor: Revert accidental change to endpoint.TypeDNS
* refactor: Rename parameter r to result
* refactor: Merge util package into endpoint package
* refactor: Rename parameter r to result
2024-05-09 22:56:16 -04:00
TwiN
4397dcb5fc
docs: Improve Result.ConditionResults description
2024-05-04 20:05:06 -04:00
TwiN
dcfdfd423e
docs: Remove unnecessary badge
2024-04-27 14:39:42 -04:00
TwiN
76a84031c2
refactor: Update connectivity.Checker struct to use pointer on receiver
2024-04-18 21:08:43 -04:00
TwiN
b88d0b1c34
chore: Update example.com's IPv4 and IPv6
2024-04-18 21:08:43 -04:00
TwiN
e0ab35e86a
feat(ui): Implement endpoints[].ui.hide-conditions
2024-04-18 21:08:43 -04:00
TwiN
7efe7429dd
docs: Fix formatting
2024-04-11 21:37:15 -04:00
TwiN
241956b28c
fix(alerting): Support alerts with no conditions for external endpoints ( #729 )
2024-04-10 20:46:17 -04:00
TwiN
a4bc3c4dfe
docs: Add missing information on passing a token for external endpoints
2024-04-10 19:03:29 -04:00
TwiN
7cf2b427c9
docs: Add missing description for ui pkg ValidateAndSetDefaults
2024-04-09 18:56:33 -04:00
TwiN
dc9cddfd77
ci: Add codecov token
2024-04-09 18:53:15 -04:00
TwiN
f54c45e20e
feat: Implement push-based external endpoints ( #724 )
...
* refactor: Move SSH outside of endpoint.go
* refactor: Use pointers for Alert receivers
* feat: Implement push-based external endpoints
* Fix failing tests
* Validate external endpoints on start
* Add tests for external endpoints
* refactor some error equality checks
* Improve docs and refactor some code
* Fix UI-related issues with external endpoints
2024-04-08 21:00:40 -04:00
TwiN
922638e071
refactor: Clean up code and change log format ( #719 )
2024-04-01 21:47:14 -04:00
TwiN
979d467e36
fix(jsonpath): Prevent panic when body is "null"
...
Resolves #718
2024-04-01 20:03:02 -04:00
TwiN
ceb2c7884f
docs: Add discord badge
2024-03-29 21:44:38 -04:00
TwiN
1fcc6c0cc0
chore: Update Go to 1.21
2024-02-18 14:37:29 -05:00
TwiN
08742e4af3
refactor(alerting): Use pointer for receiver in AlertProvider.GetDefaultAlert method ( #676 )
2024-02-07 20:09:45 -05:00
TwiN
2a623a59d3
fix(web): Allow configuration of read-buffer-size ( #675 )
...
This fixes the `431 Request Header Fields Too Large` error
By default, the read-buffer-size is 8192, up from fiber's default of 4096.
Fixes #674
Fixes #636
Supersedes #637
Supersedes #663
2024-02-07 18:54:30 -05:00
TwiN
5a16151bba
ui: Fix issue back button appearing over title when logo is too small
2023-10-31 19:44:54 -04:00
TwiN
87e029f555
ci: Increase timeout-minutes for test workflow to 10 minutes
2023-10-16 21:45:00 -04:00
TwiN
71c4d3ade1
ui: Use localStorage instead of sessionStorage for refresh interval + collapsed groups
...
Fixes #509
Supersedes #510
2023-10-16 21:35:43 -04:00
TwiN
315f9b7792
ui(settings): Fix refresh interval padding
2023-10-16 21:33:09 -04:00
TwiN
c1cdf50851
chore(deps): Bump github.com/TwiN/whois to v1.1.7
...
Fixes 2bd268670f
2023-10-04 20:20:27 -04:00
TwiN
2bd268670f
chore(deps): Bump github.com/TwiN/whois to v1.1.7
...
relevant: #548
2023-10-04 20:17:37 -04:00
TwiN
0903d28b56
docs: Clean up list of sponsors
2023-09-30 12:06:43 -04:00
TwiN
0402bdb774
refactor: Clean up code and improve test coverage
2023-09-28 18:35:18 -04:00
TwiN
c7af44bcb0
fix: Get rid of unnecessary new endpoint
2023-09-28 18:15:14 -04:00
TwiN
8df77b09ed
ci: Fix fork conditional ( #576 )
...
* ci: Fix fork conditional
* ci: Fix fork conditional
* ci: Fix fork conditional
2023-09-23 15:36:19 -04:00
TwiN
d2b274e609
ci: Tweak concurrency group key ( #575 )
...
* ci: Tweak concurrency group key
* ci: Tweak concurrency group key
2023-09-23 15:14:40 -04:00
TwiN
15c81f93d2
ci: Publish only if the workflow is not running on a fork ( #574 )
...
* ci: Publish only if the workflow is not running on a fork
Otherwise, the workflow will attempt to publish on forks from contributors that are using the master branch
2023-09-23 15:02:33 -04:00
TwiN
fd17dcd204
fix(tls): Pass certificate and private key files to listener method ( #531 )
...
Fixes #530
2023-07-20 19:02:34 -04:00
TwiN
2f6b8f23f7
test(store): Make sure the write-through cache works
2023-07-19 23:07:42 -04:00
TwiN
6a8c308af7
fix(api): Define unprotected routes first
...
This is because fiber does not work the same way that mux did wrt groups (mux referred to them as subrouters).
I could not apply a middleware to a specific fiber Group due to the groups being prefix-based.
In other words, the only other way to apply middlewares to specific endpoints without changing the path is by applying the security middleware after the routes that did not need to be protected and before the routes that did need to be protected
2023-07-11 22:46:49 -04:00
TwiN
0e33556775
test(security): Make sure router behaves as intended when authn is required
2023-07-11 22:46:49 -04:00
TwiN
6bb65f4eec
feat(api): Migrate from gorilla/mux to fiber
...
Fixes #468
2023-07-11 22:46:49 -04:00
TwiN
9142ff837c
fix(ui): Only show loading icon on initial load and on page change
2023-07-08 17:36:12 -04:00
TwiN
c42f3ef787
chore(ui): Rebuild static assets
2023-07-02 23:41:24 -04:00
TwiN
c7a774b213
refactor: Use v-else instead of redundant statement
2023-07-02 23:38:07 -04:00
TwiN
719f684982
ci: Update interval to daily
2023-06-07 18:31:41 -04:00
TwiN
5bbd240dd9
docs(alerting): Update GitLab issue prefix
2023-05-30 21:58:57 -04:00
TwiN
447e140479
feat(connectivity): Allow internet connection validation prior to endpoint execution ( #461 )
2023-05-02 22:41:22 -04:00
TwiN
83edca6e80
refactor: Modify implementation of TLS ( #457 )
...
* refactor: Don't generate certificates programmatically
* build: Add testdata folder to .dockerignore
2023-04-22 15:22:09 -04:00
TwiN
636688b43e
chore(deps): Upgrade github.com/TwiN/g8 to v2.0.0
2023-04-22 12:55:30 -04:00
TwiN
4fdb55d632
chore: Update Go to 1.20
2023-04-22 12:13:37 -04:00
TwiN
0bd0c1fd15
docs(sponsors): Add @8ball030 to list of sponsors
2023-04-20 18:28:03 -04:00
TwiN
b5e742acde
fix(ui): Hide endpoint and prev/next arrows while data is being fetched
2023-04-05 19:33:50 -04:00
TwiN
018f723e78
docs: Update list of sponsors
2023-03-16 21:12:15 -04:00
TwiN
038c8c8d8e
fix: Print response body on failure if debug is set to true
2023-03-14 20:02:31 -04:00
TwiN
f8f61deb2c
docs: Add link to managed solution
...
Apparently it's not obvious enough that there's a hosted solution.
2023-03-05 15:50:56 -05:00
TwiN
6ab8899dc6
fix(condition): Partially support numbers with floating point ( #434 )
...
* docs: Don't include Pushover in alerting provider examples
* fix(condition): Partially support numbers with floating point
Fixes #433
Does not add support for decimal numbers, but it converts float64 to int64.
The reason why I'm not just using float64 instead of int64 is because float64 does not support all the numbers that int64 supports, which means this would be a breaking change. Instead, this change at least supports the non-decimal part of floating point numbers.
This is an improvement over the current implementation, as right now, numbers with decimals are just converted to 0 when compared using a non-equal operator
2023-02-15 19:30:29 -05:00
TwiN
7d6923730e
fix(config): Support $$ in config for literal $ ( #427 )
2023-02-11 22:43:13 -05:00
TwiN
542da61215
fix(ci): Use single quotes instead of double quotes
2023-02-09 21:25:06 -05:00
TwiN
45fe7beb6d
fix(ci): Add missing asterisk to path-ignore elements with nested structure
2023-02-09 21:23:29 -05:00
TwiN
26611b7793
ci: Run benchmark on every new latest image
2023-02-09 21:15:36 -05:00
TwiN
9d14e3011b
docs: Add link to banner
2023-02-08 20:50:30 -05:00
TwiN
f6a39f6df0
docs(alerting): Update pushover documentation
2023-02-05 21:58:41 -05:00
TwiN
941c10ca45
chore: Remove vendor folder ( #414 )
...
* chore: Remove vendor folder
* chore: Add vendor folder to .gitignore
2023-01-30 22:29:30 -05:00
TwiN
d75180c341
docs: Clarify what the storage is used for
...
Resolves #411
2023-01-29 16:47:25 -05:00
TwiN
24e207c0c6
fix(metrics): Disable compression on prometheus/client_golang's handler
...
Fixes #406
Root cause seems to be that promhttp.Handler() has its own gzip compression https://github.com/prometheus/client_golang/issues/622
2023-01-19 23:06:38 -05:00
TwiN
90bb8f7b5f
test: Don't run tests in parallel
2023-01-19 01:53:52 -05:00
TwiN
0db92f46da
test: Add several tests for numerical conditions
2023-01-19 01:37:21 -05:00
TwiN
e61a42220c
fix: Log GATUS_CONFIG_FILE deprecation message only if it's non-empty
2023-01-10 19:04:19 -05:00
TwiN
78dccc90e1
fix( #400 ): Use proper configuration path when iterating over options
2023-01-10 00:24:56 -05:00
TwiN
6bdd3c94fe
chore: Add deprecation message for GATUS_CONFIG_FILE
2023-01-09 23:24:20 -05:00
TwiN
4225d22369
docs: Add example of docker-compose with multiple configuration files
2023-01-08 18:34:13 -05:00
TwiN
3059e3e028
feat: Support multiple configuration files ( #396 )
...
* Revert "Revert "feat: Support multiple configuration files" (#395 )"
This reverts commit 87740e74a6 .
* feat: Properly implement support for config directory
2023-01-08 17:53:37 -05:00
TwiN
87740e74a6
Revert "feat: Support multiple configuration files" ( #395 )
...
Revert "feat: Support multiple configuration files (#389 )"
This reverts commit 8e14302765 .
2023-01-07 03:45:43 -05:00
TwiN
844f417ea1
docs: Update sponsor list
2023-01-06 20:06:56 -05:00
TwiN
2f7f782f11
docs: Improve documentation and add ghcr Docker image link
2023-01-06 20:04:21 -05:00
TwiN
616a654b27
fix: Compress everything with Gzip
2022-12-30 21:37:52 -05:00
TwiN
a1c8422c2f
ci: Make release also push latest tag
2022-12-23 10:00:17 -05:00
TwiN
947173bf71
fix: Prevent jsonpath from causing panic when body is expected to be array but isn't ( #392 )
...
* fix: Prevent jsonpath from causing panic when body is expected to be array but isn't
Fixes #391
2022-12-23 09:55:17 -05:00
TwiN
a81a83e2d4
docs: Update example
2022-12-22 17:38:27 -05:00
TwiN
19e90cdf31
test(condition): Add has-key-of-map test case
2022-12-17 23:58:01 -05:00
TwiN
ecc0636a59
feat(alerting): Implement GitHub alerting provider
2022-12-15 23:38:44 -05:00
TwiN
27502acd10
chore: Improve oauth2 configuration error
2022-12-15 23:25:37 -05:00
TwiN
51255e33ea
refactor(alerting): Use reflection to retrieve provider based on alert type
2022-12-15 21:37:34 -05:00
TwiN
be0962112e
refactor: Remove unnecessary logs
2022-12-15 21:37:34 -05:00
TwiN
dfcea93080
fix(alerting): Use reflection to set invalid providers to nil instead of re-validating on every alert trigger/resolve
2022-12-15 21:37:34 -05:00
TwiN
9acace7d37
Revert "ci: Allow triggering releases manually"
...
This reverts commit 184c7f23ad .
2022-12-10 16:29:07 -05:00
TwiN
184c7f23ad
ci: Allow triggering releases manually
2022-12-10 16:24:35 -05:00
TwiN
5ce890bbff
ci: Don't run tests for workflow changes
2022-12-10 16:24:01 -05:00
TwiN
b0bec5ff94
fix(ci): Don't prevent publish-release-to-ghcr from running
2022-12-10 16:08:46 -05:00
TwiN
f2d51f3e50
docs: Update Gatus diagram
2022-12-06 23:03:27 -05:00
TwiN
a1a2fba326
docs: Link Alerting section in valid alert types
2022-12-06 22:36:33 -05:00
TwiN
fdd51869a3
test: Improve condition validation test coverage
2022-12-06 21:57:24 -05:00
TwiN
f6a621da28
chore: Bump module version to v5
2022-12-06 01:41:18 -05:00
TwiN
2346a6ee4f
fix!: Enforce mandatory space around condition operator ( #382 )
...
BREAKING CHANGE: The comparator in each condition must now be wrapped by a space (e.g. [STATUS] == 200) or the condition will not be valid.
2022-12-06 01:37:05 -05:00
TwiN
741109f25d
chore!: Remove deprecated "services" in favor of "endpoints" ( #381 )
...
BREAKING CHANGE: `services` has been replaced by `endpoints` in v3.3.0, but backward compatibility has been retained until now. v5.0.0, however, will no longer support `services`, so make sure to update your configuration to use `endpoints` instead.
See #374 for more information
2022-12-06 01:27:31 -05:00
TwiN
d058d7a54b
fix!: Default Alert.Enabled to true ( #380 )
...
BREAKING CHANGE: It used to default to false, which meant that users had to explicitly set endpoints[].alerts[].enabled to true
2022-12-05 23:15:19 -05:00
TwiN
7dccf5f08c
docs: Clarify that alerts still have to be defined when using default-alerts
2022-12-05 22:40:25 -05:00
TwiN
9fc8374a4d
docs: Fix typos
2022-12-03 21:26:46 -05:00
TwiN
1aeb045703
test: Fix failing tests
2022-12-01 20:26:14 -05:00
TwiN
cdec353744
chore(deps): Update sqlite dependencies
2022-12-01 20:19:56 -05:00
TwiN
080563bd4f
fix(alerting): Improve ntfy alert
2022-12-01 20:19:11 -05:00
TwiN
bcb565ba37
ci: Remove workflow_dispatch
2022-11-23 18:15:01 -05:00
TwiN
2327854641
ci: Update workflows
2022-11-23 18:12:55 -05:00
TwiN
79eacc5e50
ci: Re-add other platforms
2022-11-22 22:02:38 -05:00
TwiN
048a1d4a88
ci: Only publish for linux/amd64 during tests
2022-11-22 21:53:28 -05:00
TwiN
c09ee0b82f
ci: Create workflow to publish latest to GHCR
2022-11-22 21:08:40 -05:00