First cut at webapp deploy create
This commit is contained in:
parent
5bf36c2bf8
commit
c67612e048
@ -0,0 +1,8 @@
|
||||
services:
|
||||
webapp:
|
||||
image: cerc/webapp-container:local
|
||||
restart: always
|
||||
environment:
|
||||
CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG}
|
||||
ports:
|
||||
- "3000"
|
1
stack_orchestrator/data/stacks/webapp-template/README.md
Normal file
1
stack_orchestrator/data/stacks/webapp-template/README.md
Normal file
@ -0,0 +1 @@
|
||||
# Template stack for webapp deployments
|
7
stack_orchestrator/data/stacks/webapp-template/stack.yml
Normal file
7
stack_orchestrator/data/stacks/webapp-template/stack.yml
Normal file
@ -0,0 +1,7 @@
|
||||
version: "1.0"
|
||||
name: test
|
||||
description: "Webapp deployment stack"
|
||||
containers:
|
||||
- cerc/webapp-template-container
|
||||
pods:
|
||||
- webapp-template
|
40
stack_orchestrator/deploy/webapp/deploy_webapp.py
Normal file
40
stack_orchestrator/deploy/webapp/deploy_webapp.py
Normal file
@ -0,0 +1,40 @@
|
||||
# Copyright ©2023 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/>.
|
||||
|
||||
import click
|
||||
|
||||
from stack_orchestrator.util import error_exit
|
||||
|
||||
|
||||
@click.group()
|
||||
@click.pass_context
|
||||
def command(ctx):
|
||||
'''manage a webapp deployment'''
|
||||
|
||||
# Check that --stack wasn't supplied
|
||||
if ctx.parent.obj.stack:
|
||||
error_exit("--stack can't be supplied with the deploy-webapp command")
|
||||
|
||||
|
||||
@command.command()
|
||||
@click.option("--kube-config", help="Provide a config file for a k8s deployment")
|
||||
@click.option("--image-registry", help="Provide a container image registry url for this k8s cluster")
|
||||
@click.option("--deployment-dir", help="Create deployment files in this directory")
|
||||
@click.option("--image", help="image to deploy", required=True)
|
||||
@click.option("--env-file", help="environment file for webapp")
|
||||
@click.pass_context
|
||||
def create(ctx, image, deploy_to, env_file):
|
||||
'''create a deployment for the specified webapp container'''
|
||||
pass
|
@ -20,7 +20,7 @@ from stack_orchestrator.repos import setup_repositories
|
||||
from stack_orchestrator.build import build_containers
|
||||
from stack_orchestrator.build import build_npms
|
||||
from stack_orchestrator.build import build_webapp
|
||||
from stack_orchestrator.deploy.webapp import run_webapp
|
||||
from stack_orchestrator.deploy.webapp import run_webapp, deploy_webapp
|
||||
from stack_orchestrator.deploy import deploy
|
||||
from stack_orchestrator import version
|
||||
from stack_orchestrator.deploy import deployment
|
||||
@ -52,6 +52,7 @@ cli.add_command(build_containers.command, "build-containers")
|
||||
cli.add_command(build_npms.command, "build-npms")
|
||||
cli.add_command(build_webapp.command, "build-webapp")
|
||||
cli.add_command(run_webapp.command, "run-webapp")
|
||||
cli.add_command(deploy_webapp.command, "deploy-webapp")
|
||||
cli.add_command(deploy.command, "deploy") # deploy is an alias for deploy-system
|
||||
cli.add_command(deploy.command, "deploy-system")
|
||||
cli.add_command(deployment.command, "deployment")
|
||||
|
Loading…
Reference in New Issue
Block a user