@medplum/agent 5.0.5 → 5.0.6

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.
Files changed (3) hide show
  1. package/README.md +30 -18
  2. package/dist/cjs/index.cjs +2331 -2325
  3. 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 [installer build script](../../scripts/build-agent-installer.sh) for details.
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
- - [Vercel pkg](https://github.com/vercel/pkg) to build the `.exe` file
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
- - [JSign](https://ebourg.github.io/jsign/) to sign the executable files
15
+ - [Azure Trusted Signing](https://azure.microsoft.com/en-us/products/trusted-signing) to sign the executable files
16
16
 
17
- The following environment variables are required:
17
+ ### Authentication and Signing
18
18
 
19
- - `SM_HOST` - DigiCert Signing Manager host
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
- The `SM_CLIENT_CERT_FILE_BASE64` environment variable can be generated from the certificate file:
21
+ #### Required GitHub Secrets
26
22
 
27
- ```bash
28
- base64 Certificate_pkcs12.p12
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
- - [Sign with SMCTL](https://docs.digicert.com/en/software-trust-manager/sign-with-digicert-signing-tools/sign-with-smctl.html)
34
- - [GitHub Actions script integration with PKCS11](https://docs.digicert.com/en/software-trust-manager/ci-cd-integrations/script-integrations/github-actions-integration-with-pkcs11.html)
35
- - [Sign with jSign](https://docs.digicert.com/en/software-trust-manager/signing-tools/jsign.html)
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