Skip to content

Releases: github/vulcanizer

v0.4.0 Release

28 Feb 16:06
0ddc377
Compare
Choose a tag to compare

This release adds some features around managing indices.

Breaking Changes

  • Renamed ClusterSettings struct to Settings - This struct is now used when listing Cluster or Index settings.
  • Renamed func (c *Client) GetSettings() method to func (c *Client) GetClusterSettings() to differentiate between Cluster or Index settings.
  • Renamed func (c *Client) SetSetting method to func (c *Client) SetClusterSetting to differentitate between Cluster or Index settings.
  • Added indexSettings map[string]interface{} to the arguments of func (c *Client) RestoreSnapshotIndices to allow setting specific index settings when restoring an index.

New APIs

  • func (c *Client) DeleteIndex(indexName string) error - Deleting an index
  • func (c *Client) GetPrettyIndexSettings(index string) (string, error) - Get a human readable JSON of the settings of an index
  • func (c *Client) GetIndexSettings(index string) ([]Setting, error) - Get the settings of an index
  • func (c *Client) SetIndexSetting(index, setting, value string) (string, string, error) - Set the settings of an index
  • func (c *Client) GetPrettyIndexMappings(index string) - Get a human readable JSON of the mappings of an index
  • func (c *Client) AnalyzeText(analyzer, text string) ([]Token, error) - Call the Elasticsearch analyze API to preview how given text will be broken down into tokens.
  • func (c *Client) AnalyzeTextWithField(index, field, text string) ([]Token, error) - Call the Elasticsearch analyze API with a specific field to preview how the text will be broken down into tokens for that field.

Changes

  • Added additional fields to the Client struct to support more connection properties
    • Secure - boolean whether to connect using HTTPS or not
    • Auth - struct containing username and password for HTTP basic auth
    • Timeout - set a time.Duration for the API calls to Elasticsearch
    • TLSConfig - set tls.Config options for things like client certificates or ignoring certificate validation

v0.3.0 Release

19 Dec 15:09
2f638f3
Compare
Choose a tag to compare

This release expands what you can do in regards to snapshots and repositories.

Breaking changes

  • GetHealth API return type changed from []ClusterHealth to ClusterHealth - The array was a holdover from using the _cat API and didn't make logical sense as there is only one cluster health.

New APIs

  • New struct Repository
  • New struct IndexHealth, similar to the ClusterHealth struct, but scoped to an index
  • New API func (c *Client) GetRepositories() ([]Repository, error)
    • List the snapshot repositories that are configured on the cluster
  • New API func (c *Client) SnapshotAllIndices(repository string, snapshot string) error
    • Take a snapshot of all indices on the cluster
  • New API func (c *Client) SnapshotIndices(repository string, snapshot string, indices []string) error
    • Take a snapshot of specific indices on the cluster
  • New API func (c *Client) RestoreSnapshotIndices(repository string, snapshot string, indices []string, restoredIndexPrefix string) error
    • Restore specific indices of the named snapshot to the cluster

Changes

  • Jdk added to Node struct - contains the Jdk version of the node
  • ClusterHealth has two new fields
    • UnhealthIndices []IndexHealth - contains indices that are non-green status
    • HealthyIndices []IndexHealth - contains indices that are green status

Managing snapshots

29 Oct 21:01
4eaecb5
Compare
Choose a tag to compare

This release adds two new functions around managing snapshots and repositories.

  • func (c *Client) DeleteSnapshot(repository string, snapshot string) error

  • func (c *Client) VerifyRepository(repository string) (bool, error)

Standardize vulcanizer API surface

17 Sep 16:20
509cba4
Compare
Choose a tag to compare

Features:

  • Client methods all return a specific struct type and an error.
type Client
    func NewClient(host string, port int) *Client
    func (c *Client) DrainServer(serverToDrain string) (ExcludeSettings, error)
    func (c *Client) FillAll() (ExcludeSettings, error)
    func (c *Client) FillOneServer(serverToFill string) (ExcludeSettings, error)
    func (c *Client) GetClusterExcludeSettings() (ExcludeSettings, error)
    func (c *Client) GetHealth() ([]ClusterHealth, error)
    func (c *Client) GetIndices() ([]Index, error)
    func (c *Client) GetNodes() ([]Node, error)
    func (c *Client) GetSettings() (ClusterSettings, error)
    func (c *Client) GetSnapshotStatus(repository string, snapshot string) (Snapshot, error)
    func (c *Client) GetSnapshots(repository string) ([]Snapshot, error)
    func (c *Client) SetAllocation(allocation string) (string, error)
    func (c *Client) SetSetting(setting string, value string) (string, string, error)
type ClusterHealth
type ClusterSetting
type ClusterSettings
type ExcludeSettings
type Index
type Node
type Snapshot