Rps
The Remote Provisioning Service (RPS) is a Node.js-based microservice that works with the Remote Provisioning Client (RPC) to activate Intel® AMT platforms using a pre-defined profile.
Install / Use
/learn @device-management-toolkit/RpsREADME
Remote Provisioning Server
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.
<br><br>
For detailed documentation about Getting Started or other features of the Device Management Toolkit, see the docs.
<br>Prerequisites
To successfully deploy RPS, the following software must be installed on your development system:
Deploy the Remote Provisioning Server (RPS) Microservice
To deploy the RPS on a local development system:
-
Clone the repo and switch to the
rpsdirectory.git clone https://github.com/device-management-toolkit/rps.git && cd rps -
Install the dependencies from the working
rpsdirectory.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
<br>Configuration
PostgreSQL SSL/TLS Support
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.
<br>Deploy with Docker and Run API Tests
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
rpsdirectory.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: https://github.com/device-management-toolkit/rps/pull/34
Using devcontainer
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;
Additional Resources
-
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.
Related Skills
node-connect
350.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
350.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
350.1kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。

