Compare commits

..

31 Commits

Author SHA1 Message Date
da0ba944c6 nagios ok mail 2023-06-06 16:00:03 +02:00
44d35b5bd4 nagios email hostname 2023-06-06 15:48:49 +02:00
332e9b0abc s-webcom nagios hostgroup ok 2023-06-06 13:37:48 +02:00
1873ac840b s-webcom dans infra 2023-06-06 13:25:16 +02:00
ac1b14410a s-webcom dmz 2023-06-06 12:07:08 +02:00
261c2d5fdd route ok r-vp1 2023-06-05 17:59:42 +02:00
4ef9572db1 route ok s-agence 2023-06-05 17:32:22 +02:00
908e8431a9 fw-ferm role r-vpX ok 2023-06-04 12:48:40 +02:00
c8e333984d mkvm linux webcom ok 2023-06-04 12:46:57 +02:00
bf53efbe7e role apache2only pour s-webcom 2023-06-01 19:06:16 +02:00
b24ffddff7 s-webcom goss 2023-06-01 14:37:53 +02:00
4b48f80fb2 s-webcom ok juste gsbstart bricole a faire 2023-06-01 14:22:45 +02:00
6575af3778 s-webcom 2023-06-01 13:42:29 +02:00
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
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
a2c1636a0f correction bug Arnoux 2023-04-30 20:27:14 +02:00
d107c26449 délais dhcp r-int dhcp 2023-04-28 09:39:52 +02:00
d0efb480c8 feat: specified k3s install on enp0s8 2023-04-28 09:00:47 +02:00
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
2c828574ef fix: dhcp start correctly on r-int 2023-04-07 09:50:59 +02:00
a5f0d258a5 feat: peertube work 2023-04-07 08:49:45 +02:00
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
0d3860211b readme wireguard-l était bancal 2023-04-06 10:48:27 +02:00
7a2311ae25 readme wireguard-l 2023-04-06 10:43:54 +02:00
ebcd50bf69 elam qui fait nimporte quoi encore une fois ! 2023-04-06 09:19:45 +02:00
30 changed files with 143 additions and 36 deletions

24
goss/s-webcom.yaml Normal file
View File

@ -0,0 +1,24 @@
package:
apache2:
installed: true
addr:
tcp://depl.sio.lan:80:
reachable: true
timeout: 500
port:
tcp:80:
listening: true
service:
apache2:
dns:
depl.sio.lan:
resolveable: true
timeout: 500
process:
apache2:
running: true
interface:
enp0s8:
exists: true
addrs:
- 172.16.0.12/24

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

@ -5,7 +5,7 @@ prj=gsb2023
opt="" opt=""
if [ -z ${UREP+x} ]; then if [ -z ${UREP+x} ]; then
UREP=https://gitea.lyc-lecastel.fr/gadmin/gsb2023.git UREP=https://gitea.lyc-lecastel.fr/anthony.arnoux/gsb2023.git
fi fi
dir=/root/tools/ansible dir=/root/tools/ansible

View File

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
if [ -z ${UREP+x} ]; then if [ -z ${UREP+x} ]; then
UREP=https://gitea.lyc-lecastel.fr/gadmin/gsb2023.git UREP=https://gitea.lyc-lecastel.fr/anthony.arnoux/gsb2023.git
fi fi
dir=/root/tools/ansible dir=/root/tools/ansible

View File

@ -16,4 +16,5 @@
- wireguard-r - wireguard-r
- ssh-cli - ssh-cli
- syslog-cli - syslog-cli
- fw-ferm

View File

@ -19,3 +19,4 @@
- post - post
- ssh-cli - ssh-cli
- syslog-cli - syslog-cli
- fw-ferm

View File

@ -0,0 +1,5 @@
---
- name: restart apache2
service:
name: apache2
state: restarted

View File

@ -0,0 +1,10 @@
---
- name: apt update
apt:
update_cache: yes
cache_valid_time: 3600
- name: Install apache2
apt:
pkg:
- apache2

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. (
2023040501 ; Serial 2023060100 ; Serial
7200 ; Refresh 7200 ; Refresh
86400 ; Retry 86400 ; Retry
8419200 ; Expire 8419200 ; Expire
@ -26,6 +26,7 @@ s-docker IN A 172.16.0.7
s-mon IN A 172.16.0.8 s-mon IN A 172.16.0.8
s-itil IN A 172.16.0.9 s-itil IN A 172.16.0.9
s-elk IN A 172.16.0.11 s-elk IN A 172.16.0.11
s-webcom IN A 172.16.0.12
s-gestsup IN A 172.16.0.17 s-gestsup IN A 172.16.0.17
r-int IN A 172.16.0.254 r-int IN A 172.16.0.254
r-int-lnk IN A 192.168.200.254 r-int-lnk IN A 192.168.200.254
@ -36,4 +37,5 @@ 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.
peertube IN A 192.168.100.20 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. (
2023040501 ; Serial 2023060100 ; Serial
7200 ; Refresh 7200 ; Refresh
86400 ; Retry 86400 ; Retry
8419200 ; Expire 8419200 ; Expire
@ -26,6 +26,6 @@ $TTL 604800
100.10 IN PTR s-lb 100.10 IN PTR s-lb
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.
12.0 IN PTR s-webcom.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.
100.20 IN PTR s-peertube

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

@ -0,0 +1,14 @@
# A simple configuration file for monitoring the local host
# This can serve as an example for configuring other servers;
# Custom services specific to this host are added here, but services
# defined in nagios2-common_services.cfg may also apply.
#
define host{
use linux-server ; Name of host template to use
host_name s-webcom
alias debian-servers, http-servers
address 172.16.0.12
parents r-ext
}

View File

@ -11,13 +11,13 @@
# 'notify-host-by-email' command definition # 'notify-host-by-email' command definition
define command{ define command{
command_name notify-host-by-email command_name notify-host-by-email
command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$ command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nServer : $HOSTNAME$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$
} }
# 'notify-service-by-email' command definition # 'notify-service-by-email' command definition
define command{ define command{
command_name notify-service-by-email command_name notify-service-by-email
command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" | /usr/bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$ command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nServer : $HOSTNAME*\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" | /usr/bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$
} }

View File

@ -2,7 +2,7 @@ define hostgroup {
hostgroup_name debian-servers ; The name of the hostgroup hostgroup_name debian-servers ; The name of the hostgroup
alias Linux Servers ; Long name of the group alias Linux Servers ; Long name of the group
members s-infra, s-proxy, s-adm, s-nxc, s-appli, s-backup, s-itil, s-fog, r-int, r-ext ; Comma separated list of hosts that belong to this group members s-infra, s-proxy, s-adm, s-nxc, s-appli, s-backup, s-itil, s-fog, r-int, r-ext, s-webcom ; Comma separated list of hosts that belong to this group
} }
define hostgroup { define hostgroup {
@ -14,7 +14,7 @@ define hostgroup {
define hostgroup { define hostgroup {
hostgroup_name http-servers hostgroup_name http-servers
alias Serveurs web alias Serveurs web
members s-itil members s-itil, s-webcom
} }
define hostgroup { define hostgroup {

View File

@ -14,7 +14,7 @@
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: attente de l'installation de k3s... - name: attente de l'installation de k3s...
wait_for: wait_for:

View File

@ -1,10 +1,7 @@
MYHOST=peertube.gsb.lan;
export KUBECONFIG=/etc/rancher/k3s/k3s.yaml; export KUBECONFIG=/etc/rancher/k3s/k3s.yaml;
helm upgrade --install ingress-nginx ingress-nginx \ openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout tls.key -out tls.cert -subj /CN="${MYHOST}"/O="${MYHOST}" -addext "subjectAltName = DNS:${MYHOST}";
--repo https://kubernetes.github.io/ingress-nginx \ kubectl create secret tls tls-peertube --key tls.key --cert tls.cert;
--namespace ingress-nginx --create-namespace;
sleep 15;
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ${KEY_FILE} -out ${CERT_FILE} -subj "/CN=${HOST}/O=${HOST}" -addext "subjectAltName = DNS:${HOST}";
kubectl create secret tls tls-peertube --key ${KEY_FILE} --cert ${CERT_FILE};
helm repo add postgresql https://charts.bitnami.com/bitnami; helm repo add postgresql https://charts.bitnami.com/bitnami;
helm repo add redis 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 repo add mail https://bokysan.github.io/docker-postfix;

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,7 +45,7 @@ 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: s-peertube.gsb.lan # must be changed to your local setup webHostname: peertube.gsb.lan # must be changed to your local setup
secret: b2753b0f37444974de0e81f04815e6a889fcf8960bd203a01b624d8fa8a37683 secret: b2753b0f37444974de0e81f04815e6a889fcf8960bd203a01b624d8fa8a37683
smtpHostname: peertube-gsb-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
@ -101,18 +101,18 @@ ingress:
enabled: true 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: s-peertube.gsb.lan - host: peertube.gsb.lan
paths: paths:
- path: / - path: /
pathType: ImplementationSpecific pathType: ImplementationSpecific
tls: tls:
- secretName: tls-peertube - secretName: tls-peertube
- hosts: - hosts:
- s-peertube.gsb.lan - peertube.gsb.lan
resources: {} resources: {}
autoscaling: autoscaling:

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

@ -15,6 +15,7 @@ allow-hotplug enp0s8
iface enp0s8 inet static iface enp0s8 inet static
address 192.168.1.2 address 192.168.1.2
netmask 255.255.255.0 netmask 255.255.255.0
post-up route add default gw 192.168.1.1
# accés par pont et entre vpn # accés par pont et entre vpn
allow-hotplug enp0s9 allow-hotplug enp0s9

View File

@ -11,4 +11,4 @@ iface enp0s3 inet dhcp
allow-hotplug enp0s8 allow-hotplug enp0s8
iface enp0s8 inet dhcp iface enp0s8 inet dhcp
post-up route add default gw 172.16.128.254

View File

@ -0,0 +1,21 @@
#This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# cote N-adm
allow-hotplug enp0s3
iface enp0s3 inet static
address 192.168.99.12
netmask 255.255.255.0
gateway 192.168.99.99
# cote N-infra
allow-hotplug enp0s8
iface enp0s8 inet static
address 172.16.0.12
netmask 255.255.255.0
post-up route add -net 172.16.64.0/24 gw 172.16.0.254

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"~~

11
s-webcom.yml Normal file
View File

@ -0,0 +1,11 @@
---
- hosts: localhost
connection: local
roles:
- base
- ssh-cli
- syslog-cli
- snmp-agent
- apache2only
- post

View File

@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
mkvmrelease="v1.2.2" mkvmrelease="v1.2.3"
ovarelease="2023b" ovarelease="2023b"
ovafogrelease="2023b" ovafogrelease="2023b"
@ -11,7 +11,7 @@ deletemode=0
usage () { usage () {
echo "$0 - version ${mkvmrelease} - Ova version ${ovarelease}" echo "$0 - version ${mkvmrelease} - Ova version ${ovarelease}"
echo "$0 : creation VM et parametrage interfaces" echo "$0 : creation VM et parametrage interfaces"
echo "usage : $0 [-r] <s-adm|s-infra|r-int|r-ext|s-proxy|s-mon|s-appli|s-backup|s-itil|s-ncx|s-fog>" echo "usage : $0 [-r] <s-adm|s-infra|r-int|r-ext|s-proxy|s-mon|s-appli|s-backup|s-itil|s-ncx|s-fog|s-webcom>"
echo " option -r : efface vm existante avant creation nouvelle" echo " option -r : efface vm existante avant creation nouvelle"
exit 1 exit 1
} }
@ -80,6 +80,8 @@ elif [[ "${vm}" == "r-ext" ]] ; then
./addint.r-ext ./addint.r-ext
elif [[ "${vm}" == "s-mon" ]] ; then elif [[ "${vm}" == "s-mon" ]] ; then
create_if "${vm}" "n-adm" "n-infra" create_if "${vm}" "n-adm" "n-infra"
elif [[ "${vm}" == "s-webcom" ]] ; then
create_if "${vm}" "n-adm" "n-infra"
elif [[ "${vm}" == "s-appli" ]] ; then elif [[ "${vm}" == "s-appli" ]] ; then
create_if "${vm}" "n-adm" "n-infra" create_if "${vm}" "n-adm" "n-infra"
elif [[ "${vm}" == "s-backup" ]] ; then elif [[ "${vm}" == "s-backup" ]] ; then

View File

@ -3,7 +3,7 @@
#mkvm pour toutes les vms #mkvm pour toutes les vms
$mkvmrelease="v1.2.2" $mkvmrelease="v1.2.3"
$ovarelease="2023b" $ovarelease="2023b"
$ovafogrelease="2023b" $ovafogrelease="2023b"
$ovafile="$HOME\Downloads\debian-bullseye-gsb-${ovarelease}.ova" $ovafile="$HOME\Downloads\debian-bullseye-gsb-${ovarelease}.ova"
@ -43,7 +43,7 @@ function create_if{ param([string]$nomvm, [string]$nic, [int]$rang, [string]$res
} }
function usage{ function usage{
Write-Host "usage : mkvm ${myInvocation.ScriptName} <s-adm|s-infra|r-int|r-ext|s-proxy|s-mon|s-agence|s-appli|s-backup|s-itil|s-ncx|s-fog|s-dns-ext|s-web-ext|s-lb|s-lb-bd|s-lb-web1|s-lb-web2|s-lb-web3>" Write-Host "usage : mkvm ${myInvocation.ScriptName} <s-adm|s-infra|r-int|r-ext|s-proxy|s-mon|s-agence|s-appli|s-backup|s-itil|s-ncx|s-fog|s-dns-ext|s-web-ext|s-lb|s-lb-bd|s-lb-web1|s-lb-web2|s-lb-web3|s-webcom>"
} }
if ($args[0] -eq "s-adm") { if ($args[0] -eq "s-adm") {
@ -80,6 +80,7 @@ elseif (((((((($args[0] -eq "s-elk") `
-or ($args[0] -eq "s-appli") ` -or ($args[0] -eq "s-appli") `
-or ($args[0] -eq "s-infra") ` -or ($args[0] -eq "s-infra") `
-or ($args[0] -eq "s-proxy") ` -or ($args[0] -eq "s-proxy") `
-or ($args[0] -eq "s-webcom") `
-or ($args[0] -eq "s-itil") ` -or ($args[0] -eq "s-itil") `
-or ($args[0] -eq "s-nxc") ` -or ($args[0] -eq "s-nxc") `
))))))) { ))))))) {

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