<abliss>
(testing a new matrix install--please ignore this message)
abliss has quit [Quit: Idle timeout reached: 10800s]
griff_ has joined #sandstorm
xet7 has joined #sandstorm
griff_ has quit [Quit: griff_]
xet7 has quit [Remote host closed the connection]
<jimpick>
Is there a way to make apps i've uploaded as an admin user via "Upload app..." available to other users? I can see "Admin / Pre-installed apps" in the admin UI, but that doesn't list my side-loaded apps I'm developing.
<JacobWeisz[m]>
I don't think so. "Upload app" only uploads an app for you to use.
<JacobWeisz[m]>
Yeah, that'd be the official way to support this at present.
<jimpick>
i wonder if it would be possible if i twiddle something in the mongo db?
<JacobWeisz[m]>
In theory, it's ideal because then you distribute an app including updates, not just a single spk. But presumably one may wish to distribute a manually uploaded SPK.
<JacobWeisz[m]>
Very possibly, but you are also very possibly on your own if you break stuff in Mongo. :P
<JacobWeisz[m]>
I think the issue would be that I think Pre-installed apps uses the appId, not the packageId, and then depends on the market to download the latest package.
<JacobWeisz[m]>
It doesn't have to redownload the package if the server already has it, but it probably wouldn't know which package to use based on the appId without the market.
<JacobWeisz[m]>
Technically it's actually the app index grain, not the market website itself, that you'd have to self-host to publish your own internal apps.
<jimpick>
okay, i'll do some research
<JacobWeisz[m]>
I think at minimum though, it'd be crucial the app index could support an "upstream" index before it'd be reasonable to run your own for this purpose.
<JacobWeisz[m]>
Because if you run your own app index, you'd have to get all of the other apps stored in it as well.
<jimpick>
yeah
<JacobWeisz[m]>
I can write up an issue that reflects the options to support this somewhat accurately if you like.
xet7 has joined #sandstorm
<jimpick>
i think it would be cool to have a lightweight option to be able to share sideloaded apps more easily ... perhaps a capability to publish locally?
<jimpick>
obviously there are scary security issues if it's not done right
<JacobWeisz[m]>
I think modifying the app index is probably the best strategy, as it doesn't change much for Sandstorm.
<JacobWeisz[m]>
If the App Index could sync data from an upstream index, you would run your own App Index on your server, and spk publish your app to it, and it would also presumably grab any data it needs from the upstream app index.
<jimpick>
yeah, basically run a proxy mitm app index
<jimpick>
maybe that could be lightweight enough to run in a grain?
<JacobWeisz[m]>
jimpick: The official App Index is a grain!
<JacobWeisz[m]>
#3506 is the issue I just wrote up.
<JacobWeisz[m]>
In case you are curious, the app index code is actually here: github.com/sandstorm-io/sandstorm/tree/master/src/sandstorm/app-index
griff_ has joined #sandstorm
<jimpick>
thanks!
<jimpick>
great description of the problem!
<JacobWeisz[m]>
FWIW, if you do get really excited about raw api app development and running your own app index for private app distribution, I think the app index is one of the more self-contained and straightforward parts of the codebase. ...But it is in C++.
<jimpick>
yeah, i've been reading the C++ code ... my C++ experience is mostly from 30 years ago, so i'm just as unfamiliar with kj as I am with modern C++ :-)
<jimpick>
but i can muddle around in it
<JacobWeisz[m]>
I think there are probably some other use cases which would benefit from what I described in #3506. Such as services offering Sandstorm servers as a service being able to run a local package cache for all the servers to use.
<JacobWeisz[m]>
KJ is Kenton's kinda basic standard library for C++ code, I think. It's part of the Cap'n Proto repo.
griff_ has quit [Quit: griff_]
indolering[m] has joined #sandstorm
<isd>
As a short term hack, you could upload the spk into a davros grain and share it with people. A bit annoying, but it does work.
<isd>
C++ is also definitely not required for using raw capnp APIs; there are implementations in a number of languages. But if you want to hack on the stuff in Sandstorm's codebase specifically that's another matter.
<JacobWeisz[m]>
I was referring there to if there was any interest in hacking on the app index specifically. :)