mirror of
https://github.com/vhaudiquet/homeprod.git
synced 2026-02-01 14:45:58 +00:00
Merge branch 'main' of https://github.com/vhaudiquet/homeprod
This commit is contained in:
2
.github/dependabot.yml
vendored
2
.github/dependabot.yml
vendored
@@ -5,7 +5,6 @@ updates:
|
|||||||
schedule:
|
schedule:
|
||||||
interval: weekly
|
interval: weekly
|
||||||
directories:
|
directories:
|
||||||
- "/docker/gitea-actions"
|
|
||||||
- "/docker/home/esphome"
|
- "/docker/home/esphome"
|
||||||
- "/docker/home/matter-server"
|
- "/docker/home/matter-server"
|
||||||
- "/docker/home/mosquitto-mqtt"
|
- "/docker/home/mosquitto-mqtt"
|
||||||
@@ -46,7 +45,6 @@ updates:
|
|||||||
- "/kubernetes/code/gitea"
|
- "/kubernetes/code/gitea"
|
||||||
- "/kubernetes/code/harbor"
|
- "/kubernetes/code/harbor"
|
||||||
- "/kubernetes/home/home-assisant"
|
- "/kubernetes/home/home-assisant"
|
||||||
- "/kubernetes/home/zigbee2mqtt"
|
|
||||||
- "/kubernetes/infrastructure/authentik"
|
- "/kubernetes/infrastructure/authentik"
|
||||||
- "/kubernetes/personal/linkwarden"
|
- "/kubernetes/personal/linkwarden"
|
||||||
- "/kubernetes/personal/notesnook"
|
- "/kubernetes/personal/notesnook"
|
||||||
|
|||||||
@@ -1,10 +1,3 @@
|
|||||||
gitea-actions:
|
|
||||||
repo: homeprod
|
|
||||||
branch: main
|
|
||||||
compose_file: docker/gitea-actions/docker-compose.yml
|
|
||||||
sops_files:
|
|
||||||
- docker/gitea-actions/.env
|
|
||||||
|
|
||||||
esphome:
|
esphome:
|
||||||
repo: homeprod
|
repo: homeprod
|
||||||
branch: main
|
branch: main
|
||||||
|
|||||||
@@ -1,11 +0,0 @@
|
|||||||
GITEA_INSTANCE_URL=ENC[AES256_GCM,data:PYjmpgDEvPEC1S7MrN6d91IUBnGbFA9Xag==,iv:m7YQOMnuEoT5wDyy47aaTqjJG+dhqTJKf5i3hQs6GwY=,tag:2ldKTNRqdJEXTxr3uAyLLQ==,type:str]
|
|
||||||
GITEA_RUNNER_REGISTRATION_TOKEN=ENC[AES256_GCM,data:RDnENtxQw80C7SwmMZV2DTlEx4+uvzVMy95leGb/1RR6egc6S4xWnQ==,iv:wThZ2+qukJqC+ApvXC9GBdneXJ00jkkTyq+2VXSDG+w=,tag:KygPnxauOpaI1goZ4+uf3g==,type:str]
|
|
||||||
GITEA_RUNNER_NAME=ENC[AES256_GCM,data:HvNmmQyKxk16WQV8dRfPOfCO39w=,iv:z1YuNWvglBYaXQwZXjMzXD4ZN2d7c3eD9GdSaG1maNY=,tag:FtX6wG47uTGjTQ8UNvGfcg==,type:str]
|
|
||||||
GITEA_RUNNER_LABELS=
|
|
||||||
sops_lastmodified=2025-09-16T19:22:00Z
|
|
||||||
sops_mac=ENC[AES256_GCM,data:JIp7wyaIsy2Jg9p3ybHAljkDn8vpDRHtf7Zm2/M4exe6CbWCRn1jGMle+SnKBv2DKVciquQ9B9cKtKnVCpEAQOceZ1WakwS/mCmjYTIHqcvm8/vst1BYiL1Ovbw2dDstzWo8g+UTKAmVC7E0TJ01vAbsOab+fVacKLHF97pBqW8=,iv:5tcuJntPXrWCeNTGQbXzLaGZnCc8rr+gKG+UTRBNUaY=,tag:g7EYMAaOmwjKFYfz1ID5xQ==,type:str]
|
|
||||||
sops_pgp__list_0__map_created_at=2025-09-16T19:22:00Z
|
|
||||||
sops_pgp__list_0__map_enc=-----BEGIN PGP MESSAGE-----\n\nhQIMA7uy4qQr71wiAQ//c0J+b0XwnMbLlQku3tAEutXuEkQPMMrdOpPYwrua9nNu\nSVPBSiamnTeoaP2kM5lcaQ7HUaRLiS1qjXNVPsnAdkGPPID3SxUJzUo7Ca/JOq7e\n39ihqetWAcn9dNDofTxVKyvKXhXKGaDFy2LhaKugj4tkx6qdMA/XAldvRD6ik1jK\nAZjl2xGYTvZ+XgTGtFs6u3Z9ugD6Q3yPjKRSfeIO8NPT5OFFzY70wqlZflxcpupD\npnsvXQkAK1Rnz6F9+dh6jJYYijTdEe9Q0i+0Uy3q+wMsf8KRWs4ARD05DpgIOnUA\nG0s2kdOOlvqoJ/m2fSV7vkIcCvCwhEirn5kfrdUGi3ENazh0g3vpppAfE0ynZdSo\nDiXI7dzCwMxYi8edieOhK3RrOn8bx7B8F1WE+mHL6StQmD2G+xfvgtKlsEJGY2Ed\n1CpMZSQ0TwFx58fYiK+HsZrwAw/3YVzPWryaYvJ6P8QnY3oJOJihSYGRMmyH5WRo\nle1Rxd+Lrt1UnWyZQ7rpqMsYiIzihsNgNix/2wS1R9R1wRFXPdNDfzjrv1BGm/aJ\nOOqUFo6Hd3jEwYcSsG7mbe+hCAAXoJjZSU43dVzeZ0k5ls/lpOjqjQrZZLgz33uF\nNVNRAKTYD2y+/mQ4vpDUsHhu5rtjxh8u1CJf0++q1W/w+Z4ooq5hcNm3ud3DHYjS\nXgF1JA9ThTS+Hs1fV5SFzGMyFMFGeiTVJeww26R+1Vws7fFwbyAYugOqAgkiNkIf\nS2dsxlH1TRjBq1XD4GYk6P3VDUU5UyxG/5XiOexGEVSxBL/wg6TwpyL1hjvgc9k=\n=fmOe\n-----END PGP MESSAGE-----
|
|
||||||
sops_pgp__list_0__map_fp=DC6910268E657FF70BA7EC289974494E76938DDC
|
|
||||||
sops_unencrypted_suffix=_unencrypted
|
|
||||||
sops_version=3.10.2
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
services:
|
|
||||||
runner:
|
|
||||||
image: docker.io/gitea/act_runner:nightly
|
|
||||||
env_file: .env
|
|
||||||
volumes:
|
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
|
||||||
49
infra/r740/docker/main.tf
Normal file
49
infra/r740/docker/main.tf
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
terraform {
|
||||||
|
required_providers {
|
||||||
|
docker = {
|
||||||
|
source = "kreuzwerker/docker"
|
||||||
|
version = "3.6.2"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Docker configuration
|
||||||
|
provider "docker" {
|
||||||
|
host = "ssh://root@${var.docker_host}"
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "docker_image" "swarm-cd" {
|
||||||
|
name = "swarm-cd:latest"
|
||||||
|
# For now, custom-built image based on custom development branch
|
||||||
|
# Once this reaches upstream, back to upstream tag, like:
|
||||||
|
# ghcr.io/m-adawi/swarm-cd:1.9.0
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "docker_container" "swarm-cd" {
|
||||||
|
name = "swarm-cd"
|
||||||
|
image = docker_image.swarm-cd.image_id
|
||||||
|
volumes {
|
||||||
|
host_path = "/var/run/docker.sock"
|
||||||
|
container_path = "/var/run/docker.sock"
|
||||||
|
read_only = true
|
||||||
|
}
|
||||||
|
volumes {
|
||||||
|
host_path = "/root/homeprod/.swarmcd/repos.yaml"
|
||||||
|
container_path = "/app/repos.yaml"
|
||||||
|
read_only = true
|
||||||
|
}
|
||||||
|
volumes {
|
||||||
|
host_path = "/root/homeprod/.swarmcd/stacks.yaml"
|
||||||
|
container_path = "/app/stacks.yaml"
|
||||||
|
read_only = true
|
||||||
|
}
|
||||||
|
volumes {
|
||||||
|
host_path = "/app/swarm-cd/data"
|
||||||
|
container_path = "/data"
|
||||||
|
}
|
||||||
|
env = [
|
||||||
|
"SOPS_GPG_PRIVATE_KEY=${var.sops_private_key}"
|
||||||
|
]
|
||||||
|
|
||||||
|
depends_on = [ docker_image.swarm-cd ]
|
||||||
|
}
|
||||||
8
infra/r740/docker/variables.tf
Normal file
8
infra/r740/docker/variables.tf
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
variable "sops_private_key" {
|
||||||
|
description = "Private SOPS GPG key for SwarmCD to decrypt secrets"
|
||||||
|
type = string
|
||||||
|
}
|
||||||
|
variable "docker_host" {
|
||||||
|
description = "Docker machine hostname"
|
||||||
|
type = string
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user