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( logger.log(
f"Creating webapp deployment in: {deployment_dir} with container id: {deployment_container_tag}" f"Creating webapp deployment in: {deployment_dir} with container id: {deployment_container_tag}"
) )
# CREATES DEPLOYMENT DIR, NOT SKIPPING FOR TESTING
deploy_webapp.create_deployment( deploy_webapp.create_deployment(
ctx, ctx,
deployment_dir, deployment_dir,
@ -215,24 +214,21 @@ def process_app_deployment_request(
# add_tags_to_image(image_registry, app_image_shared_tag, deployment_container_tag) # add_tags_to_image(image_registry, app_image_shared_tag, deployment_container_tag)
logger.log("Tag complete") logger.log("Tag complete")
else: else:
# SKIP BUILD extra_build_args = [] # TODO: pull from request
logger.log("TESTING: Skipping container build.") logger.log(f"Building container image: {deployment_container_tag}")
build_container_image(
# extra_build_args = [] # TODO: pull from request app, deployment_container_tag, extra_build_args, logger
# logger.log(f"Building container image: {deployment_container_tag}") )
# build_container_image( logger.log("Build complete")
# app, deployment_container_tag, extra_build_args, logger logger.log(f"Pushing container image: {deployment_container_tag}")
# ) push_container_image(deployment_dir, logger)
# logger.log("Build complete") logger.log("Push complete")
# logger.log(f"Pushing container image: {deployment_container_tag}") # The build/push commands above will use the unique deployment tag, so now we need to add the shared tag.
# push_container_image(deployment_dir, logger) logger.log(
# logger.log("Push complete") f"(SKIPPED) Adding global app image tag: {app_image_shared_tag} to newly built image: {deployment_container_tag}"
# # The build/push commands above will use the unique deployment tag, so now we need to add the shared tag. )
# logger.log( # add_tags_to_image(image_registry, deployment_container_tag, app_image_shared_tag)
# f"(SKIPPED) Adding global app image tag: {app_image_shared_tag} to newly built image: {deployment_container_tag}" logger.log("Tag complete")
# )
# # add_tags_to_image(image_registry, deployment_container_tag, app_image_shared_tag)
# logger.log("Tag complete")
else: else:
logger.log("Requested app is already deployed, skipping build and image push") 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 # 8. update k8s deployment
if needs_k8s_deploy: if needs_k8s_deploy:
# SKIP DEPLOY deploy_to_k8s(deployment_record, deployment_dir, recreate_on_deploy, logger)
logger.log("TESTING: Skipping deployment to k8s.")
# deploy_to_k8s(deployment_record, deployment_dir, recreate_on_deploy, logger)
logger.log("Publishing deployment to registry.") logger.log("Publishing deployment to registry.")
publish_deployment( 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 # 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 # exec the process, but it would be better to refactor so we could just call down_operation with the
# necessary parameters # necessary parameters
main_logger.log("TESTING: Skipping stopping deployment.") down_command = [sys.argv[0], "deployment", "--dir", deployment_dir, "down"]
# down_command = [sys.argv[0], "deployment", "--dir", deployment_dir, "down"] if delete_volumes:
# if delete_volumes: down_command.append("--delete-volumes")
# down_command.append("--delete-volumes") result = subprocess.run(down_command)
# result = subprocess.run(down_command) result.check_returncode()
# result.check_returncode()
removal_record = { removal_record = {
"record": { "record": {