1
0
Fork 0

Convert configuration form to json

WIP: Get nix in scope
This commit is contained in:
lois Verheij 2025-03-11 14:46:11 +01:00 committed by Kiara Grouwstra
parent 9c40fd0bfb
commit bc670296d7
Signed by: kiara
SSH key fingerprint: SHA256:COspvLoLJ5WC5rFb9ZDe5urVCkK4LJZOsjfF4duRJFU
4 changed files with 11 additions and 6 deletions

View file

@ -22,6 +22,7 @@ in
packages = [ packages = [
pkgs.npins pkgs.npins
manage manage
pkgs.nix
]; ];
env = { env = {
NPINS_DIRECTORY = toString ../npins; NPINS_DIRECTORY = toString ../npins;

View file

@ -37,6 +37,7 @@ let
django-libsass django-libsass
django_4 django_4
setuptools setuptools
pkgs.nix
] ]
++ cfg.package.propagatedBuildInputs ++ cfg.package.propagatedBuildInputs
); );

View file

@ -2,6 +2,7 @@
lib, lib,
sqlite, sqlite,
python3, python3,
nix,
}: }:
let let
src = src =
@ -50,6 +51,7 @@ python3.pkgs.buildPythonPackage {
in in
[ [
sqlite sqlite
nix
] ]
++ pythonPackages; ++ pythonPackages;

View file

@ -12,6 +12,7 @@ from panel import models
from panel.configuration import forms from panel.configuration import forms
class Index(TemplateView): class Index(TemplateView):
template_name = 'index.html' template_name = 'index.html'
@ -43,14 +44,14 @@ class ConfigurationForm(LoginRequiredMixin, FormView):
operator=self.request.user, operator=self.request.user,
) )
button_name = self.request.POST.get('save_draft') or self.request.POST.get('publish') # Check for deploy button
print(f"self.request.POST: {self.request.POST}") if "deploy" in self.request.POST.keys():
print(f"button_name: {button_name}")
if button_name == 'deploy':
print("DEPLOYING:") print("DEPLOYING:")
print(os.getenv("REPO_DIR")) print(os.getenv("REPO_DIR"))
print(obj) config_dict = obj.parsed_value.model_dump_json()
subprocess.run(["nix", "develop", "--command", "nixops4", "apply", "test"], cwd=os.getenv("REPO_DIR"), env={"DEPLOYMENT": obj}) print(f"config_dict: {config_dict}")
subprocess.run(["nix", "develop", "--command", "nixops4", "apply",
"test"], cwd=os.getenv("REPO_DIR"), env={"DEPLOYMENT": config_dict})
return obj return obj
# TODO(@fricklerhandwerk): # TODO(@fricklerhandwerk):