Add nomad template

This commit is contained in:
Elara 2023-06-09 12:10:29 -07:00
parent e27ef16f0d
commit 5903ce9c56
3 changed files with 71 additions and 7 deletions

View File

@ -15,12 +15,7 @@ builds:
- arm - arm
archives: archives:
- id: archive - id: archive
name_template: >- name_template: "{{ .ProjectName }}-{{ .Arch }}"
{{ .ProjectName }}_
{{- if eq .Arch "amd64" }}x86_64
{{- else if eq .Arch "arm64"}}aarch64
{{- else if eq .Arch "386" }}i386
{{- else }}{{ .Arch }}{{ end }}
files: files:
- lure-updater.example.toml - lure-updater.example.toml
blobs: blobs:

View File

@ -6,3 +6,16 @@ pipeline:
secrets: [ gitea_token, aws_access_key_id, aws_secret_access_key ] secrets: [ gitea_token, aws_access_key_id, aws_secret_access_key ]
when: when:
event: tag event: tag
deploy:
image: loq9/drone-nomad
secrets: [ github_password, password_hash ]
settings:
addr: http://192.168.100.62:4646
template: template.nomad
environment:
- PLUGIN_WATCH_DEPLOYMENT=true
- PLUGIN_WATCH_DEPLOYMENT_TIMEOUT=10m
when:
branch: public
event: push

56
template.nomad Normal file
View File

@ -0,0 +1,56 @@
job "lure-updater" {
region = "global"
datacenters = ["dc1"]
type = "service"
group "site" {
network {
port "webhook" {
to = 8080
}
}
task "lure-updater" {
driver = "docker"
env {
GIT_REPO_DIR="/etc/lure-updater/repo"
GIT_REPO_URL="https://github.com/Elara6331/lure-repo.git"
GIT_CREDENTIALS_USERNAME="lure-repo-bot"
GIT_CREDENTIALS_PASSWORD="${GITHUB_PASSWORD}"
GIT_COMMIT_NAME="lure-repo-bot"
GIT_COMMIT_EMAIL="lure@elara.ws"
WEBHOOK_PASSWORD_HASH="${PASSWORD_HASH}"
// Hack to force Nomad to re-deploy the service
// instead of ignoring it
COMMIT_SHA = "${DRONE_COMMIT_SHA}"
}
config {
image = "alpine:latest"
ports = ["webhook"]
volumes = ["local/:/opt/lure-updater:ro"]
command = "/opt/lure-updater/lure-updater"
args = ["-E"]
}
artifact {
source = "https://api.minio.elara.ws/site/site.tar.gz"
destination = "local/site"
}
service {
name = "site"
port = "webhook"
tags = [
"traefik.enable=true",
"traefik.http.routers.site.rule=Host(`updater.lure.elara.ws`)",
"traefik.http.routers.site.tls.certResolver=letsencrypt",
]
}
}
}
}