1
1
mirror of https://github.com/cooperspencer/gickup synced 2024-09-16 21:31:40 +02:00
Commit Graph

42 Commits

Author SHA1 Message Date
Andreas Wachter
45056fce58
don't use user for token on gogs (#268) 2024-09-02 16:11:52 +02:00
Andreas Wachter
3cd914a4e1
Add s3 (#259)
* added s3 add destination

* read environment variables for s3 buckets

* adapted example config

* added debug message

* added s3 add destination

* read environment variables for s3 buckets

* adapted example config

* added debug message
2024-08-26 13:46:16 +02:00
Andreas Wachter
6a293dd625
implemented mirror using gickup and not giteas mirror function (#225)
* implemented mirror using gickup and not giteas mirror function

* added "mirror" to gogs

* push to gogs

* mirror is now a struct

* move deprecation notice, no need to spam
2024-04-15 07:10:49 +02:00
Andreas Wachter
52a834b42b
backup issues from github (#185)
* backup issues from github

* gitlab issues

* added gitea

* added gogs

* added onedev

* updated examples

* added more documentation
2023-12-01 07:58:53 +01:00
Andreas Wachter
f03be6607f
Gitea lfs (#177)
* variable mirror interval

* added LFS switch for gitea
2023-10-04 08:09:42 +02:00
Andreas Wachter
604d18d4ab
added interval (#174) 2023-10-03 08:25:40 +02:00
Andreas Wachter
082821bfb9
added force push (#172) 2023-09-29 17:10:06 +02:00
Andreas Wachter
77024fb0a5
implemented backup to organization (#169)
* implemented backup to organization

* go mod tidy

* update lint
2023-09-29 12:26:03 +02:00
Andreas Wachter
f468f48ba1
mirror functions (#164)
* added github mirror functionality

* create temporary directory to clone into

* added onedev as destination

* added sourcehut

* add new examples
2023-08-15 18:13:21 +02:00
Andreas Wachter
beae85c182
implemented git lfs (#160)
* implemented git lfs

* removed arm/v6 from docker builds

* add lfs to example
2023-07-18 10:56:43 +02:00
Andreas Wachter
64a67254e6
implemented exclude forks (#155) 2023-06-04 08:30:02 +02:00
Andreas Wachter
b2da20028e
added gotify and ntfy to notify (#147) 2023-05-02 16:40:56 +02:00
Seow Alex
d622367738
Backup description and visibility (#146) 2023-04-23 21:11:12 +02:00
Andreas Wachter
8a86bc4904
backup contributed repos from github (#141) 2023-02-28 19:11:36 +01:00
Andreas Wachter
9a947e7cb4 fix tokens 2023-02-20 16:58:22 +01:00
Andreas Wachter
1eb19f16a0
token can be environment variable (#138) 2023-02-20 16:43:03 +01:00
Andreas Wachter
3d125133ef
implement filters for github (#137)
* implement filters for github

* add filter to exclude archived repositories

* add filter for gitea/forgejo

* gogs filter option

* fix error log

* include gitlab filters

* fix logging

* parse duration

* filters for onedev and sourcehut

* adapted conf.example.yml
2023-02-20 16:05:01 +01:00
Andreas Wachter
12d496dba7
added option to clone the repository as bare (#131) 2023-01-11 11:00:48 +01:00
Andreas Wachter
6ddf340744
added possibility to add date to path (#130)
* added possibility to add date to path

* adds zip functionality

* added keep parameter

* cleanup

* keep parameter creates files with the timestamp in repo name directory

* fixed clone with keep without structured=true

* remove search
2023-01-08 20:22:07 +01:00
Andreas Wachter
2ec9d55f82
added visibility, new create org options and wiki support (#128)
* added visibility, new create org options and wiki support

* added gogs

* log error instead of fatal
2022-12-09 15:45:13 +01:00
Andreas Wachter
fa2dfd4434
Sourcehut (#123)
* added createorg to gogs

* added sourcehut capabilities

* fix variable names

* added sourcehut to readme
2022-11-16 08:09:33 +01:00
Andreas Wachter
8a84f57965 create orgs for gitea with 'createorg: true' 2022-10-30 22:42:23 +01:00
Andreas Wachter
5dbb12fb8a added onedev to source count 2022-10-18 09:53:00 +02:00
Andreas Wachter
6461754630
added onedev functionality (#111)
* added onedev functionality

* go mod tidy
2022-08-11 21:31:03 +02:00
Andreas Wachter
3ae5a3a463
backup any repo (#110)
* added any module

* update dependencies

* clone local repos too

* fixed the separator and adjusted example config and README.md

* go mod tidy

* ran gofumpt and goimports

* cleaned up a bit and implemented timeformat as environment variable
2022-07-18 13:59:20 +02:00
Jordan Crawford
510e234e52
feat: Support multiple heartbeat URLs (#109)
* feat: add heartbeat metrics

* feat: Support multiple heartbeat URLs

#100 introduced heartbeat support but only supported one URL. This PR was closed, however I've re-introduced this feature and added support for multiple heartbeat URLs as discussed in the #100 discussion.

This also resolves #108 which is a feature request for the heartbeat feature.

* fix: When sending the heartbeat fails, log an error but don't crash the program

This prevents problems with external services from causing the program to quit.

Co-authored-by: Matthew Toohey <contact@mtoohey.com>
Co-authored-by: Jordan Crawford <>
2022-05-17 13:12:07 +02:00
Tom Moulard
646b792ac1
chore: add linting (#101)
* chore: adding makefile

* chore: adding lint

* chore: update package name

* lint: run with fix

* chore: update main.go

* chore: update main_test.go

* chore: update types.go

* chore: update logger.go

* chore: update types_test.go

* chore: update prometheus.go

* chore: update local.go

* chore: update gitlab.go

* chore: update gogs.go

* chore: update bitbucket.go

* chore: update gitea.go

* chore: update github.go

* chore: update main*.go

* chore: go mod tidy

* chore: update action to have a correct working-directory
2022-03-20 11:25:11 +01:00
Matthew Toohey
545c9e3f73
fix: stat github wiki remotes to verify their existence (#98)
* fix: stat github wiki remotes to verify their existence

* fix: also check gitea wiki remotes
2022-03-02 22:21:23 +01:00
Andreas Wachter
9e4e9e1d6a #94 remove new lines in token files. 2022-02-24 21:22:10 +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
Andreas Wachter
df6767fc53 implemented includeorgs parameter 2022-01-27 18:36:41 +01:00
Andreas Wachter
d52d7cc8be fixed the prometheus dependency for cron 2022-01-03 07:07:10 +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
2021-12-29 18:27:19 +01:00
Colin Dean
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
Andreas Wachter
93b7c8fad6
added structured checkout mode (#44)
* added structured checkout mode

* path understand now ~
2021-12-16 17:22:44 +01:00
Andreas Wachter
6ffcda16aa add an include parameter 2021-12-13 11:53:20 +01:00
Andreas Wachter
dfe400ecbb Added logger functionality 2021-12-13 08:15:48 +01: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
5015f4fb73 switched cvs functions to modules 2021-12-12 19:23:55 +01:00