-
Notifications
You must be signed in to change notification settings - Fork 61
/
CHANGELOG
572 lines (462 loc) · 21.1 KB
/
CHANGELOG
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
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
Unreleased
Added
View / update LXD settings on a host if admin (#534)
Set snap cert location (#271)
Admin can view disks list on server page
Opt in attempt to gather software versions from containers (#576)
Changed
Use bash shell as the default for {oracle, rocky} images (#544)
Support instances in the custom state "Ready" (#547)
Set default shell for centos as bash (#546)
Fixed
Shell doesn't work when port is something other than 443 (#540)
Node server would crash when terminal sent binary data
Deleting host removes to many metrics
Cant restore VM snapshot to origin (#551)
Cant restore instance snapshot to new instance (#555)
Unavailable to deploy cloud config on servers (#549)
Cluster memeber events socket not being connected
0.16.0 - 06/09/2022
Added
Show IP addresses on server instances view (#531)
Can now change Apache listen address in SNAP (#527) (Code, mostly, cherry-picked from https://github.com/asmaack/nextcloud-snap)
Changed
Update SNAP apache version to 2.4.54
Re-structure node code
Node should no longer need reloading after adding a host
Add padding back to sidebar items (#532)
Fixed
Storage pool details dont load if used_by is null
0.15.0 - 06/08/2022
Added
Index to Project Analytics Date Created column to improve load times (#501)
This migration might be slow to run, be patient
Renew LXDMosaic certificate for LXD (#483)
Docs: Start "Production" page with some settings operators may want to consider (#465)
Add different devices to profile on creation (part of #442)
Edit profiles (#442)
Support for failed backups (#481)
Delete user (#399)
Emit some lifecycle events on the "operations" socket
Call callbacks on lifecycle events so pages update dynamically (#246, #469)
This prevents races and should reduce overall load as there should be less requests
Also makes the program work alot better in a multi user environment
Changed
SNAP: Update to PHP 7.4
SNAP: Use fbirlik/sqlite3 PPA in build for newer version of sqlite3 (#507)
Use cron method instead of every* methods in cronjob definitions (#503)
Rename "volumes" to "pools" on universe object (#487)
Use one socket for all operation events across hosts user has access to (#403)
Drastically reducing the number of open sockets and should prevent weirdness
Improve formatting off errors returned from LXD so they are actually readable
API Changes
Removed GetAllCloudConfigController (was broken)
Removed GetCloudConfigFileController (was broken)
0.14.1 - 15/05/2022
Changed
Add up to 5 second delay opening operation sockets to prevent browser weirdness
Add more error checking to migrate instance to prevent accidental deletions
Make dashboard graphs bigger & show percentage change over period
Fixed
Disconnecting from VGA terminal could cause node crash (#498)
Cant move instance from host we have as a socket connection to another host
Migrate instance popup doesnt open
0.14.0 - 08/05/2022
Added
Control history duration on homepage
Snapshot scheduling
Filter events table by user & event name on frontend
Support new network metric keys (#433)
Show instant cloud-init-output.log results when deploying cloud-config
Add setting options to create VM (#419)
View instance proxy device on instance view (#443)
Add instance proxy device on instance view (#443)
Pretty frontend URLs (#179)
User can change project analytics duration shown
Filtering project analytics by host & those without any usage
Support for connecting to host over unix socket (#391)
Show certificate expires date on admin hosts overview (#482)
Changed
Use correct width for terminal on init
Resize terminal on window resize
Upgrade to bootstrap 5
Remove operations from sidebar that are complete / failed older than 5 minutes (#407)
Only admins can create projects (#429)
Improve user parameter display on instance events
Improve the following modal UI / UX;
- create project
- create container
- create VM
- create network
- create profile
- create storage pool
Support limits when creating a project (#434)
Show packets_dropped_outbound & packets_dropped_inbound on networks overview
Support project limits on projects frontend
Don't require filling out the image twice when deploying cloud-config
Support choosing project when deploying cloud-config
Only allow choosing one host when deploying cloud-config (only on frontend)
Add cloud & desktop icons to image lists to indicate different variants
Improve search remote image server result layout
Use date ranges instead of created dates for project analytics
Apply user.user-data as instance config on 1 off cloud-config deploy
Improve the server overview UI / UX
Account for "features" when calculating project metrics
Count networks the same way `lxc network list` would by ignoring "unknown" & "loopback" devices
Hide certain resource details if the user isn't admin (#452)
Enable setting nvidia keys when creating a container (#456)
Show image variant on import images modal
Order host's by alias when fetching from the DB (#462)
Remove profile name from deploy cloud-config as its no longer used
Disable some spice channels to improve VM Terminal experience (#463)
Open terminal when opening an instance view
Restrict deployments by user project access (Admin can access all) (#466)
Set host to offline if our client certificate has expired (#479)
Build backup tasks without unnecessary calls to the LXD API (#480)
Improve first run UI / UX (including auto detecting a socket to use)
Fixed
First run doesn't toggle passwords properly (#390)
Cant override users current project with HTTP header in "Universe"
Cant create directory storage pool
Cant use shells other than bash
Instance names are sometimes invalid when deploying deployment (#379)
Delete host (#365)
Node holding onto client sockets that will be closed (#417)
Image type icon in images sidebar on LXD 3 host
Instance memory usage pop-overs overlap
Server overview leaks all project names (#453)
Offline host/s breaks background cron jobs (#362)
Fix encforcing backup retention rules deletes deleted backups
Storage total for instance incorrect if size key overrides pool store (#494)
Removed
Native centos support, could still use SNAP (#457)
API Changes
Removed `memoryLimit` from CreateVirtualMachineController in favour of config param (#419)
Image description when searching images now contains html, the plain description is now kept in the key origDescription
projectGraphData became projectsUsageGraphData when fetching the general dashboard
stats key was removed fetching the general dashboard
Drop alias parameter from all controllers
Add currentProject key when outputting host as JSON
Don't load / return server "resources" key unless loading server overview
Don't load / return clustersAndHosts when loading dashboard
Don't load instances with GetHostOverview
Load warnings & projectAnalytics with GetHostOverview
Remove duplicate profiles key from CreateInstance service (internal)
Remove profile name from deploy cloud-config as its no longer used
Removed GetAllHostsSchedules class as its no longer needed
Fetch array of HostObjects changing response keys for GetHostsController
First run no longer accepts `$users` parameter instead it takes `$settings`
0.13.0 - 18/07/2020
Added
Setting for storing timezone (#371)
Support for copying instances between projects (#375)
Optionally copying profiles when copying instance
Show image variants when searching images from remotes (#380)
Support managing instance providers & their types (#395)
Toggle admin status (#394)
Toggle login status (#400)
Changed
Store all dates in UTC (#370)
Display dates in local browser time (#370)
Run cron jobs at time specified by timezone setting (#372)
Fixed
Enforcing backup retention limit
Typo in the reset admin password docs (#410)
Hosts that dont support projects break project analytics (#404)
Breaking API Changes
Change response of GetInstanceTypes api
0.12.0 - 15/04/2020
Changed
Instance's will now be deleted after a migration
Site title based on user input or default of "LXD Mosaic" (#239)
Added
Tooltips to buttons in the navigation bar (#342)
Cron job to gather project analytics (#314)
Option to load vm console in its own tab (#324)
View in settings to download old analytics data (#315)
Network dashboard (#167)
Setting to store site title (#239)
Allow logging in with LDAP mail address (#359)
Removed
Cron job to gather old dashboard metrics (#315)
Fixed
Cant create backups from web ui (#351)
Instance host name breadcumb not correct when changing project (#350)
0.11.6 - 30/01/2021
Fixed
'Cant find image' for instance os not show correctly (#341)
0.11.5 - 30/01/2021
Fixed
Blindly assuming the instance os image is available blocks UI (#341)
0.11.4 - 17/01/2021
Fixed
Host being shown as null in operation list when alias not set (#325)
0.11.3 - 15/01/2021
Fixed
An error with operations socket in snap install
0.11.2 - 14/01/2021
Fixed
Trying to access undefined property of analytics data when theres no info
Incorrect calculation for total storage usage
SNAP not building because of new sqlite3 release
0.11.1 - 13/01/2021
Changed
Image shown as part of instance details instead of title
Allow setting memory limit when creating a VM (#330)
Support subscribing to different project operations socket (#332)
Fixed
Storage progress bar calculation is incorrect (#333)
An error gathering fleet storage usasge data
memory stats are used in the storage part of the widget (#332)
0.11.0 - 29/12/2020 (Happy 2 year birthday LXDMosaic)
Added
Cron job to disable backup schedules for offline hosts & deleted instances
Limit not-admin users to servers/projects
View to view & delete hosts in settings
Show instance limits on instance view (#288)
Get & set comments in the user.comment key for an instance (#283)
Show project consumption on project overview
Filter by name & instance type in sidebar on hosts with more than 5 instances
Show OS icon in sidebar (#296)
Button to start an instance on creation (#294)
LDAP user syncing & login (#171, #272, #300)
Show users who can access a project on project view
View storage volumes
Attach volumes to instances
View VGA console for virtual machines (#238)
Changed
Support backups & backup schedules in different projects
Disable backup schedules when deleting instance
Use buttons for bulk instance actions instead of dropdown
Dont show carat when host is offline
Replace nav button text with icons
Go back to default font
Split project restrictions into their own table on frontend
Remove all usage of cdns (so the it should work offline) (#293)
Allow setting admin password on first run (#299)
Show operation download progress if available (#316)
Removed socket.io dependency as it was conflicting with expressws
Support opening console's in other projects
Fixed
Switching projects in snap broken
An issue with bulk deleting running instances
Reseting user password by pressing enter leads to undefined behaviour (#282)
Console session doubling input (#301)
Remove card-columns from images which prevents a jumpy UI
Attempts to gather offline hosts metrics breaks script
0.10.2 - 30/10/2020
Fixed
Cant access instance files (#273)
0.10.1 - 21/10/2020
Fixed
Fix an issue with node trying to use wrong sql methods (#269)
0.10.0 - 20/10/2020
Added
Support for setting addtional restriction keys on projects (#229)
Search for instance by ip address (#233)
Remove profile from instance (#224)
Support weekly & monthly backups (#251)
Networks feature to project creation (#252)
Support for permanent API keys (#181)
Some local user analytics (#219)
Support for "ubuntu daily" & "ubuntu" (ubuntu-release) image remotes
Fixed
Changing cluster member alias breaks UI (#234) (Slight caveat that the
node server wont return operations for a cluster member with an alias
that doesn't match the LXD server_name)
Dont show deleted backups
Fix server overview doesnt load properly when system details missing (#262)
Deleting last project when on project blocks UI (#261)
used_by on networks now returning null & preventing UI from loading
Reading files in instances not in the default project
Changed
Used buttons instead of dropdown to change instance state
Slight improvement to create container UX
HostsCollection implmenets JsonSerializable so it can be logged properly
Use guzzle sink to prevent oom issue using backups in the browser (#242)
Allow running php script "forever" when importing a backup (#245)
Only search for image types applicable to instance being created
Use simplestreams to read images from remote sources
Improve import images UX
Improve virtual machine creation UI & UX
Added optional extensions filter to search hosts api
Ensure host supports projects before appearing in create project dropdown (#259)
0.9.3
Added
Give access to operation error if its not empty
Changed
Check location before emiting operation to prevent duplicate notifications
in a cluster environment
0.9.2 - 30/06/2020
Fixed
Issue with loading container tree after deleting container
Issue with adding a new cluster breaks because the first member alias not
properly set
Dont break when we come across a cluster member we aren't managing
Changed
Jump to instance server view after deleting instance instead of overview
0.9.1 - 28/06/2020
Fixed
Cant search for images (#122)
When downloading an image based on an alias, the servrer may return a
new image with a different fingerprint to the one sent with the request
so updated this to use the new fingerprint if there is one
Changed
Imges will now actually filter results of the search and not return everything
0.9.0 - 27/06/2020
Added
Version check showing if there is an update available (#191)
CRUD operations for image aliases (#170)
Update image "public" & "auto update" properties (#170)
Display some of the system details provided in LXD >= 4.1 (#206)
Export instance as image
Create profiles (#175)
Allow user to create custom dashboards of instance metrics
Documenation for instance settings (#218)
Backup scheduling (#189)
Fixed
Cant load project inforatmion
Cant upload file to instance files
Cant load backups for instance (#211)
Sidebar lost when LXD host goes offline (#152)
Changed
Inject userId if requested by controller so the $userId variable in a
controller will always be locked to the user using the app
Use DB for validing if user is admin instead of session (#194)
Re-purpose the cluster page, access it by clicking a cluster on the dashboard
sidebar (#183)
Store the user project in the database for each host, it can be over written
anytime with a header (#194)
Use the LXD recursion param to drasticly improve fetchin instances time
Use objects because I need practise and its better
Add show password toggle when adding servers (#208)
Fixed
Cant add more than one profile to deploy cloud config (#198)
Removed
Removed instance settings desription (#218)
0.8.0 - 09/05/2020
Added
Bulk action to stop containers (#184)
Bulk action to start containers (#185)
Add (optional) select GPU when deploying a cloud config (#199)
Changed
Renamespaced & updated class names for lots of "Containers" to "Instances"
to be consistent with the way we use LXD API, this will break any scripts
When creating a usedBy link fetch image details and show user freindly name
instead of fingerprint (#186)
Use apiToken to authenticate user on API requests as part of the journey
to a "statless api" (so client apps can exist) the current caveat is that
the project will default to "default" for every request, until we move the
data into the database (#180)
Bump bootstrap version to 4.4.1 and made some changes to the way tooltips
are initialized to fix modals not hiding (#177)
Use ENV for sensitiveData/certs directory for snap
Use PCI address for GPU device when creating an instance (#197)
Fixed
Terminal sessions not opening properly
Some instance settings can't be properly set (close #192)
Typos (#190)
Ensure that an instance is created where the user asked it to be (#196)
0.7.0 - 12/04/2020
Added
Access control - This will break any existing scripts that you may have,
it uses sessions for everything which isn't good API design (stateful)
so ill have to switch to using the tokens to authenticate the API
This includes the basic functionality to login, add users & reset passwords
it doesn't add any kind of per user restrictions!
Thanks to Shem Pasamba (@shemgp) for implementing the user token
functionality for the node server and that will be used for api requests
in the future.
Logo created by my buddy Josh
Total storage available to fleet analytics
View, create & delete proxy devices on a host (#165)
Instance network's bytes sent / recieved to server overview (#169)
Jump between instances, snapshots, images, & profiles from used by tables
Changed
Indicate cluster groups & standalone hosts on dashboard (#150)
Load profile on click instead of passing around an array containing profile data
Indicate cluster groups & standalone hosts on profiles
Indicate cluster groups & standalone hosts on storage
Indicate cluster groups & standalone hosts on networks
Indicate cluster groups & standalone hosts on projects
Clear modals on hidden (#164)
Quite a lot of the UI was updated (to what I think is better)
Fixed
Cant create a container with no devices (#158)
All clusters not showing on cluster overview (#151)
Cant store backup locally because of missing class property (#164)
Cant access files on new versions of LXD
0.6.1 - 02/03/2020
Fixed
Cant add more than one GPU
CoreUI bug preventing collapse's from working
0.6.0 - 01/02/2020
Added
Store enviorment variable with cloud-config rev (#70)
Backup & Restore Containers (#89)
Browse, upload & delete container files (#132)
Show if container is in deployment with link to deployment on container view
Allow setting server alias when adding (#134)
Support for VM's (#142)
Changed
Show memory as graph instead of as table
Dont show nav text on devices < 1500px
Hide project group if host doesn't support projects
Made some general improvements to the node script
Fixed
Settings don't clear properly between containers (#143)
0.5.0
Fixed
Container snapshot breaks loading deployments
Providing a port breaks adding host (#113)
Changed
UI tweaks including
sidebar width
Collapse server by default when there is > 10 containers (#114)
Reload hosts + container tree on alias change
Show cpu cores on the dashboard
Sort containers in alphabetical order (#115)
Added
Let user choose shell when opening container console session (#116)
Right click context menu for containers (#118)
A server overview page (#121)
Bulk delete containers (ground works there for more actions) on server
Phone home tracking for containers in a deployment
A page to manage instance settings
Upgrading guide (#124)
Cluster support (#6) including:
Auto discover other hosts from cluster members
Cluster member roles
Cluster memory usage
Multiple clusters suport
Recored actions (#127)
0.4.0
Added
Allow setting container settings when creating them (#57)
Copy profiles between hosts (#94)
Choose host to restore container snapshot to (#96)
Delete host (#99)
Reload server dashboard after finishing creating a container (#97)
Changed
Redirect by default to https (#86)
Spelling of "Stoping" (#95)
Use $.confirm instead of modal for copying container
Use more consistent card theming & add a light gray background
Bump composer libaries to fix (#101)
Only reload container tree instead of dashboard in certian instances (#109, #105)
Stop host online / offline from appearing over and over (#110)
Fixed
Breadcrumb navigation (#103)
0.3.0
Fixed
Fix ui doesn't load when server is offline (#77)
Cant view projects page if one host doesn't have projects endpoint (#76)
Show host on container information (#80)
Finding os version for a container (#79)
The spelling of storage (#81)
Curl bug with centos7 (#84)
UI broken when host offline (#83)
Added
Store total storage usage for fleet analytics (#75)
Support for CentOS7 (#84)
Basic network management (#4)