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_containers
|
||||||
from stack_orchestrator.build import build_npms
|
from stack_orchestrator.build import build_npms
|
||||||
from stack_orchestrator.build import build_webapp
|
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.deploy import deploy
|
||||||
from stack_orchestrator import version
|
from stack_orchestrator import version
|
||||||
from stack_orchestrator.deploy import deployment
|
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_npms.command, "build-npms")
|
||||||
cli.add_command(build_webapp.command, "build-webapp")
|
cli.add_command(build_webapp.command, "build-webapp")
|
||||||
cli.add_command(run_webapp.command, "run-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") # deploy is an alias for deploy-system
|
||||||
cli.add_command(deploy.command, "deploy-system")
|
cli.add_command(deploy.command, "deploy-system")
|
||||||
cli.add_command(deployment.command, "deployment")
|
cli.add_command(deployment.command, "deployment")
|
||||||
|
Loading…
Reference in New Issue
Block a user