hadolint
ghcid
Our great sponsors
hadolint | ghcid | |
---|---|---|
24 | 12 | |
9,623 | 1,120 | |
2.0% | - | |
2.3 | 4.0 | |
2 days ago | 28 days ago | |
Haskell | Haskell | |
GNU General Public License v3.0 only | GNU General Public License v3.0 or later |
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
-
Writing a Minecraft server from scratch in Bash (2022)
To skip the "move your scripts to standalone files" step some devs don't like, consider something like https://github.com/hadolint/hadolint which runs Shellcheck over inline scripts within Containerfiles.
-
I reduced the size of my Docker image by 40% – Dockerizing shell scripts
This is neat :)
I love going and making containers smaller and faster to build.
I don't know if it's useful for alpine, but adding a --mount=type=cache argument to the RUN command that `apk add`s might shave a few seconds off rebuilds. Probably not worth it, in your case, unless you're invalidating the cached layer often (adding or removing deps, intentionally building without layer caching to ensure you have the latest packages).
Hadolint is another tool worth checking out if you like spending time messing with Dockerfiles: https://github.com/hadolint/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)
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
stack - The Haskell Tool Stack
ghcide - A library for building Haskell IDE tooling
stan - 🕵️ Haskell STatic ANalyser
hlint - Haskell source code suggestions
grype - A vulnerability scanner for container images and filesystems
ormolu - A formatter for Haskell source code
leksah - Haskell IDE