Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
cars10 committed Dec 23, 2023
2 parents a2e08ee + fab2843 commit f64a5ba
Show file tree
Hide file tree
Showing 51 changed files with 1,992 additions and 1,174 deletions.
10 changes: 4 additions & 6 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -129,8 +129,8 @@ jobs:
platforms: linux/amd64,linux/arm64,linux/arm/v7
file: docker/Dockerfile_multiarch
push: true
#tags: cars10/elasticvue:latest,cars10/elasticvue:${{ steps.package-version.outputs.current-version }}
tags: cars10/elasticvue:${{ steps.package-version.outputs.current-version }}
tags: cars10/elasticvue:latest,cars10/elasticvue:${{ steps.package-version.outputs.current-version }}
#tags: cars10/elasticvue:${{ steps.package-version.outputs.current-version }}

publish:
name: Publish release
Expand Down Expand Up @@ -158,17 +158,15 @@ jobs:
name: ${{ github.ref_name }}
artifacts: github-artifacts/artifact/*
body: |
*This is a beta version. The browser addons are not updated yet, and the `:latest` tag of the docker image still points to the previous stable version.*
## Using elasticvue
This version of elasticvue supports elasticsearch `8.x`, `7.x` and `6.8`.
### Desktop app
* [Linux .AppImage](https://github.com/cars10/elasticvue/releases/download/${{ github.ref_name }}/elasticvue_${{ steps.package-version.outputs.current-version }}_amd64.AppImage) / [Linux .deb](https://github.com/cars10/elasticvue/releases/download/${{ github.ref_name }}/elasticvue_${{ steps.package-version.outputs.current-version }}_amd64.deb)
* [Mac x68 .dmg](https://github.com/cars10/elasticvue/releases/download/${{ github.ref_name }}/elasticvue_${{ steps.package-version.outputs.current-version }}_x64.dmg) / [Mac aarch64 .dmg](https://github.com/cars10/elasticvue/releases/download/${{ github.ref_name }}/elasticvue_${{ steps.package-version.outputs.current-version }}_aarch64.dmg)
* [Windows .msi](https://github.com/cars10/elasticvue/releases/download/${{ github.ref_name }}/elasticvue_${{ steps.package-version.outputs.current-version }}_x64_en-US.msi)
If you get an error message when running the mac version of elasticvue (`"elasticvue" is damaged and can't be opened`) you might have to run (This happens because the builds are not signed (yet):
If you get an error message when running the mac version of elasticvue (`"elasticvue" is damaged and can't be opened`) you might have to run (This happens because the builds are not signed yet):
```
xattr -c elasticvue_1.0.0_aarch64-fixed.dmg
xattr -cr elasticvue_1.0.0*.dmg
```
### Browser extension
* [Google Chrome](https://chrome.google.com/webstore/detail/elasticvue/hkedbapjpblbodpgbajblpnlpenaebaa)
Expand Down
68 changes: 67 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,69 @@
# Changelog

## 1.0.0

This is the first stable release of elasticvue `1.0`. Elasticvue now uses vue 3, vite, quasar and typescript.
This significantly improves performance in development and in production.

### FAQ

#### Which versions of elasticsearch are supported by elasticvue `1.0`?

Elasticvue always supports the two latest major versions of elasticsearch. Currently, this means `8.x` and `7.x`.
Older versions of elasticsearch should work, but you might encounter small bugs or limited features.

#### How to run elasticvue?

* Recommended: desktop app for linux, mac and windows (no cluster configuration required)
* Download on the [releases page](https://github.com/cars10/elasticvue/releases/latest)
* Browser extension (no cluster configuration required)
* [Google chrome](https://chrome.google.com/webstore/detail/elasticvue/hkedbapjpblbodpgbajblpnlpenaebaa)
* [Firefox](https://addons.mozilla.org/en-US/firefox/addon/elasticvue/)
* [Microsoft edge](https://microsoftedge.microsoft.com/addons/detail/geifniocjfnfilcbeloeidajlfmhdlgo)
* [Docker](https://hub.docker.com/r/cars10/elasticvue) (cluster configuration **required**)
* [Web version](https://app.elasticvue.com/) (cluster configuration **required**)
* [Building manually](https://github.com/cars10/elasticvue/wiki/Building-Elasticvue) (cluster configuration
**required**)

### Updates & new features

Elasticvue `1.0` adds many new features:

* Modernized tech stack and huge performance improvements
* Setup:
* New welcome page
* Adds the ability to directly import a backup
* Improved cluster setup, can also update cluster credentials
* Home: New dashboard that includes more information about your cluster
* Indices: You can reindex indices into other indices, you can also delete all documents from and index
* Search: You are able to edit documents on the search page directly. Also values of `@timestamp` fields are localized
by default
* Rest: Now includes tabs, history and saved queries - all saved separately per cluster.
* Snapshots: You can now create s3 repositories.
* New theme and improved accessibility
* Improved desktop version
* You can use comments in search query and rest request bodies `// some comment`
* Improved compatibility with old versions of elasticsearch. The official support is still limited to non-EOL versions,
but older versions should work better now.

### Removed features

* Nodes grid view
* Rest query vertical view
* Utilities (these are now included in the rest query examples)

## 1.0.0-beta-7

* don't create duplicates in rest history when sending the same request again, fixes [#162][i162]
* show number of segments in indices table, fixes [#171][i171]
* show node attributes, fixes [#169][i169]

[i162]: https://github.com/cars10/elasticvue/issues/162

[i171]: https://github.com/cars10/elasticvue/issues/171

[i169]: https://github.com/cars10/elasticvue/issues/169

## 1.0.0-beta-6

* adds confirm when closing indices, fixes [#153][f153]
Expand All @@ -11,7 +75,9 @@
* dependency updates

[f153]: https://github.com/cars10/elasticvue/issues/153

[f163]: https://github.com/cars10/elasticvue/issues/163

[i161]: https://github.com/cars10/elasticvue/issues/161

## 1.0.0-beta-5
Expand All @@ -27,7 +93,7 @@

## 1.0.0-beta-3

* improve compatability with older versions of elasticsearch
* improve compatibility with older versions of elasticsearch
* improve snapshot repository creation
* various small bugfixes
* updates dependencies
Expand Down
8 changes: 6 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -22,5 +22,9 @@ build_docker_nginx_multiarch:

# Build elasticvue browser extensions into ./artifacts via docker
build_browser_extensions:
docker build -f docker/Dockerfile_browser_ext -t elasticvue:build_browser_ext .
docker run --rm -v "$(CURDIR)/artifacts":/app/artifacts elasticvue:build_browser_ext scripts/build_browser_extensions.sh
mkdir -p "$(CURDIR)/artifacts"
docker build -f docker/Dockerfile_browser_ext -t elasticvue-build_browser_ext .
docker run --rm -v "$(CURDIR)/artifacts":/app/artifacts --user 1000 elasticvue-build_browser_ext scripts/build_browser_extensions.sh

run_docker_nginx:
docker run -p 8080:8080 elasticvue
10 changes: 7 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ Contents
[Screenshots](https://elasticvue.com/features)

**Elasticvue** is a free and open-source gui for elasticsearch that you can use to manage the data in your cluster.
It has full support for elasticsearch versions `8.x`, `7.x` and `6.8`. Check
It has full support for elasticsearch versions `8.x` and `7.x`. Check
the [FAQ](https://github.com/cars10/elasticvue/wiki/FAQ) for more details.

### Features
Expand All @@ -44,7 +44,10 @@ the [FAQ](https://github.com/cars10/elasticvue/wiki/FAQ) for more details.

You can use elasticvue in several ways:

* [**Desktop app for linux, mac and windows, recommended**](#desktop-app)
* **Recommended:** [desktop app for linux, mac and windows](#desktop-app)

Other:

* [Browser extension for chrome, firefox and edge](#browser-extensions)
* [Docker image](#docker)
* [Web version](#web-version)
Expand Down Expand Up @@ -115,7 +118,8 @@ After configuration restart your cluster and you should be able to connect.

## Browser Support

Any current version of Chrome, Firefox and Edge (Chromium) should work without issues.
Any current version of Chrome, Firefox and Edge (Chromium) should work without issues. Safari is mostly untested so your
mileage may vary.

## Troubleshooting

Expand Down
12 changes: 8 additions & 4 deletions docker/Dockerfile_browser_ext
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
FROM node:20-bookworm
RUN mkdir /app
WORKDIR /app

RUN npm install --global web-ext

RUN apt-get update -qq \
&& apt-get upgrade -y \
Expand All @@ -13,10 +9,18 @@ RUN apt-get update -qq \
&& apt-get autoremove -y \
&& rm -rf /var/lib/apt/lists/*

RUN mkdir /app
WORKDIR /app

RUN npm install --global web-ext

COPY package.json .
COPY yarn.lock .

RUN yarn install
COPY . .

RUN chown -R 1000:1000 /app
USER 1000

ENTRYPOINT ["/bin/bash"]
8 changes: 8 additions & 0 deletions docker/Dockerfile_ci
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,17 @@ FROM node:20-bookworm AS builder
RUN mkdir /app
WORKDIR /app

RUN apt-get update \
&& apt-get install -y --no-install-recommends libasound2 libatk-bridge2.0-0 libatk1.0-0 libatspi2.0-0 libcairo2 libcups2 libdbus-1-3 libdrm2 libgbm1 libglib2.0-0 libnspr4 libnss3 libpango-1.0-0 libx11-6 libxcb1 libxcomposite1 libxdamage1 libxext6 libxfixes3 libxkbcommon0 libxrandr2 xvfb fonts-noto-color-emoji fonts-unifont libfontconfig1 libfreetype6 xfonts-scalable fonts-liberation fonts-ipafont-gothic fonts-wqy-zenhei fonts-tlwg-loma-otf fonts-freefont-ttf libcairo-gobject2 libdbus-glib-1-2 libgdk-pixbuf-2.0-0 libgtk-3-0 libharfbuzz0b libpangocairo-1.0-0 libx11-xcb1 libxcb-shm0 libxcursor1 libxi6 libxrender1 libxtst6 libsoup-3.0-0 gstreamer1.0-libav gstreamer1.0-plugins-bad gstreamer1.0-plugins-base gstreamer1.0-plugins-good libegl1 libenchant-2-2 libepoxy0 libevdev2 libgles2 libglx0 libgstreamer-gl1.0-0 libgstreamer-plugins-base1.0-0 libgstreamer1.0-0 libgudev-1.0-0 libharfbuzz-icu0 libhyphen0 libicu72 libjpeg62-turbo liblcms2-2 libmanette-0.2-0 libnotify4 libopengl0 libopenjp2-7 libopus0 libpng16-16 libproxy1v5 libsecret-1-0 libwayland-client0 libwayland-egl1 libwayland-server0 libwebp7 libwebpdemux2 libwoff1 libxml2 libxslt1.1 libatomic1 libevent-2.1-7 \
&& apt-get clean \
&& apt-get autoclean \
&& apt-get autoremove -y \
&& rm -rf /var/lib/apt/lists/*

COPY package.json .
COPY yarn.lock .

RUN yarn install
RUN yarn playwright install --with-deps

COPY . .
38 changes: 19 additions & 19 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,36 +18,36 @@
},
"dependencies": {
"@codemirror/lang-json": "^6.0.1",
"@intlify/unplugin-vue-i18n": "^1.5.0",
"@quasar/extras": "^1.16.8",
"@tauri-apps/api": "^1.5.1",
"@intlify/unplugin-vue-i18n": "^2.0.0",
"@quasar/extras": "^1.16.9",
"@tauri-apps/api": "^1.5.3",
"codemirror": "^6.0.1",
"idb": "^7.1.1",
"idb": "^8.0.0",
"json-bigint": "^1.0.0",
"pinia": "^2.1.7",
"pinia-plugin-persistedstate": "^3.2.0",
"pinia-plugin-persistedstate": "^3.2.1",
"pretty-bytes": "^6.1.1",
"quasar": "^2.14.0",
"vue": "^3.3.8",
"vue-i18n": "^9.6.5",
"quasar": "^2.14.2",
"vue": "^3.3.13",
"vue-i18n": "^9.8.0",
"vue-resizable": "^2.1.7",
"vue-router": "^4.2.5"
},
"devDependencies": {
"@playwright/test": "^1.39.0",
"@playwright/test": "^1.40.1",
"@quasar/vite-plugin": "^1.6.0",
"@tauri-apps/cli": "^1.5.6",
"@tauri-apps/cli": "^1.5.9",
"@types/json-bigint": "^1.0.4",
"@vitejs/plugin-vue": "^4.4.1",
"@vitejs/plugin-vue": "^4.5.2",
"@vue/eslint-config-typescript": "^12.0.0",
"@vue/tsconfig": "^0.4.0",
"eslint": "^8.53.0",
"eslint-plugin-vue": "^9.18.1",
"@vue/tsconfig": "^0.5.1",
"eslint": "^8.56.0",
"eslint-plugin-vue": "^9.19.2",
"sass": "^1.69.5",
"typescript": "^5.2.2",
"vite": "^4.5.0",
"vite-bundle-visualizer": "^0.11.0",
"vitest": "^0.34.6",
"vue-tsc": "^1.8.22"
"typescript": "^5.3.3",
"vite": "^5.0.10",
"vite-bundle-visualizer": "^1.0.0",
"vitest": "^1.1.0",
"vue-tsc": "^1.8.26"
}
}
60 changes: 53 additions & 7 deletions scripts/mock.js
Original file line number Diff line number Diff line change
Expand Up @@ -376,27 +376,27 @@ exports.mock = async page => {
}
},
shardIndices: {
url: 'http://localhost:9200/_cat/indices/?h=index%2Chealth%2Cpri%2Crep%2Cstatus&s=index',
url: 'http://localhost:9200/_cat/indices/?h=index%2Chealth%2Cpri%2Crep%2Cstatus&s=health%3Adesc%2Cindex',
json: []
},
shardShards: {
url: 'http://localhost:9200/_cat/shards/?h=index%2Cshard%2Cprirep%2Cstate%2Cnode',
json: []
},
indexIndices: {
url: 'http://localhost:9200/_cat/indices/?h=index%2Chealth%2Cstatus%2Cuuid%2Cpri%2Crep%2Cdocs.count%2Cstore.size&bytes=b',
url: 'http://localhost:9200/_cat/indices/?h=index%2Chealth%2Cstatus%2Cuuid%2Cpri%2Crep%2Cdocs.count%2Cstore.size%2Csc&bytes=b',
json: []
},
flush: {
url: 'http://localhost:9200/_flush',
json: { '_shards': { 'total': 50, 'successful': 50, 'failed': 0 } }
},
nodes: {
catNodes: {
url: 'http://localhost:9200/_cat/nodes?h=ip%2Cid%2Cname%2Cheap.percent%2Cheap.current%2Cheap.max%2Cram.percent%2Cram.current%2Cram.max%2Cnode.role%2Cmaster%2Ccpu%2Cload_1m%2Cload_5m%2Cload_15m%2Cdisk.used_percent%2Cdisk.used%2Cdisk.total&full_id=true',
json: [
{
'ip': '192.168.112.1',
'id': randomId(),
'id': 'tz7KYbj8RSeyum3J-v4VZQ',
'name': 'feeds-prod-1',
'heap.percent': '42',
'heap.current': '215.2mb',
Expand All @@ -416,7 +416,7 @@ exports.mock = async page => {
},
{
'ip': '192.168.112.2',
'id': randomId(),
'id': '0tgdUvIbSOCHzADG18paPQ',
'name': 'feeds-prod-2',
'heap.percent': '42',
'heap.current': '215.2mb',
Expand All @@ -436,7 +436,7 @@ exports.mock = async page => {
},
{
'ip': '192.168.112.3',
'id': randomId(),
'id': 'o8NZD5umQdiBmKWIXd_Ueg',
'name': 'feeds-prod-3',
'heap.percent': '42',
'heap.current': '215.2mb',
Expand All @@ -456,7 +456,7 @@ exports.mock = async page => {
},
{
'ip': '192.168.112.4',
'id': randomId(),
'id': 'VPQwd_2ORE284KaE3TQABQ',
'name': 'feeds-prod-4',
'heap.percent': '42',
'heap.current': '215.2mb',
Expand All @@ -476,6 +476,50 @@ exports.mock = async page => {
}
]
},
nodes: {
url: 'http://localhost:9200/_nodes',
json: {
'nodes': {
'tz7KYbj8RSeyum3J-v4VZQ': {
'settings': {
'node': {
'attr': {
'datacenter': 'main'
}
}
}
},
'0tgdUvIbSOCHzADG18paPQ': {
'settings': {
'node': {
'attr': {
'datacenter': 'main'
}
}
}
},
'o8NZD5umQdiBmKWIXd_Ueg': {
'settings': {
'node': {
'attr': {
'datacenter': 'offside'
}
}
}
},
'VPQwd_2ORE284KaE3TQABQ': {
'settings': {
'node': {
'attr': {
'datacenter': 'backup'
}
}
}
}

}
}
},
document: {
url: 'http://localhost:9200/movies/_doc/*',
json: {
Expand Down Expand Up @@ -532,6 +576,7 @@ exports.mock = async page => {
'uuid': randomId(),
'pri': '1',
'rep': '1',
'sc': '1',
'docs.count': docs.toString(),
'store.size': (docs * 1024 * 10).toString()
})
Expand All @@ -548,6 +593,7 @@ exports.mock = async page => {
'uuid': randomId(),
'pri': '1',
'rep': '1',
'sc': '1',
'docs.count': (Math.random() * 10000).toString(),
'store.size': (Math.random() * 1000000).toString()
})
Expand Down
Loading

0 comments on commit f64a5ba

Please sign in to comment.