I'm currently trying to package warpgate for
[nixpkgs](https://github.com/nixos/nixpkgs/) and noticed some entries
were missing from `yarn.lock`:
* `has@^1.0.3`
* `is-core-module@^2.9.0`
While I'm not sure if I'll manage to finish my packaging adventure (nix
skill issue on my end), these should be added for completeness either
way
Last years there are some alternatives to momentjs appeared. Like
[date-fns](https://date-fns.org/). Mostly they depend on new
[itnl](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Intl),
that is build in into all modern browsers.
Unfortunately, I wasn't able to build the project (I've never touched
rust before, and the current cargo version refused to accept configs
from repo).
That's why I'm not sure that this PR actually works :(
If somebody can check, that it builds correctly now - it would be nice
to move to less size costly solution like date-fns.
Co-authored-by: Eugene <inbox@null.page>
#### Description
This PR upgrades the TypeScript and Svelte versions used in the Warpgate
project. The specific changes include:
1. **TypeScript Upgrade**
- Upgraded TypeScript version from `4.9.4` to `5.0.0` in `package.json`.
- Updated related TypeScript dependencies in `package.json`.
2. **Svelte Upgrade**
- Upgraded Svelte version from `3.58.0` to `4.0.0` in `package.json`.
- Updated `svelte-eslint-parser` settings in `.eslintrc.yaml`.
- Replaced `sveltestrap` imports with `@sveltestrap/sveltestrap` across
various Svelte components.
3. **ESLint Configuration**
- Added `plugin:svelte/recommended` to `.eslintrc.yaml`.
- Updated `eslint` and related plugins to compatible versions.
4. **Other Dependencies**
- Updated several other dependencies in `package.json` and `yarn.lock`
to their latest versions to ensure compatibility with TypeScript 5 and
Svelte 4.
#### Changes Summary
- `.eslintrc.yaml`: Adjusted ESLint configurations for the new Svelte
parser and updated TypeScript rules.
- `openapitools.json`: Upgraded `openapi-generator-cli` version to
`7.7.0`.
- `package.json`: Updated versions of TypeScript, Svelte, ESLint, and
other dependencies.
- Various `.svelte` files: Replaced `sveltestrap` imports with
`@sveltestrap/sveltestrap` and made minor type adjustments for
TypeScript 5 compatibility.
- `tsconfig.json`: Minor configuration adjustment to support new
TypeScript features.
With this change, the SSH inactivity timeout is now configurable. By
default, is set at 5 minutes (300 seconds), which was the already
existing value.
Solves #943
This is done using the `role_mappings` property.
Roles to be mapped are gotten from the 'warp_groups` oidc claim:
```sso_providers:
- name: custom_sso
label: Custom SSO
provider:
type: custom
client_id: <client_id>
client_secret: <client_secret>
issuer_url: <issuer_url>
scopes: ["email", "profile", "openid", "warp_groups"] #warp_groups is scope name to request for my demo case, which adds a "warpgate_groups" claim to the userinfo
role_mappings:
- ["warpgate:admin", "warpgate:admin"]
```
This maps the `warpgate:admin` group from OIDC to the `warpgate:admin`
role.
This [video on YouTube](https://youtu.be/XCYSGGCgk9Q) demonstrates the
functionality
---------
Co-authored-by: Eugene <inbox@null.page>
Ticket expiry was already supported on core but no way to defined it,
neither from UI neither from API
Changed API to accept new optional field `expiry` and update UI form to
be able to set it from UI
closes#924