
update dockerfile for python deckhand install add deckhand version to chart 1.0 add chart version 0.2.0 update all packages to latest in requirements.txt update zuul jobs for focal and python 3.8 remove zuul job functional-uwsgi-py38 in favor of functional-docker-py38 update tox config typecast to string in re.sub() function add stestr to test-requirements.txt add SQLAlchemy jsonpickle sphinx-rtd-theme stestr to requirements.txt deprecated function: BarbicanException -> BarbicanClientException fix mock import using unittest fix import collections to collections.abc fix for collections modules for older than python 3.10 versions. deprecated function: json -> to_json deprecated function: werkzeug.contrib.profiler -> werkzeug.middleware.profiler deprecated function: falcon.AIP -> falcon.App deprecation warning: switch from resp.body to resp.text rename fixtures to dh_fixtures because there is an imported module fixtures switch from stream.read to bounded_stream.read deprecated function: falcon process_response needed additional parameter deprecated function: falcon default_exception_handler changed parameter order move from MagicMock object to falcon test generated object to fix incompatability with upgraded Falcon module. Adjust gabbi tests to fix incompatability with upgraded DeepDiff module update Makefile to execute ubuntu_focal update HTK (helmtoolkit) unpin barbican to pass integration tests Use helm 3 in chart build. `helm serve` is removed in helm 3 so this moves to using local `file://` dependencies [0] instead. Change-Id: I180416f480edea1b8968d80c993b3e1fcc95c08d
121 lines
3.5 KiB
Makefile
121 lines
3.5 KiB
Makefile
# Copyright 2018 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.
|
|
|
|
BUILD_DIR := $(shell mkdir -p build && mktemp -d -p build)
|
|
DOCKER_REGISTRY ?= quay.io
|
|
IMAGE_NAME ?= deckhand
|
|
IMAGE_PREFIX ?= airshipit
|
|
IMAGE_TAG ?= latest
|
|
DISTRO_BASE_IMAGE ?=
|
|
HELM := $(shell realpath $(BUILD_DIR))/helm
|
|
PROXY ?= http://proxy.foo.com:8000
|
|
NO_PROXY ?= localhost,127.0.0.1,.svc.cluster.local
|
|
USE_PROXY ?= false
|
|
PUSH_IMAGE ?= false
|
|
# use this variable for image labels added in internal build process
|
|
LABEL ?= org.airshipit.build=community
|
|
DISTRO ?= ubuntu_focal
|
|
COMMIT ?= $(shell git rev-parse HEAD)
|
|
IMAGE := ${DOCKER_REGISTRY}/${IMAGE_PREFIX}/${IMAGE_NAME}:${IMAGE_TAG}-${DISTRO}
|
|
|
|
export
|
|
|
|
# Build Deckhand Docker image for this project
|
|
.PHONY: images
|
|
images: build_deckhand
|
|
|
|
# Create tgz of the chart
|
|
.PHONY: charts
|
|
charts: helm-toolkit
|
|
$(HELM) dep up charts/deckhand
|
|
$(HELM) package charts/deckhand
|
|
|
|
# Initialize local helm config
|
|
.PHONY: helm-toolkit
|
|
helm-toolkit: helm-install
|
|
tools/helm_tk.sh $(HELM)
|
|
|
|
# Install helm binary
|
|
.PHONY: helm-install
|
|
helm-install:
|
|
tools/helm_install.sh $(HELM)
|
|
|
|
# Perform linting
|
|
.PHONY: lint
|
|
lint: pep8 helm_lint
|
|
|
|
# Dry run templating of chart
|
|
.PHONY: dry-run
|
|
dry-run: clean
|
|
tools/helm_tk.sh $(HELM)
|
|
$(HELM) template charts/deckhand
|
|
|
|
.PHONY: tests
|
|
tests:
|
|
tox
|
|
|
|
_BASE_IMAGE_ARG := $(if $(DISTRO_BASE_IMAGE),--build-arg FROM="${DISTRO_BASE_IMAGE}" ,)
|
|
|
|
# Make targets intended for use by the primary targets above.
|
|
.PHONY: build_deckhand
|
|
build_deckhand:
|
|
ifeq ($(USE_PROXY), true)
|
|
docker build --network host -t $(IMAGE) --label $(LABEL) \
|
|
--label "org.opencontainers.image.revision=$(COMMIT)" \
|
|
--label "org.opencontainers.image.created=$(shell date --rfc-3339=seconds --utc)" \
|
|
--label "org.opencontainers.image.title=$(IMAGE_NAME)" \
|
|
$(_BASE_IMAGE_ARG) \
|
|
-f images/deckhand/Dockerfile.$(DISTRO) \
|
|
--build-arg http_proxy=$(PROXY) \
|
|
--build-arg https_proxy=$(PROXY) \
|
|
--build-arg HTTP_PROXY=$(PROXY) \
|
|
--build-arg HTTPS_PROXY=$(PROXY) \
|
|
--build-arg no_proxy=$(NO_PROXY) \
|
|
--build-arg NO_PROXY=$(NO_PROXY) .
|
|
else
|
|
docker build --network host -t $(IMAGE) --label $(LABEL) \
|
|
--label "org.opencontainers.image.revision=$(COMMIT)" \
|
|
--label "org.opencontainers.image.created=$(shell date --rfc-3339=seconds --utc)" \
|
|
--label "org.opencontainers.image.title=$(IMAGE_NAME)" \
|
|
$(_BASE_IMAGE_ARG) \
|
|
-f images/deckhand/Dockerfile.$(DISTRO) .
|
|
endif
|
|
ifeq ($(PUSH_IMAGE), true)
|
|
docker push $(IMAGE)
|
|
endif
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
rm -rf build
|
|
helm delete helm-template ||:
|
|
rm -rf doc/build
|
|
# Don't remove .placeholder from doc/source/_static/
|
|
rm -rf doc/api doc/source/_static/* doc/source/contributor/api
|
|
|
|
.PHONY: docs
|
|
docs: clean build_docs
|
|
|
|
.PHONY: build_docs
|
|
build_docs:
|
|
tox -e docs
|
|
|
|
.PHONY: pep8
|
|
pep8:
|
|
tox -e pep8
|
|
|
|
.PHONY: helm_lint
|
|
helm_lint: clean
|
|
tools/helm_tk.sh $(HELM)
|
|
$(HELM) lint charts/deckhand
|