diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..84eb940 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,10 @@ +kind: pipeline +type: docker +name: nomad-nummer5 + +steps: +- name: test + image: alpine + commands: + - echo hello + - echo world diff --git a/_sys/traefik.hcl b/_sys/traefik.hcl index 4ca421b..0c1e330 100644 --- a/_sys/traefik.hcl +++ b/_sys/traefik.hcl @@ -1,10 +1,10 @@ job "traefik" { region = "global" datacenters = ["nummer5"] - type = "service" + type = "system" group "traefik" { - count = 5 + #count = 5 constraint { operator = "distinct_hosts" diff --git a/apps/drone/live-runner.hcl b/apps/drone/live-runner.hcl new file mode 100644 index 0000000..cc1f345 --- /dev/null +++ b/apps/drone/live-runner.hcl @@ -0,0 +1,72 @@ +job "drone-runner" { + datacenters = [ + "nummer5", + ] + type = "service" + + group "apps" { + count = 1 + + network { + mode = "host" + port "http" { + to = 3000 + } + + } + + service { + name = "drone-runner" + port = "http" + } + + volume "drone-runner" { + type = "csi" + source = "drone-runner" + read_only = false + access_mode = "single-node-writer" + attachment_mode = "file-system" + } + + restart { + attempts = 5 + delay = "30s" + } + + task "drone-runner" { + driver = "podman" + volume_mount { + volume = "drone-runner" + destination = "/data" + read_only = false + } + + config { + image = "docker.io/drone/drone-runner-docker:1" + ports = ["http"] + volumes = [ + "/var/run/podman/podman.sock:/var/run/docker.sock", + "/etc/containers:/etc/containers" + ] + + } + + env { + TZ = "Europe/Berlin" + DRONE_GITEA_SERVER = "http://gitea.service.nr5" + DRONE_GITEA_CLIENT_ID = "6c48da2c-2748-438e-b776-51f41d3fe607" + DRONE_GITEA_CLIENT_SECRET = "gto_ewohqwympejkb52veheox6doc4juodojyyvph4yf4gekhgtx7zna" + DRONE_RUNNER_NAME = "drone-runner01" + DRONE_RPC_SECRET = "7eb685ed81d0c34bafc5efa7783c20b2" + DRONE_RPC_HOST = "drone.service.nr5" + DRONE_RPC_PROTO = "http" + } + + resources { + cpu = 500 + memory = 128 + } + + } + } +} diff --git a/apps/drone/live.hcl b/apps/drone/live.hcl new file mode 100644 index 0000000..9b90244 --- /dev/null +++ b/apps/drone/live.hcl @@ -0,0 +1,72 @@ +job "drone" { + datacenters = [ + "nummer5", + ] + type = "service" + + group "apps" { + count = 1 + + network { + mode = "host" + port "http" { + to = 80 + } + + } + + service { + name = "drone" + port = "http" + + tags = [ + "traefik.enable=true", + "traefik.http.routers.drone.rule=Host(`drone.service.nr5`)", + ] + } + + volume "drone-data" { + type = "csi" + source = "drone-data" + read_only = false + access_mode = "single-node-writer" + attachment_mode = "file-system" + } + + restart { + attempts = 5 + delay = "30s" + } + + task "drone" { + driver = "podman" + volume_mount { + volume = "drone-data" + destination = "/data" + read_only = false + } + + config { + image = "docker.io/drone/drone:2" + ports = ["http"] + } + + env { + TZ = "Europe/Berlin" + DRONE_GIT_ALWAYS_AUTH = true + DRONE_GITEA_SERVER = "http://gitea.service.nr5" + DRONE_GITEA_CLIENT_ID = "6c48da2c-2748-438e-b776-51f41d3fe607" + DRONE_GITEA_CLIENT_SECRET = "gto_ewohqwympejkb52veheox6doc4juodojyyvph4yf4gekhgtx7zna" + DRONE_RPC_SECRET = "7eb685ed81d0c34bafc5efa7783c20b2" + DRONE_SERVER_HOST = "drone.service.nr5" + DRONE_SERVER_PROTO = "http" + } + + resources { + cpu = 100 + memory = 128 + } + + } + } +} diff --git a/apps/drone/volume-runner.hcl b/apps/drone/volume-runner.hcl new file mode 100644 index 0000000..bb6c155 --- /dev/null +++ b/apps/drone/volume-runner.hcl @@ -0,0 +1,20 @@ +type = "csi" +id = "drone-runner" +name = "drone-runner" +plugin_id = "nfs" + +capability { + access_mode = "single-node-writer" + attachment_mode = "file-system" +} + +context { + server = "ebin01.wks" + share = "/data/raid1-ssd/app-data/drone-runner" + mountPermissions = "0" +} + +mount_options { + fs_type = "nfs" + mount_flags = [ "timeo=30", "vers=3", "_netdev" , "nolock" ] +} diff --git a/apps/drone/volume.hcl b/apps/drone/volume.hcl new file mode 100644 index 0000000..3e49b20 --- /dev/null +++ b/apps/drone/volume.hcl @@ -0,0 +1,21 @@ +type = "csi" +id = "drone-data" +name = "drone-data" +plugin_id = "nfs" +external_id = "drone-data" + +capability { + access_mode = "single-node-writer" + attachment_mode = "file-system" +} + +context { + server = "ebin02.wks" + share = "/data/raid1-ssd/app-data/drone-data" + mountPermissions = "0" +} + +mount_options { + fs_type = "nfs" + mount_flags = [ "timeo=30", "vers=3", "_netdev" , "nolock" ] +} diff --git a/apps/jenkins/live.hcl b/apps/jenkins/live.hcl index 570e8f0..3aa90d5 100644 --- a/apps/jenkins/live.hcl +++ b/apps/jenkins/live.hcl @@ -24,6 +24,12 @@ job "jenkins" { "traefik.enable=true", "traefik.http.routers.jenkins.rule=Host(`jenkins.service.nr5`)", ] + check { + type = "http" + path = "/login" + interval = "60s" + timeout = "10s" + } } volume "jenkins-master" { @@ -55,10 +61,10 @@ job "jenkins" { JAVA_OPTS = "-Dhudson.footerURL=http://jenkins.service.nr5" } resources { - cpu = 200 - memory = 256 + cpu = 500 + memory = 512 } } } -} \ No newline at end of file +}