Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vrongmeal/caddygit
Git module for Caddy v2
https://github.com/vrongmeal/caddygit
caddy caddy-git caddy-module caddy-plugin
Last synced: 9 days ago
JSON representation
Git module for Caddy v2
- Host: GitHub
- URL: https://github.com/vrongmeal/caddygit
- Owner: vrongmeal
- Archived: true
- Created: 2020-04-15T14:39:45.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-01-08T07:21:42.000Z (10 months ago)
- Last Synced: 2024-08-01T19:42:12.449Z (3 months ago)
- Topics: caddy, caddy-git, caddy-module, caddy-plugin
- Language: Go
- Homepage:
- Size: 103 KB
- Stars: 73
- Watchers: 12
- Forks: 6
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-starred - vrongmeal/caddygit - Git module for Caddy v2 (others)
README
# caddygit
_**NOTE: This repository is no longer maintained. Kindly use [greenpau/caddy-git](https://github.com/greenpau/caddy-git)**_
> Git module for Caddy v2
The module is helpful in creating git clients that pull from the given
repository at regular intervals of time (poll service) or whenever there
is a change in the repository (webhook service). On a successful pull
it runs the specified commands to automate deployment.## Installation
Simply add the following import to
[`cmd/caddy/main.go`](https://github.com/caddyserver/caddy/blob/master/cmd/caddy/main.go)
and build the caddy binary:```go
package mainimport (
caddycmd "github.com/caddyserver/caddy/v2/cmd"// plug in Caddy modules here
_ "github.com/caddyserver/caddy/v2/modules/standard"
_ "github.com/vrongmeal/caddygit/module/git" // Yay!!!
)func main() {
caddycmd.Main()
}
```**OR** you can use [xcaddy](https://github.com/caddyserver/xcaddy) to build:
```bash
$ xcaddy build v2.1.1 \
--with github.com/vrongmeal/caddygit/module/git
```## API structure
```jsonc
{
// Your caddy apps.
"apps": {
// Git app module.
"git": {
// Your git clients to be deployed.
"clients": [
// Example client.
{
// Git repository info.
"repo": {
// HTTP URL of the git repository.
"url": "http://github.com/vrongmeal/caddygit",// Path to clone the repository in. If path specified
// exists and is a git repository, it simply opens the
// repo. If the path is not a repo and does not exist,
// it creates a repo in that path.
"path": "/path/to/clone",// Branch (or tag) of the repository to clone. Defaults
// to `master`.
"branch": "my-branch",// Username and secret for authentication of private
// repositories. If authenticating via access token,
// set the auth_secret equal to the value of access token
// and auth_user can be omitted.
"auth_user": "vrongmeal",
"auth_secret": "password",// Specifies whether to clone only the specified branch.
"single_branch": true,// Depth of commits to fetch.
"depth": 1
},
// Service info.
"service": {
// Type of the service.
// Services supported: poll, webhook
"type": "poll",// Interval after which service will tick.
"interval": "10m"
},
// Commands to run after every update.
"commands_after": [
{
// Command to execute.
"command": ["echo", "hello world"],// Whether to run command in background (async).
// Defaults to false.
"async": true
}
]
}
]
}
}
}
```## TODO:
- [ ] Support for Caddyfile
- [x] Webhook service