Compare commits

..

1 Commits

Author SHA1 Message Date
873a6d472c Update webapp deployment flow for supporting custom domains (#963)
All checks were successful
Lint Checks / Run linter (push) Successful in 38s
Publish / Build and publish (push) Successful in 1m7s
Smoke Test / Run basic test suite (push) Successful in 4m1s
Webapp Test / Run webapp test suite (push) Successful in 4m44s
Deploy Test / Run deploy test suite (push) Successful in 4m44s
Database Test / Run database hosting test on kind/k8s (push) Successful in 5m9s
Container Registry Test / Run contaier registry hosting test on kind/k8s (push) Successful in 1m52s
External Stack Test / Run external stack test suite (push) Successful in 2m28s
Fixturenet-Laconicd-Test / Run Laconicd fixturenet and Laconic CLI tests (push) Successful in 13m5s
K8s Deploy Test / Run deploy test suite on kind/k8s (push) Successful in 4m10s
Part of https://www.notion.so/Support-custom-domains-in-deploy-laconic-com-18aa6b22d4728067a44ae27090c02ce5 and cerc-io/snowballtools-base#47

- Set `value` (IP address for `A` resource) in the DNS records
- Update `deploy-webapp-from-registry` command with an option to pass k8s cluster IP address (only required with fqdn policy `allow`)

Reviewed-on: cerc-io/stack-orchestrator#963
Reviewed-by: ashwin <ashwin@noreply.git.vdb.to>
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2025-02-04 13:26:31 +00:00
2 changed files with 21 additions and 28 deletions

View File

@ -172,7 +172,6 @@ def process_app_deployment_request(
logger.log(
f"Creating webapp deployment in: {deployment_dir} with container id: {deployment_container_tag}"
)
# CREATES DEPLOYMENT DIR, NOT SKIPPING FOR TESTING
deploy_webapp.create_deployment(
ctx,
deployment_dir,
@ -215,24 +214,21 @@ def process_app_deployment_request(
# add_tags_to_image(image_registry, app_image_shared_tag, deployment_container_tag)
logger.log("Tag complete")
else:
# SKIP BUILD
logger.log("TESTING: Skipping container build.")
# extra_build_args = [] # TODO: pull from request
# logger.log(f"Building container image: {deployment_container_tag}")
# build_container_image(
# app, deployment_container_tag, extra_build_args, logger
# )
# logger.log("Build complete")
# logger.log(f"Pushing container image: {deployment_container_tag}")
# push_container_image(deployment_dir, logger)
# logger.log("Push complete")
# # The build/push commands above will use the unique deployment tag, so now we need to add the shared tag.
# logger.log(
# f"(SKIPPED) Adding global app image tag: {app_image_shared_tag} to newly built image: {deployment_container_tag}"
# )
# # add_tags_to_image(image_registry, deployment_container_tag, app_image_shared_tag)
# logger.log("Tag complete")
extra_build_args = [] # TODO: pull from request
logger.log(f"Building container image: {deployment_container_tag}")
build_container_image(
app, deployment_container_tag, extra_build_args, logger
)
logger.log("Build complete")
logger.log(f"Pushing container image: {deployment_container_tag}")
push_container_image(deployment_dir, logger)
logger.log("Push complete")
# The build/push commands above will use the unique deployment tag, so now we need to add the shared tag.
logger.log(
f"(SKIPPED) Adding global app image tag: {app_image_shared_tag} to newly built image: {deployment_container_tag}"
)
# add_tags_to_image(image_registry, deployment_container_tag, app_image_shared_tag)
logger.log("Tag complete")
else:
logger.log("Requested app is already deployed, skipping build and image push")
@ -245,9 +241,7 @@ def process_app_deployment_request(
# 8. update k8s deployment
if needs_k8s_deploy:
# SKIP DEPLOY
logger.log("TESTING: Skipping deployment to k8s.")
# deploy_to_k8s(deployment_record, deployment_dir, recreate_on_deploy, logger)
deploy_to_k8s(deployment_record, deployment_dir, recreate_on_deploy, logger)
logger.log("Publishing deployment to registry.")
publish_deployment(

View File

@ -72,12 +72,11 @@ def process_app_removal_request(
# TODO(telackey): Call the function directly. The easiest way to build the correct click context is to
# exec the process, but it would be better to refactor so we could just call down_operation with the
# necessary parameters
main_logger.log("TESTING: Skipping stopping deployment.")
# down_command = [sys.argv[0], "deployment", "--dir", deployment_dir, "down"]
# if delete_volumes:
# down_command.append("--delete-volumes")
# result = subprocess.run(down_command)
# result.check_returncode()
down_command = [sys.argv[0], "deployment", "--dir", deployment_dir, "down"]
if delete_volumes:
down_command.append("--delete-volumes")
result = subprocess.run(down_command)
result.check_returncode()
removal_record = {
"record": {