update readme
This commit is contained in:
parent
85c9c4cc6d
commit
6300df344c
37
README.md
37
README.md
@ -11,7 +11,7 @@ ProxmoxAAS API provides functionality for the Dashboard by providing a proxy API
|
||||
- Server with NodeJS (v18.0+) and NPM installed
|
||||
|
||||
### Configuring API Token and Permissions
|
||||
In Proxmox VE, follow the following steps:
|
||||
In the Proxmox web GUI, perform the following steps:
|
||||
1. Add a new user `proxmoxaas-api` to Proxmox VE
|
||||
2. Create a new API token for the user `proxmoxaas-api` and copy the secret key to a safe location
|
||||
3. Create a new role `proxmoxaas-api` with at least the following permissions:
|
||||
@ -24,50 +24,27 @@ In Proxmox VE, follow the following steps:
|
||||
5. Add a new User Permission with path: `/`, select the `proxmoxaas-api` user, and role: `proxmoxaas-api`
|
||||
|
||||
### Installation - API
|
||||
1. Clone this repo onto `Dashboard Host`
|
||||
1. Clone this repo onto the `ProxmoxAAS-API` host
|
||||
2. Run `npm install` to initiaze the package requirements
|
||||
3. Copy `template.config.json` as `config.json` and modify the following values:
|
||||
1. In `backends/pve/config`:
|
||||
- url: the URI to the Proxmox API, ie `http://<proxmoxhost>:8006/api2/json` or `http://<proxmox URL>/api2/json` if Proxmox VE is behind a reverse proxy.
|
||||
- url: the URI to the Proxmox API, ie `https://pve.domain.net/api2/json`
|
||||
- fabric: the URL to the ProxmoxAAS-Fabric, ie `https://fabric.local`
|
||||
- token: the user(name), authentication realm (pam), token id, and token secrey key (uuid)
|
||||
- root (**Optional**): In order to allow users to customize instance pcie devices, the API must use the root credentials for privilege elevation. Provide the root username, ie. `root@pam`, and root user password
|
||||
2. In `backends/paasldap/config` (**Optional**):
|
||||
- url: url to a PAAS-LDAP server API ie. `http://<paasldap-host>:8082`
|
||||
- url: url to a PAAS-LDAP server API ie. `http://ldap.local`
|
||||
3. In `handlers/auth`:
|
||||
- Add any authentication handlers to be used by the API. Add the realm name (ie. `pve`) as the key and the handler name as provided in `backends`. For example, a PAAS-LDAP handler could be added as `"paas-ldap": "paasldap"` and users in the realm `user@paas-ldap` will use this handler to perform auth actions. Refer to [backends](#Backends)
|
||||
4. In `application`:
|
||||
- hostname - the ProxmoxAAS-Dashboard URL, ie `host.domain.tld`
|
||||
- domain - the base domain for the dashboard and proxmox, ie `domain.tld`
|
||||
- hostname - the ProxmoxAAS-Dashboard URL, ie `paas.domain.net`
|
||||
- domain - the base domain for the dashboard and proxmox, ie `domain.net`
|
||||
- listenPort - the port you want the API to listen on, ie `8081`
|
||||
5. In `useriso`:
|
||||
- node: host of storage with user accessible iso files
|
||||
- storage: name of storage with user accessible iso files
|
||||
4. Start the service using `node .`, or call the provided shell script, or use the provided systemctl service script
|
||||
|
||||
### Installation - Reverse Proxy
|
||||
1. Configure nginx or preferred reverse proxy to reverse proxy the dashboard. The configuration should include at least the following:
|
||||
```
|
||||
server {
|
||||
listen 443 ssl;
|
||||
server_name paas.<FQDN>;
|
||||
location / {
|
||||
return 301 "/dashboard/";
|
||||
}
|
||||
location /dashboard/ {
|
||||
proxy_pass http://proxmoxaas.dmz:8080/;
|
||||
proxy_redirect default;
|
||||
}
|
||||
location /api/ {
|
||||
proxy_pass http://proxmoxaas.dmz:80/api/;
|
||||
proxy_redirect default;
|
||||
}
|
||||
}
|
||||
```
|
||||
2. Start nginx with the new configurations
|
||||
|
||||
### Result
|
||||
After these steps, the ProxmoxAAS Dashboard should be available and fully functional at `paas.<FQDN>` or `paas.<FQDN>/dashboard/`.
|
||||
|
||||
# Backends
|
||||
|
||||
Backend handlers are used to interface with any number and type of backend data source used to store ProxmoxAAS data. Most data involves users, groups, and membership relationships. The default backends are sufficient to run a small cluster, but additional backend handlers can be created.
|
||||
|
Loading…
x
Reference in New Issue
Block a user