Compare commits

..

233 commits

Author SHA1 Message Date
Noix
eff7baf3fe Merge branch 'develop' into 'master'
Added gen-game-web-instances/auguste-lambert to gitlab agents

See merge request ldc-web/cluster-k8s!133
2026-09-15 07:49:37 +00:00
Noix
c8b18faba8 Added gen-game-web-instances/auguste-lambert to gitlab agents 2026-09-15 07:49:09 +00:00
Jérémy
89a315f217 Merge branch 'develop' into 'master'
Revert "feat: Add cartesian-lab.com IPs - BEA pentest"

See merge request ldc-web/cluster-k8s!132
2026-09-10 10:40:25 +02:00
Jérémy
e1da57be4c Merge branch 'remove-presta-cartesian-ip-from-whitelist' into 'develop'
Revert "feat: Add cartesian-lab.com IPs - BEA pentest"

See merge request ldc-web/cluster-k8s!131
2026-09-10 10:38:56 +02:00
Jeremy Munsch
aa0b17f15b
Revert "feat: Add cartesian-lab.com IPs - BEA pentest"
This reverts commit 87b04fc03c.
2026-09-10 10:25:49 +02:00
Vincent BRIDIER
9cc9b34c6f Merge branch 'develop' into 'master'
feat: Add cartesian-lab.com IPs - BEA pentest

See merge request ldc-web/cluster-k8s!130
2026-09-02 15:33:27 +02:00
Vincent BRIDIER
87b04fc03c feat: Add cartesian-lab.com IPs - BEA pentest 2026-09-02 15:32:38 +02:00
Louis Rossignol
39780fa0fa Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!129
2026-08-20 18:26:23 +02:00
Louis Rossignol
bb373952bb Merge branch 'chore/lor-update-gitlab' into 'develop'
Update gitlab runner and agent

See merge request ldc-web/cluster-k8s!128
2026-08-20 18:19:26 +02:00
LOR
e15d74e233 Update gitlab runner and agent 2026-08-20 18:15:23 +02:00
Vincent BRIDIER
4ce0256307 Merge branch 'develop' into 'master'
Whitelist BugSmash IPs on admin-ldc-whitelist middleware

See merge request ldc-web/cluster-k8s!127
2026-08-20 10:17:23 +02:00
Vincent BRIDIER
f3346b2be7 Whitelist BugSmash IPs on admin-ldc-whitelist middleware 2026-08-20 10:16:46 +02:00
Louis Rossignol
7852a7dbf5 Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!126
2026-08-18 18:36:46 +02:00
Louis Rossignol
cd4a14403f Merge branch 'chore/lor-update-gitlab' into 'develop'
Update version gitlab runner and agent

See merge request ldc-web/cluster-k8s!125
2026-08-18 18:22:41 +02:00
LOR
4f303ce92e Update version gitlab runner and agent 2026-08-18 18:12:31 +02:00
Noix
eeea16bf53 Merge branch 'develop' into 'master'
Added le-gaulois-eveillez-vos-papilles to gitlab agents

See merge request ldc-web/cluster-k8s!124
2026-08-05 13:12:10 +00:00
Noix
ce910ea49d Added le-gaulois-eveillez-vos-papilles to gitlab agents 2026-08-05 13:11:42 +00:00
Louis Rossignol
53296907b0 Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!123
2026-08-04 18:16:28 +02:00
Louis Rossignol
d15ec10689 Merge branch 'chore/lor-update-gitlab' into 'develop'
Update gitlab agent and runner

See merge request ldc-web/cluster-k8s!122
2026-08-04 18:11:54 +02:00
LOR
59dc7b3f3e Update gitlab agent and runner 2026-08-04 18:09:37 +02:00
Vincent BRIDIER
057fb8d192 Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!121
2026-07-30 11:46:34 +02:00
Vincent BRIDIER
2fa0fba3af Merge branch 'vincent.bridier-master-patch-12456' into 'develop'
Vincent.bridier master patch 12456

See merge request ldc-web/cluster-k8s!120
2026-07-30 11:45:33 +02:00
Vincent BRIDIER
edba2e40bb feat: Add BEA to gitlab agent 2026-07-30 11:44:32 +02:00
Vincent BRIDIER
34d7392b89 Merge branch 'develop' into 'master'
fix: Crowdsec - Add separate db vars

See merge request ldc-web/cluster-k8s!119
2026-07-27 18:54:28 +02:00
Vincent BRIDIER
9d07a14801 fix: Crowdsec - Add separate db vars 2026-07-27 18:22:57 +02:00
Vincent BRIDIER
ced2987809 Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!118
2026-07-27 15:08:06 +02:00
Vincent BRIDIER
62f7615039 fix: Remove uselesse secret for crowdsec 2026-07-27 14:44:11 +02:00
Vincent BRIDIER
62cbd2ef1e fix: Crowdsec lookup chart workaround 2026-07-27 14:36:19 +02:00
Vincent BRIDIER
c3b21c920d fix: Crowdsec lookup chart workaround 2026-07-27 13:09:55 +02:00
Vincent BRIDIER
1e9b068752 fix: Crowdsec lookup chart workaround 2026-07-27 11:25:31 +02:00
Vincent BRIDIER
3db0442fef fix: Fix flux config for Crowdsec 2026-07-27 10:16:43 +02:00
Vincent BRIDIER
c1ab98f496 fix: Fix traefik crowdsec middleware 2026-07-27 10:04:44 +02:00
Vincent BRIDIER
25da33d21a remove crowdsec 2026-07-24 16:24:45 +02:00
Vincent BRIDIER
2bb7681e7f fix: Update crowdsec helm release 2026-07-24 16:21:32 +02:00
Vincent BRIDIER
06ac38eb37 fix: Update crowdsec helm release 2026-07-24 15:37:18 +02:00
Vincent BRIDIER
293f76533a fix: Crowsecd pv config 2026-07-24 14:48:28 +02:00
Vincent BRIDIER
2155d7427a fix: Crowsecd pv config 2026-07-24 14:34:33 +02:00
Vincent BRIDIER
756ae32b69 fix: Crowsec repo 2026-07-24 10:54:03 +02:00
Vincent BRIDIER
1e12270193 fix: Add missing kustomization link for crowdsec 2026-07-24 10:37:08 +02:00
Vincent BRIDIER
ee306a824b Merge branch 'add-crowdsec' into 'develop'
feat: Add Crowdsec

See merge request ldc-web/cluster-k8s!117
2026-07-24 10:29:33 +02:00
Vincent BRIDIER
e8271b5f14 feat: Add Crowdsec 2026-07-24 10:24:24 +02:00
Louis Rossignol
a5605eb316 Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!116
2026-07-22 18:11:15 +02:00
Louis Rossignol
1f6610f27b Merge branch 'fix/lor-add-ip-blacklist' into 'develop'
Add multiple IP to blacklist

See merge request ldc-web/cluster-k8s!115
2026-07-22 18:02:52 +02:00
LOR
7073a20383 Add 20.220.225.223 to blacklist 2026-07-22 17:55:44 +02:00
LOR
0ff24fb82d Add multiple IP to blacklist 2026-07-22 17:52:32 +02:00
Noix
cd0540f33f Merge branch 'develop' into 'master'
feat: added qualimaine to gitlab agents

See merge request ldc-web/cluster-k8s!114
2026-07-17 12:39:50 +00:00
Noix
41cf295e54 feat: added qualimaine to gitlab agents 2026-07-17 12:39:28 +00:00
Vincent BRIDIER
03e69a4522 Merge branch 'develop' into 'master'
feat: add ker chant to gitlab agent

See merge request ldc-web/cluster-k8s!113
2026-07-10 12:39:32 +02:00
Vincent BRIDIER
7a9c997c3e feat: add ker chant to gitlab agent 2026-07-10 12:39:08 +02:00
Louis Rossignol
014172bece Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!112
2026-07-08 19:16:32 +02:00
Louis Rossignol
d838122f2d Merge branch 'features/lor-remove-lb-iolb' into 'develop'
Disable traefik iolb service, keep octavia only

See merge request ldc-web/cluster-k8s!111
2026-07-08 19:02:36 +02:00
LOR
bb6abdab00 migrate traefik native service from iolb to second octavia lb 2026-07-08 18:59:45 +02:00
LOR
03a4cdebc4 Disable traefik iolb service, keep octavia only 2026-07-08 17:53:19 +02:00
Louis Rossignol
0ebd62f297 Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!110
2026-07-08 16:32:47 +02:00
Louis Rossignol
ce58e39527 Merge branch 'features/lor-remove-kust-mariadb' into 'develop'
Cleanup mariadb kustomization

See merge request ldc-web/cluster-k8s!109
2026-07-08 16:08:48 +02:00
LOR
6b79e9b97d Cleanup mariadb kustomization 2026-07-08 15:56:11 +02:00
Louis Rossignol
00562f5325 Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!108
2026-07-08 15:40:16 +02:00
Louis Rossignol
68d20611ee Merge branch 'features/lor-remove-mariadb' into 'develop'
Prepare removal mariadb

See merge request ldc-web/cluster-k8s!107
2026-07-08 15:23:11 +02:00
LOR
8c7d268737 Prepare removal mariadb 2026-07-08 15:15:58 +02:00
Vincent BRIDIER
db7012d742 Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!104
2026-07-06 17:55:10 +02:00
Vincent BRIDIER
6188b0179c Merge branch 'vincent.bridier-master-patch-2886' into 'develop'
Vincent.bridier master patch 2886

See merge request ldc-web/cluster-k8s!103
2026-07-06 17:54:47 +02:00
Vincent BRIDIER
266a687ce7 feat: Add PROD new nodes CIDR 2026-07-06 17:45:56 +02:00
Karl M'muller
f101f3b688 Merge branch 'develop' into 'master'
feat: Add new dev nodes ips

See merge request ldc-web/cluster-k8s!102
2026-07-03 15:02:58 +00:00
Vincent BRIDIER
43439ad169 feat: Add new dev nodes ips 2026-07-03 17:00:28 +02:00
Louis Rossignol
bb14b07563 Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!101
2026-07-02 18:34:31 +02:00
Louis Rossignol
b354dcfeb0 Merge branch 'chore/lor-upgade-gitlab' into 'develop'
Update versuib gitlab runner and agent

See merge request ldc-web/cluster-k8s!100
2026-07-02 18:25:50 +02:00
LOR
1d3c587d89 Update versuib gitlab runner and agent 2026-07-02 18:24:05 +02:00
Louis Rossignol
4cf69ea32a Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!99
2026-06-25 12:16:45 +02:00
Louis Rossignol
12e10e1785 Merge branch 'fix/lor-ir-blocklist' into 'develop'
Fix helm release error add kind Rule.

See merge request ldc-web/cluster-k8s!98
2026-06-25 12:05:54 +02:00
LOR
19fbe1c970 Fix helm release error add kind Rule. 2026-06-25 11:59:33 +02:00
Louis Rossignol
1f0863cdd1 Merge branch 'security/lor-blacklist-traefik' into 'develop'
Create blocklist for attacker

See merge request ldc-web/cluster-k8s!97
2026-06-25 11:52:58 +02:00
LOR
b8bc3d6759 Create blocklist for attacker 2026-06-25 11:05:47 +02:00
Louis Rossignol
fb80f35cc0 Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!96
2026-06-24 18:34:49 +02:00
Guillaume Marsay
6a6cac199f Merge branch 'chore/lor-update-gitlab-runner-agent' into 'develop'
Chore/lor update gitlab runner agent

See merge request ldc-web/cluster-k8s!95
2026-06-24 16:16:31 +00:00
LOR
02dc6fda57 Update gitlab runner and gitlab agent 2026-06-24 18:14:23 +02:00
Louis Rossignol
20b61bfd22 Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!94
2026-06-19 13:33:36 +00:00
Louis Rossignol
5798f9ccc5 Merge branch 'fix/lor-vault-liveness' into 'develop'
Fix liveness probe to avoid restart loop

See merge request ldc-web/cluster-k8s!93
2026-06-19 12:39:16 +00:00
LOR
1bf5e747f7 Fix liveness probe to avoid restart loop 2026-06-19 13:50:25 +02:00
Louis Rossignol
8e38e53a20 Merge branch 'fix/lor-improve-auto-unseal' into 'develop'
Deploy auto-unseal 1.1.0

See merge request ldc-web/cluster-k8s!92
2026-06-19 09:41:47 +00:00
LOR
d5c1088237 Deploy auto-unseal 1.1.0 2026-06-19 11:33:05 +02:00
Louis Rossignol
c2a2423b8f Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!91
2026-06-16 13:58:30 +00:00
Louis Rossignol
334673a98e Merge branch 'features/lor-persist-public-ip' into 'develop'
Persist public IP on new Octavia LB

See merge request ldc-web/cluster-k8s!90
2026-06-16 11:54:31 +00:00
LOR
a5487a084a Persist public IP on new Octavia LB 2026-06-16 12:16:40 +02:00
Louis Rossignol
993a85fcf5 Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!89
2026-06-16 09:31:37 +00:00
Louis Rossignol
46dc45f79d Merge branch 'features/lor-traefik-ha-replicas-pdb' into 'develop'
Add traefik HA : 2 replicas + PDB + pod anti-affinity

See merge request ldc-web/cluster-k8s!88
2026-06-16 09:07:09 +00:00
LOR
ded4b413f2 Add traefik HA : 2 replicas + PDB + pod anti-affinity 2026-06-16 10:55:52 +02:00
Louis Rossignol
eb9989b61e Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!87
2026-06-16 07:46:22 +00:00
Louis Rossignol
77ce4060fb Merge branch 'features/lor-add-kube-jeremy' into 'develop'
Add jeremy munsch access

See merge request ldc-web/cluster-k8s!86
2026-06-16 07:26:47 +00:00
LOR
6f50ec8375 Add jeremy munsch access 2026-06-05 12:17:54 +02:00
Louis Rossignol
c32d5a3c86 Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!85
2026-06-04 13:43:48 +00:00
karl.muller
a812208889 Update config.yaml 2026-06-04 12:13:25 +00:00
Louis Rossignol
2961333e35 Merge branch 'features/lor-clean-old-iolb' into 'develop'
Remove old and useless configuration

See merge request ldc-web/cluster-k8s!84
2026-06-03 10:31:56 +00:00
LOR
05fc357af1 Remove old and useless configuration 2026-06-03 09:57:40 +02:00
Louis Rossignol
5fa96d5e32 Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!83
2026-05-29 14:47:36 +00:00
Louis Rossignol
494b1ac659 Merge branch 'fix/lor-add-entrypoint-web-octavia' into 'develop'
Add lsitener port 80 for cert challenge http01

See merge request ldc-web/cluster-k8s!82
2026-05-29 14:37:09 +00:00
LOR
f7dddf0808 Add lsitener port 80 for cert challenge http01 2026-05-29 16:29:56 +02:00
Louis Rossignol
4a46b96c7d Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!81
2026-05-26 09:59:32 +00:00
Louis Rossignol
457a70e8c1 Merge branch 'features/lor-add-lb-egress' into 'develop'
Add ovh octavia egress ip

See merge request ldc-web/cluster-k8s!80
2026-05-26 09:39:48 +00:00
LOR
359dfe1741 Add ovh octavia egress ip 2026-05-26 11:38:11 +02:00
Louis Rossignol
6d59d5afb5 Merge branch 'features/lor-global-traefik' into 'develop'
Extend globalArguments to match new octavia LB IP

See merge request ldc-web/cluster-k8s!79
2026-05-26 07:32:26 +00:00
LOR
08539ade57 Extend globalArguments to match new octavia LB IP 2026-05-26 09:29:53 +02:00
Louis Rossignol
c61eb56998 Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!78
2026-05-26 07:07:53 +00:00
Louis Rossignol
f545cefcca Merge branch 'features/lor-octavia-lb-svc-create' into 'develop'
Features/lor octavia lb svc create

See merge request ldc-web/cluster-k8s!77
2026-05-26 06:31:44 +00:00
LOR
8c9b993b65 Add mariadb port, clean post update 2026-05-22 12:19:01 +02:00
LOR
036de6f944 Enable new Octavia LB 2026-05-22 12:10:44 +02:00
Vincent BRIDIER
d8057d0642 Merge branch 'develop' into 'master'
Update config.yaml remove Data PFC

See merge request ldc-web/cluster-k8s!76
2026-05-06 08:28:36 +00:00
Vincent BRIDIER
b76d4706d4 Update config.yaml remove Data PFC 2026-05-06 08:28:08 +00:00
Noix
64c898840b Merge branch 'develop' into 'master'
Update config.yaml - Removed deleted projects

See merge request ldc-web/cluster-k8s!75
2026-04-21 10:25:40 +00:00
Noix
a48db98bce Update config.yaml - Removed deleted projects 2026-04-21 10:25:09 +00:00
Noix
938aa35285 Merge branch 'develop' into 'master'
Added GGW nature & respect to gitlab/agents

See merge request ldc-web/cluster-k8s!74
2026-04-17 11:13:07 +00:00
Noix
c685dbf2b1 Added GGW nature & respect to gitlab/agents 2026-04-17 11:09:24 +00:00
Vincent BRIDIER
024d0dcf1e Merge branch 'develop' into 'master'
Update config.yaml add UWIL UI

See merge request ldc-web/cluster-k8s!73
2026-04-17 09:15:02 +00:00
Vincent BRIDIER
8dc12e3a0d Update config.yaml add UWIL UI 2026-04-17 09:14:34 +00:00
Louis Rossignol
d83352a75c Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!72
2026-03-13 10:56:06 +00:00
noah.lancien
7e91a7faed Merge branch 'add-ip-to-admin-ldc-whitelist' into 'develop'
Added proxy cloud ldc ip

See merge request ldc-web/cluster-k8s!71
2026-03-03 10:29:14 +00:00
Noah Lancien
7f5ef71f7e Added proxy cloud ldc ip 2026-03-03 11:27:26 +01:00
noah.lancien
dd09f582e9 Merge branch 'develop' into 'master'
Removed corico from gitlab/agents

See merge request ldc-web/cluster-k8s!70
2026-02-05 09:05:41 +00:00
noah.lancien
52223e5c9a Removed corico from gitlab/agents 2026-02-05 09:05:03 +00:00
Louis Rossignol
c788b50bd5 Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!69
2026-01-28 10:46:44 +00:00
Louis Rossignol
90030bceec Merge branch 'fix-rbac-grafana' into 'develop'
Grant access common-services Karl & Noah

See merge request ldc-web/cluster-k8s!68
2026-01-28 09:10:21 +00:00
LOR
405c0bc83f Grant access common-services Karl & Noah 2026-01-28 09:57:53 +01:00
Louis Rossignol
68ac8ffcdc Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!65
2026-01-27 18:05:19 +00:00
Louis Rossignol
17d1db2056 Merge branch 'fix-ci-token' into 'develop'
Change token type for CI - project access token

See merge request ldc-web/cluster-k8s!67
2026-01-27 18:00:09 +00:00
LOR
e871812ce0 Change token type for CI - project access token 2026-01-27 18:55:04 +01:00
Louis Rossignol
e5da7fc692 Merge branch 'fix-lint-netdata-integration' into 'develop'
fix indentation netdata kustomization

See merge request ldc-web/cluster-k8s!66
2026-01-27 16:10:35 +00:00
LOR
024befb181 fix indentation netdata kustomization 2026-01-27 17:07:49 +01:00
Louis Rossignol
9e35251463 Merge branch 'fix-limit-netdata' into 'develop'
set resources limit, request, retention, optimise ram usage

See merge request ldc-web/cluster-k8s!64
2026-01-23 10:53:08 +00:00
LOR
1be48b8c55 Variabilisation netdata resources, collect, retention 2026-01-23 11:20:13 +01:00
LOR
fc7c029211 set resources limit, request, retention, optimise ram usage 2026-01-23 10:19:37 +01:00
Louis Rossignol
7ed6aaa612 Merge branch 'fea-add-netdat' into 'develop'
Add netdata monitoring

See merge request ldc-web/cluster-k8s!63
2026-01-22 15:34:29 +00:00
LOR
46ef46a046 Add netdata monitoring 2026-01-22 16:24:50 +01:00
Louis Rossignol
fcacc87bfe Merge branch 'lor-add-ip-uptimerobot' into 'develop'
Lor add ip uptimerobot

See merge request ldc-web/cluster-k8s!62
2026-01-22 13:52:54 +00:00
LOR
73112bc486 Add ip Uptime Robot for staging resources 2026-01-09 15:21:11 +01:00
noah.lancien
c7c8d0d733 Merge branch 'develop' into 'master'
Added la-boutique-du-canard to gitlab agents

See merge request ldc-web/cluster-k8s!61
2025-12-26 15:52:46 +00:00
noah.lancien
cf0af6b1c4 Added la-boutique-du-canard to gitlab agents 2025-12-26 15:52:32 +00:00
noah.lancien
605e58a6c6 Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!60
2025-12-24 13:59:05 +00:00
noah.lancien
489c455bae Added boutique-jeusselin to gitlab agents 2025-12-24 13:57:54 +00:00
Guillaume Marsay
cb44eb2a4a Merge branch 'fix-size-pvc-prometheus' into 'develop'
Fix size pvc prometheus

See merge request ldc-web/cluster-k8s!59
2025-11-24 14:16:11 +00:00
LOR
b0d2f79461 Fix size pvc promethus 40 Go 2025-11-24 14:46:33 +01:00
Vincent BRIDIER
7b2c723fd4 Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!58
2025-11-17 09:31:42 +00:00
Vincent BRIDIER
674f30281e Merge branch 'migrate-mariadb-bitnami-repo' into 'develop'
Update file helm-release.yaml

See merge request ldc-web/cluster-k8s!57
2025-11-17 09:30:43 +00:00
Vincent BRIDIER
92c8762e1f Update file helm-release.yaml 2025-11-17 09:27:55 +00:00
Vincent BRIDIER
bdb7672420 Merge branch 'develop' into 'master'
feat: Add Willow + Cafel ip to allow calls in staging

See merge request ldc-web/cluster-k8s!56
2025-10-27 17:20:15 +00:00
Vincent BRIDIER
c4cf7f7d40
feat: Add Willow + Cafel ip to allow calls in staging 2025-10-27 18:19:13 +01:00
noah.lancien
b98e5cfb8b Merge branch 'develop' into 'master'
Added marie to gitlab agents

See merge request ldc-web/cluster-k8s!55
2025-10-14 15:37:08 +00:00
noah.lancien
88699625e6 Added marie to gitlab agents 2025-10-14 15:36:52 +00:00
Vincent BRIDIER
cb4688dcf1 Merge branch 'develop' into 'master'
feat: Add k8s nodes ips to allow call from cluster in staging

See merge request ldc-web/cluster-k8s!54
2025-10-13 15:33:20 +00:00
Vincent BRIDIER
93f788b080
feat: Add k8s nodes ips to allow call from cluster in staging 2025-10-13 17:32:21 +02:00
Vincent BRIDIER
4ee0139853 Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!53
2025-10-06 17:06:29 +00:00
Vincent BRIDIER
4b30759b70 Add matomo into gitlab agent 2025-10-06 17:05:24 +00:00
Guillaume Marsay
e9c622d9e9 Merge branch 'chore-remove-box-ip' into 'develop'
Chore remove box ip

See merge request ldc-web/cluster-k8s!52
2025-10-06 10:21:03 +00:00
LOR
6712e1d528 Remove old Public IP box ldc-web 2025-10-03 10:37:45 +02:00
noah.lancien
d555b8e4c0 Added marie restauration to gitlab agents 2025-09-30 15:42:50 +00:00
noah.lancien
c341a080b4 Added Volailles Ardèche to the gitlab agents 2025-09-26 11:05:55 +00:00
noah.lancien
348d1c9544 Update config.yaml to add OP Brasserie 2025-09-09 09:57:39 +00:00
karl.muller
2161940ebf Update config.yaml le gaulois sportif 2025 2025-07-31 15:16:30 +00:00
karl.muller
c0a0caca1a Update config.yaml for matines 40 ans 2025-07-31 14:34:37 +00:00
karl.muller
889be9b062 add le gaulois chequier 40e 2025-07-22 15:49:20 +00:00
karl.muller
8d1b723991 Update config.yaml 2025-07-22 15:47:31 +00:00
Vincent BRIDIER
bca4be232c feat: Add volailles challans to gitlab agenet 2025-07-10 14:27:49 +00:00
Vincent BRIDIER
11fc2c64ed
Merge branch 'develop' 2025-06-19 16:56:21 +02:00
Vincent BRIDIER
9ffa37f692
fix: Fix HelmRepository for rabbitmq 2025-06-19 13:05:53 +02:00
Vincent BRIDIER
9c088ea043 Merge branch 'rabbitmq' into 'develop'
feat: add rabbitmq into common services

See merge request ldc-web/cluster-k8s!51
2025-06-19 09:46:09 +00:00
Vincent BRIDIER
f2fa481a1d feat: add rabbitmq into common services 2025-06-19 09:46:08 +00:00
noah.lancien
963f27a918 Added Corico to gitlab agents 2025-05-30 15:16:25 +00:00
Vincent BRIDIER
aaeeaa2ad6 feat: remove showroom bo instances from gitlab agent 2025-05-30 13:57:40 +00:00
Louis Rossignol
ff8b02d3f9 Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!50
2025-05-16 13:46:11 +00:00
Louis Rossignol
76db418b64 Merge branch 'update_gitlab' into 'develop'
Update gitlab

See merge request ldc-web/cluster-k8s!49
2025-05-16 13:17:44 +00:00
oolgy
e814be7f65 Update runner version 2025-05-16 15:14:45 +02:00
oolgy
d5ff06f4bf Update agent version 2025-05-16 15:13:53 +02:00
Thibault Raquet
4fd7b0a71e Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!48
2025-05-15 13:22:57 +00:00
thibault.raquet
cb7bb2a40d maj common-services 2025-05-15 15:21:09 +02:00
thibault.raquet
8553295f60 maj common-services 2025-05-07 15:25:48 +02:00
thibault.raquet
876899cf65 maj common-services 2025-05-07 15:08:15 +02:00
thibault.raquet
54fb1afe95 maj common-services 2025-05-07 15:06:36 +02:00
thibault.raquet
9ae77e6dda maj common-services 2025-05-07 15:04:01 +02:00
Thibault Raquet
db69f7f40f Merge branch 'maj-common-services' into 'develop'
maj common-services

See merge request ldc-web/cluster-k8s!47
2025-05-07 12:55:53 +00:00
thibault.raquet
1f6c8b8498 maj common-services 2025-05-07 14:55:26 +02:00
Thibault Raquet
5960622229 Merge branch 'maj-common-services' into 'develop'
maj common-services

See merge request ldc-web/cluster-k8s!46
2025-05-07 12:25:27 +00:00
thibault.raquet
5c7d189a36 maj common-services 2025-05-07 14:23:51 +02:00
Thibault Raquet
7c7db9eebe Merge branch 'maj-common-services' into 'develop'
maj common-services

See merge request ldc-web/cluster-k8s!45
2025-05-07 12:16:44 +00:00
thibault.raquet
f715631215 maj common-services 2025-05-07 14:15:40 +02:00
karl.muller
ce96702b92 Update config.yaml 2025-04-30 11:46:31 +00:00
Thibault Raquet
f1203cdf66 Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!44
2025-04-10 14:18:39 +00:00
thibault.raquet
a2a32f365f Merge branch 'master' of lab.s-web.fr:ldc-web/cluster-k8s into develop 2025-04-10 16:17:34 +02:00
thibault.raquet
16b9e9b800 maj cert-manager 2025-04-10 16:17:18 +02:00
Thibault Raquet
1e0b9765a1 Update helm-release.yaml 2025-04-10 12:13:46 +00:00
Thibault Raquet
2cd3a19129 Merge branch 'develop' into 'master'
add cert request revisionHistoryLimit

See merge request ldc-web/cluster-k8s!43
2025-04-07 09:38:40 +00:00
thibault.raquet
4a422c4e5c add traefik middleware 2025-04-07 11:26:16 +02:00
noah.lancien
5504f63023 Added ldc.fr project to gitlab agents 2025-04-04 15:12:20 +00:00
Vincent BRIDIER
0b9fa48996 Add mesbr to gitlab agent 2025-04-02 15:25:02 +00:00
thibault.raquet
287d3382e7 add cert request revisionHistoryLimit 2025-03-31 11:10:56 +02:00
Thibault Raquet
d21bd250c1 Merge branch 'develop' into 'master'
remove exposed dashboard traefik

See merge request ldc-web/cluster-k8s!42
2025-03-26 11:31:07 +00:00
thibault.raquet
15bebaaec8 remove exposed dashboard traefik 2025-03-26 12:08:42 +01:00
noah.lancien
dea9f677fd Added maison-couthouis to gitlab agents 2025-03-05 16:02:20 +00:00
Vincent BRIDIER
69ef89f0d2 Add Mairet to Gitlab agent 2025-03-05 15:00:36 +00:00
Thibault Raquet
2540ab337f Merge branch 'develop' into 'master'
add ip blacklist

See merge request ldc-web/cluster-k8s!41
2025-02-21 17:15:14 +00:00
Thibault Raquet
b16b04bb73 Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!40
2025-02-21 15:34:17 +00:00
Vincent BRIDIER
0e6205648c
Merge branch 'develop' 2025-02-20 12:44:29 +01:00
karl.muller
f4322cc08e Update for data-pfc config.yaml 2025-02-17 09:00:51 +00:00
karl.muller
176a278863 add espri-restauration in gitlab agent 2025-02-12 15:22:42 +00:00
noah.lancien
257ad81cfa Added le-marche-de-beaufeu in agents config.yaml 2025-02-11 16:39:43 +00:00
Vincent BRIDIER
e719152cdc feat: Remove QRCollector Front 2025-02-10 13:49:05 +00:00
noah.lancien
db5e7ea637 Added traditions-asie to gitlab agents config.yaml 2025-02-10 13:35:33 +00:00
Vincent BRIDIER
2e20c68916 Add cailles-robin to gitlab agent 2025-02-05 18:15:22 +00:00
Vincent BRIDIER
1c55427cac Add boutique-cnc-sable into gitlab agent 2025-01-24 16:24:07 +00:00
Vincent BRIDIER
a490ccd100 Add parc auto to gitlab agent 2025-01-21 16:19:53 +00:00
noah.lancien
b7333397a0 Added Medina to gitlab agents config.yaml 2025-01-08 13:25:43 +00:00
karl.muller
880eeaae11 Update config.yaml for gen-game-web-prize-draw 2024-12-27 13:58:28 +00:00
Thibault Raquet
963b4869e9 Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!39
2024-12-19 14:47:12 +00:00
Thibault Raquet
0228d5c407 Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!38
2024-11-05 13:39:00 +00:00
Vincent BRIDIER
b80de5431a feat: Add Maitre CoQ into Gitlab agent 2024-10-10 13:04:22 +00:00
Vincent BRIDIER
0b47033805 Add Auguste Lambert to gitlab agent 2024-10-08 13:53:05 +00:00
noah.lancien
182adbfe2c Update config.yaml to add loue-action-reboisement 2024-09-27 15:27:20 +00:00
Thibault Raquet
3151fc4106 Merge branch 'develop' into 'master'
add vault auto unseal

See merge request ldc-web/cluster-k8s!37
2024-09-27 14:11:13 +00:00
Thibault Raquet
35e57d3802 Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!36
2024-09-27 13:29:02 +00:00
Thibault Raquet
081e90d44c Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!35
2024-09-26 10:26:56 +00:00
Thibault Raquet
4d5635b29b Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!34
2024-09-26 08:06:46 +00:00
Thibault Raquet
83e66889f2 Develop 2024-09-26 08:06:46 +00:00
Louis Rossignol
5ea050f555 Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!33
2024-09-18 12:28:39 +00:00
Thibault Raquet
44f4829d85 Merge branch 'develop' into 'master'
update prometheus volume size

See merge request ldc-web/cluster-k8s!32
2024-09-02 06:41:58 +00:00
Thibault Raquet
b7dc0c5015 Merge branch 'develop' into 'master'
add redirect-www-to-no-www middleware

See merge request ldc-web/cluster-k8s!31
2024-08-23 08:58:22 +00:00
Louis Rossignol
ae24e03d91 Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!30
2024-07-23 14:33:22 +00:00
Louis Rossignol
250a1827c1 Merge branch 'develop' into 'master'
Add API to manage Cronjobs

See merge request ldc-web/cluster-k8s!27
2024-07-23 08:48:29 +00:00
Thibault Raquet
082e307061 Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!26
2024-07-09 14:26:09 +00:00
Thibault Raquet
2e25729ab1 Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!24
2024-07-09 09:55:53 +00:00
Thibault Raquet
ad04dca7b7 Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!22
2024-07-09 07:35:44 +00:00
Thibault Raquet
6d1bd130f7 Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!20
2024-07-08 16:22:09 +00:00
Thibault Raquet
a70c361fc0 Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!16
2024-07-08 16:10:22 +00:00
Thibault Raquet
4b77f2d741 Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!14
2024-07-08 07:18:54 +00:00
Louis Rossignol
6c57ae980a Merge branch 'develop' into 'master'
Add kubeconfig ressource for noah lancien

See merge request ldc-web/cluster-k8s!13
2024-07-05 09:24:25 +00:00
Thibault Raquet
da285b095a Merge branch 'develop' into 'master'
fix mariadb resources

See merge request ldc-web/cluster-k8s!11
2024-07-03 21:50:52 +00:00
Thibault Raquet
d33ab90a13 Merge branch 'develop' into 'master'
Develop

See merge request ldc-web/cluster-k8s!10
2024-07-03 21:35:52 +00:00
53 changed files with 2597 additions and 1597 deletions

View file

@ -28,7 +28,7 @@ variables:
git config user.email "autodeploy@mediactivegroup.com"
git add --all
git commit -m "Bot Auto Commit"
git push --force https://flux-token-api:${GITLAB_ACCESS_TOKEN}@${CI_SERVER_HOST}/${CI_PROJECT_PATH}.git HEAD:${DEPLOY_BRANCH}
git push --force https://project_access_token:${GITLAB_ACCESS_TOKEN}@${CI_SERVER_HOST}/${CI_PROJECT_PATH}.git HEAD:${DEPLOY_BRANCH}
tags:
- flux
- k8s

View file

@ -8,6 +8,7 @@ ci_access:
- id: ldc-web/projets/galina
- id: ldc-web/projets/gen-game-web-instances/janze
- id: ldc-web/projets/gen-game-web-instances/l-orleanais-jeu
- id: ldc-web/projets/gen-game-web-instances/le-gaulois-chequier-40-2025
- id: ldc-web/projets/gen-game-web-instances/le-gaulois-tdf-2024
- id: ldc-web/projets/gen-game-web-instances/normandie
- id: ldc-web/projets/gen-game-web-instances/reghalal-jeu

View file

@ -1,40 +1,66 @@
ci_access:
projects:
- id: ldc-web/projets/agis
- id: ldc-web/projets/auguste-lambert
- id: ldc-web/projets/bien-etre-animal
- id: ldc-web/projets/boutique-cnc-sable
- id: ldc-web/projets/boutique-jeusselin
- id: ldc-web/projets/cailles-robin
- id: ldc-web/projets/com-app-bo
- id: ldc-web/projets/crm
- id: ldc-web/projets/coupe-de-france-de-la-volaille
- id: ldc-web/projets/domaine-de-lanvaux
- id: ldc-web/projets/doux
- id: ldc-web/projets/espri-restauration
- id: ldc-web/projets/galina
- id: ldc-web/projets/gen-game-web-instances/auguste-lambert
- id: ldc-web/projets/gen-game-web-instances/janze
- id: ldc-web/projets/gen-game-web-instances/l-orleanais-jeu
- id: ldc-web/projets/gen-game-web-instances/le-gaulois-eveillez-vos-papilles
- id: ldc-web/projets/gen-game-web-instances/le-gaulois-tdf-2024
- id: ldc-web/projets/gen-game-web-instances/le-gaulois-chequier-40-2025
- id: ldc-web/projets/gen-game-web-instances/le-gaulois-op-brasserie-2025
- id: ldc-web/projets/gen-game-web-instances/le-gaulois-sportif-2025
- id: ldc-web/projets/gen-game-web-instances/le-gaulois-sportif-2026
- id: ldc-web/projets/gen-game-web-instances/matines-40-ans
- id: ldc-web/projets/gen-game-web-instances/nature-and-respect
- id: ldc-web/projets/gen-game-web-instances/normandie
- id: ldc-web/projets/gen-game-web-instances/reghalal-jeu
- id: ldc-web/projets/gen-game-web-instances/tregalette-chandleur-2024
- id: ldc-web/projets/gen-game-web-prize-draw
- id: ldc-web/projets/id-halal
- id: ldc-web/projets/jeusselin
- id: ldc-web/projets/ker-chant
- id: ldc-web/projets/l-hours
- id: ldc-web/projets/la-boutique-du-canard
- id: ldc-web/projets/la-toque-angevine
- id: ldc-web/projets/ldc
- id: ldc-web/projets/ldc-foods
- id: ldc-web/projets/ldc-restauration
- id: ldc-web/projets/ldc-web
- id: ldc-web/projets/le-gaulois
- id: ldc-web/projets/le-gaulois-pro
- id: ldc-web/projets/le-marche-de-beaufeu
- id: ldc-web/projets/les-fermiers-snv
- id: ldc-web/projets/lionor
- id: ldc-web/projets/loue
- id: ldc-web/projets/loue-magie-de-noel
- id: ldc-web/projets/matomo
- id: ldc-web/projets/maitre-coq
- id: ldc-web/projets/mairet
- id: ldc-web/projets/maison-couthouis
- id: ldc-web/projets/marie
- id: ldc-web/projets/marie-restauration
- id: ldc-web/projets/mas-d-auge
- id: ldc-web/projets/matines
- id: ldc-web/projets/medina
- id: ldc-web/projets/mesbr
- id: ldc-web/projets/nature-and-respect
- id: ldc-web/projets/nature-eleveurs
- id: ldc-web/projets/op-insta-instances/le-gaulois
- id: ldc-web/projets/ovoteam
- id: ldc-web/projets/parc-auto
- id: ldc-web/projets/poule-et-toque
- id: ldc-web/projets/prims
- id: ldc-web/projets/qualimaine
- id: ldc-web/projets/qrcollector/qrcollector-back
- id: ldc-web/projets/qrcollector/qrcollector-front
- id: ldc-web/projets/regalette
- id: ldc-web/projets/reghalal
- id: ldc-web/projets/report
@ -42,13 +68,12 @@ ci_access:
- id: ldc-web/projets/sbv
- id: ldc-web/projets/share-secure-content
- id: ldc-web/projets/showroom/showroom-bo
- id: ldc-web/projets/showroom-bo-instances/drosed
- id: ldc-web/projets/showroom-bo-instances/maitre-coq
- id: ldc-web/projets/showroom-bo-instances/nature-and-respect
- id: ldc-web/projets/store-ldc
- id: ldc-web/projets/support-web
- id: ldc-web/projets/traditions-asie
- id: ldc-web/projets/tregalette
- id: ldc-web/projets/vdme
- id: ldc-web/projets/uwil-ui
- id: ldc-web/projets/volailles-ardeche
- id: ldc-web/projets/volailles-challans
- id: ldc-web/projets/volena
observability:

View file

@ -8,7 +8,6 @@
| FluxCD | no flux | 2.3.0 | 2.3.0 | 2.13.0 |
| Git-agent | 16.9.3 | 16.9.3 | 17.1.0 | 2.30 |
| Git-runner | 16.9.1 | 16.9.1 | 17.0.1 | 0.62.1 |
| MariaDB | 10.10 | 1.13.2 | 1.13.2 | 18.2.4 |
| Prometheus | 0.60.1 | 0.74.0 | 0.74.0 | 60.2.0 |
| Traefik | 2.9.6 | 3.0.2 | 3.0.2 | 28.3.0 |
| Velero | 1.10.1 | 1.13.2 | 1.13.2 | 6.7.0 |

View file

@ -1,39 +0,0 @@
# Migration de la base de données mariadb pour un projet LDC-WEB
### Prérequis
1) Avoir l'accès maintainer pour le projet
2) Avoir accès à l'ancienne, comme à la nouvelle base de données (ip publique autorisée)
### Maintenance du site
Avant de migrer la base de données, il est nécessaire de mettre le site en maintenance pour éviter
d'insérer des données dans l'ancienne base pendant la migration de la nouvelle.
1) Depuis Lens :
- Exécuter un shell dans le pod du projet
- `php artisan down`
2) En CLI :
- `export POD_NAME=<nom_du_pod>`
- `export NAMESPACE=<namespace>`
- `kubectl --kubeconfig="~/.kube/ldc-web-prod" exec "${POD_NAME}" -n ${NAMESPACE} -- php artisan down`
### Migration de la base
Utiliser le script de migration `migrate.sh`
```
export DB_NAME=
export PASSWORD=
sh migrate.sh
```
Si le user est différent du nom de la base : `export USER_NAME=`
### Modification du projet
Dans la ressource `configMap` du fichier `manifest.yaml` :
1) Modifier la variable `DB_HOST`, mettre `mysql-e884938b-o403ac517.database.cloud.ovh.net`
2) Ajouter la variable `DB_PORT`, mettre `20184`
3) Commit/Merge dans la branche souhaitée
4) Déployer et réactiver le site (`php artisan up`)
5) Vérifier le fonctionnement du site et la présence des données migrées

View file

@ -1,31 +0,0 @@
#!/bin/bash
## MOTS DE PASSE ##
new_password='' # A SURCHARGER
old_password='' # A SURCHARGER
## BASES DE DONNEES
new_host='mysql-e884938b-o403ac517.database.cloud.ovh.net'
new_port=20184
old_host='51.91.81.188'
old_port=54322
# Si le user est le même que le nom de base
if [[ -n "$USER" ]]; then
USER=$DB_NAME
fi
# Créer la nouvelle base - user - privilèges
query="CREATE DATABASE IF NOT EXISTS \`${DB_NAME}\`;CREATE USER IF NOT EXISTS \`${USER}\`@'%' IDENTIFIED BY '${PASSWORD}';GRANT ALL PRIVILEGES ON \`${DB_NAME}\`.* TO \`${USER}\`@'%';"
mariadb -h ${new_host} -P ${new_port} -u avnadmin --password=${new_password} -e "${query}"
# Dump ancienne base
mysqldump -h ${old_host} -P ${old_port} -u root --password=${old_password} ${DB_NAME} > /tmp/${DB_NAME}.sql
# Load nouvelle base
mariadb -h ${new_host} -P ${new_port} -u avnadmin --password=${new_password} ${DB_NAME} < /tmp/${DB_NAME}.sql
# Supprimer le dump
rm /tmp/${DB_NAME}.sql

View file

@ -22,7 +22,7 @@ spec:
namespace: flux-system
sourceRef:
kind: GitRepository
name: cluster-k8s
name: flux-system
timeout: 5m
---
@ -40,5 +40,5 @@ spec:
namespace: flux-system
sourceRef:
kind: GitRepository
name: cluster-k8s
name: flux-system
timeout: 5m

View file

@ -0,0 +1,32 @@
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: crowdsec
namespace: flux-system
spec:
interval: 1m0s
path: ./infrastructure/crowdsec
prune: false
healthChecks:
- apiVersion: source.toolkit.fluxcd.io/v1
kind: HelmRepository
name: crowdsec
namespace: common-services
- apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
name: crowdsec
namespace: common-services
- apiVersion: v1
kind: Pod
name: vault-0
namespace: common-services
dependsOn:
- name: namespaces
namespace: flux-system
- name: external-secrets-resources
namespace: flux-system
sourceRef:
kind: GitRepository
name: flux-system
timeout: 5m

View file

@ -13,5 +13,5 @@ spec:
namespace: flux-system
sourceRef:
kind: GitRepository
name: cluster-k8s
name: flux-system
namespace: flux-system

View file

@ -13,7 +13,7 @@ spec:
namespace: flux-system
sourceRef:
kind: GitRepository
name: cluster-k8s
name: flux-system
healthChecks:
- apiVersion: source.toolkit.fluxcd.io/v1
kind: HelmRepository

View file

@ -13,7 +13,7 @@ spec:
namespace: flux-system
sourceRef:
kind: GitRepository
name: cluster-k8s
name: flux-system
healthChecks:
- apiVersion: source.toolkit.fluxcd.io/v1
kind: HelmRepository

View file

@ -10,7 +10,7 @@ spec:
prune: false
sourceRef:
kind: GitRepository
name: cluster-k8s
name: flux-system
dependsOn:
- name: namespaces
namespace: flux-system
@ -40,7 +40,7 @@ spec:
namespace: flux-system
sourceRef:
kind: GitRepository
name: cluster-k8s
name: flux-system
namespace: flux-system
healthChecks:
- apiVersion: source.toolkit.fluxcd.io/v1
@ -68,6 +68,6 @@ spec:
namespace: flux-system
sourceRef:
kind: GitRepository
name: cluster-k8s
name: flux-system
namespace: flux-system
timeout: 10m

View file

@ -1,15 +1,17 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- cert-manager.yaml
- flux-resources.yaml
- gitlab-agent.yaml
- gitlab-runner.yaml
- hashicorp-vault.yaml
- ldc-custom.yaml
- mariadb.yaml
- meilisearch.yaml
- namespaces.yaml
- prometheus-stack.yaml
- traefik.yaml
- quickchart.yaml
- cert-manager.yaml
- flux-resources.yaml
- gitlab-agent.yaml
- gitlab-runner.yaml
- hashicorp-vault.yaml
- ldc-custom.yaml
- meilisearch.yaml
- namespaces.yaml
- prometheus-stack.yaml
- rabbitmq.yaml
- traefik.yaml
- quickchart.yaml
- netdata.yaml
- crowdsec.yaml

View file

@ -10,7 +10,7 @@ spec:
prune: true
sourceRef:
kind: GitRepository
name: cluster-k8s
name: flux-system
dependsOn:
- name: prometheus-stack
namespace: flux-system

View file

@ -22,5 +22,5 @@ spec:
namespace: flux-system
sourceRef:
kind: GitRepository
name: cluster-k8s
name: flux-system
timeout: 5m

View file

@ -13,7 +13,7 @@ spec:
namespace: flux-system
sourceRef:
kind: GitRepository
name: cluster-k8s
name: flux-system
healthChecks:
- apiVersion: v1
kind: Namespace

View file

@ -2,25 +2,31 @@
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: mariadb
name: netdata
namespace: flux-system
spec:
interval: 30s
path: ./infrastructure/mariadb
interval: 1m0s
path: ./infrastructure/netdata
prune: false
sourceRef:
kind: GitRepository
name: cluster-k8s
dependsOn:
- name: external-secrets-resources
namespace: flux-system
healthChecks:
- apiVersion: source.toolkit.fluxcd.io/v1
kind: HelmRepository
name: bitnami
name: netdata
namespace: common-services
- apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
name: mariadb
name: netdata
namespace: common-services
- apiVersion: v1
kind: Pod
name: vault-0
namespace: common-services
dependsOn:
- name: namespaces
namespace: flux-system
- name: external-secrets-resources
namespace: flux-system
sourceRef:
kind: GitRepository
name: flux-system
timeout: 5m

View file

@ -10,7 +10,7 @@ spec:
prune: false
sourceRef:
kind: GitRepository
name: cluster-k8s
name: flux-system
dependsOn:
- name: external-secrets-resources
namespace: flux-system

View file

@ -22,5 +22,5 @@ spec:
namespace: flux-system
sourceRef:
kind: GitRepository
name: cluster-k8s
name: flux-system
timeout: 5m

View file

@ -0,0 +1,26 @@
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: rabbitmq
namespace: flux-system
spec:
interval: 1m0s
path: ./infrastructure/rabbitmq
prune: false
healthChecks:
- apiVersion: source.toolkit.fluxcd.io/v1
kind: HelmRepository
name: bitnami
namespace: common-services
- apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
name: rabbitmq
namespace: common-services
dependsOn:
- name: namespaces
namespace: flux-system
sourceRef:
kind: GitRepository
name: flux-system
timeout: 5m

View file

@ -22,5 +22,5 @@ spec:
namespace: flux-system
sourceRef:
kind: GitRepository
name: cluster-k8s
name: flux-system
timeout: 5m

File diff suppressed because it is too large Load diff

View file

@ -3,7 +3,7 @@
apiVersion: source.toolkit.fluxcd.io/v1
kind: GitRepository
metadata:
name: cluster-k8s
name: flux-system
namespace: flux-system
spec:
interval: 1m0s
@ -24,4 +24,4 @@ spec:
prune: true
sourceRef:
kind: GitRepository
name: cluster-k8s
name: flux-system

View file

@ -9,4 +9,4 @@ spec:
prune: false
sourceRef:
kind: GitRepository
name: cluster-k8s
name: flux-system

File diff suppressed because it is too large Load diff

View file

@ -3,7 +3,7 @@
apiVersion: source.toolkit.fluxcd.io/v1
kind: GitRepository
metadata:
name: cluster-k8s
name: flux-system
namespace: flux-system
spec:
interval: 1m0s
@ -24,4 +24,4 @@ spec:
prune: true
sourceRef:
kind: GitRepository
name: cluster-k8s
name: flux-system

View file

@ -9,4 +9,4 @@ spec:
prune: false
sourceRef:
kind: GitRepository
name: cluster-k8s
name: flux-system

View file

@ -8,7 +8,7 @@ spec:
chart:
spec:
chart: cert-manager
version: 1.15.0
version: 1.17.2
sourceRef:
kind: HelmRepository
name: cert-manager

View file

@ -8,6 +8,7 @@ spec:
dnsNames:
- '*.${REVIEW_DOMAIN_NAME}'
secretName: wildcard-k8s-ldc
revisionHistoryLimit: 1
issuerRef:
name: letsencrypt-production-dns01
kind: ClusterIssuer
@ -22,6 +23,7 @@ spec:
dnsNames:
- '*.${STAGING_DOMAIN_NAME}'
secretName: wildcard-k8s-ldc
revisionHistoryLimit: 1
issuerRef:
name: letsencrypt-production-dns01
kind: ClusterIssuer
@ -36,6 +38,7 @@ spec:
dnsNames:
- '*.${PRODUCTION_DOMAIN_NAME}'
secretName: wildcard-k8s-ldc
revisionHistoryLimit: 1
issuerRef:
name: letsencrypt-production-dns01
kind: ClusterIssuer

View file

@ -0,0 +1,92 @@
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: crowdsec
namespace: common-services
spec:
interval: 5m
chart:
spec:
chart: crowdsec
version: 0.24.0
sourceRef:
kind: HelmRepository
name: crowdsec
namespace: common-services
values:
container_runtime: containerd
image:
tag: v1.7.8
agent:
acquisition:
- namespace: common-services
podName: traefik-*
program: traefik
env:
- name: COLLECTIONS
value: "crowdsecurity/traefik"
secrets:
externalSecret:
name: crowdsec-lapi-secret
csLapiSecretKey: "CS_LAPI_SECRET"
registrationTokenKey: "REGISTRATION_TOKEN"
lapi:
replicas: 2
storeCAPICredentialsInSecret: true
storeLAPICscliCredentialsInSecret: true
persistentVolume:
data:
enabled: false
config:
enabled: false
envFrom:
- secretRef:
name: crowdsec-lapi-secret
config:
config.yaml.local: |
api:
client:
# the log processor will remove delete itself from LAPI when stopping.
unregister_on_exit: true
server:
auto_registration: # Activate if not using TLS for authentication
enabled: true
token: "${CROWDSEC_REGISTRATION_TOKEN}" # /!\ Do not modify this variable (Cluster K8S gitlab var)
allowed_ranges: # /!\ Make sure to adapt to the pod IP ranges used by your cluster
- "127.0.0.1/32"
- "192.168.0.0/16"
- "10.0.0.0/8"
- "172.16.0.0/12"
db_config:
type: mysql
user: ${CROWDSEC_DB_USER}
password: ${CROWDSEC_DB_PWD}
db_name: ${CROWDSEC_DB_NAME}
host: ${DB_HOST}
port: ${DB_PORT}
flush:
bouncers_autodelete:
api_key: 1h
agents_autodelete:
login_password: 6h
cert: 6h
appsec:
enabled: true
acquisitions:
- source: appsec
listen_addr: "0.0.0.0:7422"
path: /
appsec_configs:
- crowdsecurity/appsec-default
- crowdsecurity/crs
labels:
type: appsec
env:
- name: COLLECTIONS
value: "crowdsecurity/appsec-virtual-patching crowdsecurity/appsec-crs crowdsecurity/appsec-generic-rules"

View file

@ -0,0 +1,8 @@
apiVersion: source.toolkit.fluxcd.io/v1
kind: HelmRepository
metadata:
name: crowdsec
namespace: common-services
spec:
interval: 1h0m0s
url: https://crowdsecurity.github.io/helm-charts

View file

@ -9,7 +9,7 @@ spec:
chart:
spec:
chart: gitlab-agent
version: 1.24.0
version: 2.29.0
sourceRef:
kind: HelmRepository
name: gitlab-agent
@ -17,7 +17,7 @@ spec:
values:
image:
tag: v16.9.2
tag: v19.2.0
config:
kasAddress: "wss://lab.s-web.fr/-/kubernetes-agent/"

View file

@ -9,7 +9,7 @@ spec:
chart:
spec:
chart: gitlab-runner
version: 0.62.1
version: 0.91.2
sourceRef:
kind: HelmRepository
name: gitlab-runner
@ -17,7 +17,7 @@ spec:
values:
image:
tag: alpine-v16.9.1
tag: alpine-v19.2.2
gitlabUrl: https://lab.s-web.fr

View file

@ -5,27 +5,30 @@ metadata:
namespace: common-services
spec:
schedule: "* * * * *"
suspend: false # géré explicitement par Git (corrige le drift de suspension manuelle)
concurrencyPolicy: Forbid
startingDeadlineSeconds: 60
successfulJobsHistoryLimit: 1
failedJobsHistoryLimit: 2
failedJobsHistoryLimit: 3
jobTemplate:
spec:
backoffLimit: 2
activeDeadlineSeconds: 120
template:
spec:
securityContext:
runAsNonRoot: true
runAsUser: 10001
seccompProfile:
type: RuntimeDefault
containers:
- name: vault-auto-unseal
image: registry.s-web.fr/ldc-web/k8s-vault-unseal:1.0.0
image: registry.s-web.fr/ldc-web/k8s-vault-unseal:1.1.0
imagePullPolicy: IfNotPresent
command: ["python", "main.py", "-u", "http://vault.common-services:8200", "-t", "${DOLLAR}(VAULT_TOKEN)",
"-k", "${DOLLAR}(UNSEAL_KEY_1)", "-k", "${DOLLAR}(UNSEAL_KEY_2)", "-k", "${DOLLAR}(UNSEAL_KEY_3)",
"-k", "${DOLLAR}(UNSEAL_KEY_4)", "-k", "${DOLLAR}(UNSEAL_KEY_5)"]
command: ["python", "main.py", "-u", "http://vault.common-services:8200"]
env:
- name: VAULT_TOKEN
valueFrom:
secretKeyRef:
name: vault-credentials
key: token
- name: PYTHONDONTWRITEBYTECODE
value: "1"
- name: UNSEAL_KEY_1
valueFrom:
secretKeyRef:
@ -51,6 +54,19 @@ spec:
secretKeyRef:
name: vault-credentials
key: unseal_key_5
resources:
requests:
cpu: 10m
memory: 32Mi
limits:
cpu: 100m
memory: 64Mi
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities:
drop:
- ALL
imagePullSecrets:
- name: docker-registry-credentials
restartPolicy: OnFailure

View file

@ -8,7 +8,7 @@ spec:
chart:
spec:
chart: external-secrets
version: 0.9.19
version: 0.16.1
sourceRef:
kind: HelmRepository
name: external-secrets
@ -16,4 +16,4 @@ spec:
values:
image:
tag: v0.9.19
tag: v0.16.1

View file

@ -0,0 +1,38 @@
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: crowdsec-lapi-secret
namespace: common-services
spec:
refreshInterval: 15s
secretStoreRef:
name: vault-secret-store
kind: ClusterSecretStore
target:
name: crowdsec-lapi-secret
creationPolicy: Owner
data:
- secretKey: CS_LAPI_SECRET
remoteRef:
key: secret/data/crowdsec/lapi
property: CS_LAPI_SECRET
- secretKey: REGISTRATION_TOKEN
remoteRef:
key: secret/data/crowdsec/lapi
property: REGISTRATION_TOKEN
- secretKey: ENROLL_KEY
remoteRef:
key: secret/data/crowdsec/lapi
property: ENROLL_KEY
- secretKey: ENROLL_INSTANCE_NAME
remoteRef:
key: secret/data/crowdsec/lapi
property: ENROLL_INSTANCE_NAME
- secretKey: ENROLL_TAGS
remoteRef:
key: secret/data/crowdsec/lapi
property: ENROLL_TAGS
- secretKey: BOUNCER_KEY_traefik
remoteRef:
key: secret/data/crowdsec/lapi
property: BOUNCER_KEY_traefik

View file

@ -7,8 +7,10 @@ resources:
- gitlab-agent.yaml
- gitlab-runner.yaml
- hashicorp-vault.yaml
- mariadb.yaml
- prometheus-stack.yaml
- review.yaml
- staging.yaml
- production.yaml
- rabbitmq.yaml
- netdata.yaml
- crowdsec.yaml

View file

@ -1,28 +0,0 @@
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: mariadb-credentials
namespace: common-services
spec:
refreshInterval: "15s"
secretStoreRef:
name: vault-secret-store
kind: ClusterSecretStore
target:
name: mariadb-credentials
template:
engineVersion: v2
type: Opaque
data:
mariadb-password: "{{ .password }}"
mariadb-replication-password: "{{ .root_password }}"
mariadb-root-password: "{{ .root_password }}"
data:
- secretKey: root_password
remoteRef:
key: secret/mariadb
property: root_password
- secretKey: password
remoteRef:
key: secret/mariadb
property: password

View file

@ -0,0 +1,41 @@
---
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: netdata-claim
namespace: common-services
spec:
refreshInterval: "15s"
secretStoreRef:
name: vault-secret-store
kind: ClusterSecretStore
target:
name: netdata-claim
data:
- secretKey: NETDATA_CLAIM_TOKEN
remoteRef:
key: secret/netdata/claim
property: NETDATA_CLAIM_TOKEN
- secretKey: NETDATA_CLAIM_ROOMS
remoteRef:
key: secret/netdata/claim
property: NETDATA_CLAIM_ROOMS
---
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: netdata-stream
namespace: common-services
spec:
refreshInterval: "15s"
secretStoreRef:
name: vault-secret-store
kind: ClusterSecretStore
target:
name: netdata-stream
data:
- secretKey: APIKEY
remoteRef:
key: secret/netdata/stream
property: APIKEY

View file

@ -0,0 +1,22 @@
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: rabbitmq-credentials
namespace: common-services
spec:
refreshInterval: "15s"
secretStoreRef:
name: vault-secret-store
kind: ClusterSecretStore
target:
name: rabbitmq-credentials
template:
engineVersion: v2
type: Opaque
data:
rabbitmq-password: "{{ .password }}"
data:
- secretKey: password
remoteRef:
key: secret/rabbitmq
property: password

View file

@ -8,7 +8,7 @@ spec:
chart:
spec:
chart: vault
version: 0.28.1
version: 0.30.0
sourceRef:
kind: HelmRepository
name: hashicorp
@ -18,14 +18,11 @@ spec:
injector:
metrics:
enabled: true
image:
tag: "1.4.2"
agentImage:
tag: "1.17.2"
server:
image:
tag: "1.17.2"
ingress:
enabled: false
livenessProbe:
enabled: true
# Liveness tolérante au seal : un Vault scellé renvoie 200 (sealedcode/uninitcode)
# pour ne pas tuer le pod en boucle avant que l'auto-unseal n'agisse.
path: "/v1/sys/health?standbyok=true&sealedcode=200&uninitcode=200"

View file

@ -1,6 +1,6 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- helm-repository.yaml
- helm-release.yaml
- auto-unseal.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- helm-repository.yaml
- helm-release.yaml
- auto-unseal.yaml

View file

@ -49,6 +49,23 @@ metadata:
kubernetes.io/service-account.name: svc-karl-muller
type: kubernetes.io/service-account-token
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: svc-jeremy-munsch
namespace: kube-system
---
apiVersion: v1
kind: Secret
metadata:
name: jeremy-munsch-secret
namespace: kube-system
annotations:
kubernetes.io/service-account.name: svc-jeremy-munsch
type: kubernetes.io/service-account-token
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
@ -59,15 +76,18 @@ roleRef:
kind: ClusterRole
name: view
subjects:
- kind: ServiceAccount
name: svc-vincent-bridier
namespace: kube-system
- kind: ServiceAccount
name: svc-noah-lancien
namespace: kube-system
- kind: ServiceAccount
name: svc-karl-muller
namespace: kube-system
- kind: ServiceAccount
name: svc-vincent-bridier
namespace: kube-system
- kind: ServiceAccount
name: svc-noah-lancien
namespace: kube-system
- kind: ServiceAccount
name: svc-karl-muller
namespace: kube-system
- kind: ServiceAccount
name: svc-jeremy-munsch
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
@ -76,40 +96,40 @@ metadata:
creationTimestamp: null
name: cr-ldc-web-metrics
rules:
- apiGroups:
- ""
resources:
- services/portforward
- services/proxy
verbs:
- create
- delete
- get
- list
- apiGroups:
- apiextensions.k8s.io
resources:
- customresourcedefinitions
verbs:
- get
- list
- watch
- apiGroups:
- traefik.io
resources:
- ingressroutes
- ingressroutetcps
- ingressrouteudps
- middlewares
- middlewaretcps
- tlsoptions
- tlsstores
- traefikservices
- serverstransports
verbs:
- get
- list
- watch
- apiGroups:
- ""
resources:
- services/portforward
- services/proxy
verbs:
- create
- delete
- get
- list
- apiGroups:
- apiextensions.k8s.io
resources:
- customresourcedefinitions
verbs:
- get
- list
- watch
- apiGroups:
- traefik.io
resources:
- ingressroutes
- ingressroutetcps
- ingressrouteudps
- middlewares
- middlewaretcps
- tlsoptions
- tlsstores
- traefikservices
- serverstransports
verbs:
- get
- list
- watch
---
apiVersion: rbac.authorization.k8s.io/v1
@ -121,15 +141,18 @@ roleRef:
kind: ClusterRole
name: cr-ldc-web-metrics
subjects:
- kind: ServiceAccount
name: svc-vincent-bridier
namespace: kube-system
- kind: ServiceAccount
name: svc-noah-lancien
namespace: kube-system
- kind: ServiceAccount
name: svc-karl-muller
namespace: kube-system
- kind: ServiceAccount
name: svc-vincent-bridier
namespace: kube-system
- kind: ServiceAccount
name: svc-noah-lancien
namespace: kube-system
- kind: ServiceAccount
name: svc-karl-muller
namespace: kube-system
- kind: ServiceAccount
name: svc-jeremy-munsch
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
@ -138,12 +161,12 @@ metadata:
creationTimestamp: null
name: cr-admin-web-ldc-namespace
rules:
- apiGroups:
- "*"
resources:
- "*"
verbs:
- "*"
- apiGroups:
- "*"
resources:
- "*"
verbs:
- "*"
---
apiVersion: rbac.authorization.k8s.io/v1
@ -152,15 +175,18 @@ metadata:
name: rb-admin-web-ldc-namespace-review
namespace: review
subjects:
- kind: ServiceAccount
name: svc-vincent-bridier
namespace: kube-system
- kind: ServiceAccount
name: svc-noah-lancien
namespace: kube-system
- kind: ServiceAccount
name: svc-karl-muller
namespace: kube-system
- kind: ServiceAccount
name: svc-vincent-bridier
namespace: kube-system
- kind: ServiceAccount
name: svc-noah-lancien
namespace: kube-system
- kind: ServiceAccount
name: svc-karl-muller
namespace: kube-system
- kind: ServiceAccount
name: svc-jeremy-munsch
namespace: kube-system
roleRef:
kind: ClusterRole
name: cr-admin-web-ldc-namespace
@ -173,15 +199,18 @@ metadata:
name: rb-admin-web-ldc-namespace-staging
namespace: staging
subjects:
- kind: ServiceAccount
name: svc-vincent-bridier
namespace: kube-system
- kind: ServiceAccount
name: svc-noah-lancien
namespace: kube-system
- kind: ServiceAccount
name: svc-karl-muller
namespace: kube-system
- kind: ServiceAccount
name: svc-vincent-bridier
namespace: kube-system
- kind: ServiceAccount
name: svc-noah-lancien
namespace: kube-system
- kind: ServiceAccount
name: svc-karl-muller
namespace: kube-system
- kind: ServiceAccount
name: svc-jeremy-munsch
namespace: kube-system
roleRef:
kind: ClusterRole
name: cr-admin-web-ldc-namespace
@ -194,15 +223,18 @@ metadata:
name: rb-admin-web-ldc-namespace-production
namespace: production
subjects:
- kind: ServiceAccount
name: svc-vincent-bridier
namespace: kube-system
- kind: ServiceAccount
name: svc-noah-lancien
namespace: kube-system
- kind: ServiceAccount
name: svc-karl-muller
namespace: kube-system
- kind: ServiceAccount
name: svc-vincent-bridier
namespace: kube-system
- kind: ServiceAccount
name: svc-noah-lancien
namespace: kube-system
- kind: ServiceAccount
name: svc-karl-muller
namespace: kube-system
- kind: ServiceAccount
name: svc-jeremy-munsch
namespace: kube-system
roleRef:
kind: ClusterRole
name: cr-admin-web-ldc-namespace
@ -215,9 +247,18 @@ metadata:
name: rb-admin-web-ldc-namespace-common-services
namespace: common-services
subjects:
- kind: ServiceAccount
name: svc-vincent-bridier
namespace: kube-system
- kind: ServiceAccount
name: svc-vincent-bridier
namespace: kube-system
- kind: ServiceAccount
name: svc-noah-lancien
namespace: kube-system
- kind: ServiceAccount
name: svc-karl-muller
namespace: kube-system
- kind: ServiceAccount
name: svc-jeremy-munsch
namespace: kube-system
roleRef:
kind: ClusterRole
name: cr-admin-web-ldc-namespace

View file

@ -1,30 +0,0 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: mariadb
namespace: common-services
spec:
interval: 1m0s
chart:
spec:
chart: mariadb
version: 18.2.4
sourceRef:
kind: HelmRepository
name: bitnami
namespace: common-services
values:
image:
tag: 11.3.2-debian-12-r6
auth:
existingSecret: mariadb-credentials
primary:
persistence:
storageClass: "csi-cinder-high-speed"
size: 60Gi
resourcesPreset: "${MARIADB_RESOURCES_REQUEST}"

View file

@ -0,0 +1,117 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: netdata
namespace: common-services
spec:
interval: 1m0s
chart:
spec:
chart: netdata
version: 3.7.158
sourceRef:
kind: HelmRepository
name: netdata
namespace: common-services
# Injecte APIKEY depuis un Secret (pas en clair dans Git)
valuesFrom:
- kind: Secret
name: netdata-stream
valuesKey: APIKEY
targetPath: APIKEY
values:
image:
tag: v2.8.5
# Service interne uniquement
service:
type: ClusterIP
port: 19999
# Pas d'exposition
ingress:
enabled: false
# Pas d'auto-update des pods en prod critique
restarter:
enabled: false
# Parent = point de centralisation + health/alerting (par défaut chart)
parent:
enabled: true
port: 19999
resources:
requests:
cpu: "${NETDATA_PARENT_REQUESTS_CPU}"
memory: "${NETDATA_PARENT_REQUESTS_RAM}"
limits:
cpu: "${NETDATA_PARENT_LIMITS_CPU}"
memory: "${NETDATA_PARENT_LIMITS_RAM}"
# PV parent recommandés (db + alarms)
database:
persistence: true
volumesize: 40Gi # /var/cache/netdata
alarms:
persistence: true
volumesize: 4Gi # /var/lib/netdata
# Claiming via Secret envFrom
claiming:
enabled: true
token: ""
rooms: ""
url: "https://api.netdata.cloud"
envFrom:
- secretRef:
name: netdata-claim
# Child DaemonSet
child:
enabled: true
hostNetwork: true
dnsPolicy: ClusterFirstWithHostNet
resources:
requests:
cpu: "${NETDATA_CHILD_REQUESTS_CPU}"
memory: "${NETDATA_CHILD_REQUESTS_RAM}"
limits:
cpu: "${NETDATA_CHILD_LIMITS_CPU}"
memory: "${NETDATA_CHILD_LIMITS_RAM}"
persistence:
enabled: true
hostPath: /var/lib/netdata-k8s-child
# Hardening UI sur les nodes: bind localhost uniquement
configs:
netdata:
enabled: true
path: /etc/netdata/netdata.conf
data: |
[db]
mode = ram
retention = "${NETDATA_CHILD_RETENTION}"
update every = "${NETDATA_CHILD_COLLECT_INTERVAL}"
[web]
bind to = localhost:19999
[health]
enabled = no
[ml]
enabled = no
# Claiming via Secret envFrom (token PAS en clair ici)
claiming:
enabled: true
token: ""
rooms: ""
url: "https://api.netdata.cloud"
envFrom:
- secretRef:
name: netdata-claim

View file

@ -0,0 +1,9 @@
---
apiVersion: source.toolkit.fluxcd.io/v1
kind: HelmRepository
metadata:
name: netdata
namespace: common-services
spec:
interval: 1h0m0s
url: https://netdata.github.io/helmchart/

View file

@ -0,0 +1,5 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- helm-repository.yaml
- helm-release.yaml

View file

@ -9,7 +9,7 @@ spec:
chart:
spec:
chart: kube-prometheus-stack
version: 62.2.1
version: 72.0.1
sourceRef:
kind: HelmRepository
name: prometheus-community
@ -18,7 +18,7 @@ spec:
prometheusOperator:
image:
tag: v0.76.0
tag: v0.82.0
grafana:
defaultDashboardsTimezone: Europe/Paris
@ -37,4 +37,4 @@ spec:
storageClassName: "csi-cinder-classic"
resources:
requests:
storage: 20Gi
storage: 40Gi

View file

@ -0,0 +1,24 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: rabbitmq
namespace: common-services
spec:
interval: 1m0s
chart:
spec:
chart: rabbitmq
version: 16.0.3
sourceRef:
kind: HelmRepository
name: bitnami
namespace: common-services
values:
global:
defaultStorageClass: "csi-cinder-high-speed"
image:
tag: 4.0.1
auth:
username: rabbitmq
existingPasswordSecret: rabbitmq-credentials

View file

@ -1,10 +1,9 @@
---
apiVersion: source.toolkit.fluxcd.io/v1
kind: HelmRepository
metadata:
name: bitnami
namespace: common-services
spec:
interval: 1h0m0s
url: oci://registry-1.docker.io/bitnamicharts
type: "oci"
apiVersion: source.toolkit.fluxcd.io/v1
kind: HelmRepository
metadata:
name: bitnami
namespace: common-services
spec:
interval: 1h0m0s
url: oci://registry-1.docker.io/bitnamicharts
type: "oci"

View file

@ -0,0 +1,5 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- helm-repository.yaml
- helm-release.yaml

View file

@ -1,261 +1,481 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: traefik
namespace: common-services
spec:
interval: 1m0s
chart:
spec:
chart: traefik
version: 31.1.1
sourceRef:
kind: HelmRepository
name: traefik
namespace: common-services
values:
image:
tag: v3.1.4
rbac:
enabled: true
globalArguments:
- "--global.checknewversion"
- "--global.sendanonymoususage"
- "--accesslog=true"
- "--entryPoints.web.http.redirections.entryPoint.to=websecure"
- "--entrypoints.web.http.redirections.entrypoint.scheme=https"
- "--providers.kubernetescrd.allowCrossNamespace=true"
- "--entryPoints.web.proxyProtocol.trustedIPs=${TRAEFIK_LOAD_BALANCER_IP}/32,10.124.0.0/16"
- "--entryPoints.websecure.proxyProtocol.trustedIPs=${TRAEFIK_LOAD_BALANCER_IP}/32,10.124.0.0/16"
- "--entryPoints.websecure.forwardedHeaders.trustedIPs=${TRAEFIK_LOAD_BALANCER_IP}/32"
- "--entryPoints.mariadb.proxyProtocol.trustedIPs=${TRAEFIK_LOAD_BALANCER_IP},10.124.0.0/16"
additionalArguments:
- "--log.level=DEBUG"
ports:
traefik:
port: 9000
expose:
default: false
protocol: TCP
web:
redirectTo:
port: websecure
websecure:
port: 8443
expose:
default: true
exposedPort: 443
protocol: TCP
tls:
enabled: true
metrics:
port: 9100
expose:
default: false
protocol: TCP
mariadb:
port: 54322
expose:
default: true
protocol: TCP
providers:
kubernetesCRD:
enabled: true
ingresssClass: traefik
kubernetesIngress:
enabled: true
service:
enabled: true
type: LoadBalancer
annotations:
service.beta.kubernetes.io/ovh-loadbalancer-proxy-protocol: v2
spec:
loadBalancerIP: "${TRAEFIK_LOAD_BALANCER_IP}"
externalTrafficPolicy: Local
ingressRoute:
dashboard:
enabled: true
extraObjects:
- apiVersion: traefik.io/v1alpha1 # Redirect www URLs to their no-www equivalent
kind: Middleware
metadata:
name: redirect-www-to-no-www
namespace: common-services
spec:
# Redirect a request from an url to another with regex matching and replacement
redirectRegex:
# Apply a permanent redirection (HTTP 301)
permanent: true
# The regular expression to match and capture elements from the request URL
regex: "^https?://www\\.(.+)"
# How to modify the URL to have the new target URL
replacement: "https://${1}"
- apiVersion: traefik.io/v1alpha1 # Redirect www URLs to their no-www equivalent
kind: Middleware
metadata:
name: redirect-www-to-no-www
namespace: production
spec:
# Redirect a request from an url to another with regex matching and replacement
redirectRegex:
# Apply a permanent redirection (HTTP 301)
permanent: true
# The regular expression to match and capture elements from the request URL
regex: "^https?://www\\.(.+)"
# How to modify the URL to have the new target URL
replacement: "https://${1}"
- apiVersion: traefik.io/v1alpha1 # Redirect www URLs to their no-www equivalent
kind: Middleware
metadata:
name: redirect-www-to-no-www
namespace: staging
spec:
# Redirect a request from an url to another with regex matching and replacement
redirectRegex:
# Apply a permanent redirection (HTTP 301)
permanent: true
# The regular expression to match and capture elements from the request URL
regex: "^https?://www\\.(.+)"
# How to modify the URL to have the new target URL
replacement: "https://${1}"
- apiVersion: traefik.io/v1alpha1 # Redirect www URLs to their no-www equivalent
kind: Middleware
metadata:
name: redirect-www-to-no-www
namespace: review
spec:
# Redirect a request from an url to another with regex matching and replacement
redirectRegex:
# Apply a permanent redirection (HTTP 301)
permanent: true
# The regular expression to match and capture elements from the request URL
regex: "^https?://www\\.(.+)"
# How to modify the URL to have the new target URL
replacement: "https://${1}"
# Redirection to www for common-services namespace
# TODO: remove this middleware when all sites been updated
- apiVersion: traefik.io/v1alpha1 # Redirect no-www URLs to their www equivalent
kind: Middleware
metadata:
name: redirect-no-www-to-www
namespace: common-services
spec:
# Redirect a request from an url to another with regex matching and replacement
redirectRegex:
# Apply a permanent redirection (HTTP 301)
permanent: true
# The regular expression to match and capture elements from the request URL
regex: "^https?://(?:www\\.)?(.+)"
# How to modify the URL to have the new target URL
replacement: "https://www.${1}"
# Redirection to www for production namespace
- apiVersion: traefik.io/v1alpha1 # Redirect no-www URLs to their www equivalent
kind: Middleware
metadata:
name: redirect-no-www-to-www
namespace: production
spec:
# Redirect a request from an url to another with regex matching and replacement
redirectRegex:
# Apply a permanent redirection (HTTP 301)
permanent: true
# The regular expression to match and capture elements from the request URL
regex: "^https?://(?:www\\.)?(.+)"
# How to modify the URL to have the new target URL
replacement: "https://www.${1}"
# Redirection from www to domain for staging
- apiVersion: traefik.io/v1alpha1 # Redirect no-www URLs to their www equivalent
kind: Middleware
metadata:
name: redirect-no-www-to-www
namespace: staging
spec:
redirectRegex:
# Apply a permanent redirection (HTTP 301)
permanent: true
# The regular expression to match and capture elements from the request URL
regex: "^https?://www\\.(.+)"
# How to modify the URL to have the new target URL
replacement: "https://${1}"
# Redirection from www to domain for review
- apiVersion: traefik.io/v1alpha1 # Redirect no-www URLs to their www equivalent
kind: Middleware
metadata:
name: redirect-no-www-to-www
namespace: review
spec:
redirectRegex:
# Apply a permanent redirection (HTTP 301)
permanent: true
# The regular expression to match and capture elements from the request URL
regex: "^https?://www\\.(.+)"
# How to modify the URL to have the new target URL
replacement: "https://${1}"
- apiVersion: traefik.io/v1alpha1
kind: MiddlewareTCP
metadata:
name: ipwhitelist-acces-mariadb
namespace: common-services
spec:
ipAllowList:
sourceRange:
- 46.18.126.208/28 # LDC
- 62.193.56.48/32 # OPENevents - Bureau Neuville
- 80.15.14.76/32 # LDC web - Box externe
- 86.65.205.240/28 # LDC
- 135.125.42.176/28 # LDC
- 149.202.23.64/26 # LDC
- 151.80.95.176/28 # LDC
- 217.15.92.64/28 # LDC
- 10.124.0.0/16 # Kubernetes internal resources
- apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: admin-ldc-whitelist
namespace: common-services
spec:
ipAllowList:
sourceRange:
- 46.18.126.208/28 # LDC
- 62.193.56.48/32 # OPENevents - Bureau Neuville
- 80.15.14.76/32 # LDC web - Box externe
- 86.65.205.240/28 # LDC
- 135.125.42.176/28 # LDC
- 149.202.23.64/26 # LDC
- 151.80.95.176/28 # LDC
- 217.15.92.64/28 # LDC
- apiVersion: traefik.io/v1alpha1
kind: IngressRouteTCP
metadata:
name: mariadb-ingressroutetcp
namespace: common-services
spec:
entryPoints:
- mariadb
routes:
- match: HostSNI(`*`) # Hostname to match
middlewares:
- name: ipwhitelist-acces-mariadb
namespace: common-services
services:
- name: mariadb
port: 3306
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: traefik
namespace: common-services
spec:
interval: 1m0s
chart:
spec:
chart: traefik
version: 35.2.0
sourceRef:
kind: HelmRepository
name: traefik
namespace: common-services
values:
image:
tag: v3.3.6
rbac:
enabled: true
globalArguments:
- "--global.checknewversion"
- "--global.sendanonymoususage"
- "--accesslog=true"
- "--entryPoints.web.http.redirections.entryPoint.to=websecure"
- "--entrypoints.web.http.redirections.entrypoint.scheme=https"
- "--providers.kubernetescrd.allowCrossNamespace=true"
- "--entryPoints.web.proxyProtocol.trustedIPs=${OVH_LOAD_BALANCER_EGRESS_IP}/32"
- "--entryPoints.websecure.proxyProtocol.trustedIPs=${OVH_LOAD_BALANCER_EGRESS_IP}/32"
- "--entryPoints.websecure.forwardedHeaders.trustedIPs=${OVH_LOAD_BALANCER_EGRESS_IP}/32"
additionalArguments:
#- "--log.level=DEBUG"
- "--entrypoints.web.http.middlewares=common-services-crowdsec-bouncer@kubernetescrd"
- "--entrypoints.websecure.http.middlewares=common-services-crowdsec-bouncer@kubernetescrd"
deployment:
replicas: 2
podDisruptionBudget:
enabled: true
minAvailable: 1
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchLabels:
app.kubernetes.io/name: traefik
app.kubernetes.io/instance: traefik-common-services
topologyKey: kubernetes.io/hostname
ports:
traefik:
port: 9000
expose:
default: false
protocol: TCP
web:
redirections:
entryPoint:
to: websecure
scheme: https
websecure:
port: 8443
expose:
default: true
exposedPort: 443
protocol: TCP
tls:
enabled: true
metrics:
port: 9100
expose:
default: false
protocol: TCP
providers:
kubernetesCRD:
enabled: true
ingresssClass: traefik
kubernetesIngress:
enabled: true
experimental:
plugins:
bouncer:
moduleName: github.com/maxlerebourg/crowdsec-bouncer-traefik-plugin
version: v1.4.5
volumes:
- name: crowdsec-lapi-secret
mountPath: /etc/traefik/crowdsec
type: secret
secretName: crowdsec-lapi-secret
service:
enabled: true
type: LoadBalancer
annotations:
loadbalancer.ovhcloud.com/class: "octavia"
loadbalancer.openstack.org/proxy-protocol: "v2"
loadbalancer.openstack.org/keep-floatingip: "true"
# Protection Flux : empêche la suppression accidentelle
kustomize.toolkit.fluxcd.io/prune: disabled
spec:
externalTrafficPolicy: Local
ingressRoute:
dashboard:
enabled: true
extraObjects:
- apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: crowdsec-bouncer
namespace: common-services
spec:
plugin:
bouncer:
forwardedHeadersTrustedIps: "${OVH_LOAD_BALANCER_EGRESS_IP}/32"
enabled: true
crowdsecMode: stream
crowdsecLapiScheme: http
crowdsecLapiHost: crowdsec-service.common-services.svc.cluster.local:8080
crowdsecLapiPath: /
crowdsecLapiKeyFile: /etc/traefik/crowdsec/BOUNCER_KEY_traefik
crowdsecAppsecEnabled: true
crowdsecAppsecHost: crowdsec-appsec-service.common-services.svc.cluster.local:7422
crowdsecAppsecPath: /
crowdsecAppsecFailureBlock: true
crowdsecAppsecUnreachableBlock: true
crowdsecAppsecBodyLimit: 10485760
- apiVersion: traefik.io/v1alpha1 # Redirect www URLs to their no-www equivalent
kind: Middleware
metadata:
name: redirect-www-to-no-www
namespace: common-services
spec:
# Redirect a request from an url to another with regex matching and replacement
redirectRegex:
# Apply a permanent redirection (HTTP 301)
permanent: true
# The regular expression to match and capture elements from the request URL
regex: "^https?://www\\.(.+)"
# How to modify the URL to have the new target URL
replacement: "https://${1}"
- apiVersion: traefik.io/v1alpha1 # Redirect www URLs to their no-www equivalent
kind: Middleware
metadata:
name: redirect-www-to-no-www
namespace: production
spec:
# Redirect a request from an url to another with regex matching and replacement
redirectRegex:
# Apply a permanent redirection (HTTP 301)
permanent: true
# The regular expression to match and capture elements from the request URL
regex: "^https?://www\\.(.+)"
# How to modify the URL to have the new target URL
replacement: "https://${1}"
- apiVersion: traefik.io/v1alpha1 # Redirect www URLs to their no-www equivalent
kind: Middleware
metadata:
name: redirect-www-to-no-www
namespace: staging
spec:
# Redirect a request from an url to another with regex matching and replacement
redirectRegex:
# Apply a permanent redirection (HTTP 301)
permanent: true
# The regular expression to match and capture elements from the request URL
regex: "^https?://www\\.(.+)"
# How to modify the URL to have the new target URL
replacement: "https://${1}"
- apiVersion: traefik.io/v1alpha1 # Redirect www URLs to their no-www equivalent
kind: Middleware
metadata:
name: redirect-www-to-no-www
namespace: review
spec:
# Redirect a request from an url to another with regex matching and replacement
redirectRegex:
# Apply a permanent redirection (HTTP 301)
permanent: true
# The regular expression to match and capture elements from the request URL
regex: "^https?://www\\.(.+)"
# How to modify the URL to have the new target URL
replacement: "https://${1}"
# Redirection to www for common-services namespace
# TODO: remove this middleware when all sites been updated
- apiVersion: traefik.io/v1alpha1 # Redirect no-www URLs to their www equivalent
kind: Middleware
metadata:
name: redirect-no-www-to-www
namespace: common-services
spec:
# Redirect a request from an url to another with regex matching and replacement
redirectRegex:
# Apply a permanent redirection (HTTP 301)
permanent: true
# The regular expression to match and capture elements from the request URL
regex: "^https?://(?:www\\.)?(.+)"
# How to modify the URL to have the new target URL
replacement: "https://www.${1}"
# Redirection to www for production namespace
- apiVersion: traefik.io/v1alpha1 # Redirect no-www URLs to their www equivalent
kind: Middleware
metadata:
name: redirect-no-www-to-www
namespace: production
spec:
# Redirect a request from an url to another with regex matching and replacement
redirectRegex:
# Apply a permanent redirection (HTTP 301)
permanent: true
# The regular expression to match and capture elements from the request URL
regex: "^https?://(?:www\\.)?(.+)"
# How to modify the URL to have the new target URL
replacement: "https://www.${1}"
# Redirection from www to domain for staging
- apiVersion: traefik.io/v1alpha1 # Redirect no-www URLs to their www equivalent
kind: Middleware
metadata:
name: redirect-no-www-to-www
namespace: staging
spec:
redirectRegex:
# Apply a permanent redirection (HTTP 301)
permanent: true
# The regular expression to match and capture elements from the request URL
regex: "^https?://www\\.(.+)"
# How to modify the URL to have the new target URL
replacement: "https://${1}"
# Redirection from www to domain for review
- apiVersion: traefik.io/v1alpha1 # Redirect no-www URLs to their www equivalent
kind: Middleware
metadata:
name: redirect-no-www-to-www
namespace: review
spec:
redirectRegex:
# Apply a permanent redirection (HTTP 301)
permanent: true
# The regular expression to match and capture elements from the request URL
regex: "^https?://www\\.(.+)"
# How to modify the URL to have the new target URL
replacement: "https://${1}"
# customResponseHeaders middleware
- apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: coop-middleware
namespace: review
spec:
headers:
customResponseHeaders:
Cross-Origin-Opener-Policy: "same-origin"
- apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: coop-middleware
namespace: staging
spec:
headers:
customResponseHeaders:
Cross-Origin-Opener-Policy: "same-origin"
- apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: coop-middleware
namespace: production
spec:
headers:
customResponseHeaders:
Cross-Origin-Opener-Policy: "same-origin"
- apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: admin-ldc-whitelist
namespace: common-services
spec:
ipAllowList:
sourceRange:
- 163.172.132.215 # Proxy Cloud Navigation LDC
- 51.159.133.41 # Proxy Cloud Navigation LDC
- 51.159.82.143 # Proxy Cloud Navigation LDC
- 135.125.42.187 # Proxy Cloud Navigation LDC
- 37.64.103.132 # Willow Creation
- 88.86.232.178 # Cafel
- 57.128.69.87 # K8S Node 1
- 57.128.110.168 # K8S Node 2
- 57.128.111.33 # K8S Node 3
- 54.38.0.22 # K8S Node 4
- 57.128.71.23 # K8S Node 5
- 51.68.88.158/32 # prod-k8s-ldc-web-nopreempt-node-796d8b
- 51.68.92.100/32 # prod-k8s-ldc-web-nopreempt-node-8f841b
- 51.68.92.60/32 # prod-k8s-ldc-web-nopreempt-node-399aa9
- 51.68.87.150/32 # prod-k8s-ldc-web-nopreempt-node-b5417b
- 51.68.90.203/32 # prod-k8s-ldc-web-nopreempt-node-e3ac48
- 137.74.211.112/32 # dev-test-k8s-ldc-web-nopreempt-node-17257c
- 146.59.240.51/32 # dev-test-k8s-ldc-web-nopreempt-node-54e828
- 146.59.241.151/32 # dev-test-k8s-ldc-web-nopreempt-node-93017a
- 46.18.126.208/28 # LDC
- 62.193.56.48/32 # OPENevents - Bureau Neuville
- 86.65.205.240/28 # LDC
- 135.125.42.176/28 # LDC
- 149.202.23.64/26 # LDC
- 151.80.95.176/28 # LDC
- 217.15.92.64/28 # LDC
- 3.77.67.4 # UptimeRobot
- 3.79.134.69 # UptimeRobot
- 18.192.166.72 # UptimeRobot
- 18.193.252.127 # UptimeRobot
- 52.28.162.93 # UptimeRobot
- 52.59.43.236 # UptimeRobot
- 63.178.84.147 # UptimeRobot
- 24.144.78.39 # UptimeRobot
- 24.144.78.185 # UptimeRobot
- 64.225.81.248 # UptimeRobot
- 64.225.82.147 # UptimeRobot
- 143.198.249.237 # UptimeRobot
- 143.198.250.89 # UptimeRobot
- 143.244.196.21 # UptimeRobot
- 143.244.196.211 # UptimeRobot
- 152.42.149.135 # UptimeRobot
- 159.223.243.219 # UptimeRobot
- 161.35.247.201 # UptimeRobot
- 167.99.18.52 # UptimeRobot
- 188.166.201.79 # UptimeRobot
- 206.189.241.133 # UptimeRobot
- 209.38.53.7 # UptimeRobot
- 49.13.24.81 # UptimeRobot
- 49.13.130.29 # UptimeRobot
- 49.13.134.145 # UptimeRobot
- 78.47.98.55 # UptimeRobot
- 88.99.80.227 # UptimeRobot
- 142.132.180.39 # UptimeRobot
- 157.90.155.240 # UptimeRobot
- 157.90.156.63 # UptimeRobot
- 168.119.53.160 # UptimeRobot
- 168.119.96.239 # UptimeRobot
- 49.13.164.148 # UptimeRobot
- 49.13.167.123 # UptimeRobot
- 78.46.190.63 # UptimeRobot
- 78.47.173.76 # UptimeRobot
- 128.140.41.193 # UptimeRobot
- 128.140.106.114 # UptimeRobot
- 159.69.158.189 # UptimeRobot
- 167.235.143.113 # UptimeRobot
- 168.119.123.75 # UptimeRobot
- 78.46.215.1 # UptimeRobot
- 91.99.101.207 # UptimeRobot
- 46.224.188.186 # BugSmash
- 178.156.178.124 # BugSmash
- 5.161.29.18 # BugSmash
# AJOUT : Service Octavia en parallèle
- apiVersion: v1
kind: Service
metadata:
name: traefik-octavia
namespace: common-services
annotations:
loadbalancer.ovhcloud.com/class: "octavia"
loadbalancer.openstack.org/proxy-protocol: "v2"
loadbalancer.openstack.org/keep-floatingip: "true"
# Protection Flux : empêche la suppression accidentelle
kustomize.toolkit.fluxcd.io/prune: disabled
spec:
type: LoadBalancer
externalTrafficPolicy: Local
loadBalancerIP: "${TRAEFIK_LOAD_BALANCER_IP_OCTAVIA}"
selector:
app.kubernetes.io/name: traefik
app.kubernetes.io/instance: traefik-common-services
ports:
- name: web
port: 80
targetPort: 8000
protocol: TCP
- name: websecure
port: 443
targetPort: 8443
protocol: TCP
- apiVersion: v1
kind: Service
metadata:
name: blackhole
namespace: common-services
spec:
# Placeholder : jamais contacté, le middleware renvoie 403 avant.
type: ClusterIP
ports:
- name: http
port: 80
targetPort: 80
- apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: deny-ip-blocklist
namespace: common-services
spec:
# ipAllowList rejette en 403
ipAllowList:
sourceRange:
- 192.0.2.1/32 # TEST-NET-1 (RFC 5737) : ne matche aucun client réel => deny
- apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: security-ip-blocklist
namespace: common-services
spec:
entryPoints:
- websecure
routes:
- kind: Rule
match: >-
ClientIP(`45.88.138.45/32`) ||
ClientIP(`8.34.210.32/32`) ||
ClientIP(`8.34.210.37/32`) ||
ClientIP(`8.34.210.42/32`) ||
ClientIP(`8.34.210.43/32`) ||
ClientIP(`8.34.210.45/32`) ||
ClientIP(`34.68.34.65/32`) ||
ClientIP(`34.68.34.66/32`) ||
ClientIP(`34.68.34.67/32`) ||
ClientIP(`34.68.34.69/32`) ||
ClientIP(`34.68.34.71/32`) ||
ClientIP(`34.68.34.72/32`) ||
ClientIP(`34.68.34.77/32`) ||
ClientIP(`34.68.34.79/32`) ||
ClientIP(`34.68.34.81/32`) ||
ClientIP(`34.68.34.84/32`) ||
ClientIP(`94.74.106.96/32`) ||
ClientIP(`20.220.225.223/32`) ||
ClientIP(`52.182.173.140/32`)
priority: 100000
middlewares:
- name: deny-ip-blocklist
namespace: common-services
services:
- name: blackhole
port: 80
- apiVersion: discovery.k8s.io/v1
kind: EndpointSlice
metadata:
name: blackhole
namespace: common-services
labels:
kubernetes.io/service-name: blackhole
addressType: IPv4
endpoints:
- addresses:
- 192.0.2.1 # TEST-NET-1 : non-routable, jamais contacté
conditions:
ready: true
ports:
- name: http
port: 80
protocol: TCP