-
Notifications
You must be signed in to change notification settings - Fork 10
/
NEWS
174 lines (96 loc) · 8.02 KB
/
NEWS
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
version 0.10
============
- By default, the disnix-ssh-client will work in single-user mode. The DISNIX_REMOTE_CLIENT environment variable can be set to disnix-client to enable multi-user mode.
- We have added two new NixOS module options to automatically add Disnix installed packages to the global PATH
- The model transformation pipeline has been reengineered again to have better support for references. This exposes almost all properties of all inter-dependencies, and transitive inter-dependencies
- Introduced the --extra-params option to propagate additional parameters to the input models
- disnix-env provides the --undeploy option that can be used to conveniently undeploy an entire system
- The functionality of disnix-copy-closure and disnix-copy-snapshots are now reimplemented as C API calls in libpkgmgmt and libstatemgmt
- The disnix-service can deamonize itself with the --daemon parameter
- Services can also be exposed as containers. This makes it possible to deploy both an application server as well as the applications hosted by it as a Disnix service
- Introduced activatesAfter property. It can be used for ordering the activation, but not propagating any inter-dependency parameters
Version 0.9
===========
- libmanifest, libdistderivation and libinfrastructure models are more sophistically checked for missing properties and dangling references
- Added option to display output in XML format for disnix-query
- The profile manifest file structure has been revised and are now XML-based instead of linefeed separated text files
- Disnix now uses libnixxml for data interchange between the front-end (that does the building) and the tools that execute the remaining deployment activities
- The Disnix tools can also work with a packages model: a file that specifies the contents of the Nix profiles per machine
- Disnix supports new lower level configuration models: a deployment architecture model that captures all high-level deployment aspects in one file, a build model that has a one on one mapping with the build activities that it executes only and a deployment model that has a one of one mapping with the deployment activities that it executes
- The frontend has been reengineered. In addition to more configurable properties, it is also possible to specify the intermediate models as input parameters to various Disnix tools.
- libmanifest now uses libinfrastructure for managing the infrastructure related parts
- The tools that work with infrastructure models (e.g. disnix-capture-infra, disnix-collect-garbage) now also work with XML representations of the infrastructure models by passing the --xml option. disnix-normalize-infra can be used to generate XML representations of infrastructure models
- Most higher level functionality has been reimplemented in C and exposed as C APIs
Version 0.8
===========
- Added disnix-diagnose that can be used to spawn remote shell sessions to execute diagnoses and maintenance tasks
- Added disnix-run-activity that can be used to directly execute Disnix activities without a multi-user installation or D-Bus service
- Services can now also declare inter-dependencies with the connectsTo property that disregards the activation order. This is useful for systems with cyclic connections and faster deployments in which it is allowed to break a connection
- The copy closure command now partitions the requisites to prevent hitting the "arguments too long" error
- The disnix-env command now also takes the --list-generations option to display coordinator profile generations and --delete-generations, --delete-all-generations to delete them
Version 0.7
===========
- When moving state it will no longer be deleted by default. Instead, the user must provide --delete-state
- Add disnix-reconstruct that can reconstruct a deployment configuration on the coordinator if the data gets lost
- disnix-query can now also group services per container and display all its properties defined in the profile manifest
- All package management operation concerns are in libpkgmgmt, all state management concerns in libstatemgmt
- disnix-snapshot/disnix-restore/disnix-delete-state/disnix-clean-snapshots: allow filtering on container and component level
- Created three new tools encapsulating meaningful sets of activities: disnix-delegate, disnix-deploy and disnix-migrate
- disnix-env is now a composition of disnix-delegate, disnix-manifest and disnix-deploy
- Process orchestration is now handled by libprocreact
- Iterating or traversing over data structures is now handled by libmanifest, libdistderivation and libinfrastructure
- disnix-capture-infra, disnix-query now capture data in parallel to speed up the entire operation
- Added a check for the name attributes in the services model
- disnix-snapshot and disnix-restore now provide an alternative depth-first approach which is more space efficient, but slower
Version 0.6
===========
- Changed the distribution internals. Now every service maps to a container on a target system. When no container is specified, it auto maps a service to the container with the type name
- New formalism for the infrastructure model. Now every target defines system settings, general properties and properties per container
- Activation parameters are now scoped. Only parameters that a Dysnomia module needs to know about are propagated.
- disnix-visualize also shows containers to which services have been deployed
- Added disnix-capture-infra that consults the remote machines' Dysnomia container configurations to generate an infrastructure expression
- Add package type to deploy packages as services. Packages will get installed, but not activated or deactivated.
Version 0.5
===========
- Services model also takes an invDistribution parameter, which refers to the infrastructure model in which each target is augmented with the services that have been mapped to it
- Some noise has been removed from the output
- Introduced SSH_USER environment variable to configure the username to connect with to remote machines with disnix-ssh-client
- disnix-lock and disnix-visualize can now also be called without a file parameter. With no file parameter, it attempts to open the manifest of the last deployment
- Added a Debian compatible init.d script for convenience for installing on Debian derivatives
- If the data migration phase fails, the user gets some notes on how to resolve it
- disnix-env now also implements --rollback and --switch-generation
- Eliminates dependency on dbus-glib and move to gdbus
- Major restructurings in manual and additional chapters describing state management, and deploying target-specific services
Version 0.4
===========
- The distributed derivation and manifest generator now pass the XML input as files to support bigger ones (Nix 1.9 or newer required)
- Manual pages are now generated with help2man and doclifter
- Implemented snapshot and restore operations that can be optionally enabled
- Separated locking and profile operations from disnix-activate into disnix-lock and disnix-set
Version 0.3
===========
- Added Cygwin installation instructions
- Disnix uses Dysnomia for activation, deactivation, lock and unlock operations instead of adhoc activation scripts
- Added manual page for disnix-query
- Implemented SIGINT handler for disnix-activate, that allows the process to interrupt gracefully.
- Implemented DISNIX_PROFILE environment variable
- Simplified manifest format
- Many additional testcases and bugfixes
- Improved logging
- Concurrent closure transfers
- Parallelised transition process
- Multi connection protocol support
Version 0.2
===========
- Added disnix-visualize tool
- Fixed bug with zombie processes
- Major code cleanups (boilerplate and separated shared stuff in libraries)
- Implemented some features for integration with a virtualisation extension
- Added user manual
- Manual pages are in docbook now
- Fixed memory leaks in disnix-activate
- Larger test suite
- Public library interface for extensions
- Copes with machines that disappear
- Services model provides pkgs argument. Does not have to be imported manually.
- Doxygen API documentation