Documentation
Cloud Accounts is where you register the cloud provider accounts that Veltrix is allowed to provision and manage infrastructure in. It is the “bring your own cloud” (BYOC) side of apps that can deploy their own hosted infrastructure: you connect an account once, and any installed app that provisions cloud resources can offer it as a deployment target.
Four providers are supported, each with one or two authentication methods:
| Provider | Authentication methods |
|---|---|
| Amazon Web Services | Assume Role (IAM role with an external ID) |
| Microsoft Azure | Brokered (Veltrix connector app) · Bring Your Own Service Principal |
| Google Cloud Platform | Workload Identity Federation · Service Account Key |
| Hetzner Cloud | API Token |
Registering an account does not create any infrastructure by itself. It stores the credentials (encrypted) so that an app deployment you start later can use them.
Open Settings in the sidebar and choose Cloud Accounts from the submenu, or use the Cloud Accounts card on the Settings hub (“Connect your AWS, Azure, GCP, or Hetzner accounts so Veltrix can provision infrastructure”). The page lives at /settings/cloud-accounts.
Only organization administrators can use this page. A user without administrator access will see an error when the list loads.
You can register several accounts per provider, for example separate production and staging accounts. Once at least one account exists, the card shows N configured and its footer button changes to Add Another.
Veltrix assumes an IAM role in your account through STS, using a trust policy conditioned on an external ID. Create the role to trust the Veltrix provisioning principal, add a condition on your external ID, and attach a least-privilege policy limited to what Veltrix should manage.
| Field | Required | Notes |
|---|---|---|
| Role ARN | Yes | Must look like arn:aws:iam::<account-id>:role/<name>. |
| External ID | Yes | A unique, hard-to-guess string; must match the external ID in the role's trust policy. |
| Method | Field | Required | Notes |
|---|---|---|---|
| Brokered (Veltrix Connector App) | Tenant ID | Yes | Your Azure AD (Entra ID) tenant. You grant admin consent to the Veltrix connector app in that tenant; there are no secrets to manage. The dialog notes that a guided consent flow is not available yet, so consent must be granted outside Veltrix. |
| Bring Your Own Service Principal | Tenant ID | Yes | Azure AD tenant ID. |
| Client ID | Yes | Application (client) ID of the service principal. | |
| Client Secret | Yes (secret) | Client secret value. | |
| Subscription ID | Yes | Target subscription. Assign the service principal an appropriate RBAC role (it needs access such as Contributor) on that subscription. |
| Method | Field | Required | Notes |
|---|---|---|---|
| Workload Identity Federation | Project ID | Yes | GCP project ID. |
| Workload Identity Provider | Yes | Full resource name, e.g. projects/123/locations/global/workloadIdentityPools/veltrix/providers/veltrix. | |
| Service Account Email | Yes | The service account Veltrix impersonates. No long-lived key is stored. | |
| Service Account Key | Project ID | Yes | GCP project ID. |
| Service Account Key (JSON) | Yes (secret) | Paste the full contents of the downloaded key file. Simpler to set up, but a long-lived credential; the workload identity method is preferred. |
| Field | Required | Notes |
|---|---|---|
| API Token | Yes (secret) | A Read & Write token from the Hetzner Cloud Console under your project's Security → API Tokens. |
Create the cloud-side role, trust relationship or token with the narrowest permissions you can; the hint box in the dialog repeats the key steps for the selected method.
Each provider card lists its accounts. A row shows a status badge, the display name, the authentication method, a Default star when applicable, and the date it was last tested. Icons on the right:
| Icon | Action |
|---|---|
| Wi-Fi | Test connection — verifies the saved credentials and records the result. |
| Star | Set as default — makes this the default account for its provider. Hidden on the account that is already default. Only one default exists per provider; setting a new one clears the previous one. |
| Gear | Edit — opens the dialog for this account. The provider and authentication method are fixed; you can change the name, the fields and the default flag. |
| Trash | Remove — asks for confirmation (“This cannot be undone”) and deletes the account. |
| Status | Meaning |
|---|---|
| Unverified | Saved, but not tested since it was created or last edited. |
| Verified | The last test succeeded. |
| Error | The last test failed. Hover over the badge, or read the line under the provider card, for the reason. |
What a test actually proves depends on the method:
| Method | Test performed |
|---|---|
| AWS Assume Role | A live STS AssumeRole call with your role ARN and external ID. Success proves the role exists, trusts the Veltrix principal, and the external ID matches; the result names the AWS account. |
| Azure Bring Your Own Service Principal | A live sign-in with the client credentials followed by a read of the subscription. A “lacks access” result means the service principal needs a role such as Contributor on the subscription. |
| Hetzner API Token | A live call to the Hetzner Cloud API; a 401 means the token was rejected. |
| Azure Brokered, GCP (both methods) | Configuration validation only. The test reports success if the fields are well formed, and the real verification happens at deploy time through the platform's token broker or workload identity pool. A green status here therefore does not guarantee the consent or federation is set up correctly. |
Cloud accounts are cross-app: you do not attach them to a particular app here. Apps that provision infrastructure can list your registered accounts when you set up a deployment, and the deployment records which account it uses. Apps that only configure an existing tool through its own API do not use cloud accounts.
Your organization may also see Veltrix-managed accounts offered as a hosted deployment target. Those are managed by Veltrix administrators; you can only see that they exist, never their configuration, and they are not listed on this page.