diff --git a/.circleci/config.yml b/.circleci/config.yml index 8cbb2304..4b5e9bc5 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,69 +1,109 @@ version: 2.1 orbs: - kubernetes: circleci/kubernetes@1.0.0 - helm: circleci/helm@2.0.1 + kubernetes: circleci/kubernetes@1.0.0 + helm: circleci/helm@2.0.1 jobs: + build-push-docker-image: + docker: + - image: cimg/base:stable + environment: + TAG: << pipeline.git.tag >> + steps: + - checkout + - add_ssh_keys: + fingerprints: + - "39:25:57:64:62:43:1f:98:b1:5e:75:53:87:d8:e7:71" + - run: cp $HOME/.ssh/id_rsa_3925576462431f98b15e755387d8e771 id_rsa + - setup_remote_docker: + version: 20.10.12 + docker_layer_caching: true + - run: docker login rg.fr-par.scw.cloud/lecoffre -u nologin -p $SCW_SECRET_KEY + - run: docker build --tag rg.fr-par.scw.cloud/lecoffre/front:$TAG . + - run: docker push rg.fr-par.scw.cloud/lecoffre/front:$TAG - build-push-docker-image: - docker: - - image: cimg/base:stable - environment: - TAG: << pipeline.git.tag >> - steps: - - checkout - - add_ssh_keys: - fingerprints: - - "39:25:57:64:62:43:1f:98:b1:5e:75:53:87:d8:e7:71" - - run: cp $HOME/.ssh/id_rsa_3925576462431f98b15e755387d8e771 id_rsa - - setup_remote_docker: - version: 20.10.12 - docker_layer_caching: true - - run: docker login rg.fr-par.scw.cloud/lecoffre -u nologin -p $SCW_SECRET_KEY - - run: docker build --tag rg.fr-par.scw.cloud/lecoffre/front:$TAG . - - run: docker push rg.fr-par.scw.cloud/lecoffre/front:$TAG - - - deploy-docker-image: - docker: - - image: cimg/base:stable - environment: - TAG: << pipeline.git.tag >> - steps: - - checkout - - kubernetes/install-kubeconfig: - kubeconfig: KUBECONFIG_DATA - - helm/install-helm-client - - run: - name: Deploy - command: > - helm upgrade - lecoffre-front devops/ -i -f devops/values.yaml - -n lecoffre - --create-namespace - --set lecoffreFront.image.repository='rg.fr-par.scw.cloud/lecoffre/front' - --set lecoffreFront.image.tag=$TAG - + deploy-docker-image: + parameters: + env: + type: string + default: "" + docker: + - image: cimg/base:stable + environment: + TAG: << pipeline.git.tag >> + steps: + - checkout + - kubernetes/install-kubeconfig: + kubeconfig: KUBECONFIG_DATA + - helm/install-helm-client + - run: + name: Deploy + command: > + helm upgrade + lecoffre-front devops/ -i -f devops/<>.values.yaml + -n lecoffre + --create-namespace + --set lecoffreFront.image.repository='rg.fr-par.scw.cloud/lecoffre/front' + --set lecoffreFront.image.tag=$TAG workflows: - version: 2 - build-and-register: - jobs: - - build-push-docker-image: - filters: - tags: - only: /^v.*/ - branches: - ignore: /.*/ - - deploy-docker-image: - requires: - - build-push-docker-image - context: - - staging - filters: - tags: - only: /^v.*/ - branches: - ignore: /.*/ + version: 2 + build-and-deploy-stg: + jobs: + - build-push-docker-image: + filters: + tags: + only: /^v.*/ + branches: + ignore: /.*/ + - deploy-docker-image: + env: stg + requires: + - build-push-docker-image + context: + - staging + filters: + tags: + only: /^v.*/ + branches: + ignore: /.*/ + build-and-deploy-ppd: + jobs: + - build-push-docker-image: + filters: + tags: + only: /^v.*/ + branches: + ignore: /.*/ + - deploy-docker-image: + env: ppd + requires: + - build-push-docker-image + context: + - production + filters: + tags: + only: /^v.*/ + branches: + ignore: /.*/ + + # build-and-deploy-prod: + # jobs: + # - build-push-docker-image: + # filters: + # tags: + # only: /^v.*/ + # branches: + # ignore: /.*/ + # - deploy-docker-image: + # requires: + # - build-push-docker-image + # context: + # - production + # filters: + # tags: + # only: /^v.*/ + # branches: + # ignore: /.*/ diff --git a/devops/ppd.values.yaml b/devops/ppd.values.yaml new file mode 100644 index 00000000..f29bc50c --- /dev/null +++ b/devops/ppd.values.yaml @@ -0,0 +1,44 @@ +dockerPullSecret: secret/data/lecoffre-front-ppd/config/dockerpullsecret + +namespace: lecoffre + +lecoffreFront: + serviceAccountName: lecoffre-front-sa + command: "'sh', '-c', '. /vault/secrets/envs && npm run start'" + vault: + role : custom_lecoffre-front_injector_rol + server: https://vault-ppd.smart-chain.fr + annotations: + vault.hashicorp.com/agent-pre-populate-only: "true" + vault.hashicorp.com/agent-inject: "true" + vault.hashicorp.com/agent-inject-secret-envs: secret/data/lecoffre-front-ppd/config/envs + vault.hashicorp.com/role: custom_lecoffre-front_injector_rol + vault.hashicorp.com/agent-inject-template-envs: | + {{ with secret "secret/data/lecoffre-front-ppd/config/envs" }} + {{ range $k, $v := .Data.data }} + export {{ $k }}="{{ $v }}" + {{ end }} + {{ end }} + imagePullSecrets: + - name: docker-pull-secret + image: + pullPolicy: Always + repository: "rg.fr-par.scw.cloud/lecoffre/front" + resources: + requests: + cpu: 200m + memory: 1Gi + limits: + memory: 2Gi + ingress: + host: app.ppd.lecoffre.smart-chain.fr + tls: + hosts: + - app.ppd.lecoffre.smart-chain.fr + secretName: app-tls + annotations: + kubernetes.io/ingress.class: nginx + cert-manager.io/cluster-issuer: letsencrypt-prod + nginx.ingress.kubernetes.io/from-to-www-redirect: "true" + nginx.ingress.kubernetes.io/force-ssl-redirect: "true" + diff --git a/devops/stg.values.yaml b/devops/stg.values.yaml new file mode 100644 index 00000000..c7a9480c --- /dev/null +++ b/devops/stg.values.yaml @@ -0,0 +1,44 @@ +dockerPullSecret: secret/data/lecoffre-front-stg/config/dockerpullsecret + +namespace: lecoffre + +lecoffreFront: + serviceAccountName: lecoffre-front-sa + command: "'sh', '-c', '. /vault/secrets/envs && npm run start'" + vault: + role : custom_lecoffre-front_injector_rol + server: https://vault-stg.smart-chain.fr + annotations: + vault.hashicorp.com/agent-pre-populate-only: "true" + vault.hashicorp.com/agent-inject: "true" + vault.hashicorp.com/agent-inject-secret-envs: secret/data/lecoffre-front-stg/config/envs + vault.hashicorp.com/role: custom_lecoffre-front_injector_rol + vault.hashicorp.com/agent-inject-template-envs: | + {{ with secret "secret/data/lecoffre-front-stg/config/envs" }} + {{ range $k, $v := .Data.data }} + export {{ $k }}="{{ $v }}" + {{ end }} + {{ end }} + imagePullSecrets: + - name: docker-pull-secret + image: + pullPolicy: Always + repository: "rg.fr-par.scw.cloud/lecoffre/front" + resources: + requests: + cpu: 200m + memory: 1Gi + limits: + memory: 2Gi + ingress: + host: app.stg.lecoffre.smart-chain.fr + tls: + hosts: + - app.stg.lecoffre.smart-chain.fr + secretName: app-tls + annotations: + kubernetes.io/ingress.class: nginx + cert-manager.io/cluster-issuer: letsencrypt-prod + nginx.ingress.kubernetes.io/from-to-www-redirect: "true" + nginx.ingress.kubernetes.io/force-ssl-redirect: "true" + diff --git a/package.json b/package.json index 30533de6..7dcc63c8 100644 --- a/package.json +++ b/package.json @@ -33,3 +33,5 @@ "typescript": "4.9.5" } } + + diff --git a/src/front/Components/Layouts/Folder/UpdateClient/index.tsx b/src/front/Components/Layouts/Folder/UpdateClient/index.tsx index a216b6b6..a8e5b9e7 100644 --- a/src/front/Components/Layouts/Folder/UpdateClient/index.tsx +++ b/src/front/Components/Layouts/Folder/UpdateClient/index.tsx @@ -1,7 +1,6 @@ import Button, { EButtonVariant } from "@Front/Components/DesignSystem/Button"; import Form from "@Front/Components/DesignSystem/Form"; import InputField from "@Front/Components/DesignSystem/Form/Elements/InputField"; -import Select, { IOption } from "@Front/Components/DesignSystem/Select"; import Typography, { ITypo } from "@Front/Components/DesignSystem/Typography"; import BackArrow from "@Front/Components/Elements/BackArrow"; import DefaultNotaryDashboard, { IDashBoardFolder } from "@Front/Components/LayoutTemplates/DefaultNotaryDashboard";