{"id":29005311,"url":"https://github.com/vst/clompse","last_synced_at":"2026-05-16T23:44:04.540Z","repository":{"id":234926679,"uuid":"789747617","full_name":"vst/clompse","owner":"vst","description":"Take a glimpse at your clouds.","archived":false,"fork":false,"pushed_at":"2025-02-13T01:43:17.000Z","size":170,"stargazers_count":1,"open_issues_count":5,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-13T02:29:32.554Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vst.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-21T12:59:39.000Z","updated_at":"2025-02-13T01:43:21.000Z","dependencies_parsed_at":"2024-05-02T02:29:15.855Z","dependency_job_id":"5caa1363-568c-48c6-a1f8-911c91ebb3d0","html_url":"https://github.com/vst/clompse","commit_stats":null,"previous_names":["vst/clompse"],"tags_count":4,"template":false,"template_full_name":"vst/haskell-template-hebele","purl":"pkg:github/vst/clompse","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vst%2Fclompse","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vst%2Fclompse/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vst%2Fclompse/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vst%2Fclompse/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vst","download_url":"https://codeload.github.com/vst/clompse/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vst%2Fclompse/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261859212,"owners_count":23220711,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-25T11:05:48.724Z","updated_at":"2025-12-29T06:45:53.905Z","avatar_url":"https://github.com/vst.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n    \u003cdiv\u003e\n        \u003cimg alt=\"clompse\" width=\"320\" src=\"https://github.com/vst/clompse/assets/374793/089a65db-0cc1-49ba-ac8a-62b743910ead\" /\u003e\n    \u003c/div\u003e\n    \u003csub\u003eTake a Glimpse at Your Cloud\u003c/sub\u003e\n    \u003cp\u003e\u003c/p\u003e\n    \u003cdiv\u003e\n        \u003cimg alt=\"GitHub Release\" src=\"https://img.shields.io/github/v/release/vst/clompse?display_name=tag\u0026style=for-the-badge\"\u003e\n        \u003cimg alt=\"GitHub Issues or Pull Requests\" src=\"https://img.shields.io/github/issues/vst/clompse?style=for-the-badge\"\u003e\n        \u003cimg alt=\"GitHub Issues or Pull Requests\" src=\"https://img.shields.io/github/issues-pr/vst/clompse?style=for-the-badge\"\u003e\n    \u003c/div\u003e\n\u003c/h1\u003e\n\n\u003e [!WARNING]\n\u003e\n\u003e This is an experimental project that is in its early stages of development.\n\u003e Both the functionality and API are subject to change at any time.\n\u003e\n\u003e It is not recommended to use this in production or any other critical\n\u003e environment. Use at your own risk.\n\n**clompse** is a command-line tool designed to provide a unified interface to\nvarious cloud providers, helping you manage a registry of your cloud resources.\n\nIt consumes a JSON/YAML formatted configuration file that lists various profiles\nwhere each contains a number of cloud provider API credentials. It then allows\nyou to query and list cloud resources across these providers. The output can be\ndisplayed in tabular format on the console or exported to a file in CSV or JSON\nformat.\n\nCurrently, it supports listing cloud servers with their firewall configurations,\nobject storage buckets, DNS zones, and records for the following cloud service\nproviders:\n\n1. Amazon Web Services\n2. DigitalOcean\n3. Hetzner\n\n## Motivation\n\nUsing cloud services has become common for many individuals and organizations.\nAs the number of cloud resources grows, it becomes increasingly difficult to\nkeep track of them. This tool aims to provide a unified interface to query and\nlist commonly-used cloud resources across different cloud providers.\n\nWhile there are many tools and SaaS solutions that offer similar or more\nadvanced functionality, they are often too complex, too complicated, or too\nexpensive for individual hackers. This tool is a more humble alternative to such\nsolutions.\n\n## Non-Motivation\n\nThis tool is not intended to be a full-fledged cloud management tool. It is not\na replacement for the cloud providers' own management consoles or APIs.\n\nIt also does not provide functionality to create, update, or delete cloud\nresources, nor is such functionality planned: it is a read-only interface to\ncloud resources.\n\n## Challenge\n\nNot all cloud providers offer APIs that list resources as conveniently as\nothers. Additionally, the exposed properties of similar resources may differ\nbetween providers.\n\nTo address this, the tool defines common data types for cloud resources and maps\ncloud provider-specific data types to these common types. It is not always\npossible to map all properties of a cloud resource to a common data type. In\nsuch cases, the tool will assume some (hopefully) reasonable defaults or omit\nsuch properties altogether.\n\n## Installation\n\nDownload and install the statically compiled binary for Linux (x86_64):\n\n```sh\ncurl -Lo /tmp/clompse https://github.com/vst/clompse/releases/latest/download/clompse-static-linux-x86_64\nsudo install -m 755 /tmp/clompse /usr/local/bin/clompse\n```\n\nOr install it into your `nix` profile (replace `\u003cVERSION\u003e` with the latest\nversion):\n\n```sh\nnix profile install --file https://github.com/vst/clompse/archive/v\u003cVERSION\u003e.tar.gz\n```\n\n## Configuration\n\nHere is an example configuration file:\n\n```yaml\n# yaml-language-server: $schema=https://raw.githubusercontent.com/vst/clompse/main/config_schema.json\n\nname: \"Example Configuration\"\n\ncloud_profiles:\n  - name: \"Personal\"\n    connections:\n      - type: \"aws\"\n        value:\n          access_key_id: \"AKIAIOSFODNN7EXAMPLE\"\n          secret_access_key: \"wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY\"\n  - name: \"Work - Internal\"\n    connections:\n      - type: \"aws\"\n        value:\n          access_key_id: \"AKIAIOSFODH7EXAMPLE\"\n          secret_access_key: \"wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY\"\n  - name: \"Work - Client\"\n    connections:\n      - type: \"do\"\n        value:\n          token: \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\"\n          spaces_access_key_id: \"AKIAIOSFODNN7EXAMPLE\"\n          spaces_secret_access_key: \"wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY\"\n      - type: \"hetzner\"\n        value:\n          token: \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\"\n      - type: \"hetzner\"\n        value:\n          token: \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\"\n          token_dns: \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\"\n```\n\n## Usage\n\nCommand-line parameters should be self-explanatory:\n\n```console\n$ clompse --help\nclompse - Rainwater Harvesting vX.Y.Z\n\nUsage: clompse (config | server | storage | domains | version) [-v|--version]\n\n  Top Level Commands\n\nAvailable options:\n  -v,--version             Show application version and exit\n  -h,--help                Show this help text\n\nAvailable commands:\n  config                   Configuration commands.\n  server                   Server commands.\n  storage                  Storage commands.\n  domains                  DNS commands.\n  version                  Show version and build information.\n\nSee \u003chttps://github.com/vst/clompse\u003e for help and feedback.\n```\n\n## Development\n\nProvision Nix shell via `direnv`:\n\n```sh\ndirenv allow\n```\n\nCheck, lint, test and build everything with this:\n\n```sh\ncabal verify [-c | --clean]\n```\n\n## License\n\nCopyright \u0026copy; 2024-2025 Vehbi Sinan Tunalioglu. This work is licensed under\n[MIT License].\n\n\u003c!-- REFERENCES --\u003e\n\n[MIT License]: https://opensource.org/license/mit\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvst%2Fclompse","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvst%2Fclompse","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvst%2Fclompse/lists"}