Disclaimer: Production viable releases are tagged and listed under 'Releases'. All other check-ins should be considered 'in-development' and should not be used in production
The Remote Provisioning Server (RPS) enables the configuration and activation of Intel® AMT devices based on a defined profile. RPS utilizes the Remote Provision Client (RPC) deployed onto edge devices to connect the devices to the Management Presence Server (MPS) and enable remote manageability features.
For detailed documentation about Getting Started or other features of the Device Management Toolkit, see the docs.
To successfully deploy RPS, the following software must be installed on your development system:
To deploy the RPS on a local development system:
-
Clone the repo and switch to the
rps
directory.git clone https://github.com/device-management-toolkit/rps.git && cd rps
-
Install the dependencies from the working
rps
directory.npm install
-
Start the service.
npm start
-
The RPS listens on port 8081 by default. Successful installation produces the command line message:
RPS Microservice Rest APIs listening on https://:8081.
For detailed documentation about RPS, see the docs
RPS supports secure connections to PostgreSQL databases using SSL/TLS certificates. To enable SSL support, configure the following environment variables or .rpsrc
settings:
postgres_ssl_ca
: Path to the SSL Certificate Authority (CA) certificate filepostgres_ssl_cert
: Path to the SSL client certificate filepostgres_ssl_key
: Path to the SSL client private key filepostgres_ssl_reject_unauthorized
: Whether to reject connections with invalid certificates (default:true
)
Example configuration:
{
"connection_string": "postgresql://username:password@localhost:5432/rpsdb",
"postgres_ssl_ca": "/path/to/ca-certificate.crt",
"postgres_ssl_cert": "/path/to/client-certificate.crt",
"postgres_ssl_key": "/path/to/client-key.key",
"postgres_ssl_reject_unauthorized": true
}
Environment variable format:
RPS_POSTGRES_SSL_CA=/path/to/ca-certificate.crt
RPS_POSTGRES_SSL_CERT=/path/to/client-certificate.crt
RPS_POSTGRES_SSL_KEY=/path/to/client-key.key
RPS_POSTGRES_SSL_REJECT_UNAUTHORIZED=true
If no SSL certificate paths are provided, RPS will use a standard non-SSL PostgreSQL connection.
We leverage Postman and Docker for executing RESTful API tests. Once you have Postman and Docker installed, you can follow the steps below:
-
Clone the repo and switch to the
rps
directory.git clone https://github.com/device-management-toolkit/rps.git && cd rps
-
Build the docker image.
docker build -t rps-microservice:v1 .
-
Ensure RPS is running in a docker container.
docker-compose up -d
-
Import the test collection located at
./src/test/collections/rps.postman_collection.json
. -
Run the tests using the Collection Runner in postman. If any of the tests fail, file a github issue here: #34
If you want debug in vscode devcontainer, try to open the project with devcontainer (Make sure you install the extension of Dev Containers)
- Step1: Press Ctrl + Shift+ P in vscode;
- Step2: Type Dev Containers: Reopen in Container;
- Step3: Click the item which appear in column;
- Step4: Open a terminal, build and run app with command;
-
For detailed documentation and Getting Started, visit the docs site.
-
Looking to contribute? Find more information here about contribution guidelines and practices.
-
Find a bug? Or have ideas for new features? Open a new Issue.
-
Need additional support or want to get the latest news and events about Device Management Toolkit? Connect with the team directly through Discord.