bring simpbot deploy harness over to nunbot
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
stryan 2022-07-17 15:56:46 -04:00
parent 3ce33e0185
commit 3cfe6216f2
4 changed files with 109 additions and 0 deletions

37
.drone.yml Normal file
View File

@ -0,0 +1,37 @@
kind: pipeline
name: default
steps:
- name: build
image: golang
commands:
- make
- name: create release-source tar
image: golang
commands:
- go mod vendor
- tar -czf release-source-$DRONE_TAG.tar.gz *
- mkdir dist
- mv release-source-$DRONE_TAG.tar.gz dist/
when:
event: tag
- name: create release-binary tar
image: golang
commands:
- tar -czf dist/release-$DRONE_TAG-$DRONE_STAGE_ARCH.tar.gz init/nunbot.service config.yaml.sample nunbot
when:
event: tag
- name: release
image: plugins/gitea-release
settings:
api_key:
from_secret: gitea_token
files:
- dist/*
base_url: https://git.saintnet.tech
when:
event: tag

6
config.yaml.sample Normal file
View File

@ -0,0 +1,6 @@
homeserver: matrix.saintnet.tech
username: NunBot
password: nuns
dimension: dimension.saintnet.tech
domain: saintnet.tech
statefile: statefile

52
deploy.yml Normal file
View File

@ -0,0 +1,52 @@
---
- hosts: localhost
tasks:
- name: check nunbot version
uri:
url: https://git.saintnet.tech/api/v1/repos/stryan/nunbot/releases?limit=1
return_content: true
register: nunbot_latest
- name: "downloading and installing nunbot {{ nunbot_latest.json[0].tag_name }}"
block:
- name: create temp directory
tempfile:
state: directory
suffix: dwn
register: tempfolder_1
- name: download nunbot
loop: "{{ nunbot_latest.json[0].assets }}"
when: "'amd64.tar.gz' in item.name"
unarchive:
remote_src: yes
src: "{{ item.browser_download_url }}"
dest: "{{ tempfolder_1.path }}"
keep_newer: yes
- name: installing nunbot binary
copy:
remote_src: yes
src: "{{ tempfolder_1.path }}/nunbot"
dest: /usr/local/bin/
mode: '0755'
register: new_binary
- name: installing unit file
copy:
remote_src: yes
src: "{{ tempfolder_1.path }}/init/nunbot.service"
dest: /etc/systemd/system/nunbot.service
register: new_unit
- name: reload systemd with new unit
systemd:
daemon_reload: yes
when: new_unit.changed or new_binary.changed
- name: start service
systemd:
name: nunbot
state: restarted
when: new_binary.changed

14
init/nunbot.service Normal file
View File

@ -0,0 +1,14 @@
[Unit]
Description=NunBot: Bringing nuns, ducks and love to Matrix
After=network.target
StartLimitIntervalSec=0
[Service]
Type=simple
Restart=always
RestartSec=3
User=root
ExecStart=/usr/local/bin/nunbot
[Install]
WantedBy=multi-user.target