Compare commits

...

29 Commits

Author SHA1 Message Date
35c46449fa fix: fixed multiple issues in the values.yaml of peertube package 2023-05-10 16:47:13 +02:00
575a2fa87a fix: added s-adm to resolv.conf for s-peertube 2023-05-10 11:26:27 +02:00
Elam Monnot
30b74c50e2 fix: edites dns entries and peertube role 2023-05-10 11:02:40 +02:00
597ff383f7 feat: tried to add peertube domain entry in CNAME 2023-05-10 09:08:03 +02:00
c482540de6 fix: removed peertube from dns rev file 2023-05-10 08:51:57 +02:00
ce37973f9d feat: added s-infra to peertube role 2023-05-10 08:45:11 +02:00
andgel sassignol
a2c1636a0f correction bug Arnoux 2023-04-30 20:27:14 +02:00
Anthony Arnoux
d107c26449 délais dhcp r-int dhcp 2023-04-28 09:39:52 +02:00
Elam Monnot
d0efb480c8 feat: specified k3s install on enp0s8 2023-04-28 09:00:47 +02:00
Elam Monnot
be47dbabd2 fix: fixed peertube ingress and dns record 2023-04-26 11:09:42 +02:00
24d8892b4c Mise à jour de 'roles/fog/tasks/main.yml' 2023-04-23 17:47:58 +02:00
Elam Monnot
2c828574ef fix: dhcp start correctly on r-int 2023-04-07 09:50:59 +02:00
Elam Monnot
a5f0d258a5 feat: peertube work 2023-04-07 08:49:45 +02:00
Elam Monnot
52b9f3af87 feat: changed ingress for peertube 2023-04-06 11:39:09 +02:00
8dc1f9a891 Ajout creation utilisateur nextcloud Windows 2023-04-06 10:58:52 +02:00
Anthony Arnoux
0d3860211b readme wireguard-l était bancal 2023-04-06 10:48:27 +02:00
Anthony Arnoux
7a2311ae25 readme wireguard-l 2023-04-06 10:43:54 +02:00
Anthony Arnoux
ebcd50bf69 elam qui fait nimporte quoi encore une fois ! 2023-04-06 09:19:45 +02:00
Elam Monnot
30eeabb58b feat: added nginx ingress 2023-04-06 09:15:43 +02:00
Anthony Arnoux
542978fd75 correctif filtrage r-vp2 2023-04-06 08:42:14 +02:00
b7d8e6e9d4 Merge branch 'main' of https://gitea.lyc-lecastel.fr/gadmin/gsb2023 2023-04-05 17:22:11 +02:00
5526eab214 Ajout intégration AD Nextcloud 2023-04-05 17:20:26 +02:00
Elam Monnot
ea4ecb2fae feat: changed the way the playbook behave 2023-04-05 17:17:15 +02:00
Elam Monnot
58f4556a53 fix: tried to make peertube role work 2023-04-05 16:54:11 +02:00
Elam Monnot
86e7124f24 fix: edited values.yaml so postfix will work 2023-04-05 16:39:02 +02:00
Elam Monnot
c99642eae3 fix: made cluster finally reachable 2023-04-05 16:35:35 +02:00
Elam Monnot
5b759a24c9 Merge branch 'main' of https://gitea.lyc-lecastel.fr/gadmin/gsb2023 2023-04-05 10:57:07 +02:00
Elam Monnot
a64004d713 feat: added dns records for peertube 2023-04-05 10:56:43 +02:00
root
dd6d34986b fw filtrage int ok 2023-04-05 10:49:31 +02:00
21 changed files with 94 additions and 44 deletions

View File

@ -7,7 +7,7 @@ Ce document décrit les divers élements du projet GSB du BTS SIO utilisé pour
Le projet GSB décrit les diférents playbooks permttant d'installer les Le projet GSB décrit les diférents playbooks permttant d'installer les
machines du projet GSB machines du projet GSB
Les répertoires : Les répertoires :
- roles : les roles - roles : les roles
- goss : les outils de test - goss : les outils de test

View File

@ -28,7 +28,7 @@
192.168.99.103 s-lb-web3.gsb.adm 192.168.99.103 s-lb-web3.gsb.adm
192.168.99.112 r-vp1.gsb.adm 192.168.99.112 r-vp1.gsb.adm
192.168.99.102 r-vp2.gsb.adm 192.168.99.102 r-vp2.gsb.adm
192.168.99.120 s-peertube.gsb.adm
192.168.99.8 syslog.gsb.adm 192.168.99.8 syslog.gsb.adm

View File

@ -27,6 +27,6 @@
192.168.99.103 s-lb-web3.gsb.adm 192.168.99.103 s-lb-web3.gsb.adm
192.168.99.112 r-vp1.gsb.adm 192.168.99.112 r-vp1.gsb.adm
192.168.99.102 r-vp2.gsb.adm 192.168.99.102 r-vp2.gsb.adm
192.168.99.120 s-peertube.gsb.adm
192.168.99.8 syslog.gsb.adm 192.168.99.8 syslog.gsb.adm

View File

@ -5,7 +5,7 @@
; ;
$TTL 604800 $TTL 604800
@ IN SOA s-infra.gsb.lan. root.s-infra.gsb.lan. ( @ IN SOA s-infra.gsb.lan. root.s-infra.gsb.lan. (
2023012500 ; Serial 2023051000 ; Serial
7200 ; Refresh 7200 ; Refresh
86400 ; Retry 86400 ; Retry
8419200 ; Expire 8419200 ; Expire
@ -35,4 +35,6 @@ s-web1 IN A 192.168.101.1
s-web2 IN A 192.168.101.2 s-web2 IN A 192.168.101.2
s-lb.gsb.lan IN A 192.168.100.10 s-lb.gsb.lan IN A 192.168.100.10
ns IN CNAME s-infra.gsb.lan. ns IN CNAME s-infra.gsb.lan.
wpad IN CNAME s-infra.gsb.lan. wpad IN CNAME s-infra.gsb.lan.
s-peertube IN A 192.168.100.20
peertube IN CNAME s-peertube

View File

@ -5,7 +5,7 @@
; ;
$TTL 604800 $TTL 604800
@ IN SOA s-infra.gsb.lan. root.s-infra.gsb.lan. ( @ IN SOA s-infra.gsb.lan. root.s-infra.gsb.lan. (
2023012500 ; Serial 2023040501 ; Serial
7200 ; Refresh 7200 ; Refresh
86400 ; Retry 86400 ; Retry
8419200 ; Expire 8419200 ; Expire
@ -27,5 +27,4 @@ $TTL 604800
100.10 IN PTR s-lb.gsb.lan 100.10 IN PTR s-lb.gsb.lan
11.0 IN PTR s-elk.gsb.lan. 11.0 IN PTR s-elk.gsb.lan.
17.0 IN PTR s-gestsup.lan 17.0 IN PTR s-gestsup.lan
254.0 IN PTR r-int.gsb.lan. 254.0 IN PTR r-int.gsb.lan.

View File

@ -22,5 +22,5 @@
command: "cp /root/tools/ansible/roles/fog/files/fogsettings /opt/fog/" command: "cp /root/tools/ansible/roles/fog/files/fogsettings /opt/fog/"
- name: fichier fogsettings en .fogsettings - name: fichier fogsettings en .fogsettings
command: "mv /opt/fog/fogsettings /opt/fog/.fogsettings" command: "mv /opt/fog/fogsettings /opt/fog/.fogsettings"

View File

@ -4,10 +4,12 @@
@def $DEV_PRIVATE = enp0s8; @def $DEV_PRIVATE = enp0s8;
@def $DEV_WORLD = enp0s9; @def $DEV_WORLD = enp0s9;
@def $DEV_WORLD = enp0s9;
@def $DEV_VPN= wg0; @def $DEV_VPN= wg0;
@def $NET_PRIVATE = 172.16.0.0/24; @def $NET_PRIVATE = 172.16.0.0/24;
table filter { table filter {
chain (INPUT OUTPUT){ chain (INPUT OUTPUT){
# allow VPN # allow VPN
proto udp dport 51820 ACCEPT; proto udp dport 51820 ACCEPT;
@ -28,22 +30,22 @@ table filter {
# allow SSH connections from the private network and from some # allow SSH connections from the private network and from some
# well-known internet hosts # well-known internet hosts
saddr ($NET_PRIVATE 81.209.165.42) proto tcp dport ssh ACCEPT; saddr ($NET_PRIVATE) proto tcp dport ssh ACCEPT;
# we provide DNS and SMTP services for the internal net # we provide DNS and SMTP services for the internal net
interface $DEV_PRIVATE saddr $NET_PRIVATE { interface $DEV_PRIVATE saddr $NET_PRIVATE {
proto (udp tcp) dport domain ACCEPT; proto (udp tcp) dport domain ACCEPT;
proto udp dport bootps ACCEPT; proto udp dport bootps ACCEPT;
} }
# interface réseau
# the rest is dropped by the above policy # the rest is dropped by the above policy
}#FIN INPUT }#FIN INPUT
# outgoing connections are not limited # outgoing connections are not limited
chain OUTPUT { chain OUTPUT {
policy ACCEPT; policy ACCEPT;
# interface $DEV_VPN proto ssh dport 22 ACCEPT;
}#FIN OUTPUT }#FIN OUTPUT
@ -59,6 +61,9 @@ table filter {
# internal nets are allowed # internal nets are allowed
interface $DEV_PRIVATE ACCEPT; interface $DEV_PRIVATE ACCEPT;
interface $DEV_VPN daddr $NET_PRIVATE {
proto tcp dport ssh DROP;
}
# the rest is dropped by the above policy # the rest is dropped by the above policy
} }
} }

View File

@ -51,6 +51,7 @@ table filter {
chain FORWARD { chain FORWARD {
policy ACCEPT; policy ACCEPT;
proto icmp icmp-type echo-request ACCEPT;
# connection tracking # connection tracking
mod state state INVALID DROP; mod state state INVALID DROP;
mod state state (ESTABLISHED RELATED) ACCEPT; mod state state (ESTABLISHED RELATED) ACCEPT;

View File

@ -35,3 +35,24 @@ Nextcloud est alors fonctionnel avec le proxy inverse **traefik** assurant la re
ATTENTION : Après avoir relancé la VM, executez le script "nxc-start.sh" afin d'installer les piles applicatives. ATTENTION : Après avoir relancé la VM, executez le script "nxc-start.sh" afin d'installer les piles applicatives.
Une fois le script terminé, le site est disponible ici : https://s-nxc.gsb.lan Une fois le script terminé, le site est disponible ici : https://s-nxc.gsb.lan
## 5. Ajout authentification LDAP
Pour ajouter l'authentification LDAP au Nextcloud, il faut :
* Une fois l'installation de Nextcloud terminé, cliquez sur le profil et Application
* Dans vos applications, descendre et activer "LDAP user and group backend"
* Puis cliquer sur le profil, puis Paramètres d'administration et dans Administration cliquer sur Intégration LDAP/AD
* Une fois sur la page d'intégration LDAP/AD :
* Dans Hôte mettre :
> ldap://s-win.gsb.lan
* Cliquer sur Détecter le port (normalement le port 389 apparait)
* Dans DN Utilisateur mettre :
> CN=nextcloud,CN=Users,DC=GSB,DC=LAN
* Mot de passe :
> Azerty1+
* Et dans Un DN de base par ligne :
> DC=GSB,DC=LAN
* Après la configuration passe OK
* Une fois la configuration finie, cliquer 3 fois sur continuer
* Une fois arrivé sur Groupes, vous pouvez vous déconnecter du compte Admin et vous connecter avec un compte qui est dans l'AD.

View File

@ -8,16 +8,15 @@
- name: installation de docker... - name: installation de docker...
shell: curl https://releases.rancher.com/install-docker/20.10.sh | sh shell: curl https://releases.rancher.com/install-docker/20.10.sh | sh
- name: attente de l'installation... - name: attente de l'installation de docker...
wait_for: wait_for:
timeout: 30 timeout: 30
host: localhost host: localhost
- name: installation de k3s... - name: installation de k3s...
shell: curl -sfL https://get.k3s.io | sh -s - --docker shell: curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="--node-ip=192.168.100.20 --flannel-iface=enp0s8" sh -s - --docker
- name: mise a jour de resolv.conf... - name: attente de l'installation de k3s...
copy: wait_for:
src: /root/tools/ansible/gsb2023/roles/peertube/files/resolv.conf timeout: 25
dest: /etc/ host: localhost
mode: '0644'

View File

@ -0,0 +1,9 @@
MYHOST=peertube.gsb.lan;
export KUBECONFIG=/etc/rancher/k3s/k3s.yaml;
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout tls.key -out tls.cert -subj /CN="${MYHOST}"/O="${MYHOST}" -addext "subjectAltName = DNS:${MYHOST}";
kubectl create secret tls tls-peertube --key tls.key --cert tls.cert;
helm repo add postgresql https://charts.bitnami.com/bitnami;
helm repo add redis https://charts.bitnami.com/bitnami;
helm repo add mail https://bokysan.github.io/docker-postfix;
helm install --create-namespace -n peertube peertube-gsb /root/tools/peertube/helm/ ;
kubectl config view --raw > ~/.kube/config

View File

@ -1 +1,4 @@
nameserver 192.168.99.99 domain gsb.lan
search gsb.lan
nameserver 172.16.0.1
nameserver 192.168.99.99

View File

@ -45,9 +45,9 @@ peertube:
dbPasswd: user # must be consistent with postgresql configuration dbPasswd: user # must be consistent with postgresql configuration
dbSsl: false # disabled by default WARNING: ssl connection feature not tested, use at your own risk dbSsl: false # disabled by default WARNING: ssl connection feature not tested, use at your own risk
dbHostname: peertube-gsb-postgresql # must be consistent with postgresql configuration dbHostname: peertube-gsb-postgresql # must be consistent with postgresql configuration
webHostname: peertube # must be changed to your local setup webHostname: peertube.gsb.lan # must be changed to your local setup
secret: b2753b0f37444974de0e81f04815e6a889fcf8960bd203a01b624d8fa8a37683 secret: b2753b0f37444974de0e81f04815e6a889fcf8960bd203a01b624d8fa8a37683
smtpHostname: peertube-mail # must be consistent with mail configuration smtpHostname: peertube-gsb-mail # must be consistent with mail configuration
smtpPort: 587 # must be consistent with mail configuration smtpPort: 587 # must be consistent with mail configuration
smtpFrom: noreply@lan.lan # not configured by default, add something meaningfull if you want smtpFrom: noreply@lan.lan # not configured by default, add something meaningfull if you want
smtpTls: false # disabled by default WARNING: tls connection feature not tested, use at your own risk smtpTls: false # disabled by default WARNING: tls connection feature not tested, use at your own risk
@ -98,21 +98,21 @@ redis:
## ingress configuration is very specific this part must be configured or else you'll get 503 or 404 errors ## ingress configuration is very specific this part must be configured or else you'll get 503 or 404 errors
ingress: ingress:
enabled: false enabled: true
className: "" className: ""
annotations: annotations:
kubernetes.io/ingress.class: nginx kubernetes.io/ingress.class: traefik
nginx.ingress.kubernetes.io/proxy-body-size: 4G # this caps the size of imported videos, if set low this might prevent you from uploading videos traefik.ingress.kubernetes.io/proxy-body-size: 6G # this caps the size of imported videos, if set low this might prevent you from uploading videos
# kubernetes.io/tls-acme: "true" # kubernetes.io/tls-acme: "true"
hosts: hosts:
- host: # your domain here - host: peertube.gsb.lan
paths: paths:
- path: / - path: /
pathType: ImplementationSpecific pathType: ImplementationSpecific
tls: tls:
# - secretName: chart-example-tls - secretName: tls-peertube
- hosts: - hosts:
- # your domain here - peertube.gsb.lan
resources: {} resources: {}
autoscaling: autoscaling:

View File

@ -18,14 +18,11 @@
dest: /root/tools/peertube/helm/ dest: /root/tools/peertube/helm/
mode: '0644' mode: '0644'
- name: copie du script finish...
copy:
src: /root/tools/ansible/gsb2023/roles/peertube/files/finish
dest: /root
mode: '0644'
- name: installation de helm... - name: installation de helm...
shell: curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash shell: curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
- name: exposition du cluster...
shell: export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
- name: installation de peertube...
shell: helm repo add postgresql https://charts.bitnami.com/bitnami && helm repo add redis https://charts.bitnami.com/bitnami && helm repo add mail https://bokysan.github.io/docker-postfix
- name: lancement du helm chart peertube...
shell: helm install --create-namespace -n peertube peertube-gsb /root/tools/peertube/helm

View File

@ -34,4 +34,4 @@ iface enp0s10 inet static
allow-hotplug enp0s16 allow-hotplug enp0s16
iface enp0s16 inet static iface enp0s16 inet static
address 172.16.0.254/24 address 172.16.0.254/24
post-up sleep 10 && systemctl restart isc-dhcp-server

View File

@ -14,4 +14,4 @@ iface enp0s3 inet static
allow-hotplug enp0s8 allow-hotplug enp0s8
iface enp0s8 inet static iface enp0s8 inet static
address 192.168.100.20/24 address 192.168.100.20/24
post-up systemctl start k3s && sleep 20 && export KUBECONFIG=/etc/rancher/k3s/k3s.yaml post-up systemctl start k3s

View File

@ -17,3 +17,13 @@
#- name: extraction fog.tar.gz #- name: extraction fog.tar.gz
#unarchive: src=/tmp/fog.tar.gz dest=/var/www/ copy=no #unarchive: src=/tmp/fog.tar.gz dest=/var/www/ copy=no
#- name: delais 2 secondes isc-dhcp-service
# become: yes
# lineinfile:
# path: /etc/init.d/isc-dhcp-server
# insertafter: '^\s+start\)$'
# line: " sleep 2"
# firstmatch: yes
# state: present
# backup: yes

View File

@ -1,5 +1,5 @@
#ajout du sleep 5 # ajout du sleep 5
éditer "/etc/init.d/isc-dhcp-server" ~~éditer "/etc/init.d/isc-dhcp-server"~~
aller au "case \"$1\" in" et rajouter "sleep 5" avant le "if" ~~aller au "case \"$1\" in" et rajouter "sleep 5" avant le "if"~~

View File

@ -1,3 +1,4 @@
@echo off
net group gg-backup /ADD net group gg-backup /ADD
call mkusr uBackup "u-backup" gg-backup call mkusr uBackup "u-backup" gg-backup
icacls "C:\gsb\partages\public" /Grant:r uBackup:M /T icacls "C:\gsb\partages\public" /Grant:r uBackup:M /T

View File

@ -1,4 +1,5 @@
@echo off
call mkusr aDupont "Albert Dupon" gg-compta call mkusr aDupont "Albert Dupon" gg-compta
call mkusr cSeum "Claire Seum" gg-compta call mkusr cSeum "Claire Seum" gg-compta
call mkusr nPaul "Nicolas Paul" gg-compta call mkusr nPaul "Nicolas Paul" gg-compta
call mkusr atour "Alexandre Tour" gg-compta call mkusr atour "Alexandre Tour" gg-compta

View File

@ -0,0 +1,2 @@
@echo off
call mkusr nextcloud "nextcloud" nextcloud