mirror of
https://github.com/amir20/dozzle.git
synced 2025-12-21 21:33:18 +01:00
feat: reads certs locally if available (#3196)
This commit is contained in:
18
examples/docker.agents-with-certs.yml
Normal file
18
examples/docker.agents-with-certs.yml
Normal file
@@ -0,0 +1,18 @@
|
||||
services:
|
||||
agent:
|
||||
image: amir20/dozzle:pr-3196
|
||||
command: agent
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
secrets:
|
||||
- source: cert
|
||||
target: /dozzle_cert.pem
|
||||
- source: key
|
||||
target: /dozzle_key.pem
|
||||
ports:
|
||||
- 7070:7070
|
||||
secrets:
|
||||
cert:
|
||||
file: ./cert.pem
|
||||
key:
|
||||
file: ./key.pem
|
||||
@@ -1,6 +1,6 @@
|
||||
services:
|
||||
my-dozzle-service:
|
||||
image: amir20/dozzle:local-test
|
||||
dozzle-service:
|
||||
image: amir20/dozzle:latest
|
||||
environment:
|
||||
- DOZZLE_LEVEL=debug
|
||||
- DOZZLE_MODE=swarm
|
||||
|
||||
@@ -3,9 +3,22 @@ package cli
|
||||
import (
|
||||
"crypto/tls"
|
||||
"embed"
|
||||
"os"
|
||||
|
||||
log "github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
func ReadCertificates(certs embed.FS) (tls.Certificate, error) {
|
||||
if pair, err := tls.LoadX509KeyPair("dozzle_cert.pem", "dozzle_key.pem"); err == nil {
|
||||
log.Infof("Found dozzle certificate and key at ./dozzle_cert.pem and ./dozzle_key.pem")
|
||||
return pair, nil
|
||||
} else {
|
||||
if !os.IsNotExist(err) {
|
||||
log.Errorf("Failed to load dozzle certificate and key: %v", err)
|
||||
log.Warnf("Falling back to shared certificate and key")
|
||||
}
|
||||
}
|
||||
|
||||
cert, err := certs.ReadFile("shared_cert.pem")
|
||||
if err != nil {
|
||||
return tls.Certificate{}, err
|
||||
|
||||
Reference in New Issue
Block a user