hadolint
ghcid
Our great sponsors
hadolint | ghcid | |
---|---|---|
21 | 12 | |
8,958 | 1,100 | |
1.9% | - | |
0.0 | 0.0 | |
10 days ago | 2 months ago | |
Haskell | Haskell | |
GNU General Public License v3.0 only | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
hadolint
-
Checkmake: Experimental Linter/Analyzer for Makefiles
Some discussion on that here:
https://github.com/koalaman/shellcheck/issues/58
The hadolint project does shell checking for Dockerfiles and it uses shellcheck:
https://github.com/hadolint/hadolint
So the approach is definitely feasible, but you do need a new project and probably it needs to be written in Haskell.
-
Dokter: the doctor for your Dockerfiles
how does this compare to something like hadolint?
Also, have you run across Hadolint for linting? https://github.com/hadolint/hadolint
-
Are there tools that tell you if you can optimize your dockerfiles?
Wow that's a great tool and it has a ton of integrations https://github.com/hadolint/hadolint/blob/master/docs/INTEGRATION.md
- Dhall: A Gateway Drug to Haskell
- can you recommend active Haskell open source projects?
-
Just Say No To `:Latest`
Worth noting that Hadolint[1] raises warnings the issues mentioned in the article. Some examples of warnings:
- https://github.com/hadolint/hadolint/wiki/DL3007: Using latest is prone to errors if the image will ever update. Pin the version explicitly to a release tag.
-
Kubernetes Security Checklist 2021
Dockerfile should be checked during development by automated scanners (Kics, Hadolint, Conftest)
-
CONTAINER SECURITY
Linters are an effective way to catch (security) bugs early on in your development process. For most programming languages using linters is pretty standard. Hadolint is a linter for your Dockerfiles and is found on github here.
-
Best Practices for R with Docker
Best practices for writing Dockerfiles are being followed more and more often according to this paper after mining more than 10 million Dockerfiles on Docker Hub and GitHub. However, there is still room for improvement. This is where linters come in as useful tools for static code analysis. Hadolint lists lots of rules for Dockerfiles and is available as a VS Code extension.
ghcid
-
Static-ls - a low memory Haskell language server based on hiedb and hiefiles
With a combination of ghcid, an hiedb filewatcher and the -fdefer-type-errors flag you can get pretty solid IDE behavior. Currently only ghc 9.4.4 is supported but happy to personally help people set this up if interested!
- Open source projects for beginners
-
TDD for AoC?
In addition, for Haskell, I usually have ghcid running, which likewise re-runs on every file change, but gives faster feedback about any type errors than the full compiler, and also is configured to evaluate
-
Most braindead easy end to end haskell workflow?
VS Code + Haskell extension is usually best, but ghcid is an alternative which is much simpler, easier to set up, less pretty and powerful but still pretty easy and effective to use. Here's a workflow:
-
Fast way to run Haskell script from nvim?
you should also checkout the ghci vim plugin https://github.com/ndmitchell/ghcid/tree/master/plugins/nvim
-
Can't get things to work. It is normal to learn haskell with plain vim?
I just went through the same thing. I settled on using stack and ghcid. All it does is recompile on any change to source code so you at least get lightning fast feedback. Both stack and ghcid have been easy to install and use so far.
-
Why Clojure?
Have you tried out ghcid? It basically just runs ghci on your program every time you save, and gives an updated list of errors and warnings. Not interactive in the sense that you don't manually test your functions with it, but like 95% of debugging in Haskell is just fixing errors at compilation time. I find it to be a very nice developer experience. Just need a text editor and a terminal with ghcid open and you get immediate feedback as you program.
What are some alternatives?
trivy - Find vulnerabilities, misconfigurations, secrets, SBOM in containers, Kubernetes, code repositories, clouds and more
dockle - Container Image Linter for Security, Helping build the Best-Practice Docker Image, Easy to start
docker-bench-security - The Docker Bench for Security is a script that checks for dozens of common best-practices around deploying Docker containers in production.
ghci-ng
ghcide - A library for building Haskell IDE tooling
stack - The Haskell Tool Stack
stan - 🕵️ Haskell STatic ANalyser
grype - A vulnerability scanner for container images and filesystems
ormolu - A formatter for Haskell source code
hlint - Haskell source code suggestions
leksah - Haskell IDE