From 327f1c218eee97930ffb0dd92df991888b4c58ce Mon Sep 17 00:00:00 2001 From: David Boreham Date: Thu, 6 Jul 2023 06:53:13 -0600 Subject: [PATCH] Add basic stack state --- .../stacks/mainnet-laconic/deploy/commands.py | 10 +++++++-- app/deployment_create.py | 2 +- app/stack_state.py | 22 +++++++++++++++++++ 3 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 app/stack_state.py diff --git a/app/data/stacks/mainnet-laconic/deploy/commands.py b/app/data/stacks/mainnet-laconic/deploy/commands.py index 134167c1..d0512655 100644 --- a/app/data/stacks/mainnet-laconic/deploy/commands.py +++ b/app/data/stacks/mainnet-laconic/deploy/commands.py @@ -14,6 +14,7 @@ # along with this program. If not, see . 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 \ No newline at end of file diff --git a/app/deployment_create.py b/app/deployment_create.py index 0a2033eb..4ddd04e3 100644 --- a/app/deployment_create.py +++ b/app/deployment_create.py @@ -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(): diff --git a/app/stack_state.py b/app/stack_state.py new file mode 100644 index 00000000..830a47f7 --- /dev/null +++ b/app/stack_state.py @@ -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 . + +from enum import Enum + +class State(Enum): + CREATED = 1 + CONFIGURED = 2 + STARTED = 3 + STOPPED = 4