Code Monkey home page Code Monkey logo

kibana-formula's Introduction

kibana-formula

This sets up kibana. Supports 2.x and 5.x.

See the full Salt Formulas installation and usage instructions.

Available states

kibana

Installs the kibana package, and starts the associated kibana service.

Testing

Testing is done with Test Kitchen for machine setup and testinfra for integration tests.

Requirements

  • Python
  • Ruby
  • Docker
pip install -r requirements.txt
gem install bundler
bundle install
bundle exec kitchen test

kibana-formula's People

Contributors

alexander-bauer avatar blbradley avatar cachedout avatar gtmanfred avatar johnkeates avatar martinhoefling avatar philippkahr avatar psmiraglia avatar utahdave avatar wwentland avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kibana-formula's Issues

versions.yaml Repo Dict for Version 5

#16

 {% set versionRepo = salt['pillar.get']('kibana:repoVersion') %}
  {% if versionRepo.startswith('5.') %}
{{ versionRepo }}:
   repo_url: https://artifacts.elastic.co/packages/5.x/apt

@blbradley I wonder if there is a way the formula can access the data under dict key 5 while still setting your full version number 5.5.1. Clearly, the repo for all versions of ES 5 is the same.

Document or work around repoVersion needing to be a string

I just switched to repoVersion: '5', and had trouble when I specified repoVersion: 5 in the pillars. This occurred because something in this formula tries to look up the version in the version map, and does not find the key 5. Instead, it needs to be '5'. Converting the value to a string explicitly should fix this.

Broken Plugin Support For Version 5

Problems regarding the plugins.sls
https://www.elastic.co/guide/en/kibana/5.5/installing-xpack-kb.html
states $fullinstallpath/bin/kibana-plugin install x-pack

1.) If Installed via apt-get on a debian it will be installed to "/usr/share/bin" this path is no where specified.

2.) command to install xpack / plugins has been changed from $fullinstallpath/bin/kibana-plugin install -b x-pack' to do without -b`

While getting more and more into ELK Stack I really hate Elastic for not thinking about automatisation of installations.

So to preserve configuration of pre 5 and after 5 I would recommend to do some magic in the map.jinja

Support Red Hat OS installs.

When I try to run this state on an a RHEL 7 system, it fails. The problem seems to be that this only has debian package repositories and no others.

APT repository rule is not idempotent if elasticsearch-formula is also included

I am using elasticsearch-formula and kibana-formula together to manage my ELK stack. They both attempt to install different APT repositories in /etc/apt/sources.list.d/elasticsearch.list. The state they use to do this, pkgrepo.managed, does not support multiple entries in the same list.

In order to avoid having to clean up my environment, I've reproduced this here using the testing mode.

On the first run, we have

# /etc/apt/sources.list.d/elasticsearch.list
deb http://packages.elastic.co/elasticsearch/2.x/debian stable main

and

----------
          ID: elasticsearch_repo
    Function: pkgrepo.managed
        Name: deb http://packages.elastic.co/elasticsearch/2.x/debian stable main
      Result: True
     Comment: Package repo 'deb http://packages.elastic.co/elasticsearch/2.x/debian stable main' already configured
     Started: 21:31:08.981497
    Duration: 105.291 ms
     Changes:  
----------
          ID: kibana-repo
    Function: pkgrepo.managed
        Name: deb http://packages.elastic.co/kibana/4.6/debian stable main
      Result: None
     Comment: Package repo 'deb http://packages.elastic.co/kibana/4.6/debian stable main' will be configured. This may cause pkg states to behave differently than stated if this action is repeated without test=True, due to the differences in the configured repositories.
     Started: 21:31:14.612941
    Duration: 96.899 ms
     Changes: 

If we carry out these changes, then we see

# /etc/apt/sources.list.d/elasticsearch.list
deb http://packages.elastic.co/kibana/4.6/debian stable main

and applying the states again gives us

----------
          ID: elasticsearch_repo
    Function: pkgrepo.managed
        Name: deb http://packages.elastic.co/elasticsearch/2.x/debian stable main
      Result: None
     Comment: Package repo 'deb http://packages.elastic.co/elasticsearch/2.x/debian stable main' will be configured. This may cause pkg states to behave differently than stated if this action is repeated without test=True, due to the differences in the configured repositories.
     Started: 22:01:19.203244
    Duration: 99.405 ms
     Changes:  
----------
          ID: kibana-repo
    Function: pkgrepo.managed
        Name: deb http://packages.elastic.co/kibana/4.6/debian stable main
      Result: True
     Comment: Package repo 'deb http://packages.elastic.co/kibana/4.6/debian stable main' already configured
     Started: 22:01:25.128232
    Duration: 95.166 ms
     Changes:  

As you can see, we can apply the highstate as many time as we want: the formulas will just keep swapping which repository lives in that file. If we ran the same without test=True, as I saw before, the one which is executed later always runs.

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.