update readme, logger logs in json format
Some checks failed
continuous-integration/drone/push Build is failing
Some checks failed
continuous-integration/drone/push Build is failing
This commit is contained in:
parent
c6e74cca90
commit
4b78256ae2
18
package-lock.json
generated
18
package-lock.json
generated
@ -1,11 +1,11 @@
|
|||||||
{
|
{
|
||||||
"name": "walias",
|
"name": "wildflock",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "walias",
|
"name": "wildflock",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@faker-js/faker": "^8.0.2",
|
"@faker-js/faker": "^8.0.2",
|
||||||
@ -939,11 +939,11 @@
|
|||||||
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
|
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
|
||||||
},
|
},
|
||||||
"node_modules/axios": {
|
"node_modules/axios": {
|
||||||
"version": "1.4.0",
|
"version": "1.6.7",
|
||||||
"resolved": "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/axios/-/axios-1.6.7.tgz",
|
||||||
"integrity": "sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==",
|
"integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"follow-redirects": "^1.15.0",
|
"follow-redirects": "^1.15.4",
|
||||||
"form-data": "^4.0.0",
|
"form-data": "^4.0.0",
|
||||||
"proxy-from-env": "^1.1.0"
|
"proxy-from-env": "^1.1.0"
|
||||||
}
|
}
|
||||||
@ -2026,9 +2026,9 @@
|
|||||||
"integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw=="
|
"integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw=="
|
||||||
},
|
},
|
||||||
"node_modules/follow-redirects": {
|
"node_modules/follow-redirects": {
|
||||||
"version": "1.15.2",
|
"version": "1.15.5",
|
||||||
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
|
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz",
|
||||||
"integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==",
|
"integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==",
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"type": "individual",
|
"type": "individual",
|
||||||
|
15
package.json
15
package.json
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "walias",
|
"name": "wildflock",
|
||||||
"description": "Aliases for Wild Duck",
|
"description": "Aliases for Wild Duck",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"homepage": "",
|
"homepage": "",
|
||||||
@ -7,9 +7,16 @@
|
|||||||
"keywords": [
|
"keywords": [
|
||||||
"feathers"
|
"feathers"
|
||||||
],
|
],
|
||||||
"author": {
|
"authors": [
|
||||||
"url": "github.com/msergo"
|
{
|
||||||
},
|
"name": "Sergii",
|
||||||
|
"url": "https://github.com/msergo"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Erki",
|
||||||
|
"url": "https://github.com/veebkolm"
|
||||||
|
}
|
||||||
|
],
|
||||||
"contributors": [],
|
"contributors": [],
|
||||||
"bugs": {},
|
"bugs": {},
|
||||||
"engines": {
|
"engines": {
|
||||||
|
BIN
public/screenshot.png
Normal file
BIN
public/screenshot.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 108 KiB |
22
readme.md
22
readme.md
@ -1,19 +1,19 @@
|
|||||||
# walias
|
# Wildflock
|
||||||
|
|
||||||
> Manage email aliases for Wild Duck mail server
|
Headless service for managing address aliases in [Wild Duck](https://wildduck.email/) mail server.
|
||||||
|
|
||||||
## About
|
## About
|
||||||
|
|
||||||
This project was build for [K-Space Hackathon2023](https://wiki.k-space.ee/en/hackathon/2023)
|
This project was build for [K-Space Hackathon2023](https://wiki.k-space.ee/en/hackathon/2023) ans is supposed to live in K-Space infra, however can be seamlessly deployed eslewhere.
|
||||||
|
The main motivation behind the development of this headless web UI was to provide users with a convenient tool for creating and deleting email aliases in the Wild Duck mail server.
|
||||||
|
|
||||||
## Features
|
The Wild Duck server has nice and functional [API](https://docs.wildduck.email/api/), but only offers an admin API token, limiting regular users' ability to manage their own email aliases.
|
||||||
|
|
||||||
- auth with oidc
|
User authentication is implemented via OIDC.
|
||||||
- headless only, no DB
|
|
||||||
- develop/debug with skaffold on k8s cluster
|
|
||||||
|
|
||||||
## TODO
|
No persistant storage, Redis is used for keeping express sessions.
|
||||||
|
|
||||||
|
Deployed on k8s, developed with Skaffold.
|
||||||
|
|
||||||
|
![Screenshot](./public/screenshot.png)
|
||||||
|
|
||||||
- remove TS-related hacks
|
|
||||||
- add tests
|
|
||||||
- make nicer UI
|
|
||||||
|
@ -1,10 +1,7 @@
|
|||||||
// For more information about this file see https://dove.feathersjs.com/guides/cli/logging.html
|
|
||||||
import { createLogger, format, transports } from 'winston';
|
import { createLogger, format, transports } from 'winston';
|
||||||
|
|
||||||
// Configure the Winston logger. For the complete documentation see https://github.com/winstonjs/winston
|
|
||||||
export const logger = createLogger({
|
export const logger = createLogger({
|
||||||
// To see more detailed errors, change this to 'debug'
|
|
||||||
level: 'info',
|
level: 'info',
|
||||||
format: format.combine(format.splat(), format.simple()),
|
format: format.combine(format.splat(), format.json()),
|
||||||
transports: [new transports.Console()],
|
transports: [new transports.Console()],
|
||||||
});
|
});
|
||||||
|
@ -2,7 +2,7 @@ import type { NullableId, Params, ServiceInterface } from '@feathersjs/feathers'
|
|||||||
|
|
||||||
import type { Application } from '../../declarations';
|
import type { Application } from '../../declarations';
|
||||||
import wildDuckClient from '../../clients/wildduck.client';
|
import wildDuckClient from '../../clients/wildduck.client';
|
||||||
import { faker, th } from '@faker-js/faker';
|
import { faker } from '@faker-js/faker';
|
||||||
import { BadRequest } from '@feathersjs/errors';
|
import { BadRequest } from '@feathersjs/errors';
|
||||||
import config from 'config';
|
import config from 'config';
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user