This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-09-05
Channels
- # 100-days-of-code (1)
- # announcements (9)
- # aws (1)
- # beginners (195)
- # braveandtrue (60)
- # calva (3)
- # cider (36)
- # cljs-dev (3)
- # clojure (124)
- # clojure-canada (13)
- # clojure-dev (18)
- # clojure-germany (2)
- # clojure-italy (2)
- # clojure-losangeles (1)
- # clojure-nl (9)
- # clojure-russia (1)
- # clojure-spec (20)
- # clojure-uk (109)
- # clojurescript (49)
- # core-logic (29)
- # cursive (7)
- # datomic (62)
- # defnpodcast (1)
- # devcards (11)
- # docker (3)
- # duct (6)
- # figwheel (13)
- # figwheel-main (57)
- # fulcro (2)
- # graphql (11)
- # hyperfiddle (3)
- # jobs (5)
- # jobs-discuss (9)
- # leiningen (2)
- # lumo (1)
- # off-topic (12)
- # onyx (2)
- # pedestal (1)
- # portkey (2)
- # rdf (1)
- # re-frame (39)
- # reitit (13)
- # remote-jobs (2)
- # rum (5)
- # shadow-cljs (82)
- # tools-deps (48)
- # unrepl (3)
- # vim (12)
- # yada (1)
had a fun trial ride on a brompton (h3l) yesterady. Gonna try a brompton m3l today (slightly lower handlebars, but otherwise the same). cc @mccraigmccraig and @agile_geek;-)
and I did my first riding in London and didn't die (a quick round the houses in Covent Garden)
I find London safer than some of my commute to Newcastle at home as 5-6 miles of that is on open A roads with 60mph limits. Nothing in London goes faster than about 20mph... except the bikes!
Also, London Cycling is a LOT safer than it was 10-12 years ago... Drivers are much more bike-aware than they were, there is less density of traffic, there are better provisions on-road for cyclists... I could go on, but the number of people cycling is still going up and the number of deaths is going down, so shrug Still, do be careful and conservative / defensive in your thinking - better to be late than squashed etc...
@agile_geek I had a similar bit when cycling in Pennsylvania. There was a bit on a state route where the speed limit was 45 and the road was bendy but the locals thought 60 was a good speed to go
cycling is by far my fave way to get around central london
if u cycle lots are you ever worried about the pollution produced by cars you are near by. If that makes sense? Like would a mask help?
I can't ride with a mask...feels like I'm suffocating!
a mask might help with particulates, although probably not with gases... but what @agile_geek said - it's horrible wearing a mask
check out the cumulative black-carbon exposure chart here though - https://www.theguardian.com/environment/bike-blog/2014/feb/20/air-pollution-cyclists-bike-blog
the cycle-courier was better off than everyone apart from the office worker
I was a cycle courier for a year in london back in 2005-6 and I am still alive. I've cycled to work in London almost every day since 2006. I did try masks initially, they certainly cut down the particles, but were horrible to wear. Almost every car and bus is a lot cleaner now than 10 years ago so i no longer come home with a face covered in soot. If you cycle fast enough, I am sure you dont get any pollution π
Bore da pawb
mornings!
Quick question... How do those of you using Docker manage temporary filesystem usage (in this case for an HTTP upload that will then be pushed to S3)?
also, side-issue, is everyone going uber-jar -> Docker Container -> Deploy, or are some people running in a more interactive manner..?
@maleghast Personally I'd mount a volume outside of the container on machine. It depends on a few factors, size of the docker container and the average size of the files being uploaded. In the early days of messing around with it all I was filling docker containers up with pulled data from kafka, obviously it blows up the container.
That sounds like a good plan @jasonbell
I am going to be deploying into a K8s cluster - is there a received way of accessing host-machine disk to provide for a mounted Volume in a container?
@maleghast Even more fun when it's handled by Mesos/Marathon. Yay! Boom! Yay! Boom! Yay! Boom! Repeat.... π
@jasonbell - No worries, thanks for the input / answer regardless - it confirmed something that I suspected π
@maleghast another option is to give your container filesystem a few gigs to play with ... but if you mount something from the host, make sure that it's not from any partition where filling that partition up would cause badness (e.g. if say you have ZK coordinating your dc/os cluster you really don't want the partition it's writing to to fill up)
@mccraigmccraig - Yeah, I was wondering if I could do this safely as well...
here are the block-storage mounts i ended up using on my dc/os hosts: https://gist.github.com/mccraigmccraig/52b0b11dfef35487b457d9622a443802
I mean, as long as I clear out the temporary fs location to S3 regularly then even a few hundred MBs would be sufficient - it's an image uploader for jpegs only, and we are talking about logos, so not HUGE files.
@maleghast treat your docker file space as completely transitory and you will save yourself a lot of pain. Writing to your files space makes your docker statefull, leading to the usual issues of managing state across multiple instances. What happens if an instance dies between uploading the file and persisting that file elsewhere. Expect your docker to be wiped out at any moment and be replaced by a new container from your docker image and your architecture will be much more robust and scalable. Or if loosing data is not that important, then please ignore π
Yeah, I absolutely feel this way about the actual container in almost all circumstances, but a Volume mounted in to the container / containers that is on a native filesystem should__ be ok even if one or more of the containers were to die and / or be replaced.
What I want__ to be doing is streaming the upload to S3 without the interim step to the / a FS, but mccraigmccraig suggested that there are some performance concerns with doing this...
But this particular application is small, internal only and will never need to be all that performant or resilient as it will only ever have a handful of users.
@mccraigmccraig - Cool, thanks π
in particular, /var/log
and /home/centos
(or wherever you put home dirs in your distro) are on their own partitions - that's just generally a good idea... the /var/lib/*
stuff depends on what you are running
oh, and the /var/lib/docker
is where docker puts its filesystems, so you probably want that on it's own partition
I was even considering provisioning some EBS to run next to the K8s cluster and using that, but I think that it might be massive overkill
some early dc/os learning (and i presume it will be similar for k8s), is that you don't want things like uncontrolled logging, or accidentally filling up a filesystem when you gunzip an archive, to bring down your cluster
@maleghast what dyu mean "EBS to run next to the K8s cluster" ?
You can provision storage-as-a-service on AWS, I would have my containers mount space on that.
oh, yeah, i generally run all my EC2 instances with an EBS root volume, then mount a bunch of other EBS volumes (at the mount points in the gist above in our dc/os case)
@U0510KXTU that seems not-right π. We will try to repro.
that was a good problem description already!
@U0510KXTU I am working on reproducing this error for the team to review. Would you be able to put your rule and query in a gist? I was able to invoke a rule without running into an error and I want to look at the specifics of your case and incorporate them into my testing.
we use terraform to generate the clusters, 'cos doing it manually would be awful
I am not going to use DC-OS - first port of call is a small K8s cluster for pre-prod / semi-live environment, but I think that I will be using Terraform and / or KOPS to build this first environment.
i'd see how it goes with k8s @maleghast - i'm thinking of ditching dc/os for k8s anyway, largely because EKS and google-cloud seem to turn the "building and managing the cluster" piece into a service
Yeah, I am really hoping that EKS takes the headache away from me, but I don't want to have my workloads deployed in the US, so I am waiting for EKS to be available in EU-West-1 (Ireland) before I adopt it.
@maleghast I've done a fair bit of file shuffling inside containers
granted in the early days (2015 or so)
but basically an uploader with a temporary file
as I knew it was sub 20MB in general and the files would be definitively cleaned up on failure & the container had space it wasn't too bad
Thanks @alex.lynham - I think that I will go this route; seems the simplest. I want to re-factor the code to stream to S3 without the tempfile, but I am not going to have time to do that right now__
that said, the only larger files I've had to deal with from a process in docker I pulled them into a mounted volume
so they had access to the host filesystem for storage
those were like potentially in the GB range tho
just make sure you clean up files otherwise strange stuff happens
I had a thing that was a bit too lenient on failing and retrying and it kept doing weird stuff locally
While we are on this subject, what are everyone's favourite Docker Container Registries for when you need private registry...
in the end made it ruthlessly nuke the file whatever happened and that was easier to reason about
just use docker hub private imo
although AWS registry is nice n' easy if you're using EKS/ECS
I was wondering if the AWS one would work well, but the online docs only talk about ECS integration, so I was wondering about alternatives
I think as far as the docker command line tool is concerned they all work. You should be able to pull/push from private dockerhub, aws, google cloud. They have slightly different UIs but they implement the same API for docker to talk to
Weβre on Google Cloud and I need to run gcloud auth
before hand but I can pull our private images then by just running docker pull
@firthh - Thanks, that's all pretty reassuring. I don't want to run my own registry, because I don't want the fixed cost of an ASG, 2 EC2s and ... etc...
But I am pretty sure that I can use AWS ECR, and that keeps everything in the same bill for our company (except Github)
user=> (ns)
CompilerException clojure.lang.ExceptionInfo: Call to clojure.core/ns did not conform to spec:
val: () fails spec: :clojure.core.specs.alpha/ns-form at: [:args :name] predicate: simple-symbol?, Insufficient input
#:clojure.spec.alpha{:problems [{:path [:args :name], :reason "Insufficient input", :pred clojure.core/simple-symbol?, :val (), :via [:clojure.core.specs.alpha/ns-form :clojure.core.specs.alpha/ns-form], :in []}], :spec #object[clojure.spec.alpha$regex_spec_impl$reify__2436 0x44e3a2b2 "[email protected]"], :value nil, :args nil}, compiling:(NO_SOURCE_PATH:1:1)
user=> (ns)
Syntax error macroexpanding clojure.core/ns at (1:1). Cause: Call to clojure.core/ns did not conform to spec:
val: () fails spec: :clojure.core.specs.alpha/ns-form at: [:args :name] predicate: simple-symbol?, Insufficient input
yeah that's a big improvement