Skip to content

Commit 20c31ed

Browse files
Benoît NgôNgob
authored andcommitted
Renaming file, adding user system
Ajout authorisation + prefix api/1.0O This add the basis of frontend with proxying requests Updating .env.dist for router_rule for frontend removing useless sf firewall wip, redirect on 401 ENDING WIP, authenticate user from a simple form (waiting saml) ajout mco sso Ajout bootstrap css 5 recuperation du me en asynchrone Changing redirection strategy ENDING WIP, authenticate user from a simple form (waiting saml) Ajout eslint + ci Ajout SSO Update .env for front rules Changing auth routes Fix gitlabci dependeicies on building/deploy production Changing method for redirect to sso (into the component instead of middleware, was generating a warning) Ajout bootstrap en scss, ajout de la gestion des images, ajout dun flag pour désactiver lauthentification Finalisation SAML2 Ajout du user admin@tcm.com automatiquement depuis la migration
1 parent 523119c commit 20c31ed

File tree

104 files changed

+8909
-46
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

104 files changed

+8909
-46
lines changed

.env.dist

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,41 @@
11
# The password, username et databasename shall be updated
2+
3+
APP_NAME=boilerplatev2
24
DATABASE_PASSWORD=thisshallbeupdated
35
DATABASE_USERNAME=myapp
46
DATABASE_NAME=mydb
57
DATABASE_URL=mysql://${DATABASE_USERNAME}:${DATABASE_PASSWORD}@mysql:3306/${DATABASE_NAME}?serverVersion=10.7.3-MariaDB
68

79

8-
BASE_DOMAIN=boilerplatev2.localhost
10+
BASE_DOMAIN=${APP_NAME}.localhost
911
API_SUBDOMAIN=api
1012
API_ROUTE_FROM_BASE_DOMAIN=/api
1113
PHPMYADMIN_DOMAIN=phpmyadmin.${BASE_DOMAIN}
14+
PROTOCOL=http
1215

13-
APP_NAME=boilerplatev2
1416
BACK_APP_NAME=back
17+
FRONT_APP_NAME=front
1518

1619
API_DOMAIN=${API_SUBDOMAIN}.${BASE_DOMAIN}
1720

1821
DEPLOYMENT_TAG=latest
1922

2023
IMAGE_REGISTRY=git.thecodingmachine.com:444/tcm-projects/${APP_NAME}
2124
BACK_IMAGE_NAME=${IMAGE_REGISTRY}/${BACK_APP_NAME}
25+
FRONT_IMAGE_NAME=${IMAGE_REGISTRY}/${FRONT_APP_NAME}
2226

2327
BACK_ROUTER_RULE=Host(`${API_DOMAIN}`) || Host(`${BASE_DOMAIN}`) && PathPrefix(`${API_ROUTE_FROM_BASE_DOMAIN}`)
28+
FRONT_ROUTER_RULE=Host(`${BASE_DOMAIN}`) && ! PathPrefix(`${API_ROUTE_FROM_BASE_DOMAIN}`)
29+
30+
PHPMYADMIN_ROUTER_RULE=Host(`${PHPMYADMIN_DOMAIN}`)
31+
32+
33+
# SSO CONFIG
2434

25-
PHPMYADMIN_ROUTER_RULE=Host(`${PHPMYADMIN_DOMAIN}`)
35+
APP_SSO_SERVICEPROVIDER_X509CERT=MIICkDCCAfmgAwIBAgIBADANBgkqhkiG9w0BAQ0FADBlMQswCQYDVQQGEwJmcjEOMAwGA1UECAwFUEFSSVMxDDAKBgNVBAoMA1RDTTEaMBgGA1UEAwwRZnJvbnQuc29jb3RlYy5kZXYxDjAMBgNVBAcMBVBBUklTMQwwCgYDVQQLDANUQ00wHhcNMTcwOTA4MTUyNzM0WhcNMTgwOTA4MTUyNzM0WjBlMQswCQYDVQQGEwJmcjEOMAwGA1UECAwFUEFSSVMxDDAKBgNVBAoMA1RDTTEaMBgGA1UEAwwRZnJvbnQuc29jb3RlYy5kZXYxDjAMBgNVBAcMBVBBUklTMQwwCgYDVQQLDANUQ00wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMKCd0hnMKX40MYR+fZNRqMJjSiDpTPTkV9A0bfQKESZ9esPjNt8Janq+2MGLrm6cRcMXRx8yo/x7pfoCmdiu9D7VNhk69nFsNKH0PQp/jf2+vLPHXgKvlcCFvlaOB/Cvg9UnK9mq83H88LPwvrpaNRl4qDrLS5TTByEIohjFUJrAgMBAAGjUDBOMB0GA1UdDgQWBBSk8/zuzxKBEwpusxRAva7oY7MkrDAfBgNVHSMEGDAWgBSk8/zuzxKBEwpusxRAva7oY7MkrDAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBDQUAA4GBAGlGJPIGYAKKkhW/EAvJbprOAwLvSEansPR8iQlGOq49k/R+mvvTKyQ4DsUglrjbTqA90MZ3S7IG25rPtX6uG2Gmi8QdpJbvfbvkMqk4aNbHveWm35lhsFpiJhu5ngUvb7RjZAVg9YRJGMufZwA5TKrr57fIKhA45QXxbITEP2gX
36+
APP_SSO_SERVICEPROVIDER_PRIVATEKEY=MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAMKCd0hnMKX40MYR+fZNRqMJjSiDpTPTkV9A0bfQKESZ9esPjNt8Janq+2MGLrm6cRcMXRx8yo/x7pfoCmdiu9D7VNhk69nFsNKH0PQp/jf2+vLPHXgKvlcCFvlaOB/Cvg9UnK9mq83H88LPwvrpaNRl4qDrLS5TTByEIohjFUJrAgMBAAECgYEAgLUgBTLzCABa9ZXTl12PDjc1xsdFu8OVgDg+DamZ27sc9Qv3Iw1FRuiMq/vdU1zBlITD4CPbTeDDBpWuvLainACpk4JJK22JozwLpaqnyrrhPNxphBe3XUREe6Tw53q9cM1j9RlD+PwbM2KbudfBmsi+sPvNK0pEAHFJZhogjfECQQDtwqhYQhLUCmgzMMFNU1PYvPJ6+5cdrgxK5JJhQxKJnclUdnjw3zUwdN3XpJk9ggq/GTCAjd/vE8ILV2DXgD6nAkEA0W5pvJx5EG9hekJ3/LaqcIKNH38uqhm4LPrXaLbUOToVyjBsJhlfRVVQojhOT9mAkTs4RhSP0IZy+Xkvh3s6nQJBALPzOnriN2HpJohoBEXEJZfLGjNerDc4ffFJIkke/K7Pj4uvx0V3ishMC4Ok/p6BCCUuqXkC6FQIvjrbPV6dn80CQQDRAZvMe2vmlwF0/fi436Ng/SjRkh+D6n7/hKaM/kj1g55TVdfYfeGyU95QxliBH9NLHQqgBc0wkb0Uc3iXgMeRAkAm30yjx2YPHjXZydKsJFgNtfI0PvoFS8tv1Ljb3FfflzrKEFFBtwfC/kxJXY+oKIKMSW0YxT0EuOkq3K5uIeGd
37+
# THE SSO APP
38+
APP_SSO_IDENTITYPROVIDER_X509CERT=MIIDXTCCAkWgAwIBAgIJALmVVuDWu4NYMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwHhcNMTYxMjMxMTQzNDQ3WhcNNDgwNjI1MTQzNDQ3WjBFMQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzUCFozgNb1h1M0jzNRSCjhOBnR+uVbVpaWfXYIR+AhWDdEe5ryY+CgavOg8bfLybyzFdehlYdDRgkedEB/GjG8aJw06l0qF4jDOAw0kEygWCu2mcH7XOxRt+YAH3TVHa/Hu1W3WjzkobqqqLQ8gkKWWM27fOgAZ6GieaJBN6VBSMMcPey3HWLBmc+TYJmv1dbaO2jHhKh8pfKw0W12VM8P1PIO8gv4Phu/uuJYieBWKixBEyy0lHjyixYFCR12xdh4CA47q958ZRGnnDUGFVE1QhgRacJCOZ9bd5t9mr8KLaVBYTCJo5ERE8jymab5dPqe5qKfJsCZiqWglbjUo9twIDAQABo1AwTjAdBgNVHQ4EFgQUxpuwcs/CYQOyui+r1G+3KxBNhxkwHwYDVR0jBBgwFoAUxpuwcs/CYQOyui+r1G+3KxBNhxkwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAAiWUKs/2x/viNCKi3Y6blEuCtAGhzOOZ9EjrvJ8+COH3Rag3tVBWrcBZ3/uhhPq5gy9lqw4OkvEws99/5jFsX1FJ6MKBgqfuy7yh5s1YfM0ANHYczMmYpZeAcQf2CGAaVfwTTfSlzNLsF2lW/ly7yapFzlYSJLGoVE+OHEu8g5SlNACUEfkXw+5Eghh+KzlIN7R6Q7r2ixWNFBC/jWf7NKUfJyX8qIG5md1YUeT6GBW9Bm2/1/RiO24JTaYlfLdKK9TYb8sG5B+OLab2DImG99CJ25RkAcSobWNF5zD0O6lgOo3cEdB/ksCq3hmtlC/DlLZ/D8CJ+7VuZnS1rR2naQ==
39+
APP_SSO_IDENTITYPROVIDER_ENTITYID=http://samltest.${BASE_DOMAIN}/simplesaml/saml2/idp/metadata.php
40+
APP_SSO_IDENTITYPROVIDER_LOGINURL=http://samltest.${BASE_DOMAIN}/simplesaml/saml2/idp/SSOService.php
41+
APP_SSO_IDENTITYPROVIDER_LOGOUTURL=http://samltest.${BASE_DOMAIN}/simplesaml/saml2/idp/SSOService.php

.gitlab-ci.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,10 @@ variables:
2222
TAG_NAME: ${CI_COMMIT_REF_SLUG}
2323
IMAGE_NAME: ${CI_REGISTRY_IMAGE}/back
2424
IMAGE_WITH_TAG: ${IMAGE_NAME}:${TAG_NAME}
25+
FRONT_IMAGE_NAME: ${CI_REGISTRY_IMAGE}/front
26+
FRONT_IMAGE_WITH_TAG: ${FRONT_IMAGE_NAME}:${TAG_NAME}
2527
DEPLOYMENT_PATH: /tcm_deployment/${CI_PROJECT_NAME}
28+
DEPLOYMENT_IP: PUT_YOUR_DEPLOYMENT_IP_HERE
2629

2730
include:
2831
- local: gitlab-ci/gitlab-ci-merge-request.yml

Makefile

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,14 @@ ifneq (,$(wildcard ./.env.prod))
1212
endif
1313

1414
# connect to the back container
15-
.PHONY: bash
16-
bash: ;\
15+
.PHONY: bbash
16+
bbash: ;\
1717
docker compose exec back bash;
1818

19+
# connect to the front container
20+
.PHONY: fbash
21+
fbash: ;\
22+
docker compose exec front bash;
1923

2024
# Launch migration
2125
.PHONY: migrate
@@ -47,7 +51,8 @@ backlogs: ;\
4751
init-dev: ;\
4852
cp -n docker-compose.override.yml.template docker-compose.override.yml; \
4953
cp -n .env.dist .env; \
50-
echo "Add ${BASE_DOMAIN} and ${API_DOMAIN} to your /etc/host";
54+
echo "Add ${BASE_DOMAIN} and ${API_DOMAIN} and samltest.${BASE_DOMAIN} to your /etc/hosts"; \
55+
if grep -qL ${BASE_DOMAIN} /etc/hosts; then echo "\n127.0.0.1 ${BASE_DOMAIN} ${API_DOMAIN} samltest.${BASE_DOMAIN}" | sudo tee -a /etc/hosts ; fi
5156

5257
#
5358
# Theses are usefull when you use docker
@@ -78,6 +83,10 @@ restart: down up
7883
frestart: fdown fup
7984

8085

86+
.PHONY: dumpautoload
87+
dumpautoload: ;\
88+
docker compose exec back composer -- dumpautoload
89+
8190
#
8291
# Theses are static analyses + tests
8392
#
@@ -99,9 +108,17 @@ cs-check: ;\
99108
phpstan: ;\
100109
docker compose exec back composer -- run phpstan
101110

111+
.PHONY: frontlint
112+
frontlint: ;\
113+
docker compose exec front yarn lint --fix
114+
115+
.PHONY: frontcheck
116+
frontcheck: ;\
117+
docker compose exec front yarn lint
118+
102119
# Run all CI tools
103120
.PHONY: ci
104-
ci: cs-fix phpstan phpmd
121+
ci: cs-fix phpstan phpmd frontlint
105122

106123
.PHONY: dump
107124
dump: ;\

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# Boilerplate TheCodingMachine
22

3+
# Setup the project
4+
5+
```
6+
make init-dev
7+
```
38

49
# Merge request
510

apps/back/.dockerignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
./var/*
1+
./var/*
2+
.git/
File renamed without changes.

apps/back/Dockerfile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
# syntax=docker.io/docker/dockerfile:1.4
22
ARG IMAGE_VERSION=php:8.1-v4
33
ARG APP_ENV=prod
4-
ARG APP_SOURCE_FILE='./app'
4+
ARG APP_SOURCE_FILE='./'
55
ARG PHP_EXTENSIONS="apcu mysqli pdo_mysql intl gd xdebug"
6+
7+
# This is stage copy buildings file
68
FROM thecodingmachine/${IMAGE_VERSION}-slim-apache as prepare-common-file
79

810
ARG APP_SOURCE_FILE

apps/back/app/config/services.yaml

Lines changed: 0 additions & 24 deletions
This file was deleted.

0 commit comments

Comments
 (0)