Comments (4)
Ah! Forgot that Helm finally cut over to Cats. Will definitely do that.
from ciris.
Thanks for raising this issue! The contributing guide should definitely include a section on how to contribute new modules, and I'll try to put some effort into documenting this. In the meantime, you could have a look at pull requests for previous modules (e.g. #103), and the external libraries.
Have been falling for Ciris lately and begun efforts to move our configuration patterns over to it.
That's great! I'd be very happy to answer any questions you might have, and hear about your experiences, either here or on Gitter.
In-house I've been developing extensions for Hashicorp Consul and Vault
Modules for Consul and Vault would both be very welcome additions!
Any guidance on how such contributions should be structured?
For now, pull requests like #103 and external libraries can serve as examples. I'd very much appreciate hearing about your experience of contributing a new module, and we can try to clarify any pain points in the contributing guide.
I have been utilizing the
ciris
namespace, which seems to be an established pattern.
Yes, that sounds good. Both the modules here and the external libraries follow this pattern.
In regards to dependencies, neither has a Hashicorp-provided JVM lib; should I wrap against their HTTP endpoints via a Typelevel HTTP client, e.g. http4s, or is it okay to include third party Java wrappers?
The external libraries mostly make use of third party Java libraries, but I don't see a reason why multiple alternatives could exist, i.e. ciris-consul-http4s
and ciris-consul-*
. I'll leave it up to you to decide with which libraries you'd like to integrate.
from ciris.
Also, there is a native Scala client for Consul, helm, which might be of interest.
from ciris.
@goedelsoup it has taken quite a while longer than I had expected to get this written up, but there's now #144 which should help out with this -- do you want to have a look before I merge?
from ciris.
Related Issues (20)
- Make ConfigException message available on ConfigErrors
- Provide syntax for raising errors in context
- Add support for scala 2.13.0-RC1
- Functor/Monad instances for ConfigResult HOT 4
- Cross Compile to 2.13 HOT 1
- enfF does not suspend effect of loading from environment HOT 1
- SHA-1 for hashes HOT 2
- Using ApplicativeError instead of MonadError HOT 1
- Why Cats Effect? HOT 4
- parallel and sequential computations are not equivalent (up to failure messages) in some cases HOT 5
- Later versions not pushed to maven HOT 1
- Issue when using in GraalVM HOT 4
- Add YAML support via circe-yaml HOT 1
- Investigate moving to sbt-release-early HOT 1
- Scala.js support HOT 5
- Load from file HOT 4
- Add ConfigSource for reading from files HOT 1
- Add support for iron HOT 4
- application.conf - typesafe configuration as config loader HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ciris.