Просмотр исходного кода

Merge branch 'iapt-platform:development' into development

visuddhinanda 1 месяц назад
Родитель
Сommit
4e88283b60

+ 0 - 1
.vscode/extensions.json

@@ -22,7 +22,6 @@
     "tamasfe.even-better-toml",
     "yzhang.markdown-all-in-one",
     "davidanson.vscode-markdownlint",
-    "zxh404.vscode-proto3",
     "mrkou47.thrift-syntax-support",
     "ms-vscode-remote.remote-ssh",
     "ms-azuretools.vscode-docker",

+ 2 - 1
api-v12/composer.json

@@ -22,7 +22,8 @@
         "opensearch-project/opensearch-php": "^2.4",
         "php-amqplib/php-amqplib": "^3.7",
         "php-ffmpeg/php-ffmpeg": "^1.3",
-        "phpoffice/phpspreadsheet": "^5.3"
+        "phpoffice/phpspreadsheet": "^5.3",
+        "predis/predis": "*"
     },
     "require-dev": {
         "fakerphp/faker": "^1.23",

+ 9 - 1
dashboard-v6/package.json

@@ -10,21 +10,29 @@
     "preview": "vite preview"
   },
   "dependencies": {
+    "@ant-design/charts": "^2.6.7",
     "@ant-design/pro-components": "^3.1.4-0",
     "@ant-design/x": "^2.2.2",
     "@graphiql/react": "^0.37.3",
     "@reduxjs/toolkit": "^2.11.2",
+    "@types/diff": "^7.0.2",
     "@types/js-cookie": "^3.0.6",
+    "@types/marked": "^5.0.2",
+    "@types/video.js": "^7.3.58",
     "antd": "^6.3.0",
+    "dayjs": "^1.11.19",
+    "diff": "^8.0.3",
     "jose": "^6.1.3",
     "js-cookie": "^3.0.5",
+    "marked": "^17.0.2",
     "rc-virtual-list": "^3.19.2",
     "react": "^19.2.0",
     "react-dom": "^19.2.0",
     "react-intl": "^7.1.14",
     "react-redux": "^9.2.0",
     "react-router": "^7.13.0",
-    "usehooks-ts": "^3.1.1"
+    "usehooks-ts": "^3.1.1",
+    "video.js": "^8.23.7"
   },
   "devDependencies": {
     "@eslint/js": "^9.39.1",

+ 4 - 7
dashboard-v6/scripts/dashboard.sh

@@ -4,13 +4,10 @@ set -e
 
 npm install --save \
     react-router react-intl @reduxjs/toolkit react-redux \
-    @graphiql/react \
-    usehooks-ts jose \
-    js-cookie @types/js-cookie \
-    antd @ant-design/x \
-    rc-virtual-list
-# FIXME
-npm install --save @ant-design/pro-components@beta
+    @graphiql/react usehooks-ts rc-virtual-list \
+    jose dayjs \
+    js-cookie @types/js-cookie diff @types/diff marked @types/marked video.js @types/video.js \
+    antd @ant-design/x @ant-design/charts @ant-design/charts @ant-design/pro-components@beta
 
 npm ls
 

+ 0 - 1
deploy/group_vars/all.yml

@@ -1,4 +1,3 @@
-ansible_user: "deploy"
 ansible_python_interpreter: /usr/bin/python3
 ansible_ssh_private_key_file: "{{ inventory_dir }}/.ssh/id_ed25519"
 

+ 133 - 0
deploy/mint-v2.3.yml

@@ -0,0 +1,133 @@
+- name: Prepare the env
+  hosts: localhost
+  tasks:
+    - name: Check if mint.tar.xz file exists
+      ansible.builtin.stat:
+        path: "{{ playbook_dir }}/tmp/{{ app_domain }}-{{ mint_version }}.tar.xz"
+      register: mint_release_file_status
+
+- name: Building release package
+  hosts: localhost
+  roles:
+    - role: mint-build-v2.3
+      when: not mint_release_file_status.stat.exists
+  vars:
+    app_workspace: "{{ ansible_facts['env']['HOME'] }}/build/mint"
+
+- name: Upload and setup release package
+  hosts:    
+    - laravel_web
+    - laravel_task
+    - laravel_scheduler
+    - ai_translate
+    - open_ai_server
+  roles:
+    - role: mint-v2.3
+
+- name: Setup laravel framework
+  hosts:    
+    - laravel_web
+    - laravel_task
+    - laravel_scheduler
+  tasks:
+    - name: Setup api-v8
+      ansible.builtin.command: docker run --rm -it -v /srv:/srv:z {{ app_php81_image }} {{ app_deploy_target }}/scripts/laravel.sh setup      
+    - name: Setup api-v12
+      ansible.builtin.command: docker run --rm -it -v /srv:/srv:z {{ app_php84_image }} {{ app_deploy_target }}/scripts/laravel.sh setup
+
+- name: Start laravel scheduler
+  hosts:    
+    - laravel_scheduler
+  tasks:
+    - name: Enable laravel scheduler timer(v8)
+      become: true
+      ansible.builtin.systemd_service:
+        name: "{{ app_domain }}-laravel-scheduler-v8.timer"
+        state: restarted
+        enabled: true
+    - name: Enable laravel scheduler timer(v12)
+      become: true
+      ansible.builtin.systemd_service:
+        name: "{{ app_domain }}-laravel-scheduler-v12.timer"
+        state: restarted
+        enabled: true
+
+- name: Start laravel job
+  hosts:    
+    - laravel_task
+  tasks:
+    - name: Enable laravel job service
+      become: true
+      ansible.builtin.systemd_service:
+        name: "{{ app_domain }}-laravel-job-{{ item.name }}.service"
+        state: restarted
+        enabled: true
+      with_items:
+        - { name: "mq-discussion"}
+        - { name: "mq-pr"}
+        - { name: "mq-progress"}
+        - { name: "mq-wbw.analyses"}
+        - { name: "mq-export.pali.chapter"}
+        - { name: "mq-export.article"}
+    
+- name: Start ai-translate service
+  hosts:    
+    - ai_translate
+  tasks:
+    - name: Enable ai-translate service
+      become: true
+      ansible.builtin.systemd_service:
+        name: "{{ app_domain }}-ai-translate.service"
+        state: restarted
+        enabled: true
+
+- name: Start open-ai-server
+  hosts:    
+    - open_ai_server
+  tasks:
+    - name: Enable open-ai-server service
+      become: true
+      ansible.builtin.systemd_service:
+        name: "{{ app_domain }}-open-ai-server.service"
+        state: restarted
+        enabled: true
+
+- name: Setup nginx
+  hosts:
+    - nginx
+  tasks:
+    - name: Fix document root
+      become: true
+      ansible.builtin.lineinfile:
+        path: /etc/nginx/sites-enabled/{{ app_domain }}.conf
+        regexp: '^root '
+        line: "root {{ app_deploy_target }}/api-v8/public;"
+    - name: Fix {{ app_dashboard_v4_base_path }}
+      become: true
+      ansible.builtin.lineinfile:
+        path: /etc/nginx/sites-enabled/{{ app_domain }}.conf
+        search_string: 'dashboard-v4'
+        line: "alias {{ app_deploy_target }}/dashboard-v4/;"
+    - name: Fix {{ app_dashboard_v6_base_path }}
+      become: true
+      ansible.builtin.lineinfile:
+        path: /etc/nginx/sites-enabled/{{ app_domain }}.conf
+        search_string: 'dashboard-v6'
+        line: "alias {{ app_deploy_target }}/dashboard-v6/;"
+    - name: Create nginx logs folder
+      become: true
+      ansible.builtin.file:
+        path: "{{ app_deploy_target | dirname }}/logs"
+        state: directory
+        owner: www-data
+        mode: "0755"
+    - name: Test nginx configuration
+      become: true
+      ansible.builtin.command: nginx -t
+    - name: Restart nginx    
+      become: true
+      ansible.builtin.systemd_service:
+        name: nginx
+        state: restarted
+        enabled: true
+      

+ 1 - 119
deploy/mint.yml

@@ -7,127 +7,9 @@
       register: mint_release_file_status
 
 - name: Building release package
-  hosts: localhost
+  hosts: building
   roles:
     - role: mint-build-v2.3
       when: not mint_release_file_status.stat.exists
   vars:
     app_workspace: "{{ ansible_facts['env']['HOME'] }}/build/mint"
-
-- name: Upload and setup release package
-  hosts:    
-    - laravel_web
-    - laravel_task
-    - laravel_scheduler
-    - ai_translate
-    - open_ai_server
-  roles:
-    - role: mint-v2.3
-
-- name: Setup laravel framework
-  hosts:    
-    - laravel_web
-    - laravel_task
-    - laravel_scheduler
-  tasks:
-    - name: Setup api-v8
-      ansible.builtin.command: docker run --rm -it -v /srv:/srv:z {{ app_php81_image }} {{ app_deploy_target }}/scripts/laravel.sh setup      
-    - name: Setup api-v12
-      ansible.builtin.command: docker run --rm -it -v /srv:/srv:z {{ app_php84_image }} {{ app_deploy_target }}/scripts/laravel.sh setup
-
-- name: Start laravel scheduler
-  hosts:    
-    - laravel_scheduler
-  tasks:
-    - name: Enable laravel scheduler timer(v8)
-      become: true
-      ansible.builtin.systemd_service:
-        name: "{{ app_domain }}-laravel-scheduler-v8.timer"
-        state: restarted
-        enabled: true
-    - name: Enable laravel scheduler timer(v12)
-      become: true
-      ansible.builtin.systemd_service:
-        name: "{{ app_domain }}-laravel-scheduler-v12.timer"
-        state: restarted
-        enabled: true
-
-- name: Start laravel job
-  hosts:    
-    - laravel_task
-  tasks:
-    - name: Enable laravel job service
-      become: true
-      ansible.builtin.systemd_service:
-        name: "{{ app_domain }}-laravel-job-{{ item.name }}.service"
-        state: restarted
-        enabled: true
-      with_items:
-        - { name: "mq-discussion"}
-        - { name: "mq-pr"}
-        - { name: "mq-progress"}
-        - { name: "mq-wbw.analyses"}
-        - { name: "mq-export.pali.chapter"}
-        - { name: "mq-export.article"}
-    
-- name: Start ai-translate service
-  hosts:    
-    - ai_translate
-  tasks:
-    - name: Enable ai-translate service
-      become: true
-      ansible.builtin.systemd_service:
-        name: "{{ app_domain }}-ai-translate.service"
-        state: restarted
-        enabled: true
-
-- name: Start open-ai-server
-  hosts:    
-    - open_ai_server
-  tasks:
-    - name: Enable open-ai-server service
-      become: true
-      ansible.builtin.systemd_service:
-        name: "{{ app_domain }}-open-ai-server.service"
-        state: restarted
-        enabled: true
-
-- name: Setup nginx
-  hosts:
-    - nginx
-  tasks:
-    - name: Fix document root
-      become: true
-      ansible.builtin.lineinfile:
-        path: /etc/nginx/sites-enabled/{{ app_domain }}.conf
-        regexp: '^root '
-        line: "root {{ app_deploy_target }}/api-v8/public;"
-    - name: Fix {{ app_dashboard_v4_base_path }}
-      become: true
-      ansible.builtin.lineinfile:
-        path: /etc/nginx/sites-enabled/{{ app_domain }}.conf
-        search_string: 'dashboard-v4'
-        line: "alias {{ app_deploy_target }}/dashboard-v4/;"
-    - name: Fix {{ app_dashboard_v6_base_path }}
-      become: true
-      ansible.builtin.lineinfile:
-        path: /etc/nginx/sites-enabled/{{ app_domain }}.conf
-        search_string: 'dashboard-v6'
-        line: "alias {{ app_deploy_target }}/dashboard-v6/;"
-    - name: Create nginx logs folder
-      become: true
-      ansible.builtin.file:
-        path: "{{ app_deploy_target | dirname }}/logs"
-        state: directory
-        owner: www-data
-        mode: "0755"
-    - name: Test nginx configuration
-      become: true
-      ansible.builtin.command: nginx -t
-    - name: Restart nginx    
-      become: true
-      ansible.builtin.systemd_service:
-        name: nginx
-        state: restarted
-        enabled: true
-