Compare commits

..
Author SHA1 Message Date
dboreham fbd340bd34 Merge branch 'main' into ci-test 2024-02-22 13:28:05 -07:00
dboreham e22792dc4b Merge branch 'main' into ci-test 2024-02-17 07:30:29 -07:00
dboreham d79053b137 Merge branch 'main' into ci-test 2024-02-17 07:24:12 -07:00
dboreham 85204ca29a Enable debug output on test 2024-02-15 08:41:54 -07:00
dboreham d6d016cad8 Merge branch 'main' into ci-test 2024-02-15 08:13:10 -07:00
dboreham 3b553bb660 Revert to the stock runner 2024-01-30 11:13:21 -07:00
dboreham 466c149f36 Switch back to alternative runner 2024-01-30 07:39:05 -07:00
dboreham 3c84ebff68 Switch back to stock runner 2024-01-30 07:01:13 -07:00
dboreham d5244726aa Use new runner 2024-01-28 16:25:45 -07:00
dboreham 15ae2c0cdf Merge main 2024-01-28 16:24:26 -07:00
dboreham 6d5f661750 Try a longer sleep 2024-01-21 17:42:09 -07:00
dboreham bc872b09fb Add output to check cgroups version 2024-01-21 17:23:28 -07:00
dboreham a751e87dd4 Switch back to stock runner 2024-01-21 17:21:35 -07:00
dboreham 5ba9a803de Trigger k8s deploy test off changes to its scripts 2024-01-21 17:19:39 -07:00
dboreham b56c84b93a Merge main 2024-01-21 17:16:09 -07:00
dboreham 1520f7413d Debug CI 2023-11-08 20:02:21 -07:00
dboreham 1d78430679 Merge branch 'main' into ci-test 2023-11-08 20:01:26 -07:00
dboreham 46b726be9b Merge branch 'main' into ci-test 2023-10-12 15:26:38 -06:00
dboreham b3b57b6f28 Merge branch 'main' into ci-test 2023-10-03 07:25:32 -06:00
dboreham 69b352dcce Make the block window wider 2023-08-17 08:31:21 -06:00
dboreham 4e656df709 Extend the wait 2023-08-17 07:23:33 -06:00
dboreham 7fc6375886 Revert long wait 2023-08-17 03:04:22 -06:00
dboreham ac02753ffe Build lighthouse for older CPUs 2023-08-17 02:09:29 -06:00
dboreham 69d59b109b Add stack logs in case of fail 2023-08-17 00:36:36 -06:00
dboreham f62a8ff54f Try waiting even longer 2023-08-16 23:41:39 -06:00
dboreham 82a839d15f Try waiting longer for a new block 2023-08-16 22:12:45 -06:00
dboreham 5a31cb50c3 Add log output at end of test 2023-08-16 20:57:59 -06:00
dboreham fae2438e97 Comment out stack status step 2023-08-16 15:45:19 -06:00
dboreham 952ea29ca5 Add time stamps to test script 2023-08-16 13:50:27 -06:00
dboreham fbfc162ab7 Merge branch 'main' into ci-test 2023-08-16 09:32:29 -06:00
dboreham 6ff81b2049 Merge branch 'main' into ci-test 2023-08-03 14:30:10 -06:00
dboreham 3b3c688ee9 Merge branch 'dboreham/update-lighthouse' into ci-test 2023-07-27 20:14:54 -06:00
dboreham 16bef78312 Merge branch 'main' into ci-test 2023-07-27 20:14:45 -06:00
dboreham 12e68ff1ec Use latest stable lighthouse release 2023-07-27 20:14:12 -06:00
dboreham 6f3f20739d Merge branch 'main' into ci-test 2023-07-19 20:53:16 -06:00
dboreham caabaa35ff Merge branch 'main' into ci-test 2023-07-19 20:38:33 -06:00
dboreham a265794bd7 Update fixturenet-eth-test.yml
Change to trigger CI on Gitea
2023-07-18 11:43:18 -06:00
dboreham 5d7e7294c9 Update fixturenet-eth-test.yml
Change to trigger CI in gitea
2023-07-18 11:33:01 -06:00
dboreham d9805666c3 Merge main 2023-06-29 15:16:38 -06:00
dboreham 582b92d277 Merge main 2023-06-29 15:14:40 -06:00
David Boreham dc19d68aa4 Merge branch 'main' into ci-test 2023-06-05 20:50:43 -06:00
David Boreham d57e8d0efd Merge branch 'dboreham/build-local-lcli' into ci-test 2023-06-05 16:46:50 -06:00
telackey 91d3613247 Include --eth1-block-hash 2023-06-05 15:45:07 -05:00
David Boreham 76ab4a7717 Merge branch 'dboreham/build-local-lcli' into ci-test 2023-06-04 23:04:40 -06:00
David Boreham fd40aedadd Add lcli container to fixturenet-eth stack 2023-06-04 23:03:48 -06:00
David Boreham 3748fa38b1 Update ldcli options 2023-06-04 23:01:43 -06:00
David Boreham aa4c52c174 Fix typo 2023-06-04 16:43:38 -06:00
David Boreham 609128d004 Blind fix for lcli error 2023-06-04 16:42:44 -06:00
David Boreham 47164cb5f5 Test updated lcli command 2023-06-04 16:12:16 -06:00
David Boreham 93c47ec5cc Merge branch 'dboreham/build-local-lcli' into ci-test 2023-06-04 15:41:24 -06:00
David Boreham 700ce586a6 Merge main 2023-06-04 15:41:01 -06:00
David Boreham 223aacb16f Enable portable lcli build 2023-06-04 14:30:01 -06:00
David Boreham c120ee2086 Pull lighthouse repo 2023-06-04 14:29:07 -06:00
David Boreham 685e11ed6f Build lcli locally 2023-06-04 14:27:07 -06:00
dboreham 6cf9869a57 Merge branch 'dboreham/add-foundry-to-plugeth-stack' into ci-test 2023-05-30 23:22:03 -06:00
dboreham 00d34944a2 Add foundry to fixturenet-plugeth-tx 2023-05-30 23:20:26 -06:00
dboreham 40424cc3b6 Merge branch 'main' into ci-test 2023-05-30 22:33:37 -06:00
dboreham b594d15e91 Trigger CI 2023-05-30 12:23:48 -06:00
dboreham 500e60c480 Trigger CI 2023-05-30 08:49:36 -06:00
dboreham 8c3a8eb33d Add fixturenet-plugeth test 2023-05-25 16:56:59 -06:00
dboreham 27067e061c Merge branch 'main' into ci-test 2023-05-25 16:46:36 -06:00
dboreham eab5a6ccf1 Trigger CI 2023-05-24 21:49:35 -06:00
dboreham 7ed2448f03 Merge current main
Former-commit-id: d82ba6ed5035203d1ce3846744309210caadda62
2023-05-18 13:57:35 -06:00
dboreham e9e1d8bcd4 Merge branch 'main' into ci-test
Former-commit-id: 966539faa46bf33a3b6471a3289a4fb7c4685cc7
2023-05-18 13:55:29 -06:00
dboreham 0563764ca4 Trigger CI
Former-commit-id: bb1d81a906000d5acf22269eaca53c6ab32c5605
2023-05-02 14:22:40 -06:00
dboreham 069dd50fd3 Merge branch 'main' into ci-test
Former-commit-id: 4eb970350bbfca04ea98b21a6aaf0acfa3daa8cd
2023-04-28 09:44:05 -06:00
dboreham 595fbe4eca Force CI again
Former-commit-id: 401ab334f00273307f64397f06f2b295c1151085
2023-04-20 20:17:19 -06:00
dboreham 3e949b403f Force CI again
Former-commit-id: fa822a71297ad39d5f8301321e7230f55bb0cb27
2023-04-20 19:06:20 -06:00
dboreham 5524e95434 Force CI to run
Former-commit-id: 99ecc01e52eda6bf162679bc0dda79c0438b14cb
2023-04-20 18:24:45 -06:00
dboreham 616982d9ba Merge branch 'main' into ci-test
Former-commit-id: b3b24e3f1870763025d9ac9b07685b1a85567874
2023-04-20 17:40:41 -06:00
dboreham 2cbb6e1f1d Add debug output
Former-commit-id: 27d23144e4003fa131a7fc95b7f527848b6181ad
2023-04-20 15:00:20 -06:00
dboreham 0712012cf4 Start docker inside the executor
Former-commit-id: 2948691fc712898c4ad04bbf11296f8ecbbd5b0b
2023-04-20 13:58:20 -06:00
11 changed files with 63 additions and 233 deletions
@@ -1,45 +0,0 @@
name: Fixturenet-Eth-Plugeth-Arm-Test
on:
push:
branches: '*'
paths:
- '!**'
- '.gitea/workflows/triggers/fixturenet-eth-plugeth-arm-test'
schedule: # Note: coordinate with other tests to not overload runners at the same time of day
- cron: '2 14 * * *'
# Needed until we can incorporate docker startup into the executor container
env:
DOCKER_HOST: unix:///var/run/dind.sock
jobs:
test:
name: "Run an Ethereum plugeth fixturenet test"
runs-on: ubuntu-latest-arm
steps:
- name: "Clone project repository"
uses: actions/checkout@v3
# At present the stock setup-python action fails on Linux/aarch64
# Conditional steps below workaroud this by using deadsnakes for that case only
- name: "Install Python for ARM on Linux"
if: ${{ runner.arch == 'arm64' && runner.os == 'Linux' }}
uses: deadsnakes/action@v3.0.1
with:
python-version: '3.8'
- name: "Install Python cases other than ARM on Linux"
if: ${{ ! (runner.arch == 'arm64' && runner.os == 'Linux') }}
uses: actions/setup-python@v4
with:
python-version: '3.8'
- name: "Print Python version"
run: python3 --version
- name: "Install shiv"
run: pip install shiv
- name: "Generate build version file"
run: ./scripts/create_build_tag_file.sh
- name: "Build local shiv package"
run: ./scripts/build_shiv_package.sh
- name: "Run fixturenet-eth tests"
run: ./tests/fixturenet-eth-plugeth/run-test.sh
+1 -1
View File
@@ -48,5 +48,5 @@ jobs:
run: |
source /opt/bash-utils/cgroup-helper.sh
join_cgroup
./tests/database/run-test.sh
CERC_SCRIPT_DEBUG=1 ./tests/database/run-test.sh
@@ -1,2 +0,0 @@
Change this file to trigger running the fixturenet-eth-plugeth-arm-test CI job
+51 -61
View File
@@ -27,11 +27,8 @@ import subprocess
import click
import importlib.resources
from pathlib import Path
from stack_orchestrator.opts import opts
from stack_orchestrator.util import include_exclude_check, get_parsed_stack_config, stack_is_external, error_exit, warn_exit
from stack_orchestrator.util import include_exclude_check, get_parsed_stack_config, stack_is_external, warn_exit
from stack_orchestrator.base import get_npm_registry_url
from stack_orchestrator.build.build_types import BuildContext
from stack_orchestrator.build.publish import publish_image
# TODO: find a place for this
# epilog="Config provided either in .env or settings.ini or env vars: CERC_REPO_BASE_DIR (defaults to ~/cerc)"
@@ -62,58 +59,69 @@ def make_container_build_env(dev_root_path: str,
return container_build_env
def process_container(build_context: BuildContext) -> bool:
if not opts.o.quiet:
print(f"Building: {build_context.container}")
def process_container(stack: str,
container,
container_build_dir: str,
container_build_env: dict,
dev_root_path: str,
quiet: bool,
verbose: bool,
dry_run: bool,
continue_on_error: bool,
):
if not quiet:
print(f"Building: {container}")
default_container_tag = f"{build_context.container}:local"
build_context.container_build_env.update({"CERC_DEFAULT_CONTAINER_IMAGE_TAG": default_container_tag})
default_container_tag = f"{container}:local"
container_build_env.update({"CERC_DEFAULT_CONTAINER_IMAGE_TAG": default_container_tag})
# Check if this is in an external stack
if stack_is_external(build_context.stack):
container_parent_dir = Path(build_context.stack).joinpath("container-build")
temp_build_dir = container_parent_dir.joinpath(build_context.container.replace("/", "-"))
if stack_is_external(stack):
container_parent_dir = Path(stack).joinpath("container-build")
temp_build_dir = container_parent_dir.joinpath(container.replace("/", "-"))
temp_build_script_filename = temp_build_dir.joinpath("build.sh")
# Now check if the container exists in the external stack.
if not temp_build_script_filename.exists():
# If not, revert to building an internal container
container_parent_dir = build_context.container_build_dir
container_parent_dir = container_build_dir
else:
container_parent_dir = build_context.container_build_dir
container_parent_dir = container_build_dir
build_dir = container_parent_dir.joinpath(build_context.container.replace("/", "-"))
build_dir = container_parent_dir.joinpath(container.replace("/", "-"))
build_script_filename = build_dir.joinpath("build.sh")
if opts.o.verbose:
if verbose:
print(f"Build script filename: {build_script_filename}")
if os.path.exists(build_script_filename):
build_command = build_script_filename.as_posix()
else:
if opts.o.verbose:
if verbose:
print(f"No script file found: {build_script_filename}, using default build script")
repo_dir = build_context.container.split('/')[1]
repo_dir = container.split('/')[1]
# TODO: make this less of a hack -- should be specified in some metadata somewhere
# Check if we have a repo for this container. If not, set the context dir to the container-build subdir
repo_full_path = os.path.join(build_context.dev_root_path, repo_dir)
repo_full_path = os.path.join(dev_root_path, repo_dir)
repo_dir_or_build_dir = repo_full_path if os.path.exists(repo_full_path) else build_dir
build_command = os.path.join(build_context.container_build_dir,
build_command = os.path.join(container_build_dir,
"default-build.sh") + f" {default_container_tag} {repo_dir_or_build_dir}"
if not opts.o.dry_run:
if not dry_run:
# No PATH at all causes failures with podman.
if "PATH" not in build_context.container_build_env:
build_context.container_build_env["PATH"] = os.environ["PATH"]
if opts.o.verbose:
print(f"Executing: {build_command} with environment: {build_context.container_build_env}")
build_result = subprocess.run(build_command, shell=True, env=build_context.container_build_env)
if opts.o.verbose:
if "PATH" not in container_build_env:
container_build_env["PATH"] = os.environ["PATH"]
if verbose:
print(f"Executing: {build_command} with environment: {container_build_env}")
build_result = subprocess.run(build_command, shell=True, env=container_build_env)
if verbose:
print(f"Return code is: {build_result.returncode}")
if build_result.returncode != 0:
return False
else:
return True
print(f"Error running build for {container}")
if not continue_on_error:
print("FATAL Error: container build failed and --continue-on-error not set, exiting")
sys.exit(1)
else:
print("****** Container Build Error, continuing because --continue-on-error is set")
else:
print("Skipped")
return True
@click.command()
@@ -121,14 +129,17 @@ def process_container(build_context: BuildContext) -> bool:
@click.option('--exclude', help="don\'t build these containers")
@click.option("--force-rebuild", is_flag=True, default=False, help="Override dependency checking -- always rebuild")
@click.option("--extra-build-args", help="Supply extra arguments to build")
@click.option("--publish-images", is_flag=True, default=False, help="Publish the built images in the specified image registry")
@click.option("--image-registry", help="Specify the image registry for --publish-images")
@click.pass_context
def command(ctx, include, exclude, force_rebuild, extra_build_args, publish_images, image_registry):
def command(ctx, include, exclude, force_rebuild, extra_build_args):
'''build the set of containers required for a complete stack'''
quiet = ctx.obj.quiet
verbose = ctx.obj.verbose
dry_run = ctx.obj.dry_run
debug = ctx.obj.debug
local_stack = ctx.obj.local_stack
stack = ctx.obj.stack
continue_on_error = ctx.obj.continue_on_error
# See: https://stackoverflow.com/questions/25389095/python-get-path-of-root-project-structure
container_build_dir = Path(__file__).absolute().parent.parent.joinpath("data", "container-build")
@@ -139,16 +150,12 @@ def command(ctx, include, exclude, force_rebuild, extra_build_args, publish_imag
else:
dev_root_path = os.path.expanduser(config("CERC_REPO_BASE_DIR", default="~/cerc"))
if not opts.o.quiet:
if not quiet:
print(f'Dev Root is: {dev_root_path}')
if not os.path.isdir(dev_root_path):
print('Dev root directory doesn\'t exist, creating')
if publish_images:
if not image_registry:
error_exit("--image-registry must be supplied with --publish-images")
# See: https://stackoverflow.com/a/20885799/1701505
from stack_orchestrator import data
with importlib.resources.open_text(data, "container-image-list.txt") as container_list_file:
@@ -163,38 +170,21 @@ def command(ctx, include, exclude, force_rebuild, extra_build_args, publish_imag
else:
containers_in_scope = all_containers
if opts.o.verbose:
if verbose:
print(f'Containers: {containers_in_scope}')
if stack:
print(f"Stack: {stack}")
container_build_env = make_container_build_env(dev_root_path,
container_build_dir,
opts.o.debug,
debug,
force_rebuild,
extra_build_args)
for container in containers_in_scope:
if include_exclude_check(container, include, exclude):
build_context = BuildContext(
stack,
container,
container_build_dir,
container_build_env,
dev_root_path
)
result = process_container(build_context)
if result:
if publish_images:
publish_image(f"{container}:local", image_registry)
else:
print(f"Error running build for {build_context.container}")
if not opts.o.continue_on_error:
error_exit("container build failed and --continue-on-error not set, exiting")
sys.exit(1)
else:
print("****** Container Build Error, continuing because --continue-on-error is set")
process_container(stack, container, container_build_dir, container_build_env,
dev_root_path, quiet, verbose, dry_run, continue_on_error)
else:
if opts.o.verbose:
if verbose:
print(f"Excluding: {container}")
-29
View File
@@ -1,29 +0,0 @@
# Copyright © 2024 Vulcanize
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http:#www.gnu.org/licenses/>.
from dataclasses import dataclass
from pathlib import Path
from typing import Mapping
@dataclass
class BuildContext:
stack: str
container: str
container_build_dir: Path
container_build_env: Mapping[str,str]
dev_root_path: str
+4 -17
View File
@@ -26,7 +26,6 @@ import click
from pathlib import Path
from stack_orchestrator.build import build_containers
from stack_orchestrator.deploy.webapp.util import determine_base_container
from stack_orchestrator.build.build_types import BuildContext
@click.command()
@@ -66,14 +65,8 @@ def command(ctx, base_container, source_repo, force_rebuild, extra_build_args, t
container_build_env = build_containers.make_container_build_env(dev_root_path, container_build_dir, debug,
force_rebuild, extra_build_args)
build_context_1 = BuildContext(
stack,
base_container,
container_build_dir,
container_build_env,
dev_root_path,
)
build_containers.process_container(build_context_1)
build_containers.process_container(None, base_container, container_build_dir, container_build_env, dev_root_path, quiet,
verbose, dry_run, continue_on_error)
# Now build the target webapp. We use the same build script, but with a different Dockerfile and work dir.
container_build_env["CERC_WEBAPP_BUILD_RUNNING"] = "true"
@@ -87,11 +80,5 @@ def command(ctx, base_container, source_repo, force_rebuild, extra_build_args, t
else:
container_build_env["CERC_CONTAINER_BUILD_TAG"] = tag
build_context_2 = BuildContext(
stack,
base_container,
container_build_dir,
container_build_env,
dev_root_path,
)
build_containers.process_container(build_context_2)
build_containers.process_container(None, base_container, container_build_dir, container_build_env, dev_root_path, quiet,
verbose, dry_run, continue_on_error)
-48
View File
@@ -1,48 +0,0 @@
# Copyright © 2024 Vulcanize
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http:#www.gnu.org/licenses/>.
from datetime import datetime
from python_on_whales import DockerClient
from stack_orchestrator.opts import opts
from stack_orchestrator.util import error_exit
def _publish_tag_for_image(local_image_tag: str, remote_repo: str, version: str):
# Turns image tags of the form: foo/bar:local into remote.repo/org/bar:deploy
(image_name, image_version) = local_image_tag.split(":")
if image_version == "local":
return f"{remote_repo}/{image_name}:{version}"
else:
error_exit("Asked to publish a non-locally built image")
def publish_image(local_tag, registry):
if opts.o.verbose:
print(f"Publishing this image: {local_tag} to this registry: {registry}")
docker = DockerClient()
# Figure out the target image tag
# Eventually this version will be generated from the source repo state
# Using a timestemp is an intermediate step
version = datetime.now().strftime("%Y%m%d%H%M")
remote_tag = _publish_tag_for_image(local_tag, registry, version)
# Tag the image thus
if opts.o.debug:
print(f"Tagging {local_tag} to {remote_tag}")
docker.image.tag(local_tag, remote_tag)
# Push it to the desired registry
if opts.o.verbose:
print(f"Pushing image {remote_tag}")
docker.image.push(remote_tag)
@@ -5,11 +5,9 @@ services:
environment:
REGISTRY_LOG_LEVEL: ${REGISTRY_LOG_LEVEL}
volumes:
- config:/config:ro
- registry-data:/var/lib/registry
ports:
- "5000"
volumes:
config:
registry-data:
@@ -16,10 +16,6 @@ if [ -z "$CERC_BUILD_TOOL" ]; then
fi
fi
echo "for building the mars v2 frontend"
npm install --save dotenv
yarn install-charting-library
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
WORK_DIR="${1:-/app}"
@@ -3,28 +3,13 @@ if [ -n "$CERC_SCRIPT_DEBUG" ]; then
set -x
fi
CERC_LISTEN_PORT=${CERC_LISTEN_PORT:-80}
CERC_WEBAPP_FILES_DIR="${CERC_WEBAPP_FILES_DIR:-/data}"
CERC_ENABLE_CORS="${CERC_ENABLE_CORS:-false}"
CERC_SINGLE_PAGE_APP="${CERC_SINGLE_PAGE_APP}"
if [ -z "${CERC_SINGLE_PAGE_APP}" ]; then
if [ 1 -eq $(find "${CERC_WEBAPP_FILES_DIR}" -name '*.html' | wc -l) ] && [ -d "${CERC_WEBAPP_FILES_DIR}/static" ]; then
CERC_SINGLE_PAGE_APP=true
else
CERC_SINGLE_PAGE_APP=false
fi
fi
if [ "true" == "$CERC_ENABLE_CORS" ]; then
CERC_HTTP_EXTRA_ARGS="$CERC_HTTP_EXTRA_ARGS --cors"
fi
if [ "true" == "$CERC_SINGLE_PAGE_APP" ]; then
# Create a catchall redirect back to /
CERC_HTTP_EXTRA_ARGS="$CERC_HTTP_EXTRA_ARGS --proxy http://localhost:${CERC_LISTEN_PORT}?"
fi
LACONIC_HOSTED_CONFIG_FILE=${LACONIC_HOSTED_CONFIG_FILE}
if [ -z "${LACONIC_HOSTED_CONFIG_FILE}" ]; then
if [ -f "/config/laconic-hosted-config.yml" ]; then
@@ -35,8 +20,8 @@ if [ -z "${LACONIC_HOSTED_CONFIG_FILE}" ]; then
fi
if [ -f "${LACONIC_HOSTED_CONFIG_FILE}" ]; then
/scripts/apply-webapp-config.sh $LACONIC_HOSTED_CONFIG_FILE "${CERC_WEBAPP_FILES_DIR}"
/scripts/apply-webapp-config.sh $LACONIC_HOSTED_CONFIG_FILE ${CERC_WEBAPP_FILES_DIR}
fi
/scripts/apply-runtime-env.sh ${CERC_WEBAPP_FILES_DIR}
http-server $CERC_HTTP_EXTRA_ARGS -p ${CERC_LISTEN_PORT} "${CERC_WEBAPP_FILES_DIR}"
http-server $CERC_HTTP_EXTRA_ARGS -p ${CERC_LISTEN_PORT:-80} ${CERC_WEBAPP_FILES_DIR}
@@ -327,14 +327,12 @@ def init_operation(deploy_command_context, stack, deployer_type, config,
default_spec_file_content = call_stack_deploy_init(deploy_command_context)
spec_file_content = {"stack": stack, constants.deploy_to_key: deployer_type}
if deployer_type == "k8s":
if kube_config:
spec_file_content.update({constants.kube_config_key: kube_config})
else:
if kube_config is None:
error_exit("--kube-config must be supplied with --deploy-to k8s")
if image_registry:
spec_file_content.update({constants.image_registry_key: image_registry})
else:
print("WARNING: --image-registry not specified, only default container registries (eg, Docker Hub) will be available")
if image_registry is None:
error_exit("--image-registry must be supplied with --deploy-to k8s")
spec_file_content.update({constants.kube_config_key: kube_config})
spec_file_content.update({constants.image_registry_key: image_registry})
else:
# Check for --kube-config supplied for non-relevant deployer types
if kube_config is not None: