<zarvox>
ocdtrekkie: whelp, that's an unintended consequence of me renaming the Piwik js file
<ocdtrekkie>
zarvox: I found it amusing. It was pointed out in the thread of course that it was relatively trivial to name Piwik js files :whatever:.
<zarvox>
I'm amused too. I think the current situation still produces approximately the right outcome. :)
<zarvox>
The bigger issue with tracking is correlating it across various disparate places
<zarvox>
and that's not really a thing on Sandstorm
decipherstatic has joined #sandstorm
<zarvox>
so while I'm probably biased, I'm inclined to think Piwik-on-Sandstorm is less needing-to-be-blocked than GA
<ocdtrekkie>
I agree, zarvox.
<zarvox>
happily the people who disagree can still block it if they're bothered by it, though most won't and it probably won't wind up on a blocklist
<ocdtrekkie>
I have less issue with party x or y collecting basic analytics, as I do with the fact that someone like Google can connect things I look at for work with things I look at for recreation and such.
<zarvox>
The other thing is that the kind of analysis that Piwik provides can largely be inferred from operational server logs, which clients can't do anything about
<zarvox>
And I feel much better about letting first-parties track how you use their product so they can improve it than providing that to third parties with differing long-term incentive structures
* asheesh
waves to all the party people.
* zarvox
waves back
neynah has joined #sandstorm
<asheesh>
I am in the process of digging up the Etsy-brand (iirc) app that lets you meet other people at the company in groups for lunch...
<isd>
What's the implementation state of powerbox? I seem to recall seeing somewhere that it doesn't do the ipNetworking thing yet, but I don't know where it is more generally. Does the basic request thing work?
<asheesh>
Howdy isd
<asheesh>
The basic request thing does work, I believe. I guess we should document the extent to which this does/doesn't work.
<asheesh>
My authoritative source for info on this is the test suite, so let me go check that.
<asheesh>
In the Sandstorm repo, reading tests/apps/ip-networking.js suggests to me that yes, requesting does work. I'll go run the test app now on my server to double-check.
<asheesh>
I see, the "request" thing shows me a copy-paste box where I'm supposed to go the admin area, get a string API token, then paste that into the box.
<asheesh>
So this is the "copy-paste powerbox".
<asheesh>
But it does work, I believe. Let me finish the test to make sure...
<isd>
Yeah, that was my impression. Just didn't know if it was everything or just those caps.
<asheesh>
The test app does indeed seem to listen on port 52154.
<asheesh>
isd: In theory any request/offer should work, I believe, based on the same copy/paste powerbox. I don't believe those capabilities are special in that regard. But I have not seen any particular apps that export capabilities, so I am not totally sure.
<asheesh>
Are you planning to export some other capability from an app?
<isd>
asheesh: okay.
<asheesh>
If so, (a) awesome and (b) we should help you to make sure you succeed.
<isd>
I'm playing with ideas.
<isd>
not sure it's the right approach
<isd>
but here's the app idea I'm playing with
<asheesh>
FWIW we have long dreamed that an "IRC driver" would export an "IRCConnection" capability, and then you could have an unprivileged app that requests IRCConnection and gets linked up with some grain that exports IRCConnection.
<isd>
thing to idle in IRC for me. a lot of folks have an irc client running in screen or tmux so they can be "logged in" without being at their machine
<isd>
but yeah, was thinking of how to structure it. Figured a piece of it might look like that
<isd>
but also, I'd like to be able to use existing clients, so it needs ipInterface as well.
<isd>
It would also be nice to avoid needing one *listening* port per network I'm connecting to.
<asheesh>
re: existing clients: the way I imagine that would work is that within the grain, you'd listen on localhost:6667 with a proxy tool, and that tool would be the one to request IRCConnection
<asheesh>
So then you can use existing clients without privilege, but for the _proxy_ to work properly, you'd need IRCConnection
<isd>
Right. the point is *something* needs to listen on a port. can be a shim that other stuff talks to
<asheesh>
FWIW listening on localhost:* within the grain doesn't need privilege, hence no need for IPInterface
<asheesh>
Pardon my inconsistent capitalization at the moment.
<asheesh>
I'm almost excited about that, with the caveat that distributing the proxy tool is annoying.
<isd>
Yeah.
<asheesh>
But it does seem to me that being able to take advantage of Sandstorm for authorization (via Sandstorm API tokens) sure is nice.
<asheesh>
One way we could help with that is to leverage existing tools.
<asheesh>
We could support HTTP CONNECT authorized by Basic auth, and then you'd HTTP CONNECT to localhost:6667 but the basic auth password was a Sandstorm API token.
<asheesh>
In which case I _think_ socat could be used for that.
<isd>
My thinking was basically a tool that listens on localhost:whatever and then opens a websocket
<isd>
and routes the data back and forth
<asheesh>
Right, yeah, that'd be perfect and then you could avoid IPInterface I believe.
<isd>
And it could be usable for more or less any arbitrary tcp protocol
<isd>
provided the sandstorm app is acting as a server
<asheesh>
I don't think we allow CONNECT as a HTTP verb to grains at the moment, but I believe there's no reason we couldn't add it, but I'd have to check with kentonv or others to make sure I'm not creating a security hole (but I do think I'm not).
<isd>
I mean, with that in place I could write the extra program in less time than it will take me to read that blog post
<asheesh>
(FWIW I keep saying basic auth since we allow the use of Sandstorm API tokens as Basic auth passwords (maybe subject to a user-agent whitelist? I forget if we still do that))
<isd>
(which I will do anyway)
<asheesh>
Literal LOL.
<isd>
(but I am not exageratting even a little)
<isd>
(like, while(1) { accept; connect; copy } plus arg parsing and error checking)
<asheesh>
If you're willing to do websockets, that should already work, with the caveat that you'd have to wait for a jparyani pull request to land, but I believe it may have already, let me check.
<asheesh>
You probably need https://github.com/sandstorm-io/sandstorm/pull/1949/files to land for authorization to work, but once that lands (and I can show you how to develop against a Sandstorm build locally where you merge it in to speed up your own development) then you should be in business.
<zarvox>
I'm just now reading the discussion about IpNetwork/IpInterface, but I believe that the two should be functional today, and if you make the appropriate interface-specified powerbox request, you even get the appropriate UI and don't have to copy/paste tokens
<asheesh>
- You can make your own Sandstorm bundle by running: $ make fast # within a git clone of Sandstorm
<asheesh>
- If you do "sudo sandstorm update $PATH_TO_MY_SANDSTORM_BUNDLE" within e.g. a vagrant-spk VM, then now your app is running against a dev build of Sandstorm
<asheesh>
This does mean that your vagrant-spk VM now has "state", namely the dev version of Sandstorm.
<asheesh>
state not captured by the .sandstorm/* files in your app package.
<asheesh>
I think that's an OK price to pay, but it's worth remarking on.
<isd>
(program does have a few bugs, not surprising)
<isd>
thanks for the pointers
rgrinberg has joined #sandstorm
<kentonv>
asheesh: re CONNECT: I'd rather than Sandstorm be responsible for adding SSL. That way, apps need not keep up to date on root certificates, and the user is able to redirect an app to talk to a different app implementing a compatible API when desired.
<isd>
(websocket forwarder proxy actually works except that I forgot how the flags package worked. final version: http://pastie.org/10830795)
<isd>
Still need to figure out the wakeLock thing, but I guess I can move forward on other stuff
jadewang has joined #sandstorm
isd has quit [Ping timeout: 276 seconds]
rgrinberg has quit [Quit: WeeChat 1.5]
rgrinberg has joined #sandstorm
digitalcircuit has quit [Ping timeout: 250 seconds]
digitalcircuit has joined #sandstorm
<asheesh>
kentonv: I was suggesting (ab)using CONNECT as follows: external app ---> HTTP CONNECT to localhost:6667, with basic auth ---> sandstorm verifies basic auth ---> grain's localhost:6667 gets made accessible to the external app
<asheesh>
So this would not be related to the typical use of CONNECT for fetching a HTTPS resource. Hope that helps. It's also not important.
xobs has quit [Read error: Connection reset by peer]
xobs has joined #sandstorm
<asheesh>
Can I just say:
<asheesh>
GlobalSign.
<asheesh>
And can I further say:
<asheesh>
Even when I have problems integrating with their API, I'm quite grateful to them for powering sandcats HTTPS and have been satisfied by their replies to my technical questions.
rgrinberg has quit [Ping timeout: 250 seconds]
jadewang has quit [Remote host closed the connection]
jadewang has joined #sandstorm
jadewang has quit [Remote host closed the connection]
tdfischer has quit [Ping timeout: 250 seconds]
tdfischer has joined #sandstorm
jadewang has joined #sandstorm
jadewang has quit [Ping timeout: 252 seconds]
ecloud_wfh has quit [Ping timeout: 276 seconds]
ecloud has joined #sandstorm
<Mitar>
asheesh: I would still need help how to send e-mails from Meteor apps
jadewang has joined #sandstorm
strugee has quit [Ping timeout: 244 seconds]
raoulzecat has joined #sandstorm
jadewang has quit [Ping timeout: 252 seconds]
strugee has joined #sandstorm
dwrensha has quit [Read error: Connection reset by peer]
dwrensha has joined #sandstorm
jadewang has joined #sandstorm
strugee has quit [Ping timeout: 250 seconds]
jadewang has quit [Ping timeout: 265 seconds]
strugee has joined #sandstorm
strugee has quit [Ping timeout: 276 seconds]
strugee has joined #sandstorm
jadewang has joined #sandstorm
jadewang has quit [Ping timeout: 240 seconds]
codebam has quit [Ping timeout: 276 seconds]
codebam has joined #sandstorm
jadewang has joined #sandstorm
jadewang has quit [Ping timeout: 265 seconds]
amyers has joined #sandstorm
jadewang has joined #sandstorm
jadewang has quit [Ping timeout: 276 seconds]
rgrinberg has joined #sandstorm
ragesoss has quit [Quit: No Ping reply in 180 seconds.]
ragesoss has joined #sandstorm
jadewang has joined #sandstorm
raoulzecat has quit [Ping timeout: 276 seconds]
jadewang has quit [Ping timeout: 260 seconds]
frigginglorious has joined #sandstorm
raoulzecat has joined #sandstorm
Jan\ has quit [Ping timeout: 240 seconds]
jemc has joined #sandstorm
amyers has quit [Ping timeout: 244 seconds]
amyers has joined #sandstorm
jadewang has joined #sandstorm
jadewang has quit [Ping timeout: 276 seconds]
gkoz has quit [Ping timeout: 276 seconds]
gkoz has joined #sandstorm
rgrinberg has quit [Ping timeout: 246 seconds]
amyers has quit [Ping timeout: 265 seconds]
amyers has joined #sandstorm
raoulzecat has quit [Ping timeout: 276 seconds]
jadewang has joined #sandstorm
rgrinberg has joined #sandstorm
jadewang has quit [Remote host closed the connection]
raoulzecat has joined #sandstorm
raoulzecat has quit [Ping timeout: 250 seconds]
vasile_ has left #sandstorm [#sandstorm]
raoulzecat has joined #sandstorm
rgrinberg1 has joined #sandstorm
rgrinberg has quit [Ping timeout: 244 seconds]
simonft has left #sandstorm [#sandstorm]
guest543543543 has joined #sandstorm
gabkdlly has joined #sandstorm
jadewang has joined #sandstorm
<asheesh>
Who wants to make a Sandstorm package out of bitkeeper? It's Apache License 2.0 as of yesterday: https://www.bitkeeper.org/
jacksingleton has joined #sandstorm
jadewang has quit [Ping timeout: 276 seconds]
<jacksingleton>
so apparently I missed the entire sandstorm project being mis-attributed to TW on twitter last week?
<asheesh>
Yeah jacksingleton; kentonv can fill you in on the details, or I can.
<kentonv>
ughhhh
<asheesh>
The TL;DR is, "Some reporter interviewed us and got that impression from someone else and never checked it"; amusingly it seems to have nothing to do with SandForms having a similar name to Sandstorm.
<kentonv>
not only that, I was declared to be CEO of Thoughtworks
<kentonv>
we never spoke the word "Thoughtworks" in the interview.
<kentonv>
the reporter followed up after the interview to ask my title, and our PR person told him "CEO of Sandstorm"
<kentonv>
the article also makes several lesser confused statements, like claiming the project derives from AppEngine
<jacksingleton>
ugh
<jacksingleton>
well sorry that happened, to my knowledge we were never contacted about the article. apparently it was quite surprising to our PR team too, and they reached out to containerjournal to get the article changed.
jadewang has joined #sandstorm
<guest543543543>
Hello is this the right place to ask tech questions?
<frigginglorious>
i kind of want to read that article
<kentonv>
frigginglorious, yeah, they finally removed the thoughtworks references this morning, though other errors are still there
benkard has quit [Max SendQ exceeded]
<frigginglorious>
“Mike Vizard is a seasoned IT journalist with over 25 years of experience.”
<frigginglorious>
thats silly
<guest543543543>
When I try to install sandstorm on my OpenVZ VPS it says the kernel ver is too low (2.6.32) being this a OpenVZ VPS I am unable to update it manually - is there any method to bypass this check or are the requirements vital? (its nothing I would go live with its just for playing-around-purposes in case of this is just a security and not a functional
<guest543543543>
requirement)
<asheesh>
The requirements are vital, alas, guest543543543
<asheesh>
guest543543543: There are lots of other VPS services to try though!
<dwrensha>
lol at asheesh's markdown enumeration consisting entirely of "1."s
<asheesh>
Yeah, I fixed that up in an edit.
<asheesh>
Pretty hilarious.
benkard has joined #sandstorm
guiniol has joined #sandstorm
<guiniol>
Hello all! It's my first time using sandstorm and I'm trying to create an app. I followed the step in https://docs.sandstorm.io/en/latest/vagrant-spk/packaging-tutorial/#packaging-tutorial-generic creating a diy app, and I can load the app in a local instance, but when I start it, I only get a spinning circle. Where can I find logs to see what it is doing while displaying the spinning circle?
<asheesh>
Howdy guiniol
<asheesh>
There's the debug log; I'm mostly AFK for a 30 min meeting though
<asheesh>
view your JS console and there are some hints
<guiniol>
ok
<guiniol>
the debug logs only shwow: ** SANDSTORM SUPERVISOR: Grain still in use; staying up for now.
<guiniol>
apparently, it's still the script initPage running
<jacksingleton>
hi guiniol, there is a small icon at the top of the screen that looks like a monitor -- it's right next to the trash can. this will show you the logs from your application and will most likely have some errors in it if you're just seeing the spinning wheel :)
<guiniol>
jacksingleton: that's the thing
<guiniol>
it's only showing ** SANDSTORM SUPERVISOR: Grain still in use; staying up for now.
<guiniol>
can I ssh inside the VM to see the logs somewhere
<guiniol>
when I start a grain, it executes launcher.sh, right?
asmyers has joined #sandstorm
amyers has quit [Read error: Connection reset by peer]
<jacksingleton>
ah I see
<jacksingleton>
the startup command is configured in your sandstorm-pkgdef.capnp
<jacksingleton>
I would probably add a bit of logging in your launcher.sh and program to see where it is / is not getting to
<dwrensha>
guiniol: if you click "download backup" you'll get a zip containing the entire grain state, including any logs
rolig has quit [Ping timeout: 276 seconds]
rolig has joined #sandstorm
benkard has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<asheesh>
BTW hi guiniol
<asheesh>
I'm glad you're asking questions here.
<asheesh>
There isn't a super reliable way to get a shell within a grain yet, but there are some hacks you can use, and I will have a reasonably-high-quality version of that ready by the end of this week.
kxra has quit [Ping timeout: 260 seconds]
rustyrazorblade has joined #sandstorm
<asheesh>
guiniol: Any luck so far?
asmyers has quit [Ping timeout: 260 seconds]
todayman has quit [Read error: Connection reset by peer]
TC01 has quit [Ping timeout: 240 seconds]
todayman has joined #sandstorm
TC01 has joined #sandstorm
isd has joined #sandstorm
todayman has quit [Ping timeout: 260 seconds]
TC01 has quit [Ping timeout: 276 seconds]
<guiniol>
asheesh: I don't have more time tonight, but no luck so far
<guiniol>
if there's gonna be a way to get a shell by the end of the week, I'll wait I think ^^
kxra has joined #sandstorm
halindrome has joined #sandstorm
<halindrome>
okay - weird question. I have an instance running where I cannot find the option to install new apps...
<halindrome>
how could such a thing happen?
<frigginglorious>
halindrome: you don’t have the standard /apps and /grains options in the side nav?
<halindrome>
I have an apps option. selecting it doesn't show an option for adding apps though
<halindrome>
oh wait. my scroll bar was off the right edge of my screen. ignore me
<halindrome>
what's the emoticon for sheepish?
<digitalcircuit>
Maybe this..? ^^';
sydney_untangle has quit [Ping timeout: 260 seconds]