Add initial Makefile
This add target a target for building and linting charts. Change-Id: Ie349436d8bf50929e26ed43cc53fdc599a2acd9d
This commit is contained in:
parent
597c1a3929
commit
b09c69a18a
@ -1,8 +1,26 @@
|
||||
# Pyenv version file
|
||||
.python-version
|
||||
|
||||
# Chart artifacts
|
||||
charts/*.tgz
|
||||
charts/*/charts
|
||||
charts/*/requirements.lock
|
||||
|
||||
# Build & test artifacts
|
||||
.eggs
|
||||
.helm-pid
|
||||
.tox
|
||||
__pycache__
|
||||
AUTHORS
|
||||
ChangeLog
|
||||
build
|
||||
conformance
|
||||
promenade.egg-info
|
||||
tmp
|
||||
|
||||
# Python artifacts
|
||||
__pycache__
|
||||
|
||||
# Non-image related files
|
||||
docs
|
||||
examples
|
||||
promenade.egg-info
|
||||
tools
|
||||
|
26
.gitignore
vendored
26
.gitignore
vendored
@ -1,15 +1,25 @@
|
||||
__pycache__
|
||||
/*.log
|
||||
# Pyenv version file
|
||||
/.python-version
|
||||
|
||||
# Chart artifacts
|
||||
/charts/*.tgz
|
||||
/charts/*/charts
|
||||
/charts/*/requirements.lock
|
||||
|
||||
# Build & test artifacts
|
||||
/.eggs
|
||||
/.helm-pid
|
||||
/.tox
|
||||
/build
|
||||
/conformance
|
||||
/promenade.egg-info
|
||||
/tmp
|
||||
.tox/
|
||||
/.eggs
|
||||
|
||||
# Python artifacts
|
||||
__pycache__
|
||||
|
||||
# Sphinx artifacts
|
||||
/docs/build/
|
||||
/docs/*/_static/
|
||||
/AUTHORS
|
||||
/ChangeLog
|
||||
|
||||
# Sphinx documentation
|
||||
docs/build/
|
||||
docs/*/_static/
|
||||
|
44
Makefile
Normal file
44
Makefile
Normal file
@ -0,0 +1,44 @@
|
||||
# Copyright 2017 AT&T Intellectual Property. All other rights reserved.
|
||||
#
|
||||
# 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.
|
||||
|
||||
HELM ?= helm
|
||||
HELM_PIDFILE ?= $(abspath ./.helm-pid)
|
||||
TMP_DIR ?= $(abspath ./tmp)
|
||||
|
||||
CHARTS := $(patsubst %/.,%,$(wildcard charts/*/.))
|
||||
|
||||
.PHONY: all
|
||||
all: charts
|
||||
|
||||
.PHONY: charts
|
||||
charts: $(CHARTS)
|
||||
@echo Done building charts.
|
||||
|
||||
.PHONY: $(CHARTS)
|
||||
$(CHARTS): helm-serve
|
||||
@echo $@
|
||||
if [ -s $@/requirements.yaml ]; then $(HELM) dep up $@; fi
|
||||
$(HELM) lint $@
|
||||
$(HELM) template $@
|
||||
$(HELM) package -d charts $@
|
||||
|
||||
.PHONY: helm-serve
|
||||
helm-serve:
|
||||
./tools/helm_tk.sh $(HELM) $(HELM_PIDFILE) $(TMP_DIR)
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -f charts/*.tgz
|
||||
rm -f charts/*/requirements.lock
|
||||
rm -rf charts/*/charts
|
2
charts/.gitignore
vendored
2
charts/.gitignore
vendored
@ -1 +1,3 @@
|
||||
/*.tgz
|
||||
/*/charts
|
||||
/*/requirements.lock
|
||||
|
@ -1,4 +1,4 @@
|
||||
apiVersion: v1
|
||||
description: A Helm chart for Kubernetes
|
||||
description: A Helm chart for Calico
|
||||
name: calico
|
||||
version: 0.1.0
|
||||
|
4
charts/coredns/requirements.yaml
Normal file
4
charts/coredns/requirements.yaml
Normal file
@ -0,0 +1,4 @@
|
||||
dependencies:
|
||||
- name: helm-toolkit
|
||||
repository: http://localhost:8879/charts
|
||||
version: 0.1.0
|
4
charts/scheduler/requirements.yaml
Normal file
4
charts/scheduler/requirements.yaml
Normal file
@ -0,0 +1,4 @@
|
||||
dependencies:
|
||||
- name: helm-toolkit
|
||||
repository: http://localhost:8879/charts
|
||||
version: 0.1.0
|
@ -80,7 +80,7 @@ data:
|
||||
values: {}
|
||||
source:
|
||||
type: git
|
||||
location: https://git.openstack.org/openstack/openstack-helm
|
||||
location: https://git.openstack.org/openstack/openstack-helm-infra
|
||||
subpath: helm-toolkit
|
||||
reference: master
|
||||
dependencies: []
|
||||
|
@ -109,7 +109,7 @@ data:
|
||||
values: {}
|
||||
source:
|
||||
type: git
|
||||
location: https://git.openstack.org/openstack/openstack-helm
|
||||
location: https://git.openstack.org/openstack/openstack-helm-infra
|
||||
subpath: helm-toolkit
|
||||
reference: master
|
||||
dependencies: []
|
||||
|
@ -96,7 +96,7 @@ data:
|
||||
values: {}
|
||||
source:
|
||||
type: git
|
||||
location: https://git.openstack.org/openstack/openstack-helm
|
||||
location: https://git.openstack.org/openstack/openstack-helm-infra
|
||||
subpath: helm-toolkit
|
||||
reference: master
|
||||
dependencies: []
|
||||
|
64
tools/helm_tk.sh
Executable file
64
tools/helm_tk.sh
Executable file
@ -0,0 +1,64 @@
|
||||
#!/bin/bash
|
||||
# Copyright 2017 AT&T Intellectual Property. All other rights reserved.
|
||||
#
|
||||
# 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.
|
||||
|
||||
|
||||
set -eux
|
||||
|
||||
HELM=${1}
|
||||
HELM_PIDFILE=${2}
|
||||
SERVE_DIR=${3}
|
||||
|
||||
${HELM} init --client-only
|
||||
|
||||
if [[ -s ${HELM_PIDFILE} ]]; then
|
||||
HELM_PID=$(cat "${HELM_PIDFILE}")
|
||||
if ps "${HELM_PID}"; then
|
||||
kill "${HELM_PID}"
|
||||
sleep 0.5
|
||||
if ps "${HELM_PID}"; then
|
||||
echo Failed to terminate Helm, PID = "${HELM_PID}"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
${HELM} serve & > /dev/null
|
||||
HELM_PID=${!}
|
||||
echo Started Helm, PID = "${HELM_PID}"
|
||||
echo "${HELM_PID}" > "${HELM_PIDFILE}"
|
||||
|
||||
set +x
|
||||
if [[ -z $(curl -s 127.0.0.1:8879 | grep 'Helm Repository') ]]; then
|
||||
while [[ -z $(curl -s 127.0.0.1:8879 | grep 'Helm Repository') ]]; do
|
||||
sleep 1
|
||||
echo "Waiting for Helm Repository"
|
||||
done
|
||||
else
|
||||
echo "Helm serve already running"
|
||||
fi
|
||||
set -x
|
||||
|
||||
if ${HELM} repo list | grep -q "^stable" ; then
|
||||
${HELM} repo remove stable
|
||||
fi
|
||||
|
||||
${HELM} repo add local http://localhost:8879/charts
|
||||
|
||||
mkdir -p "${SERVE_DIR}"
|
||||
cd "${SERVE_DIR}"
|
||||
git clone --depth 1 https://git.openstack.org/openstack/openstack-helm-infra.git || true
|
||||
cd openstack-helm
|
||||
|
||||
make helm-toolkit
|
Loading…
x
Reference in New Issue
Block a user