viur-cli 2.0.1.dev1__tar.gz → 2.0.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {viur_cli-2.0.1.dev1/src/viur_cli.egg-info → viur_cli-2.0.2}/PKG-INFO +1 -1
- {viur_cli-2.0.1.dev1 → viur_cli-2.0.2}/src/viur_cli/cloud.py +54 -23
- {viur_cli-2.0.1.dev1 → viur_cli-2.0.2}/src/viur_cli/conf.py +5 -3
- {viur_cli-2.0.1.dev1 → viur_cli-2.0.2}/src/viur_cli/update.py +1 -0
- {viur_cli-2.0.1.dev1 → viur_cli-2.0.2}/src/viur_cli/version.py +1 -1
- {viur_cli-2.0.1.dev1 → viur_cli-2.0.2/src/viur_cli.egg-info}/PKG-INFO +1 -1
- {viur_cli-2.0.1.dev1 → viur_cli-2.0.2}/LICENSE +0 -0
- {viur_cli-2.0.1.dev1 → viur_cli-2.0.2}/README.md +0 -0
- {viur_cli-2.0.1.dev1 → viur_cli-2.0.2}/pyproject.toml +0 -0
- {viur_cli-2.0.1.dev1 → viur_cli-2.0.2}/setup.cfg +0 -0
- {viur_cli-2.0.1.dev1 → viur_cli-2.0.2}/setup.py +0 -0
- {viur_cli-2.0.1.dev1 → viur_cli-2.0.2}/src/viur_cli/__init__.py +0 -0
- {viur_cli-2.0.1.dev1 → viur_cli-2.0.2}/src/viur_cli/build.py +0 -0
- {viur_cli-2.0.1.dev1 → viur_cli-2.0.2}/src/viur_cli/cli.py +0 -0
- {viur_cli-2.0.1.dev1 → viur_cli-2.0.2}/src/viur_cli/deprecated.py +0 -0
- {viur_cli-2.0.1.dev1 → viur_cli-2.0.2}/src/viur_cli/local.py +0 -0
- {viur_cli-2.0.1.dev1 → viur_cli-2.0.2}/src/viur_cli/package.py +0 -0
- {viur_cli-2.0.1.dev1 → viur_cli-2.0.2}/src/viur_cli/scriptor/__init__.py +0 -0
- {viur_cli-2.0.1.dev1 → viur_cli-2.0.2}/src/viur_cli/scriptor/cli.py +0 -0
- {viur_cli-2.0.1.dev1 → viur_cli-2.0.2}/src/viur_cli/scriptor/scriptor/__init__.py +0 -0
- {viur_cli-2.0.1.dev1 → viur_cli-2.0.2}/src/viur_cli/scriptor/scriptor/csvwriter.py +0 -0
- {viur_cli-2.0.1.dev1 → viur_cli-2.0.2}/src/viur_cli/scriptor/scriptor/dialog.py +0 -0
- {viur_cli-2.0.1.dev1 → viur_cli-2.0.2}/src/viur_cli/scriptor/scriptor/logger.py +0 -0
- {viur_cli-2.0.1.dev1 → viur_cli-2.0.2}/src/viur_cli/scriptor/scriptor/module.py +0 -0
- {viur_cli-2.0.1.dev1 → viur_cli-2.0.2}/src/viur_cli/scriptor/scriptor/network.py +0 -0
- {viur_cli-2.0.1.dev1 → viur_cli-2.0.2}/src/viur_cli/scriptor/scriptor/progressbar.py +0 -0
- {viur_cli-2.0.1.dev1 → viur_cli-2.0.2}/src/viur_cli/scriptor/scriptor/readers.py +0 -0
- {viur_cli-2.0.1.dev1 → viur_cli-2.0.2}/src/viur_cli/scriptor/scriptor/utils.py +0 -0
- {viur_cli-2.0.1.dev1 → viur_cli-2.0.2}/src/viur_cli/scriptor/scriptor/viur.py +0 -0
- {viur_cli-2.0.1.dev1 → viur_cli-2.0.2}/src/viur_cli/scriptor/scriptor/writer.py +0 -0
- {viur_cli-2.0.1.dev1 → viur_cli-2.0.2}/src/viur_cli/scripts/__init__.py +0 -0
- {viur_cli-2.0.1.dev1 → viur_cli-2.0.2}/src/viur_cli/scripts/get_pyodide.py +0 -0
- {viur_cli-2.0.1.dev1 → viur_cli-2.0.2}/src/viur_cli/scripts/viur_2to3.py +0 -0
- {viur_cli-2.0.1.dev1 → viur_cli-2.0.2}/src/viur_cli/setup.py +0 -0
- {viur_cli-2.0.1.dev1 → viur_cli-2.0.2}/src/viur_cli/tool.py +0 -0
- {viur_cli-2.0.1.dev1 → viur_cli-2.0.2}/src/viur_cli/utils.py +0 -0
- {viur_cli-2.0.1.dev1 → viur_cli-2.0.2}/src/viur_cli.egg-info/SOURCES.txt +0 -0
- {viur_cli-2.0.1.dev1 → viur_cli-2.0.2}/src/viur_cli.egg-info/dependency_links.txt +0 -0
- {viur_cli-2.0.1.dev1 → viur_cli-2.0.2}/src/viur_cli.egg-info/entry_points.txt +0 -0
- {viur_cli-2.0.1.dev1 → viur_cli-2.0.2}/src/viur_cli.egg-info/requires.txt +0 -0
- {viur_cli-2.0.1.dev1 → viur_cli-2.0.2}/src/viur_cli.egg-info/top_level.txt +0 -0
|
@@ -83,6 +83,7 @@ def enable_gcp_backup():
|
|
|
83
83
|
|
|
84
84
|
print('Success! It may take a while until you can use Gcloud Backups')
|
|
85
85
|
|
|
86
|
+
|
|
86
87
|
@cloud.command(context_settings={"ignore_unknown_options": True})
|
|
87
88
|
@click.argument("service", type=click.Choice(["gcloud"]), default="gcloud")
|
|
88
89
|
@click.argument("profile", default="default")
|
|
@@ -100,6 +101,7 @@ def init(service, profile):
|
|
|
100
101
|
for element in deployments:
|
|
101
102
|
os.system(f"viur cloud deploy {element} {profile} -y")
|
|
102
103
|
|
|
104
|
+
|
|
103
105
|
@cloud.command(context_settings={"ignore_unknown_options": True})
|
|
104
106
|
@click.argument("service", type=click.Choice(["gcloud"]), default="gcloud")
|
|
105
107
|
@click.argument("option", type=click.Choice(["datastore"]), default="datastore")
|
|
@@ -533,7 +535,7 @@ def deploy(action, profile, name, ext, yes, additional_args):
|
|
|
533
535
|
)
|
|
534
536
|
|
|
535
537
|
elif action == "cloudfunction":
|
|
536
|
-
os.system(build_deploy_command(name, conf))
|
|
538
|
+
os.system(build_deploy_command(name, conf["gcloud"]))
|
|
537
539
|
|
|
538
540
|
else:
|
|
539
541
|
if action not in ["index", "queue", "cron"]:
|
|
@@ -625,6 +627,7 @@ def build_deploy_command(name, conf):
|
|
|
625
627
|
echo_fatal(f"The cloudfunction {name} was not found your project.json\n "
|
|
626
628
|
f"You can create a cloudfunction entry by calling 'viur cloud create function'")
|
|
627
629
|
|
|
630
|
+
|
|
628
631
|
command = (
|
|
629
632
|
f"gcloud functions deploy "
|
|
630
633
|
f"{name} "
|
|
@@ -633,7 +636,9 @@ def build_deploy_command(name, conf):
|
|
|
633
636
|
)
|
|
634
637
|
|
|
635
638
|
for k, v in conf["functions"][name].items():
|
|
636
|
-
if k
|
|
639
|
+
if k == "gen":
|
|
640
|
+
command += f" --{k}{v}"
|
|
641
|
+
elif k in ["trigger", "update", "set", "remove"]:
|
|
637
642
|
command += f"--{k}-{v}"
|
|
638
643
|
else:
|
|
639
644
|
command += f" --{k}='{str(v)}'"
|
|
@@ -644,51 +649,77 @@ def build_deploy_command(name, conf):
|
|
|
644
649
|
@cloud.command()
|
|
645
650
|
@click.argument("action", type=click.Choice(['function']))
|
|
646
651
|
@click.argument("profile", default="default")
|
|
652
|
+
@click.option("--gen", "-g")
|
|
647
653
|
@click.option("--source", "-src")
|
|
648
|
-
@click.option("--name", "-n"
|
|
654
|
+
@click.option("--name", "-n")
|
|
649
655
|
@click.option("--entrypoint", "-ep")
|
|
650
656
|
@click.option("--env-vars-file", "-ev")
|
|
651
657
|
@click.option("--memory", "-mem")
|
|
652
658
|
@click.option("--runtime", "-rt")
|
|
653
659
|
@click.option("--trigger", "-tr")
|
|
654
|
-
def create(profile, action, source, name, entrypoint, env_vars_file, memory, runtime, trigger):
|
|
660
|
+
def create(profile, action, gen, source, name, entrypoint, env_vars_file, memory, runtime, trigger):
|
|
655
661
|
"""Creates a cloud function based on the provided parameters."""
|
|
656
662
|
if action == "function":
|
|
657
663
|
conf = config.get_profile(profile)
|
|
658
664
|
# First layer initialization:
|
|
659
665
|
conf["gcloud"] = conf.get("gcloud", {})
|
|
660
666
|
conf["gcloud"]["functions"] = conf["gcloud"].get("functions", {})
|
|
667
|
+
|
|
661
668
|
conf["gcloud"]["max-instances"] = conf["gcloud"].get("max-instances", click.prompt(
|
|
662
|
-
"Please input the Max Instances your cloud functions should run on"))
|
|
669
|
+
"Please input the Max Instances your cloud functions should run on", default="1"))
|
|
670
|
+
|
|
663
671
|
conf["gcloud"]["region"] = conf["gcloud"].get("region", click.prompt(
|
|
664
|
-
"Please enter your default
|
|
672
|
+
"Please enter your default cloud function region", default="europe-west3"))
|
|
665
673
|
|
|
666
674
|
# function layer
|
|
667
|
-
function_name = name if name else click.prompt("Please enter the Name of your
|
|
675
|
+
function_name = name if name else click.prompt("Please enter the Name of your cloud function")
|
|
668
676
|
function_dict = conf["gcloud"]["functions"].get(function_name, {})
|
|
669
677
|
|
|
670
|
-
function_dict["
|
|
671
|
-
|
|
678
|
+
function_dict["gen"] = function_dict.get("gen",
|
|
679
|
+
gen if gen else click.prompt(
|
|
680
|
+
"Please enter your cloud function generation",
|
|
681
|
+
default="2")
|
|
682
|
+
)
|
|
683
|
+
|
|
684
|
+
function_dict["entry-point"] = function_dict.get("entry-point",
|
|
685
|
+
entrypoint if entrypoint else click.prompt(
|
|
686
|
+
"Please enter your cloud function entrypoint ",
|
|
687
|
+
default="main")
|
|
688
|
+
)
|
|
672
689
|
|
|
673
690
|
function_dict["env-vars-file"] = function_dict.get("env-vars-file",
|
|
674
691
|
env_vars_file if env_vars_file else click.prompt(
|
|
675
|
-
"Enter the name of your environment variables file"
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
function_dict["
|
|
686
|
-
|
|
692
|
+
"Enter the name of your environment variables file",
|
|
693
|
+
default="env.yaml")
|
|
694
|
+
)
|
|
695
|
+
|
|
696
|
+
function_dict["memory"] = function_dict.get("memory",
|
|
697
|
+
memory if memory else click.prompt(
|
|
698
|
+
"Please enter your cloud function memory usage",
|
|
699
|
+
default="512MB")
|
|
700
|
+
)
|
|
701
|
+
|
|
702
|
+
function_dict["runtime"] = function_dict.get("runtime",
|
|
703
|
+
runtime if runtime else click.prompt(
|
|
704
|
+
"Please enter your cloud function runtime",
|
|
705
|
+
default="python312")
|
|
706
|
+
)
|
|
707
|
+
|
|
708
|
+
function_dict["trigger"] = function_dict.get("trigger",
|
|
709
|
+
trigger if trigger else click.prompt(
|
|
710
|
+
"Please enter your cloud function trigger type",
|
|
711
|
+
default="http")
|
|
712
|
+
)
|
|
713
|
+
|
|
714
|
+
function_dict["source"] = function_dict.get("source",
|
|
715
|
+
source if source else click.prompt(
|
|
716
|
+
"Enter the directory of your cloud functio"
|
|
717
|
+
"(deploy/cloudfunction/{FileName})")
|
|
718
|
+
)
|
|
687
719
|
|
|
688
720
|
conf["gcloud"]["functions"][function_name] = function_dict
|
|
689
721
|
|
|
690
722
|
config[profile] = conf
|
|
691
723
|
config.migrate()
|
|
692
|
-
echo_positive("Your
|
|
724
|
+
echo_positive("Your cloud function creation was successful, if you want to add more flags, "
|
|
693
725
|
"add them in your project.json under")
|
|
694
|
-
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import json
|
|
2
|
-
from pprint import pprint
|
|
3
|
-
|
|
4
2
|
import click
|
|
5
3
|
import requests
|
|
6
4
|
import difflib
|
|
@@ -120,9 +118,13 @@ class ProjectConfig(dict):
|
|
|
120
118
|
if "application_name" in self:
|
|
121
119
|
del self["application_name"]
|
|
122
120
|
|
|
121
|
+
if "version" not in self["default"]:
|
|
122
|
+
self.find_key(self, target_key="version", target="default", keep=True)
|
|
123
|
+
# Fail Safe
|
|
124
|
+
if "version" in self:
|
|
125
|
+
del self["version"] 4
|
|
123
126
|
self.remove_key(self, target_key="core")
|
|
124
127
|
|
|
125
|
-
|
|
126
128
|
if old_format := self["default"].get("format"):
|
|
127
129
|
self["format"] = old_format
|
|
128
130
|
del self["default"]["format"]
|
|
@@ -100,6 +100,7 @@ def check_req(projects_requirements_path):
|
|
|
100
100
|
|
|
101
101
|
if not core_requirements:
|
|
102
102
|
echo_error("could now find core package, please update the core to validate the requirements.txt")
|
|
103
|
+
return
|
|
103
104
|
|
|
104
105
|
core_requirements_obj = utils.requirements_to_dict(parse_requirements(core_requirements, session=PipSession()))
|
|
105
106
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|