misc: updated proxy terminology to relay

This commit is contained in:
Sheen Capadngan
2025-09-09 01:30:45 +08:00
parent 09d179f30d
commit c9136a23bf
34 changed files with 1314 additions and 1314 deletions
@@ -4,68 +4,68 @@ import { TableName } from "../schemas";
import { createOnUpdateTrigger, dropOnUpdateTrigger } from "../utils";
export async function up(knex: Knex): Promise<void> {
if (!(await knex.schema.hasTable(TableName.InstanceProxyConfig))) {
await knex.schema.createTable(TableName.InstanceProxyConfig, (t) => {
if (!(await knex.schema.hasTable(TableName.InstanceRelayConfig))) {
await knex.schema.createTable(TableName.InstanceRelayConfig, (t) => {
t.uuid("id", { primaryKey: true }).defaultTo(knex.fn.uuid());
t.timestamps(true, true, true);
// Root CA for proxy PKI
t.binary("encryptedRootProxyPkiCaPrivateKey").notNullable();
t.binary("encryptedRootProxyPkiCaCertificate").notNullable();
// Root CA for relay PKI
t.binary("encryptedRootRelayPkiCaPrivateKey").notNullable();
t.binary("encryptedRootRelayPkiCaCertificate").notNullable();
// Instance CA for proxy PKI
t.binary("encryptedInstanceProxyPkiCaPrivateKey").notNullable();
t.binary("encryptedInstanceProxyPkiCaCertificate").notNullable();
t.binary("encryptedInstanceProxyPkiCaCertificateChain").notNullable();
// Instance CA for relay PKI
t.binary("encryptedInstanceRelayPkiCaPrivateKey").notNullable();
t.binary("encryptedInstanceRelayPkiCaCertificate").notNullable();
t.binary("encryptedInstanceRelayPkiCaCertificateChain").notNullable();
// Instance client/server intermediates for proxy PKI
t.binary("encryptedInstanceProxyPkiClientCaPrivateKey").notNullable();
t.binary("encryptedInstanceProxyPkiClientCaCertificate").notNullable();
t.binary("encryptedInstanceProxyPkiClientCaCertificateChain").notNullable();
t.binary("encryptedInstanceProxyPkiServerCaPrivateKey").notNullable();
t.binary("encryptedInstanceProxyPkiServerCaCertificate").notNullable();
t.binary("encryptedInstanceProxyPkiServerCaCertificateChain").notNullable();
// Instance client/server intermediates for relay PKI
t.binary("encryptedInstanceRelayPkiClientCaPrivateKey").notNullable();
t.binary("encryptedInstanceRelayPkiClientCaCertificate").notNullable();
t.binary("encryptedInstanceRelayPkiClientCaCertificateChain").notNullable();
t.binary("encryptedInstanceRelayPkiServerCaPrivateKey").notNullable();
t.binary("encryptedInstanceRelayPkiServerCaCertificate").notNullable();
t.binary("encryptedInstanceRelayPkiServerCaCertificateChain").notNullable();
// Org Parent CAs for proxy
t.binary("encryptedOrgProxyPkiCaPrivateKey").notNullable();
t.binary("encryptedOrgProxyPkiCaCertificate").notNullable();
t.binary("encryptedOrgProxyPkiCaCertificateChain").notNullable();
// Org Parent CAs for relay
t.binary("encryptedOrgRelayPkiCaPrivateKey").notNullable();
t.binary("encryptedOrgRelayPkiCaCertificate").notNullable();
t.binary("encryptedOrgRelayPkiCaCertificateChain").notNullable();
// Instance SSH CAs for proxy
t.binary("encryptedInstanceProxySshClientCaPrivateKey").notNullable();
t.binary("encryptedInstanceProxySshClientCaPublicKey").notNullable();
t.binary("encryptedInstanceProxySshServerCaPrivateKey").notNullable();
t.binary("encryptedInstanceProxySshServerCaPublicKey").notNullable();
// Instance SSH CAs for relay
t.binary("encryptedInstanceRelaySshClientCaPrivateKey").notNullable();
t.binary("encryptedInstanceRelaySshClientCaPublicKey").notNullable();
t.binary("encryptedInstanceRelaySshServerCaPrivateKey").notNullable();
t.binary("encryptedInstanceRelaySshServerCaPublicKey").notNullable();
});
await createOnUpdateTrigger(knex, TableName.InstanceProxyConfig);
await createOnUpdateTrigger(knex, TableName.InstanceRelayConfig);
}
// Org-level proxy configuration (one-to-one with organization)
if (!(await knex.schema.hasTable(TableName.OrgProxyConfig))) {
await knex.schema.createTable(TableName.OrgProxyConfig, (t) => {
// Org-level relay configuration (one-to-one with organization)
if (!(await knex.schema.hasTable(TableName.OrgRelayConfig))) {
await knex.schema.createTable(TableName.OrgRelayConfig, (t) => {
t.uuid("id", { primaryKey: true }).defaultTo(knex.fn.uuid());
t.timestamps(true, true, true);
t.uuid("orgId").notNullable().unique();
t.foreign("orgId").references("id").inTable(TableName.Organization).onDelete("CASCADE");
// Org-scoped proxy PKI (client + server)
t.binary("encryptedProxyPkiClientCaPrivateKey").notNullable();
t.binary("encryptedProxyPkiClientCaCertificate").notNullable();
t.binary("encryptedProxyPkiClientCaCertificateChain").notNullable();
t.binary("encryptedProxyPkiServerCaPrivateKey").notNullable();
t.binary("encryptedProxyPkiServerCaCertificate").notNullable();
t.binary("encryptedProxyPkiServerCaCertificateChain").notNullable();
// Org-scoped relay PKI (client + server)
t.binary("encryptedRelayPkiClientCaPrivateKey").notNullable();
t.binary("encryptedRelayPkiClientCaCertificate").notNullable();
t.binary("encryptedRelayPkiClientCaCertificateChain").notNullable();
t.binary("encryptedRelayPkiServerCaPrivateKey").notNullable();
t.binary("encryptedRelayPkiServerCaCertificate").notNullable();
t.binary("encryptedRelayPkiServerCaCertificateChain").notNullable();
// Org-scoped proxy SSH (client + server)
t.binary("encryptedProxySshClientCaPrivateKey").notNullable();
t.binary("encryptedProxySshClientCaPublicKey").notNullable();
t.binary("encryptedProxySshServerCaPrivateKey").notNullable();
t.binary("encryptedProxySshServerCaPublicKey").notNullable();
// Org-scoped relay SSH (client + server)
t.binary("encryptedRelaySshClientCaPrivateKey").notNullable();
t.binary("encryptedRelaySshClientCaPublicKey").notNullable();
t.binary("encryptedRelaySshServerCaPrivateKey").notNullable();
t.binary("encryptedRelaySshServerCaPublicKey").notNullable();
});
await createOnUpdateTrigger(knex, TableName.OrgProxyConfig);
await createOnUpdateTrigger(knex, TableName.OrgRelayConfig);
}
if (!(await knex.schema.hasTable(TableName.OrgGatewayConfigV2))) {
@@ -87,8 +87,8 @@ export async function up(knex: Knex): Promise<void> {
await createOnUpdateTrigger(knex, TableName.OrgGatewayConfigV2);
}
if (!(await knex.schema.hasTable(TableName.Proxy))) {
await knex.schema.createTable(TableName.Proxy, (t) => {
if (!(await knex.schema.hasTable(TableName.Relay))) {
await knex.schema.createTable(TableName.Relay, (t) => {
t.uuid("id", { primaryKey: true }).defaultTo(knex.fn.uuid());
t.timestamps(true, true, true);
@@ -102,7 +102,7 @@ export async function up(knex: Knex): Promise<void> {
t.string("ip").notNullable();
});
await createOnUpdateTrigger(knex, TableName.Proxy);
await createOnUpdateTrigger(knex, TableName.Relay);
}
if (!(await knex.schema.hasTable(TableName.GatewayV2))) {
@@ -116,8 +116,8 @@ export async function up(knex: Knex): Promise<void> {
t.uuid("identityId").notNullable().unique();
t.foreign("identityId").references("id").inTable(TableName.Identity).onDelete("CASCADE");
t.uuid("proxyId");
t.foreign("proxyId").references("id").inTable(TableName.Proxy).onDelete("SET NULL");
t.uuid("relayId");
t.foreign("relayId").references("id").inTable(TableName.Relay).onDelete("SET NULL");
t.string("name").notNullable().unique();
@@ -129,11 +129,11 @@ export async function up(knex: Knex): Promise<void> {
}
export async function down(knex: Knex): Promise<void> {
await dropOnUpdateTrigger(knex, TableName.OrgProxyConfig);
await knex.schema.dropTableIfExists(TableName.OrgProxyConfig);
await dropOnUpdateTrigger(knex, TableName.OrgRelayConfig);
await knex.schema.dropTableIfExists(TableName.OrgRelayConfig);
await dropOnUpdateTrigger(knex, TableName.InstanceProxyConfig);
await knex.schema.dropTableIfExists(TableName.InstanceProxyConfig);
await dropOnUpdateTrigger(knex, TableName.InstanceRelayConfig);
await knex.schema.dropTableIfExists(TableName.InstanceRelayConfig);
await dropOnUpdateTrigger(knex, TableName.OrgGatewayConfigV2);
await knex.schema.dropTableIfExists(TableName.OrgGatewayConfigV2);
@@ -141,6 +141,6 @@ export async function down(knex: Knex): Promise<void> {
await dropOnUpdateTrigger(knex, TableName.GatewayV2);
await knex.schema.dropTableIfExists(TableName.GatewayV2);
await dropOnUpdateTrigger(knex, TableName.Proxy);
await knex.schema.dropTableIfExists(TableName.Proxy);
await dropOnUpdateTrigger(knex, TableName.Relay);
await knex.schema.dropTableIfExists(TableName.Relay);
}