mirror of
https://github.com/Termix-SSH/Termix.git
synced 2026-10-29 14:45:24 +00:00
chore: rework plugin readmes, json changelogs and standalone repo setup
This commit is contained in:
1 parent
a8f383d2b3
commit
29a946d02e
500 files changed
+6729
-1250
No files matched your search
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"extends": ["@commitlint/config-conventional"],
|
||||
"rules": {
|
||||
"type-enum": [
|
||||
2,
|
||||
"always",
|
||||
[
|
||||
"feat",
|
||||
"fix",
|
||||
"docs",
|
||||
"style",
|
||||
"refactor",
|
||||
"perf",
|
||||
"test",
|
||||
"chore",
|
||||
"revert"
|
||||
]
|
||||
],
|
||||
"subject-case": [0]
|
||||
}
|
||||
}
|
||||
Vendored
+1
@@ -0,0 +1 @@
|
||||
custom: https://donate.termix.site/
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
# Overview
|
||||
|
||||
_Short summary of what this PR does_
|
||||
|
||||
- [ ] Added: ...
|
||||
- [ ] Updated: ...
|
||||
- [ ] Removed: ...
|
||||
- [ ] Fixed: ...
|
||||
|
||||
# Changes Made
|
||||
|
||||
_Detailed explanation of changes (if needed)_
|
||||
|
||||
- ...
|
||||
|
||||
# Related Issues
|
||||
|
||||
_Link any issues this PR addresses_
|
||||
|
||||
- Closes #ISSUE_NUMBER
|
||||
- Related to #ISSUE_NUMBER
|
||||
|
||||
# Screenshots / Demos
|
||||
|
||||
_(Optional: add before/after screenshots, GIFs, or console output)_
|
||||
|
||||
# Checklist
|
||||
|
||||
- [ ] Code follows project style guidelines
|
||||
- [ ] Supports mobile and desktop UI/app (if applicable)
|
||||
- [ ] Added the change to `CHANGELOG.json`
|
||||
- [ ] `npm run test`, `npm run typecheck` and `npm run validate` pass
|
||||
- [ ] I have read `CONTRIBUTING.md`
|
||||
- [ ] This is not a translation request. See [docs](https://docs.termix.site/translations)
|
||||
@@ -0,0 +1,9 @@
|
||||
node_modules
|
||||
dist
|
||||
coverage
|
||||
*.log
|
||||
.env
|
||||
*.tmxplug
|
||||
*.tmxplug.sig
|
||||
termix-plugin-signing.key
|
||||
.termix-tables-*
|
||||
@@ -0,0 +1 @@
|
||||
npx --no -- commitlint --edit "$1"
|
||||
@@ -0,0 +1 @@
|
||||
npx lint-staged
|
||||
@@ -0,0 +1,4 @@
|
||||
dist
|
||||
coverage
|
||||
node_modules
|
||||
package-lock.json
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"semi": true,
|
||||
"singleQuote": false,
|
||||
"tabWidth": 2,
|
||||
"trailingComma": "all",
|
||||
"printWidth": 80,
|
||||
"arrowParens": "always",
|
||||
"endOfLine": "lf"
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"$schema": "https://raw.githubusercontent.com/Termix-SSH/Termix/main/packages/plugin-sdk/schema/changelog.schema.json",
|
||||
"releases": [
|
||||
{
|
||||
"version": "1.0.0",
|
||||
"changes": [
|
||||
{
|
||||
"type": "added",
|
||||
"text": "Adds the Vault auth type to hosts"
|
||||
},
|
||||
{
|
||||
"type": "added",
|
||||
"text": "Sign in to Vault with OIDC when you connect"
|
||||
},
|
||||
{
|
||||
"type": "added",
|
||||
"text": "Never stores a Vault token or long-lived key"
|
||||
},
|
||||
{
|
||||
"type": "added",
|
||||
"text": "Reusable signer profiles you can share with everyone"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
# Changelog
|
||||
|
||||
## 1.0.0
|
||||
|
||||
First release, bundled with Termix 2.9.0.
|
||||
|
||||
Adds the Vault login type. Termix signs you in to Vault with OIDC in the browser and gets a short-lived SSH certificate from Vault's SSH secrets engine.
|
||||
@@ -0,0 +1,27 @@
|
||||
# Contributing to HashiCorp Vault
|
||||
|
||||
## Development
|
||||
|
||||
```bash
|
||||
npm run build # build into dist/
|
||||
npm run test # run this plugin's tests
|
||||
npm run typecheck # type-check this plugin
|
||||
npm run validate # check manifest.json
|
||||
npm run format # format the code with Prettier
|
||||
```
|
||||
|
||||
## Settings
|
||||
|
||||
### Admin
|
||||
|
||||
- **Redirect URI:** add `<base URL>/plugin-api/vault/oidc/callback` to `allowed_redirect_uris` in each Vault OIDC role
|
||||
- **Use the old redirect URI:** keep sending the 2.8 URI `<base URL>/vault/oidc/callback`. Upgraded installs keep this on until you turn it off
|
||||
|
||||
### Host
|
||||
|
||||
- **Vault signer profile:** the profile this host uses
|
||||
|
||||
## Permissions
|
||||
|
||||
- `vault.use`: create signer profiles and connect to hosts that use Vault. Admins and users have it by default.
|
||||
- `vault.share`: share a profile so every user can pick it. Only admins have it by default.
|
||||
+27
-27
@@ -1,38 +1,38 @@
|
||||
# HashiCorp Vault
|
||||
<div align="center">
|
||||
|
||||
Connect to hosts with short-lived SSH certificates from HashiCorp Vault, after signing in to Vault with OIDC.
|
||||
<img src="https://raw.githubusercontent.com/Termix-SSH/Termix/main/public/icon.svg" width="120" height="120" alt="Termix Logo" />
|
||||
|
||||
<h1>HashiCorp Vault</h1>
|
||||
|
||||
<p>Short-lived SSH certificates signed by HashiCorp Vault</p>
|
||||
|
||||
</div>
|
||||
|
||||
<br />
|
||||
|
||||
## Overview
|
||||
|
||||
HashiCorp Vault lets you connect to hosts with SSH certificates signed by Vault, after signing in to Vault with OIDC.
|
||||
|
||||
<br />
|
||||
|
||||
## Features
|
||||
|
||||
- Adds the Vault login type to the host editor.
|
||||
- Signs you in to Vault with OIDC in the browser.
|
||||
- Has Vault's SSH secrets engine sign a fresh key and keeps the certificate until it expires.
|
||||
- Never stores a Vault token, AppRole secret or long-lived key.
|
||||
- Adds the Vault auth type to hosts
|
||||
- Sign in to Vault with OIDC when you connect
|
||||
- Never stores a Vault token or long-lived key
|
||||
- Reusable signer profiles you can share with everyone
|
||||
|
||||
## Setup
|
||||
<br />
|
||||
|
||||
A profile holds the Vault address and namespace, the OIDC mount and role, the SSH secrets mount and signer role, the valid principals and the key type. Pick Vault as the login type in the host editor, then choose or create a profile there. Profiles sync between the desktop app and a server.
|
||||
## Support
|
||||
|
||||
## Settings
|
||||
To report a bug or request a feature, open a [support ticket](https://github.com/Termix-SSH/Support/issues/new/choose). You need to be logged in to GitHub. Please be as detailed as possible, preferably in English.
|
||||
|
||||
### Admin
|
||||
For discussions and questions, join the [Discord](https://discord.gg/jVQGdvHDrf) server.
|
||||
|
||||
- Redirect URI: add `<base URL>/plugin-api/vault/oidc/callback` to `allowed_redirect_uris` in each Vault OIDC role.
|
||||
- Use the old redirect URI: keep sending the 2.8 URI `<base URL>/vault/oidc/callback`. Upgraded installs keep this on until you turn it off.
|
||||
<br />
|
||||
|
||||
### Host
|
||||
## License
|
||||
|
||||
- Vault signer profile: the profile this host uses.
|
||||
|
||||
## Permissions
|
||||
|
||||
- `vault.use`: Sign in to hosts with Vault. Admins and users have it by default.
|
||||
- `vault.share`: Share Vault profiles with everyone. Only admins have it by default.
|
||||
|
||||
## Development
|
||||
|
||||
```bash
|
||||
npm run build # build into dist/
|
||||
npm run test # run this plugin's tests
|
||||
npm run typecheck # type-check this plugin
|
||||
```
|
||||
Distributed under the Apache License Version 2.0. See [LICENSE](https://github.com/Termix-SSH/Termix/blob/main/LICENSE) for more information.
|
||||
@@ -2,16 +2,16 @@
|
||||
"id": "vault",
|
||||
"name": "HashiCorp Vault",
|
||||
"version": "1.0.0",
|
||||
"description": "Connect to hosts with short-lived SSH certificates from HashiCorp Vault, after signing in to Vault with OIDC.",
|
||||
"description": "Connect to hosts with short-lived SSH certificates signed by HashiCorp Vault.",
|
||||
"author": {
|
||||
"name": "Termix"
|
||||
},
|
||||
"license": "MIT",
|
||||
"license": "Apache-2.0",
|
||||
"repository": "https://github.com/Termix-SSH/Termix",
|
||||
"category": "Access & Security",
|
||||
"icon": "KeyRound",
|
||||
"engine": {
|
||||
"termix": ">=2.9.0",
|
||||
"termix": ">=26.10.0",
|
||||
"api": "1"
|
||||
},
|
||||
"capabilities": [
|
||||
|
||||
@@ -7,12 +7,17 @@
|
||||
"build": "termix-plugin build",
|
||||
"test": "termix-plugin test",
|
||||
"typecheck": "tsc -p .",
|
||||
"validate": "termix-plugin validate"
|
||||
"validate": "termix-plugin validate",
|
||||
"format": "prettier --write .",
|
||||
"format:check": "prettier --check .",
|
||||
"prepare": "husky || true"
|
||||
},
|
||||
"dependencies": {
|
||||
"lucide-react": "^1.33.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@commitlint/cli": "^21.2.2",
|
||||
"@commitlint/config-conventional": "^21.2.0",
|
||||
"@termix/plugin-sdk": "^1.0.0",
|
||||
"@testing-library/dom": "^10.4.2",
|
||||
"@testing-library/react": "^16.3.3",
|
||||
@@ -20,7 +25,10 @@
|
||||
"@types/react": "^19.2.18",
|
||||
"@types/react-dom": "^19.2.4",
|
||||
"better-sqlite3": "^13.0.3",
|
||||
"husky": "^9.1.7",
|
||||
"jsdom": "^30.0.1",
|
||||
"lint-staged": "^17.2.0",
|
||||
"prettier": "3.9.9",
|
||||
"vitest": "^4.1.11"
|
||||
},
|
||||
"peerDependencies": {
|
||||
@@ -30,5 +38,10 @@
|
||||
"react": "^19.2.8",
|
||||
"sonner": "^2.0.8",
|
||||
"ssh2": "^1.17.0"
|
||||
},
|
||||
"lint-staged": {
|
||||
"*.{ts,tsx,js,jsx,mjs,cjs,json,css,md}": [
|
||||
"prettier --write"
|
||||
]
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user