-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathCHANGELOG
More file actions
464 lines (278 loc) · 10.7 KB
/
Copy pathCHANGELOG
File metadata and controls
464 lines (278 loc) · 10.7 KB
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
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
## [v9.3.0] 2022-05-20
### Changed
- Added monaco-loader to reduce chunk-vendor size
- Limited cluster list polling to one at a time
- Defined fetchstatus as its own method
- Limited read of terraform.tfstate
- Cleaned TerraformStateParser
- Cleaned CleanupManager and SchemaManager
- Refactored polling code
- Removed confirmation when no changes are to be done on the infra
- Do not show delete button when cluster is busy
- Remove database_connection from User
- Limited impact of ProvisioningManager by defining a timeout
## [v9.2.3] 2022-05-18
### Changed
- Bumped node in Dockerfile to 18
- Bumped Terraform to 1.1.9 in Dockerfile
- Optimized Dockerfile
## [v9.2.2] 2022-05-17
### Changed
- Optimized Dockerfile
## [v9.2.1] 2022-05-12
### Changed
- Bumped MAGIC_CASTLE_VERSION to 11.9.3
## [v9.2.0] 2022-05-12
### Changed
- Added ability to add and remove volumes
- Replaced Alpine by Debian
- Apply prettier on all vue and js files
## [v9.1.2] 2022-05-10
### Changed
- Moved docker image location to cmdntrf/mc-hub
## [v9.1.1] 2022-05-09
### Added
- Added bash to base-server container image
## [v9.1.0] 2022-05-09
### Added
- Added the ability to add and remove instances to the list
- Added the ability to edit the hostname prefix
## [v9.0.0] 2022-05-03
### Added
- Added expiration date widget
- Added `cull_expired_cluster.py` to remove expired clusters
- Added ability to switch between OpenStack cloud projects using a widget
- Added a table to the database the define a user-projects relationship
- Added a timestamp to identify when the cluster was created
- Added the age of the clusters in the cluster list
- Added a configuration to make the MC source local instead of always from git
- Added support for pre-generated ACME private key
- Added a clean-up manager to renew cluster state when service is shutdown
- Added token authentication
### Changed
- Bumped MC to 11.9.1
- Bumped npm to 14
- Refactor the entire node UI to match MC 11 format
- Removed ability to select a floating-ip
- Renamed most of methods starting with `__`
- Refactor the code to be able to run the app with gunicorn
- Removed terraform.tfstate as a source of information
- Replaced requirements.txt by poetry pyproject.toml
## [v8.0.0] 2021-05-01
### Added
- Added required field `cors_allowed_origins` in configuration.json file
- Added ability to define constants using environment variables
- Improved documentation of multiple classes
- Default cluster name now generated randomly, using a random pet name
### Changed
- Bumped npm to 12.22
- Bumped curl to 7.76
### Fixed
- Fixed occasional bug when reading Terraform state file
### Security
- Restricted the CORS allowed origins, instead of allowing all origins to make API calls
- Bumped ssri to 6.0.2
## [v7.6.0] 2021-04-01
### Added
- Terraform {plan, apply, destroy} log rotation
- Constant TERRAFORM_REQUIRED_VERSION (currently set to 0.14.2)
### Changed
- Terraform state is now parsed instead of main.tf.json when possible
- DNS manager test now use MAGIC_CASTLE_VERSION_TAG constant instead of hardcoded value
- Bumped MC to 10.2
## [v7.5.1] 2021-03-27
### Fixed
- Fixed Docker image deployment to Docker Hub
## [v7.5.0] 2021-03-27
### Added
- Support custom cluster hieradata
- Display error message when plan fails
### Changed
- Now running CI workflow with GitHub Actions instead of Travis CI
- Cluster names can now include dashes
### Security
- Bumped Jinja2 to 2.11.3
- Bumped elliptic to 6.5.4
## [v7.4] 2021-03-03
### Changed
- Bumped MC to 10.0
- Change "edit" button in cluster list to "check progress" when cluster is busy
## [v7.3] 2021-01-30
### Added
- Added "copy to clipboard" button in the cluster details section
### Changed
- Bumped MC to 9.3
### Fixed
- Fixed small bug in the cluster list's password toggle button
## [v7.2.1] 2021-01-13
### Changed
- Bumped MC to 9.2
### Fixed
- Avoids trying to parse terraform.tfstate file when the cluster is busy
## [v7.2.0] 2021-01-13
### Added
- Added detailed flavor descriptions to the cluster editor
- Added possibility to authorize multiple SSH public keys per cluster
### Changed
- Faster and cleaner Magic Castle configuration parsing
## [v7.1.0] 2021-01-12
### Added
- Added details section in the cluster list
### Changed
- Bumped npm to 12.20
### Security
- Bumped Axios to 0.21.1
## [v7.0.0] 2020-12-16
### Added
- Added Mokey link
### Changed
- Bumped MC to 9.1
- Bumped Terraform to 0.13.5
## Fixed
- Fixed cluster destruction when using a deprecated image
- Avoid using CentOS 8 as the default image
## [v6.1.4] 2020-11-29
### Fixed
- Initial state of select boxes in cluster editor based on available resources
### Security
- Bumped highlight.js to 9.18.5
## [v6.1.3] 2020-11-27
### Fixed
- Avoid buffering the output stream of cluster status logs
- Updated live cluster test's CentOS image version
## [v6.1.2] 2020-11-13
### Fixed
- Added session expiration dialog on network errors
## [v6.1.1] 2010-10-30
### Fixed
- Added missing git dependency to production Docker image
## [v6.1.0] 2020-10-30
### Added
- Added cluster status logging for analytics
### Changed
- Magic Castle releases are now fetched from Github
- Cluster provisioning polling interval changed to 30 seconds
- Bumped Magic Castle to 8.3
### Fixed
- Fixed clusters' backward compatibility with older versions of Magic Castle
- Fixed puppet-magic_castle version by specifying the puppetenv_rev variable
- Fixed expired session handling by refreshing the page on session expiration
- Fixed dangling threads in all tests
## [v6.0.3] 2020-10-15
### Fixed
- Fixed dangling threads in integration tests
## [v6.0.2] 2020-10-15
### Fixed
- Fixed bug in unit tests
## [v6.0.1] 2020-10-15
### Changed
- Bumped Magic Castle to 8.2
## [v6.0.0] 2020-10-04
### Added
- Added Puppet provisioning status checking
- Added JupyterHub and FreeIPA links to the UI after a successful provisioning
### Removed
- Removed outdated documentation
- Removed unused Idle cluster status code
- Removed build*success status code, replaced with provisioning*\* status codes
### Fixed
- Fixed Alpine Linux packages version pinning in Dockerfile
### Security
- Updated serialize-javascript to v3.1.0
- Updated node-forge to v0.10.0
## [v5.2.0] 2020-09-03
### Changed
- Changed project name to MC Hub
## [v5.1.0] 2020-08-20
### Added
- Added SSH public key validation in the frontend
- Added Jest frontend tests
### Changed
- Changed the hostname display for existing clusters in the frontend
- Split ClusterEditor component in two smaller components
### Removed
- Removed ptvsd (VS Code debugger) from development-server Docker image
### Fixed
- Fixed bug resulting in the plan type not being always updated in the database
- Cancelling cluster destruction redirects to the cluster list page
- Fixed guest password text field showing wrong password
## [v5.0.2] 2020-08-05
### Fixed
- Fixed run instructions in README
## [v5.0.1] 2020-08-04
### Fixed
- Fixed production-server image unable to load DNS module with Git
- Using a dynamic cluster name for live cluster tests to avoid rate limiting from Let's Encrypt
## [v5.0.0] 2020-08-04
### Added
- Added support for Magic Castle's DNS module
- Added configuration.json configuration file
- Added a Cancel button in the cluster editor
### Changed
- A cluster's domain must be selected from a preconfigured list of allowed domains
- Started using Magic Castle version 8.1
- Improved button labelling in the cluster editor
- auth_type is now part of configuration.json instead of being an environment variable
- Changed Spawn and Modify buttons for Apply
### Removed
- Removed the Destroy button in the cluster editor (only in the cluster list now)
### Fixed
- Fixed bug that caused the floating IP not being filled in when the initial plan is cancelled
### Security
- Updated elliptic package from version 6.5.2 to version 6.5.3
## [v4.0.0] 2020-07-29
### Added
- Added automatic schema migration on server start to update the database schema to the latest version
- Added database volume to persist the SQLite database file
- Added magic_castles table for storing information about each Magic Castle cluster
- Added AUTH_TYPE environment variable (either SAML or NONE) to make MC-UI compatible with a local environment and an online deployment
- Added username display and logout button in the frontend when using SAML authentication
- Added admin accounts based on the configuration file
- Added guest password generation button to the cluster editor
### Changed
- Cluster's status and plan_type are now stored in a SQLite database instead of regular files
- Changed API resource /api/magic-castle for /api/magic-castles
### Fixed
- Fixed single page application shown even when the user is logged out (due to page caching)
## [v3.0.3] 2020-07-23
### Added
- Added SAML & HTTPS wiki link in README
### Fixed
- Updated lodash from 4.17.15 to 4.17.19 in /frontend
- Fixed KeyError in TerraformPlanParser when resource was being updated
## [v3.0.2] 2020-07-13
### Changed
- Api hostname and port in the frontend is now relative to the current host, instead of being hardcoded
## [v3.0.1] 2020-07-10
### Added
- Magic Castle configuration can be parsed from main.tf.json when terraform.tfstate does not exist
### Fixed
- Fixed bug that cluster could not be built when the first creation plan was cancelled
- Fixed bug that some errored builds lead to empty public_keys list in the parsed configuration
## [v3.0.0] 2020-07-09
### Added
- Added the list of existing clusters
- Added a progress display for all cluster creation, modification and destruction
- Added a confirmation box of terraform plan before creating, modifying or destroying a cluster
- Added a confirmation box when exiting the page with unsaved modifications
- Added cluster name validation
- Added a pie chart for the instances count quota
- Added the developer documentation
- Added Docker Compose file for development
- Added optional integration tests that tests the creation, modification and destruction of a live cluster
- Added a demo gif in the README
- Added automated OpenStack api connection testing on server startup
### Changed
- Using clouds.yaml instead of openrc file
- Dockerfile can now produce two images: one for production and one for development
- Domain name modification disabled on existing clusters
- SSH public key can now be pasted as text or uploaded through a file
- Now generating a main.tf.json instead of main.tf
- Backend API now uses Method Views instead of Flask Restful
### Removed
- start.sh script
### Security
- Added string sanitization to main.tf.json