Add Makefile to OOM project 87/31987/6
authorMike Elliott <mike.elliott@amdocs.com>
Fri, 16 Feb 2018 15:48:59 +0000 (10:48 -0500)
committerAlexis de Talhouët <alexis.de_talhouet@bell.ca>
Fri, 23 Feb 2018 20:35:00 +0000 (20:35 +0000)
Executing 'make' provides:
- linting of all charts
- resolution of chart/subchart dependencies
- creation and deployment of Helm packages to a local Helm repo

Prerequisite:
  Start up a local repo and register with Helm as 'local'.

  Example:
  > helm serve
  > helm repo add local http://127.0.0.1:8879

Change-Id: Ie08e8fc2593ac7e67b01f93e266953b962adef5d
Signed-off-by: Mike Elliott <mike.elliott@amdocs.com>
Issue-ID: OOM-265

kubernetes/Makefile [new file with mode: 0644]
kubernetes/common/Makefile [new file with mode: 0644]
kubernetes/consul/Chart.yaml
kubernetes/kube2msb/Chart.yaml

diff --git a/kubernetes/Makefile b/kubernetes/Makefile
new file mode 100644 (file)
index 0000000..5e83504
--- /dev/null
@@ -0,0 +1,39 @@
+PARENT_CHART := onap
+COMMON_CHARTS_DIR := common
+
+# FIXME OOM-765
+ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
+OUTPUT_DIR := $(ROOT_DIR)/dist
+PACKAGE_DIR := $(OUTPUT_DIR)/packages
+SECRET_DIR := $(OUTPUT_DIR)/secrets
+
+EXCLUDES := $(COMMON_CHARTS_DIR) config oneclick readiness test dist $(PARENT_CHART) dcae
+HELM_CHARTS := $(COMMON_CHARTS_DIR) $(filter-out $(EXCLUDES), $(patsubst %/.,%,$(wildcard */.))) $(PARENT_CHART)
+
+.PHONY: $(EXCLUDES) $(HELM_CHARTS)
+
+all: $(HELM_CHARTS)
+
+$(HELM_CHARTS):
+       @echo "\n[$@]"
+       @make package-$@
+
+make-%:
+       @if [ -f $*/Makefile ]; then make -C $*; fi
+
+dep-%: make-%
+       @if [ -f $*/requirements.yaml ]; then helm dep up $*; fi
+
+lint-%: dep-%
+       @if [ -f $*/Chart.yaml ]; then helm lint $*; fi
+
+package-%: lint-%
+       @mkdir -p $(PACKAGE_DIR)
+       @if [ -f $*/Chart.yaml ]; then helm package -d $(PACKAGE_DIR) $*; fi
+
+clean:
+       @rm -f */requirements.lock
+       @rm -f *tgz */charts/*tgz
+       @rm -rf $(PACKAGE_DIR)
+%:
+       @:
\ No newline at end of file
diff --git a/kubernetes/common/Makefile b/kubernetes/common/Makefile
new file mode 100644 (file)
index 0000000..1900f31
--- /dev/null
@@ -0,0 +1,25 @@
+EXCLUDES := test
+HELM_CHARTS := $(filter-out $(EXCLUDES), $(patsubst %/.,%,$(wildcard */.)))
+
+.PHONY: $(EXCLUDES) $(HELM_CHARTS)
+
+all: $(HELM_CHARTS)
+
+$(HELM_CHARTS):
+       @echo "\n[$@]"
+       @make lint-$@
+
+make-%:
+       @if [ -f $*/Makefile ]; then make -C $*; fi
+
+dep-%: make-%
+       @if [ -f $*/requirements.yaml ]; then helm dep up $*; fi
+
+lint-%: dep-%
+       @if [ -f $*/Chart.yaml ]; then helm lint $*; fi
+
+clean:
+       @rm -f */requirements.lock
+       @rm -f *tgz */charts/*tgz
+%:
+       @:
\ No newline at end of file
index 318234d..2d2d7ba 100644 (file)
@@ -1,4 +1,4 @@
 apiVersion: v1
-description: A Helm chart for Consul 
+description: ONAP Consul Heath Monitor
 name: consul
 version: 1.1.0
index 97a3454..b648adc 100644 (file)
@@ -1,4 +1,4 @@
 apiVersion: v1
 description: A Helm chart for Kubernetes
-name: kube2msb-registrator
+name: kube2msb
 version: 0.1.0