Merge branch 'master' into chore-code-cleanup

# Conflicts:
#	go.mod
#	go.sum
This commit is contained in:
Christoph Haas 2025-03-09 21:17:47 +01:00
commit 678b6c6456
15 changed files with 656 additions and 497 deletions

View File

@ -16,7 +16,7 @@ annotations:
# 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.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.7.0
version: 0.7.1
# 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

View File

@ -1,6 +1,6 @@
# wg-portal
![Version: 0.7.0](https://img.shields.io/badge/Version-0.7.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v2](https://img.shields.io/badge/AppVersion-v2-informational?style=flat-square)
![Version: 0.7.1](https://img.shields.io/badge/Version-0.7.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v2](https://img.shields.io/badge/AppVersion-v2-informational?style=flat-square)
WireGuard Configuration Portal with LDAP, OAuth, OIDC authentication
@ -28,7 +28,7 @@ The [Values](#values) section lists the parameters that can be configured during
## Values
| Key | Type | Default | Description |
|----------------------------------|------------|--------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|-----|------|---------|-------------|
| nameOverride | string | `""` | Partially override resource names (adds suffix) |
| fullnameOverride | string | `""` | Fully override resource names |
| extraDeploy | list | `[]` | Array of extra objects to deploy with the release |
@ -102,6 +102,7 @@ The [Values](#values) section lists the parameters that can be configured during
| persistence.storageClass | string | `""` | Persistent Volume storage class. If undefined (the default) cluster's default provisioner will be used. |
| persistence.accessMode | string | `"ReadWriteOnce"` | Persistent Volume Access Mode |
| persistence.size | string | `"1Gi"` | Persistent Volume size |
| persistence.volumeName | string | `""` | Persistent Volume Name (optional) |
| serviceAccount.create | bool | `true` | Specifies whether a service account should be created |
| serviceAccount.annotations | object | `{}` | Service account annotations |
| serviceAccount.automount | bool | `false` | Automatically mount a ServiceAccount's API credentials |

View File

@ -89,13 +89,17 @@ admin_user: ""
Define PersistentVolumeClaim spec
*/}}
{{- define "wg-portal.pvc" -}}
accessModes: [{{ .Values.persistence.accessMode }}]
{{- with .Values.persistence.storageClass }}
storageClassName: {{ . }}
{{- end }}
accessModes:
- {{ .Values.persistence.accessMode }}
resources:
requests:
storage: {{ .Values.persistence.size | quote }}
{{- with .Values.persistence.storageClass }}
storageClassName: {{ . }}
{{- end }}
{{- with .Values.persistence.volumeName }}
volumeName: {{ . }}
{{- end }}
{{- end -}}
{{/*

View File

@ -195,6 +195,8 @@ persistence:
accessMode: ReadWriteOnce
# -- Persistent Volume size
size: 1Gi
# -- Persistent Volume Name (optional)
volumeName: ""
serviceAccount:
# -- Specifies whether a service account should be created

View File

@ -58,7 +58,7 @@ mail:
host: 127.0.0.1
port: 25
encryption: none
cert_validation: false
cert_validation: true
username: ""
password: ""
auth_type: plain
@ -289,7 +289,7 @@ Options for configuring email notifications or sending peer configurations via e
- **Description:** SMTP encryption type. Valid values: `none`, `tls`, `starttls`.
### `cert_validation`
- **Default:** `false`
- **Default:** `true`
- **Description:** If `true`, validate the SMTP server certificate (relevant if `encryption` = `tls`).
### `username`

File diff suppressed because it is too large Load Diff

View File

@ -8,7 +8,7 @@
"preview": "vite preview --port 5050"
},
"dependencies": {
"@fontsource/nunito-sans": "^5.1.1",
"@fontsource/nunito-sans": "^5.2.5",
"@fortawesome/fontawesome-free": "^6.7.2",
"@kyvg/vue3-notification": "^3.4.1",
"@popperjs/core": "^2.11.8",
@ -16,19 +16,19 @@
"bootswatch": "^5.3.3",
"flag-icons": "^7.3.2",
"ip-address": "^10.0.1",
"is-cidr": "^5.1.0",
"is-cidr": "^5.1.1",
"is-ip": "^5.0.1",
"pinia": "^2.3.1",
"pinia": "^3.0.1",
"prismjs": "^1.29.0",
"vue": "^3.5.13",
"vue-i18n": "^11.0.1",
"vue-i18n": "^11.1.1",
"vue-prism-component": "github:h44z/vue-prism-component",
"vue-router": "^4.5.0",
"vue3-tags-input": "^1.0.12"
},
"devDependencies": {
"@vitejs/plugin-vue": "^5.2.1",
"sass-embedded": "^1.83.4",
"vite": "^5.4.12"
"sass-embedded": "^1.85.1",
"vite": "^6.2.0"
}
}

View File

@ -4,8 +4,7 @@ import { notify } from "@kyvg/vue3-notification";
import { apiWrapper } from '@/helpers/fetch-wrapper'
import router from '../router'
export const authStore = defineStore({
id: 'auth',
export const authStore = defineStore('auth',{
state: () => ({
// initialize state from local storage to enable user to stay logged in
user: JSON.parse(localStorage.getItem('user')),

View File

@ -7,8 +7,7 @@ import { base64_url_encode } from '@/helpers/encoding';
const baseUrl = `/interface`
export const interfaceStore = defineStore({
id: 'interfaces',
export const interfaceStore = defineStore('interfaces', {
state: () => ({
interfaces: [],
prepared: freshInterface(),

View File

@ -8,8 +8,7 @@ import { ipToBigInt } from '@/helpers/utils';
const baseUrl = `/peer`
export const peerStore = defineStore({
id: 'peers',
export const peerStore = defineStore('peers', {
state: () => ({
peers: [],
stats: {},

View File

@ -8,8 +8,7 @@ import { ipToBigInt } from '@/helpers/utils';
const baseUrl = `/user`
export const profileStore = defineStore({
id: 'profile',
export const profileStore = defineStore('profile', {
state: () => ({
peers: [],
interfaces: [],

View File

@ -3,8 +3,7 @@ import { defineStore } from 'pinia'
import { notify } from "@kyvg/vue3-notification";
import { apiWrapper } from '@/helpers/fetch-wrapper'
export const securityStore = defineStore({
id: 'security',
export const securityStore = defineStore('security',{
state: () => ({
csrfToken: "",
}),

View File

@ -5,8 +5,7 @@ import { apiWrapper } from '@/helpers/fetch-wrapper'
const baseUrl = `/config`
export const settingsStore = defineStore({
id: 'settings',
export const settingsStore = defineStore('settings', {
state: () => ({
settings: {},
}),

View File

@ -5,8 +5,7 @@ import { base64_url_encode } from '@/helpers/encoding';
const baseUrl = `/user`
export const userStore = defineStore({
id: 'users',
export const userStore = defineStore('users', {
state: () => ({
userPeers: [],
users: [],

View File

@ -149,7 +149,7 @@ func defaultConfig() *Config {
Host: "127.0.0.1",
Port: 25,
Encryption: MailEncryptionNone,
CertValidation: false,
CertValidation: true,
Username: "",
Password: "",
AuthType: MailAuthPlain,