diff --git a/Tiltfile b/Tiltfile index 0e23c09..9b03ebd 100644 --- a/Tiltfile +++ b/Tiltfile @@ -12,7 +12,8 @@ agenda_dir = os.environ.get('AGENDA_DIR', 'src/agenda') fleets_dir = os.environ.get('FLEETS_DIR', 'src/fleets') groups_management_dir = os.environ.get('GROUPS_MANAGEMENT_DIR', 'src/groups-management') diags_dir = os.environ.get('DIAGS_DIR', 'src/diags') -solidarity_service_dir = os.environ.get('SOLIDARITY_SERVICE_DIR', 'src/solidarity-service') +solidarity_transport_dir = os.environ.get('SOLIDARITY_TRANSPORT_DIR', 'src/solidarity-transport') +carpool_service_dir = os.environ.get('CARPOOL_SERVICE_DIR', 'src/carpool-service') parcoursmob_image = os.environ.get('PARCOURSMOB_IMAGE', 'git.coopgo.io/coopgo-apps/parcoursmob') mobility_accounts_image = os.environ.get('MOBILITY_ACCOUNTS_IMAGE', 'git.coopgo.io/coopgo-platform/mobility-accounts') @@ -20,7 +21,8 @@ agenda_image = os.environ.get('AGENDA_IMAGE', 'git.coopgo.io/coopgo-platform/age fleets_image = os.environ.get('FLEETS_IMAGE', 'git.coopgo.io/coopgo-platform/fleets') groups_management_image = os.environ.get('GROUPS_MANAGEMENT_IMAGE', 'git.coopgo.io/coopgo-platform/groups-management') diags_image = os.environ.get('DIAGS_IMAGE', 'git.coopgo.io/coopgo-platform/diags') -solidarity_service_image = os.environ.get('SOLIDARITY_SERVICE_IMAGE', 'git.coopgo.io/coopgo-platform/solidarity-service') +solidarity_transport_image = os.environ.get('SOLIDARITY_TRANSPORT_IMAGE', 'git.coopgo.io/coopgo-platform/solidarity-transport') +carpool_service_image = os.environ.get('CARPOOL_SERVICE_IMAGE', 'git.coopgo.io/coopgo-platform/carpool-service') k8s_config = os.environ.get('K8S_CONFIG', 'k8s_config/dev') smtp4dev_local_port = os.environ.get("SMTP4DEV_LOCAL_PORT", '12345') @@ -77,11 +79,20 @@ if os.path.exists(diags_dir): print("Directory : {dir}".format(dir=diags_dir)) deploy_go('diags', diags_dir, diags_image) -if os.path.exists(solidarity_service_dir): - diags_dir =os.path.realpath(solidarity_service_dir) +if os.path.exists(solidarity_transport_dir): + diags_dir =os.path.realpath(solidarity_transport_dir) print("SOLIDARITY SERVICE") - print("Directory : {dir}".format(dir=solidarity_service_dir)) - deploy_go('solidarity-service', solidarity_service_dir, solidarity_service_image) + print("Directory : {dir}".format(dir=solidarity_transport_dir)) + deploy_go('solidarity-transport', solidarity_transport_dir, solidarity_transport_image) + +if os.path.exists(carpool_service_dir): + diags_dir =os.path.realpath(carpool_service_dir) + print("CARPOOL SERVICE") + print("Directory : {dir}".format(dir=carpool_service_dir)) + deploy_go('carpool-service', carpool_service_dir, carpool_service_image) k8s_yaml(kustomize(k8s_config, flags=["--enable-helm"])) k8s_resource(workload='smtp4dev', port_forwards=smtp4dev_local_port+":80") +k8s_resource(workload='mongodb', port_forwards="27017:27017") +k8s_resource(workload='minio', port_forwards="9000:9000") +k8s_resource(workload='minio', port_forwards="9001:9001") diff --git a/k8s_config/dev/carpool-service/config.yaml b/k8s_config/dev/carpool-service/config.yaml new file mode 100644 index 0000000..2ad3265 --- /dev/null +++ b/k8s_config/dev/carpool-service/config.yaml @@ -0,0 +1,18 @@ +dev_env: true + +storage: + db: + type: mongodb + mongodb: + host: mongodb + port: 27017 + db_name: coopgo_platform + +services: + grpc: + port: 8080 + +routing: + type: valhalla + valhalla: + base_url: https://valhalla.coopgo.io/ diff --git a/k8s_config/dev/carpool-service/deployment.yaml b/k8s_config/dev/carpool-service/deployment.yaml new file mode 100644 index 0000000..fe33196 --- /dev/null +++ b/k8s_config/dev/carpool-service/deployment.yaml @@ -0,0 +1,31 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: carpool-service +spec: + selector: + matchLabels: + app: carpool-service + template: + metadata: + labels: + app: carpool-service + spec: + containers: + - name: carpool-service + image: coopgo-platform/carpool-service + ports: + - name: grpc + containerPort: 8080 + protocol: TCP + volumeMounts: + - name: carpool-service-config-volume + mountPath: /config.yaml + subPath: config.yaml + volumes: + - name: carpool-service-config-volume + configMap: + name: carpool-service-config + items: + - key: config.yaml + path: config.yaml diff --git a/k8s_config/dev/carpool-service/kustomization.yaml b/k8s_config/dev/carpool-service/kustomization.yaml new file mode 100644 index 0000000..75b32a3 --- /dev/null +++ b/k8s_config/dev/carpool-service/kustomization.yaml @@ -0,0 +1,9 @@ +resources: + - deployment.yaml + - service.yaml + +configMapGenerator: + - name: carpool-service-config + files: + - config.yaml + diff --git a/k8s_config/dev/carpool-service/service.yaml b/k8s_config/dev/carpool-service/service.yaml new file mode 100644 index 0000000..84e79aa --- /dev/null +++ b/k8s_config/dev/carpool-service/service.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Service +metadata: + name: carpool-service +spec: + selector: + app: carpool-service + ports: + - port: 8080 + name: grpc + targetPort: 8080 diff --git a/k8s_config/dev/kustomization.yaml b/k8s_config/dev/kustomization.yaml index 95101c8..20a4c48 100644 --- a/k8s_config/dev/kustomization.yaml +++ b/k8s_config/dev/kustomization.yaml @@ -8,6 +8,7 @@ resources: - ./mobility-accounts/ - ./diags/ - ./solidarity-service/ + - ./carpool-service/ # Apps - ./parcoursmob/ @@ -17,5 +18,5 @@ resources: - ./mongodb/ - ./minio/ - ./smtp4dev/ - - ./formance/ + # - ./formance/ - namespace.yaml diff --git a/k8s_config/dev/minio/deployment.yaml b/k8s_config/dev/minio/deployment.yaml index f003bb8..98f2503 100644 --- a/k8s_config/dev/minio/deployment.yaml +++ b/k8s_config/dev/minio/deployment.yaml @@ -16,24 +16,29 @@ spec: app: minio spec: volumes: - - name: storage - persistentVolumeClaim: - claimName: minio + - name: storage + persistentVolumeClaim: + claimName: minio containers: - - name: minio - image: minio/minio:latest - command: ["sh"] - args: - - "-c" - - "mkdir -p /storage/parcoursmob && minio server /storage" - env: - - name: MINIO_ACCESS_KEY - value: "minio" - - name: MINIO_SECRET_KEY - value: "minio123" - ports: - - containerPort: 9000 - hostPort: 9000 - volumeMounts: - - name: storage - mountPath: "/storage" \ No newline at end of file + - name: minio + image: minio/minio:latest + command: ["sh"] + args: + - "-c" + - "mkdir -p /storage/parcoursmob && minio server /storage --console-address=:9001" + env: + - name: MINIO_ACCESS_KEY + value: "minio" + - name: MINIO_SECRET_KEY + value: "minio123" + ports: + - name: api + containerPort: 9000 + hostPort: 9000 + - name: webui + containerPort: 9001 + hostPort: 9001 + volumeMounts: + - name: storage + mountPath: "/storage" + diff --git a/k8s_config/dev/minio/service.yaml b/k8s_config/dev/minio/service.yaml index 164d203..4c66daa 100644 --- a/k8s_config/dev/minio/service.yaml +++ b/k8s_config/dev/minio/service.yaml @@ -4,8 +4,14 @@ metadata: name: minio spec: ports: - - port: 9000 + - name: api + port: 9000 targetPort: 9000 protocol: TCP + - name: webui + port: 9001 + targetPort: 9001 + protocol: TCP selector: - app: minio \ No newline at end of file + app: minio + diff --git a/k8s_config/dev/parcoursmob/config.yaml b/k8s_config/dev/parcoursmob/config.yaml index ec2cc0f..fea8973 100644 --- a/k8s_config/dev/parcoursmob/config.yaml +++ b/k8s_config/dev/parcoursmob/config.yaml @@ -1,5 +1,7 @@ dev_env: true +base_url: http://parcoursmob.tilt-dev.svc.cluster.local + server: listen: 0.0.0.0:80 @@ -15,7 +17,7 @@ identification: auth_url: http://mobility-accounts.tilt-dev.svc.cluster.local/parcoursmob/auth token_url: http://mobility-accounts.tilt-dev.svc.cluster.local/parcoursmob/token user_info_url: http://mobility-accounts.tilt-dev.svc.cluster.local/parcoursmob/user_info - jwks_url: http://mobility-accounts.tilt-dev.svc.cluster.local/parcoursmob/.well_known/jwks.json + jwks_url: http://mobility-accounts.tilt-dev.svc.cluster.local/parcoursmob/.well-known/jwks.json client_id: abcdef client_secret: ghijkl redirect_url: http://parcoursmob.tilt-dev.svc.cluster.local/api/oauth2/callback @@ -32,6 +34,10 @@ services: dial: agenda:8080 diags: dial: diags:8080 + solidaritytransport: + dial: solidarity-transport:8080 + carpoolservice: + dial: carpool-service:8080 navitia: api_key: abcd @@ -51,11 +57,16 @@ storage: use_ssl: false bucket_name: parcoursmob location: fr-par - file_types: - driving_licence: Permis de conduire - work_contract: Contrat de travail ou de formation - identity_proof: Pièce d'identité - other: Autre + # file_types: + # driving_licence: Permis de conduire + # work_contract: Contrat de travail ou de formation + # identity_proof: Pièce d'identité + # other: Autre + +sms: + provider: smsfactor + smsfactor: + token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxOTMzMiIsImlhdCI6MTc0NjQxOTgyNi4yODI3OTJ9.XZF1nD6bf_gyw7ZA6t5-OxEd4SfpdhAE7SBtJcAhLtU emailing: smtp: @@ -65,13 +76,38 @@ emailing: password: 12345678 modules: + dashboard: + enabled: true beneficiaries: - enable: true + enabled: true documents_types: - identity_proof - driving_licence - work_contract - other + validated_profile: + enabled: true + required: + documents: + - identity_proof + assert: + compare: + - field: other_properties.last_subscription_date + type: gte + value: 2025-01-01 + solidarity_transport: + drivers: + validated_profile: + enabled: true + required: + documents: + - driving_licence + assert: + compare: + - field: other_properties.last_subscription_date + type: gte + value: 2025-01-01 + fleets: enabled: true vehicle_types: @@ -108,5 +144,66 @@ modules: - notice - pieces - other -# knowledge: -# enabled: true + knowledge: + enabled: true + +payments: + pricing: + type: pfm63 + +routing: + type: valhalla + valhalla: + base_url: https://valhalla.coopgo.io/ + +multimodal: + modes: + carpool: + enabled: true + operators: + - name: Blablacar Daily + type: blablacardaily + base_url: https://partners.blablacardaily.com/2/third_party/public + operator_id: partners.blablacardaily.com + api_key: vldUmlnJUvRI3v13XPgZW-gVy-4Y30z713VUpB7R92U + transit: + enabled: true + type: motis + motis: + server: https://api.transitous.org + +knowledge_base: + - title: Le Puy en Velay TAD + url: https://mobilite.lepuyenvelay.fr/tad/ + description: "Contacter l’espace commercial MOBILITE-EN-VELAY la veille avant 12h00 pour réserver au 04 71 02 60 11. Tarifs Coût du trajet: 1,80€ soit 3.60 € pour un aller-retour (ticket en vente dans le véhicule)." + geography: + - layer: communes + code: 43021 + - layer: communes + code: 43165 + - layer: communes + code: 43268 + - layer: communes + code: 43136 + - layer: communes + code: 43052 + - layer: communes + code: 43220 + - layer: communes + code: 43234 + - layer: communes + code: 43080 + - layer: communes + code: 43071 + - layer: communes + code: 43026 + - layer: communes + code: 43157 + - layer: communes + code: 43268 + - title: Chantiers jeunes Communautes de Commune des Sucs (aide 250€ pour le permis) + url: https://www.cc-des-sucs.fr/actualites/chantiers-jeunes-ccds + description: En contrepartie d'une participation d'une semaine à un chantier de jeunes en juillet, tu peux bénéficier d'une bourse au permis de conduire de 250 €. + geography: + - layer: epci + code: 244301016 diff --git a/k8s_config/dev/postgresql/kustomization.yaml b/k8s_config/dev/postgresql/kustomization.yaml index e69de29..1b9ee51 100644 --- a/k8s_config/dev/postgresql/kustomization.yaml +++ b/k8s_config/dev/postgresql/kustomization.yaml @@ -0,0 +1,4 @@ +helmCharts: + - name: postgresql + repo: oci://registry-1.docker.io/bitnamicharts/postgresql + version: 16.4.6 diff --git a/k8s_config/dev/solidarity-service/config.yaml b/k8s_config/dev/solidarity-service/config.yaml index f48d63e..315d82e 100644 --- a/k8s_config/dev/solidarity-service/config.yaml +++ b/k8s_config/dev/solidarity-service/config.yaml @@ -4,16 +4,12 @@ storage: db: type: mongodb mongodb: - host: mongodb - port: 27017 + uri: mongodb://mongodb:27017/coopgo_platform db_name: coopgo_platform - collections: - drivers: solidarity_drivers - passengers: solidarity_passengers - bookings: solidarity_bookings services: grpc: + enable: true port: 8080 routing: diff --git a/k8s_config/dev/solidarity-service/deployment.yaml b/k8s_config/dev/solidarity-service/deployment.yaml index 3670dfd..02ac9c4 100644 --- a/k8s_config/dev/solidarity-service/deployment.yaml +++ b/k8s_config/dev/solidarity-service/deployment.yaml @@ -1,31 +1,31 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: solidarity-service + name: solidarity-transport spec: selector: matchLabels: - app: solidarity-service + app: solidarity-transport template: metadata: labels: - app: solidarity-service + app: solidarity-transport spec: containers: - - name: solidarity-service - image: coopgo-platform/solidarity-service + - name: solidarity-transport + image: coopgo-platform/solidarity-transport ports: - name: grpc containerPort: 8080 protocol: TCP volumeMounts: - - name: solidarity-service-config-volume + - name: solidarity-transport-config-volume mountPath: /config.yaml subPath: config.yaml volumes: - - name: solidarity-service-config-volume + - name: solidarity-transport-config-volume configMap: - name: solidarity-service-config + name: solidarity-transport-config items: - key: config.yaml path: config.yaml diff --git a/k8s_config/dev/solidarity-service/kustomization.yaml b/k8s_config/dev/solidarity-service/kustomization.yaml index 9d5c26d..b3cdd90 100644 --- a/k8s_config/dev/solidarity-service/kustomization.yaml +++ b/k8s_config/dev/solidarity-service/kustomization.yaml @@ -3,7 +3,6 @@ resources: - service.yaml configMapGenerator: - - name: solidarity-service-config + - name: solidarity-transport-config files: - config.yaml - diff --git a/k8s_config/dev/solidarity-service/service.yaml b/k8s_config/dev/solidarity-service/service.yaml index 6465514..065a569 100644 --- a/k8s_config/dev/solidarity-service/service.yaml +++ b/k8s_config/dev/solidarity-service/service.yaml @@ -1,10 +1,10 @@ apiVersion: v1 kind: Service metadata: - name: solidarity-service + name: solidarity-transport spec: selector: - app: solidarity-service + app: solidarity-transport ports: - port: 8080 name: grpc diff --git a/k8s_config/k3d/kustomization.yaml b/k8s_config/k3d/kustomization.yaml index 1b2f930..d179d8b 100644 --- a/k8s_config/k3d/kustomization.yaml +++ b/k8s_config/k3d/kustomization.yaml @@ -10,3 +10,5 @@ images: # newName: "coopgo-platform/fleets" - name: git.coopgo.io/coopgo-platform/agenda newName: "coopgo-platform/agenda" + - name: git.coopgo.io/coopgo-platform/solidarity-transport + newName: "coopgo-platform/solidarity-transport"