Skip to content

A Go Library for interacting with the Apache Pinot Controller

License

Notifications You must be signed in to change notification settings

azaurus1/go-pinot-api

Repository files navigation

Contributors Forks Stargazers Issues MIT License LinkedIn API Coverage Codacy Badge Codacy Badge Go Report Card


go-pinot-api

A Go Library for interacting with the Apache Pinot Controller
Explore the docs »

Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

A library for interacting with Apache Pinot Controllers via the Controller REST API.

(back to top)

Built With

  • Go

(back to top)

Getting Started

Installation

go get github.com/azaurus1/go-pinot-api

(back to top)

Usage

Creating a user:

user := pinotModel.User{
  Username:  "user",
  Password:  "password",
  Component: "BROKER",
  Role:      "admin",
}

userBytes, err := json.Marshal(user)
if err != nil {
  log.Panic(err)
}

// Create User
createResp, err := client.CreateUser(userBytes)
if err != nil {
  log.Panic(err)
}

Creating a schema:

f, err := os.Open(schemaFilePath)
if err != nil {
  log.Panic(err)
}

defer f.Close()

var schema pinotModel.Schema
err = json.NewDecoder(f).Decode(schema)
if err != nil {
  log.Panic(err)
}

_, err = client.CreateSchema(schema)
if err != nil {
	log.Panic(err)
}

For more examples, please refer to the Documentation

(back to top)

Roadmap

  • User Management
  • Schema Management
  • Table Management
  • Segment Management
  • Tenant Management
  • Cluster Management
  • Instance Management
  • Task Management

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

See the Contributing Guide

(back to top)

License

Distributed under the MIT License. See LICENSE for more information.

(back to top)

Contact

Liam Aikin - [email protected]

Project Link: https://github.com/azaurus1/go-pinot-api

(back to top)

Acknowledgments

(back to top)

About

A Go Library for interacting with the Apache Pinot Controller

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •