Compare commits

..
Author SHA1 Message Date
dboreham c19559967d Add doc for deploy-webapp (#672) 2023-11-29 20:55:14 -07:00
dboreham d7093277b4 Use constants (#671) 2023-11-29 20:50:53 -07:00
2 changed files with 15 additions and 4 deletions
+11 -1
View File
@@ -34,7 +34,7 @@ To test locally run:
## Running
With `run-webapp` a new container will be launched with runtime configuration provided by `--env-file` (if specified) and published on an available port. Multiple instances can be launched with different configuration.
With `run-webapp` a new container will be launched on the local machine, with runtime configuration provided by `--env-file` (if specified) and published on an available port. Multiple instances can be launched with different configuration.
**Example**:
```
@@ -52,3 +52,13 @@ Image: cerc/test-progressive-web-app:local
ID: 9ab96494f563aafb6c057d88df58f9eca81b90f8721a4e068493a289a976051c
URL: http://localhost:32769
```
## Deploying
Use the subcommand `deploy-webapp create` to make a deployment directory that can be subsequently deployed to a Kubernetes cluster.
Example commands are shown below, assuming that the webapp container image `cerc/test-progressive-web-app:local` has already been built:
```
$ laconic-so deploy-webapp create --kube-config ~/kubectl/k8s-kubeconfig.yaml --image-registry registry.digitalocean.com/laconic-registry --deployment-dir webapp-k8s-deployment --image cerc/test-progressive-web-app:local --url https://test-pwa-app.hosting.laconic.com/ --env-file test-webapp.env
$ laconic-so deployment --dir webapp-k8s-deployment push-images
$ laconic-so deployment --dir webapp-k8s-deployment start
```
@@ -16,6 +16,7 @@
from pathlib import Path
from stack_orchestrator import constants
from stack_orchestrator.deploy.stack import Stack
from stack_orchestrator.deploy.spec import Spec
@@ -26,13 +27,13 @@ class DeploymentContext:
stack: Stack
def get_stack_file(self):
return self.deployment_dir.joinpath("stack.yml")
return self.deployment_dir.joinpath(constants.stack_file_name)
def get_spec_file(self):
return self.deployment_dir.joinpath("spec.yml")
return self.deployment_dir.joinpath(constants.spec_file_name)
def get_env_file(self):
return self.deployment_dir.joinpath("config.env")
return self.deployment_dir.joinpath(constants.config_file_name)
# TODO: implement me
def get_cluster_name(self):