Initial commit

This commit is contained in:
Filip Pytloun 2017-02-20 17:49:04 +01:00
commit 1ff45e87e1
11 changed files with 219 additions and 0 deletions

5
.gitignore vendored Normal file
View file

@ -0,0 +1,5 @@
.kitchen
tests/build/
*.swp
*.pyc
.ropeproject

14
LICENSE Normal file
View file

@ -0,0 +1,14 @@
Copyright (c) 2017 Mirantis et al.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

118
Makefile Normal file
View file

@ -0,0 +1,118 @@
DESTDIR=/
SALTENVDIR=/usr/share/salt-formulas/env
RECLASSDIR=/usr/share/salt-formulas/reclass
FORMULANAME=$(shell grep name: metadata.yml|head -1|cut -d : -f 2|grep -Eo '[a-z0-9\-\_]*')
VERSION=$(shell grep version: metadata.yml|head -1|cut -d : -f 2|grep -Eo '[a-z0-9\.\-\_]*')
VERSION_MAJOR := $(shell echo $(VERSION)|cut -d . -f 1-2)
VERSION_MINOR := $(shell echo $(VERSION)|cut -d . -f 3)
NEW_MAJOR_VERSION ?= $(shell date +%Y.%m|sed 's,\.0,\.,g')
NEW_MINOR_VERSION ?= $(shell /bin/bash -c 'echo $$[ $(VERSION_MINOR) + 1 ]')
MAKE_PID := $(shell echo $$PPID)
JOB_FLAG := $(filter -j%, $(subst -j ,-j,$(shell ps T | grep "^\s*$(MAKE_PID).*$(MAKE)")))
ifneq ($(subst -j,,$(JOB_FLAG)),)
JOBS := $(subst -j,,$(JOB_FLAG))
else
JOBS := 1
endif
KITCHEN_LOCAL_YAML?=.kitchen.yml
KITCHEN_OPTS?="--concurrency=$(JOBS)"
KITCHEN_OPTS_CREATE?=""
KITCHEN_OPTS_CONVERGE?=""
KITCHEN_OPTS_VERIFY?=""
KITCHEN_OPTS_TEST?=""
all:
@echo "make install - Install into DESTDIR"
@echo "make test - Run tests"
@echo "make kitchen - Run Kitchen CI tests (create, converge, verify)"
@echo "make clean - Cleanup after tests run"
@echo "make release-major - Generate new major release"
@echo "make release-minor - Generate new minor release"
@echo "make changelog - Show changes since last release"
install:
# Formula
[ -d $(DESTDIR)/$(SALTENVDIR) ] || mkdir -p $(DESTDIR)/$(SALTENVDIR)
cp -a $(FORMULANAME) $(DESTDIR)/$(SALTENVDIR)/
[ ! -d _modules ] || cp -a _modules $(DESTDIR)/$(SALTENVDIR)/
[ ! -d _states ] || cp -a _states $(DESTDIR)/$(SALTENVDIR)/ || true
[ ! -d _grains ] || cp -a _grains $(DESTDIR)/$(SALTENVDIR)/ || true
# Metadata
[ -d $(DESTDIR)/$(RECLASSDIR)/service/$(FORMULANAME) ] || mkdir -p $(DESTDIR)/$(RECLASSDIR)/service/$(FORMULANAME)
cp -a metadata/service/* $(DESTDIR)/$(RECLASSDIR)/service/$(FORMULANAME)
test:
[ ! -d tests ] || (cd tests; ./run_tests.sh)
release-major: check-changes
@echo "Current version is $(VERSION), new version is $(NEW_MAJOR_VERSION)"
@[ $(VERSION_MAJOR) != $(NEW_MAJOR_VERSION) ] || (echo "Major version $(NEW_MAJOR_VERSION) already released, nothing to do. Do you want release-minor?" && exit 1)
echo "$(NEW_MAJOR_VERSION)" > VERSION
sed -i 's,version: .*,version: "$(NEW_MAJOR_VERSION)",g' metadata.yml
[ ! -f debian/changelog ] || dch -v $(NEW_MAJOR_VERSION) -m --force-distribution -D `dpkg-parsechangelog -S Distribution` "New version"
make genchangelog-$(NEW_MAJOR_VERSION)
(git add -u; git commit -m "Version $(NEW_MAJOR_VERSION)")
git tag -s -m $(NEW_MAJOR_VERSION) $(NEW_MAJOR_VERSION)
release-minor: check-changes
@echo "Current version is $(VERSION), new version is $(VERSION_MAJOR).$(NEW_MINOR_VERSION)"
echo "$(VERSION_MAJOR).$(NEW_MINOR_VERSION)" > VERSION
sed -i 's,version: .*,version: "$(VERSION_MAJOR).$(NEW_MINOR_VERSION)",g' metadata.yml
[ ! -f debian/changelog ] || dch -v $(VERSION_MAJOR).$(NEW_MINOR_VERSION) -m --force-distribution -D `dpkg-parsechangelog -S Distribution` "New version"
make genchangelog-$(VERSION_MAJOR).$(NEW_MINOR_VERSION)
(git add -u; git commit -m "Version $(VERSION_MAJOR).$(NEW_MINOR_VERSION)")
git tag -s -m $(NEW_MAJOR_VERSION) $(VERSION_MAJOR).$(NEW_MINOR_VERSION)
check-changes:
@git log --pretty=oneline --decorate $(VERSION)..HEAD | grep -Eqc '.*' || (echo "No new changes since version $(VERSION)"; exit 1)
changelog:
git log --pretty=short --invert-grep --grep="Merge pull request" --decorate $(VERSION)..HEAD
genchangelog: genchangelog-$(VERSION_MAJOR).$(NEW_MINOR_VERSION)
genchangelog-%:
$(eval NEW_VERSION := $(patsubst genchangelog-%,%,$@))
(echo "=========\nChangelog\n=========\n"; \
(echo $(NEW_VERSION);git tag) | sort -r | grep -E '^[0-9\.]+' | while read i; do \
cur=$$i; \
test $$i = $(NEW_VERSION) && i=HEAD; \
prev=`(echo $(NEW_VERSION);git tag)|sort|grep -E '^[0-9\.]+'|grep -B1 "$$cur\$$"|head -1`; \
echo "Version $$cur\n=============================\n"; \
git log --pretty=short --invert-grep --grep="Merge pull request" --decorate $$prev..$$i; \
echo; \
done) > CHANGELOG.rst
kitchen-check:
@[ -e $(KITCHEN_LOCAL_YAML) ] || (echo "Kitchen tests not available, there's no $(KITCHEN_LOCAL_YAML)." && exit 1)
kitchen: kitchen-check kitchen-create kitchen-converge kitchen-verify kitchen-list
kitchen-create: kitchen-check
kitchen create ${KITCHEN_OPTS} ${KITCHEN_OPTS_CREATE}
[ "$(shell echo $(KITCHEN_LOCAL_YAML)|grep -Eo docker)" = "docker" ] || sleep 120
kitchen-converge: kitchen-check
kitchen converge ${KITCHEN_OPTS} ${KITCHEN_OPTS_CONVERGE} &&\
kitchen converge ${KITCHEN_OPTS} ${KITCHEN_OPTS_CONVERGE}
kitchen-verify: kitchen-check
[ ! -d tests/integration ] || kitchen verify -t tests/integration ${KITCHEN_OPTS} ${KITCHEN_OPTS_VERIFY}
[ -d tests/integration ] || kitchen verify ${KITCHEN_OPTS} ${KITCHEN_OPTS_VERIFY}
kitchen-test: kitchen-check
[ ! -d tests/integration ] || kitchen test -t tests/integration ${KITCHEN_OPTS} ${KITCHEN_OPTS_TEST}
[ -d tests/integration ] || kitchen test ${KITCHEN_OPTS} ${KITCHEN_OPTS_TEST}
kitchen-list: kitchen-check
kitchen list
clean:
[ ! -x "$(shell which kitchen)" ] || kitchen destroy
[ ! -d .kitchen ] || rm -rf .kitchen
[ ! -d tests/build ] || rm -rf tests/build
[ ! -d build ] || rm -rf build

39
README.rst Normal file
View file

@ -0,0 +1,39 @@
=======================
Salt Prometheus formula
=======================
Power your metrics and alerting with a leading open-source monitoring
solution.
Documentation and Bugs
======================
To learn how to install and update salt-formulas, consult the documentation
available online at:
http://salt-formulas.readthedocs.io/
In the unfortunate event that bugs are discovered, they should be reported to
the appropriate issue tracker. Use Github issue tracker for specific salt
formula:
https://github.com/salt-formulas/salt-formula-logrotate/issues
For feature requests, bug reports or blueprints affecting entire ecosystem,
use Launchpad salt-formulas project:
https://launchpad.net/salt-formulas
You can also join salt-formulas-users team and subscribe to mailing list:
https://launchpad.net/~salt-formulas-users
Developers wishing to work on the salt-formulas projects should always base
their work on master branch and submit pull request against specific formula.
https://github.com/salt-formulas/salt-formula-logrotate
Any questions or feedback is always welcome so feel free to join our IRC
channel:
#salt-formulas @ irc.freenode.net

5
debian/changelog vendored Normal file
View file

@ -0,0 +1,5 @@
salt-formula-prometheus (0.1) trusty; urgency=medium
* Initial release
-- Filip Pytloun <filip@pytloun.cz> Mon, 20 Feb 2017 17:47:36 +0100

1
debian/compat vendored Normal file
View file

@ -0,0 +1 @@
9

15
debian/control vendored Normal file
View file

@ -0,0 +1,15 @@
Source: salt-formula-prometheus
Maintainer: Salt Formulas Community <salt-formulas@freelists.org>
Section: admin
Priority: optional
Build-Depends: salt-master, python, python-yaml, debhelper (>= 9)
Standards-Version: 3.9.6
Homepage: https://github.com/salt-formulas/salt-formulas
Vcs-Browser: https://github.com/salt-formulas/salt-formula-prometheus
Vcs-Git: https://github.com/salt-formulas/salt-formula-prometheus.git
Package: salt-formula-prometheus
Architecture: all
Depends: ${misc:Depends}, salt-master, reclass
Description: prometheus Salt formula
Install and configure prometheus monitoring

15
debian/copyright vendored Normal file
View file

@ -0,0 +1,15 @@
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: salt-formula-prometheus
Upstream-Contact: Salt Formulas Community <salt-formulas@freelists.org>
Source: https://github.com/salt-formulas/salt-formula-prometheus
Files: *
Copyright: 2017 Mirantis et al.
License: Apache-2.0
Copyright (C) 2017 Mirantis et al.
.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
.
On a Debian system you can find a copy of this license in
/usr/share/common-licenses/Apache-2.0.

1
debian/docs vendored Normal file
View file

@ -0,0 +1 @@
README.rst

5
debian/rules vendored Executable file
View file

@ -0,0 +1,5 @@
#!/usr/bin/make -f
%:
dh $@

1
debian/source/format vendored Normal file
View file

@ -0,0 +1 @@
3.0 (native)