forked from coreos/ignition
-
Notifications
You must be signed in to change notification settings - Fork 0
/
NEWS
821 lines (519 loc) · 21.5 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
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
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
13-Dec-2019 Ignition 2.1.1
Bug Fixes:
- Fix panics when processes Ignition starts fail
Features:
- An ignition-validate container is now built and can be used instead of
the ignition-validate binaries
12-Dec-2019 Ignition 2.1.0
Bug Fixes:
- Do not panic when filesystem paths are unspecified
- Specify the correct config version HTTP Accept headers when fetching
configs
- Write the config cache file atomically
- Relabel symlinks for masking systemd units
- Fix bug where empty GPT labels were treated as errors
- Do not generate warnings if mode is unset for files with only an append
section
- Validate HTTP(S) proxy urls in spec 3.1.0-experimental
Features:
- Ignition now logs the name of the stage it is running
- Ignition now relabels files directly instead of writing systemd units to
do so. Requires Linux 5.4.0+ or a patch. See operator notes for more
details
- Add optional "fetch" stage to cache the rendered config, but not apply
any of it
- Add support for aliyun cloud
- Add support for zVM hypervisor
- Add support for specifying mount options for filesystems in spec
3.1.0-experimental
Dependency Changes:
- Ignition no longer needs the chroot or id binaries in the initramfs
24-Jul-2019 Ignition 2.0.1
Bug Fixes:
- Fix getting AWS region when networking is slow to come up
- Validate file/directory paths correctly
03-Jun-2019 Ignition 2.0.0
Bug Fixes:
- Use /run/ignition/dev_aliases instead of /dev_aliases when creating our
own symlinks to devices in /dev
Test Changes:
- Rename tests to use dots.with.lowercase
Public Go API Changes:
- Replace config/validate api with github.com/coreos/vcontext
- Validate() functions in config/* now follow the vcontext validation
interface
26-Apr-2019 Ignition 2.0.0-beta
Features:
- Add configuration spec 3.1.0-experimental
- Allow specifying HTTP(S) proxies in spec 3.1.0-experimental
- Validate hard links do not link to directories
- Validate paths do not include links specified in the config
Bug Fixes:
- Include major version in go.mod correctly
- Fix SELinux relabeling of systemd unit files
- Update documentation for spec 3.0.0+
Changes:
- Remove all deprecated fields in configuration specs
- Remove `ec2` platform id in favor of `aws`
- Remove `pxe` platform as it is not a platform
- Fail if files, links, and directories conflict after symlink resolution
- Do not fail when writing directories or links if overwrite is false and a
matching directory or link already exists
25-Mar-2019 Ignition 2.0.0-alpha
NOTE: This is an alpha release. While the spec is marked as stable (i.e no
"-experimental" suffix) we still reserve the right to change it until the
stable 2.0.0 release. However, we do not anticipate any backwards
incompatible changes aside from removing deprecated fields.
NOTE: In order to allow types from both the 2.x.y and 3.0.0 specs to be
vendored and imported in the same project, we are skipping version 1.0.0.
Go mod (and some other tools) treat v0.x and v1.x as the same when
importing packages with semantic import versioning.
Features:
- Ignition now understands config specification 3.0.0
- Configs are now merged instead of appended
Changes:
- Configs with version < 3.0.0 are now rejected
- Duplicate entries are now disallowed in lists
- Removal of almost all deprecated fields
14-Dec-2018 IGNITION v0.30.0
Features:
- Parallelize filesystem creation
Changes:
- Increase default config fetch timeout to 2 minutes
Test Changes:
- Add -list option to list blackbox tests
- Skip backward compatibility tests with -test.short
06-Dec-2018 IGNITION v0.29.1
Bug Fixes:
- When writing files, directories, or links, do not follow symlinks if they
are the last path element
30-Nov-2018 IGNITION v0.29.0
Features:
- Add support for ?versionId on s3:// URLs
Changes:
- Mark the 2.3.0 config spec as stable
- No longer accept configs with version 2.3.0-experimental
- Create new 2.4.0-experimental config spec from 2.3.0
Bug Fixes:
- Don't allow HTTPS connections to block on system entropy pool
- Relabel /var/home and /var/roothome when SELinux is enabled
- Fix race where files were relabeled after systemd-sysctl.service
- Do not run udevadm settle after the disks stage if the disks stage did
nothing
- Allow writing relative symlinks
- Resolve absolute symlinks relative to specified filesystem instead of the
initramfs root
- Report status to Packet as "running" instead of "succeeded"
Test Changes:
- Fix race with umount when running blackbox tests
22-Aug-2018 IGNITION v0.28.0
Features:
- Refactor blackbox tests to allow testing disks with 4k sectors
Bug Fixes:
- Correctly detect disks with 4k sectors when scanning existing partitions
- Fix race between HTTP backoff tests
- Set the minimum config versions in tests to the actual minimum required
- Relabel /root when SELinux relabeling is enabled
09-Aug-2018 IGNITION v0.27.0
Features:
- Ignition is now built as a Position Independent Executable (PIE)
- Blackbox tests now run against all spec versions (within the same major
version) greater than their minimum version
- Ignition now reports its status when running on Packet
- Add a compile-time flag to enable SELinux file relabeling after boot
Bug Fixes:
- Directories specified in both base and appended configs are always
created with the permissions specified in the appended config
- Call `chdir()` after `chroot()` to silence static checkers
11-June-2018 IGNITION v0.26.0
Features:
- Support partition matching, specifying that a partition should not
exist, and recreating existing partitions
- Fail blackbox tests when Ignition encounters critical-level logs
Bug Fixes:
- Fix an issue in timeout logic causing http(s) requests to sometimes fail
- Do not log non-critical errors with CRITICAL log level
22-May-2018 IGNITION v0.25.1
Bug Fixes:
- Fix an issue in timeout logic causing http(s) requests to sometimes fail
22-May-2018 IGNITION v0.24.1
Bug Fixes:
- Fix an issue in timeout logic causing http(s) requests to sometimes fail
17-May-2018 IGNITION v0.25.0
Features:
- Blackbox tests can now be run in parallel
Changes:
- Remove Oracle Cloud Infrastructure support
Bug Fixes:
- No longer leave a stray file when appending to an existing file
- Fix multiple blackbox test validation errors
- Fix v1 config parsing to return ErrUnknownVersion if version is
unrecognized
06-Mar-2018 IGNITION v0.24.0
Features
- Warn when adding and enabling a systemd unit and there is no "Install"
section in the unit contents
- Add highlights to reports generated by "Validate" functions on config
structs
Changes
- Move a helper validation function to the "config/validate" package
- Move unit validation helpers to "config/shared/validations"
- Add common error types to "config/shared/errors", refactor "config/v*" to
use these errors
12-Mar-2018 IGNITION v0.23.0
Changes
- Latest experimental package has been moved from config/types to
config/v2_3_experimental.
- Each config package's Parse function will now transparently handle any
configs of a lesser version than itself (e.g. config/v2_2 will handle a
2.0.0 config).
- Validation in config/v1 reworked to use config/validate.
- Common error types from the config package moved to config/errors.
09-Feb-2018 IGNITION v0.22.0
Changes
- Mark the 2.2.0 config spec as stable
- No longer accept configs with version 2.2.0-experimental
- Create new 2.3.0-experimental config spec from 2.2.0
26-Jan-2018 IGNITION v0.21.0
Features
- Add support for networkd drop-ins
- Add new program, ignition-validate, for validating Ignition configs
- Add "overwrite" field to "files", "directories", and "links" sections for
deleting preexisting items at the node's path
- Add "options" field to "raid" section for specifying arbitrary mdadm
options
- Add "append" field to "files" section for appending to preexisting files
- Add support for specifying additional certificate authorities to use when
fetching objects over HTTPS
Changes
- Validate that partition labels don't contain colons, as sgdisk will
silently truncate the label
- Remove "-validate" flag from Ignition that was introduced in v0.20.0
- Warn when the mode for a file or directory is unset
- Log retries of HTTP fetches at info loglevel so messages appear on console
Bug Fixes
- Fix issue where unspecified fields in an appended config could "unset"
fields specified in a config earlier in the chain
- Use timeouts specified in a config when fetching other configs referenced
by it
12-Jan-2018 IGNITION v0.20.1
Changes
- Add support for fetching S3 objects from non-default AWS partitions when
running in one such partition
13-Dec-2017 IGNITION v0.20.0
Features
- Add validate flag for validating Ignition configs without running any
stages
- Add support for reading user configs from initramfs
Changes
- Move update-ssh-keys from dependency into internal library
- Move constants such as paths for invoked binaries into dedicated package
to allow for easy overriding at link time
- Read base and default configs from initramfs instead of hardcoding them
- Use the golang DNS resolver instead of the default glibc DNS resolver
22-Sep-2017 IGNITION v0.19.0
Features
- Add support for CloudStack network metadata
- Add blackbox tests for TFTP URLs
- Remove dependency on kpartx for blackbox tests
Changes
- Stop adding extra quotes around GECOS field when creating users
Bug Fixes
- Fix regression in validation logic causing inaccurate line and column
reporting
- Fix regression in validation logic where JSON syntax errors were not
reported correctly
- Add warning if a non-existent filesystem is specified when creating links
and directories
- Fix udev race causing systemd units depending on the Ignition disks stage and
a device unit to fail when no filesystems are created
- Fix udev race where symlinks are deleted before Ignition can create its own
copy
08-Sep-2017 IGNITION v0.18.0
Features
- On VMWare allow guest variables to override values specified in the OVF
environment
- Add partial support for CloudStack
- Add blackbox tests
- Add support for Oracle OCI provider
Changes
- Chmod pre-existing directories to match defined permissions in config
- Chown pre-existing links to match defined owner in config
- Add "--homehost any" arguments to mdadm raid creation to ensure consistent
device name under /dev/md
- On GCE, don't bind-mount docker binary into Google Cloud SDK container
- On GCE, remove gcutil alias
Bug Fixes
- Properly error out when a user or group set by name in the config cannot
be resolved to an id
- Fix typo in gcloud alias preventing connection to the docker daemon in
some cases
- Fix partition number validation where multiple partitions on a disk were
unable to specify 0 for the next available partition number
28-Jul-2017 IGNITION v0.17.2
Bug Fixes
- Fix failure to create files/directories/links on correct filesystem
- Fix failure to force filesystem creation when legacy force flag was set
- Prevent VFAT filesystem creation from unconditionally overwriting existing
filesystem
- Fix deprecation warning on enable field in OEM systemd units
- Fix failure where hard link targets would be on incorrect filesystem,
causing creation to fail
- Fix incorrect filesystem UUID check when deciding whether to reuse
existing filesystem, causing Ignition to fail
05-Jul-2017 IGNITION v0.17.1
Bug Fixes
- Fix failure when user data was not provided on EC2 and GCE
- Fix failure to fetch user data on packet.net
30-Jun-2017 IGNITION v0.17.0
Features
- Add support for S3 fetching and IAM role credential use in EC2
- Add enabled flag to services to allow disabling services
- Add new vagrant-virtualbox oem
Changes
- Mark 2.1.0 as stable
- No longer accept 2.1.0-experimental configs
- Create new 2.2.0-experimental spec from 2.1.0
Bug Fixes
- Mask user-configdrive.service and user-configvirtfs.service on brightbox
and openstack to prevent cloudinit from running a second time
- Use value given in root flag everywhere, instead of hard coding /sysroot
16-Jun-2017 IGNITION v0.16.0
Experimental (2.1.0-experimental)
- Fix TFTP URL validation
- Fix nil pointer dereference when uid or gid for a file is unspecified
- Add support for VFAT filesystem creation
- Fix raid device validation
Changes
- Validate length of filesystem labels
- Remove all OEM etcd v0 drop-in units
- Remove xendom0 OEM
Features
- Add support for VMware's OVF environment
- Add support for VirtualBox OEM
23-May-2017 IGNITION v0.15.0
Experimental (2.1.0-experimental)
- Define the Ignition Config schema in a JSON Schema file. Generate golang
structs from this file
- Add partition GUID to the filesystem object, create or modify the
partition as appropriate
- Add support for swap filesystems
- Add support for links, both symbolic and hard
- Deprecate the user level create object, add relevant fields directly to
the user object
- Add support for referencing users and groups by name when creating files,
directories, and links
- Deprecate the filesystem level create object, add relevant fields directly
to the filesystem object
- Add support for reusing existing filesystems, toggled via the new
`wipeFilesystem` field in the filesystem object
- Add filesystem UUID and label to the filesystem object
- Correctly handle timeouts, instead of ignoring timeout settings in the
Ignition config
Bug Fixes
- Fix file path validation on Windows
- On Brightbox correctly fetch the config, instead of failing with a noop
- Fix a race with udev events which could cause filesystem creation to fail
Changes
- Modify existing users, instead of attempting to create them
Features
- Support for TFTP URLs
13-Mar-2017 IGNITION v0.14.0
Changes
- Update the services for the Azure OEM
- Update the services for the BrightBox OEM
- Update the services for the EC2 OEM
- Update the services for the OpenStack OEM
- Update the services for the Packet OEM
- Update the services for the VMware OEM
01-Mar-2017 IGNITION v0.13.0
Bug Fixes
- Read from both the config-drive and metadata service when using the
OpenStack provider
- Properly reports errors encountered while creating files
- Fix GCE gcloud alias to properly invoke the container
Features
- Add support for experimental features via a newer config spec
- Allow file provider's config path to be overridden
- Perform basic syntactic validation on the contents of systemd units
Experimental (2.1.0-experimental)
- Add ability to explicitly create directories
- Add configuration for HTTP-related timeouts
14-Dec-2016 IGNITION v0.12.1
Bug Fixes
- Enable coreos-metadata-sshkeys on Packet
- Assert validity of data URLs during config validation
29-Nov-2016 IGNITION v0.12.0
Features
- Allow kernel command-line parameter to override OEM config
07-Oct-2016 IGNITION v0.11.2
Bug Fixes
- Correctly set the partition typecode
Changes
- Update the services for the GCE OEM
20-Sep-2016 IGNITION v0.11.1
Bug Fixes
- Fix potential deadlock when waiting for multiple disks
07-Sep-2016 IGNITION v0.11.0
Features
- Add support for DigitalOcean
- Add experimental support for OpenStack
26-Aug-2016 IGNITION v0.10.1
Bug Fixes
- Fix handling of oem:// URLs
- Use stable symlinks when operating on devices
- Retry failed requests when fetching Packet userdata
- Log the raw configurations instead of the parsed result
23-Aug-2016 IGNITION v0.10.0
Features
- Add support for QEMU Firmware Configuration Device
15-Aug-2016 IGNITION v0.9.2
Bug Fixes
- Do not retry HTTP requests that result in non-5xx status codes
11-Aug-2016 IGNITION v0.9.1
Bug Fixes
- Properly validate data URLs
11-Aug-2016 IGNITION v0.9.0
Features
- Add detailed configuration validation
Bug Fixes
- Add retry to all HTTP requests
- Fix potential panic when parsing certain URLs
26-Jul-2016 IGNITION v0.8.0
Features
- Add support for Packet
13-Jul-2016 IGNITION v0.7.1
Bug Fixes
- Interpret files without a URL to be empty instead of invalid
- HTTP fetches time out while waiting for response header instead of body
- Stream remote assets to disk instead of loading them into memory
Changes
- Improve configuration validation
15-Jun-2016 IGNITION v0.7.0
Features
- Allow HTTPS URLs
Bug Fixes
- Don't overwrite existing data when formatting ext4 unless force is set
- Ensure service unit in /etc doesn't exist before masking
- Capture and log stdout of subprocesses
Changes
- Drop YAML tags from the config package
18-May-2016 IGNITION v0.6.0
Features
- All URL schemes (currently http, oem, and data) are now supported
everywhere a URL can be provided
- Add base OEM and default user configurations for GCE
04-May-2016 IGNITION v0.5.0
Features
- Add support for GCE
Bug Fixes
- Write files after users and home directories are created
Changes
- Strip support for EC2 SSH keys (these are handled by coreos-metadata now)
- Add OEM-specific base configs and execute even if user config is empty
05-Apr-2016 IGNITION v0.4.0
Features
- Update the config spec to v2.0.0 (see the migration guide for more info)
- v1 configs will be automatically translated to v2.0.0
- Add HTTP "User-Agent" and "Accept" headers to all requests
Changes
- Use Go's vendor directory for all dependencies
- Split source into a public "config" package and "internal"
25-Mar-2016 IGNITION v0.3.3
Bug Fixes
- Fix compilation errors when building for ARM
- Properly fetch configs from EC2
17-Mar-2016 IGNITION v0.3.2
Bug Fixes
- Properly decode VMware guest variables before parsing config
Changes
- Move config structures from config package to config/types
02-Mar-2016 IGNITION v0.3.1
Bug Fixes
- Allow building on non-AMD64 architectures
Changes
- Major refactoring of the internal processing of OEMs and providers
24-Feb-2016 IGNITION v0.3.0
Features
- Add support for VMware
13-Jan-2016 IGNITION v0.2.6
Features
- Improve validation of storage.filesystems options
Bug Fixes
- Properly zap GPT tables when they are partially valid
06-Jan-2016 IGNITION v0.2.5
Bug Fixes
- Recognize and ignore gzipped cloud-configs
19-Nov-2015 IGNITION v0.2.4
Bug Fixes
- Correctly escape device unit names
17-Nov-2015 IGNITION v0.2.3
Features
- Provide logging to pinpoint JSON errors in invalid configs
Bug Fixes
- Ensure that /mnt/oem exists before mounting
- Remove /sysroot/ prefix from alternate config path
20-Oct-2015 IGNITION v0.2.2
Bug Fixes
- Mount the oem partition for oem:// schemes when needed
15-Oct-2015 IGNITION v0.2.1
Bug Fixes
- Allow empty CustomData on Azure
29-Sep-2015 IGNITION v0.2.0
Features
- Added support for Azure
- Added support for formatting partitions as xfs
Bug Fixes
- Removed online timeout for EC2
09-Sep-2015 IGNITION v0.1.6
Features
- --fetchtimeout becomes --online-timeout
- --online-timeout of 0 now represents infinity
- Added recognition of "interoute" OEM
Documentation
- Examples have been removed and supported platforms added
- Various minor cleanups
Bug Fixes
- Ensure added SSH keys are newline terminated
Build System Changes
- Fix gofmt invocation from test script to fail when appropriate
28-Aug-2015 IGNITION v0.1.5
Bug Fixes
- Disable EC2 provider for now
27-Aug-2015 IGNITION v0.1.4
Features
- Add support for oem:// scheme config urls
Documentation
- Added guides
- Updated config specification
Bug Fixes
- Add DefaultDependencies=false to WaitOnDevices() transient unit
- Updated JSON configuration keys to match style
Build System Changes
- Added script for tagging releases
11-Aug-2015 IGNITION v0.1.3
Features
- Add support for ssh keys on EC2
- Log version at runtime
Bug Fixes
- Log ssh keys as they are added
- Various small cleanups
Build System Changes
- Derive version from git describe at build time
- Use bash build and test scripts instead of make
22-Jul-2015 IGNITION v0.1.2
Bug Fixes
- Fix validation of drop-in names
- Properly handle a lack of userdata on EC2
22-Jul-2015 IGNITION v0.1.1
Bug Fixes
- Ignore empty configs
- Ignore unsupported CoreOS OEMs
- Panic on incorrect OEM flag configurations
14-Jul-2015 IGNITION v0.1.0
Features
- Initial release of Ignition!
- Support for disk partitioning, partition formatting, writing files,
RAID, systemd units, networkd units, users, and groups.
- Supports reading the config from a remote URL (via
config.coreos.url) or from the Amazon EC2 metadata service.