@stijn Not quite understanding the question, sorry. Can you rephrase?
any bidi
users here that use swagger or other auto generated api documentation? im writing a new service and would like to use swagger-ui or similar with bidi, not sure how hard that would be.
I think yada has a swagger generation. That must be built upon bidi.
So defintiely possible.
@kenbier https://github.com/juxt/yada/blob/master/doc/swagger.adoc I'd take a look at how yada does it, it is dependent on bidi
oh perfect, thanks @dominicm
hmm maybe ill just use yada anyway ๐. looks like i can add my existing ring middleware to yada, is that true @dominicm?
i donโt plan to use any async features
Um. You can. But depending on your middleware, it might not make sense
fair enough. iโll give it a shot anyway.
@dominicm let's say I have 2 pieces of state that might get refreshed: 1/ code from a git repo 2/ an edn file coming into the system through some other means (a config ala chef) but they need to be synchronized.
i.e. the version of the code needs some version of the config file
@stijn Is the config immutable for a particular sha1 commit of the code?
no
there might be some secret that gets updated without the code being updated
i'm not using skip yet, but I was mapping out the pieces of state in one of our backend applications to see if it is feasible to use it
another question that I have is, how do you deal with code updates in practice? use the reloaded pattern? what about downtime in that case - rolling-update across instances? I can't figure out how that would 'easily' fit into the model of skip and the infrastructure you're running on
@stijn I thought not, just wanted to confirm! In that case, I'd say that the stale of the config is whether either: the git repo is stale OR there's something stale according to the remote config?
The downtime is extremely minimal when using reset. Particularly if you use the hibnerate stuff from weavejester. I also notice that mount only reloads components where the code has changed
need to think a bit more about the config changes and how to orchestrate that
@stijn we have a lot of stale?s that mostly just check if other things are stale.
i see
on the downtime, we're starting to use weavejester's integrant and have to try out resume/suspend. the example even talks about holding requests in queue in the server while you swap the handler
how do you manage maven dependency changes? do you restart the jvm in that case?
You can hotload dependencies. But I think generally if project.clj has changed, shutdown is appropriate, then let a process manager auto-restart you.
I think you're taking this further than @malcolmsparks has actually done so in practice so far. A lot of the ideas were theoretical.
I know, but it's a very powerful idea I think
it's the exact opposite of what we're doing right now; everything in immutable containers, which has some advantages as well. but deployment speed is not one of them ๐