Skip to content

Commit

Permalink
docs(0.16.0): some env vars in config (#58)
Browse files Browse the repository at this point in the history
  • Loading branch information
JosephKav committed Feb 24, 2024
1 parent 50231fc commit 361d73a
Show file tree
Hide file tree
Showing 13 changed files with 175 additions and 141 deletions.
3 changes: 0 additions & 3 deletions assets/icons/logo.svg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions config.toml
Expand Up @@ -83,8 +83,8 @@ prism_syntax_highlighting = false
[params.ui]
# Set to true to disable breadcrumb navigation.
breadcrumb_disable = false
# Set to true to disable the About link in the site footer
footer_about_disable = false
# Set to false to disable the About link in the site footer
footer_about_enable = true
# Set to false if you don't want to display a logo (/assets/icons/logo.svg) in the top navbar
navbar_logo = true
# Set to true to disable the About link in the site footer
Expand Down
100 changes: 46 additions & 54 deletions content/en/_index.html
@@ -1,71 +1,63 @@
+++
title = "Argus"
linkTitle = "Argus"

+++
---
title: Argus
linkTitle: Argus
---

{{< blocks/cover title="Welcome to Argus!" image_anchor="top" height="full" >}}
<div class="mx-auto">
<a class="btn btn-lg btn-primary mr-3 mb-4" href="{{< relref "/docs" >}}">
Learn More <i class="fas fa-arrow-alt-circle-right ml-2"></i>
</a>
<a class="btn btn-lg btn-info mr-3 mb-4" href="/demo/approvals">
Demo <i class="fas fa-laptop-code ml-2 "></i>
</a>
<a class="btn btn-lg btn-danger mr-3 mb-4" href="https://github.com/release-argus/Argus/">
Download <i class="fab fa-github ml-2 "></i>
</a>
<p class="lead mt-5">Monitor all the releases</p>
{{< blocks/link-down color="info" >}}
<a class="btn btn-lg btn-primary mr-3 mb-4" href="{{< relref `/docs` >}}">
Learn More <i class="fas fa-arrow-alt-circle-right ml-2"></i>
</a>
<a class="btn btn-lg btn-info mr-3 mb-4" href="/demo/approvals">
Demo <i class="fas fa-laptop-code ml-2"></i>
</a>
<a
class="btn btn-lg btn-danger mr-3 mb-4"
href="https://github.com/release-argus/Argus/"
>
Download <i class="fab fa-github ml-2"></i>
</a>
<p
class="lead mt-5"
style="
text-shadow: 1px 1px 2px black, 1px -1px 2px black, -1px 1px 2px black,
-1px -1px 2px black;"
>
Keeping an eye on releases
</p>
{{< blocks/link-down color="info" >}}
</div>
{{< /blocks/cover >}}


{{% blocks/lead color="primary" %}}
Argus provides a way for you to monitor the versions of software and trigger alerts when a
new release is been found.

It provides a Web UI for your viewing pleasure, and this UI allows you to approve new releases which could, for
example, send a GitHub-style WebHook to an AWX server to trigger a Playbook that updates to that new version.
Argus provides a way for you to monitor the versions of software and trigger alerts when a new
release is been found.

Alerts could also be in many other forms, e.g. gotify/slack/telegram.
It provides a Web UI for your viewing pleasure, and this UI allows you to approve new releases which could, for example, send a GitHub-style WebHook to an AWX server to trigger a Playbook that updates to that new version. Alerts could also be in many other forms, e.g. gotify/slack/telegram.
{{% /blocks/lead %}}


{{% blocks/section color="dark" type="row" %}}
{{% blocks/feature icon="fab fa-github" title="Open Source" %}}
100% open source on [GitHub](https://github.com/release-argus/Argus). Contributions are always appreciated.
{{% /blocks/feature %}}


{{% blocks/feature icon="fab fa-github-alt" title="Monitor GitHub releases" %}}
Monitor releases of software to GitHub by simply providing the `owner/repo`. Private repositories can also be
monitored by providing an Access Token with access.
{{% /blocks/feature %}}


{{% blocks/feature icon="fa-window-maximize" title="Monitor web releases" %}}
Monitor releases of software by providing the website URL and regex for the latest version.
{{% /blocks/feature %}}


{{% blocks/feature icon="fa-bell" title="Alerting" %}}
Alerting when a new release has been found.
This can be done in many ways, e.g.
discord, gotify, mattermost, pushbullet, pushover, slack, teams, telegram,
with no (realistic) limit to the amount of messages that can be sent when a new release is found.
{{% /blocks/feature %}}

{{% blocks/feature icon="fab fa-github" title="Open Source" %}}
100% open source on [GitHub](https://github.com/release-argus/Argus). Contributions are always appreciated.
{{% /blocks/feature %}}

{{% blocks/feature icon="fa-anchor" title="WebHooks" %}}
WebHooks can be approved (or auto-approved) and sent when a new release has been found.
{{% /blocks/feature %}}
{{% blocks/feature icon="fab fa-github-alt" title="Monitor GitHub releases" %}}
Monitor releases of software to GitHub by simply providing the `owner/repo`. Private repositories can also be monitored by providing an Access Token with access.
{{% /blocks/feature %}}

{{% blocks/feature icon="fa-window-maximize" title="Monitor web releases" %}}
Monitor releases of software by providing the website URL and regex for the latest version.
{{% /blocks/feature %}}

{{% blocks/feature icon="fa-window-maximize" title="Web UI" %}}
Web UI to visually see the latest versions for the software you're tracking,
as well as for approving the WebHooks for these new releases.
{{% /blocks/feature %}}
{{% blocks/feature icon="fa-bell" title="Alerting" %}}
Alerting when a new release has been found. This can be done in many ways, e.g. discord, gotify, mattermost, pushbullet, pushover, slack, teams, telegram, with no (realistic) limit to the amount of messages that can be sent when a new release is found.
{{% /blocks/feature %}}

{{% blocks/feature icon="fa-anchor" title="WebHooks" %}}
WebHooks can be approved (or auto-approved) and sent when a new release has been found.
{{% /blocks/feature %}}

{{% blocks/feature icon="fa-window-maximize" title="Web UI" %}}
Web UI to visually see the latest versions for the software you're tracking, as well as for approving the WebHooks for these new releases.
{{% /blocks/feature %}}
{{% /blocks/section %}}
4 changes: 1 addition & 3 deletions content/en/about/_index.html
Expand Up @@ -7,7 +7,6 @@
pre: '<i class="fas fa-info-circle"></i>'
---


{{< blocks/cover title="About Argus" image_anchor="bottom" height="min" >}}

<p class="lead mt-5">A simple site using the Docsy Hugo theme.</p>
Expand All @@ -20,6 +19,5 @@
to be made. So, Argus was developed to solve this want. It alerts and actions the new releases, all while providing a UI
to see what it's tracking.

Visit our [documentation](../docs) to find out more, or visit the [demo](../demo/approvals) to see it in action!
Visit our <a href="/docs">documentation</a> to find out more, or visit the <a href="/demo/approvals">demo</a> to see it in action!
{{% /blocks/lead %}}

4 changes: 4 additions & 0 deletions content/en/docs/Config/notify.md
Expand Up @@ -14,6 +14,10 @@ Below I have used capitals in some key naming for better readability (ignore tha

The lines prefixed with a # are optional vars that aren't required.

{{< alert title="Note" >}}
Environment variables in the format '${ENV_VAR}' can be used in the `options.*`, `params.*` and `url_fields.*` fields.
{{< /alert >}}

The config for each of these is layed out in the format of
```yaml
notify:
Expand Down
22 changes: 17 additions & 5 deletions content/en/docs/Config/service.md
Expand Up @@ -31,11 +31,11 @@ service:
regex_version: ^[0-9.]+[0-9]$ # Version must match this RegEx
command: ["bash", "check_version.sh", "{{ version }}"] # Require this command to exit successfully
docker: # Require this docker image:tag
type: hub # type of docker registry (ghcr/hub/quay)
image: releaseargus/argus # docker image
tag: '{{ version }}' # tag to look for
username: USERNAME # docker hub username
token: dckr_pat_TOKEN # docker hub token
type: hub # Docker registry (ghcr/hub/quay)
image: releaseargus/argus # Docker image
tag: '{{ version }}' # Tag to look for
username: USERNAME # Username
token: dckr_pat_TOKEN # Token
deployed_version: # Get the `current_version` from a deployed service
url: https://example.com/version # URL to use
allow_invalid_certs: false # Accept invalid HTTPS certs/not
Expand Down Expand Up @@ -88,6 +88,10 @@ service:

Source to query for the latest version, `github` or `url`.

{{< alert title="Note" >}}
Environment variables in the format '${ENV_VAR}' can be used in the `url`, `access_token`, `require.docker.token` and `require.docker.username` fields.
{{< /alert >}}

{{< tabpane text=true right=true >}}
{{% tab header="**types**:" disabled=true /%}}
{{% tab header="github" %}}
Expand Down Expand Up @@ -115,6 +119,12 @@ service:
# considered valid (meaning alerts will fire). This RegEx runs against the
# version assets `name` and `browser_download_url`
regex_version: ^[0-9.]+[0-9]$ # Version found must match this RegEx to be considered valid
docker: # Require a docker image:tag for this version to be considered valid
type: hub # Docker registry (ghcr/hub/quay)
image: OWNER/REPO # Docker image
tag: '{{ version }}' # Tag to look for
username: USERNAME # Username
token: dckr_pat_TOKEN # Token
```

{{% /tab %}}
Expand Down Expand Up @@ -289,6 +299,8 @@ latest_version:

Track the version you have deployed and compare it to the latest_version.

Environment variables in the format ${ENV_VAR} can be used in the `basic_auth.password`, `basic_auth.username`, `headers.*.key`, `headers.*.value` and `url` fields.

```yaml
service:
example:
Expand Down
4 changes: 4 additions & 0 deletions content/en/docs/Config/settings.md
Expand Up @@ -8,6 +8,10 @@ description: >

Below are the options available in their default state. These values can be set with environment variables in the format of `ARGUS_<YAML_PATH_UNDER_SETTINGS>`. For example, `ARGUS_DATA_DATABASE_FILE=/opt/argus.db` would set the default database file location to `/opt/argus.db` (`settings.data.database_file`).

{{< alert title="Note" >}}
Environment variables in the format ${ENV_VAR} can be used in the `settings.web.basic_auth.password` and `settings.web.basic_auth.username` fields.
{{< /alert >}}

config.yml:
```yaml
settings:
Expand Down
4 changes: 4 additions & 0 deletions content/en/docs/Config/webhook.md
Expand Up @@ -12,6 +12,10 @@ With AWX for example, to get a WebHook URL and a WebHook Key, edit a template an
that appears, set the 'Webhook Service' to 'GitHub' and save the changes to get both
the URL and Key for this WebHook.

{{< alert title="Note" >}}
Environment variables in the format ${ENV_VAR} can be used in the `custom_headers.*.key`, `custom_headers.*.value`, `secret` and `url` fields.
{{< /alert >}}

config.yml:
```yaml
webhook:
Expand Down
25 changes: 24 additions & 1 deletion content/en/docs/Getting started/faq.md
Expand Up @@ -10,7 +10,7 @@ description: >

- **TLDR:** Change the Interval of the Service (See [options.interval](../Config/service/#options)). The minimum time between successful action repeats is `2*Interval`.

When a Command/WebHook is triggered, no resends are attempted for at least an hour, or until
When a Command/WebHook is triggered, no resends are attempted for at least an hour, or until
a) the Command has finished,
b) the WebHook was receieved, or
c) the WebHook wasn't receieved after `max_tries` sends.
Expand All @@ -23,3 +23,26 @@ If the Command/WebHook succeeded, the time until a resend is possible is `2*Inte

This time is not configurable beyond setting the interval of service and has been chosen to help ensure the upgrade has had time to complete and will be noticed by a `deployed_version` check (if it has one) before a resend is possible.


#### What config vars support environment variables?

Environment variables in the format `${ENV_VAR}` (e.g. 'abc ${AUTH_TOKEN}' or just '${ENV_VAR}') can be used in the following fields:

* settings.web.basic_auth.password
* settings.web.basic_auth.username
* deployed_version.basic_auth.password
* deployed_version.basic_auth.username
* deployed_version.headers.*.key
* deployed_version.headers.*.value
* deployed_version.url
* latest_version.access_token
* latest_version.require.docker.token
* latest_version.require.docker.username
* latest_version.url
* notify.*.options.*
* notify.*.params.*
* notify.*.url_fields.*
* webhook.*.custom_headers.*.key
* webhook.*.custom_headers.*.value
* webhook.*.secret
* webhook.*.url
8 changes: 4 additions & 4 deletions go.mod
Expand Up @@ -3,8 +3,8 @@ module github.com/release-argus/Website
go 1.18

require (
github.com/FortAwesome/Font-Awesome v0.0.0-20230327165841-0698449d50f2 // indirect
github.com/divinerites/plausible-hugo v1.19.2 // indirect
github.com/google/docsy v0.8.0 // indirect
github.com/twbs/bootstrap v5.3.2+incompatible // indirect
github.com/FortAwesome/Font-Awesome v0.0.0-20240108205627-a1232e345536 // indirect
github.com/divinerites/plausible-hugo v1.19.3 // indirect
github.com/google/docsy v0.9.1 // indirect
github.com/twbs/bootstrap v5.3.3+incompatible // indirect
)
16 changes: 8 additions & 8 deletions go.sum
@@ -1,9 +1,9 @@
github.com/FortAwesome/Font-Awesome v0.0.0-20230327165841-0698449d50f2 h1:Uv1z5EqCfmiK4IHUwT0m3h/u/WCk+kpRfxvAZhpC7Gc=
github.com/FortAwesome/Font-Awesome v0.0.0-20230327165841-0698449d50f2/go.mod h1:IUgezN/MFpCDIlFezw3L8j83oeiIuYoj28Miwr/KUYo=
github.com/divinerites/plausible-hugo v1.19.2 h1:Ksd1Ewp53gPmzm6vhDdRUxkUYwigaykhZlzOYzHYCzQ=
github.com/divinerites/plausible-hugo v1.19.2/go.mod h1:cxr+YB3FUwbLon8KCs4pV4Ankbkq6lJxTQUpNb5KqPo=
github.com/google/docsy v0.8.0 h1:RgHyKRTo8YwScMThrf01Ky2yCGpUS1hpkspwNv6szT4=
github.com/google/docsy v0.8.0/go.mod h1:FqTNN2T7pWEGW8dc+v5hQ5VF29W5uaL00PQ1LdVw5F8=
github.com/FortAwesome/Font-Awesome v0.0.0-20240108205627-a1232e345536 h1:LFS9LpoSZYhxQ6clU0NIVbaGR08BlxAs4b+9W+7IGVQ=
github.com/FortAwesome/Font-Awesome v0.0.0-20240108205627-a1232e345536/go.mod h1:IUgezN/MFpCDIlFezw3L8j83oeiIuYoj28Miwr/KUYo=
github.com/divinerites/plausible-hugo v1.19.3 h1:0GAvuC0psWAkbAWTMDkz5nTY3LeJWhu2WmvOeOdEXw0=
github.com/divinerites/plausible-hugo v1.19.3/go.mod h1:cxr+YB3FUwbLon8KCs4pV4Ankbkq6lJxTQUpNb5KqPo=
github.com/google/docsy v0.9.1 h1:+jqges1YCd+yHeuZ1BUvD8V8mEGVtPxULg5j/vaJ984=
github.com/google/docsy v0.9.1/go.mod h1:saOqKEUOn07Bc0orM/JdIF3VkOanHta9LU5Y53bwN2U=
github.com/twbs/bootstrap v5.2.3+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0=
github.com/twbs/bootstrap v5.3.2+incompatible h1:tuiO5acc6xnZUR77Sbi5aKWXxjYxbmsSbJwYrhAKoQQ=
github.com/twbs/bootstrap v5.3.2+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0=
github.com/twbs/bootstrap v5.3.3+incompatible h1:goFoqinzdHfkeegpFP7pvhbd0g+A3O2hbU3XCjuNrEQ=
github.com/twbs/bootstrap v5.3.3+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0=

0 comments on commit 361d73a

Please sign in to comment.