Add terranix config for website container

Signed-off-by: Magic_RB <magic_rb@redalder.org>
This commit is contained in:
Magic_RB 2023-06-15 23:04:46 +02:00
parent 9b1c305c3b
commit 1e67b634a6
2 changed files with 89 additions and 0 deletions

View file

@ -0,0 +1,15 @@
{ pkgs, elib, vars, ... }:
let
inherit (elib)
nfsVolume
nomadJob;
in
{
resource."nomad_job"."website" = nomadJob {
jobspec = ./job.hcl;
vars = {
flake_ref = "${vars.flake_host}?rev=${vars.flake_rev}&ref=${vars.flake_ref}";
flake_sha = vars.flake_sha;
};
};
}

View file

@ -0,0 +1,74 @@
variable "flake_ref" {
type = string
}
variable "flake_sha" {
type = string
}
job "website" {
datacenters = [ "homelab-1" ]
type = "service"
constraint {
attribute = "${attr.unique.hostname}"
value = "blowhole"
}
group "website" {
count = 2
update {
max_parallel = 1
}
network {
mode = "bridge"
}
service {
name = "website"
port = "80"
check {
type = "http"
address_mode = "alloc"
path = "/"
port = "80"
interval = "10s"
timeout = "10s"
}
connect {
sidecar_service {}
sidecar_task {
resources {
cpu = 75
memory = 48
}
config {
memory_hard_limit = 96
}
}
}
}
task "apache" {
driver = "docker"
config {
nix_flake_ref = "${var.flake_ref}#nixngSystems.website.config.system.build.toplevel"
nix_flake_sha = var.flake_sha
entrypoint = [ "init" ]
}
resources {
cpu = 128
memory = 32
memory_max = 64
}
}
}
}