Skip to content

Commit 7f735d2

Browse files
authoredAug 13, 2024··
feat: reads certs locally if available (#3196)
1 parent 9467e3d commit 7f735d2

File tree

3 files changed

+33
-2
lines changed

3 files changed

+33
-2
lines changed
 

‎examples/docker.agents-with-certs.yml

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
services:
2+
agent:
3+
image: amir20/dozzle:pr-3196
4+
command: agent
5+
volumes:
6+
- /var/run/docker.sock:/var/run/docker.sock
7+
secrets:
8+
- source: cert
9+
target: /dozzle_cert.pem
10+
- source: key
11+
target: /dozzle_key.pem
12+
ports:
13+
- 7070:7070
14+
secrets:
15+
cert:
16+
file: ./cert.pem
17+
key:
18+
file: ./key.pem

‎examples/docker.swarm.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
services:
2-
my-dozzle-service:
3-
image: amir20/dozzle:local-test
2+
dozzle-service:
3+
image: amir20/dozzle:latest
44
environment:
55
- DOZZLE_LEVEL=debug
66
- DOZZLE_MODE=swarm

‎internal/support/cli/certs.go

+13
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,22 @@ package cli
33
import (
44
"crypto/tls"
55
"embed"
6+
"os"
7+
8+
log "github.com/sirupsen/logrus"
69
)
710

811
func ReadCertificates(certs embed.FS) (tls.Certificate, error) {
12+
if pair, err := tls.LoadX509KeyPair("dozzle_cert.pem", "dozzle_key.pem"); err == nil {
13+
log.Infof("Found dozzle certificate and key at ./dozzle_cert.pem and ./dozzle_key.pem")
14+
return pair, nil
15+
} else {
16+
if !os.IsNotExist(err) {
17+
log.Errorf("Failed to load dozzle certificate and key: %v", err)
18+
log.Warnf("Falling back to shared certificate and key")
19+
}
20+
}
21+
922
cert, err := certs.ReadFile("shared_cert.pem")
1023
if err != nil {
1124
return tls.Certificate{}, err

0 commit comments

Comments
 (0)
Please sign in to comment.