forked from westerveltco/django-twc-project
-
Notifications
You must be signed in to change notification settings - Fork 0
/
copier.yml
204 lines (164 loc) · 5.46 KB
/
copier.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
# ----------------------------------------------------------------------
# META
# ----------------------------------------------------------------------
_answers_file: .copier/project.yml
_min_copier_version: "9.1.0"
_secret_questions:
- django_twc_ui_token
_subdirectory: src/django_twc_project
template_version:
default: "2024.2"
when: false
# ----------------------------------------------------------------------
# GENERAL
# ----------------------------------------------------------------------
project_name:
type: str
help: What is the name of the project?
default: "example-project"
module_name:
type: str
help: What is the name of the project's module?
default: "{{ project_name.lower() | replace('-', '_') | replace(' ', '_') | trim() }}"
author_name:
type: str
help: What is the name of the primary author/maintainer?
validator: "{% if author_name == '' %}You must provide an name.{% endif %}"
github_owner:
type: str
help: Who is the GitHub owner?
validator: "{% if github_owner == '' %}You must provide an GitHub owner.{% endif %}"
github_repo:
type: str
help: What is the name of the GitHub repo?
default: "{{ project_name | trim() }}"
current_version:
type: str
help: What is the current version of the project?
default: "{{ '%Y.%-m' | strftime }}.1"
# ----------------------------------------------------------------------
# VERSIONS
# ----------------------------------------------------------------------
python_version:
type: str
help: Which version of Python should be used?
choices:
- "3.8"
- "3.9"
- "3.10"
- "3.11"
- "3.12"
default: "3.11"
django_version:
type: str
help: Which version of Django should be used?
choices:
- "3.2"
- "4.2"
- "5.0"
default: "4.2"
node_version:
type: str
help: Which version of Node.js should be used?
default: "20.9.0"
nvm_version:
type: str
help: Which version of Node Version Manager (nvm) should be used?
default: "0.39.5"
tailwindcss_version:
type: str
help: Which version of Tailwind CSS should be used?
default: "3.4.0"
# ----------------------------------------------------------------------
# DEPENDENCIES
# ----------------------------------------------------------------------
extra_requirements_files:
type: str
help: Comma separated list of all extra `requirements.{in,txt}` filenames without the extension
default: requirements.nohash
django_twc_ui_token:
type: str
help: What is the OAuth token for accessing the `westerveltco/django-twc-ui` repository?
default: super-secret-token
# ----------------------------------------------------------------------
# FLY.IO
# ----------------------------------------------------------------------
fly_app_name:
type: str
help: What is the name of the app on Fly.io?
default: "{{ module_name }}-{{ github_owner }}"
fly_primary_region:
type: str
help: What is the primary region for the app on Fly.io?
default: "atl"
domain_name:
type: str
help: What is the domain name of the app?
default: "{{ module_name }}.westervelt.com"
# ----------------------------------------------------------------------
# POSTGRES
# ----------------------------------------------------------------------
postgres_docker_image:
type: str
help: Which PostgreSQL Docker image should be used?
choices:
- "postgres"
- "postgis/postgis"
- "pgautoupgrade/pgautoupgrade"
default: "postgres"
postgres_docker_version:
type: str
help: Which version to use for the {{ postgres_docker_image }} image?
default: "15"
postgres_uri_scheme:
type: str
default: "{% if postgres_docker_image == 'postgis/postgis' %}postgis{% else %}postgres{% endif %}"
when: false
# ----------------------------------------------------------------------
# SENTRY
# ----------------------------------------------------------------------
sentry_project:
type: str
help: What is the name of the Sentry project?
default: "{{ project_name }}"
sentry_org:
type: str
help: What is the name of the Sentry organization?
default: "the-westervelt-company"
sentry_dsn:
type: str
help: What is the Sentry DSN URL?
# ----------------------------------------------------------------------
# FRONTEND
# ----------------------------------------------------------------------
include_vite:
type: bool
help: Include Vite as a frontend build tool?
default: false
# ----------------------------------------------------------------------
# EMAIL
# ----------------------------------------------------------------------
default_from_email:
type: str
help: What email should be used for the `DEFAULT_FROM_EMAIL` Django setting?
admin_email:
type: str
help: What email should be used as the destination for any admin emails?
# ----------------------------------------------------------------------
# MISC
# ----------------------------------------------------------------------
op_vault:
type: str
help: What is the name of the 1Password vault for the project?
default: "{{ project_name }}"
include_weasyprint:
type: bool
help: Install WeasyPrint system packages for creating PDFs?
default: false
# ----------------------------------------------------------------------
# POST GENERATION TASKS
# ----------------------------------------------------------------------
_tasks:
# run pre-commit after generation, pipe any errors to /dev/null since if a file is
# formatted, that exits with an error and we want to continue anyway
- "pre-commit run --all-files 2>/dev/null || echo 'Pre-commit run on all files.'"