Remove extra tx in ssh nullable ca defaults migration, update ssh docs

This commit is contained in:
Tuan Dang
2025-04-18 11:06:59 -07:00
parent 184d353de5
commit 42aa3c3d46
2 changed files with 57 additions and 62 deletions
@@ -7,25 +7,17 @@ export async function up(knex: Knex): Promise<void> {
const hasDefaultHostCaCol = await knex.schema.hasColumn(TableName.ProjectSshConfig, "defaultHostSshCaId"); const hasDefaultHostCaCol = await knex.schema.hasColumn(TableName.ProjectSshConfig, "defaultHostSshCaId");
if (hasDefaultUserCaCol && hasDefaultHostCaCol) { if (hasDefaultUserCaCol && hasDefaultHostCaCol) {
await knex.transaction(async (trx) => { await knex.schema.alterTable(TableName.ProjectSshConfig, (t) => {
await trx.schema.alterTable(TableName.ProjectSshConfig, (t) => {
t.dropForeign(["defaultUserSshCaId"]); t.dropForeign(["defaultUserSshCaId"]);
t.dropForeign(["defaultHostSshCaId"]); t.dropForeign(["defaultHostSshCaId"]);
}); });
await trx.schema.alterTable(TableName.ProjectSshConfig, (t) => { await knex.schema.alterTable(TableName.ProjectSshConfig, (t) => {
// allow nullable (does not wipe existing values) // allow nullable (does not wipe existing values)
t.uuid("defaultUserSshCaId").nullable().alter(); t.uuid("defaultUserSshCaId").nullable().alter();
t.uuid("defaultHostSshCaId").nullable().alter(); t.uuid("defaultHostSshCaId").nullable().alter();
// re-add with SET NULL behavior (previously CASCADE) // re-add with SET NULL behavior (previously CASCADE)
t.foreign("defaultUserSshCaId") t.foreign("defaultUserSshCaId").references("id").inTable(TableName.SshCertificateAuthority).onDelete("SET NULL");
.references("id") t.foreign("defaultHostSshCaId").references("id").inTable(TableName.SshCertificateAuthority).onDelete("SET NULL");
.inTable(TableName.SshCertificateAuthority)
.onDelete("SET NULL");
t.foreign("defaultHostSshCaId")
.references("id")
.inTable(TableName.SshCertificateAuthority)
.onDelete("SET NULL");
});
}); });
} }
+6 -3
View File
@@ -139,7 +139,8 @@ Once Infisical SSH is configured by an administrator, users can SSH to the remot
<Step title="Connect to the remote host"> <Step title="Connect to the remote host">
The `infisical ssh connect` command can be used in either interactive or non-interactive mode to connect to a remote host. The `infisical ssh connect` command can be used in either interactive or non-interactive mode to connect to a remote host.
### Interactive Mode <Tabs>
<Tab title="Interactive Mode">
In interactive mode, you'll first need to authenticate with Infisical by running: In interactive mode, you'll first need to authenticate with Infisical by running:
```bash ```bash
@@ -176,8 +177,8 @@ Once Infisical SSH is configured by an administrator, users can SSH to the remot
✔ SSH credentials successfully added to agent ✔ SSH credentials successfully added to agent
Connecting to [email protected]... Connecting to [email protected]...
``` ```
</Tab>
### Non-Interactive Mode <Tab title="Non-Interactive Mode">
For CI/CD pipelines or automation scenarios, you can use the non-interactive mode with an Infisical token: For CI/CD pipelines or automation scenarios, you can use the non-interactive mode with an Infisical token:
```bash ```bash
@@ -193,6 +194,8 @@ Once Infisical SSH is configured by an administrator, users can SSH to the remot
- Use the specified login user - Use the specified login user
- Write the SSH credentials to the specified path instead of adding them to the SSH agent - Write the SSH credentials to the specified path instead of adding them to the SSH agent
- Authenticate using the provided Infisical token - Authenticate using the provided Infisical token
</Tab>
</Tabs>
</Step> </Step>
</Steps> </Steps>