114 Commits
Author SHA1 Message Date
Andreas Wachter 1d4693003a added wiki support to all cvs (except bitbucket) (#76)
* added wiki support to all cvs (except bitbucket)

* added wiki parameter to the example config
v0.9.9
2021-12-29 18:27:19 +01:00
Andreas Wachter 9f8d5a9e14 set listen_addr to correct value in example config 2021-12-29 08:42:42 +01:00
Colin DeanandAndreas Wachter ebce0def10 Allows reading a token from a file (#73)
Fixes #69

Co-authored-by: Andreas Wachter <buddyspencer@protonmail.com>
2021-12-29 07:49:02 +01:00
Colin Dean d98ccdb454 Adds Prometheus metrics when in scheduled mode (#62)
* WIP: Adds InfluxDB2 metrics

* Adds basic Prometheus metrics

It's much easier to implement so I'm switching to focusing on it for
now.

* Add some more counters and gauges

Use some labeled counters for backup destinations

* Extract methods for local repo clone and update

It was a little difficult to understand what was going where, esp. with
Go's verbose logging, so I extracted methods where appropriate. This
should also ease some testing concerns down the road.

* Fixes missing y in yaml

* Refactor next run logging

* Add run start and end log messaging

* Adds prom histogram for job duration

* Adds a prom gauge for number of repos discovered

* Switch prom job duration to a summary

I'm really not sure if it should be a summary or a histogram, but
reading about both, it seems like it would be more valuable with
quantiles and not buckets, so summary it is.

* Drop InfluxDB integration for now

We can revert this if we decide to implement InfluxDB after all.
@cooperspencer prefers Prometheus and frankly it's a lot easier to set
up so I'll use it, too, since I already have it running in my
environment anyways!
2021-12-29 07:31:19 +01:00
Colin Dean b471943f19 Set log level based on --quiet and --silent (#72)
* Adjusts --quiet to output only warn+ log messages

Fixes #51

* Adds a --silent option to suppress all log output
2021-12-29 07:29:30 +01:00
Andreas Wachter 529f172dd3 set token at init of client 2021-12-27 09:15:36 +01:00
Andreas Wachter 19306748ac implemented quiet into main 2021-12-25 16:37:33 +01:00
Andreas Wachter 3f235a8d14 Bitbucket nil (#68)
* set user to repo user

* fix second user
2021-12-23 18:54:22 +01:00
Andreas Wachter ba45da76b9 push docker only on tag 2021-12-22 17:11:04 +01:00
Andreas Wachter c4dac3e3a9 Merge pull request #64 from MichaelCade/main
update conf example yaml link
2021-12-22 12:06:57 +01:00
michaelcade 093809ba50 update conf example yaml 2021-12-22 10:58:46 +00:00
Andreas Wachter c49d20f428 Merge pull request #63 from colindean/refactor-local
Extract methods for local repo clone and update
2021-12-22 09:14:14 +01:00
Colin Dean 32b1541297 Extract methods for local repo clone and update
It was a little difficult to understand what was going where, esp. with
Go's verbose logging, so I extracted methods where appropriate. This
should also ease some testing concerns down the road.
2021-12-22 00:00:06 -05:00
Andreas Wachter c874ab870b Merge pull request #60 from searls/patch-1
Missed this file name
2021-12-21 19:46:10 +01:00
Justin Searls da5641b099 Missed this file name
See #59, #58
2021-12-21 13:44:12 -05:00
Andreas Wachter 4dd4fb6298 Merge pull request #59 from searls/main
Update documentation and examples from "config.yml" to "conf.yml"
2021-12-21 18:15:54 +01:00
Justin Searls 4e3e452738 Update documentation and examples from "config.yml" to "conf.yml"
Fixes #58
2021-12-21 12:07:38 -05:00
Andreas Wachter 64c0ce8285 gitlab: switched r.Name to r.Path to have unique names 2021-12-20 13:58:53 +01:00
Andreas Wachter eab73d1b5b Merge pull request #57 from Enrico204/gitlab-wiki-repos
Add support for GitLab wiki repos
2021-12-20 13:48:26 +01:00
Andreas Wachter 8305476e7e Merge pull request #55 from Enrico204/Enrico204-fix-typo-in-config-example
Fix typo in config.example.yml
2021-12-20 13:33:27 +01:00
Enrico204 c1669ad8b5 Add support for GitLab wiki repos 2021-12-20 13:01:15 +01:00
Enrico f97d318c27 Fix typo in config.example.yml 2021-12-19 23:42:38 +01:00
Andreas Wachter 9606d0707f gitlab: clones path for subgroups too 2021-12-19 12:13:01 +01:00
Andreas Wachter 314f99d8f3 Merge remote-tracking branch 'origin/main' v0.9.8-2 2021-12-17 08:28:45 +01:00
Andreas Wachter 16e986fb40 gitlab group repos do not return an owner 2021-12-17 08:27:16 +01:00
Andreas Wachter 7622de9294 Merge pull request #46 from colindean/adds-tzdata
Adds tzdata to enable setting time zone in cron specifier
2021-12-17 07:03:52 +01:00
Colin Dean c05e8c9329 Extracts tilde-in-home check and tests it (#45)
* Extract user home directory detection to a function

* Extracts tilde-in-path substitution and tests it
v0.9.8-1
2021-12-17 06:37:43 +01:00
Colin Dean 90f6ca960c Adds tzdata to enable setting time zone in cron specifier
This enables setting the timezone in the cron specifier, e.g.

```yaml
cron: TZ=America/New_York 0 2 * * *
```

Without this package's data, you'll get an error:

```
2021-12-17 04:08:35 ERR provided bad location America/New_York: unknown
time zone America/New_York spec="TZ=America/New_York 0 2 * * *"
```
2021-12-16 23:15:45 -05:00
Andreas Wachter 93b7c8fad6 added structured checkout mode (#44)
* added structured checkout mode

* path understand now ~
v0.9.8
2021-12-16 17:22:44 +01:00
Andreas Wachter 1413ac9fee gitlab: if token belongs to user, set user to an empty string. It will then clone everything from the token owner 2021-12-16 08:58:52 +01:00
Andreas Wachter 6460b422b2 Merge pull request #42 from cooperspencer/additional_documentation
additional documentation
2021-12-15 12:15:56 +01:00
Andreas Wachter a2f2f91045 added gitlab to the config, removed bla from config 2021-12-15 07:09:05 +01:00
Andreas Wachter aabbf126b5 additional documentation 2021-12-15 06:56:35 +01:00
Andreas Wachter 5befa164c5 improved gitlab, gitea and gogs organization/group clones v0.9.7 2021-12-14 08:45:13 +01:00
Andreas Wachter 838b233a43 Merge pull request #38 from colindean/patch-1
Adds archive format override for Windows to use ZIP
v0.9.6
2021-12-13 12:04:22 +01:00
Andreas Wachter 8cc0dcc044 Merge pull request #39 from cooperspencer/includelist
add an include parameter
2021-12-13 12:01:24 +01:00
Andreas Wachter a4580cd4ea set version to unknown 2021-12-13 12:01:46 +01:00
Andreas Wachter 6ffcda16aa add an include parameter 2021-12-13 11:53:20 +01:00
Andreas Wachter b3246acd1e forgot to push bitbucket 2021-12-13 08:52:03 +01:00
Andreas Wachter 5a434573a8 switched from panic to fatal 2021-12-13 08:39:38 +01:00
Andreas Wachter c8fe923239 Merge pull request #34 from cooperspencer/cron
implemented a cron mod
2021-12-13 08:18:47 +01:00
Andreas Wachter dfe400ecbb Added logger functionality 2021-12-13 08:15:48 +01:00
Andreas Wachter b26aeb554a Merge pull request #36 from colindean/cron-parsevalid
Implements config validation into Conf functions
2021-12-13 07:20:40 +01:00
Colin Dean 2bfacc4252 Adds archive format override for Windows to use ZIP
This is based on the [Hugo goreleaser][1] configuration.

[1]: https://github.com/gohugoio/hugo/blob/master/goreleaser.yml
2021-12-13 00:01:26 -05:00
Colin Dean d3fd622842 Adds gickup.exe to gitignore 2021-12-12 23:03:09 -05:00
Colin Dean 2c8c6bcdd6 Adds some basic tests for cron spec validation 2021-12-12 23:02:31 -05:00
Colin Dean 87523e7213 Implements config validation into Conf functions
I strangely experienced a crash while saving this initial that corrupted
my local git index and lost the series of commits that brought me to
this state. This feels cleaner than having the functions floating in
main.go but this is the first substantial Go code I've written in
~5 years and I have no idea what I'm doing!
2021-12-12 22:44:40 -05:00
Andreas Wachter e8e33da6a6 implemented a cron mod 2021-12-12 22:12:47 +01:00
Andreas Wachter 316364b7e7 refactor 2021-12-12 21:49:20 +01:00
Andreas Wachter cb8d3f940f Merge pull request #32 from cooperspencer/modules
switched cvs functions to modules
2021-12-12 19:34:38 +01:00