129 Commits
Author SHA1 Message Date
Andreas Wachter bee477bf65 addresses #92. ls-remote before pulling or cloning (#93) v0.10.1 2022-02-24 13:00:17 +01:00
Drew Moseley d96310d74a Add excludeorgs for gitlab. (#91)
* Add excludeorgs for gitlab.

Gitlab does not explicitly have orgs but they do have Namespaces which
are roughly equivalent.

Signed-off-by: Drew Moseley <drew@moseleynet.net>

* Add includeorgs for gitlab.

Signed-off-by: Drew Moseley <drew@moseleynet.net>
2022-02-24 07:47:06 +01:00
Andreas Wachter 70ddbc829c updated dependencies v0.10.0 2022-02-22 08:15:54 +01:00
Andreas Wachter 3dabd67810 gitea got the repositories twice 2022-02-22 07:47:32 +01:00
Matthew Toohey b0cd28c761 feat: backup starred repos (#89)
* feat: github starred support

* feat: gitea starred support

* fix: increment gitlab request pages properly

* feat: gitlab starred support
2022-02-22 07:42:05 +01:00
Adam Hintz 025b354278 Documentation: add information about cron / timezone and saving to Docker volume locally (#88) 2022-02-07 08:18:36 +01:00
Andreas Wachter dae3869f7d added includeorgs to the example config v0.9.9-2 2022-01-29 15:44:42 +01:00
Andreas Wachter 85ebb1bad0 Merge remote-tracking branch 'origin/main' 2022-01-27 18:37:18 +01:00
Andreas Wachter df6767fc53 implemented includeorgs parameter 2022-01-27 18:36:41 +01:00
Phil af10e4690d CMD to ENTRYPOINT in docker (#85)
Fix for the Dockerfile using CMD. ENTRYPOINT is nicer.

Signed-off-by: Phil <phil@ucode.space>
2022-01-13 10:34:14 +01:00
Andreas Wachter d52d7cc8be fixed the prometheus dependency for cron v0.9.9-1 2022-01-03 07:07:10 +01:00
Jonathan Buchholz 79136ae86b Fix typo and grammatical errors in README.md (#80)
* Fix typo

* Fix grammatical errors
2022-01-01 21:28:02 +01:00
Andreas Wachter eb3704b272 adds wiki logic to github and gitlab 2021-12-31 09:25:47 +01:00
Andreas Wachter 8ec9f04715 add repo to warn-message for local clone #79 2021-12-30 19:24:46 +01:00
Andreas Wachter 9e175cf41b duration as string 2021-12-30 16:00:19 +01:00
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