Git Product home page Git Product logo

checontroller's Introduction

checontroller

Simple utility being built to do some common Eclipse che tasks such as

  • โœ“ refresh che pods to make it OpenShift compatible, this what currently replace_stacks does

  • [] install che on to OpenShift via cli, the idea of this to build CLI installer for Eclipse that can connect to OpenShift cluster and depoloy che

  • [] undeploy or cleanup, just rollback of install

Warning
This application is still under development and features might change

Pre-Requsite

  • golang is installed locally

  • Che is deployed and running in OpenShift

Build

go get  github.com/kameshsampath/checontroller
cd $GOPATH/src/github.com/kameshsampath/checontroller
make build (1)
  1. build che controller for your platform

Usage

Options

The available options can be seen via checontroller -h

  -alsologtostderr
        log to standard error as well as files
  -cheEndpointURI string
        The Che EndpointURI usually its computed assuming the deployment name `che`, with namespace being derived form the pod
        e.g if namespace is `myproject` and deployment name is `che` - then the che endpoint will be "http://che-myproject.openshiftip.nip.io"
  -incluster
        Whether the application is deployed inside Kubernetes cluster or outside
  -kubeconfig string
        (optional) absolute path to the kubeconfig file (default "/Users/kameshs/.kube/config")
  -log_backtrace_at value
        when logging hits line file:N, emit a stack trace
  -log_dir string
        If non-empty, write log files in this directory
  -logtostderr
        log to standard error instead of files
  -namespace string
        The Kubernetes Namespace to use
  -newStackURL string
        The New Stacks URL (default "https://raw.githubusercontent.com/redhat-developer/rh-che/master/assembly/fabric8-stacks/src/main/resources/stacks.json")
  -stderrthreshold value
        logs at or above this threshold go to stderr
  -v value
        log level for V logs
  -vmodule value
        comma-separated list of pattern=N settings for file-filtered logging

Out of OpenShift Cluster

Usually it can be run out of openshift cluster like,

./checontroller
---
(OR)
[source,sh]

Note
The application will by default run as daemon always, so if you wish to quit it run CTRL + C

In OpenShift Cluster

git clone https://github.com/kameshsampath/checontroller
make docker (1)
oc apply -f example/app.yaml (2)
  1. build the docker image

  2. Deploy the application in OpenShift, you see the logs of the checontroller deployment in OpenShift for whats happening

This will wait/scan for all available che pods,and fire REST calls to refresh the stack.

Important

The pod scanning is selected based on Pod labels

  • deploymentconfig=che

  • app=che

  • application=che

So when you deploy che, be sure to add these labels to the deployment/pod

checontroller's People

Contributors

kameshsampath avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

checontroller's Issues

Non-Daemon mode

Currently refresh command needs the user to do CTRL+C to exit, it will be better to have non-daemon mode that can quit after job is done.

Refactor CLI flags

refactor and update CLI flags to be more easier, meaningful and grouped

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.