Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is this project active? #773

Closed
vishalovercome opened this issue Sep 8, 2022 · 4 comments
Closed

Is this project active? #773

vishalovercome opened this issue Sep 8, 2022 · 4 comments

Comments

@vishalovercome
Copy link

I've been using HOCON for all my Scala projects and I'm one happy customer! However, there has been no major feature development while issues and pull requests keep piling up, some of which my team could benefit from such as support for more file types, transformations, and validation. That's why I wanted to know whether there's a roadmap for this project and what all features can we expect in the coming months and years.

If there's no plan to add any more features in the next couple of years then can anyone suggest any other configuration file format that has at least as many features as HOCON? Would that be Jsonnet?

@raboof
Copy link
Contributor

raboof commented Sep 8, 2022

I don't speak for the project, but I'm a happy user as well and have been following it for a while.

You are correct that the project currently isn't very active, and I think the kinds of changes you mention (file types, transformations, and validation) are unlikely to be accepted in the project any time soon. However, especially file types and validation (and perhaps transformations as well) also sound like things that could quite nicely live in a separate library that would depend on this one - so perhaps no activity here is needed for those?

I don't know any configuration language that I'd prefer over HOCON. I've heard good things about Dhall but I haven't used it myself.

@vishalovercome
Copy link
Author

I wanted to avoid Dhall/Jsonnet because it might be better to simply use a full blown programming language. HOCON has got best compromise between ease of use and complexity. However, this project can pickup a thing or two from projects such as consul-template which

  1. Provides various useful transformations with a lightweight syntax
  2. Has an easy way of doing a dry-run to ensure some level of validity of configuration.

If not validity, at least render the entirety of a file after processing includes, environment variables, overrides, etc. This is par for the course for kustomize (kubernetes) and terragrunt (terraform) and is very useful for debugging.

Reading/writing yaml would be important as it would open up the possibility of managing kubernetes and docker compose configurations

Code generation from config, while potentially error-prone can help developers get started with config parsing.

include syntax can be further enhanced:

  1. IDE based auto-completion when modifying a parent field
  2. supporting more types of resources
  3. parameterization of resource

@floating-cat
Copy link

floating-cat commented Oct 15, 2022

You could check the sconfig project which is rewritten in Scala from this project and seems active.
IMHO, there are no other good alternative configuration file formats considering ecosystem and active maintenance except something that you already know (e.g. json, toml, yaml, hcl).

@ennru
Copy link
Member

ennru commented Jul 4, 2023

Please see

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants