asherah 0.4.10-x86_64-linux → 0.5.1-x86_64-linux

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a2364b2a212b8edec112bfb36aad44e09d546517023fd42003cc4be47262c858
4
- data.tar.gz: 18b9c764f1d47f3eb88812dd2236b1d18e7b64ea43160b1acc0d8afbfb0bfa9d
3
+ metadata.gz: 39d8bd0f94f169449eb48cf7e193916e9c3caa625dfab79ed09205a9d867cbb9
4
+ data.tar.gz: 4fef2f1fc21917c1bc2ef93d5d3f7c3320c5cbbd469b7dac864fcbbecfdde306
5
5
  SHA512:
6
- metadata.gz: 006a8912811531b84413490b0a9c385538c23ff529892af63df6340217d24f1ed29bd0490fedc1e3a378185129bb6de609932c73c75490d130a306ad70096113
7
- data.tar.gz: d5b231b6e88cd127233a13be0edc729be2974405379dce8fef25d678625793bbd6520311e4fc36aa8372a6aee4e65f18e4bbbbd80475e3f161fbc770eb25667a
6
+ metadata.gz: e6f748ef53525e13c1fd213173e040ff578f8c954183a2197956f02278d89203428c969fb203da8b99f18b7f3825cb97afa33a8d195b35e4b72d021ba294da45
7
+ data.tar.gz: 411441a57c4cec0fcd3b586023b1a8e6bd63ba1830561b69cb802c691f47adf56d091569deef7303bb331ac494d287d8d5fdc2d6e0d6bad04311f6b282e8a23d
data/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.5.1] - 2023-10-25
4
+
5
+ - Add `sql_metastore_db_type` config option to support PostgresSQL adapter for Asherah
6
+ - Upgrade to use asherah-cobhan v0.4.31
7
+
8
+ ## [0.5.0] - 2023-10-16
9
+
10
+ - Upgrade to use asherah-cobhan v0.4.30
11
+ - Expose `test-debug-static` kms type and `test-debug-memory` metastore type to skip warnings in tests
12
+ - Check initialized flag on setup/shutdown and raise appropriate errors
13
+
3
14
  ## [0.4.10] - 2023-08-10
4
15
 
5
16
  - Upgrade to use asherah-cobhan v0.4.25
data/README.md CHANGED
@@ -45,6 +45,8 @@ Asherah.configure do |config|
45
45
  end
46
46
  ```
47
47
 
48
+ See [config.rb](lib/asherah/config.rb) for all evailable configuration options.
49
+
48
50
  Encrypt some data for a `partition_id`
49
51
 
50
52
  ```ruby
@@ -1,5 +1,5 @@
1
- version: v0.4.25
2
- libasherah-arm64.so: 573d4ac89dc54be952b428e4caa52f00861d67fdd94baf2deb0b37a1e40ea5d1
3
- libasherah-x64.so: 9a976b425edcaa27be84314414747c3d4abc22571c9ae8170f476822c2380716
4
- libasherah-arm64.dylib: 73f60860303af81de5f042d50ef755bbac34bae9f966d654036a259161e03f81
5
- libasherah-x64.dylib: a0e0c5c69278602cd19889df9b86795baf957cdaa4635c413c81d06b59572ec4
1
+ version: v0.4.31
2
+ libasherah-arm64.so: 5fef00afadf6557a41c4c1a6f7e6fc29670898f6b530c7f7bce7b4a2b128bec8
3
+ libasherah-x64.so: 1ccf9dae397b4e375715e0260455108838d7f9fc85768875aeb0cfda826768c6
4
+ libasherah-arm64.dylib: 48ed5d7e992383910c78f5e1933d6aa42bb551b26e959d4c27d41627b6a10132
5
+ libasherah-x64.dylib: 18183fb5fb56423a5a61b162d14316c88a5f8e2b63ac004b686a29825a8f1045
@@ -9,6 +9,7 @@ module Asherah
9
9
  # @attr [String] metastore, The type of metastore for persisting keys (rdbms, dynamodb, memory)
10
10
  # @attr [String] connection_string, The database connection string (required when metastore is rdbms)
11
11
  # @attr [String] replica_read_consistency, For Aurora sessions using write forwarding (eventual, global, session)
12
+ # @attr [String] sql_metastore_db_type, Which SQL driver to use (mysql, postgres, oracle), defaults to mysql
12
13
  # @attr [String] dynamo_db_endpoint, An optional endpoint URL (for dynamodb metastore)
13
14
  # @attr [String] dynamo_db_region, The AWS region for DynamoDB requests (for dynamodb metastore)
14
15
  # @attr [String] dynamo_db_table_name, The table name for DynamoDB (for dynamodb metastore)
@@ -29,6 +30,7 @@ module Asherah
29
30
  metastore: :Metastore,
30
31
  connection_string: :ConnectionString,
31
32
  replica_read_consistency: :ReplicaReadConsistency,
33
+ sql_metastore_db_type: :SQLMetastoreDBType,
32
34
  dynamo_db_endpoint: :DynamoDBEndpoint,
33
35
  dynamo_db_region: :DynamoDBRegion,
34
36
  dynamo_db_table_name: :DynamoDBTableName,
@@ -43,8 +45,9 @@ module Asherah
43
45
  verbose: :Verbose
44
46
  }.freeze
45
47
 
46
- KMS_TYPES = ['static', 'aws'].freeze
47
- METASTORE_TYPES = ['rdbms', 'dynamodb', 'memory'].freeze
48
+ KMS_TYPES = ['static', 'aws', 'test-debug-static'].freeze
49
+ METASTORE_TYPES = ['rdbms', 'dynamodb', 'memory', 'test-debug-memory'].freeze
50
+ SQL_METASTORE_DB_TYPES = ['mysql', 'postgres', 'oracle'].freeze
48
51
 
49
52
  attr_accessor(*MAPPING.keys)
50
53
 
@@ -53,6 +56,7 @@ module Asherah
53
56
  validate_product_id
54
57
  validate_kms
55
58
  validate_metastore
59
+ validate_sql_metastore_db_type
56
60
  validate_kms_attributes
57
61
  end
58
62
 
@@ -91,6 +95,15 @@ module Asherah
91
95
  end
92
96
  end
93
97
 
98
+ def validate_sql_metastore_db_type
99
+ return if sql_metastore_db_type.nil?
100
+
101
+ unless SQL_METASTORE_DB_TYPES.include?(sql_metastore_db_type)
102
+ raise Error::ConfigError,
103
+ "config.sql_metastore_db_type must be one of these: #{SQL_METASTORE_DB_TYPES.join(', ')}"
104
+ end
105
+ end
106
+
94
107
  def validate_kms_attributes
95
108
  if kms == 'aws'
96
109
  raise Error::ConfigError, 'config.region_map not set' if region_map.nil?
Binary file
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Asherah
4
- VERSION = '0.4.10'
4
+ VERSION = '0.5.1'
5
5
  end
data/lib/asherah.rb CHANGED
@@ -44,6 +44,8 @@ module Asherah
44
44
  # @yield [Config]
45
45
  # @return [void]
46
46
  def configure
47
+ raise Asherah::Error::AlreadyInitialized if @initialized
48
+
47
49
  config = Config.new
48
50
  yield config
49
51
  config.validate!
@@ -53,6 +55,7 @@ module Asherah
53
55
 
54
56
  result = SetupJson(config_buffer)
55
57
  Error.check_result!(result, 'SetupJson failed')
58
+ @initialized = true
56
59
  end
57
60
 
58
61
  # Encrypts data for a given partition_id and returns DataRowRecord in JSON format.
@@ -104,7 +107,10 @@ module Asherah
104
107
 
105
108
  # Stop the Asherah instance
106
109
  def shutdown
110
+ raise Asherah::Error::NotInitialized unless @initialized
111
+
107
112
  Shutdown()
113
+ @initialized = false
108
114
  end
109
115
 
110
116
  private
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: asherah
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.10
4
+ version: 0.5.1
5
5
  platform: x86_64-linux
6
6
  authors:
7
7
  - GoDaddy
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-08-10 00:00:00.000000000 Z
11
+ date: 2023-10-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cobhan