commit message from python script
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
gitlab_dir:
|
gitlab_dir:
|
||||||
- "/home/{{ansible_user}}/.gitlab"
|
- "/home/{{ansible_user}}/.gitlab2"
|
||||||
- "/home/{{ansible_user}}/.gitlab/config"
|
- "/home/{{ansible_user}}/.gitlab2/config"
|
||||||
- "/home/{{ansible_user}}/.gitlab/log"
|
- "/home/{{ansible_user}}/.gitlab2/log"
|
||||||
- "/home/{{ansible_user}}/.gitlab/data"
|
- "/home/{{ansible_user}}/.gitlab2/data"
|
||||||
|
- "/home/{{ansible_user}}/.gitlab2/cert"
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
53
gitlab/roles/docker_gitlab/files/traefik.yml
Executable file
53
gitlab/roles/docker_gitlab/files/traefik.yml
Executable file
@@ -0,0 +1,53 @@
|
|||||||
|
global:
|
||||||
|
checkNewVersion: true
|
||||||
|
sendAnonymousUsage: false
|
||||||
|
|
||||||
|
log:
|
||||||
|
level: DEBUG
|
||||||
|
|
||||||
|
accessLog:
|
||||||
|
filePath: "/certs/access.log"
|
||||||
|
format: json
|
||||||
|
|
||||||
|
entryPoints:
|
||||||
|
web:
|
||||||
|
address: ":80"
|
||||||
|
websecure:
|
||||||
|
address: ":443"
|
||||||
|
providers:
|
||||||
|
docker:
|
||||||
|
endpoint: "unix:///var/run/docker.sock"
|
||||||
|
exposedByDefault: false
|
||||||
|
file:
|
||||||
|
filename: /etc/traefik/traefik.yml # THIS IS THE IMPORTANT PART
|
||||||
|
watch: true
|
||||||
|
|
||||||
|
api:
|
||||||
|
dashboard: true
|
||||||
|
# insecure: true
|
||||||
|
|
||||||
|
http:
|
||||||
|
routers:
|
||||||
|
middlewares:
|
||||||
|
redirect:
|
||||||
|
redirectScheme:
|
||||||
|
scheme: https
|
||||||
|
|
||||||
|
tls:
|
||||||
|
stores:
|
||||||
|
default:
|
||||||
|
defaultCertificate:
|
||||||
|
certFile: "/certs/gitlab.cer"
|
||||||
|
keyFile: "/certs/gitlab.key"
|
||||||
|
certificates:
|
||||||
|
- certFile: "/certs/gitlab.cer"
|
||||||
|
keyFile: "/certs/gitlab.key"
|
||||||
|
options:
|
||||||
|
myTLSOptions:
|
||||||
|
minVersion: versionTLS13
|
||||||
|
cipherSuites:
|
||||||
|
- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
|
||||||
|
- TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305
|
||||||
|
- TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305
|
||||||
|
- TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
|
||||||
|
- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
|
||||||
@@ -7,6 +7,37 @@
|
|||||||
group: "{{ansible_user}}"
|
group: "{{ansible_user}}"
|
||||||
mode: 0777
|
mode: 0777
|
||||||
|
|
||||||
|
- name: Copy traefik Config
|
||||||
|
copy:
|
||||||
|
src: traefik.yml
|
||||||
|
dest: "{{gitlab_dir[0]}}/traefik.yml"
|
||||||
|
owner: "{{ansible_user}}"
|
||||||
|
group: "{{ansible_user}}"
|
||||||
|
mode: 0777
|
||||||
|
|
||||||
|
- name: Generate an OpenSSL private key with the default values (4096 bits, RSA)
|
||||||
|
openssl_privatekey:
|
||||||
|
path: "{{gitlab_dir[4]}}/gitlab.key"
|
||||||
|
|
||||||
|
- name: Generate an OpenSSL Certificate Signing Request
|
||||||
|
openssl_csr:
|
||||||
|
path: "{{gitlab_dir[4]}}/gitlab.csr"
|
||||||
|
privatekey_path: "{{gitlab_dir[4]}}/gitlab.key"
|
||||||
|
common_name: gitlab.man-dan-03
|
||||||
|
subject_alt_name: "{{ item.value | map('regex_replace', '^', 'DNS:') | list }}"
|
||||||
|
with_dict:
|
||||||
|
dns_server:
|
||||||
|
#- j337114.servers.jiffybox.net
|
||||||
|
#- "{{ansible_hostname}}"
|
||||||
|
- "man-dan-03"
|
||||||
|
|
||||||
|
- name: Generate a Self Signed OpenSSL certificate
|
||||||
|
openssl_certificate:
|
||||||
|
path: "{{gitlab_dir[4]}}/gitlab.cer"
|
||||||
|
privatekey_path: "{{gitlab_dir[4]}}/gitlab.key"
|
||||||
|
csr_path: "{{gitlab_dir[4]}}/gitlab.csr"
|
||||||
|
provider: selfsigned
|
||||||
|
|
||||||
#- name: deploy Docker Compose stack
|
#- name: deploy Docker Compose stack
|
||||||
# docker_compose:
|
# docker_compose:
|
||||||
# project_src: "{{jenkins_dir[0]}}"
|
# project_src: "{{jenkins_dir[0]}}"
|
||||||
|
|||||||
@@ -1,5 +1,37 @@
|
|||||||
version: '3.8'
|
version: '3.8'
|
||||||
services:
|
services:
|
||||||
|
traefik:
|
||||||
|
image: traefik:latest
|
||||||
|
command:
|
||||||
|
- "--api=true"
|
||||||
|
- "--api.dashboard=true"
|
||||||
|
- "--log.level=DEBUG"
|
||||||
|
- "--providers.docker=true"
|
||||||
|
- "--providers.docker.exposedbydefault=false"
|
||||||
|
- "--providers.docker.network=web"
|
||||||
|
- "--entrypoints.web.address=:80"
|
||||||
|
- "--entrypoints.websecure.address=:443"
|
||||||
|
# - "--certificatesresolvers.myresolver.acme.httpchallenge=true"
|
||||||
|
# - "--certificatesresolvers.myresolver.acme.httpchallenge.entrypoint=web"
|
||||||
|
# für Testzwecke geeignet, da Let's Encrypt "rate limiting" einsetzt
|
||||||
|
# - "--certificatesresolvers.myresolver.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory"
|
||||||
|
# - "--certificatesresolvers.myresolver.acme.email=webmaster@example.net"
|
||||||
|
# - "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- traefik.http.routers.api.rule=Host("traefik.{{ansible_hostname}}")
|
||||||
|
- "traefik.http.routers.api.service=api@internal"
|
||||||
|
- "traefik.http.routers.api.middlewares=auth"
|
||||||
|
- "traefik.http.middlewares.auth.basicauth.users=JonnyBravo:$$apr1$$sl3.va5H$$DwEAtzKda4XA6lypIZ/271"
|
||||||
|
- "traefik.http.routers.api.entrypoints=websecure"
|
||||||
|
- "traefik.http.routers.api.tls=true"
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
- {{gitlab_dir[0]}}/traefik.yml:/etc/traefik/traefik.yml
|
||||||
|
- {{gitlab_dir[4]}}:/certs
|
||||||
|
ports:
|
||||||
|
- 80:80
|
||||||
|
- 443:443
|
||||||
web:
|
web:
|
||||||
image: 'gitlab/gitlab-ce:latest'
|
image: 'gitlab/gitlab-ce:latest'
|
||||||
restart: always
|
restart: always
|
||||||
@@ -9,11 +41,16 @@ services:
|
|||||||
GITLAB_OMNIBUS_CONFIG: |
|
GITLAB_OMNIBUS_CONFIG: |
|
||||||
external_url 'http://{{ansible_host}}:{{web_port}}'
|
external_url 'http://{{ansible_host}}:{{web_port}}'
|
||||||
gitlab_rails['gitlab_shell_ssh_port'] = {{ssh_port}}
|
gitlab_rails['gitlab_shell_ssh_port'] = {{ssh_port}}
|
||||||
|
nginx['listen_port'] = 80
|
||||||
ports:
|
ports:
|
||||||
- '{{web_port}}:8929'
|
|
||||||
- '{{ssh_port}}:22'
|
- '{{ssh_port}}:22'
|
||||||
volumes:
|
volumes:
|
||||||
- '{{gitlab_dir[1]}}:/etc/gitlab'
|
- '{{gitlab_dir[1]}}:/etc/gitlab'
|
||||||
- '{{gitlab_dir[2]}}:/var/log/gitlab'
|
- '{{gitlab_dir[2]}}:/var/log/gitlab'
|
||||||
- '{{gitlab_dir[3]}}:/var/opt/gitlab'
|
- '{{gitlab_dir[3]}}:/var/opt/gitlab'
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- traefik.http.routers.wordpress.rule=Host("gitlab.{{ansible_hostname}}")
|
||||||
|
- "traefik.http.routers.wordpress.entrypoints=websecure"
|
||||||
|
- "traefik.http.routers.wordpress.tls=true"
|
||||||
shm_size: '{{shm_size}}'
|
shm_size: '{{shm_size}}'
|
||||||
Reference in New Issue
Block a user