asheesh changed the topic of #sandstorm to: Welcome to #sandstorm: home of all things sandstorm.io. Say hi! | Channel glossary: "i,i" means "I have no point, I just want to say". b == thumbs up. | Public logs at https://botbot.me/freenode/sandstorm/ & http://logbot.g0v.tw/channel/sandstorm/today
<cmr> dwrensha: what do you think of a sandstorm crate that provides all the relevent schemata, instead of copying grain.capnp into individual apps?
<isd> Just opened an issue with a similar suggestion for the go capnproto implementation like ~5 minutes ago :P
<cmr> :)
<isd> Well, suggested it for capnproto proper. Have this thing for sandstorm: https://github.com/zenhack/go.sandstorm
aldeka has quit [Remote host closed the connection]
ocdtrekkie has quit [Remote host closed the connection]
aldeka has joined #sandstorm
ocdtrekkie has joined #sandstorm
frigginglorious has quit [Quit: frigginglorious]
vidios has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
jadewang has quit [Remote host closed the connection]
kentonv has quit [Quit: Leaving]
derf- has quit [Ping timeout: 250 seconds]
<dwrensha> cmr: util.capnp and web-session.capnp as well
<dwrensha> yeah, I think that would make sense
<dwrensha> especially since we need to actually modify the schema (because capnproto-rust doesn't support struct constants yet)
derf- has joined #sandstorm
kentonv has joined #sandstorm
isd has quit [Ping timeout: 250 seconds]
pdurbin has quit [Ping timeout: 250 seconds]
isd has joined #sandstorm
jemc has joined #sandstorm
pdurbin has joined #sandstorm
sydney_untangle has quit [Remote host closed the connection]
kentonv has quit [Read error: Connection timed out]
kentonv has joined #sandstorm
vidios has joined #sandstorm
JimVFD has quit [Quit: Nettalk6 - www.ntalk.de]
isd has quit [Quit: Leaving.]
<cmr> dwrensha: which files are needed? I think it's util, grain, web-session, web-publishing, persistentuiview, ip, hack-session, email, and api-session.
jemc has quit [Ping timeout: 246 seconds]
<cmr> Suppose Alice creates two grains, G and H. In G, she does some actions to offer a persistable capability C which she imports into H. She gives Bob access to H. She shuts her computer down, ending her sessions. Bob continues to use H, and does an action which causes it to try and do something with C (P1). Bob then shuts his computer down, ending his sessions. Later, he opens H again, and tries to do
<cmr> something with C (P2).
<cmr> At P1, is G still alive? If not, what happens with that capability?
<cmr> At P2, will G be made alive?
<Zarutian> cmr: intresting question. Are grains orthogonally or otherwise persisted between sessions?
<cmr> Zarutian: All the state which C needs to fulfill its interface is persisted between sessions, let's say.
<Zarutian> I thought that was given.
<cmr> And when H is shutdown, it will save() C and persist that.
<cmr> Oh, you're not talking about my scenario, but about grains themselves?
<cmr> I have no idea how grains work yet :)
<cmr> I'm trying to tease that out.
<vidios> Makes it sound as though G is dead at both p1 & p2 then...
<Zarutian> does it use C to persist or is the capabability C persisted with each grain instance. That I do not know but I do know that it will illuminate the path to an answer to questions originating from your scenario.
<cmr> vidios: that is my suspicion, however G will only be dead at P1 if C being alive does not keep G alive.
<vidios> ... right
<asheesh> Ah btw hi vidios
<vidios> \o
<asheesh> Are you sure that your app is broken for you but not for me? That's so weird.
<cmr> However C keeping G alive means Bob is now "sapping" CUs from Alice, "indirectly".
<cmr> This could either be part of the sharing model, or disallowed.
<asheesh> FWIW anyone viewing a grain owned by Alice uses up Alice's CUs.
<cmr> Right, so Bob viewing H will use Alice's CUs.
<Zarutian> CUs? Computing Units?
<cmr> Zarutian: yes, the hypothetical resource quota of sandstorm.
<asheesh> Compute units, aka gigabyte-ram-hours, https://sandstorm.io/news/2015-01-14-compute-units
<vidios> Whee, metering.
<Zarutian> sounds like combination of cpu-cycle meters and space banks from KeyKos
<vidios> And yes asheesh, CF is still borked on my end. No idea.
<asheesh> I mean, I can give you a ZIP file of my working database and you can use that as a grain backup...
<asheesh> ...but it is not clear what gives.
kentonv has quit [Read error: Connection timed out]
<vidios> indeed
kentonv has joined #sandstorm
<vidios> It seems to be failing in consistently the same way, at least
<vidios> a DROP INDEX fails because it belongs to a constraint with a consistent incoherent name
<asheesh> *oh* vidios
<asheesh> I have the old, correctly-built app in /opt/true
<asheesh> I can probably remove that dir and watch it fail the same way
<asheesh> Let me try.
<asheesh> I'll just remove the entire VM and try again.
<vidios> I'll laugh if it's a bug in what's being offered to people for production
<vidios> although then again it works on my machine directly
<dwrensha> cmr: restoring a persistent capability hosted on grain requires starting up that grain
<cmr> dwrensha: Ok, and the platform will take care of that?
<dwrensha> as things currently are, though, I think that the grain will be spun down after a few minutes if nobody has a web session open on it
<Zarutian> dwrensha: when does the starting up that grain due to a persistent capability occur? when a grain that has such is started or when it is used?
<dwrensha> so I think the capability would stop working, and start throwing "disconnected" exceptions?
<cmr> Is a cap still valid after a save()? So one can save() a newly received cap, and continue to use it, restoring it if it becomes disconnected?
<cmr> Zarutian: When it is used, it seems.
<dwrensha> often the first thing one does with a cap is to save it
<dwrensha> you can still use it after that
<cmr> Where "use" = restore()
<cmr> dwrensha: Ok, that is sensible.
mnutt_ has joined #sandstorm
kentonv has quit [Read error: Connection timed out]
kentonv has joined #sandstorm
<asheesh> vidios: Well the bad news is that I get a 503 while initially downloading Maven: Exception in thread "main" java.io.IOException: Server returned HTTP response code: 503 for URL: https://repository.apache.org/content/repositories/releases/org/apache/maven/apache-maven/3.3.3/apache-maven-3.3.3-bin.zip
<vidios> Yeah, that's been down for most of the day :\
<vidios> didn't commit the alternate, but put it as the first snippet here:
<asheesh> Yeah |: I'll retry when it's back online I guess.
<vidios> *alternate build.sh
<asheesh> Oh I missed that; can apply locally.
<vidios> so instead of building it just grabs the last precompiled release
<asheesh> *Right*
<vidios> ... pronouns
<asheesh> That's where I saw mkdir /var/db
<asheesh> Don't mkdir /var/db
<asheesh> I'll tell you in a sec if that one line ruins it all, or not.
<vidios> :\
<asheesh> OK repro'd crash with released JAR & mkdir /var/db
<asheesh> er wait now I can't find the mkdir
<vidios> it's in the temporary block
<asheesh> Right, /var gets shadowed anyway.
<vidios> not in the repo
<asheesh> Yeah I think it's just the released build failing, personally.
<asheesh> With or without mkdir, released build fails.
* vidios flips table
<vidios> I blame Apache
<asheesh> I would too but the table failed to migrate properly
<asheesh> In all seriousness, I wonder if they introduced a migration problem that only affects our weird choice of DB but doesn't affect others, say.
<asheesh> I will go head off to a party now. I wish you continued success and happiness! Sympathies for the failures.
<vidios> Indeed. Perhaps when apache comes back online the dev version will function
<asheesh> Thanks for your patience btw and glad you stopped by IRC when thinsg weren't working.
<asheesh> Oh, I was going to say - you're going to have some fun dealing with fetching external resources.
<asheesh> It's not going to be impossible, but it won't be the easiest thing ever either.
<asheesh> Have you already come to terms with this? If not, then maybe I should brief you.
<vidios> Yeah, I'm at least aware of the hax involved with talking to the outside world
<asheesh> Great. (-:
<vidios> Presumably TTRSS can be a reference more than Wave has been
mnutt_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
Zarutian has quit [Quit: Zarutian]
vidios has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
kentonv has quit [Read error: Connection timed out]
kentonv has joined #sandstorm
kentonv has quit [Read error: Connection timed out]
kentonv has joined #sandstorm
chowmeined has joined #sandstorm
chowmeined has left #sandstorm [#sandstorm]
kentonv has quit [Read error: Connection timed out]
kentonv has joined #sandstorm
kentonv has quit [Read error: Connection timed out]
kentonv has joined #sandstorm
sydney_untangle has joined #sandstorm
kentonv has quit [Read error: Connection timed out]
kentonv has joined #sandstorm
kentonv has quit [Ping timeout: 260 seconds]
Zarutian has joined #sandstorm
jemc has joined #sandstorm
rgrinberg has joined #sandstorm
rgrinberg has quit [Ping timeout: 240 seconds]
xet7 has joined #sandstorm
frigginglorious has joined #sandstorm
frigginglorious has quit [Client Quit]
frigginglorious has joined #sandstorm
frigginglorious has quit [Client Quit]
frigginglorious has joined #sandstorm
rgrinberg has joined #sandstorm
<frankier> If I want to migrate a sandstorm server can I just rsync /opt/sandstorm/var/sandstorm/grains?
amyers has joined #sandstorm
jemc has quit [Ping timeout: 246 seconds]
rgrinberg has quit [Ping timeout: 246 seconds]
Zarutian has quit [Quit: Zarutian]
amyers has quit [Remote host closed the connection]
amyers has joined #sandstorm
amyers has quit [Ping timeout: 250 seconds]
kentonv has joined #sandstorm
jadewang has joined #sandstorm
jadewang has quit [Ping timeout: 252 seconds]
rgrinberg has joined #sandstorm
dwrensha has quit [Ping timeout: 240 seconds]
dwrensha has joined #sandstorm
<dwrensha> frankier: /opt/sandstorm/var/mongo is important too
xet7_ has joined #sandstorm
xet7_ has quit [Read error: Connection reset by peer]
jemc has joined #sandstorm
<frankier> dwrensha, Ah, detailed instructions, great -- thanks.
jadewang has joined #sandstorm
jemc has quit [Ping timeout: 260 seconds]
jadewang has quit [Ping timeout: 252 seconds]
rgrinberg has quit [Ping timeout: 260 seconds]
rgrinberg has joined #sandstorm
kentonv has quit [Read error: Connection timed out]
kentonv has joined #sandstorm
rgrinberg has quit [Ping timeout: 240 seconds]
jadewang has joined #sandstorm
jadewang has quit [Ping timeout: 265 seconds]
frigginglorious has joined #sandstorm
<cmr> Where is the Capability Cap'n Proto type defined?
<dwrensha> cmr: it's a variant of AnyPointer
Tuxick has joined #sandstorm
<Tuxick> lo, have stuff working on :80, added haproxy to handle https, changed BASE_URL from http: to https:
<cmr> dwrensha: Is it the reified form of an interface, or what even is it?
<Tuxick> but connecting to https gives me "This server seems to have its WILDCARD_HOST misconfigured"
<Tuxick> what am i missing?
<dwrensha> cmr: it's an untyped capability
mnutt_ has joined #sandstorm
<Tuxick> but wildcard is working on :80
<Tuxick> maybe this message means i really need a wildcard record?
<Tuxick> in that case the error message needs some fixing
<Tuxick> sorry, need wildcard cert?
<dwrensha> yes, you will need a wildcard cert to use sandstorm over HTTPS
<Tuxick> ok, so it does some internal check, yet doesn't log or report?
jemc has joined #sandstorm
<Tuxick> ok, i'll see if i can produce a self signed one
<dwrensha> The error that you're seeing is Sandstorm reporting that its wildcard host does not work.
<dwrensha> Tuxick: Does your browser dev console report any errors?
<Tuxick> well, after that there's "Until you fix it, you will not be able to use any apps. Learn more. You'll need to adjust DNS, SSL/TLS certificates, or edit the sandstorm.conf file."
<dwrensha> How could this message have been more helpful?
kentonv has quit [Read error: Connection timed out]
kentonv has joined #sandstorm
<Tuxick> because it starts with telling me wildcard is wring while it isn't, and then mentions 3 things that might need looking at
<Tuxick> anyway, created selfsigned wildcard for haproxy, still same problem
jadewang has joined #sandstorm
<Tuxick> "or edit the sandstorm.conf file" is about as vague as it can get
mnutt_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
aldeka has quit [Remote host closed the connection]
ocdtrekkie has quit [Remote host closed the connection]
ocdtrekkie has joined #sandstorm
aldeka has joined #sandstorm
<dwrensha> Tuxick: I'll suppose that your wildcard host is "sandstorm-*.example.com" ...
jadewang has quit [Ping timeout: 260 seconds]
<dwrensha> what happens if you directly browse to "https://sandstorm-abc.example.com"?
<Tuxick> i get this "sign in to become admin"
<Tuxick> following link i get from sandstorm admin-token
<Tuxick> after that there's "configure login" and after that i get those errors
Zarutian has joined #sandstorm
jemc has quit [Ping timeout: 252 seconds]
<Tuxick> can't find any "debug" option either
<Tuxick> but ok, it's not a bug
jacksingleton has joined #sandstorm
<dwrensha> Tuxick: the error you're seeing shows up after Sandstorm tries and fails to make a request to something like "https://sandstorm-selftest-XXXXX.example.com".
<dwrensha> It would help if we could see how that request was failing
<dwrensha> Probably we should put the actual error into the error message that we report.
<Tuxick> when i check with openssl s_client passing random.sandstorm.example.com i get sanish reply
<Tuxick> No such grain for public ID: random
<Tuxick> so i'd say that bit is working
<dwrensha> oh, good
<dwrensha> that's the response I'd expect
<Tuxick> ye looked ok
<dwrensha> but if you open "https://random.sandstorm.example.com" in a browser?
<Tuxick> the same :)
<Tuxick> luckily
<dwrensha> I would expect the same "no such grain for public ID" thing
<dwrensha> oh good
kentonv has quit [Read error: Connection timed out]
<dwrensha> I guess your WILDCARD_HOST is "*.sandstorm.example.com", and your BASE_URL is "https://sandstorm.example.com" ?
<Tuxick> yes
<Tuxick> and PORT=80 but afaik that's the listen port anyway
<Tuxick> default
<dwrensha> hm... it's possible that the error you're seeing is spurious. Does it persist when you reload the page?
<Tuxick> yes
<Tuxick> i'm afraid this is either a long way of trial and error or getting into the source
<Tuxick> since it's not telling much
<dwrensha> I would maybe try continuing with the setup, ignoring the error, if that's possible.
<dwrensha> I'm curious whether installing apps and starting grains will succeed or not
<Tuxick> no it won't
<Tuxick> since it leads to "You are not logged in as admin and there isn't a valid token specified"
<Tuxick> so the error message is already wrong with first word
<Tuxick> "WARNING" should be "FATAL ERROR"
<zarvox> hmmm, is it odd that PORT=80 but BASE_URL is https:// ?
<Tuxick> zarvox: it's listening on 80
<Tuxick> haproxy on 443
<zarvox> ahhh, 'k
<dwrensha> zarvox: does that sound right? the setup wizard prevents you from proceeding if there is a wildcard host error?
<Tuxick> in most systems i worked with "base url" is the url it sends to client
<Tuxick> or part of it :)
<Zarutian> dwrensha: just to sate my curiousity, can one reconfig BASE_URL to be at some .onion or .i2p address and there wont be leaks of other domain addresses?
<zarvox> I don't recall the setup wizard preventing you from proceeding if there is a wildcard host error. But I've also mostly been testing local.sandstorm.io which definitely works :)
<Tuxick> ok i'll try running setup wizzzard again
<Tuxick> but i'd say something screwy is going on
<dwrensha> Tuxick: before you got to the "no such grain for public ID" page in your browser, did you have to click through any certificate warnings?
<Zarutian> dwrensha: so one has to run it in something akin to whonix setup then. (Gateway VM running Tor and App VM running Sandstorm)
<Tuxick> dwrensha: no, i told browser to accept
<Tuxick> also with openssl s_client it didn't stop me from GET /
<zarvox> IIRC openssl s_client doesn't require the cert to be trusted, it just tells you that your session doesn't chain to any trusted cert
<Tuxick> btw i also tried :443 in WILDCAR_HOST
<zarvox> and for the browser: XHRs and iframes to origins with what the browser deems "untrusted" do not cause prompts, so if you just clicked through a cert warning instead of installing the appropriate root cert, then you'd see that failure mode
<Tuxick> well if it'd log ANYTHING i would have saved a lot of time
<dwrensha> I'll open as issue about that right now
<Tuxick> zarvox: afaict this is not something i can solve by installing root cert on client
kentonv has joined #sandstorm
<Tuxick> cool, i'll see if i can add something later on
<Zarutian> dwrensha: issue 434 indirectly points to https://docs.sandstorm.io/en/latest/administering/wildcard/ and the why is the idiotic "same origin policy"
* Zarutian wonders if sandboxed iframes with srcdoc or src="data:..." still each get their own 'origin' at each instanciation, requires tunneling via postmessage between the enclosing sandstorm frame and such iframe. Might be a solution that uses the wildcard aproach as fallback for browsers that dont allow such.
<Tuxick> tomorrow i'll see if i get same problem with nginx
<Tuxick> pretty sure i will
* Zarutian or an hook in sandstorm for when it requests a new random hostname, instanciate a new .onion or .i2p address
<dwrensha> Tuxick: is there anything interesting in your server's log, /opt/sandstorm/var/log/sandstorm.log ?
<Tuxick> nothing
<Tuxick> that's what's annoying me
jadewang has joined #sandstorm
halindrome has quit [Ping timeout: 276 seconds]
mnutt_ has joined #sandstorm
<Tuxick> anyway, bbl
halindrome has joined #sandstorm
jadewang has quit [Ping timeout: 276 seconds]
jemc has joined #sandstorm
kentonv has quit [Read error: Connection timed out]
kentonv has joined #sandstorm
mnutt_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
larjona has quit [Read error: Connection reset by peer]
larjona has joined #sandstorm
mnutt_ has joined #sandstorm
frigginglorious has quit [Ping timeout: 250 seconds]
frigginglorious has joined #sandstorm
kentonv has quit [Read error: Connection timed out]
kentonv has joined #sandstorm
jadewang has joined #sandstorm
mnutt_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
jadewang has quit [Ping timeout: 265 seconds]
mnutt_ has joined #sandstorm
frigginglorious has quit [Quit: frigginglorious]
frigginglorious has joined #sandstorm
mnutt_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
jacksingleton has quit [Ping timeout: 250 seconds]
mnutt_ has joined #sandstorm
jacksingleton has joined #sandstorm
jacksingleton has quit [Ping timeout: 244 seconds]