@@ -32,16 +32,14 @@ if (process.env.LOCAL_MD_SERVER === 'true') {
3232//const js_utils = require('../util/js_utils');
3333const nb_native = require ( '../util/nb_native' ) ;
3434//const schema_utils = require('../util/schema_utils');
35- const RpcError = require ( '../rpc/rpc_error' ) ;
36- const ObjectSDK = require ( '../sdk/object_sdk' ) ;
3735const { cluster } = require ( '../util/fork_utils' ) ;
38- const NamespaceFS = require ( '../sdk/namespace_fs' ) ;
3936const BucketSpaceSimpleFS = require ( '../sdk/bucketspace_simple_fs' ) ;
4037const BucketSpaceFS = require ( '../sdk/bucketspace_fs' ) ;
4138const SensitiveString = require ( '../util/sensitive_string' ) ;
4239const endpoint_stats_collector = require ( '../sdk/endpoint_stats_collector' ) ;
4340//const { RPC_BUFFERS } = require('../rpc');
4441const AccountSDK = require ( '../sdk/account_sdk' ) ;
42+ const NsfsObjectSDK = require ( '../sdk/nsfs_object_sdk' ) ;
4543const AccountSpaceFS = require ( '../sdk/accountspace_fs' ) ;
4644const NoobaaEvent = require ( '../manage_nsfs/manage_nsfs_events_utils' ) . NoobaaEvent ;
4745const { set_debug_level } = require ( '../manage_nsfs/manage_nsfs_cli_utils' ) ;
@@ -121,98 +119,6 @@ function print_usage() {
121119
122120let nsfs_config_root ;
123121
124- class NsfsObjectSDK extends ObjectSDK {
125- constructor ( fs_root , fs_config , account , versioning , config_root , nsfs_system ) {
126- // const rpc_client_hooks = new_rpc_client_hooks();
127- // rpc_client_hooks.account.read_account_by_access_key = async ({ access_key }) => {
128- // if (access_key) {
129- // return { access_key };
130- // }
131- // };
132- // rpc_client_hooks.bucket.read_bucket_sdk_info = async ({ name }) => {
133- // if (name) {
134- // return { name };
135- // }
136- // };
137- let bucketspace ;
138- if ( config_root ) {
139- bucketspace = new BucketSpaceFS ( { config_root } , endpoint_stats_collector . instance ( ) ) ;
140- } else {
141- bucketspace = new BucketSpaceSimpleFS ( { fs_root } ) ;
142- }
143- super ( {
144- rpc_client : null ,
145- internal_rpc_client : null ,
146- object_io : null ,
147- bucketspace,
148- stats : endpoint_stats_collector . instance ( ) ,
149- } ) ;
150- this . nsfs_config_root = nsfs_config_root ;
151- this . nsfs_fs_root = fs_root ;
152- this . nsfs_fs_config = fs_config ;
153- this . nsfs_account = account ;
154- this . nsfs_versioning = versioning ;
155- this . nsfs_namespaces = { } ;
156- this . nsfs_system = nsfs_system ;
157- if ( ! config_root ) {
158- this . _get_bucket_namespace = bucket_name => this . _simple_get_single_bucket_namespace ( bucket_name ) ;
159- this . load_requesting_account = auth_req => this . _simple_load_requesting_account ( auth_req ) ;
160- this . read_bucket_sdk_policy_info = bucket_name => this . _simple_read_bucket_sdk_policy_info ( bucket_name ) ;
161- this . read_bucket_sdk_config_info = ( ) => undefined ;
162- this . read_bucket_usage_info = ( ) => undefined ;
163- this . read_bucket_sdk_website_info = ( ) => undefined ;
164- this . read_bucket_sdk_namespace_info = ( ) => undefined ;
165- this . read_bucket_sdk_caching_info = ( ) => undefined ;
166- }
167- }
168-
169- async _simple_get_single_bucket_namespace ( bucket_name ) {
170- const existing_ns = this . nsfs_namespaces [ bucket_name ] ;
171- if ( existing_ns ) return existing_ns ;
172- const ns_fs = new NamespaceFS ( {
173- fs_backend : this . nsfs_fs_config . backend ,
174- bucket_path : this . nsfs_fs_root + '/' + bucket_name ,
175- bucket_id : 'nsfs' ,
176- namespace_resource_id : undefined ,
177- access_mode : undefined ,
178- versioning : this . nsfs_versioning ,
179- stats : endpoint_stats_collector . instance ( ) ,
180- force_md5_etag : false ,
181- } ) ;
182- this . nsfs_namespaces [ bucket_name ] = ns_fs ;
183- return ns_fs ;
184- }
185-
186- async _simple_load_requesting_account ( auth_req ) {
187- const access_key = this . nsfs_account . access_keys ?. [ 0 ] ?. access_key ;
188- if ( access_key ) {
189- const token = this . get_auth_token ( ) ;
190- if ( ! token ) {
191- throw new RpcError ( 'UNAUTHORIZED' , `Anonymous access to bucket not allowed` ) ;
192- }
193- if ( token . access_key !== access_key . unwrap ( ) ) {
194- throw new RpcError ( 'INVALID_ACCESS_KEY_ID' , `Account with access_key not found` ) ;
195- }
196- }
197- this . requesting_account = this . nsfs_account ;
198- }
199-
200- async _simple_read_bucket_sdk_policy_info ( bucket_name ) {
201- return {
202- s3_policy : {
203- Version : '2012-10-17' ,
204- Statement : [ {
205- Effect : 'Allow' ,
206- Action : [ '*' ] ,
207- Resource : [ '*' ] ,
208- Principal : [ new SensitiveString ( '*' ) ] ,
209- } ]
210- } ,
211- bucket_owner : new SensitiveString ( 'nsfs' ) ,
212- owner_account : new SensitiveString ( 'nsfs-id' ) , // temp
213- } ;
214- }
215- }
216122
217123// NsfsAccountSDK was based on NsfsObjectSDK
218124// simple flow was not implemented
0 commit comments