Compare commits
9
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9523105df4 | ||
|
|
4449f44cf1 | ||
|
|
47f6e7d78b | ||
|
|
7ab522ba31 | ||
|
|
204bfbbaf9 | ||
|
|
e0c09f46b6 | ||
|
|
e0faf012be | ||
|
|
1b19c79d63 | ||
|
|
4ec2ae1f7f |
File diff suppressed because one or more lines are too long
+17
-17
@@ -5,7 +5,7 @@
|
|||||||
"alert.firing"
|
"alert.firing"
|
||||||
],
|
],
|
||||||
"own-secrets": {
|
"own-secrets": {
|
||||||
"admin": "/var/lib/mesh/grafana/admin",
|
"admin": "/var/lib/grafana-module/admin.secret",
|
||||||
"broker": "/var/lib/mesh/grafana/broker"
|
"broker": "/var/lib/mesh/grafana/broker"
|
||||||
},
|
},
|
||||||
"capabilities": [
|
"capabilities": [
|
||||||
@@ -30,45 +30,45 @@
|
|||||||
{
|
{
|
||||||
"id": "state",
|
"id": "state",
|
||||||
"type": "directory",
|
"type": "directory",
|
||||||
"mode": "0700",
|
"path": "/var/lib/grafana-module",
|
||||||
"place": "."
|
"mode": "0700"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "data",
|
"id": "data",
|
||||||
"type": "directory",
|
"type": "directory",
|
||||||
|
"path": "/services/grafana/data",
|
||||||
"mode": "0700",
|
"mode": "0700",
|
||||||
"owner": "472:472"
|
"owner": "472:472"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "admin-secret",
|
"id": "server-env",
|
||||||
"type": "file",
|
"type": "file",
|
||||||
"path": "${dir:state}/admin.secret",
|
"path": "/var/lib/grafana-module/server.env",
|
||||||
"mode": "0400",
|
"mode": "0600",
|
||||||
"owner": "472:472",
|
"content": "GF_SECURITY_ADMIN_PASSWORD=${secret:admin}\n"
|
||||||
"content": "${secret:admin}"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "server",
|
"id": "server",
|
||||||
"type": "container",
|
"type": "container",
|
||||||
"name": "grafana",
|
"name": "grafana",
|
||||||
"image": "grafana/grafana@sha256:ac461fb352abc50da10a51c7d02462e9c05488f11f53f14b3ad79a8145f638a0",
|
"image": "grafana/grafana@sha256:f772d434e8fab0049deb2b1b30abd43342bcfca1537614aa8d36080232cf4283",
|
||||||
"ports": [
|
"ports": [
|
||||||
"3000"
|
"3000"
|
||||||
],
|
],
|
||||||
"volumes": [
|
"volumes": [
|
||||||
"${dir:data}:/var/lib/grafana",
|
"/services/grafana/data:/var/lib/grafana"
|
||||||
"${dir:state}/admin.secret:/run/secrets/admin:ro"
|
|
||||||
],
|
],
|
||||||
"env": {
|
"env-file": [
|
||||||
"GF_SECURITY_ADMIN_PASSWORD__FILE": "/run/secrets/admin"
|
"/var/lib/grafana-module/server.env"
|
||||||
}
|
],
|
||||||
|
"secrets-in-environment": "grafana honours GF_SECURITY_ADMIN_PASSWORD__FILE; convertible, awaiting a bed that exercises the admin password (assigned-grafana serves tools only)"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "runtime-config",
|
"id": "runtime-config",
|
||||||
"type": "file",
|
"type": "file",
|
||||||
"path": "/var/lib/mesh/grafana/config.json",
|
"path": "/var/lib/mesh/grafana/config.json",
|
||||||
"mode": "0600",
|
"mode": "0600",
|
||||||
"content": "{\n \"user\": \"admin\",\n \"password\": \"${secret:admin}\"\n}\n",
|
"content": "{}\n",
|
||||||
"merge": "json"
|
"merge": "json"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -82,7 +82,7 @@
|
|||||||
],
|
],
|
||||||
"env": {
|
"env": {
|
||||||
"MESH_BROKER_FILE": "/run/secrets/broker",
|
"MESH_BROKER_FILE": "/run/secrets/broker",
|
||||||
"MESH_GRAFANA_URL": "http://127.0.0.1:${port:3000}",
|
"MESH_GRAFANA_URL": "http://127.0.0.1:3000",
|
||||||
"MESH_GRAFANA_CONFIG_FILE": "/run/config/config.json"
|
"MESH_GRAFANA_CONFIG_FILE": "/run/config/config.json"
|
||||||
},
|
},
|
||||||
"restart-on": [
|
"restart-on": [
|
||||||
@@ -101,7 +101,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"binds": {
|
"binds": {
|
||||||
"route": "${dir:state}/route.json"
|
"route": "/var/lib/mesh/grafana/route.json"
|
||||||
},
|
},
|
||||||
"build": {
|
"build": {
|
||||||
"on": [
|
"on": [
|
||||||
|
|||||||
@@ -120,7 +120,7 @@
|
|||||||
"port": 7080,
|
"port": 7080,
|
||||||
"protocol": "tcp",
|
"protocol": "tcp",
|
||||||
"from": "mesh",
|
"from": "mesh",
|
||||||
"why": "the web front over http; only the ACME HTTP-01 passthrough is routed here \u2014 everything else 301s to https and would loop a proxy"
|
"why": "the web front over http; only the ACME HTTP-01 passthrough is routed here — everything else 301s to https and would loop a proxy"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "web-tls",
|
"name": "web-tls",
|
||||||
@@ -315,10 +315,7 @@
|
|||||||
"${dir:data-data}:/data",
|
"${dir:data-data}:/data",
|
||||||
"${dir:data-dkim}:/dkim"
|
"${dir:data-dkim}:/dkim"
|
||||||
],
|
],
|
||||||
"secrets-in-environment": "mailu-admin honours SECRET_KEY_FILE, DB_PW_FILE and API_TOKEN_FILE (configuration.py) but INITIAL_ADMIN_PW is env-only (start.py); the remaining containers' need for SECRET_KEY is unverified",
|
"secrets-in-environment": "mailu-admin honours SECRET_KEY_FILE, DB_PW_FILE and API_TOKEN_FILE (configuration.py) but INITIAL_ADMIN_PW is env-only (start.py); the remaining containers' need for SECRET_KEY is unverified"
|
||||||
"dns": [
|
|
||||||
"192.168.203.254"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "imap",
|
"id": "imap",
|
||||||
|
|||||||
@@ -105,7 +105,7 @@
|
|||||||
"/var/lib/postgres/superuser.secret:/run/secrets/superuser:ro"
|
"/var/lib/postgres/superuser.secret:/run/secrets/superuser:ro"
|
||||||
],
|
],
|
||||||
"env": {
|
"env": {
|
||||||
"MESH_PROVISION_POSTGRES": "postgres://postgres@127.0.0.1:5432/postgres?sslmode=disable",
|
"MESH_PROVISION_POSTGRES": "postgres://postgres@127.0.0.1:${port:5432}/postgres?sslmode=disable",
|
||||||
"MESH_PROVISION_POSTGRES_PORT": "${seat:mesh-store:5432}",
|
"MESH_PROVISION_POSTGRES_PORT": "${seat:mesh-store:5432}",
|
||||||
"MESH_PROVISION_PASSWORD_FILE": "/run/secrets/superuser",
|
"MESH_PROVISION_PASSWORD_FILE": "/run/secrets/superuser",
|
||||||
"MESH_BROKER_FILE": "/run/secrets/broker",
|
"MESH_BROKER_FILE": "/run/secrets/broker",
|
||||||
|
|||||||
Reference in New Issue
Block a user