Code Monkey home page Code Monkey logo

pharos's Introduction

Pharos

๐ŸšจWarning: this project is currently under active development and is not considered stable or functional. ๐Ÿšจ

Overview

Pharos is an open-source Kubernetes cluster discovery and configuration distribution tool designed to work nicely with aws-iam-authenticator.

Development

Testing Locally

Build the Pharos API server and Pharos CLI:

make install
make build

Set up the local database.

make setup

You can connect to the local database using the following command:

psql -U pharos_admin -d pharos

You can insert as many test clusters as you like using psql. The values in order are: cluster name, cluster environment, cluster server URL, cluster authority data, cluster deletion status, and cluster active status.

psql (9.6.10)
Type "help" for help.

pharos=> INSERT INTO clusters VALUES ('test-111111', 'test', 'https://test.com', 'test', false, true);

Start the Pharos server:

make start

From within the pharos directory, you can run the Pharos CLI with the config flag -c to specify a specific config file. You can use the config file in the testdata folder to connect automatically to your local Pharos server.

Example: bin/pharos clusters list -c pkg/pharos/testdata/pharosConfig

IMPORTANT NOTE: If you're running a command that will edit or create a new kubeconfig, you will need to run it with the file flag -f to prevent overwriting or modifying your existing kubeconfig file at $HOME/.kube/config. Some commands that edit kubeconfig files will also create new ones, so for those commands you can specify any file, even ones that don't exist. The only commands that require an existing kubeconfig file are pharos clusters switch and pharos clusters current.

Example: bin/pharos clusters get sandbox -c pkg/pharos/testdata/pharosConfig -f test/test1 This command will create a new kubeconfig file at ./test/test1 if it succeeds.

Happy testing!

Making New Releases

Navigate to $GOPATH/src/github.com/lob/pharos, make sure that you're on the master branch and up to date with the remote repository, and run

make release VERSION=<VERSION-TAG>

where VERSION-TAG is a string that begins with v followed by a version number following the semantic versioning spec. An example would be make release VERSION=v1.1.0.

pharos's People

Contributors

emilyzhang avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.