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

34 Commits

Author SHA1 Message Date
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
bd8df63dce
fixed token and user, get repositories from workspaces too (Bitbucket) (#257)
* fixed token and user, get repositories from workspaces too

* tidied go.mod and go.sum

* don't look up workspaces if token is empty

* add token_file to bitbucket

* adjusted conf.example.yml
2024-08-26 11:10:10 +02:00
Andreas Wachter
0e76cf9481
enable push to gitlab (#233) 2024-04-16 13:34:05 +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
bf58b23155
configure a user to clone to. for structured cloning (#219) 2024-04-03 08:24:23 +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
03bfdc197d update example and readme 2023-08-17 08:32:45 +02:00
Andreas Wachter
f8ad43bb29
Multiple branches (#165)
* added github mirror functionality

* create temporary directory to clone into

* added onedev as destination

* added sourcehut

* add new examples

* added push of all branches, autocreation of repos on sourcehut

* push everything

* sourcehut visibility fix
2023-08-16 14:04:59 +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
fae97c289b
Push (#148)
* added gotify and ntfy to notify

* added new example config
2023-05-02 16:43:55 +02: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
99ad5cc1b6 added option to mirror to specific org or user in gitea and gogs 2022-10-11 08:45:05 +02:00
Andreas Wachter
041a5a88b7
handle multiple configs (#114)
* handle multiple configs

* upgrade golangci_lint_version

* SnakeCase and replaces ioutil with os
2022-10-03 19:20:19 +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
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 2022-01-29 15:44:42 +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
Andreas Wachter
9f8d5a9e14 set listen_addr to correct value in example config 2021-12-29 08:42:42 +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
Justin Searls
da5641b099
Missed this file name
See #59, #58
2021-12-21 13:44:12 -05:00