Compare commits

..

6 Commits

Author SHA1 Message Date
Maksim Eltyshev
ca3b0a75d3 chore: Update version 2024-11-28 14:42:08 +01:00
dependabot[bot]
9eee486356 chore(deps): Bump cross-spawn and sails-generate in /server (#964)
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) and [sails-generate](https://github.com/balderdashy/sails-generate). These dependencies needed to be updated together.

Updates `cross-spawn` from 4.0.2 to 7.0.6
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/4.0.2...v7.0.6)

Updates `sails-generate` from 2.0.12 to 2.0.13
- [Release notes](https://github.com/balderdashy/sails-generate/releases)
- [Commits](https://github.com/balderdashy/sails-generate/compare/v2.0.12...v2.0.13)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
- dependency-name: sails-generate
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-28 11:21:16 +01:00
Maksim Eltyshev
6698437727 fix: Downgrade i18next to fix language change issue 2024-11-28 11:16:17 +01:00
Rafał Florczak
a3f101a139 fix: Quote variables to prevent word splitting (#962) 2024-11-27 11:49:55 +01:00
JoeKer1
843b44cea7 feat: Ability to provide extra env variables in Helm (#961)
Closes #960
2024-11-27 11:39:58 +01:00
Blyamur
8d245e8722 fix: Update Russian translation (#958) 2024-11-25 11:56:35 +01:00
12 changed files with 66 additions and 77 deletions

View File

@@ -15,13 +15,13 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes # This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version. # to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/) # Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.2.17 version: 0.2.19
# This is the version number of the application being deployed. This version number should be # This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to # incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using. # follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes. # It is recommended to use it with quotes.
appVersion: "1.24.2" appVersion: "1.24.3"
dependencies: dependencies:
- alias: postgresql - alias: postgresql

View File

@@ -67,6 +67,20 @@ spec:
resources: resources:
{{- toYaml .Values.resources | nindent 12 }} {{- toYaml .Values.resources | nindent 12 }}
env: env:
{{- if .Values.extraEnv }}
{{- range .Values.extraEnv }}
- name: {{ .name }}
{{- if .value }}
value: {{ .value | quote}}
{{- end }}
{{- if .valueFrom }}
valueFrom:
secretKeyRef:
name: {{ .valueFrom.secretName }}
key: {{ .valueFrom.key }}
{{- end }}
{{- end }}
{{- end }}
{{- if not .Values.postgresql.enabled }} {{- if not .Values.postgresql.enabled }}
{{- if .Values.existingDburlSecret }} {{- if .Values.existingDburlSecret }}
- name: DATABASE_URL - name: DATABASE_URL

View File

@@ -69,7 +69,7 @@ ingress:
# kubernetes.io/ingress.class: nginx # kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true" # kubernetes.io/tls-acme: "true"
hosts: hosts:
# Used to set planka BASE_URL if no `baseurl` is provided. # Used to set planka BASE_URL if no `baseurl` is provided.
- host: planka.local - host: planka.local
paths: paths:
- path: / - path: /
@@ -197,3 +197,16 @@ oidc:
## ##
roles: [] roles: []
# - planka-admin # - planka-admin
## Extra environment variables for planka deployment
## Supports hard coded and getting values from a k8s secret
## - name: test
## value: valuetest
## - name: another
## value: another
## - name: test-secret
## valueFrom:
## secretName: k8s-secret-name
## key: key-inside-the-secret
##
extraEnv: []

View File

@@ -12,7 +12,7 @@
"dequal": "^2.0.3", "dequal": "^2.0.3",
"easymde": "^2.18.0", "easymde": "^2.18.0",
"history": "^5.3.0", "history": "^5.3.0",
"i18next": "^23.16.8", "i18next": "23.15.2",
"i18next-browser-languagedetector": "^8.0.0", "i18next-browser-languagedetector": "^8.0.0",
"initials": "^3.1.2", "initials": "^3.1.2",
"js-cookie": "^3.0.5", "js-cookie": "^3.0.5",
@@ -10349,9 +10349,9 @@
} }
}, },
"node_modules/i18next": { "node_modules/i18next": {
"version": "23.16.8", "version": "23.15.2",
"resolved": "https://registry.npmjs.org/i18next/-/i18next-23.16.8.tgz", "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.15.2.tgz",
"integrity": "sha512-06r/TitrM88Mg5FdUXAKL96dJMzgqLE5dv3ryBAra4KCwD9mJ4ndOTS95ZuymIGoE+2hzfdaMak2X11/es7ZWg==", "integrity": "sha512-zcPSWzCvw6uKnuYHIqs4W7hTuB9e3AFcSdZgvCWoPXIZsBjBd4djN2/2uOHIB+1DFFkQnMBXvhNg7J3WyCuywQ==",
"funding": [ "funding": [
{ {
"type": "individual", "type": "individual",
@@ -20268,16 +20268,16 @@
} }
}, },
"node_modules/typescript": { "node_modules/typescript": {
"version": "5.6.3", "version": "4.9.5",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
"integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==",
"peer": true, "peer": true,
"bin": { "bin": {
"tsc": "bin/tsc", "tsc": "bin/tsc",
"tsserver": "bin/tsserver" "tsserver": "bin/tsserver"
}, },
"engines": { "engines": {
"node": ">=14.17" "node": ">=4.2.0"
} }
}, },
"node_modules/typescript-compare": { "node_modules/typescript-compare": {

View File

@@ -66,7 +66,7 @@
"dequal": "^2.0.3", "dequal": "^2.0.3",
"easymde": "^2.18.0", "easymde": "^2.18.0",
"history": "^5.3.0", "history": "^5.3.0",
"i18next": "^23.16.8", "i18next": "23.15.2",
"i18next-browser-languagedetector": "^8.0.0", "i18next-browser-languagedetector": "^8.0.0",
"initials": "^3.1.2", "initials": "^3.1.2",
"js-cookie": "^3.0.5", "js-cookie": "^3.0.5",

View File

@@ -3,6 +3,7 @@ export default {
common: { common: {
emailOrUsername: 'E-mail или имя пользователя', emailOrUsername: 'E-mail или имя пользователя',
invalidEmailOrUsername: 'Неверный e-mail или имя пользователя', invalidEmailOrUsername: 'Неверный e-mail или имя пользователя',
invalidCredentials: 'Недействительные учетные данные',
invalidPassword: 'Неверный пароль', invalidPassword: 'Неверный пароль',
logInToPlanka: 'Вход в Planka', logInToPlanka: 'Вход в Planka',
noInternetConnection: 'Нет соединения', noInternetConnection: 'Нет соединения',

View File

@@ -1 +1 @@
export default '1.24.2'; export default '1.24.3';

View File

@@ -9,36 +9,36 @@ PLANKA_DOCKER_CONTAINER_PLANKA="planka_planka_1"
# Create Temporary folder # Create Temporary folder
BACKUP_DATETIME=$(date --utc +%FT%H-%M-%SZ) BACKUP_DATETIME=$(date --utc +%FT%H-%M-%SZ)
mkdir -p $BACKUP_DATETIME-backup mkdir -p "$BACKUP_DATETIME-backup"
# Dump DB into SQL File # Dump DB into SQL File
echo -n "Exporting postgres database ... " echo -n "Exporting postgres database ... "
docker exec -t $PLANKA_DOCKER_CONTAINER_POSTGRES pg_dumpall -c -U postgres > $BACKUP_DATETIME-backup/postgres.sql docker exec -t "$PLANKA_DOCKER_CONTAINER_POSTGRES" pg_dumpall -c -U postgres > "$BACKUP_DATETIME-backup/postgres.sql"
echo "Success!" echo "Success!"
# Export Docker Voumes # Export Docker Voumes
echo -n "Exporting user-avatars ... " echo -n "Exporting user-avatars ... "
docker run --rm --volumes-from $PLANKA_DOCKER_CONTAINER_PLANKA -v $(pwd)/$BACKUP_DATETIME-backup:/backup ubuntu cp -r /app/public/user-avatars /backup/user-avatars docker run --rm --volumes-from "$PLANKA_DOCKER_CONTAINER_PLANKA" -v "$(pwd)/$BACKUP_DATETIME-backup:/backup" ubuntu cp -r /app/public/user-avatars /backup/user-avatars
echo "Success!" echo "Success!"
echo -n "Exporting project-background-images ... " echo -n "Exporting project-background-images ... "
docker run --rm --volumes-from $PLANKA_DOCKER_CONTAINER_PLANKA -v $(pwd)/$BACKUP_DATETIME-backup:/backup ubuntu cp -r /app/public/project-background-images /backup/project-background-images docker run --rm --volumes-from "$PLANKA_DOCKER_CONTAINER_PLANKA" -v "$(pwd)/$BACKUP_DATETIME-backup:/backup" ubuntu cp -r /app/public/project-background-images /backup/project-background-images
echo "Success!" echo "Success!"
echo -n "Exporting attachments ... " echo -n "Exporting attachments ... "
docker run --rm --volumes-from $PLANKA_DOCKER_CONTAINER_PLANKA -v $(pwd)/$BACKUP_DATETIME-backup:/backup ubuntu cp -r /app/private/attachments /backup/attachments docker run --rm --volumes-from "$PLANKA_DOCKER_CONTAINER_PLANKA" -v "$(pwd)/$BACKUP_DATETIME-backup:/backup" ubuntu cp -r /app/private/attachments /backup/attachments
echo "Success!" echo "Success!"
# Create tgz # Create tgz
echo -n "Creating final tarball $BACKUP_DATETIME-backup.tgz ... " echo -n "Creating final tarball $BACKUP_DATETIME-backup.tgz ... "
tar -czf $BACKUP_DATETIME-backup.tgz \ tar -czf "$BACKUP_DATETIME-backup.tgz" \
$BACKUP_DATETIME-backup/postgres.sql \ "$BACKUP_DATETIME-backup/postgres.sql" \
$BACKUP_DATETIME-backup/user-avatars \ "$BACKUP_DATETIME-backup/user-avatars" \
$BACKUP_DATETIME-backup/project-background-images \ "$BACKUP_DATETIME-backup/project-background-images" \
$BACKUP_DATETIME-backup/attachments "$BACKUP_DATETIME-backup/attachments"
echo "Success!" echo "Success!"
#Remove source files #Remove source files
echo -n "Cleaning up temporary files and folders ... " echo -n "Cleaning up temporary files and folders ... "
rm -rf $BACKUP_DATETIME-backup rm -rf "$BACKUP_DATETIME-backup"
echo "Success!" echo "Success!"
echo "Backup Complete!" echo "Backup Complete!"

View File

@@ -9,29 +9,29 @@ PLANKA_DOCKER_CONTAINER_PLANKA="planka_planka_1"
# Extract tgz archive # Extract tgz archive
PLANKA_BACKUP_ARCHIVE_TGZ=$1 PLANKA_BACKUP_ARCHIVE_TGZ=$1
PLANKA_BACKUP_ARCHIVE=$(basename $PLANKA_BACKUP_ARCHIVE_TGZ .tgz) PLANKA_BACKUP_ARCHIVE=$(basename "$PLANKA_BACKUP_ARCHIVE_TGZ" .tgz)
echo -n "Extracting tarball $PLANKA_BACKUP_ARCHIVE_TGZ ... " echo -n "Extracting tarball $PLANKA_BACKUP_ARCHIVE_TGZ ... "
tar -xzf $PLANKA_BACKUP_ARCHIVE_TGZ tar -xzf "$PLANKA_BACKUP_ARCHIVE_TGZ"
echo "Success!" echo "Success!"
# Import Database # Import Database
echo -n "Importing postgres database ... " echo -n "Importing postgres database ... "
cat $PLANKA_BACKUP_ARCHIVE/postgres.sql | docker exec -i $PLANKA_DOCKER_CONTAINER_POSTGRES psql -U postgres cat "$PLANKA_BACKUP_ARCHIVE/postgres.sql" | docker exec -i "$PLANKA_DOCKER_CONTAINER_POSTGRES" psql -U postgres
echo "Success!" echo "Success!"
# Restore Docker Volumes # Restore Docker Volumes
echo -n "Importing user-avatars ... " echo -n "Importing user-avatars ... "
docker run --rm --volumes-from $PLANKA_DOCKER_CONTAINER_PLANKA -v $(pwd)/$PLANKA_BACKUP_ARCHIVE:/backup ubuntu cp -rf /backup/user-avatars /app/public/ docker run --rm --volumes-from "$PLANKA_DOCKER_CONTAINER_PLANKA" -v "$(pwd)/$PLANKA_BACKUP_ARCHIVE:/backup" ubuntu cp -rf /backup/user-avatars /app/public/
echo "Success!" echo "Success!"
echo -n "Importing project-background-images ... " echo -n "Importing project-background-images ... "
docker run --rm --volumes-from $PLANKA_DOCKER_CONTAINER_PLANKA -v $(pwd)/$PLANKA_BACKUP_ARCHIVE:/backup ubuntu cp -rf /backup/project-background-images /app/public/ docker run --rm --volumes-from "$PLANKA_DOCKER_CONTAINER_PLANKA" -v "$(pwd)/$PLANKA_BACKUP_ARCHIVE:/backup" ubuntu cp -rf /backup/project-background-images /app/public/
echo "Success!" echo "Success!"
echo -n "Importing attachments ... " echo -n "Importing attachments ... "
docker run --rm --volumes-from $PLANKA_DOCKER_CONTAINER_PLANKA -v $(pwd)/$PLANKA_BACKUP_ARCHIVE:/backup ubuntu cp -rf /backup/attachments /app/private/ docker run --rm --volumes-from "$PLANKA_DOCKER_CONTAINER_PLANKA" -v "$(pwd)/$PLANKA_BACKUP_ARCHIVE:/backup" ubuntu cp -rf /backup/attachments /app/private/
echo "Success!" echo "Success!"
echo -n "Cleaning up temporary files and folders ... " echo -n "Cleaning up temporary files and folders ... "
rm -r $PLANKA_BACKUP_ARCHIVE rm -r "$PLANKA_BACKUP_ARCHIVE"
echo "Success!" echo "Success!"
echo "Restore complete!" echo "Restore complete!"

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{ {
"name": "planka", "name": "planka",
"version": "1.24.2", "version": "1.24.3",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "planka", "name": "planka",
"version": "1.24.2", "version": "1.24.3",
"hasInstallScript": true, "hasInstallScript": true,
"license": "AGPL-3.0", "license": "AGPL-3.0",
"dependencies": { "dependencies": {

View File

@@ -1,6 +1,6 @@
{ {
"name": "planka", "name": "planka",
"version": "1.24.2", "version": "1.24.3",
"private": true, "private": true,
"homepage": "https://plankanban.github.io/planka", "homepage": "https://plankanban.github.io/planka",
"repository": { "repository": {

View File

@@ -7089,11 +7089,6 @@
"node": ">= 0.10" "node": ">= 0.10"
} }
}, },
"node_modules/pseudomap": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
"integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ=="
},
"node_modules/pstree.remy": { "node_modules/pstree.remy": {
"version": "1.1.8", "version": "1.1.8",
"resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz",
@@ -7665,14 +7660,14 @@
} }
}, },
"node_modules/sails-generate": { "node_modules/sails-generate": {
"version": "2.0.12", "version": "2.0.13",
"resolved": "https://registry.npmjs.org/sails-generate/-/sails-generate-2.0.12.tgz", "resolved": "https://registry.npmjs.org/sails-generate/-/sails-generate-2.0.13.tgz",
"integrity": "sha512-uP1AxV+LjuCKF8tnUtyUsce2iyWRXi0hIZRwrf1+ruH0JwC014rQ8FBX8dX1Uso+jUYib4E3t6uj0N1tmpK80g==", "integrity": "sha512-ky+YcxSe2pBTohfIZIxU+XARuYu7ZxjFOTvWcivfF3oVHBmpc22VihbNjotNA4QWdKw13vfHWvoJpyHjccGOoA==",
"license": "MIT",
"dependencies": { "dependencies": {
"@sailshq/lodash": "^3.10.3", "@sailshq/lodash": "^3.10.3",
"async": "2.6.4", "async": "2.6.4",
"chalk": "2.3.0", "chalk": "2.3.0",
"cross-spawn": "4.0.2",
"flaverr": "^1.0.0", "flaverr": "^1.0.0",
"fs-extra": "0.30.0", "fs-extra": "0.30.0",
"machinepack-process": "^4.0.0", "machinepack-process": "^4.0.0",
@@ -7719,15 +7714,6 @@
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
"integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
}, },
"node_modules/sails-generate/node_modules/cross-spawn": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz",
"integrity": "sha512-yAXz/pA1tD8Gtg2S98Ekf/sewp3Lcp3YoFKJ4Hkp5h5yLWnKVTDU0kwjKJ8NDCYcfTLfyGkzTikst+jWypT1iA==",
"dependencies": {
"lru-cache": "^4.0.1",
"which": "^1.2.9"
}
},
"node_modules/sails-generate/node_modules/escape-string-regexp": { "node_modules/sails-generate/node_modules/escape-string-regexp": {
"version": "1.0.5", "version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
@@ -7784,15 +7770,6 @@
"graceful-fs": "^4.1.6" "graceful-fs": "^4.1.6"
} }
}, },
"node_modules/sails-generate/node_modules/lru-cache": {
"version": "4.1.5",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
"integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
"dependencies": {
"pseudomap": "^1.0.2",
"yallist": "^2.1.2"
}
},
"node_modules/sails-generate/node_modules/rimraf": { "node_modules/sails-generate/node_modules/rimraf": {
"version": "2.7.1", "version": "2.7.1",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
@@ -7816,22 +7793,6 @@
"node": ">=4" "node": ">=4"
} }
}, },
"node_modules/sails-generate/node_modules/which": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
"integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
"dependencies": {
"isexe": "^2.0.0"
},
"bin": {
"which": "bin/which"
}
},
"node_modules/sails-generate/node_modules/yallist": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
"integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A=="
},
"node_modules/sails-hook-orm": { "node_modules/sails-hook-orm": {
"version": "4.0.3", "version": "4.0.3",
"resolved": "https://registry.npmjs.org/sails-hook-orm/-/sails-hook-orm-4.0.3.tgz", "resolved": "https://registry.npmjs.org/sails-hook-orm/-/sails-hook-orm-4.0.3.tgz",