@@ -32,6 +32,21 @@ defmodule SpawnCtl.Commands.New.Node do
32
32
default: @ default_opts . actor_system
33
33
)
34
34
35
+ option ( :app_namespace , :string , "Spawn ActorSystem namespace." ,
36
+ alias: :n ,
37
+ default: @ default_opts . app_namespace
38
+ )
39
+
40
+ option ( :app_description , :string , "Defines the application description." ,
41
+ alias: :d ,
42
+ default: @ default_opts . app_description
43
+ )
44
+
45
+ option ( :app_image_tag , :string , "Defines the OCI Container image tag." ,
46
+ alias: :i ,
47
+ default: @ default_opts . app_image_tag
48
+ )
49
+
35
50
option ( :template_version , :string , "Spawn CLI Language templates version." ,
36
51
alias: :t ,
37
52
default: "v#{ @ vsn } " ,
@@ -47,6 +62,31 @@ defmodule SpawnCtl.Commands.New.Node do
47
62
]
48
63
)
49
64
65
+ option ( :statestore_type , :string , "Spawn statestore provider." ,
66
+ alias: :S ,
67
+ default: "native" ,
68
+ allowed_values: [
69
+ "mariadb" ,
70
+ "postgres" ,
71
+ "native"
72
+ ]
73
+ )
74
+
75
+ option ( :statestore_user , :string , "Spawn statestore username." ,
76
+ alias: :U ,
77
+ default: @ default_opts . statestore_user
78
+ )
79
+
80
+ option ( :statestore_pwd , :string , "Spawn statestore password." ,
81
+ alias: :P ,
82
+ default: @ default_opts . statestore_pwd
83
+ )
84
+
85
+ option ( :statestore_key , :string , "Spawn statestore key." ,
86
+ alias: :K ,
87
+ default: @ default_opts . statestore_key
88
+ )
89
+
50
90
argument ( :name , :string , "Name of the project to be created." )
51
91
52
92
@ doc """
@@ -117,20 +157,32 @@ defmodule SpawnCtl.Commands.New.Node do
117
157
118
158
defp render ( { :ok , template_path } , % { name: name } = _args , % { sdk_version: sdk_version } = opts )
119
159
when not is_nil ( sdk_version ) do
160
+ app_hyphenized_name = String . replace ( name , "_" , "-" )
161
+
120
162
extra_context = % {
121
163
"app_name" => name ,
122
- "spawn_system" => opts . actor_system ,
123
- "sdk_version" => sdk_version
164
+ "app_name_hyphenate" => app_hyphenized_name ,
165
+ "spawn_app_spawn_system" => opts . actor_system ,
166
+ "spawn_app_namespace" => opts . app_namespace ,
167
+ "spawn_app_statestore_type" => statestore_type ,
168
+ "spawn_sdk_version" => sdk_version ,
169
+ "app_image_tag" => opts . app_image_tag
124
170
}
125
171
126
172
do_render ( template_path , extra_context )
127
173
end
128
174
129
175
defp render ( { :ok , template_path } , % { name: name } = _args , opts ) do
176
+ app_hyphenized_name = String . replace ( name , "_" , "-" )
177
+
130
178
extra_context = % {
131
179
"app_name" => name ,
132
- "spawn_system" => opts . actor_system ,
133
- "sdk_version" => @ main_sdk_version
180
+ "app_name_hyphenate" => app_hyphenized_name ,
181
+ "spawn_app_spawn_system" => opts . actor_system ,
182
+ "spawn_app_namespace" => opts . app_namespace ,
183
+ "spawn_app_statestore_type" => statestore_type ,
184
+ "spawn_sdk_version" => @ main_sdk_version ,
185
+ "app_image_tag" => opts . app_image_tag
134
186
}
135
187
136
188
do_render ( template_path , extra_context )
0 commit comments