This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2020-04-24
Channels
- # announcements (8)
- # aws (12)
- # babashka (84)
- # beginners (380)
- # calva (56)
- # clj-kondo (52)
- # cljdoc (4)
- # cljs-dev (327)
- # cljsrn (4)
- # clojure (154)
- # clojure-italy (5)
- # clojure-nl (3)
- # clojure-uk (21)
- # clojurescript (52)
- # conjure (133)
- # cursive (64)
- # datomic (33)
- # emacs (22)
- # fulcro (35)
- # graalvm (24)
- # graphql (1)
- # kaocha (1)
- # leiningen (1)
- # off-topic (24)
- # onyx (2)
- # pathom (10)
- # re-frame (3)
- # reagent (3)
- # reitit (3)
- # shadow-cljs (48)
- # spacemacs (12)
- # tools-deps (85)
- # xtdb (7)
Hello, what is a recommended/nice way of organizing a mono-repo like project of multiple tools.deps backed projects in terms of being able to run all tests and produce JARs/docker images/run tests for each from the root of the project? I have something like this, using Makefiles:
.
├── Makefile
├── docker-compose.yaml
├── consumer
│ ├── Dockerfile
│ ├── Makefile
│ ├── deps.edn
│ ├── src
│ │ └── queue
│ │ └── consumer.clj
│ └── test
│ └── queue
│ └── consumer_test.clj
└── producer
├── Dockerfile
├── Makefile
├── deps.edn
├── src
│ └── queue
│ └── producer.clj
└── test
└── queue
└── producer_test.clj
@rahul080327 I'd recommend looking at juxt edge which is my implementation of a monorepo. If you are looking to share makefiles, you probably want the include instruction in make (not shown in edge)
This looks really neat @U09LZR36F! I was considering going the shell approach but was thinking the need for manual orchestration and error handling might be complex hence opted for Make. But will try out your organized approach! Thanks! 😄
Is it possible to use clj
and friends private repositories via a password-protected SSH key?
@ghadi Yes, I did that but I’m getting an error (`USERAUTH fail`) when I try it with a password-protected SSH key.
I don't think it should work
I don't think password protected ssh keys are supported in the set of stuff we're running
JSch, the underlying ssh library, is stupid w.r.t. understanding .ssh/config when there is also an ssh-agent present
% ssh-add -l
4096 SHA256:… /Users/zane/.ssh/id_rsa (RSA)
% cat ~/.ssh/config
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_rsa
i.e. It’s using the copy of the repository I downloaded when I was using a passwordless SSH key.
I don't think in your case there is much harm in removing just the IdentityFile portion of that block
or 1 SSH key that grants you access to a bunch of repos, but you also have unrelated SSH keys present too?
Also, I just want to confirm one more thing: https://ask.clojure.org/index.php/8725/deps-support-newer-private-file-formats-types-such-ed25519 that clj
won’t work with OpenSSH-format keys and that you must use -m PEM
when generating them. Is that correct?
My personal recommendation is to not use files at all, only put your ssh keys into the agent
clj
can use fancy newer keys like ed25519 keys as long as JSch is asking the agent to deal with them