-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdosync.example.yaml
More file actions
117 lines (100 loc) · 2.9 KB
/
dosync.example.yaml
File metadata and controls
117 lines (100 loc) · 2.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# DOSync Configuration Example
# This file shows the correct structure for configuring DOSync
# Check interval - how often to check for new images
# Supports: checkInterval, interval, or CHECK_INTERVAL
checkInterval: "2m"
# Enable verbose logging
# Supports: verbose or VERBOSE
verbose: true
# Registry configurations
registry:
# GitHub Container Registry (GHCR)
ghcr:
token: "${GITHUB_PAT}" # Required: GitHub Personal Access Token
username: "myusername" # Optional: GitHub username (defaults to token owner)
imagePolicy: # Optional: Advanced tag selection
policy:
alphabetical:
order: desc # Use latest alphabetically
# Docker Hub (optional)
dockerhub:
username: "${DOCKERHUB_USER}"
password: "${DOCKERHUB_PASS}"
imagePolicy:
policy:
semver:
range: ">=1.0.0" # Only consider stable releases
# Google Container Registry (optional)
gcr:
credentials_file: "/path/to/gcp-service-account.json"
imagePolicy:
policy:
semver:
range: ">=2.0.0 <3.0.0"
# Azure Container Registry (optional)
acr:
tenant_id: "${AZURE_TENANT_ID}"
client_id: "${AZURE_CLIENT_ID}"
client_secret: "${AZURE_CLIENT_SECRET}"
registry: "myregistry.azurecr.io"
# DigitalOcean Container Registry (optional)
docr:
token: "${DO_TOKEN}"
imagePolicy:
filterTags:
pattern: "^main-([a-f0-9]+)-([0-9]+)$" # Match: main-abc123-1234567890
extract: "$2" # Extract timestamp for sorting
policy:
numerical:
order: desc # Latest timestamp first
# AWS ECR (optional)
ecr:
aws_access_key_id: "${AWS_ACCESS_KEY_ID}"
aws_secret_access_key: "${AWS_SECRET_ACCESS_KEY}"
region: "us-east-1"
registry: "123456789012.dkr.ecr.us-east-1.amazonaws.com"
# Harbor (optional)
harbor:
url: "https://harbor.example.com"
username: "${HARBOR_USER}"
password: "${HARBOR_PASS}"
# Quay.io (optional)
quay:
token: "${QUAY_TOKEN}"
# Custom registry (optional)
custom:
url: "https://registry.example.com"
username: "${CUSTOM_USER}"
password: "${CUSTOM_PASS}"
# Dashboard configuration (optional)
dashboard:
enabled: true
port: "8080"
user: "${DASHBOARD_USER}"
pass: "${DASHBOARD_PASS}"
ip_whitelist: "127.0.0.1,10.0.0.0/8"
# Rollback configuration (optional)
rollback:
enabled: true
max_history: 5
backup_location: "./backups"
# Rolling update configuration
rollingUpdate: true
healthCheck: http
healthEndpoint: /api/health
delay: 30s
rollbackOnFailure: true
# Service-specific overrides (optional)
services:
web:
healthCheck: http
healthEndpoint: /health
delay: 15s
maxUnavailable: 1
api:
healthCheck: http
healthEndpoint: /api/health
delay: 45s
maxUnavailable: 0 # Zero-downtime deployments
database:
skip: true # Don't update database images