From 480c7ebe37e823eec04cbdee008569246e26a5d4 Mon Sep 17 00:00:00 2001
From: "James E. Blair" <jeblair@redhat.com>
Date: Fri, 15 Feb 2019 15:59:26 -0800
Subject: [PATCH] Use host networking for gitea

Change-Id: If706c6f85022919add93e46eeb6eae1b6d948d75
---
 playbooks/roles/gitea/tasks/main.yaml                | 12 ++++++------
 playbooks/roles/gitea/templates/app.ini.j2           |  3 +--
 .../roles/gitea/templates/docker-compose.yaml.j2     |  8 +++-----
 testinfra/test_gitea.py                              |  4 ++--
 4 files changed, 12 insertions(+), 15 deletions(-)

diff --git a/playbooks/roles/gitea/tasks/main.yaml b/playbooks/roles/gitea/tasks/main.yaml
index e57626ee71..42539fdcc3 100644
--- a/playbooks/roles/gitea/tasks/main.yaml
+++ b/playbooks/roles/gitea/tasks/main.yaml
@@ -43,7 +43,7 @@
     chdir: /etc/gitea-docker/
 - name: Check if root user exists
   uri:
-    url: "https://localhost/api/v1/users/root"
+    url: "https://localhost:3000/api/v1/users/root"
     validate_certs: false
     status_code: 200, 404
   register: root_user_check
@@ -58,7 +58,7 @@
       no_log: true
 - name: Check if gerrit user exists
   uri:
-    url: "https://localhost/api/v1/users/gerrit"
+    url: "https://localhost:3000/api/v1/users/gerrit"
     validate_certs: false
     status_code: 200, 404
   register: gerrit_user_check
@@ -66,7 +66,7 @@
   when: gerrit_user_check.status==404
   no_log: true
   uri:
-    url: "https://localhost/api/v1/admin/users"
+    url: "https://localhost:3000/api/v1/admin/users"
     validate_certs: false
     method: POST
     user: root
@@ -87,7 +87,7 @@
     user: root
     password: "{{ gitea_root_password }}"
     force_basic_auth: true
-    url: "https://localhost/api/v1/users/gerrit/keys"
+    url: "https://localhost:3000/api/v1/users/gerrit/keys"
     validate_certs: false
     status_code: 200
   register: gerrit_key_check
@@ -99,7 +99,7 @@
     user: root
     password: "{{ gitea_root_password }}"
     force_basic_auth: true
-    url: "https://localhost/api/v1/user/keys/{{ gerrit_key_check.json[0].id }}"
+    url: "https://localhost:3000/api/v1/user/keys/{{ gerrit_key_check.json[0].id }}"
     validate_certs: false
     method: DELETE
     status_code: 204
@@ -110,7 +110,7 @@
     user: root
     password: "{{ gitea_root_password }}"
     force_basic_auth: true
-    url: "https://localhost/api/v1/admin/users/gerrit/keys"
+    url: "https://localhost:3000/api/v1/admin/users/gerrit/keys"
     validate_certs: false
     method: POST
     status_code: 201
diff --git a/playbooks/roles/gitea/templates/app.ini.j2 b/playbooks/roles/gitea/templates/app.ini.j2
index 639c2c817d..65172071d0 100644
--- a/playbooks/roles/gitea/templates/app.ini.j2
+++ b/playbooks/roles/gitea/templates/app.ini.j2
@@ -19,11 +19,10 @@ CERT_FILE        = /certs/cert.pem
 KEY_FILE         = /certs/key.pem
 REDIRECT_OTHER_PORT = true
 PORT_TO_REDIRECT = 3080
-LOCAL_ROOT_URL   = https://gitea-web:3000/
 
 [database]
 DB_TYPE  = mysql
-HOST     = mariadb:3306
+HOST     = localhost:3306
 NAME     = gitea
 USER     = {{ gitea_db_username }}
 PASSWD   = {{ gitea_db_password }}
diff --git a/playbooks/roles/gitea/templates/docker-compose.yaml.j2 b/playbooks/roles/gitea/templates/docker-compose.yaml.j2
index 593a851f0a..cc9c9eea4f 100644
--- a/playbooks/roles/gitea/templates/docker-compose.yaml.j2
+++ b/playbooks/roles/gitea/templates/docker-compose.yaml.j2
@@ -5,6 +5,7 @@ version: '2'
 services:
   mariadb:
     image: mariadb
+    network_mode: host
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: "{{ gitea_root_db_password }}"
@@ -17,6 +18,7 @@ services:
     depends_on:
       - mariadb
     image: opendevorg/gitea:latest
+    network_mode: host
     restart: always
     environment:
       - USER_UID=1000
@@ -26,16 +28,12 @@ services:
       - /var/gitea/conf:/custom/conf
       - /var/gitea/logs:/logs
       - /var/gitea/certs:/certs
-    ports:
-      - "443:3000"
-      - "80:3080"
   gitea-ssh:
     depends_on:
       - mariadb
     image: opendevorg/gitea-openssh
+    network_mode: host
     restart: always
-    ports:
-      - "222:22"
     volumes:
       - /var/gitea/data:/data
       - /var/gitea/conf:/custom/conf
diff --git a/testinfra/test_gitea.py b/testinfra/test_gitea.py
index 35b5133a76..7acb3b767b 100644
--- a/testinfra/test_gitea.py
+++ b/testinfra/test_gitea.py
@@ -17,9 +17,9 @@ testinfra_hosts = ['gitea01.opendev.org']
 
 
 def test_gitea_listening(host):
-    gitea_https = host.socket("tcp://0.0.0.0:443")
+    gitea_https = host.socket("tcp://0.0.0.0:3000")
     assert gitea_https.is_listening
-    gitea_http = host.socket("tcp://0.0.0.0:80")
+    gitea_http = host.socket("tcp://0.0.0.0:3080")
     assert gitea_http.is_listening
     gitea_ssh = host.socket("tcp://0.0.0.0:222")
     assert gitea_ssh.is_listening