diff --git a/.gitignore b/.gitignore index 26a62dc..570d590 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,8 @@ # ---> Actionscript +#ignorer les secret +secret-parcoursmob.yaml +secret.yaml + # Build and Release Folders bin-debug/ bin-release/ diff --git a/agenda/config.yaml b/agenda/config.yaml new file mode 100644 index 0000000..a50a5fc --- /dev/null +++ b/agenda/config.yaml @@ -0,0 +1,15 @@ +dev_env: true + +storage: + db: + type: mongodb + mongodb: + uri: + db_name: + collections: + events: agenda_events + +services: + grpc: + enable: true + port: 8080 diff --git a/agenda/deployment.yaml b/agenda/deployment.yaml new file mode 100644 index 0000000..75609d3 --- /dev/null +++ b/agenda/deployment.yaml @@ -0,0 +1,44 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: test-agenda +spec: + replicas: 1 + template: + spec: + containers: + - name: agenda + image: docker.io/library/agenda-v3:local + env: + - name: STORAGE_DB_MONGODB_URI + valueFrom: + secretKeyRef: + name: db-secret + key: storage_db_mongodb_uri + - name: STORAGE_DB_MONGODB_DB_NAME + valueFrom: + secretKeyRef: + name: db-secret + key: storage_db_mongodb_db_name + ports: + - name: http + containerPort: 8080 + protocol: TCP + + volumeMounts: + - name: agenda-config-volume + mountPath: /config.yaml + subPath: config.yaml + + + imagePullSecrets: + - name: regcred + volumes: + - name: agenda-config-volume + configMap: + name: test-agenda-config + items: + - key: config.yaml + path: config.yaml + + \ No newline at end of file diff --git a/agenda/imageSecret.yaml b/agenda/imageSecret.yaml new file mode 100644 index 0000000..e69de29 diff --git a/agenda/kustomization.yaml b/agenda/kustomization.yaml new file mode 100644 index 0000000..8cf0928 --- /dev/null +++ b/agenda/kustomization.yaml @@ -0,0 +1,18 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +commonLabels: + app.kubernetes.io/name: test-agenda + app.kubernetes.io/instance: test-agenda + +configMapGenerator: +- name: test-agenda-config + files: + - config.yaml + +resources: +- sealed-db-secret.yaml +- deployment.yaml +- service.yaml + + diff --git a/agenda/sealed-db-secret.yaml b/agenda/sealed-db-secret.yaml new file mode 100644 index 0000000..a9843ba --- /dev/null +++ b/agenda/sealed-db-secret.yaml @@ -0,0 +1,22 @@ +apiVersion: bitnami.com/v1alpha1 +kind: SealedSecret +metadata: + annotations: + sealedsecrets.bitnami.com/namespace-wide: "true" + creationTimestamp: null + name: db-secret + namespace: default +spec: + encryptedData: + storage_db_mongodb_db_name: AgAYKip6vvrBthA433bnb1h1IrfjYkA9j4SENlqGuhsRapvAtKD7/1NIYAP5w5lji9qk8u9jZODCfN8Hl06aOjbfu82BcHBmgIgCbe3LLk8+928UZv+xcXQVwwJfXE3SOYRixviOC/MkGVHbpGJ8djiePXuEvjC/GBiWACEAqVdH2HUrWI3PyF+2c12ayvCHULhSDg/rGx017Dpl6KSMVqjSKqM9lHljz3xG4rtxTuIKa+vtExzFPhFt+/hA8xB2EMi+uo3rB3s/6g0KfyqVoRooOoDpVmVpG8Gjr4nl80ylsY09CbS4FCcApUVJkOLTNwY3lnD1aafhtn1g0GiAReFZEkQR/q2XYCAPuu6aXA7c5ya93ZqSjjmnjwcK10dmjLeJgHGfJ+qkPpEU1asHZEh3iLfMVwUuPsaipeytGVHkIWehCy+EY+yWLWvyhWXZLpVLEnFS2wRgSNYdjpiZ+r8LcOBlrR+j0RjrCBr3tRjmlFDKFaam53TJ+rAQDgn+pjPVl3zy59p+y4demmq21+cPGIOXXedGSM7OW8T73FoaY7n/WvlfALALFtc1EH2xlfEKo1KPYRjZ5t72QBTiHhc5aiLgZ73B7Hodn+8S4bFlyN6ub4xz0fm+Lo1nzN5SeWveKPiOpww8nwEZvfWzsajzIIdvSfitUg6nU78J2cen13zenRrfMx1/UFEMa+wfDYd2PIspHvR6Hk/+H4gSfKA= + storage_db_mongodb_uri: AgBrpIJ8kHsy5stfUF74oI4xFHm9FiKS0AX4FEkWtM44CAuICkfSlC+KJoUzKAmY0yyArWVTLycgZL0Y2JrBMiWnF79IW43TzU+j6oULKkIcQk1gUNwRlOG2O19MpoEjCEKSsHubtMEeUv6FfxXsecWc3BQvmS5+sZThhLveLVR2HPNNAhnMHBD16OoRJUjfB8VVoCJghdJ1zkuBEmWIgC5mqwBMdoyRYvgfFLkePGHB2wVOUFJSt6AuQNwk1Yw94l6eRd8xt2ajcAjECuvgemGm4kL6TWa9Jvbqh6SMDrY6s8BxAmKQgIBMdfVIA/qvOVoNJUJUFxEcoUcq2tabNy+hOxgpHwzBppxLW5Dds0GpP3s2N5lpwMgekca4fhk7hlTlpJGILrVNZtablQxn2d7ONYlAoZrWgdekxdIxulBYXurqu32DU8d+pKdITxuwaLzaeDQTyyh4LV7QLztnLy3lubjJc6N6cEYPLm3UhJnl+nBNxtgpbZLiJpf6zlpVKPS5E4NntZkTao5ltofPy4E3cxq62cS8/fFXICSZBInHR1OFqVZvK6+7i29clvdaqm5oDnU0NwbjrKXBnWx1iKyJWvf5QTEj7abJSxE4ETiF999XakyNiGwFKD3qFOtw3159UXhFVjaxQ5pd7LQjiilkTQcSsq8hJ+4UOp+8lIHfj8RlSZhBrl3wBIIaFDYlHdZWT9A31tnn91yfgJzHGU9kF8evQZFoi4LWv8J02HBL5SSgPm9tDblXVeCGby1K2lYV027FcakKic+JOB/muw93D/svUoaPQXbWJhhdBJx5ZNXVWcWXmQQdjOdrmOSZBzdHE7USLAsk02Qpl9YM7lKbd1f5jQp+tCZ1M0QbY9ND7f5U0+BB2ydZ29yxYEGwZoSu6Ort48VtFrKSgzsYTFipxQDUznGXQuh7cJs1WItx2qsRIP5zVweOlgohffuw5Jtq0CWNzDHxo+zC1nCJQcV4W5ScJrSuZgna/Q== + template: + metadata: + annotations: + sealedsecrets.bitnami.com/managed: "true" + sealedsecrets.bitnami.com/namespace-wide: "true" + creationTimestamp: null + name: db-secret + namespace: default + type: Opaque + diff --git a/agenda/sealed-secret.yaml b/agenda/sealed-secret.yaml new file mode 100644 index 0000000..e69de29 diff --git a/agenda/service.yaml b/agenda/service.yaml new file mode 100644 index 0000000..1e37cf7 --- /dev/null +++ b/agenda/service.yaml @@ -0,0 +1,8 @@ +apiVersion: v1 +kind: Service +metadata: + name: test-agenda-svc +spec: + ports: + - port: 8080 + protocol: TCP \ No newline at end of file diff --git a/application.yaml b/application.yaml new file mode 100644 index 0000000..e69de29 diff --git a/etcd/etcd-statefulset.yaml b/etcd/etcd-statefulset.yaml new file mode 100644 index 0000000..1121c81 --- /dev/null +++ b/etcd/etcd-statefulset.yaml @@ -0,0 +1,66 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: etcd +spec: + clusterIP: None + ports: + - port: 2379 + name: client + - port: 2380 + name: peer + selector: + app: etcd +--- +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: etcd + labels: + app: etcd +spec: + serviceName: etcd + selector: + matchLabels: + app: etcd + replicas: 3 + template: + metadata: + name: etcd + labels: + app: etcd + spec: + containers: + - name: etcd + image: quay.io/coreos/etcd:latest + ports: + - containerPort: 2379 + name: client + - containerPort: 2380 + name: peer + volumeMounts: + - name: data + mountPath: /var/run/etcd + command: + - /bin/sh + - -c + - | + PEERS="etcd-0=http://etcd-0.etcd:2380,etcd-1=http://etcd-1.etcd:2380,etcd-2=http://etcd-2.etcd:2380" + exec etcd --name ${HOSTNAME} \ + --listen-peer-urls http://0.0.0.0:2380 \ + --listen-client-urls http://0.0.0.0:2379 \ + --advertise-client-urls http://${HOSTNAME}.etcd:2379 \ + --initial-advertise-peer-urls http://${HOSTNAME}.etcd:2380 \ + --initial-cluster-token etcd-cluster-1 \ + --initial-cluster ${PEERS} \ + --initial-cluster-state new \ + --data-dir /var/run/etcd/default.etcd + volumeClaimTemplates: + - metadata: + name: data + spec: + accessModes: ["ReadWriteOnce"] + resources: + requests: + storage: 10Gi diff --git a/etcd/kustomization.yaml b/etcd/kustomization.yaml new file mode 100644 index 0000000..8a39516 --- /dev/null +++ b/etcd/kustomization.yaml @@ -0,0 +1,5 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: +- etcd-statefulset.yaml \ No newline at end of file diff --git a/fleets/config.yaml b/fleets/config.yaml new file mode 100644 index 0000000..a2aeaac --- /dev/null +++ b/fleets/config.yaml @@ -0,0 +1,16 @@ +dev_env: true + +storage: + db: + type: mongodb + mongodb: + uri: + db_name: + collections: + vehicles: fleet_vehicles + bookings: fleet_bookings +services: + grpc: + enable: true + port: 8080 + diff --git a/fleets/deployment.yaml b/fleets/deployment.yaml new file mode 100644 index 0000000..aed751e --- /dev/null +++ b/fleets/deployment.yaml @@ -0,0 +1,41 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: test-coopgo-fleets +spec: + replicas: 1 + template: + spec: + containers: + - name: fleets + image: docker.io/library/fleets-v3:local + env: + - name: STORAGE_DB_MONGODB_URI + valueFrom: + secretKeyRef: + name: db-secret + key: storage_db_mongodb_uri + - name: STORAGE_DB_MONGODB_DB_NAME + valueFrom: + secretKeyRef: + name: db-secret + key: storage_db_mongodb_db_name + ports: + - name: http + containerPort: 8080 + protocol: TCP + volumeMounts: + - name: fleets-config-volume + mountPath: /config.yaml + subPath: config.yaml + imagePullSecrets: + - name: regcred + volumes: + - name: fleets-config-volume + configMap: + name: test-fleets-config + items: + - key: config.yaml + path: config.yaml + + \ No newline at end of file diff --git a/fleets/kustomization.yaml b/fleets/kustomization.yaml new file mode 100644 index 0000000..81f95a5 --- /dev/null +++ b/fleets/kustomization.yaml @@ -0,0 +1,15 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +commonLabels: + app.kubernetes.io/name: test-coopgo-fleets + app.kubernetes.io/instance: test-coopgo-fleets + +configMapGenerator: +- name: test-fleets-config + files: + - config.yaml + +resources: +- deployment.yaml +- service.yaml \ No newline at end of file diff --git a/fleets/service.yaml b/fleets/service.yaml new file mode 100644 index 0000000..3409bb0 --- /dev/null +++ b/fleets/service.yaml @@ -0,0 +1,8 @@ +apiVersion: v1 +kind: Service +metadata: + name: test-coopgo-fleets-svc +spec: + ports: + - port: 8080 + protocol: TCP \ No newline at end of file diff --git a/groups-management/config.yaml b/groups-management/config.yaml new file mode 100644 index 0000000..60f86c1 --- /dev/null +++ b/groups-management/config.yaml @@ -0,0 +1,15 @@ +dev_env: true + +storage: + db: + type: mongodb + mongodb: + uri: + db_name: + collections: + groups: groups + groups_member: groups_member +services: + grpc: + enable: true + port: 8080 diff --git a/groups-management/deployment.yaml b/groups-management/deployment.yaml new file mode 100644 index 0000000..9847f2f --- /dev/null +++ b/groups-management/deployment.yaml @@ -0,0 +1,41 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: test-coopgo-groups-management +spec: + replicas: 1 + template: + spec: + containers: + - name: groups-management + image: docker.io/library/groups-management-v3:local + env: + - name: STORAGE_DB_MONGODB_URI + valueFrom: + secretKeyRef: + name: db-secret + key: storage_db_mongodb_uri + - name: STORAGE_DB_MONGODB_DB_NAME + valueFrom: + secretKeyRef: + name: db-secret + key: storage_db_mongodb_db_name + ports: + - name: http + containerPort: 8080 + protocol: TCP + volumeMounts: + - name: groups-management-config-volume + mountPath: /config.yaml + subPath: config.yaml + imagePullSecrets: + - name: regcred + volumes: + - name: groups-management-config-volume + configMap: + name: test-groups-management-config + items: + - key: config.yaml + path: config.yaml + + \ No newline at end of file diff --git a/groups-management/kustomization.yaml b/groups-management/kustomization.yaml new file mode 100644 index 0000000..a6a74a5 --- /dev/null +++ b/groups-management/kustomization.yaml @@ -0,0 +1,15 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +commonLabels: + app.kubernetes.io/name: test-coopgo-groups-management + app.kubernetes.io/instance: test-coopgo-groups-management + +configMapGenerator: +- name: test-groups-management-config + files: + - config.yaml + +resources: +- deployment.yaml +- service.yaml \ No newline at end of file diff --git a/groups-management/service.yaml b/groups-management/service.yaml new file mode 100644 index 0000000..8d0b0d7 --- /dev/null +++ b/groups-management/service.yaml @@ -0,0 +1,8 @@ +apiVersion: v1 +kind: Service +metadata: + name: test-coopgo-groups-management-svc +spec: + ports: + - port: 8080 + protocol: TCP \ No newline at end of file diff --git a/mobility-accounts/config.yaml b/mobility-accounts/config.yaml new file mode 100644 index 0000000..aacf16f --- /dev/null +++ b/mobility-accounts/config.yaml @@ -0,0 +1,65 @@ + +dev_env: true + +storage: + db: + mongodb: + uri: + db_name: + collections: + users: users + kv: + type: etcd + etcd: + endpoints: etcd:2379 + prefix: mobilityaccounts/ +services: + grpc: + enable: true + port: 8080 + oidc_provider: + enable: true + csrf_key: 32-byte-long-auth-key----------- + port: 80 + namespaces: + parcoursmob: + namespace: parcoursmob + secret_key: some-cool-secret-that-is-32bytes + templates_dir: oidc-provider/templates/parcoursmob + match_claims: + groups: groups + first_name: first_name + last_name: last_name + email: email + display_name: display_name + "urn:cms:personal-informations:read": personal_information + "urn:cms:civil-status:read": civil_status + "urn:cms:favorites:read": favorites + "urn:cms:driving-licence:read": driving_licence + "urn:cms:ice-contacts:read": ice + # "urn:cms:fr-caf-information:read": fr_caf_information + # "urn:cms:fr-dgfip-information:read": fr_dgfip_information + # "urn:cms:fr-mesri-information:read": fr_mesri_information + clients: + - id: abcdef + oidc: true + secret: $2y$10$0GwBc17u9HjZnVlFjhIv2u.Jq..5NyzdUENpGa8jUtok2zHj/STmm + token_endpoint_auth_method: client_secret_post + response_types: + - code + grant_types: + - authorization_code + redirect_uris: + - https://openidconnect.net/callback + - https://psteniusubi.github.io/oidc-tester/authorization-code-flow.html + - http://localhost:9000/api/oauth2/callback + scopes: + - openid + - profile + - groups + - first_name + - last_name + - display_name + - email + - urn:cms:personal-informations:read + diff --git a/mobility-accounts/deployment.yaml b/mobility-accounts/deployment.yaml new file mode 100644 index 0000000..b661a13 --- /dev/null +++ b/mobility-accounts/deployment.yaml @@ -0,0 +1,64 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: test-coopgo-mobility-accounts +spec: + replicas: 1 + template: + spec: + containers: + - name: mobility-accounts + image: docker.io/library/mobility-accounts-v3:local + ports: + - name: grpc + containerPort: 8080 + protocol: TCP + - name: http + containerPort: 80 + protocol: TCP + env: + - name: STORAGE_DB_MONGODB_URI + valueFrom: + secretKeyRef: + name: db-secret + key: storage_db_mongodb_uri + - name: STORAGE_DB_MONGODB_DB_NAME + valueFrom: + secretKeyRef: + name: db-secret + key: storage_db_mongodb_db_name + - name: SERVICES_OIDC_PROVIDER_CSRF_KEY + valueFrom: + secretKeyRef: + name: mobility-account-secret + key: services_oidc_provider_csrf_key + - name: SERVICES_OIDC_PROVIDER_NAMESPACES_PARCOURSMOB_SECRET_KEY + valueFrom: + secretKeyRef: + name: mobility-account-secret + key: services_oidc_provider_namespaces_parcoursmob_secret_key + - name: SERVICES_OIDC_PROVIDER_NAMESPACES_PARCOURSMOB_CLIENTS_ID + valueFrom: + secretKeyRef: + name: mobility-account-secret + key: services_oidc_provider_namespaces_parcoursmob_clients_id + - name: SERVICES_OIDC_PROVIDER_NAMESPACES_PARCOURSMOB_CLIENTS_SECRET + valueFrom: + secretKeyRef: + name: mobility-account-secret + key: services_oidc_provider_namespaces_parcoursmob_clients_secret + volumeMounts: + - name: mobility-accounts-config-volume + mountPath: /config.yaml + subPath: config.yaml + imagePullSecrets: + - name: regcred + volumes: + - name: mobility-accounts-config-volume + configMap: + name: test-mobility-accounts-config + items: + - key: config.yaml + path: config.yaml + + \ No newline at end of file diff --git a/mobility-accounts/kustomization.yaml b/mobility-accounts/kustomization.yaml new file mode 100644 index 0000000..39f4d5d --- /dev/null +++ b/mobility-accounts/kustomization.yaml @@ -0,0 +1,16 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +commonLabels: + app.kubernetes.io/name: test-coopgo-mobility-accounts + app.kubernetes.io/instance: test-coopgo-mobility-accounts + +configMapGenerator: +- name: test-mobility-accounts-config + files: + - config.yaml + +resources: +- deployment.yaml +- service.yaml +- sealed-mobility-account-secret.yaml \ No newline at end of file diff --git a/mobility-accounts/sealed-mobility-account-secret.yaml b/mobility-accounts/sealed-mobility-account-secret.yaml new file mode 100644 index 0000000..8107e5d --- /dev/null +++ b/mobility-accounts/sealed-mobility-account-secret.yaml @@ -0,0 +1,24 @@ +apiVersion: bitnami.com/v1alpha1 +kind: SealedSecret +metadata: + annotations: + sealedsecrets.bitnami.com/namespace-wide: "true" + creationTimestamp: null + name: mobility-account-secret + namespace: default +spec: + encryptedData: + services_oidc_provider_csrf_key: AgB2Mn2KrUOinOeg5+GV7OSHJZr33r9uhbFUwe86eiCeQSrpaMIU0hyRau/7VjCZ5n64UbCQHsiMiFGvme4CHAiUsmRtBMqWxIF0kwGy/5GxyVu32vIUSwX5rEtfCLTbW1kQ5cRlsXpRG90pCBG47x56oakrFeX8yCft8WA8U8Qy9hhcXzny1A+7ITbYEVTpt/9fMkOaTrcoPZlVvxTUBXMOrvrQYEg22mnDVENvvZ4jIimHp0qA5uDqF2sq7gXMXNXBeiem3mPLVKCGGbtMmWcGjgXoFZccsNPp3kBzeAgoBIV1a3+cQv5kAo/GehgzhN0iDwmmvfzR8EicohWybt67h6YTCGsoSQ/Rg0WXj61O4lLhKYhTlG1Pw+2dIsvC43ALNanZBc1Gx8Vt7QjL3ms03FjRtHJzYweyNT6RXF0XE9yo0TMjNMmCRNsq4EOO9zkMI9NR8subIP7IKUviZEGKF3gXlG6oxGG/SLkgzYhEONN9B9xFPF+OleijceeWxDb2CFAH86mlqvePHpbU2v1yRAlECb/EQw/NgZoeRzOYbe6toPJgWHV2l33eHYQ/T8EZdu5nMdNAzjLnaTSX8GLL+GCCv5pW6RuFG2DecrDpijXYv5ULIinc+oQLJ8XFFKpsYR+0Sk9/047N3jToEQhExGdDDKozJB68z6uMcVM0UbYzIZjPX6jFHhJRS9IsXIbrVdnnsFiTzRntvcRp1TqUqJ9IgP88HaELytm+Hxd1mQ== + services_oidc_provider_namespaces_parcoursmob_clients_id: AgCv8+Kd/v1u2+JKQTQtdigWPeszc+FOChEC167rOoC+lPjpu2Oadq2gl4EDQyLDxvBUwJwBj9s6dMRjaxKgb7RLMneHnwgjTMiKzufzBB0C5tvH5OY1WOQP7q0XC82mTzmHLw40B82V5tpqsqTWHbVQE3BF39OLhh4j1k2QcwBhj8DWvPo112P73QNcJfUmGIa2PZPssy0+9lUALUBUxycZ+nDHl6JEUQJPIkhvXy9IQntXqA7wuExQVCPZCMwBhFrr/HsAo/NnWWIywH/Dh+4Cw9MZkjwSiotzcZ5r2iQXZGWcjQPJs4yEumpUGwV3JlmtBJP/ayxc5ZjMZKM+nQbbpBtTfp+js6DfpQRPQMsbKwEJ18OwtEyne4xCfenKWXd60KsKu/3hRzM2TIK7nZ8tgF/P1rs6OkYitBOgD6gHiQuuPQJ/WAZDQ4ddg84j3C06kfKkYegmJ5AnMQcoNw/3nx7Zez2NH5gRCY1Xvg6JSVrHATU9WMnzENWGu1U/JCZd7pxL+pwfLX8Ddjxe7wNJIxAsl/CSCLtXse61FlYA/Lnnnr+Xbnb+/0vE0YytVrcDSvw5kDQvP1KFl6PsIo8t6kjrH99Utf/hmiDqv2rp7dBY7g8TSDmg60KBRgL8EjNxNJ2q2Pt00k1FdwwgrLyzTbH0dgrT63Lr25dDfFXaa2bDe/sY44WaW1CbHW6CoTffsUcvKaA= + services_oidc_provider_namespaces_parcoursmob_clients_secret: AgCeyi8tkfM9FQlFHp2RqNS6d+j6UViI/2l0bFa9wfJbs1625J5a3BhN0iWjFtvcDuwszIdQUT0XoO7VJRV8MfiA1PXzkUGmaEgYe8CtoZBuVv7Dolb3NIcvv2gQ7KyTyUDoRxZ0IyCEzI9TV5lX7CH8Xs1PgE7VF72swKpcH5lBxfFSF+9kDrHfCWLxa4JMBRW066N07WAKffcw9M3r5mgU0TMQyOUXilTWFo3y7F6IU90nqylc07djnaAPXLEYdiEKQrOF4qRHWgfGCeYhJeuD2RQRWd3zHilpAwoOjY6SYu+CjHJ/CP6RUps5lhrIzt9m3XxVg+gN4vVgnZ/DPhRh7a4xfaM+dmSZT6I3pzrUWPeCk03XPM5RFaqWFh7w22SwuNKLv71V3PIAX+1vNP1AmDDByMDscFAyyiak5Nu7NbJWCdZUc1f1bh9MqU/E+r5RUJROD5Chw2g95P3yTiNfdLwLWrbWvHgdwS9zAxU5Rs5tEChE23IvZdvr8K6qDmsZitSLnfj7Aki4OjDXJXWmrcrA8AZThvMeSpxYzRD0aGlykhBLmmnVMyMDxgkXTQ63obRgGrXqiyyC1DQxbxsiChMs1x/SeWA/6rHA9X1ZF2wFtIAlbU7WQ9rLvRx2PuWpA2JBElQ8Z5aKHzbAa5njvdJvLyyVPHIxuOSNTvr4wvqBqOyuufHSbBMtq4c/OlPHi5d3crFkRbpgZCnK0pHSW55xqhMuu68VVqzrD0+VvwDbOudRA7FZc8SnYywD8w3yt230CyumzE/kwEc= + services_oidc_provider_namespaces_parcoursmob_secret_key: AgBhgRzJwpBz+uEekHf9KSuikrtMH90Qua3fBLuOefgBYELr8bpY+NBfSgXJ2ro9G7UTTpY0rDwr2EGbij6ZMVPXQ+cNGqE57elZbIJ94+PpbSoD9rq6xJwD7+UtM0nERbjW97ICAaHQjFqIC+lj7pMSyE6M3P577+A6kFAoxjWlRnkxi+r9nqoFgGQLAU1ESkFhgKi/1CWIw3YI8HaKyTbaJjoFovmpKGt20w0Wssaa7/F7TC+UYazX5ZTFNCo7foGRI0fHTfP8gKkwa8DA4hr7Ado67BAfqmzOTsX+gGsNN5BNvsf6V4Xzaqz4cOI+j+24h+wc4+q+9nnCAnKwl/wyDgIppX0wchP39HlmI4DGy5Y0526WZ2Q52YIyYqTWQBCXWaIb4AR0daHjeme/yDb3tvcHHVqLC30M+DktvGkUDcPl5V5jKIN6RQbMbMUyJFEg4euxnl9SXgdAnRuB5ExvYNzFauzbvGyFzTuNVMvy+ScgQWoZkne+Se6FRPtXle+wCzK3jKTdjAFoJ+D8qdn202e8TloiYp6xqRwPYZry5Ay7+EAHWvAJ11w+vxBtikV/o/+MIcp8Kv7801fDKzkYDMUJ3p8ftee+EwdiH3G+cVX7bAOgP3PmKMG0j3WRa0WLUZO2XRgG6VTbUfREzm7FouVOUbY+GX4HMc3QaehyP0lhcRUKtHFIdQmcdU+yOBJXWqNcFsRRujSsnjXfL1TXwx83Hye1/JiHd1R8XlbcAg== + template: + metadata: + annotations: + sealedsecrets.bitnami.com/managed: "true" + sealedsecrets.bitnami.com/namespace-wide: "true" + creationTimestamp: null + name: mobility-account-secret + namespace: default + type: Opaque + diff --git a/mobility-accounts/service.yaml b/mobility-accounts/service.yaml new file mode 100644 index 0000000..fa16ee1 --- /dev/null +++ b/mobility-accounts/service.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: Service +metadata: + name: test-coopgo-mobility-accounts-svc +spec: + ports: + - name: grpc + port: 8080 + protocol: TCP + - name: http + port: 80 + protocol: TCP \ No newline at end of file diff --git a/mongodb/kustomization.yaml b/mongodb/kustomization.yaml new file mode 100644 index 0000000..c5d78b0 --- /dev/null +++ b/mongodb/kustomization.yaml @@ -0,0 +1,8 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +bases: +- rbac/ + +resources: +- mongodb.yaml \ No newline at end of file diff --git a/mongodb/mongodb.yaml b/mongodb/mongodb.yaml new file mode 100644 index 0000000..c497361 --- /dev/null +++ b/mongodb/mongodb.yaml @@ -0,0 +1,14 @@ +--- +apiVersion: mongodbcommunity.mongodb.com/v1 +kind: MongoDBCommunity +metadata: + name: mongodb +spec: + members: 3 + type: ReplicaSet + version: "6.0.2" + security: + authentication: + modes: ["SCRAM"] + additionalMongodConfig: + storage.wiredTiger.engineConfig.journalCompressor: zlib \ No newline at end of file diff --git a/mongodb/rbac/kustomization.yaml b/mongodb/rbac/kustomization.yaml new file mode 100644 index 0000000..1d748b6 --- /dev/null +++ b/mongodb/rbac/kustomization.yaml @@ -0,0 +1,10 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: +- role.yaml +- role_binding.yaml +- service_account.yaml +- service_account_database.yaml +- role_binding_database.yaml +- role_database.yaml diff --git a/mongodb/rbac/role.yaml b/mongodb/rbac/role.yaml new file mode 100644 index 0000000..6a9c420 --- /dev/null +++ b/mongodb/rbac/role.yaml @@ -0,0 +1,46 @@ +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: mongodb-kubernetes-operator +rules: +- apiGroups: + - "" + resources: + - pods + - services + - configmaps + - secrets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - apps + resources: + - statefulsets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - mongodbcommunity.mongodb.com + resources: + - mongodbcommunity + - mongodbcommunity/status + - mongodbcommunity/spec + - mongodbcommunity/finalizers + verbs: + - get + - patch + - list + - update + - watch diff --git a/mongodb/rbac/role_binding.yaml b/mongodb/rbac/role_binding.yaml new file mode 100644 index 0000000..b444f2d --- /dev/null +++ b/mongodb/rbac/role_binding.yaml @@ -0,0 +1,11 @@ +kind: RoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: mongodb-kubernetes-operator +subjects: +- kind: ServiceAccount + name: mongodb-kubernetes-operator +roleRef: + kind: Role + name: mongodb-kubernetes-operator + apiGroup: rbac.authorization.k8s.io diff --git a/mongodb/rbac/role_binding_database.yaml b/mongodb/rbac/role_binding_database.yaml new file mode 100644 index 0000000..b02a52d --- /dev/null +++ b/mongodb/rbac/role_binding_database.yaml @@ -0,0 +1,11 @@ +kind: RoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: mongodb-database +subjects: +- kind: ServiceAccount + name: mongodb-database +roleRef: + kind: Role + name: mongodb-database + apiGroup: rbac.authorization.k8s.io diff --git a/mongodb/rbac/role_database.yaml b/mongodb/rbac/role_database.yaml new file mode 100644 index 0000000..eaeef74 --- /dev/null +++ b/mongodb/rbac/role_database.yaml @@ -0,0 +1,19 @@ +kind: Role +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: mongodb-database +rules: + - apiGroups: + - "" + resources: + - secrets + verbs: + - get + - apiGroups: + - "" + resources: + - pods + verbs: + - patch + - delete + - get diff --git a/mongodb/rbac/service_account.yaml b/mongodb/rbac/service_account.yaml new file mode 100644 index 0000000..2740f6c --- /dev/null +++ b/mongodb/rbac/service_account.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: mongodb-kubernetes-operator diff --git a/mongodb/rbac/service_account_database.yaml b/mongodb/rbac/service_account_database.yaml new file mode 100644 index 0000000..b24ae9d --- /dev/null +++ b/mongodb/rbac/service_account_database.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: mongodb-database diff --git a/parcoursmob/config.yaml b/parcoursmob/config.yaml new file mode 100644 index 0000000..beb0fa7 --- /dev/null +++ b/parcoursmob/config.yaml @@ -0,0 +1,100 @@ +server: + listen: 0.0.0.0:8080 + +templates: + root: themes/default/ + # public_dir: themes/default/web/public/ + +identification: + oidc: + provider: + client_id: + client_secret: + redirect_url: + # endpoints: + # auth: http://localhost:8091/default/auth + # token: http://localhost:8091/default/token + +services: + grpc: + mobilityaccounts: + dial: test-coopgo-mobility-accounts-svc:8080 + groupsmanagement: + dial: test-coopgo-groups-management-svc:8080 + fleets: + dial: test-coopgo-fleets-svc:8080 + agenda: + dial: test-agenda-svc:8080 + navitia: + api_key: 5451fcdd-5d0f-4e37-bad3-b514770ebc2a + +storage: + kv: + type: etcd + etcd: + endpoints: + - etcd:2379 + # - etcd-1.etcd:2380 + # - etcd-2.etcd:2380 + prefix: parcoursmob/cache/ + files: + type: minio + minio: + endpoint: + access_key: + secret_key: + use_ssl: true + bucket_name: + 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 + +emailing: + smtp: + host: mail.gandi.net + port: 587 + username: support@parcoursmob.fr + password: Sc1tYc00p + +modules: + beneficiaries: + enable: true + documents_types: + - identity_proof + - driving_licence + - work_contract + - other + fleets: + enabled: true + vehicle_types: + - Voiture + - Voiture sans permis + - Scooter + - Vélo électrique + - Trottinette + booking_documents: + mandatory: + - driving_licence + - identity_proof + - work_contract + agenda: + enabled: true + events_types: + - name: Permis accéléré + subscription_tags: + - Non présenté à l'information collective + - Parcours validé + - Abandon pendant le parcours + - Succès à l'examen + - Echec à l'examen + - name: Auto-école sociale (classique) + - name: Information collective + - name: Autre + groups: + enabled: true + group_types: + - Entreprise + - Evènement \ No newline at end of file diff --git a/parcoursmob/deployment.yaml b/parcoursmob/deployment.yaml new file mode 100644 index 0000000..6d564d5 --- /dev/null +++ b/parcoursmob/deployment.yaml @@ -0,0 +1,106 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: test-parcoursmob +spec: + replicas: 1 + template: + spec: + containers: + - name: parcoursmob + image: docker.io/coopgo-apps/parcoursmob:local + env: + - name: IDENTIFICATION_OIDC_PROVIDER + valueFrom: + secretKeyRef: + name: parcoursmob-secret + key: identification_oidc_provider + - name: IDENTIFICATION_OIDC_CLIENT_ID + valueFrom: + secretKeyRef: + name: parcoursmob-secret + key: identification_oidc_client_id + - name: IDENTIFICATION_OIDC_CLIENT_SECRET + valueFrom: + secretKeyRef: + name: parcoursmob-secret + key: identification_oidc_client_secret + - name: IDENTIFICATION_OIDC_REDIRECT_URL + valueFrom: + secretKeyRef: + name: parcoursmob-secret + key: identification_oidc_redirect_url + - name: SERVICES_NAVITIA_API_KEY + valueFrom: + secretKeyRef: + name: parcoursmob-secret + key: services_navitia_api_key + # - name: SERVICES_GRPC_MOBILITYACCOUNTS_DIAL + # valueFrom: + # secretKeyRef: + # name: parcoursmob-secret + # key: services_grpc_mobilityaccounts_dial + # - name: SERVICES_GRPC_FLEETS_DIAL + # valueFrom: + # secretKeyRef: + # name: parcoursmob-secret + # key: services_grpc_fleets_dial + # - name: SERVICES_GRPC_AGENDA_DIAL + # valueFrom: + # secretKeyRef: + # name: parcoursmob-secret + # key: services_grpc_agenda_dial + # - name: SERVICES_GRPC_GROUPSMANAGEMENT_DIAL + # valueFrom: + # secretKeyRef: + # name: parcoursmob-secret + # key: services_grpc_groupsmanagement_dial + # - name: STORAGE_FILES_MINIO_ENDPOINT + valueFrom: + secretKeyRef: + name: parcoursmob-secret + key: storage_files_minio_endpoint + - name: STORAGE_FILES_MINIO_ACCESS_KEY + valueFrom: + secretKeyRef: + name: parcoursmob-secret + key: storage_files_minio_access_key + - name: STORAGE_FILES_MINIO_SECRET_KEY + valueFrom: + secretKeyRef: + name: parcoursmob-secret + key: storage_files_minio_secret_key + - name: STORAGE_FILES_MINIO_BUCKET_NAME + valueFrom: + secretKeyRef: + name: parcoursmob-secret + key: storage_files_minio_bucket_name + - name: EMAILING_SMTP_USERNAME + valueFrom: + secretKeyRef: + name: parcoursmob-secret + key: emailing_smtp_username + - name: EMAILING_SMTP_PASSWORD + valueFrom: + secretKeyRef: + name: parcoursmob-secret + key: emailing_smtp_password + ports: + - name: http + containerPort: 8080 + protocol: TCP + volumeMounts: + - name: parcoursmob-config-volume + mountPath: /config.yaml + subPath: config.yaml + imagePullSecrets: + - name: regcred + volumes: + - name: parcoursmob-config-volume + configMap: + name: test-parcoursmob-config + items: + - key: config.yaml + path: config.yaml + + \ No newline at end of file diff --git a/parcoursmob/kustomization.yaml b/parcoursmob/kustomization.yaml new file mode 100644 index 0000000..f88c75e --- /dev/null +++ b/parcoursmob/kustomization.yaml @@ -0,0 +1,16 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +commonLabels: + app.kubernetes.io/name: test-parcoursmob + app.kubernetes.io/instance: test-parcoursmob + +configMapGenerator: +- name: test-parcoursmob-config + files: + - config.yaml + +resources: +- deployment.yaml +- service.yaml +- sealed-parcoursmob-secret.yaml \ No newline at end of file diff --git a/parcoursmob/sealed-parcoursmob-secret.yaml b/parcoursmob/sealed-parcoursmob-secret.yaml new file mode 100644 index 0000000..1440e98 --- /dev/null +++ b/parcoursmob/sealed-parcoursmob-secret.yaml @@ -0,0 +1,35 @@ +apiVersion: bitnami.com/v1alpha1 +kind: SealedSecret +metadata: + annotations: + sealedsecrets.bitnami.com/namespace-wide: "true" + creationTimestamp: null + name: parcoursmob-secret + namespace: default +spec: + encryptedData: + emailing_smtp_password: AgACSGu5S7s1UQeR/WRG0fK4ulKQy0Gw0dn2DOnHx5MVY/bCdwm7/zp0ePrXYFlwzSunMmtVrdYpXepieEuL7Fz2RD8NxoV5DU2ovPUXm/cpNzlgx/x72K8tqo/i7TAxajCAykkhOT8u8kykfOaLFG+rp6kzJvnvkjUmAlrnLhcYCtzNRd91D5izOINipPyW/2JLp0J0oACDiBU+EjED3UDx1syd+Z1Q/GwpFa+kxeDGUWfmXwXthRqsBbEfLXwaB774WA2UZf4OlFhItKLtEo5AJ5ALKjoXos+FylWawv61RaTMywafsaaGvbCTImzdz/BgZ6Nav8iinoDuZ0GYoJWibX4feZZmv86NO77nSh1zN7AWHn3jk5la/GKVhfATSI/OB7bsMLYO3bLJluqiaALzssxT3GP05UXpLblB7WMrpf4mhMbhiedLS2nVSSNr4zgmXh9FFBIACfzfaGLrI9D8S2WD3YEc4ZgZgijkuRBaVAShdfIhZW3SHiR8IolaI9cEzPzhFjpx7Q2Kf3k7ATA1zrWB0ogI8k03etZzxehhxhzmDz7TXRW9hl5QI3n+/jfZL5jvyt1GEorr+WQ9pzArCP6JZXPSZ3tnnyeSRwN7zHMI04Vw+Zz/1iLqMEQQOi0cREjrQT3TJwJNu/TEtHwnY02bxBomCJGJMz9pfZzdkh1CpK0RCdR/mzinomkMUJ8qhRUz84NGsRo= + emailing_smtp_username: AgBZkMs8eqXpTRrVrFpYgkK8ZWJKlQfP9+8kiwT3lEqAlYOXbM1pZzLQyF3wmddBYGD80K26bk113hxHFNbK6OQeWu2nsAqqMe+aIIdepY1hgPqUm2gIw0YOTIU+GQZLgEKw3r7fkKneQfyXiuC06fFE1wckUfGbMIp1gFhqmPEib99gcySltTiX2GUA3UCfl+yy98nAUHEfJPZZ3XLnyxlaB6UGyug1OIWhJPk91UT3Sgimy3QKWDUahtHHtRVehxaCHNLvl9UvMkt+LLLrNlyn96O0SAcFvJl2l3+e2VMkOIzGkGiGOKYVlN9ckkWd4b/jE794UCODC2hzGkA/Q/a028JWGe7qFey4tgRufKuL6aiOppZrtE3ftJGrjFq6wr2VryQg5xTYgI7N+3nE8o4DbK/eHkZDAUSLEnpQ9SRLn8oEKcGHztVaoGKuQ5v/7FvrWyoNY9hrHVHclyBif3e5s6cg5gy3IHnfV4q7L5qXTo6g9iiEiXDVzeeoqnjIY/LH9KuKVjkZLh1B1pckySFJY4tSXLSb1G8UTAtlwvVL04N5VpQ/GqrV1O4tyD/hVnjHVXeXriF2ot5RiQgpHxxPkR3lsAS5RcwxVS0cCSmkQGu9OGDkFA4gFCgKp9mQ9bVxFu7Ew6JjwRtjCJz8ZYgFxMXenB169L3QOVivm/CjB2CZRFSDqnP/uyM445DaewmmyDpX0Mklsetouf7v2ynS9Ur+EXo/ + identification_oidc_client_id: AgAwaLlLcccYRHbJXp3ENLlBHXvQvLPjNT818Lpsf++i3kyxNMnxeLXGTgrK3cTZT+5JcCogsJxuldOoZejlDgZ5YgzukZU58RsSBvmzY9EYtZuKQ9/iIHzWlZ1WWwlvz5RxwW7L8EnLY3MNl4gm2vmkMW53UU2Zu8QgLtWGEwy+qsb/orvmSfj6a6aL4nVlZX/KK02ZPQwDMBbih17S551w2mxbLrOs5AsNdHoY2KnCZigZGaPkHxcp9Sfb+As7kPGJ5w0l7s4Xv8wc8ex1uD0wQfuJyImLnC/lPA73doKTJ9av7bu2fFt0BmMroBRoAQUU/dT4K2Ad4T05aOtuZswHLQ24UKsQCoFUpyb0DFmKZuRG5dddJ/WGbO/W0UY+t0R+SL7C1YMZ58fAP0hmxykwTxSFcn+y4EfF8Ji5I/L6K7hrK9C85V6PxkIzx8Wwi7mPCVf5E9nKjb1mpLX/OPJR0xheuTvpFtrKYO8Kxo1FYrBopSrxPttvRQdSrh9pYyaOsgernj7Jx4hYmkhdMcTdStMJcBqXC61xB8/a7zBZPqLEwVce4WVT/xeM+pDAchJt38jZtz3+KILxkXq0/B/zIXnsjUW7OcLvrb2Xz2x7h7dXCsJ1Pl/j/NclPWEU4BYhRKt2uBl5lhRsxvrU1bJ6YZBVfnyQTAccXtxxBsopnfJUKq5MOuh7LtZ0VVMNw+boaD9IzVk= + identification_oidc_client_secret: AgALF37cl4L2vfb+975rHvJEOlE83SFyu/lf7FwXEl8QZ9jNZTBNL4oeVuGvz9OgR2yqROTk+qrZRYHnzGg2YBLtnZ3IH+3Ej7oCQI5Bl17Gun2ID91w/Nx15d3MVq2RrYpL0y8sa9Wjpui6vUIWuAngxs5Ml+XN3NRVojB7UWfE1S1wK7CmcGixZZDwAx8WpmfPGQHzkQZlsLPn5BY4kWecUO6NqrDscch2iiPy1hKKAIejvxwMgTegOMnJ9mcCW1xyjVQc5bzwkqqtfop9GYaGsEc2IwspvpbSs4RMg9pd7AphJmRagjelHc8lEhOTIpf+T5jpFfO+pRZK5hC7fgNPjslz4GcWEJuiAgdcCmpAPAeJpyDgPXSCK9BB2PZlkrDsCnqUezALEH/hL3Lbgca4CTULVxOp3Lao5uoREM87uFijxvieiGJ2JQMXnqNrcYbiFu2mrc6KSgdG0RLVWHxUDcjbmajYjGfFm9EbFYPz+lbQblJ/i6ts7euniL2wav5rt8JTMisbaVdPw1jB2jywH3eaQULjWkSLd4gfl/Su/C6UvbFgfO0PDxVwnRp0trfn2rRH4ZzwllIQIDSslOxBpjmRe7kYUygoPASZsxw6Z1q+R1vHlMX6p0wT4eEyaRsKeGXMmyHLA0J37s/8TMBPIi75gPgu95ckcwZois36iPqpy1K6ngNv/tYlqbAgJ8JEy52FSdg= + identification_oidc_provider: AgCklygvLBs1xSYmKeVdIEiH2+in5byjNv+t5TnKSnrKQuwVsmXS6Osujpdh16u5LhD7ymJsJZ1Hw3n9wrXQa+Cl9jP91Bt7vP6JsNzrHL3gaxr9iCPTJN7sApKhFwRADbg0sSMIUGax5syfDemiGf0tCKWJ5V96O4X+Ltgc0CwqlUt8DAGALV18Gp9167fHaRtDYXqw//YUU4ALVOwkVPrbdV/8ioOriGM2j0EEL5e41QXKlv3gpiby3K7vRpnegeETHdd3VglPJzuCsell2crB9vgwI94ESl5TYdGxgSTudGlzh9zAbeaWM/SLPtu039BNGKRHgUasrNLfRwkVeTJPCm3UvzO7NfytgnGU+/ytIijwV7ZygWJ+7v6qm0Pi9mVBJjXI9uWd0Eg9zEplHx8BLCU6VDawcNRw/dKy0Q1TzptzI29TRnLjUnLB6eDE5A+Mhg+ImS55hz0SdQY12wCcmZq5w/Uml3RgaCDscEWZlwYu9fCxPBrGAVgCF+mTd8lLthk4+LBHXErgWDZZAk7LeupLJ8Sdfi8yQcWB2PWzBi+48ZejyALGGLdB1UmcqJWjnwXoQVuJ5tf5eZBMi8slQ86/t+jhrbrNuXW0UoKiR2EZcOjT/FitPUSv57CC74MoGXk5qv/OboXKHOgmSa/GkWwnmBl/5TmruVCxUqyw/5xq2kuzMKFPMqvSevW5MHb4H2iGOfWlJDocoKdMeJF7uTeRlpprpPCjHBJvp+aBjkAyH8AzKA== + identification_oidc_redirect_url: AgAAE5vQzTo2pG+MzkxtzJOUoh3FygfXyL9UgzkMRRtIqf5QBKXYuJ0FHc+0VvqXq2GuX32+J3H/5Mwze4ZDFEbH/95ueIH2AnKMHar+tFU9ZAu6UeF1pYf8uU3jRVmwZYt2RDr0wbzNeXyIQUJfAy0Y6tLlqHaHWrZFs6KCWa2hJWHciZ2I+Lw+4CO9YvYxdIEaB1hjiMSkfYJbqb+ioHJzxtPf0qnCw+ewewvgCsSROQx+dlyiR6tSxGi37vnqMPCXvDAOlSCTjETy5ITb0qaOXr+el58IjZm+Lk+VItNjQb8CBwu0u2/eF4NV7782zaYhrmitVRFDMxAqLpBnz+gykTz4RiORlYioi8CvsH659TjeSXc/48fb+k3KqnJsdT9LcKidTPiuduNXHYLGjK0gVgajIZT7TGbYa5F3zqm9IJ5k+BWtYAMGf7qlYdy7Nq4zcNmjZbskATQQct7O8KI9Ass1nJ2vQo69kPWTxzWpgLFlekrBugOrvUJYmeKCfdqVw4vqA+NWg5S3ZRNPekva2oR45gidOHPvN3RgbLm/S2VYnBAr3iWDsJqZVI7RzJ6d8BUlhXg19SBCla3kB2lRdr/0gOSLtRGHH3bCgdr6xq05U2q0h6WaPLCJPhNvjfxj/Kpcktc0RgJwM5+NZ8bhdV1YnvGrXe3MHvWv8TmDQm6ZnSbFvP3K0M8i4//EIsrCG1SG78RWNhOWkT4J5wTQylMcnzmP5bvrcAP7slP4TovZq2IOkJqSNQ== + services_grpc_agenda_dial: AgBNSli7qHPGT9TrqWrvjw8ScAA06B338M7hn5wnYrC6AAidoWTRRJbvXsudDKfzHP2zFYGAT6kdXI1TMCzx9Q5T8bk20w90zAoqM3CQoPO852KK1GVSnDaMlbLjIAeGs3ghHORmlNHmklD5VZFiCFDzJyPZK7Boq7H5NrxdfuP8a/SsWMwf5V9dUPKOzOVEPMKBYNUP5Krhq24RfJP+zeQRcy6UNTxMHNwNepy6KEklyHnrZfnkZDUoRtqa7jF3hYRvAIqrBjzZa6aKgO7311CugeD4z7KeFMvEdNklB2ll9mY81J3o6TtW/K26hOC798khM3znvSjDns2KN1Kbr3rkGhQCQO6ZeTYgrIXt3uwSF4AU6zPSqPDR5ai1kry4418xHRSiwlEXEl1Jw9+2o37sWu++sB9HVx62FhEtuybkMiGqgnUL3bui/yzxQWoc6K411W6/EwSEkd9oufuqWp9PCDr3vm1OOz69AxKnQ/iiiwy1KIXsY/xxwgR++OJDZkb/Wdvpu7iMZrPCfCZs77mf4Io4SguZo1ZIB63bvwYQnVlLz0Q780KMC+6etp0IMvIB7lD3Vai+q3Xv/G5dhpJH/f2R2Ez4loGqnn86BesqtvKzCfCqMPNgEle+bjAN3FEawFP85uzxZn/Dm3Zebt5ITX77056OQd3+tFS+Q10ZHqJd99yUabgwCVTOYdW4CAy+AmXjyFYSvX8Ru7Jqgxz197ayvA== + services_grpc_fleets_dial: AgCHTndpL1If0soY/y+f+nP7Fhomc6JbGoC5X167qGNpA2nUXgmzVRf4y/Niv1JwgPReup08Fgn9vVMPb2fcL/aTKsVHXJ5AfgQlkfoFNSdFaZyeKbzzoDI2R+MyafFhAp1YH2d7Smjg/WR3+K41R8AZ/otXIgil4x+zHkIRgKuV50fs22H2txglzNzmEFsLp5JvQuC6c+CU7maZgAYgXimtd99AYrtF5pqSJVqJ8qEWMeQqL7uplHIUgsgv0vkqKCKdfNa5AAYEvRaZ5SEP/D/ZsAxFoOSh1M+5cC6AxKCyEMewznbfkcCNO9311gyZqXy2vrto9elHtZqDKc7sqIDfl+4uVKHDZsNdv+gc+/tvmxI6Hl6Ow1ZyqR+6Xmn3NvOIS1ucZlt9Rwly+o3TO59fWizQMwkIkd4F8MWyVXihsJ14bN34SvdgNM87gqEcqUSvcwrJ6HXYdTHtzEf0vMEjtfeqDh2iJzVPNLGX4nNU+df6Vsw0ZdWW9HCj0dTRQiuOcbndCaNkz0EpnY6ScjWfa7RciFdUXzr7vBOuMKd3kE0MZjTATsGzGES82fcsxybFWo6q1Hh7udjEMjL02tkem7LZmJW5/8JOELX9cGLmQ72iGqfBHpCP6iiY3p0hXkab0NXCH2qtVGsahGGVd0+ozJsX0+EeNtOjFkZlRwGERkdsUpsn0tvPJ8j86yGOZOPv4nJsCsch9tmElxw/r3ZjDLby2zxEZETIYCg= + services_grpc_groupsmanagement_dial: AgAJqigEv7Y/hCIy81J4kzhFK5CfmMCtya09V0Jgc5oqhOKPeHYUylFIZR7wYRlVie46F+IVatMysVGIaJGnCgrvIdV5+O0eXqCMmlSNOcKWm1JvzmSoSSbN/jMeLjBfxOGR24dyLIBPbF4RHvmcXYCl9y0njmrsNUwqQ4cm7txFUQ43OcTSsxu5dggCFhRzMfI18nNgvXbi8DZRPyoXSRKJjRN6hwRn/MH0KSzg5IVYu6ugTJw0o1zURlKMlIS2n0FRfnrDq1bGVrRJ+hxPNw3Adma2P+EZnbgZk+5TYP0ZtQ4f4ZR5mxl3V/NeLDZuSxIQzLJZjJ2XlY3dKEsqBjYo7vgelYS140qOkWnFWfm72/da0LCl30x55NoWoM5PuAYZlXPZeGAn9ZA7945EZDY5YgV2VrzelTvh3aQ5im/EjfLrySTwYuhx8OXklLcwh6aFj50F0MbUvTF3ONf8clOXM86ee1ETLwsLKMZwqok6Au31XfbigJbUquwVamdMWFNzSv6FlMIVHU6jfbJoaCvkQe1RJep2sD0LyR+5P9XtPQU6M93blNhqgzdlGw256N/2iPOL4S478qyrJFntIGA/Z1VPOrtcJcsJ6+ZX6Sl151T5YHsipI5QRSfOUGW4G7pGrMOswmHgLIVuIcqzRQ0dNzLM2oTNkjlMXdGeEgt+hyirE023CkAhI/yTeM/7nAehQRJx+4g3uRXrb4Ch075NnaEpC6uvG1yhFV8NtBSwT7VdKFk2Cw== + services_grpc_mobilityaccounts_dial: AgC87xf0SMVmrDGmNeSjwjVG5TjiEGEhkeAQv/bPsu84+/hotoK3J4WLkFxApSulNcJb/HH3N2ReBXi/n3fz9lgWcy4YA00hOJYvs12pXPzvcBzkKUPlpJ0lSRxBkDvTEMt8mWVzAzzz3fFf/NrOpHWf6PCHWbKam6S9BS1JQb9ILWnUOXCjhPJgkRYptgsc3gbeFf9kzUKyd++GqPdTkTpvOTc6n/ZO2OhHigDobrzMEDidNxqgWqmxd7jOJ+VKj54b3TMFdMvFnUpIvcSuEaCoCuQ0TaovffPpvi2/6tGZaoFQGdOMVsMVC8MRLonRBLKUyOQkLNzHciW33Fw6OGGUTriSrIL3aNCyu5/zi2RsTbpFtwN3uA4Dib9Q6Z6DSqyFoEAt95DhC0pt8S4O3+MstPCFwXCltkhPfzANzNp0UYaZhemJ5Dnd+RU4XY/6lAC6TY28UclhD/vjAlnc3KNl69p9c9q/kpOSF1IFqHI4nrHjpoPbeZGQgMnPJy1fm52hxOi5VKeeTadSC6cReP6AtNPXmA8lbn1+TCrStXl6tuXCBojF2I0CB5LxdvF9ruW1LSFwtK43h2uF97xc+W8RB7OZKiC8JRIutZZ4Bkt/vUmuA2aHTe4qy2GKWKsq/b/2SXzb0tTCtTu77O/80MnPCNabkj2lFPIoRSglvhH0doEmhx20TbyOMWVKBMyYsraybV1sXmu+yhTVgOPT6refva82MjMhWHyL0G5Deo+AXjkChwGemA== + services_navitia_api_key: AgBjC5vhCaRqAM5Tkn5xvDrqQ92NGtUcbKE/jspkMlsnBQkNjvpaMR/jFy9far5L+E6qHjfTW2vpP9m+Z7khnntxETFg0pL/KCG0Wf44j3nvSHXl3Wd+RMR9v/6FoGxerZnQuNwacKbE/pOB8duLsoS6Sf+/luZgB0+j7+nKJbfs8p8e/NIzoz8sm+2G5vphrSPkdEJUrcYWyEB0e46hj4zpu5cAcfjqX3a7FDyzTs5m4tqdnDe9+neNAUn4dThOf6wwa3DxW83pvkUUQS2PY5wd+ouSohboDCOqQrQ3tKmtk7a7Wv+N9gB/qyoTuj0Vx5VPnVJ8w2mvYB2skRj6Jxgj+PwYGoOUuYDVo7nn7UPCpRtDDtaMkk9N5GMP85MDXRA1AuxSf4zHXwhALyFMAZKX9RV6ZKWlHx7YyevO1OTIg2bc4QYCEpiOYx/4+85sV8+CajW6VU6eIbEobA+CDIFZ+caHXfM+3/ekg/RVFRIVzF35koybWhbjl0YfoG7ZnD4x+KczwZPXTSF4OwsaY3iBtGeL66nSEgDxUgMavZO4a8jcwMF7k0U8g0iWdNTN/TrCtsvDFNPE823JJ0xYn3vRrkmlpJSTU/maUpuXvfR7ApDX2vcaaImVQ4gRT+o5nKEel9qQs8NuvnmbzxHaJEmJ45tiS49mhRcVersaeksNSOWFS1WYE0rfmKhzkF+aljLaDxZHJllr6+zcNyFAx55JO3GBF+UdJbYWrXPcueiypdTdW+g= + storage_files_minio_access_key: AgBusqz0UItxVl3dHVdKaDxsVVLEA3N1PsQtTU5qj1Cowm1+alio5QApknDxeYXCwduhMvDkNvq7SjIFad6e4Tpdrd1XtXHXyUp/BpoPsIw+/5rEBU+Cpvjsa7NeJaVsiCgdfR+Sl+K7U2cjtMUKtBQQJqYJSQZTHkvpuDbT1i/PBQwANCqwy0WuquYLbMlNr65aBiVyizlyNLGszrCVuJewOxdttaisdSt31uPw9ZpQEJ3DKBaSSoWizKvCFFVo08Kagb1liC3U1+MpKTbvRQVW1lZgoK+u+o5LjRzbnBRL02NloHGr7JDRyLUdp/Y/xWuS9nGqYW/ETxdNhfQWJR18/ELbI72Yxcf3QawnhfpnKK97OvY11SOjTv4cf/ksmGUMZcqdy+baUthQL1dWy1Nw+9/zNuJlmE1DZJ4qebzQAGU6o0sY9oQ5g4g/rUfJia7If7OlrH71mViiqriTz6MCDsBsF2L2RedCvxDXJvnt6eD0dxhzglxx+R86GkudAXVSKVz8leadRlz339BIKicBtV6jNGjKTQZZU3s3gmeNZ3TpKTr7ZzES+xqoeKzOGwZZad7/zwXgIzuUeB0i49gJWAtUaJuiIiSxGwuBDAJiZPnl44DHs70ePlljE+Qk/77q2BLOjat8aU5/CYv2YxkVXcvi6Xe+57ZdM0VJaa53dbsUmG4HrTcqZhbLOrW/s4Zhe4e4/lL9Ti/wPaTe/i1qIfePlA== + storage_files_minio_bucket_name: AgChMR/JeAdm/zbkiMfvedkFHJD3WqxfGWXYKPchH97znfs8p5867hOikbycNhASyRh3kAyqNIWmxNphsWmnPvFz/TFT7fQ9GMCUqz2Wc9wPDNrUoLv5xjb+tPjrQckAsb03X0nAyIEevr76aHRXp6cHpSCGk3H6tDbzQ+thpmjazl/DQ626ivE6pp4nxYcYuTtkQjK6eVVFFzr8xFzVgA2pDlmZ+97xOYX9Mw3IjR421qgaFZseA93wy32rPXN0YUtXZKBp+kMvmi6pnyQmk4LVq6LEhAdNP8tTYMAlAcKxVakN9Cyhj1drLfzRnlT/rnU7jdHgdZNDPf7is5vc/jRmpmO3JMQe8oxT1VafToyATHhcLaM4Jv+oxCDjbPtxDPpuZHqTFmfbhf94YjedKOO9vVyR2QW5o3OHV1a3T2bzE2BtkrZhqODPyrYJaGxw+3D7OPNPVn7ImB9f8AmO2YVPJk/tdOLXK0iyASi38X2AefzAu+yWRLqOp7zAjUlEeS8WbTEHdKSXZRwd8CWYFZkGdm0vyzKVW99wH/Css+ciBlnErTTyubgb41dHADquh0XvLgxfu4uZu3FR8y8dIIcTxPdVcCFJBA4ji1bVCndiS303vk2gqgxbGjaZ+PXcMZWTmfhFhZWAw3k/Et+xSU/Auhgsilza0nMGUqJn8GgjgfMrYt/lxZtpoiI54/i5MTFn9o6w2tqEE5TKvNPjUuj7zYEnqldZBuIz + storage_files_minio_endpoint: AgAQqiGlbjXYZYM1sbGzQtHIEPzAAo/kPf4jarWBpwL55NE5VRMMS8OgZkNS58m+s8jtnyyJIuE3st3RgOlkxvFYS3vadm4WFDQuVrovNc4Yb3yxoK7+4YpHNg45Ly/NuNGqIjx9at827TPatm2sZeb7i1LrtsVhYABRsECbd78As+HSfwVc9es3f/Oq740oowS2ZOhXORWTzHI2XgcUFZ0sOsMvtBCIGpIEX+iVHUwD+tKTS0o898rY52dntpZl9GkvoNF1Sy85sa7V+vXz066ZCzQy+ZZNJ9TOnzUWBp/ZjC9RHWWopeXNv00YTnEp6MYrezHeGwJo7kW1KNwy2XAMk9A0mX5SoCibzhg121DMNz9mSrLMvhIjCHlD7q967VZvqeH4rm7X1FU2HD74jNUqGa0MYSSTAY3dfxnd6NvB9O/8S58xcpjqL9d0zuUdxJ8CuIkecX/zxKuS735SukbQzUA1+L0/Bv2Y/9IPCY+LVcuivr6519BjtgOq+3qLmmr0NVPC1v0vr8Kxfc0sWmCoUA2qoX+7Jmz04ef4uDlx6kkAEqGwRLQnvUiih4CrbrWb3koj8/QQ39z811F7+7lyLJJrln2Q5kPh/fDVs571pcBxQpZ30IznHJermcUnu/UCznlaeY6LUM9WoZmz0hhGY13YgPtgKqHv1FuCzFpqZbKXets0jw93TRZ2kTOdVMfjv1FTeK5SKQWq3FfZ0qXIpSrn + storage_files_minio_secret_key: AgAMdeGwTUiAU9Zu1gjrRvHL1mdmV79gdWOvSWw7ZrmHC37sHD79UVKNb7BvqHzh++cssCCkthYSrec3r5OIhrDN/cD/zVlNNOuZGLOneRGyFoGVQUh8jG+5dZirnxbx5jEK312+Mg8KoqQt3uiYLkFoAhE7iLlptx/Rvue5vzpsNf9r0eZ8Y7uXVGKI4LISlalopTRa1RaUK0hetIXm3KS61YJ5dRK40zjTOG5ypB40Bh4YliOBjdemkMweoSE0iM525n8Tv+7kdQT+NYKhBbO6vtqxsc2qsYxR8Fr0H6g+LJjtoV99DsDrowgPpLVMU2oGuPvpX3vFJNi/RC4FQ1Ko/ttpFtPypXsBhcwjd0HtgrTcLHJ2ti61etZcQIIVsP2WgOb8/aND+x+bwC3r0IaTjdI5F7T/EeOOxMlMhoIL6oOUvEuElCkzx/V1YMWHBvudky6mQrjX4szlt7jlQVQIZCLB9AYXOJPfGdZxpkRLHrr+k3yi8XvP5WPQo/+NmA+acSyUV0QERTO9QUFp9RtHU1/2c/qfNDhSxChiyCEqK9UnPiN2uPOcRjCMntGoQPYKqB2xyQIfjH+O9wZ2SfFqlLafbEzg8VPaVkOBf1C606z3fwt3QU+fIXUFNyI38W0+jKtrFRXZZsQiMw/EbTFENdZh6gGPn5dcVvQy+gw7b+VschLt8uFKpsi9Av7NZ+QH7G9uvi8tKk4dwxwHyVvFLItA9Ns5XUnNjQbpSRyXNMy535M= + template: + metadata: + annotations: + sealedsecrets.bitnami.com/managed: "true" + sealedsecrets.bitnami.com/namespace-wide: "true" + creationTimestamp: null + name: parcoursmob-secret + namespace: default + type: Opaque + diff --git a/parcoursmob/service.yaml b/parcoursmob/service.yaml new file mode 100644 index 0000000..326e21b --- /dev/null +++ b/parcoursmob/service.yaml @@ -0,0 +1,8 @@ +apiVersion: v1 +kind: Service +metadata: + name: test-parcoursmob-svc +spec: + ports: + - port: 8080 + protocol: TCP \ No newline at end of file