This commit is contained in:
Eric Meehan 2024-11-18 19:08:05 -05:00
parent 67778bbe57
commit 81b3f9b324
3 changed files with 58 additions and 148 deletions

View File

@ -1,5 +1,5 @@
--- ---
# tasks file for gitlab # tasks file for gitea
- name: Create git namespace - name: Create git namespace
k8s: k8s:
state: present state: present
@ -9,14 +9,14 @@
metadata: metadata:
name: git name: git
- name: Create PVC for PostgreSQL - name: Create PVC for MySQL
k8s: k8s:
state: present state: present
definition: definition:
apiVersion: v1 apiVersion: v1
kind: PersistentVolumeClaim kind: PersistentVolumeClaim
metadata: metadata:
name: postgres name: mysql
namespace: git namespace: git
spec: spec:
accessModes: accessModes:
@ -25,74 +25,74 @@
requests: requests:
storage: 64Gi storage: 64Gi
- name: Create Deployment for PostgreSQL - name: Create Deployment for MySQL
k8s: k8s:
state: present state: present
definition: definition:
apiVersion: v1 apiVersion: v1
kind: Deployment kind: Deployment
metadata: metadata:
name: postgres name: mysql
namespace: git namespace: git
labels: labels:
app: postgres app: mysql
spec: spec:
replicas: 1 replicas: 1
selector: selector:
matchLabels: matchLabels:
app: postgres app: mysql
template: template:
metadata: metadata:
labels: labels:
app: postgres app: mysql
spec: spec:
containers: containers:
- name: postgres - name: mysql
image: postgres image: mysql
volumeMounts: volumeMounts:
- name: data - name: data
mountPath: /var/lib/postgresql/data mountPath: /var/lib/mysql
ports: ports:
- containerPort: 5432 - containerPort: 3306
env: env:
- name: PGDATA - name: MYSQL_ROOT_PASSWORD
value: /var/lib/postgresql/data/pgdata value: "{{ mysql_root_password }}"
- name: POSTGRES_DB - name: MYSQL_DATABASE
value: gitlabhq_production value: gitea
- name: POSTGRES_USER - name: MYSQL_USER
value: gitlab value: gitea
- name: POSTGRES_PASSWORD - name: MYSQL_PASSWORD
value: "{{ gitlab_postgres_password }}" value: "{{ gitea_mysql_password }}"
volumes: volumes:
- name: data - name: data
persistentVolumeClaim: persistentVolumeClaim:
claimName: postgres claimName: mysql
- name: Create Service for PostgreSQL - name: Create Service for MySQL
k8s: k8s:
state: present state: present
definition: definition:
apiVersion: v1 apiVersion: v1
kind: Service kind: Service
metadata: metadata:
name: postgres name: mysql
namespace: git namespace: git
spec: spec:
selector: selector:
app: postgres app: mysql
ports: ports:
- port: 5432 - port: 3306
name: postgres name: mysql
type: ClusterIP type: ClusterIP
- name: Create PVC for GitLab - name: Create PVC for Gitea
k8s: k8s:
state: present state: present
definition: definition:
apiVersion: v1 apiVersion: v1
kind: PersistentVolumeClaim kind: PersistentVolumeClaim
metadata: metadata:
name: gitlab name: gitea
namespace: git namespace: git
spec: spec:
accessModes: accessModes:
@ -101,65 +101,51 @@
requests: requests:
storage: 128Gi storage: 128Gi
- name: Create Deployment for GitLab - name: Create Deployment for Gitea
k8s: k8s:
state: present state: present
definition: definition:
apiVersion: v1 apiVersion: v1
kind: Deployment kind: Deployment
metadata: metadata:
name: gitlab name: gitea
namespace: git namespace: git
labels: labels:
app: gitlab app: gitea
spec: spec:
replicas: 1 replicas: 1
selector: selector:
matchLabels: matchLabels:
app: gitlab app: gitea
template: template:
metadata: metadata:
labels: labels:
app: gitlab app: gitea
spec: spec:
containers: containers:
- name: gitlab - name: gitea
image: gitlab/gitlab-ce image: gitea/gitea
volumeMounts: volumeMounts:
- name: data - name: data
mountPath: /var/opt/gitlab mountPath: /data
ports: ports:
- containerPort: 80 - containerPort: 3000
- containerPort: 22 - containerPort: 22
env: env:
- name: GITLAB_OMNIBUS_CONFIG - name: GITEA__database__DB_TYPE
value: > value: mysql
external_url 'https://git.eom.dev/'; - name: GITEA__database__HOST
postgresql['enable'] = false; value: mysql
gitlab_rails['lfs_enabled'] = true; - name: GITEA__database__NAME
gitlab_rails['db_adapter'] = 'postgresql'; value: gitea
gitlab_rails['db_host'] = 'postgres'; - name: GITEA__database__USER
gitlab_rails['db_password'] = '{{ gitlab_postgres_password }}'; value: gitea
nginx['listen_port'] = 80; - name: GITEA__database__PASSWD
nginx['listen_https'] = false; value: "{{ gitea_mysql_password }}"
gitlab_rails['ldap_enabled'] = true;
gitlab_rails['ldap_servers'] = {
'main' => {
'label' => 'OpenLDAP',
'host' => 'openldap.auth.svc.cluster.local',
'port' => 389,
'encryption' => 'plain',
'uid' => 'uid',
'bind_dn' => 'cn=readonly,dc=eom,dc=dev',
'password' => '{{ ldap_readonly_password }}',
'base' => 'dc=eom,dc=dev',
'user_filter' => '(|(objectclass=inetOrgPerson))'
}
}
volumes: volumes:
- name: data - name: data
persistentVolumeClaim: persistentVolumeClaim:
claimName: gitlab claimName: gitea
- name: Create Service for GitLab - name: Create Service for GitLab
k8s: k8s:
@ -168,15 +154,16 @@
apiVersion: v1 apiVersion: v1
kind: Service kind: Service
metadata: metadata:
name: gitlab name: gitea
namespace: git namespace: git
spec: spec:
selector: selector:
app: gitlab app: gitea
ports: ports:
- port: 22 - port: 22
name: ssh name: ssh
- port: 80 - port: 80
targetPort: 3000
name: http name: http
type: LoadBalancer type: LoadBalancer
@ -189,7 +176,7 @@
metadata: metadata:
annotations: annotations:
cert-manager.io/cluster-issuer: ca-issuer cert-manager.io/cluster-issuer: ca-issuer
name: gitlab name: gitea
namespace: git namespace: git
spec: spec:
ingressClassName: nginx ingressClassName: nginx
@ -201,10 +188,10 @@
path: / path: /
backend: backend:
service: service:
name: gitlab name: gitea
port: port:
number: 80 number: 80
tls: tls:
- hosts: - hosts:
- git.eom.dev - git.eom.dev
secretName: gitlab secretName: gitea

View File

@ -1,4 +1,4 @@
--- ---
# tasks file for eom # tasks file for eom
- name: Deploy - name: Deploy
include_tasks: social.yaml include_tasks: git.yaml

View File

@ -9,82 +9,6 @@
metadata: metadata:
name: stream name: stream
- name: Create PVC for PostgreSQL
k8s:
state: present
definition:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: postgres
namespace: stream
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 64Gi
- name: Create Deployment for PostgreSQL
k8s:
state: present
definition:
apiVersion: v1
kind: Deployment
metadata:
name: postgres
namespace: stream
labels:
app: postgres
spec:
replicas: 1
selector:
matchLabels:
app: postgres
template:
metadata:
labels:
app: postgres
spec:
containers:
- name: postgres
image: postgres
volumeMounts:
- name: data
mountPath: /var/lib/postgresql/data
ports:
- containerPort: 5432
env:
- name: PGDATA
value: /var/lib/postgresql/data/pgdata
- name: POSTGRES_DB
value: owncast
- name: POSTGRES_USER
value: owncast
- name: POSTGRES_PASSWORD
value: "{{ owncast_postgres_password }}"
volumes:
- name: data
persistentVolumeClaim:
claimName: postgres
- name: Create Service for PostgreSQL
k8s:
state: present
definition:
apiVersion: v1
kind: Service
metadata:
name: postgres
namespace: stream
spec:
selector:
app: postgres
ports:
- port: 5432
name: postgres
type: ClusterIP
- name: Create PVC for OwnCast - name: Create PVC for OwnCast
k8s: k8s:
state: present state: present
@ -152,8 +76,7 @@
ports: ports:
- port: 1935 - port: 1935
name: rtmp name: rtmp
- port: 80 - port: 8080
targetPort: 8080
name: http name: http
type: LoadBalancer type: LoadBalancer
@ -178,9 +101,9 @@
path: / path: /
backend: backend:
service: service:
name: stream name: owncast
port: port:
number: 80 number: 8080
tls: tls:
- hosts: - hosts:
- stream.eom.dev - stream.eom.dev