Compare commits

...

22 Commits

Author SHA1 Message Date
369aed9ea1 copy kubeconfig 2022-12-10 20:30:25 +01:00
11d0273ac1 fix copy kubeconfig files 2022-12-10 20:14:13 +01:00
4eee20f63f list item and copy template 2022-12-10 15:24:35 +01:00
8008b025d0 variabilisation kubernetes 2022-12-10 15:14:00 +01:00
572be625bd push to scaleway registry 2022-11-26 18:37:05 +01:00
005127a37b fix variable 2022-11-07 23:07:06 +01:00
097d0621d6 fix hosts 2022-11-06 18:31:35 +01:00
398adda930 add tag and push image 2022-11-06 18:13:59 +01:00
371ee06a41 ajout pause dans le task create-build 2022-11-03 21:53:42 +01:00
27fcb8b6ec create template env for build image 2022-11-03 21:49:56 +01:00
653891f446 Merge pull request 'drone' (#3) from drone into master
Reviewed-on: #3
2022-11-02 21:19:52 +00:00
87db6ddf40 ignore file 2022-11-02 22:16:46 +01:00
c9a0e48346 essai drone 2022-11-02 22:15:31 +01:00
284e86c424 test drone check syntax 2022-10-31 20:30:26 +01:00
1caaac3485 add drone yml
Some checks reported errors
continuous-integration/drone Build was killed
continuous-integration/drone/push Build was killed
2022-10-28 21:33:15 +02:00
372f1d7c18 add debug message 2022-10-28 20:20:16 +02:00
c26a6c6f84 fix url 2022-10-28 17:38:56 +02:00
e4ee762c65 add drone groups 2022-10-28 17:35:49 +02:00
91d441b38e remove localhost from db group 2022-10-20 17:05:48 +02:00
42f2a14d87 add passwordé 2022-10-20 17:00:58 +02:00
93eca7fec9 fix password 2022-10-20 16:56:51 +02:00
541eda55f6 Merge pull request 'k8s-deploy' (#2) from k8s-deploy into master
Reviewed-on: #2
2022-10-20 14:52:28 +00:00
32 changed files with 471 additions and 62 deletions

1
.dockerignore Normal file
View File

@@ -0,0 +1 @@
Dockerfile

19
.drone.yml Normal file
View File

@@ -0,0 +1,19 @@
kind: pipeline
name: default
type: docker
steps:
- name: deploy
image: v4l3n71n/covas:latest
pull: if-not-exists
commands:
- eval $(ssh-agent -s)
- id -u ansible
- sshpass -p 50ford5080850 ssh-add ssh_keys/id_rsa_nas
- sshpass -p 23v4l3n71n02cz3ry841993 ssh-add ssh_keys/id_rsa_vps
- ansible-playbook -i inventory --syntax-check playbook.yml
- ansible --ask-vault-password -i inventory -m ping playbook.yml
image_pull_secrets:
- dockerconfig

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
ssh_keys/

9
Dockerfile Normal file
View File

@@ -0,0 +1,9 @@
FROM debian:bookworm-slim
RUN apt-get update --yes && apt-get upgrade --yes && apt-get install --yes python3 python3-pip openssh-client sshpass && rm -rf /var/lib/apt/lists/*
RUN groupadd -r ansible && useradd -m -r -g ansible ansible
USER ansible
RUN pip install ansible
WORKDIR /home/ansible
ENV PATH="${PATH}:/home/ansible/.local/bin"
COPY --chown=ansible:ansible . /home/ansible
RUN ansible-galaxy install -vvvv -r requirements.yml

View File

@@ -1,3 +1,4 @@
msg: db
postgres_url: db.valczeryba.ovh
postgres_db: toto
postgres_port: 54321

View File

@@ -1,14 +1,15 @@
$ANSIBLE_VAULT;1.1;AES256
30326462626436373330386637633864316430623235306239353439313932383964646435393965
3662326631306134363862626638616330633765666538360a323264646135393935343434343362
36666566316465383833386433623565373837353233366435346633313566623361653937306336
6362383331643665300a393561643837376461326663663235343434363438623637306263626163
38336162383331383732643765323763656130653432386534376335336338663663363439666361
31306530666264323130333561356564626536643533356337383631613534383730666338313664
34626261616430623063323836616130383335383965326239636362616531623565323734613532
33313830663666633432666135346234643834316239633132383862393636623230316532616365
30336564306336393064613330336436363631316236353237343838396637353735356461323331
34343637336532373539663565666337383837373235613734303831376636303361376533346333
32316430613936366464383832376237633036353737353566613638396236316664356638373635
35303239353937316236323339633335373761623032313231383937306236303861306265646333
65633638623065303761646562373936336235373533333265643534616663343538
31393434663833363061653862663138393835663538346465383065323231616163343964303966
3437316337383464323933306632393766386234366133360a313466356333343939396134333430
38376636663234666534666637663638633766623034323164393234656365613437643738393833
3466616536353935340a366165346464343863613133373739366534373835396436343138326532
37376261383631366531333061353133643432623164633335373037393732366132346438326163
32386639396661626431616463383165393035396139333336316263636236323130656534636237
36636536613064393632343564343734626666323037303630623764316338346161373134656165
64666133663364633064323763303964663964393139646663306334353435633839383164313734
61373731356331336265663835346234323934656236646363663562396131336161663662393634
65383761363763326366313063333337633039383830663066663261393464646437663366366565
39366661653934626337656336306435363263373534323239353831343231303134613338623236
63306464393031666666613530326138646535613534303365323965323466366131343236663030
37323032656136383661333331363635643234333138626239383733336135333637353930316338
6537303238333962313362376434383038666133376134383132

View File

@@ -0,0 +1,22 @@
drone_gitea_server: https://git.valczeryba.ovh
drone_server_host: drone.valczeryba.ovh:8000
drone_agents_enabled: true
drone_server_proto: http
drone_tls_autocert: false
drone_open: false
drone_host: http://localhost:8000
drone_rpc_server: drone-server:8000
msg: drone
project_src: "/home/valentin/drone"
project_directory:
- "{{ project_src }}"
project_env: env-drone.j2
docker_compose_file: "docker-compose-drone.yml"
ports_tcp:
- 8000
- 9000

View File

@@ -0,0 +1,18 @@
$ANSIBLE_VAULT;1.1;AES256
38303932316262306464333166316363643239366561323234643563623362336335613237376239
3535393466323064333163363932663731663031663933350a323431653239396663343666373765
31373066383234303139663135326462613539626363373930346366383831646536316465373563
3537653761373233300a383637623932616663393763643066326238633932643730336339336330
38366430336561613866373634313130616438313234666431396638366161613839303864353561
35613234326539383765666637323236303161623061633164646430663834393764623931656638
63336533383065343738373564393266653738656163643165383434623836666434646337336565
32373261636363396363343236353336306331313761623531653834346536353039656564316138
66643166653435666162383333366233353165393837303539646538353765653465363532346231
65633365353131613437623663313934626461313437373730623164636364393362366537373162
62363965323662356638633661363236326437353366356134346333313466323139336362363234
62376262346338643339363566303339366165636566623565363238363736646637646635303531
38343031666635323539353431316164353830363838313662613063616532623730346561333665
33316137613666636439383364353735653535346537383831323333646238356534393935643435
31643637323366616230633039336633313631316330323064306638663039393330376366633930
65643861363231313033333662396339636432343133336561356438636233643762313539323166
6261

View File

@@ -1,4 +1,20 @@
project_terraform: "/home/valentin/terraform"
project_backend: "/home/valentin/k8s_backend"
project_kubeconfig: "/home/valentin/.kube/config"
region_k8s: "fr-par"
project_name: "terraform-test"
quarkus_project: "covas-quarkus"
project_name_tf: "terraform-test"
quarkus_project: "covas-quarkus"
mailer_host: "smtp.gmail.com"
mailer_from: "valczebackup@gmail.com"
mailer_port: "587"
port: 8083
targetPort: 8080
backend_yaml:
- backend-deployment
- backend-service
- env-configmap
- secret

View File

@@ -1,10 +1,39 @@
$ANSIBLE_VAULT;1.1;AES256
38396665356139383861356137373362393834373765663937373730333434356565383864333137
3763386361323938326462393632346565386432336531620a616261656133323236343464303837
39613966333435393336396361666337306438393138363961336462383666326363326439373762
6139623462323133330a646432336365666164643435383430616137313130646137623463373636
32313561383838366437633634376434616438633665363465626633633537383435616537336339
64313836613730613135363739363536356362373762313431353938653738613666313966393163
33336234363964633633663431353966666530353432643461656336356166393837316634313164
65653033636338363563666363326433636163323363656530323834303464356136346163353466
3533
64323034306466353139343765626366333236376138306561336430316565616134356565373865
3330336538643132373635646435646637643735633030660a643538356333356232663664316630
62326138353933333565626363376135393266666162643936643138303438393565383435333737
3239363964386630350a653736393435643239373732646637646433623332623336643338663839
38303433303634613238393233343230386636366137616231623131323861316537623035396630
32366666393633326665643063306132616631383966353737646439643162336435316538346265
66356539643530646338363862633963306634613136363337613738653162333163643130613035
31643330303437616431316165323365376364306664623936356334656362663165623239333231
66616662643539383164613234343733663236613733313633353961303038666266633739323830
64633165633832343130316338376638353631326362336663386431636631396334646430336562
34363666643035643439666362396363663936333763363263393734353438653931363735313032
35356132383131353538653338386566353032356635653233396264333139303632623939323664
64363833393230636666323531323630346361346336393239316661636537313030636532653733
61343338623861626336636636323162343666366238653730386464353736633338313034323633
31366133643561333464653830343465303836366537633866636335373536613430343339366436
64656162316437383264666264346633646238633535386165303936633139356436646162396135
62346163383834343332646437326439343238663334313730656462343530373063386236616135
35333862376466306637623063323631373530383631316561366365326162663466663338616238
36376363646466356565303963393562653534663736343730613536643936663836613732373161
30616232373134376366616263663866313233666437613235643263306332653130383730383937
64613330653735303734656235376262643432383736613939363963643438373239366137336336
61353761376332643961363330643364633230383339383234636234633766363037383565336630
66643431333634646365353233336166626665386339383864303634323335306334666536306339
65396238623236646464346531333736336538336463376632323663373634666464363737623661
35616236363634313130316639386333343264316533353131643431363766393632346531323133
32366132313737326462373635626461666365653339623630623966646663383261663664646338
63346537366463323361616530333834663238353461306133323464643563616335343762663735
34316435386362663564316536613134336337346135616434356433643066303831336533343432
39353938656461376234636561353061303339373039643831643466613861396562376162353161
31616432326136343238613734356432663539393039363530323030613436376536393734333035
33653262316639323935646165333337313466303963306132613730366530346532663833393537
33323839333431373437663039353063343133623831343465303338303437633331396132363634
61656231653133653866663135643436343639326431616432326235643131356136333266653333
62643232313231633234343937383365636431316437313463396432393265376164343836356265
38623335343961616339623961393164366439373439643566393931616237316437613735396634
64656363326465323466396466623734306639613063323437646431343833346337363937363334
33646339636132333735353464646431626564633862366139626636663161653931336634373430
6464626131353032393730623766393631366433636137393165

View File

@@ -1,6 +1,7 @@
$ANSIBLE_VAULT;1.1;AES256
35333863396561393462653263323133343233346534616138616530643066323161656534653738
3335306466663636623236383435663337393466633437660a303961663331653463343933353966
35636161393663386137306561613965653438626432323865323233636662653333616532636665
3562333936366238640a646262373233363665366437653032303238313266356138343239303936
36663531303061663763653637333365303664666563353631303435633462343537
61643965343735653231363764646132363434653530346532343765663036376434353334356330
6133383634643439353338383039653234303666306661350a636366343465356639646535663234
31356434363130663961653638363463333330346561333933643263643362343132376131313764
3439663335386235610a396435303138666166383363303038663163393538323362313965613933
65666338653533386234336365316664313266326130313064653864386235323461303938386333
3239646561363831643530633466613035643630363761326666

View File

@@ -1,9 +1,10 @@
msg: registry
project_src: "/home/valentin/registry"
project_directory:
- "{{ project_src }}"
docker_compose_file: "docker-compose-registry.yml"

View File

@@ -1,10 +1,14 @@
vps ansible_connection=ssh ansible_host=51.222.107.37 ansible_port=2424 ansible_user=valentin
vps-host ansible_connection=ssh ansible_host=51.222.107.37 ansible_port=2424 ansible_user=valentin
valentin-nas ansible_connection=ssh ansible_host=151.80.37.38 ansible_port=2424 ansible_user=valentin
drone-host ansible_connection=ssh ansible_host=151.80.37.38 ansible_port=2424 ansible_user=valentin
localhost ansible_host=127.0.0.1
[db]
[vps]
vps-host
[db:children]
local
vps
localhost
[db_vault:children]
db
@@ -12,8 +16,16 @@ db
[nas]
valentin-nas
[registry:children]
nas
[registry]
valentin-nas
[drone]
drone-host
[drone_vault:children]
drone
[nas_vault:children]
nas

View File

@@ -1,9 +1,10 @@
---
- hosts: registry db
- hosts: registry vps
remote_user: valentin
roles:
- server
- hosts: local
remote_user: valentin
roles:

View File

@@ -1,7 +1,4 @@
/home/valentin/.ansible/collections/ansible_collections:
community.docker:
version: 3.1.0
/usr/lib/python3.10/site-packages/ansible_collections:
collections:
amazon.aws:
version: 3.4.0
ansible.netcommon:

View File

@@ -27,4 +27,34 @@
- name: Template env file
template:
src: "env-build.j2"
dest: "{{ home_dir }}/{{ quarkus_project }}/.env"
dest: "{{ home_dir }}/{{ quarkus_project }}/.env"
- name: Pause for build image
pause:
prompt: aller au dossier {{ home_dir }}/{{ quarkus_project }}, et exécuter le script build-image.sh
- name: Get quarkus image
docker_image_info:
name: quarkus-native
register: result
- name: Check quarkus image
assert:
that:
- result.images | length == 1
- name: Login to scaleway registry
docker_login:
registry_url: rg.fr-par.scw.cloud/covas
username: nologin
password: "{{ token_scaleway }}"
reauthorize: true
- name: Tag and push to custom registry
docker_image:
name: quarkus-native
repository: rg.fr-par.scw.cloud/covas/quarkus-native
tag: latest
push: yes
source: local

View File

@@ -0,0 +1,15 @@
---
# tasks file for create cluster k8s via terraform
- name: Create directory {{ project_terraform }}
file:
path: "{{ project_backend }}"
state: directory
- name: Copy backend k8s yaml
template:
src: "{{ item }}.yaml.j2"
dest: "{{ project_backend }}/{{ item }}.yaml"
with_items: "{{ backend_yaml }}"

View File

@@ -16,6 +16,10 @@
method: GET
headers:
X-Auth-Token: "{{ scw_secret_key }}"
when: item.name == "{{ project_name }}"
when: item.name == "{{ project_name_tf }}"
with_items: "{{ (output.content |from_json).clusters }}"
- name: Copy kubeconfig
copy:
src: "{{ project_terraform }}/kubeconfig"
dest: "{{ project_kubeconfig }}"

View File

@@ -1,15 +1,19 @@
- name: Create folder for image
ansible.builtin.import_tasks: create-build.yml
import_tasks: create-build.yml
tags: ["create-build"]
- name: Create cluster k8s scaleway via terraform
ansible.builtin.import_tasks: create-cluster.yml
import_tasks: create-cluster.yml
tags: ["create-cluster"]
- name: Get id Cluster
ansible.builtin.import_tasks: kubeconfig.yml
import_tasks: kubeconfig.yml
tags: ["create-cluster", "kubeconfig"]
- name: Deploy a API backend
import_tasks: deploy-backend.yml
tags: ["deploy-api"]
- name: Destroy cluster k8s scaleway via terraform
ansible.builtin.import_tasks: destroy-cluster.yml
tags: ["destroy-cluster"]
import_tasks: destroy-cluster.yml
tags: ["destroy-cluster"]

View File

@@ -0,0 +1,97 @@
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -f ../docker-compose.yml
kompose.version: 1.26.0 (40646f47)
creationTimestamp: null
labels:
io.kompose.service: backend
name: backend
spec:
replicas: 1
selector:
matchLabels:
io.kompose.service: backend
strategy: {}
template:
metadata:
annotations:
kompose.cmd: kompose convert -f ../docker-compose.yml
kompose.version: 1.26.0 (40646f47)
creationTimestamp: null
labels:
io.kompose.service: backend
spec:
imagePullSecrets:
- name: regcred
containers:
- env:
- name: POSTGRES_DB
valueFrom:
configMapKeyRef:
key: POSTGRES_DB
name: env
- name: POSTGRES_PASSWORD
valueFrom:
configMapKeyRef:
key: POSTGRES_PASSWORD
name: env
- name: POSTGRES_PORT
valueFrom:
configMapKeyRef:
key: POSTGRES_PORT
name: env
- name: POSTGRES_URL
valueFrom:
configMapKeyRef:
key: POSTGRES_URL
name: env
- name: POSTGRES_USER
valueFrom:
configMapKeyRef:
key: POSTGRES_USER
name: env
- name: REDIS_PORT
valueFrom:
configMapKeyRef:
key: REDIS_PORT
name: env
- name: REDIS_URL
valueFrom:
configMapKeyRef:
key: REDIS_URL
name: env
- name: MAILER_FROM
valueFrom:
configMapKeyRef:
key: MAILER_FROM
name: env
- name: MAILER_HOST
valueFrom:
configMapKeyRef:
key: MAILER_HOST
name: env
- name: MAILER_PORT
valueFrom:
configMapKeyRef:
key: MAILER_PORT
name: env
- name: MAILER_USERNAME
valueFrom:
configMapKeyRef:
key: MAILER_USERNAME
name: env
- name: MAILER_PASSWORD
valueFrom:
configMapKeyRef:
key: MAILER_PASSWORD
name: env
image: rg.fr-par.scw.cloud/covas/quarkus-native
name: backend
ports:
- containerPort: 8080
resources: {}
restartPolicy: Always
status: {}

View File

@@ -0,0 +1,20 @@
apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -f ../docker-compose.yml
kompose.version: 1.26.0 (40646f47)
creationTimestamp: null
labels:
io.kompose.service: backend
name: backend
spec:
ports:
- name: "{{ port }}"
port: {{ port }}
targetPort: {{ targetPort }}
type: LoadBalancer
selector:
io.kompose.service: backend
status:
loadBalancer: {}

View File

@@ -5,3 +5,10 @@ POSTGRES_URL={{ postgres_url }}
POSTGRES_PORT={{ postgres_port }}
REDIS_URL={{ redis_url }}
REDIS_PORT={{ redis_port }}
MAILER_FROM={{ mailer_from }}
MAILER_HOST={{ mailer_host }}
MAILER_PORT={{ mailer_port }}
MAILER_USERNAME={{ mailer_username }}
MAILER_PASSWORD={{ mailer_password }}

View File

@@ -0,0 +1,20 @@
apiVersion: v1
data:
POSTGRES_DB: {{ postgres_db }}
POSTGRES_PASSWORD: {{ postgres_password }}
POSTGRES_PORT: "{{ postgres_port }}"
POSTGRES_URL: {{ postgres_url }}
POSTGRES_USER: {{ postgres_user }}
REDIS_PORT: "{{ redis_port }}"
REDIS_URL: {{ redis_url }}
MAILER_FROM: {{ mailer_from }}
MAILER_HOST: {{ mailer_host }}
MAILER_PORT: "{{ mailer_port }}"
MAILER_USERNAME: {{ mailer_username }}
MAILER_PASSWORD: {{ mailer_password }}
kind: ConfigMap
metadata:
creationTimestamp: null
labels:
io.kompose.service: backend-env
name: env

View File

@@ -8,8 +8,8 @@ terraform {
}
resource "scaleway_k8s_cluster" "{{ project_name }}" {
name = "{{ project_name }}"
resource "scaleway_k8s_cluster" "{{ project_name_tf }}" {
name = "{{ project_name_tf }}"
version = "1.24.3"
cni = "cilium"
project_id = "{{ project_id }}"
@@ -17,7 +17,7 @@ terraform {
}
resource "scaleway_k8s_pool" "john" {
cluster_id = scaleway_k8s_cluster.{{ project_name }}.id
cluster_id = scaleway_k8s_cluster.{{ project_name_tf }}.id
name = "john"
node_type = "DEV1-M"
size = 1
@@ -26,9 +26,9 @@ terraform {
resource "null_resource" "kubeconfig" {
depends_on = [scaleway_k8s_pool.john] # at least one pool here
triggers = {
host = scaleway_k8s_cluster.{{ project_name }}.kubeconfig[0].host
token = scaleway_k8s_cluster.{{ project_name }}.kubeconfig[0].token
cluster_ca_certificate = scaleway_k8s_cluster.{{ project_name }}.kubeconfig[0].cluster_ca_certificate
host = scaleway_k8s_cluster.{{ project_name_tf }}.kubeconfig[0].host
token = scaleway_k8s_cluster.{{ project_name_tf }}.kubeconfig[0].token
cluster_ca_certificate = scaleway_k8s_cluster.{{ project_name_tf }}.kubeconfig[0].cluster_ca_certificate
}
}

View File

@@ -0,0 +1,11 @@
apiVersion: v1
data:
.dockerconfigjson: {{ dockerconfigjson }}
kind: Secret
metadata:
creationTimestamp: "2022-11-26T19:19:41Z"
name: regcred
namespace: default
resourceVersion: "17345802593"
uid: {{ uid_secret }}
type: kubernetes.io/dockerconfigjson

View File

@@ -0,0 +1,51 @@
version: '3.5'
services:
drone-server:
image: drone/drone:2
ports:
- 8000:80
- 9000:443
networks:
- drone
volumes:
- ./drone-data:/var/lib/drone/
- /var/run/docker.sock:/var/run/docker.sock
env_file:
- .env
restart: always
environment:
- DRONE_GITHUB_SKIP_VERIFY=true
- DRONE_AGENTS_ENABLED=true
- DRONE_SERVER_PROTO=http
- DRONE_TLS_AUTOCERT=false
- DRONE_OPEN=false
- DRONE_HOST=http://drone.valczeryba.ovh:8000
- DRONE_GITHUB=true
# Variables below set via drone.env file
# - DRONE_USER_CREATE=
# - DRONE_USER_FILTER=
# - DRONE_GITHUB_CLIENT_ID=
# - DRONE_GITHUB_CLIENT_SECRET=
# - DRONE_RPC_SECRET=
drone-agent:
image: drone/agent:1.2.1
command: agent
restart: always
depends_on:
- drone-server
networks:
- drone
volumes:
- /var/run/docker.sock:/var/run/docker.sock
env_file:
- .env
environment:
- DRONE_RPC_SERVER=drone-server:8000
# Variables below set via drone.env file
# - DRONE_RPC_SECRET=
networks:
drone:
name: drone_network

View File

@@ -7,5 +7,6 @@ services:
- "5000:5000"
environment:
REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY: /data
volumes:
- ./data:/data
- ./data:/data

3
server/tasks/debug.yml Normal file
View File

@@ -0,0 +1,3 @@
- name: debug
debug:
msg: "coucou {{ msg }}"

View File

@@ -32,4 +32,4 @@
- name: Copy docker compose server file
copy:
src: "{{ docker_compose_file }}"
dest: "{{ project_src }}/docker-compose.yml"
dest: "{{ project_src }}/docker-compose.yml"

View File

@@ -1,19 +1,24 @@
---
# tasks file for server
- name: Debug role
import_tasks: debug.yml
tags: ["debug"]
- name: Deploy services
ansible.builtin.import_tasks: deploy.yml
import_tasks: deploy.yml
tags: ["deploy", "create"]
- name: Start services
ansible.builtin.import_tasks: start.yml
import_tasks: start.yml
tags: ["deploy", "start"]
- name: stop services
ansible.builtin.import_tasks: stop.yml
import_tasks: stop.yml
tags: ["destroy", "stop"]
- name: Remove services
ansible.builtin.import_tasks: remove.yml
tags: ["destroy"]
import_tasks: remove.yml
tags: ["destroy"]

View File

@@ -15,4 +15,8 @@
- name: Remove project
file:
path: "{{ project_src }}"
state: absent
state: absent
vars:
ansible_become: yes
ansible_become_method: sudo
ansible_become_password: "{{ sudo_password }}"

View File

@@ -0,0 +1,8 @@
# Drone secret key, used for private communication between agents and web UI
DRONE_USER_CREATE=
DRONE_USER_FILTER= {{ drone_user_filter }}
DRONE_GITEA_SERVER={{ drone_gitea_server }}
DRONE_GITEA_CLIENT_ID={{ drone_gitea_client_id }}
DRONE_GITEA_CLIENT_SECRET={{ drone_gitea_client_secret }}
DRONE_RPC_SECRET={{ drone_rpc_secret }}
DRONE_SERVER_HOST={{ drone_server_host }}