From 1ff45e87e1b94b42f0547cc75360117101e28881 Mon Sep 17 00:00:00 2001 From: Filip Pytloun Date: Mon, 20 Feb 2017 17:49:04 +0100 Subject: [PATCH] Initial commit --- .gitignore | 5 ++ LICENSE | 14 +++++ Makefile | 118 +++++++++++++++++++++++++++++++++++++++++++ README.rst | 39 ++++++++++++++ debian/changelog | 5 ++ debian/compat | 1 + debian/control | 15 ++++++ debian/copyright | 15 ++++++ debian/docs | 1 + debian/rules | 5 ++ debian/source/format | 1 + 11 files changed, 219 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 Makefile create mode 100644 README.rst create mode 100644 debian/changelog create mode 100644 debian/compat create mode 100644 debian/control create mode 100644 debian/copyright create mode 100644 debian/docs create mode 100755 debian/rules create mode 100644 debian/source/format diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..aa8e42a --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +.kitchen +tests/build/ +*.swp +*.pyc +.ropeproject diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..3b118ea --- /dev/null +++ b/LICENSE @@ -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. + diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..1043fbe --- /dev/null +++ b/Makefile @@ -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 diff --git a/README.rst b/README.rst new file mode 100644 index 0000000..0565a0a --- /dev/null +++ b/README.rst @@ -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 diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..e8fd9b6 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +salt-formula-prometheus (0.1) trusty; urgency=medium + + * Initial release + + -- Filip Pytloun Mon, 20 Feb 2017 17:47:36 +0100 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..ec63514 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +9 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..31a6564 --- /dev/null +++ b/debian/control @@ -0,0 +1,15 @@ +Source: salt-formula-prometheus +Maintainer: Salt Formulas Community +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 diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..518bf7f --- /dev/null +++ b/debian/copyright @@ -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 +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. diff --git a/debian/docs b/debian/docs new file mode 100644 index 0000000..a1320b1 --- /dev/null +++ b/debian/docs @@ -0,0 +1 @@ +README.rst diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..abde6ef --- /dev/null +++ b/debian/rules @@ -0,0 +1,5 @@ +#!/usr/bin/make -f + +%: + dh $@ + diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..89ae9db --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (native)