@medplum/agent 5.0.5 → 5.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -18
- package/dist/cjs/index.cjs +2331 -2325
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -4,36 +4,48 @@ On-prem agent for device connectivity.
|
|
|
4
4
|
|
|
5
5
|
## Building
|
|
6
6
|
|
|
7
|
-
Published releases are built using Github Actions. See the [
|
|
7
|
+
Published releases are built using Github Actions. See the [build-agent workflow](../../.github/workflows/build-agent.yml) for details.
|
|
8
8
|
|
|
9
9
|
The following tools are used to build the agent:
|
|
10
10
|
|
|
11
11
|
- [Node.js](https://nodejs.org/en/)
|
|
12
|
-
- [
|
|
12
|
+
- [Node.js Single Executable Applications](https://nodejs.org/docs/latest/api/single-executable-applications.html) to build the `.exe` file
|
|
13
13
|
- [NSIS](https://nsis.sourceforge.io/) to build the installer
|
|
14
14
|
- [Shawl](https://github.com/mtkennerly/shawl) for the Microsoft Windows service wrapper
|
|
15
|
-
- [
|
|
15
|
+
- [Azure Trusted Signing](https://azure.microsoft.com/en-us/products/trusted-signing) to sign the executable files
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
### Authentication and Signing
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
- `SM_API_KEY` - DigiCert Signing Manager API key
|
|
21
|
-
- `SM_CLIENT_CERT_FILE_BASE64` - DigiCert Signing Manager client certificate file (base64 encoded)
|
|
22
|
-
- `SM_CLIENT_CERT_PASSWORD` - DigiCert Signing Manager client certificate password
|
|
23
|
-
- `SM_CERT_ALIAS` - DigiCert Signing Manager certificate alias
|
|
19
|
+
The build process uses [OpenID Connect (OIDC)](https://www.microsoft.com/security/business/security-101/what-is-openid-connect-oidc) to authenticate with Azure Trusted Signing. This provides secure, secret-free authentication using federated credentials.
|
|
24
20
|
|
|
25
|
-
|
|
21
|
+
#### Required GitHub Secrets
|
|
26
22
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
23
|
+
**For Azure OIDC Authentication:**
|
|
24
|
+
- `AZURE_TENANT_ID` - Azure Active Directory tenant ID
|
|
25
|
+
- `AZURE_CLIENT_ID` - Azure application client ID (from service principal with federated credentials)
|
|
26
|
+
- `AZURE_SUBSCRIPTION_ID` - Azure subscription ID
|
|
27
|
+
|
|
28
|
+
**For GPG Signing:**
|
|
29
|
+
- `MEDPLUM_RELEASE_GPG_KEY` - The private GPG key (imported before signing)
|
|
30
|
+
- `MEDPLUM_RELEASE_GPG_KEY_ID` - GPG key identifier
|
|
31
|
+
- `MEDPLUM_RELEASE_GPG_PASSPHRASE` - GPG key passphrase
|
|
32
|
+
|
|
33
|
+
#### Setup Instructions
|
|
34
|
+
|
|
35
|
+
To configure OIDC authentication for Azure Trusted Signing:
|
|
36
|
+
|
|
37
|
+
1. Create a Microsoft Entra application and service principal
|
|
38
|
+
2. Add federated credentials for GitHub Actions
|
|
39
|
+
3. Assign the **Trusted Signing Certificate Profile Signer** role to your service principal
|
|
40
|
+
4. Configure the required GitHub secrets
|
|
41
|
+
|
|
42
|
+
For detailed setup instructions, see [Authenticating with OpenID Connect](https://github.com/Azure/trusted-signing-action/blob/main/docs/OIDC.md).
|
|
30
43
|
|
|
31
|
-
References
|
|
44
|
+
#### References
|
|
32
45
|
|
|
33
|
-
- [
|
|
34
|
-
- [
|
|
35
|
-
- [
|
|
36
|
-
- [JSign](https://ebourg.github.io/jsign/)
|
|
46
|
+
- [Azure Trusted Signing Action](https://github.com/Azure/trusted-signing-action)
|
|
47
|
+
- [Azure Trusted Signing with OIDC](https://github.com/Azure/trusted-signing-action/blob/main/docs/OIDC.md)
|
|
48
|
+
- [Azure Trusted Signing Documentation](https://learn.microsoft.com/azure/trusted-signing/)
|
|
37
49
|
- [Shawl](https://github.com/mtkennerly/shawl)
|
|
38
50
|
- [NSIS](https://nsis.sourceforge.io/)
|
|
39
51
|
|