What is the purpose of `storj-admin` / how to admin personal isolated satellite

I am doing some experiments with a storj-emu (which is like a storj-sim on real hardware in an isolated network). Basically in it I deploy nodes and satellite(s) with ansible scripts, so not using anything like storj-sim for orchestration.

The issue I have I is I can generate user accounts with a hacked-together cli which uses some storj library functions to go through registration steps based on the auth-token that the satellite was started with.

So now the users can login to the satellite console, but cannot make a new project without registering a payment method, so I also don’t get an api key with which I can test uplink etc.

So I was hoping that storj-admin would offer some of the needed functionality, but it is pretty much empty (just a stub). Is it for future use, or deprecated? Is there some kind of top level admin functionality for satellites?

(I’m still discovering some stuff, I may have access to the needed functionality by directly talking to the http api? But is it sufficient?)

1 Like

I cannot be 100% certain about this and you’ll probably get a more accurate answer from one of my colleagues.

I think that if you set the CLI flag or configuration option payments.paywall-proportion to 0, then every user should be able to create a project without registering a payment.

I guess that after, your users won’t be able to upload or download unless that you assign them some coupon (see below).

I’m assuming that you are referring to the command satellite run admin.

That’s an API that can be accessed using the authentication token under the flag or configuration option console.auth-token. If I’m not mistaken, that token has to be signed by the value set in the flag or configuration option console.auth-token-secret.

The API has several endpoints that allow performing the operations documented in https://github.com/storj/storj/blob/cd2cdb616ace87e3c00d6f19b5e011e0299589a7/satellite/admin/README.md

With that API you can, among other things, create coupons for the exiting users.

The API isn’t deprecated, we internally use it for managing the satellites, nonetheless, it doesn’t offer all the functionality that an admin panel should and there isn’t so far any web UI for it. We’d like to improve it, but it has a very low, if not the lowest, priority of the many things that we have to do.

I hope that this information helps you to move forward with your pursuits.

2 Likes

Thanks a lot for your elaborate answer!

I think that if you set the CLI flag or configuration option payments.paywall-proportion to 0, then every user should be able to create a project without registering a payment.

I’ll try that first of all, that’s a good hint!

I’m assuming that you are referring to the command satellite run admin

I was referring to https://github.com/storj/storj/tree/master/cmd/storj-admin, which appears to be some (unfinished because almost empty) cli program. But thanks for the pointer to the satellite admin service, I was in fact already running t (mimicking storj-sim) but had not yet gotten around to hecking out the api endpoints…

So I gather that will allow me to do the things I hadn’t found possible on the console endpoint…

Thanks also for the reference to coupons and more documentation, I didn’t mean to skip RTFM (:smile:) but didn’t see the forrest between the trees anymore… Now I’m good to go further :v:

1 Like

Hi there! Thanks for pointing out this bit of code (storj-admin). It was pushed initially with the goal of connecting it to some sort of admin web interface, but it is currently not being actively developed. We may want to add some such functionality in the future, so do not want to remove it from the codebase, but it is currently low priority in light of other initiatives on our product roadmap.

Hope this helps!

3 Likes

Thanks for the info!
If I end up needing to make some kind of cli for automated admin endpoint access, I’ll share it with a PR. (Already something rudimentary made, but it lacks structure for now).

1 Like