Add deployment scripting #444

Merged
telackey merged 9 commits from dboreham/deployment-scripting into main 2023-07-24 02:54:06 +00:00
3 changed files with 31 additions and 3 deletions
Showing only changes of commit 327f1c218e - Show all commits

View File

@ -14,6 +14,7 @@
# along with this program. If not, see <http:#www.gnu.org/licenses/>.
from app.util import get_yaml
from app.stack_state import State
default_spec_file_content = """config:
node_moniker: my-node-name
@ -24,7 +25,12 @@ init_help_text = """Add helpful text here on setting config variables.
"""
def init(ctx):
def init(command_context):
print(init_help_text)
yaml = get_yaml()
return yaml.parse(default_spec_file_content)
return yaml.load(default_spec_file_content)
def get_state(command_context):
print("Here we get state")
return State.CONFIGURED

View File

@ -19,7 +19,7 @@ import os
from pathlib import Path
from shutil import copyfile, copytree
import sys
from .util import get_stack_file_path, get_parsed_deployment_spec, get_parsed_stack_config, global_options, get_yaml
from app.util import get_stack_file_path, get_parsed_deployment_spec, get_parsed_stack_config, global_options, get_yaml
def _make_default_deployment_dir():

22
app/stack_state.py Normal file
View File

@ -0,0 +1,22 @@
# Copyright © 2023 Cerc
# 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/>.
from enum import Enum
class State(Enum):
CREATED = 1
CONFIGURED = 2
STARTED = 3
STOPPED = 4