# `geol` ![GitHub Downloads](https://img.shields.io/github/downloads/opt-nc/geol/total?logo=github) ![GitHub release (latest by date)](https://img.shields.io/github/v/release/opt-nc/geol) ![GitHub go.mod Go version](https://img.shields.io/github/go-mod/go-version/opt-nc/geol) ![GitHub License](https://img.shields.io/github/license/opt-nc/geol) ![GitHub Repo stars](https://img.shields.io/github/stars/opt-nc/geol) [![Powered By: GoReleaser](https://img.shields.io/badge/powered%20by-goreleaser-green.svg)](https://github.com/goreleaser) [![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org) [![GoReportCard](https://goreportcard.com/badge/github.com//opt-nc/geol)](https://goreportcard.com/report/github.com/opt-nc/geol) [![GoDoc](https://godoc.org/github.com/opt-nc/geol?status.svg)](https://pkg.go.dev/github.com/opt-nc/geol) [![lint-workflow](https://github.com/opt-nc/geol/actions/workflows/golangci-lint.yml/badge.svg)](https://github.com/opt-nc/geol/actions/workflows/golangci-lint.yml) [![OpenSSF Best Practices](https://www.bestpractices.dev/projects/11239/badge)](https://www.bestpractices.dev/projects/11239) [![πŸ“Š OSS Insights](https://img.shields.io/badge/OSS%20Insights-%F0%9F%93%8A-blue)](https://ossinsight.io/analyze/opt-nc/geol#overview) ## ❔ About `geol` is a Go based alternative to the famous [`hugovk/norwegianblue`](https://github.com/hugovk/norwegianblue) python based `cli`. Its ambitions are to : 1. Deliver a at least UX as good as `hugovk/norwegianblue` aka. `geol` does, 2. First class terminal based UX 3. Make delivery easier and safer 4. Enhance with new custom awaited features 5. Create innovative ways to manager EOLs for more security, for all ## πŸ§‘β€πŸ€β€πŸ§‘ Core team and roles | Person | 🎯 Product Manager | πŸ‘©β€πŸ’» Lead Dev | πŸ“Š Data Scientist | πŸ› οΈ Data Engineer | 🎀 Storyteller | πŸ§ͺ End-user & Tester | πŸ§‘β€πŸ€β€πŸ§‘ Other role | |--------------------------------------------|--------------------|---------------|-----------------|------------------|----------------|-----------------------|---------------| | [@adriens](https://github.com/adriens) | βœ… | | βœ… | βœ… | βœ… | βœ… | | | [@supervinh](https://github.com/supervinh) | | βœ… | | | | βœ… | | | [@mbarre](https://github.com/mbarre) | | | | | | βœ… | | | [@Draks898](https://github.com/Draks898) | | | | | | βœ… | | | [@aymanbagabas](https://github.com/aymanbagabas) | | | | | | | [`charmbracelet`](https://github.com/charmbracelet/) expert ## πŸ“‘ Resources - [endoflife API](https://endoflife.date/docs/api/v1/) - [βŒ› Manage EoLs like a boss with endoflife.date πŸ›‘](https://dev.to/adriens/manage-eols-like-a-boss-with-endoflifedate-2ikf) - [πŸƒ How Long Your Phone Will Be Supported by the Manufacturer πŸ“…](https://dev.to/adriens/how-long-your-phone-will-be-supported-by-the-manufacturer-3elf) - [♾️ Efficient stack management with eol on GitHub πŸ§‘β€πŸ€β€πŸ§‘](https://dev.to/optnc/efficient-stack-management-with-eol-on-github-24g8) - [πŸ”¬ Gitlab 15.8 analysis w. endoflife.date, grype, (x)eol πŸ‹](https://dev.to/optnc/gitlab-158-analysis-w-endoflifedate-grype-xeol-24b0) - [endoflife.date Series' Articles](https://dev.to/adriens/series/21232) - [⏳ Managing EOLs w. `geol`: the impossible `1'` Mux demo](https://dev.to/adriens/managing-eols-w-geol-the-impossible-1-mux-demo-cnl) ## πŸš€ QuickStart To install: - **Manually**: Go to the [releases](https://github.com/opt-nc/geol/releases) page and download the version corresponding to your operating system - **Automatic**: Install via `brew` see [homebrew-tap](https://github.com/opt-nc/homebrew-tap) 1. Install `geol` With `brew`: ```sh brew install curl brew install --cask opt-nc/homebrew-tap/geol ``` > [!WARNING] > For macos users, you will have to allow the execution of `geol` in your security settings, as it is not signed with an Apple Developer account. You can do this by going to `System Preferences > Security & Privacy > General` and clicking on `Allow Anyway` for `geol`. > or you can run the following command in your terminal to allow the execution of `geol`: >```sh >xattr -d com.apple.quarantine $(which geol) >``` Or simply with `go`: ```sh go install github.com/opt-nc/geol/v2@latest ``` Or with shell script: ```sh curl -fsSL https://raw.githubusercontent.com/opt-nc/geol/main/install.sh | bash ``` 2. Update: ```sh brew update && brew upgrade --cask geol geol version ``` ## Autocompletion If the autocompletion is not working yet, you need to update your fpath. For `zsh` you need to add the following lines to your `.zshrc` file : ```sh # === Homebrew completions === # Add Homebrew completions to fpath fpath=(/home/linuxbrew/.linuxbrew/share/zsh/site-functions $fpath) # Activate Homebrew completions autoload -Uz compinit compinit # (Optional) Disable the warning of duplicate completions zstyle ':completion:*' verbose yes ``` Then restart your terminal or source your `.zshrc` file : ```sh source ~/.zshrc ``` ## πŸ§‘β€πŸ’» Documentation You can access the help either by using the `help` subcommand or with the man page. ```sh geol help man geol ``` ## πŸ€“ Build it yourself To build it youself : ```sh go build -o geol ./cmd/geol ``` ## 🍿 See it in action geol-unboxing-video-thumbnail ## πŸ™ Acknowledgments - [endoflife.date](https://endoflife.date) for providing the API ## πŸ’‘ More around `endoflife.date` ecosystem `endoflife` is an ever-growing ecosystem, below some resources to be aware of them : - Official [`endoflife.date` Known users](https://github.com/endoflife-date/endoflife.date/wiki/Known-Users) - [`hugovk/norwegianblue`](https://github.com/hugovk/norwegianblue) - [`xeol`](https://github.com/xeol-io/xeol) _"A scanner for end-of-life (EOL) software and dependencies in container images, filesystems, and SBOMs"_ ## πŸ“ˆ Star History [![Star History Chart](https://api.star-history.com/svg?repos=opt-nc/geol&type=date&legend=top-left)](https://www.star-history.com/#opt-nc/geol&type=date&legend=top-left)