16 Commits

Author SHA1 Message Date
2717590054 update drone-ci
Some checks failed
continuous-integration/drone/pr Build is failing
2026-05-15 16:28:18 -04:00
d7637a6e6e basic healthcheck
Some checks failed
continuous-integration/drone/pr Build is failing
2026-05-15 16:23:06 -04:00
16633d97e1 Merge pull request 'rpc_secret from file' (#13) from rpc_secret into main
Reviewed-on: #13
2026-05-08 19:06:04 +00:00
10be86624f bump config version 2026-05-08 15:00:42 -04:00
49b4a117c2 set rpc secret file and quote wrap 2026-05-08 15:00:33 -04:00
3101458354 set secret permissions to be non-world readable 2026-05-08 15:00:16 -04:00
b0ff30e72b chore: publish 0.0.2+v2.3.0 release 2026-05-01 09:42:56 -04:00
cf9676fd5f Merge pull request 'fix: proper length for rpc secret' (#7) from fixes into main
Reviewed-on: #7
Reviewed-by: marlon, brooke
2026-04-24 21:02:26 +00:00
f
1ebc2c2eca feat: set container hostname to domain
this allows finding the hostname on `garage status`
2026-04-21 20:47:45 -03:00
f
aded3647a9 fix: upgrade to 2.3.0 2026-04-17 11:23:30 -03:00
f
24c457a5d4 fix: proper length for rpc secret 2026-04-17 03:22:36 -03:00
22e218107e Merge pull request 'feat: support sqlite and other database engines' (#6) from sqlite into main
Reviewed-on: #6
2026-04-05 23:02:32 +00:00
05c953cd07 use lmdb by default if DATABASE_ENGINE not defined 2026-04-04 16:22:16 -04:00
f
eb0079acf5 feat: support sqlite and other database engines
docs adverts lmdb can become corrupted on power outages

https://garagehq.deuxfleurs.fr/documentation/reference-manual/configuration/#db_engine
2026-04-03 12:02:16 -03:00
74a86e284e Merge pull request 'chore: Configure Renovate' (#2) from renovate/configure into main
Reviewed-on: #2
2026-03-24 22:49:26 +00:00
45ad9cd308 Add renovate.json 2026-03-10 17:41:28 +00:00
6 changed files with 51 additions and 34 deletions

View File

@ -2,37 +2,39 @@
kind: pipeline
name: deploy to swarm-test.autonomic.zone
steps:
- name: deployment
image: git.coopcloud.tech/coop-cloud/stack-ssh-deploy:latest
settings:
host: swarm-test.autonomic.zone
stack: example_com # UPDATE ME
generate_secrets: true
purge: true
deploy_key:
from_secret: drone_ssh_swarm_test
networks:
- proxy
environment:
DOMAIN: example.swarm-test.autonomic.zone # UPDATE ME
STACK_NAME: example_com # UPDATE ME
LETS_ENCRYPT_ENV: production
- name: deployment
image: git.coopcloud.tech/coop-cloud/stack-ssh-deploy:latest
settings:
host: swarm-test.autonomic.zone
stack: garage
generate_secrets: true
purge: true
deploy_key:
from_secret: drone_ssh_swarm_test
networks:
- proxy
compose: "compose.yml"
environment:
DOMAIN: garage.swarm-test.autonomic.zone
STACK_NAME: garage
LETS_ENCRYPT_ENV: production
SECRET_RPC_SECRET_VERSION: v1
trigger:
branch:
- main
- main
---
kind: pipeline
name: generate recipe catalogue
steps:
- name: release a new version
image: plugins/downstream
settings:
server: https://build.coopcloud.tech
token:
from_secret: drone_abra-bot_token
fork: true
repositories:
- coop-cloud/auto-recipes-catalogue-json
- name: release a new version
image: plugins/downstream
settings:
server: https://build.coopcloud.tech
token:
from_secret: drone_abra-bot_token
fork: true
repositories:
- toolshed/auto-recipes-catalogue-json
trigger:
event: tag

View File

@ -5,12 +5,13 @@ DOMAIN=garage.example.com
LETS_ENCRYPT_ENV=production
COMPOSE_FILE="compose.yml"
SECRET_RPC_SECRET_VERSION=v1 # length=32 charset=hex
SECRET_RPC_SECRET_VERSION=v1 # length=64 charset=hex
# Changing the replication factor after initial deployment is not
# supported and requires deleting the existing cluster layout metadata.
REPLICATION_FACTOR=2
DATABASE_ENGINE=lmdb
CONSISTENCY_MODE=consistent
METADATA_FSYNC=false
DATA_FSYNC=false
@ -27,4 +28,4 @@ BLOCK_SIZE=1MiB # only increase if there is a fast network connection between no
#LOCAL_FOLDER_DATA=/path/on/docker/host
## Enable Full Data Backups (not just metadata)
# COMPOSE_FILE="$COMPOSE_FILE:compose.fullbackup.yml"
# COMPOSE_FILE="$COMPOSE_FILE:compose.fullbackup.yml"

View File

@ -1 +1 @@
export GARAGE_CONF_VERSION=v4
export GARAGE_CONF_VERSION=v7

View File

@ -3,12 +3,14 @@ version: "3.8"
services:
app:
image: dxflrs/garage:v2.1.0
image: dxflrs/garage:v2.3.0
hostname: "${DOMAIN}"
configs:
- source: garage_conf
target: /etc/garage.toml
secrets:
- rpc_secret
- source: rpc_secret
mode: 0600
networks:
- proxy
- internal
@ -24,13 +26,19 @@ services:
- "traefik.tcp.routers.${STACK_NAME}-rpc.rule=HostSNI(`*`)"
- "traefik.tcp.routers.${STACK_NAME}-rpc.entrypoints=garage-rpc"
- "traefik.tcp.services.${STACK_NAME}-rpc.loadbalancer.server.port=3901"
- "coop-cloud.${STACK_NAME}.version=0.0.1+2.1.0"
- "coop-cloud.${STACK_NAME}.version=0.0.2+v2.3.0"
- "backupbot.backup=true"
- "backupbot.backup.pre-hook=/garage meta snapshot --all"
- "backupbot.backup.path=/var/lib/garage/meta/snapshots/,/var/lib/garage/meta/cluster_layout,/var/lib/garage/meta/data_layout,/var/lib/garage/meta/node_key,/var/lib/garage/meta/node_key.pub"
volumes:
- "${LOCAL_FOLDER_META:-meta}:/var/lib/garage/meta"
- "${LOCAL_FOLDER_DATA:-data}:/var/lib/garage/data"
healthcheck:
test: ["CMD", "/garage", "status"]
interval: 30s
timeout: 10s
retries: 10
start_period: 10s
networks:
proxy:

View File

@ -1,6 +1,6 @@
metadata_dir = "/var/lib/garage/meta"
data_dir = "/var/lib/garage/data"
db_engine = "lmdb"
db_engine = "{{ if env "DATABASE_ENGINE" }}{{ env "DATABASE_ENGINE" }}{{ else }}lmdb{{ end }}"
metadata_auto_snapshot_interval = "6h"
replication_factor = {{ env "REPLICATION_FACTOR" }}
@ -15,7 +15,7 @@ compression_level = 2
rpc_bind_addr = "[::]:3901"
rpc_public_addr = "{{ env "DOMAIN" }}:3901"
rpc_addr = "[::]:3901"
rpc_secret = "{{ secret "rpc_secret" }}"
rpc_secret_file = "/run/secrets/rpc_secret"
{{ if ne (env "BOOTSTRAP_ID") "" }}
bootstrap_peers = [
@ -26,4 +26,4 @@ bootstrap_peers = [
[s3_api]
s3_region = "garage"
api_bind_addr = "[::]:3900"
root_domain = ".s3.garage"
root_domain = ".s3.garage"

6
renovate.json Normal file
View File

@ -0,0 +1,6 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:recommended"
]
}