@superblocksteam/shared 0.9598.2 → 0.9600.0

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 (56) hide show
  1. package/dist/database-lifecycle/index.d.ts +26 -2
  2. package/dist/database-lifecycle/index.d.ts.map +1 -1
  3. package/dist/database-lifecycle/index.js +122 -3
  4. package/dist/database-lifecycle/index.js.map +1 -1
  5. package/dist/database-lifecycle/index.test.js +90 -6
  6. package/dist/database-lifecycle/index.test.js.map +1 -1
  7. package/dist/plugins/templates/postgres.d.ts.map +1 -1
  8. package/dist/plugins/templates/postgres.js +164 -1
  9. package/dist/plugins/templates/postgres.js.map +1 -1
  10. package/dist/plugins/templates/postgres.test.d.ts +2 -0
  11. package/dist/plugins/templates/postgres.test.d.ts.map +1 -0
  12. package/dist/plugins/templates/postgres.test.js +224 -0
  13. package/dist/plugins/templates/postgres.test.js.map +1 -0
  14. package/dist/types/datasource/auth.d.ts +4 -0
  15. package/dist/types/datasource/auth.d.ts.map +1 -1
  16. package/dist/types/datasource/auth.js +6 -1
  17. package/dist/types/datasource/auth.js.map +1 -1
  18. package/dist/types/datasource/index.d.ts +104 -3
  19. package/dist/types/datasource/index.d.ts.map +1 -1
  20. package/dist/types/datasource/index.js.map +1 -1
  21. package/dist/types/deployment/deployQueueStatus.d.ts +3 -1
  22. package/dist/types/deployment/deployQueueStatus.d.ts.map +1 -1
  23. package/dist/types/deployment/deployQueueStatus.js +2 -0
  24. package/dist/types/deployment/deployQueueStatus.js.map +1 -1
  25. package/dist-esm/database-lifecycle/index.d.ts +26 -2
  26. package/dist-esm/database-lifecycle/index.d.ts.map +1 -1
  27. package/dist-esm/database-lifecycle/index.js +117 -2
  28. package/dist-esm/database-lifecycle/index.js.map +1 -1
  29. package/dist-esm/database-lifecycle/index.test.js +91 -7
  30. package/dist-esm/database-lifecycle/index.test.js.map +1 -1
  31. package/dist-esm/plugins/templates/postgres.d.ts.map +1 -1
  32. package/dist-esm/plugins/templates/postgres.js +165 -2
  33. package/dist-esm/plugins/templates/postgres.js.map +1 -1
  34. package/dist-esm/plugins/templates/postgres.test.d.ts +2 -0
  35. package/dist-esm/plugins/templates/postgres.test.d.ts.map +1 -0
  36. package/dist-esm/plugins/templates/postgres.test.js +222 -0
  37. package/dist-esm/plugins/templates/postgres.test.js.map +1 -0
  38. package/dist-esm/types/datasource/auth.d.ts +4 -0
  39. package/dist-esm/types/datasource/auth.d.ts.map +1 -1
  40. package/dist-esm/types/datasource/auth.js +5 -0
  41. package/dist-esm/types/datasource/auth.js.map +1 -1
  42. package/dist-esm/types/datasource/index.d.ts +104 -3
  43. package/dist-esm/types/datasource/index.d.ts.map +1 -1
  44. package/dist-esm/types/datasource/index.js.map +1 -1
  45. package/dist-esm/types/deployment/deployQueueStatus.d.ts +3 -1
  46. package/dist-esm/types/deployment/deployQueueStatus.d.ts.map +1 -1
  47. package/dist-esm/types/deployment/deployQueueStatus.js +2 -0
  48. package/dist-esm/types/deployment/deployQueueStatus.js.map +1 -1
  49. package/package.json +1 -1
  50. package/src/database-lifecycle/index.test.ts +107 -6
  51. package/src/database-lifecycle/index.ts +153 -10
  52. package/src/plugins/templates/postgres.test.ts +231 -0
  53. package/src/plugins/templates/postgres.ts +166 -2
  54. package/src/types/datasource/auth.ts +5 -0
  55. package/src/types/datasource/index.ts +115 -3
  56. package/src/types/deployment/deployQueueStatus.ts +3 -1
@@ -6,9 +6,15 @@ export declare const LIFECYCLE_OPERATIONS: readonly ["ensure_database", "migrate
6
6
  export declare const LIFECYCLE_ENVIRONMENTS: readonly ["edit", "preview", "deployed"];
7
7
  export declare const DATABASE_ENGINES: readonly ["postgres", "snowflake", "snowflake_postgres", "lakebase"];
8
8
  export declare const DATABASE_LIFECYCLE_MANAGED_BY = "database_lifecycle";
9
+ export declare const NATIVE_DB_AUTH_DESCRIPTOR_VERSION: 1;
10
+ export declare const NATIVE_DB_CONNECTOR_ROLE_NAME_PREFIX = "superblocks-native-db-connector";
11
+ export declare const NATIVE_DB_IAM_AUTH_MODE: "aws_iam_role";
12
+ export declare const NATIVE_DB_IDENTIFIER_HASH_DOMAIN = "superblocks-native-db:v1";
13
+ export declare const DATABASE_LIFECYCLE_CAPABILITY_MANAGED_IAM_V1 = "managed-IAM-v1";
9
14
  export declare const DATABASE_LIFECYCLE_TAG_OPERATIONS = "databaseLifecycle:operations";
10
15
  export declare const DATABASE_LIFECYCLE_TAG_ENGINES = "databaseLifecycle:engines";
11
16
  export declare const DATABASE_LIFECYCLE_TAG_ENVIRONMENT_PROFILES = "databaseLifecycle:environmentProfiles";
17
+ export declare const DATABASE_LIFECYCLE_TAG_CAPABILITIES = "databaseLifecycle:capabilities";
12
18
  export type LifecycleEnvironment = (typeof LIFECYCLE_ENVIRONMENTS)[number];
13
19
  export type DatabaseEngine = (typeof DATABASE_ENGINES)[number];
14
20
  export type LifecycleOperation = (typeof LIFECYCLE_OPERATIONS)[number];
@@ -24,6 +30,20 @@ export type CredentialRef = {
24
30
  ref: string;
25
31
  field?: string;
26
32
  };
33
+ export type NativeDbIamDescriptor = {
34
+ application_id: string;
35
+ auth_descriptor_version: typeof NATIVE_DB_AUTH_DESCRIPTOR_VERSION;
36
+ auth_mode: typeof NATIVE_DB_IAM_AUTH_MODE;
37
+ aws_account_id: string;
38
+ binding_id: string;
39
+ cluster_resource_id: string;
40
+ connector_role_arn: string;
41
+ database: string;
42
+ host: string;
43
+ port: number;
44
+ region: string;
45
+ username: string;
46
+ };
27
47
  export type DatabaseRequirement = {
28
48
  logicalName: string;
29
49
  engine: DatabaseEngine;
@@ -93,6 +113,8 @@ export type LifecycleDispatchContinuation = {
93
113
  reservationId?: string;
94
114
  };
95
115
  export type LifecycleDispatchPayload = {
116
+ applicationId: string;
117
+ bindingId: string;
96
118
  bindingKey: string;
97
119
  connectionMetadata?: Record<string, string | number | boolean>;
98
120
  continuation?: LifecycleDispatchContinuation;
@@ -113,15 +135,17 @@ export declare function computeBindingKey(input: {
113
135
  applicationId: string;
114
136
  environment: LifecycleEnvironment;
115
137
  profile: string;
116
- requirementKey: string;
117
138
  }): string;
118
139
  export declare function computeLegacyBindingKeyWithoutOrganization(input: {
119
140
  applicationId: string;
120
141
  environment: LifecycleEnvironment;
121
142
  profile: string;
122
- requirementKey: string;
123
143
  }): string;
124
144
  export declare function computeDesiredSpecHash(requirement: DatabaseRequirement): Promise<string>;
145
+ export declare function nativeDbIamSessionPolicy(descriptor: NativeDbIamDescriptor): string;
146
+ export declare function parseNativeDbIamDescriptor(value: unknown): NativeDbIamDescriptor | undefined;
147
+ export declare function computeNativeDbApplicationToken(trustedApplicationId: string): Promise<string>;
148
+ export declare function computeNativeDbDatabaseName(deploymentToken: string, trustedDatabaseId: string): Promise<string>;
125
149
  export declare function computeResourceKey(input: {
126
150
  organizationId: string;
127
151
  applicationId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/database-lifecycle/index.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,yBAAyB,2CAA4C,CAAC;AACnF,eAAO,MAAM,6BAA6B,+DAAgE,CAAC;AAC3G,eAAO,MAAM,gBAAgB,+FAA4E,CAAC;AAC1G,eAAO,MAAM,0BAA0B,4CAA6C,CAAC;AAKrF,eAAO,MAAM,oBAAoB,mEAAoE,CAAC;AAKtG,eAAO,MAAM,sBAAsB,0CAA2C,CAAC;AAC/E,eAAO,MAAM,gBAAgB,sEAAuE,CAAC;AACrG,eAAO,MAAM,6BAA6B,uBAAuB,CAAC;AAUlE,eAAO,MAAM,iCAAiC,iCAAiC,CAAC;AAChF,eAAO,MAAM,8BAA8B,8BAA8B,CAAC;AAC1E,eAAO,MAAM,2CAA2C,0CAA0C,CAAC;AAEnG,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC3E,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/D,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AACvE,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAChF,MAAM,MAAM,yBAAyB,GAAG,CAAC,OAAO,6BAA6B,CAAC,CAAC,MAAM,CAAC,CAAC;AACvF,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/D,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC;AAElF,MAAM,MAAM,kBAAkB,GAC1B,iCAAiC,GACjC,gBAAgB,GAChB,gBAAgB,GAChB,8BAA8B,GAC9B,kBAAkB,GAClB,kBAAkB,GAClB,iBAAiB,GAKjB,gBAAgB,CAAC;AAErB,eAAO,MAAM,oBAAoB,mGAAoG,CAAC;AACtI,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvE,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,oBAAoB,CAAC;IAIlC,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,uBAAuB,CAAC;CACzC,CAAC;AAKF,MAAM,MAAM,oBAAoB,GAAG,mBAAmB,GAAG;IACvD,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IAC9D,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CAC/C,CAAC;AAKF,MAAM,MAAM,yBAAyB,GAAG,mBAAmB,GAAG;IAC5D,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACjD,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IAC/D,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,oBAAoB,GAAG,yBAAyB,CAAC;AAE/E,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,IAAI,oBAAoB,CAEhG;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,kBAAkB,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,cAAc,CAAC;CACvB,CAAC;AAOF,eAAO,MAAM,mCAAmC,4CAA6C,CAAC;AAC9F,MAAM,MAAM,8BAA8B,GAAG,CAAC,OAAO,mCAAmC,CAAC,CAAC,MAAM,CAAC,CAAC;AAElG,MAAM,MAAM,wBAAwB,GAAG;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,oBAAoB,CAAC;IAClC,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB,EAAE,aAAa,CAAC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,8BAA8B,CAAC;IACvC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,OAAO,CAAC,EAAE,IAAI,CAAC;CAChB,CAAC;AAQF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAiBF,MAAM,MAAM,wBAAwB,GAAG;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IAC/D,YAAY,CAAC,EAAE,6BAA6B,CAAC;IAC7C,WAAW,EAAE,mBAAmB,CAAC;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,oBAAoB,CAAC;IAClC,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAClC,SAAS,EAAE,kBAAkB,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACtD,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACzD,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,IAAI,CAAC,mBAAmB,EAAE,aAAa,GAAG,QAAQ,CAAC,GAAG,MAAM,CAE9G;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACvC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,oBAAoB,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CACxB,GAAG,MAAM,CAET;AAED,wBAAgB,0CAA0C,CAAC,KAAK,EAAE;IAChE,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,oBAAoB,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CACxB,GAAG,MAAM,CAET;AAWD,wBAAsB,sBAAsB,CAAC,WAAW,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAE9F;AAOD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,oBAAoB,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,MAAM,CAST;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,cAAc,GAAG,KAAK,IAAI,sBAAsB,CAE/F;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAErD;AA8DD,eAAO,MAAM,kBAAkB,QAA+C,CAAC;AAK/E,eAAO,MAAM,8BAA8B,gIAYjC,CAAC;AAEX,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAWjE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/database-lifecycle/index.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CREDENTIAL_BEARING_DSN_SCHEMES = exports.SECRET_KEY_PATTERN = exports.PHYSICAL_DATABASE_INSTANCE_STATUSES = exports.CREDENTIAL_RESOLVERS = exports.DATABASE_LIFECYCLE_TAG_ENVIRONMENT_PROFILES = exports.DATABASE_LIFECYCLE_TAG_ENGINES = exports.DATABASE_LIFECYCLE_TAG_OPERATIONS = exports.DATABASE_LIFECYCLE_MANAGED_BY = exports.DATABASE_ENGINES = exports.LIFECYCLE_ENVIRONMENTS = exports.LIFECYCLE_OPERATIONS = exports.LIFECYCLE_MIGRATION_STATES = exports.LIFECYCLE_STATES = exports.LIFECYCLE_NON_TERMINAL_STATES = exports.LIFECYCLE_TERMINAL_STATES = void 0;
3
+ exports.CREDENTIAL_BEARING_DSN_SCHEMES = exports.SECRET_KEY_PATTERN = exports.PHYSICAL_DATABASE_INSTANCE_STATUSES = exports.CREDENTIAL_RESOLVERS = exports.DATABASE_LIFECYCLE_TAG_CAPABILITIES = exports.DATABASE_LIFECYCLE_TAG_ENVIRONMENT_PROFILES = exports.DATABASE_LIFECYCLE_TAG_ENGINES = exports.DATABASE_LIFECYCLE_TAG_OPERATIONS = exports.DATABASE_LIFECYCLE_CAPABILITY_MANAGED_IAM_V1 = exports.NATIVE_DB_IDENTIFIER_HASH_DOMAIN = exports.NATIVE_DB_IAM_AUTH_MODE = exports.NATIVE_DB_CONNECTOR_ROLE_NAME_PREFIX = exports.NATIVE_DB_AUTH_DESCRIPTOR_VERSION = exports.DATABASE_LIFECYCLE_MANAGED_BY = exports.DATABASE_ENGINES = exports.LIFECYCLE_ENVIRONMENTS = exports.LIFECYCLE_OPERATIONS = exports.LIFECYCLE_MIGRATION_STATES = exports.LIFECYCLE_STATES = exports.LIFECYCLE_NON_TERMINAL_STATES = exports.LIFECYCLE_TERMINAL_STATES = void 0;
4
4
  exports.isReadyDatabaseBinding = isReadyDatabaseBinding;
5
5
  exports.computeRequirementKey = computeRequirementKey;
6
6
  exports.computeBindingKey = computeBindingKey;
7
7
  exports.computeLegacyBindingKeyWithoutOrganization = computeLegacyBindingKeyWithoutOrganization;
8
8
  exports.computeDesiredSpecHash = computeDesiredSpecHash;
9
+ exports.nativeDbIamSessionPolicy = nativeDbIamSessionPolicy;
10
+ exports.parseNativeDbIamDescriptor = parseNativeDbIamDescriptor;
11
+ exports.computeNativeDbApplicationToken = computeNativeDbApplicationToken;
12
+ exports.computeNativeDbDatabaseName = computeNativeDbDatabaseName;
9
13
  exports.computeResourceKey = computeResourceKey;
10
14
  exports.isTerminalLifecycleState = isTerminalLifecycleState;
11
15
  exports.redactLifecycleSecrets = redactLifecycleSecrets;
@@ -28,6 +32,11 @@ exports.LIFECYCLE_OPERATIONS = ['ensure_database', 'migrate_schema', 'retire_dat
28
32
  exports.LIFECYCLE_ENVIRONMENTS = ['edit', 'preview', 'deployed'];
29
33
  exports.DATABASE_ENGINES = ['postgres', 'snowflake', 'snowflake_postgres', 'lakebase'];
30
34
  exports.DATABASE_LIFECYCLE_MANAGED_BY = 'database_lifecycle';
35
+ exports.NATIVE_DB_AUTH_DESCRIPTOR_VERSION = 1;
36
+ exports.NATIVE_DB_CONNECTOR_ROLE_NAME_PREFIX = 'superblocks-native-db-connector';
37
+ exports.NATIVE_DB_IAM_AUTH_MODE = 'aws_iam_role';
38
+ exports.NATIVE_DB_IDENTIFIER_HASH_DOMAIN = 'superblocks-native-db:v1';
39
+ exports.DATABASE_LIFECYCLE_CAPABILITY_MANAGED_IAM_V1 = 'managed-IAM-v1';
31
40
  // Agent capability tag keys. A lifecycle worker publishes these in the
32
41
  // `tags` map of its agent registration (merged into — never replacing — the
33
42
  // tag map the agent already publishes; the existing `profile` tag carries
@@ -39,6 +48,7 @@ exports.DATABASE_LIFECYCLE_MANAGED_BY = 'database_lifecycle';
39
48
  exports.DATABASE_LIFECYCLE_TAG_OPERATIONS = 'databaseLifecycle:operations';
40
49
  exports.DATABASE_LIFECYCLE_TAG_ENGINES = 'databaseLifecycle:engines';
41
50
  exports.DATABASE_LIFECYCLE_TAG_ENVIRONMENT_PROFILES = 'databaseLifecycle:environmentProfiles';
51
+ exports.DATABASE_LIFECYCLE_TAG_CAPABILITIES = 'databaseLifecycle:capabilities';
42
52
  exports.CREDENTIAL_RESOLVERS = ['opa_local', 'aws_secrets_manager', 'gcp_secret_manager', 'vault', 'kubernetes_secret'];
43
53
  function isReadyDatabaseBinding(binding) {
44
54
  return binding.lifecycleState === 'ready';
@@ -52,6 +62,13 @@ exports.PHYSICAL_DATABASE_INSTANCE_STATUSES = ['active', 'draining', 'retired'];
52
62
  function computeRequirementKey(requirement) {
53
63
  return `${slugify(requirement.logicalName)}~${encodeURIComponent(requirement.logicalName)}:${requirement.engine}`;
54
64
  }
65
+ // binding_key is the product identity of a database in the control plane, and
66
+ // is deliberately scoped to (organization, application, environment, profile)
67
+ // only — NOT the logical name. This is what makes "one database per profile"
68
+ // enforceable by the plain UNIQUE (binding_key) constraint: asking for another
69
+ // database under a different logical name resolves to the same binding_key
70
+ // instead of minting a new one. The logical name still lives on the binding row
71
+ // and in resource_key (physical identity); it just doesn't grant a second slot.
55
72
  function computeBindingKey(input) {
56
73
  return [input.organizationId, ...bindingKeySegments(input)].join(':');
57
74
  }
@@ -59,10 +76,94 @@ function computeLegacyBindingKeyWithoutOrganization(input) {
59
76
  return bindingKeySegments(input).join(':');
60
77
  }
61
78
  function bindingKeySegments(input) {
62
- return [input.applicationId, input.environment, `${slugify(input.profile)}~${encodeURIComponent(input.profile)}`, input.requirementKey];
79
+ return [input.applicationId, input.environment, `${slugify(input.profile)}~${encodeURIComponent(input.profile)}`];
63
80
  }
81
+ // Hashes only the infrastructure spec. migrationDirectory is deliberately
82
+ // excluded: it says where the SQL files live, not what database to provision,
83
+ // so changing it must not make a ready binding look drifted and re-dispatch
84
+ // ensure_database. Callers that persist the requirement must still rewrite
85
+ // desiredSpec when migrationDirectory changes (same hash is not "no-op").
86
+ // Specs without a migrationDirectory keep their existing hash.
64
87
  async function computeDesiredSpecHash(requirement) {
65
- return await (0, hashing_js_1.sha256Base64)(JSON.stringify(canonicalize(requirement)));
88
+ const infrastructureSpec = { ...requirement };
89
+ delete infrastructureSpec.migrationDirectory;
90
+ return await (0, hashing_js_1.sha256Base64)(JSON.stringify(canonicalize(infrastructureSpec)));
91
+ }
92
+ function nativeDbIamSessionPolicy(descriptor) {
93
+ return JSON.stringify({
94
+ Version: '2012-10-17',
95
+ Statement: [
96
+ {
97
+ Sid: 'ConnectToThisNativeDatabaseUser',
98
+ Effect: 'Allow',
99
+ Action: 'rds-db:connect',
100
+ Resource: `arn:aws:rds-db:${descriptor.region}:${descriptor.aws_account_id}:dbuser:${descriptor.cluster_resource_id}/${descriptor.username}`
101
+ }
102
+ ]
103
+ });
104
+ }
105
+ function parseNativeDbIamDescriptor(value) {
106
+ if (!isUnknownRecord(value)) {
107
+ return undefined;
108
+ }
109
+ const databaseIdentifier = typeof value.database === 'string' ? /^sbndb_([0-9a-f]{12})_([0-9a-f]{24})$/.exec(value.database) : null;
110
+ const usernameIdentifier = typeof value.username === 'string' ? /^sbndb_([0-9a-f]{12})_([0-9a-f]{24})_runtime$/.exec(value.username) : null;
111
+ const connectorRoleArn = typeof value.connector_role_arn === 'string'
112
+ ? /^arn:aws:iam::(\d{12}):role\/(?:[\w+=,.@-]+\/)*[\w+=,.@-]+$/.exec(value.connector_role_arn)
113
+ : null;
114
+ if (!isNonEmptyString(value.application_id) ||
115
+ value.auth_descriptor_version !== exports.NATIVE_DB_AUTH_DESCRIPTOR_VERSION ||
116
+ value.auth_mode !== exports.NATIVE_DB_IAM_AUTH_MODE ||
117
+ !isNonEmptyString(value.aws_account_id) ||
118
+ !/^\d{12}$/.test(value.aws_account_id) ||
119
+ !isNonEmptyString(value.binding_id) ||
120
+ !isNonEmptyString(value.cluster_resource_id) ||
121
+ !/^(cluster|db)-[A-Za-z0-9-]+$/.test(value.cluster_resource_id) ||
122
+ !connectorRoleArn ||
123
+ connectorRoleArn[1] !== value.aws_account_id ||
124
+ !databaseIdentifier ||
125
+ !usernameIdentifier ||
126
+ databaseIdentifier[1] !== usernameIdentifier[1] ||
127
+ !isValidNativeDbRdsHostname(value.host, value.region) ||
128
+ typeof value.port !== 'number' ||
129
+ !Number.isInteger(value.port) ||
130
+ value.port < 1 ||
131
+ value.port > 65535 ||
132
+ !isCommercialAwsRegion(value.region)) {
133
+ return undefined;
134
+ }
135
+ return {
136
+ application_id: value.application_id,
137
+ auth_descriptor_version: exports.NATIVE_DB_AUTH_DESCRIPTOR_VERSION,
138
+ auth_mode: exports.NATIVE_DB_IAM_AUTH_MODE,
139
+ aws_account_id: value.aws_account_id,
140
+ binding_id: value.binding_id,
141
+ cluster_resource_id: value.cluster_resource_id,
142
+ connector_role_arn: connectorRoleArn[0],
143
+ database: databaseIdentifier[0],
144
+ host: value.host,
145
+ port: value.port,
146
+ region: value.region,
147
+ username: usernameIdentifier[0]
148
+ };
149
+ }
150
+ async function computeNativeDbApplicationToken(trustedApplicationId) {
151
+ return (await computeNativeDbIdentifierToken('application', trustedApplicationId)).slice(0, 24);
152
+ }
153
+ async function computeNativeDbDatabaseName(deploymentToken, trustedDatabaseId) {
154
+ if (!/^[0-9a-f]{12}$/.test(deploymentToken)) {
155
+ throw new Error('Native database deployment token must be 12 lowercase hexadecimal characters');
156
+ }
157
+ return `sbndb_${deploymentToken}_${(await computeNativeDbIdentifierToken('database', trustedDatabaseId)).slice(0, 24)}`;
158
+ }
159
+ async function computeNativeDbIdentifierToken(kind, trustedId) {
160
+ if (!isNonEmptyString(trustedId)) {
161
+ throw new Error(`Trusted native database ${kind} ID must be a non-empty string`);
162
+ }
163
+ const digest = await crypto.subtle.digest('SHA-256', new TextEncoder().encode(`${exports.NATIVE_DB_IDENTIFIER_HASH_DOMAIN}:${kind}:${trustedId}`));
164
+ return Array.from(new Uint8Array(digest))
165
+ .map((byte) => byte.toString(16).padStart(2, '0'))
166
+ .join('');
66
167
  }
67
168
  // resource_key identifies the physical resource a binding maps to in
68
169
  // customer infrastructure, and is the unit of locking inside the lifecycle
@@ -113,6 +214,24 @@ function codepointCompare(left, right) {
113
214
  }
114
215
  return 0;
115
216
  }
217
+ function isCommercialAwsRegion(value) {
218
+ return typeof value === 'string' && /^[a-z]{2}-[a-z]+-[0-9]+$/.test(value) && !value.startsWith('cn-') && !value.startsWith('us-gov-');
219
+ }
220
+ function isNonEmptyString(value) {
221
+ return typeof value === 'string' && value.trim().length > 0;
222
+ }
223
+ function isUnknownRecord(value) {
224
+ return value !== null && typeof value === 'object' && !Array.isArray(value);
225
+ }
226
+ function isValidNativeDbRdsHostname(host, region) {
227
+ if (typeof host !== 'string' || typeof region !== 'string') {
228
+ return false;
229
+ }
230
+ const suffix = `.${region}.rds.amazonaws.com`;
231
+ const prefix = host.endsWith(suffix) ? host.slice(0, -suffix.length) : '';
232
+ const validLabel = /^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$/;
233
+ return host.length <= 253 && host === host.toLowerCase() && prefix !== '' && host.split('.').every((label) => validLabel.test(label));
234
+ }
116
235
  function redact(value, preserveCredentialRefs = false) {
117
236
  if (Array.isArray(value)) {
118
237
  return value.map((entry) => redact(entry, preserveCredentialRefs));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/database-lifecycle/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/database-lifecycle/index.ts"],"names":[],"mappings":"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"}
@@ -17,23 +17,40 @@ const index_js_1 = require("./index.js");
17
17
  (0, vitest_1.expect)((0, index_js_1.computeRequirementKey)(requirement)).toBe('orders-db~Orders%20DB:postgres');
18
18
  (0, vitest_1.expect)((0, index_js_1.computeRequirementKey)({ logicalName: 'orders/db', engine: 'postgres' })).toBe('orders-db~orders%2Fdb:postgres');
19
19
  (0, vitest_1.expect)((0, index_js_1.computeRequirementKey)({ logicalName: 'orders-db', engine: 'postgres' })).toBe('orders-db~orders-db:postgres');
20
+ // binding_key excludes the logical name on purpose: one database per
21
+ // (organization, application, environment, profile). Two different logical
22
+ // names under the same profile resolve to the same binding_key.
20
23
  (0, vitest_1.expect)((0, index_js_1.computeBindingKey)({
21
24
  organizationId: 'org-1',
22
25
  applicationId: 'app-1',
23
26
  environment: 'edit',
24
- profile: 'Staging EU',
25
- requirementKey: 'orders-db~Orders%20DB:postgres'
26
- })).toBe('org-1:app-1:edit:staging-eu~Staging%20EU:orders-db~Orders%20DB:postgres');
27
+ profile: 'Staging EU'
28
+ })).toBe('org-1:app-1:edit:staging-eu~Staging%20EU');
27
29
  (0, vitest_1.expect)((0, index_js_1.computeBindingKey)({
28
30
  organizationId: 'org-1',
29
31
  applicationId: 'app-1',
30
32
  environment: 'edit',
31
- profile: 'staging',
32
- requirementKey: 'orders-db~Orders%20DB:postgres'
33
- })).toBe('org-1:app-1:edit:staging~staging:orders-db~Orders%20DB:postgres');
33
+ profile: 'staging'
34
+ })).toBe('org-1:app-1:edit:staging~staging');
34
35
  await (0, vitest_1.expect)((0, index_js_1.computeDesiredSpecHash)(requirement)).resolves.toBe(await (0, index_js_1.computeDesiredSpecHash)({ ...requirement, extensions: ['uuid-ossp', 'pgcrypto'] }));
35
36
  await (0, vitest_1.expect)((0, index_js_1.computeDesiredSpecHash)(requirement)).resolves.toBe('QsCl6RVzJVEwf4Nuk0D27rRtycYe2vQZMxcXLt9WUkQ=');
36
37
  });
38
+ (0, vitest_1.test)('ignores migrationDirectory when hashing the desired spec', async () => {
39
+ const infrastructureSpec = {
40
+ logicalName: 'Orders DB',
41
+ engine: 'postgres',
42
+ version: '16',
43
+ sizing: { storageGb: 20, tier: 'shared' },
44
+ extensions: ['pgcrypto', 'uuid-ossp']
45
+ };
46
+ const withoutDirectory = await (0, index_js_1.computeDesiredSpecHash)(infrastructureSpec);
47
+ const withDirectory = await (0, index_js_1.computeDesiredSpecHash)({ ...infrastructureSpec, migrationDirectory: 'db/migrations' });
48
+ const withOtherDirectory = await (0, index_js_1.computeDesiredSpecHash)({ ...infrastructureSpec, migrationDirectory: 'db/other-migrations' });
49
+ // migrationDirectory only says where the SQL files live, not what
50
+ // infrastructure to provision, so changing it must not look like drift.
51
+ (0, vitest_1.expect)(withDirectory).toBe(withoutDirectory);
52
+ (0, vitest_1.expect)(withOtherDirectory).toBe(withoutDirectory);
53
+ });
37
54
  (0, vitest_1.test)('hashes desired specs with locale-invariant ordering', async () => {
38
55
  const first = await (0, index_js_1.computeDesiredSpecHash)({
39
56
  logicalName: 'Éclair DB',
@@ -106,5 +123,72 @@ const index_js_1 = require("./index.js");
106
123
  (0, vitest_1.expect)((0, index_js_1.containsCredentialMaterial)('host=db.internal port=5432')).toBe(false);
107
124
  (0, vitest_1.expect)((0, index_js_1.containsCredentialMaterial)('arn:aws:secretsmanager:us-east-1:123:secret:orders')).toBe(false);
108
125
  });
126
+ (0, vitest_1.test)('builds a canonical session policy from a valid managed Postgres IAM descriptor', () => {
127
+ const descriptor = (0, index_js_1.parseNativeDbIamDescriptor)({
128
+ application_id: 'application-id',
129
+ auth_descriptor_version: 1,
130
+ auth_mode: 'aws_iam_role',
131
+ aws_account_id: '123456789012',
132
+ binding_id: 'binding-id',
133
+ cluster_resource_id: 'cluster-ABC123DEF456EXAMPLE',
134
+ connector_role_arn: 'arn:aws:iam::123456789012:role/superblocks-native-db-connector-prod',
135
+ database: 'sbndb_abcdef123456_0123456789abcdef01234567',
136
+ host: 'native-db.cluster-example.us-west-2.rds.amazonaws.com',
137
+ port: 5432,
138
+ region: 'us-west-2',
139
+ username: 'sbndb_abcdef123456_7bfeae1170db923274f1943f_runtime'
140
+ });
141
+ (0, vitest_1.expect)(descriptor).toBeDefined();
142
+ if (!descriptor) {
143
+ throw new Error('Expected a valid IAM descriptor');
144
+ }
145
+ (0, vitest_1.expect)((0, index_js_1.nativeDbIamSessionPolicy)(descriptor)).toBe('{"Version":"2012-10-17","Statement":[{"Sid":"ConnectToThisNativeDatabaseUser","Effect":"Allow","Action":"rds-db:connect","Resource":"arn:aws:rds-db:us-west-2:123456789012:dbuser:cluster-ABC123DEF456EXAMPLE/sbndb_abcdef123456_7bfeae1170db923274f1943f_runtime"}]}');
146
+ });
147
+ (0, vitest_1.test)('rejects malformed or non-commercial managed Postgres IAM descriptors', () => {
148
+ const descriptor = {
149
+ application_id: 'application-id',
150
+ auth_descriptor_version: 1,
151
+ auth_mode: 'aws_iam_role',
152
+ aws_account_id: '123456789012',
153
+ binding_id: 'binding-id',
154
+ cluster_resource_id: 'cluster-ABC123DEF456EXAMPLE',
155
+ connector_role_arn: 'arn:aws:iam::123456789012:role/superblocks-native-db-connector-prod',
156
+ database: 'sbndb_abcdef123456_0123456789abcdef01234567',
157
+ host: 'native-db.cluster-example.us-west-2.rds.amazonaws.com',
158
+ port: 5432,
159
+ region: 'us-west-2',
160
+ username: 'sbndb_abcdef123456_7bfeae1170db923274f1943f_runtime'
161
+ };
162
+ (0, vitest_1.expect)((0, index_js_1.parseNativeDbIamDescriptor)({ ...descriptor, auth_descriptor_version: 2 })).toBeUndefined();
163
+ (0, vitest_1.expect)((0, index_js_1.parseNativeDbIamDescriptor)({ ...descriptor, cluster_resource_id: 'not-an-rds-resource' })).toBeUndefined();
164
+ (0, vitest_1.expect)((0, index_js_1.parseNativeDbIamDescriptor)({ ...descriptor, connector_role_arn: 'arn:aws:iam::210987654321:role/other' })).toBeUndefined();
165
+ (0, vitest_1.expect)((0, index_js_1.parseNativeDbIamDescriptor)({ ...descriptor, database: 'orders' })).toBeUndefined();
166
+ (0, vitest_1.expect)((0, index_js_1.parseNativeDbIamDescriptor)({ ...descriptor, host: descriptor.host.toUpperCase() })).toBeUndefined();
167
+ (0, vitest_1.expect)((0, index_js_1.parseNativeDbIamDescriptor)({ ...descriptor, host: 'native-db.cluster-example.us-east-1.rds.amazonaws.com' })).toBeUndefined();
168
+ (0, vitest_1.expect)((0, index_js_1.parseNativeDbIamDescriptor)({ ...descriptor, port: 0 })).toBeUndefined();
169
+ (0, vitest_1.expect)((0, index_js_1.parseNativeDbIamDescriptor)({ ...descriptor, region: 'cn-north-1' })).toBeUndefined();
170
+ (0, vitest_1.expect)((0, index_js_1.parseNativeDbIamDescriptor)({ ...descriptor, region: 'us-gov-west-1' })).toBeUndefined();
171
+ (0, vitest_1.expect)((0, index_js_1.parseNativeDbIamDescriptor)({ ...descriptor, username: 'sbndb_000000000000_7bfeae1170db923274f1943f_runtime' })).toBeUndefined();
172
+ });
173
+ (0, vitest_1.test)('accepts standalone RDS IAM resource IDs', () => {
174
+ (0, vitest_1.expect)((0, index_js_1.parseNativeDbIamDescriptor)({
175
+ application_id: 'application-id',
176
+ auth_descriptor_version: 1,
177
+ auth_mode: 'aws_iam_role',
178
+ aws_account_id: '123456789012',
179
+ binding_id: 'binding-id',
180
+ cluster_resource_id: 'db-ABCDEF0123456789-1',
181
+ connector_role_arn: 'arn:aws:iam::123456789012:role/superblocks-native-db-connector-prod',
182
+ database: 'sbndb_abcdef123456_0123456789abcdef01234567',
183
+ host: 'native-db.example.us-west-2.rds.amazonaws.com',
184
+ port: 5432,
185
+ region: 'us-west-2',
186
+ username: 'sbndb_abcdef123456_7bfeae1170db923274f1943f_runtime'
187
+ })).toBeDefined();
188
+ });
189
+ (0, vitest_1.test)('derives canonical IAM database and runtime-user identity tokens', async () => {
190
+ await (0, vitest_1.expect)((0, index_js_1.computeNativeDbApplicationToken)('application-id')).resolves.toBe('7bfeae1170db923274f1943f');
191
+ await (0, vitest_1.expect)((0, index_js_1.computeNativeDbDatabaseName)('abcdef123456', 'database-id')).resolves.toBe('sbndb_abcdef123456_dad72612f7a80580b028178f');
192
+ });
109
193
  });
110
194
  //# sourceMappingURL=index.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/database-lifecycle/index.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/database-lifecycle/index.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../../src/plugins/templates/postgres.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,MAAM,EAGP,MAAM,sBAAsB,CAAC;AAwG9B,eAAO,MAAM,cAAc,EAAE,MA+jB5B,CAAC"}
1
+ {"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../../src/plugins/templates/postgres.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,MAAM,EAIP,MAAM,sBAAsB,CAAC;AAyG9B,eAAO,MAAM,cAAc,EAAE,MAiuB5B,CAAC"}