Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
faermanj committed Nov 2, 2023
1 parent b17834a commit bdb9a11
Show file tree
Hide file tree
Showing 5 changed files with 33 additions and 10 deletions.
4 changes: 4 additions & 0 deletions up_quarkus/settings.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
up:
prompt: quarkus
container:
image: caravanacloud/red-pod
27 changes: 17 additions & 10 deletions upcli/up/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,23 +50,30 @@ def up(context: Context, prompt: Prompt):
prompt = shlex.split(prompt[0])
log.debug(f"prompt: {prompt}")
load_plugins(context)
run_configs = run_configs_for_prompt(prompt)
for run_config in run_configs:
containers.run(run_config)


def run_configs_for_prompt(prompt) -> list[ContainerRun]:
from_plugins = run_configs_from_plugins(prompt)
from_configs = run_configs_from_dynaconf(prompt)
container_runs = containers_for_prompt(prompt)
if not container_runs:
log.error("No containers found, using defaults")
container_runs = [default_container(prompt)]
for container in container_runs:
containers.run(container)

def default_container(prompt):
return ContainerRun(
image="fedora",
command=prompt)

def containers_for_prompt(prompt) -> list[ContainerRun]:
from_plugins = containers_from_plugins(prompt)
from_configs = containers_from_dynaconf(prompt)
result = from_plugins + from_configs
return result


def run_configs_from_dynaconf(prompt: list[str]) -> list[ContainerRun]:
def containers_from_dynaconf(prompt: list[str]) -> list[ContainerRun]:
return []


def run_configs_from_plugins(prompt: list[str]) -> list[ContainerRun]:
def containers_from_plugins(prompt: list[str]) -> list[ContainerRun]:
results = pm.hook.containers_for_prompt(prompt=prompt)
result = sum(results, [])
if not result:
Expand Down
3 changes: 3 additions & 0 deletions uplib/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@

# Ignore dynaconf secret files
.secrets.*
Empty file added uplib/settings.toml
Empty file.
9 changes: 9 additions & 0 deletions uplib/uplib/config.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
from dynaconf import Dynaconf

settings = Dynaconf(
envvar_prefix="UP",
settings_files=['settings.toml', '.secrets.toml'],
)

# `envvar_prefix` = export envvars with `export DYNACONF_FOO=bar`.
# `settings_files` = Load these files in the order.

0 comments on commit bdb9a11

Please sign in to comment.