add alloy

This commit is contained in:
iceBear67
2026-07-08 22:30:48 +08:00
parent 06ad25f8e7
commit c6ce5f676e
11 changed files with 113 additions and 21 deletions
+5 -1
View File
@@ -28,4 +28,8 @@ TS_AUTHKEY=
HOMELAB_TLD=ice
HOMELAB_ZONE=cloud
ADVERTISE_ROUTE=10.1.0.0/24
TSDNS_SUBNET=10.1.0.0/24
TSDNS_SUBNET=10.1.0.0/24
# /etc/conf.d/alloy
LOKI_URL=
LOKI_TENANT=
+1 -1
View File
@@ -31,7 +31,7 @@ alpine-make-vm-image \
--fs-skel-dir "$OVERLAY_DIR" \
--fs-skel-chown root:root \
--script-chroot \
--packages "curl docker openssh" \
--packages "curl docker openssh alloy" \
"$IMAGE_FILE" \
"$CONFIGURE_SH" | tee $TMP
+3
View File
@@ -35,6 +35,9 @@ rc-update add sshd
rc-update add auth-server
rc-update add bubble
mv /etc/conf.d/alloy{.template,}
rc-update add alloy
step 'Adjust syslog'
sed -i 's/^SYSLOGD_OPTS="\(.*\)"/SYSLOGD_OPTS="\1 -K"/' /etc/conf.d/syslog
grep "SYSLOGD_OPTS" /etc/conf.d/syslog
+88
View File
@@ -0,0 +1,88 @@
discovery.docker "local" {
host = "unix:///var/run/docker.sock"
refresh_interval = "5s"
}
discovery.relabel "docker" {
targets = discovery.docker.local.targets
//
// Container Name
//
rule {
source_labels = ["__meta_docker_container_name"]
regex = "/(.*)"
replacement = "$1"
target_label = "container"
}
//
// Docker Compose
//
rule {
source_labels = ["__meta_docker_container_label_com_docker_compose_service"]
target_label = "service"
}
rule {
source_labels = ["__meta_docker_container_label_com_docker_compose_project"]
target_label = "compose_project"
}
//
// Image
//
rule {
source_labels = ["__meta_docker_container_image"]
target_label = "image"
}
//
// stdout / stderr
//
rule {
source_labels = ["__meta_docker_container_log_stream"]
target_label = "stream"
}
//
// Query 用
//
rule {
source_labels = ["__meta_docker_container_label_com_docker_compose_service"]
target_label = "job"
}
}
loki.process "docker" {
stage.static_labels {
values = {
node = env("NODE_NAME"),
environment = env("ENVIRONMENT"),
platform = "docker",
}
}
forward_to = [loki.write.default.receiver]
}
loki.source.docker "local" {
host = "unix:///var/run/docker.sock"
targets = discovery.relabel.docker.output
refresh_interval = "5s"
forward_to = [
loki.process.docker.receiver,
]
}
loki.write "default" {
endpoint {
url = env("LOKI_URL")
tenant_id = env("LOKI_TENANT")
}
}
+10
View File
@@ -0,0 +1,10 @@
# Configuration for /etc/init.d/alloy
STORAGE=/data/alloy
export ENVIRONMENT=prod
export LOKI_URL=_LOKI_URL_
export LOKI_TENANT=_LOKI_TENANT_
export NODE_NAME=$(cat /etc/hostname)
# Comment out to disable process supervisor.
supervisor=supervise-daemon
+1 -1
View File
@@ -1,4 +1,4 @@
# /etc/fstab: static file system information
#
# <file system> <mount point> <type> <options> <dump> <pass>
/dev/vdb1 /data ext4 rw,noatime 0 1
/dev/vdb1 /data ext4 rw,noatime 0 1
+4
View File
@@ -4,6 +4,10 @@ depend() {
need docker tsdns
}
start_pre() {
docker pull git.sfclub.cc/cloud/workspace-image:latest
}
command="/usr/bin/bubble"
command_args="-config /daemon/config.yaml 2>&1"
pidfile="/run/${RC_SVCNAME}.pid"
+1 -1
View File
@@ -5,7 +5,7 @@ depend() {
}
supervisor="supervise-daemon"
restart_max=0
restart_max=5
restart_delay=10
command="/usr/bin/tsdns"
-7
View File
@@ -1,7 +0,0 @@
#!/sbin/openrc-run
depend() {
need docker net
}
command="/usr/bin/update-images"
View File
-10
View File
@@ -1,10 +0,0 @@
#!/bin/sh
cleanup_() {
touch /.image-update-flag
}
if [ ! -f /.image-update-flag ]; then
docker pull
fi