{"id":13451569,"url":"https://github.com/github/vulcanizer","last_synced_at":"2025-04-14T06:04:13.225Z","repository":{"id":37550435,"uuid":"144591780","full_name":"github/vulcanizer","owner":"github","description":"GitHub's ops focused Elasticsearch library","archived":false,"fork":false,"pushed_at":"2025-03-21T14:58:07.000Z","size":3236,"stargazers_count":667,"open_issues_count":1,"forks_count":56,"subscribers_count":321,"default_branch":"main","last_synced_at":"2025-04-14T06:03:57.581Z","etag":null,"topics":["elasticsearch","go","operations"],"latest_commit_sha":null,"homepage":null,"language":"Go","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/github.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-08-13T14:33:29.000Z","updated_at":"2025-03-21T14:58:11.000Z","dependencies_parsed_at":"2025-01-17T15:03:57.655Z","dependency_job_id":"808a02a0-c41e-44d5-94a0-aa0eab98e7a4","html_url":"https://github.com/github/vulcanizer","commit_stats":{"total_commits":281,"total_committers":24,"mean_commits":"11.708333333333334","dds":0.7046263345195729,"last_synced_commit":"c03609ccf4104d936d98b4e61c18432749dab456"},"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/github%2Fvulcanizer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/github%2Fvulcanizer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/github%2Fvulcanizer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/github%2Fvulcanizer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/github","download_url":"https://codeload.github.com/github/vulcanizer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248830396,"owners_count":21168272,"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":["elasticsearch","go","operations"],"created_at":"2024-07-31T07:00:56.075Z","updated_at":"2025-04-14T06:04:13.175Z","avatar_url":"https://github.com/github.png","language":"Go","readme":"# vulcanizer\n\n⚠️ This repository is deprecated and no longer maintained.\n\nAs of March 2025, the vulcanizer project has been officially deprecated. This means:\n\n- No further updates, bug fixes, or security patches will be provided.\n- Issues and pull requests will no longer be monitored or addressed.\n- Users are encouraged to find alternative solutions or migrate to maintained projects such as [go-elasticsearch](https://github.com/elastic/go-elasticsearch)\n\nIf you are currently using this repository, we recommend forking it if you wish to continue development on your own.\n\n---\n\nGitHub's ops focused Elasticsearch library\n\n[![build status](https://github.com/github/vulcanizer/workflows/Vulcanizer%20CI/badge.svg)](https://github.com/github/vulcanizer/actions) [![GoDoc](https://godoc.org/github.com/github/vulcanizer?status.svg)](https://godoc.org/github.com/github/vulcanizer) [![Go Report Card](https://goreportcard.com/badge/github.com/github/vulcanizer)](https://goreportcard.com/report/github.com/github/vulcanizer) [![release](https://img.shields.io/github/release/github/vulcanizer.svg)](https://github.com/github/vulcanizer/releases)\n\nThis project is a golang library for interacting with an Elasticsearch cluster. It's goal is to provide a high level API to help with common tasks that are associated with operating an Elasticsearch cluster such as querying health status of the cluster, migrating data off of nodes, updating cluster settings, etc.\n\nThis project does not aim to be a fully-featured API client for querying or indexing to Elasticsearch.\n\n### Go API\n\nYou can perform custom operations in your Go application.\n\n```go\nimport \"github.com/github/vulcanizer\"\n\nv = vulcanizer.NewClient(\"localhost\", 9200)\noldSetting, newSetting, err := v.SetSetting(\"indices.recovery.max_bytes_per_sec\", \"1000mb\")\n```\n\n### Command line application\n\nThis project produces a `vulcanizer` binary that is a command line application that can be used to manage your Elasticsearch cluster.\n\n```\n$ vulcanizer help\nUsage:\n  vulcanizer [command]\n\nAvailable Commands:\n  aliases         Interact with aliases of the cluster.\n  allocation      Set shard allocation on the cluster.\n  analyze         Analyze text given an analyzer or a field and index.\n  drain           Drain a server or see what servers are draining.\n  fill            Fill servers with data, removing shard allocation exclusion rules.\n  health          Display the health of the cluster.\n  heap            Display the node heap stats.\n  help            Help about any command\n  hotthreads      Display the current hot threads by node in the cluster.\n  indices         Display the indices of the cluster.\n  mappings        Display the mappings of the specified index.\n  nodeallocations Display the nodes of the cluster and their disk usage/allocation.\n  nodes           Display the nodes of the cluster.\n  repository      Interact with the configured snapshot repositories.\n  setting         Interact with cluster settings.\n  settings        Display all the settings of the cluster.\n  shards          Get shard data by cluster node(s).\n  snapshot        Interact with a specific snapshot.\n\nFlags:\n      --cacert string       Path to the certificate to check the cluster certificates against\n      --cert string         Path to the certificate to use for client certificate authentication\n  -c, --cluster string      Cluster to connect to defined in config file\n  -f, --configFile string   Configuration file to read in (default to \"~/.vulcanizer.yaml\")\n  -h, --help                help for vulcanizer\n      --host string         Host to connect to (default \"localhost\")\n      --key string          Path to the key to use for client certificate authentication\n      --password string     Password to use during authentication\n      --path string         Path to prepend to queries, in case Elasticsearch is behind a reverse proxy\n  -p, --port int            Port to connect to (default 9200)\n      --protocol string     Protocol to use when querying the cluster. Either 'http' or 'https'. Defaults to 'http' (default \"http\")\n  -k, --skipverify string   Skip verifying server's TLS certificate. Defaults to 'false', ie. verify the server's certificate (default \"false\")\n      --user string         User to use during authentication\n\nUse \"vulcanizer [command] --help\" for more information about a command.\n```\n\n\n#### Configuration and connection information \n\nAll commands take `--cluster \u003cname\u003e` to look up information in a configuration file in `~/.vulcanizer.yaml`. The configuration should be in the form of \n\n```yml\nlocal:\n  host: localhost\n  port: 9200\nstaging:\n  host: 10.10.2.1\n  port: 9201\nproduction:\n  host: 10.10.1.1\n  port: 9202\n```\n\nAlternatively, all commands take `--host` and `--port` for the connection information.\n\nFor example:\n\n```\n# Query for cluster health on the \"local\" cluster\nvulcanizer health --cluster local\n\n# Query for nodes against the node 10.10.2.1 and port 9202\nvulcanizer nodes --host 10.10.2.1 --port 9202\n```\n\n### Development\n\n`./script/build` will compile the project and install the `vulcanizer` binary to `$GOPATH/bin`.\n\n`./script/test` will run the tests in the project.\n\n### Supported Elasticsearch versions\n\nIntegration tests are set up to run against the latest v5 and v6 versions of Elasticsearch.\n\n### Name\n\n[Vulcanization](https://en.wikipedia.org/wiki/Vulcanization) is the process of making rubber more elastic, so vulcanizer is the library that makes Elasticsearch easier to work with!\n\n### Project status\n\nThis project is no longer actively maintained.\n\n### Contributing\n\nThis repository is [open to contributions](CONTRIBUTING.md). Please also see [code of conduct](CODE_OF_CONDUCT.md)\n\nTo get up and running, install the project into your $GOPATH and run the set up scripts.\n\n```\ngo get github.com/github/vulcanizer\n\ncd $GOPATH/src/github.com/github/vulcanizer\n\n./script/bootstrap\n./script/test\n```\n\nAnd the test suite should execute correctly.\n\n### License\n\nThis project is released under the [MIT LICENSE](LICENSE). Please note it includes 3rd party dependencies release under their own licenses; dependencies are listed in our [go.mod](https://github.com/github/vulcanizer/blob/main/go.mod) file. When using the GitHub logos, be sure to follow the [GitHub logo guidelines](https://github.com/logos).\n\n### Authors\n\nAuthored by GitHub Engineering\n","funding_links":[],"categories":["Go","Elasticsearch developer tools and utilities"],"sub_categories":["Management"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgithub%2Fvulcanizer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgithub%2Fvulcanizer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgithub%2Fvulcanizer/lists"}