Browse Source

Use helm 3 in chart build

`helm serve` is removed in helm 3 so this moves
to using local `file://` dependencies [0] instead.

[0]: https://helm.sh/docs/chart_best_practices/dependencies/#repository-urls

Signed-off-by: Sean Eagan <seaneagan1@gmail.com>
Change-Id: Ibdea9f1ccda043259620add022643e5c9800259a
changes/75/812175/1
Sean Eagan 6 months ago
parent
commit
a0da68409a
  1. 1
      .dockerignore
  2. 1
      .gitignore
  3. 10
      Makefile
  4. 0
      charts/deps/.gitkeep
  5. 2
      charts/shipyard/requirements.yaml
  6. 2
      tools/helm_install.sh
  7. 50
      tools/helm_tk.sh

1
.dockerignore

@ -112,6 +112,7 @@ AUTHORS
**/*.tgz
/charts/shipyard/charts
/charts/shipyard/requirements.lock
/charts/deps/*/
.DS_Store
# vscode

1
.gitignore

@ -113,6 +113,7 @@ AUTHORS
**/*.tgz
/charts/shipyard/charts
/charts/shipyard/requirements.lock
/charts/deps/*/
.DS_Store
# vscode

10
Makefile

@ -55,7 +55,7 @@ $(IMAGE_NAME):
# Create tgz of the chart
.PHONY: charts
charts: clean helm-init
charts: clean helm-toolkit
$(HELM) dep up charts/shipyard
$(HELM) package charts/shipyard
@ -65,7 +65,7 @@ lint: pep8 helm_lint build_docs
# Dry run templating of chart
.PHONY: dry-run
dry-run: clean helm-init
dry-run: clean helm-toolkit
$(HELM) template charts/shipyard
.PHONY: security
@ -136,12 +136,12 @@ pep8:
cd $(BUILD_CTX)/shipyard_airflow; tox -e pep8
.PHONY: helm_lint
helm_lint: clean helm-init
helm_lint: clean helm-toolkit
$(HELM) lint charts/shipyard
# Initialize local helm config
.PHONY: helm-init
helm-init: helm-install
.PHONY: helm-toolkit
helm-toolkit: helm-install
tools/helm_tk.sh $(HELM)
# Install helm binary

0
charts/deps/.gitkeep

2
charts/shipyard/requirements.yaml

@ -15,5 +15,5 @@
dependencies:
- name: helm-toolkit
repository: http://localhost:8879/charts
repository: file://../deps/helm-toolkit
version: ">= 0.1.0"

2
tools/helm_install.sh

@ -17,7 +17,7 @@
set -x
HELM=$1
HELM_ARTIFACT_URL=${HELM_ARTIFACT_URL:-"https://get.helm.sh/helm-v2.17.0-linux-amd64.tar.gz"}
HELM_ARTIFACT_URL=${HELM_ARTIFACT_URL:-"https://get.helm.sh/helm-v3.6.3-linux-amd64.tar.gz"}
function install_helm_binary {

50
tools/helm_tk.sh

@ -12,50 +12,20 @@
# 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.
#
# Script to setup helm-toolkit and helm dep up the shipyard chart
#
HELM=$1
HTK_STABLE_COMMIT=${HTK_COMMIT:-"b1a247e7f54ab12d830ab74f7634457b4e43f3ef"}
set -x
set -eux
function helm_serve {
if [[ -d "$HOME/.helm" ]]; then
echo ".helm directory found"
else
${HELM} init --client-only --skip-refresh
fi
if [[ -z $(curl -s 127.0.0.1:8879 | grep 'Helm Repository') ]]; then
${HELM} serve & > /dev/null
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
HTK_REPO=${HTK_REPO:-"https://opendev.org/openstack/openstack-helm-infra.git"}
HTK_STABLE_COMMIT=${HTK_COMMIT:-"b1a247e7f54ab12d830ab74f7634457b4e43f3ef"}
if ${HELM} repo list | grep -q "^stable" ; then
${HELM} repo remove stable
fi
TMP_DIR=$(mktemp -d)
${HELM} repo add local http://localhost:8879/charts
{
HTK_REPO_DIR=$TMP_DIR/htk
git clone "$HTK_REPO" "$HTK_REPO_DIR"
(cd "$HTK_REPO_DIR" && git reset --hard "${HTK_STABLE_COMMIT}")
cp -r "${HTK_REPO_DIR}/helm-toolkit" charts/deps/
}
mkdir -p build
cd build
git clone https://opendev.org/openstack/openstack-helm-infra.git || true
cd openstack-helm-infra
git reset --hard "${HTK_STABLE_COMMIT}"
helm_serve
if [[ ${HELM} != "helm" ]]
then
export PATH=${PATH}:$(dirname ${HELM})
fi
make helm-toolkit
${HELM} dep up ../../charts/shipyard
rm -rf "${TMP_DIR}"

Loading…
Cancel
Save