Hi
user
Admin Login:
Username:
Password:
Name:
Type driven configuration management with Propellor
--client
lca
--show
lca2017
--room tasman_bc 12120 --force
Next: 12 Drink from the firehose: release-monitoring.org
show more...
Marks
Author(s):
Joey Hess
Location
Tasman Hall B/C
Date
jan Tue 17
Days Raw Files
Start
21:15
First Raw Start
20:40
Duration
0:45:0
Offset
0:34:12
End
22:00
Last Raw End
22:10
Chapters
00:00
0:25:17
0:41:30
Total cuts_time
46 min.
http://linux.conf.au/schedule/presentation/116/
raw-playlist
raw-mp4-playlist
encoded-files-playlist
host
archive
tweet
mp4
svg
png
assets
release.pdf
Type_driven_configuration_management_with_Propellor.json
logs
Admin:
episode
episode list
cut list
raw files day
marks day
marks day
image_files
State:
---------
borked
edit
encode
push to queue
post
richard
review 1
email
review 2
make public
tweet
to-miror
conf
done
Locked:
clear this to unlock
Locked by:
user/process that locked.
Start:
initially scheduled time from master, adjusted to match reality
Duration:
length in hh:mm:ss
Name:
Video Title (shows in video search results)
Emails:
email(s) of the presenter(s)
Released:
Unknown
Yes
No
has someone authorised pubication
Normalise:
Channelcopy:
m=mono, 01=copy left to right, 10=right to left, 00=ignore.
Thumbnail:
filename.png
Description:
The configuration of Linux hosts has become increasingly declarative, managed by tools like Puppet and Ansible, and by the composition of containers. But if a server is a collection of declarative properties, how do you make sure that changes to that configuration make sense? You can test them, but eventually it's 3 AM and you have an emergency fix that needs to go live immediately. Data types to the rescue! While data types are usually used to prevent eg, combining an Int and a Bool, they can be used at a much more abstract level, for example to prevent combining a property that needs a Debian system with a property that needs a Red Hat system. Propellor leverages Haskell's type system to prove the consistency a host's configuration before deploying it. I'll show how Propellor started with a simple type for its properties, and increasingly refined the types as Propellor was developed, with the goal of catching as many configuration problems as possible, before the configuration gets deployed to the hosts. All the way up to type level detection of port conflicts! Propellor doesn't stop at configuring the top level of a host. It can reach inside containers on the host, and configure them using the same properties that can be used at the top level. It can create and manage chroots, docker containers, and systemd machines. A container defined in Propellor can be added to the multiple hosts, or moved between hosts by cutting and pasting a line in the config file. Propellor applies the same type-level checks to the properties of containers as to the properties of hosts. Going further, Propellor can create bootable disk images for a host. This unifies initial installation with ongoing configuration of a host. This is particularly useful for managing the configuration of embedded Linux systems, which are often painful to install interactively. This talk is full of examples of Propellor configuration in Haskell, but no knowledge of Haskell is required.
markdown
Comment:
production notes
2017-01-18/13_40_48.ts
Apply:
20:40:48 - 21:05:01 ( 00:24:13 )
S:
20:40:48 -
E:
21:10:47
D:
00:29:59
(
End:
1453.0)
show more...
vlc ~/Videos/veyepar/lca/lca2017/dv/tasman_bc/2017-01-18/13_40_48.ts :start-time=00.0 --audio-desync=0
Raw File
Cut List
20:40:48
seconds: 0.0
Wall: 20:40:48
Duration
00:29:59
21:10:47
seconds: 1453.0
Wall: 21:05:01
Comments:
mp4
mp4.m3u
dv.m3u
Split:
Sequence:
:
delete
2017-01-18/13_40_48.ts
Apply:
21:05:01 - 21:10:42 ( 00:05:41 )
S:
20:40:48 -
E:
21:10:47
D:
00:29:59
(
Start:
1453.0) (
End:
1794.0)
show more...
vlc ~/Videos/veyepar/lca/lca2017/dv/tasman_bc/2017-01-18/13_40_48.ts :start-time=01453.0 --audio-desync=0
Raw File
Cut List
20:40:48
seconds: 1453.0
Wall: 21:05:01
Duration
00:29:59
21:10:47
seconds: 1794.0
Wall: 21:10:42
Comments:
mp4
mp4.m3u
dv.m3u
Split:
Sequence:
:
delete
2017-01-18/13_40_48.ts
Apply:
21:10:42 - 21:10:47 ( 00:00:05 )
S:
20:40:48 -
E:
21:10:47
D:
00:29:59
(
Start:
1794.0)
show more...
vlc ~/Videos/veyepar/lca/lca2017/dv/tasman_bc/2017-01-18/13_40_48.ts :start-time=01794.0 --audio-desync=0
Raw File
Cut List
20:40:48
seconds: 1794.0
Wall: 21:10:42
Duration
00:29:59
21:10:47
seconds: 0.0
Wall: 20:40:48
Comments:
mp4
mp4.m3u
dv.m3u
Split:
Sequence:
:
delete
2017-01-18/14_10_48.ts
Apply:
21:10:48 - 21:14:44 ( 00:03:56 )
S:
21:10:48 -
E:
21:40:48
D:
00:30:00
(
End:
236.0)
show more...
vlc ~/Videos/veyepar/lca/lca2017/dv/tasman_bc/2017-01-18/14_10_48.ts :start-time=00.0 --audio-desync=0
Raw File
Cut List
21:10:48
seconds: 0.0
Wall: 21:10:48
Duration
00:30:00
21:40:48
seconds: 236.0
Wall: 21:14:44
Comments:
mp4
mp4.m3u
dv.m3u
Split:
Sequence:
:
delete
2017-01-18/14_10_48.ts
Apply:
21:14:44 - 21:15:31 ( 00:00:47 )
S:
21:10:48 -
E:
21:40:48
D:
00:30:00
(
Start:
236.0) (
End:
283.0)
show more...
vlc ~/Videos/veyepar/lca/lca2017/dv/tasman_bc/2017-01-18/14_10_48.ts :start-time=0236.0 --audio-desync=0
Raw File
Cut List
21:10:48
seconds: 236.0
Wall: 21:14:44
Duration
00:30:00
21:40:48
seconds: 283.0
Wall: 21:15:31
Comments:
mp4
mp4.m3u
dv.m3u
Split:
Sequence:
:
delete
2017-01-18/14_10_48.ts
Apply:
21:15:31 - 21:40:48 ( 00:25:17 )
S:
21:10:48 -
E:
21:40:48
D:
00:30:00
(
Start:
283.0)
show more...
vlc ~/Videos/veyepar/lca/lca2017/dv/tasman_bc/2017-01-18/14_10_48.ts :start-time=0283.0 --audio-desync=0
Raw File
Cut List
21:10:48
seconds: 283.0
Wall: 21:15:31
Duration
00:30:00
21:40:48
seconds: 0.0
Wall: 21:10:48
Comments:
mp4
mp4.m3u
dv.m3u
Split:
Sequence:
:
delete
2017-01-18/14_40_48.ts
Apply:
21:40:48 - 21:57:01 ( 00:16:13 )
S:
21:40:48 -
E:
22:10:47
D:
00:29:59
(
End:
973.0)
show more...
vlc ~/Videos/veyepar/lca/lca2017/dv/tasman_bc/2017-01-18/14_40_48.ts :start-time=00.0 --audio-desync=0
Raw File
Cut List
21:40:48
seconds: 0.0
Wall: 21:40:48
Duration
00:29:59
22:10:47
seconds: 973.0
Wall: 21:57:01
Comments:
mp4
mp4.m3u
dv.m3u
Split:
Sequence:
:
delete
2017-01-18/14_40_48.ts
Apply:
21:57:01 - 22:01:51 ( 00:04:50 )
S:
21:40:48 -
E:
22:10:47
D:
00:29:59
(
Start:
973.0) (
End:
1263.0)
show more...
vlc ~/Videos/veyepar/lca/lca2017/dv/tasman_bc/2017-01-18/14_40_48.ts :start-time=0973.0 --audio-desync=0
Raw File
Cut List
21:40:48
seconds: 973.0
Wall: 21:57:01
Duration
00:29:59
22:10:47
seconds: 1263.0
Wall: 22:01:51
Comments:
mp4
mp4.m3u
dv.m3u
Split:
Sequence:
:
delete
2017-01-18/14_40_48.ts
Apply:
22:01:51 - 22:10:47 ( 00:08:56 )
S:
21:40:48 -
E:
22:10:47
D:
00:29:59
(
Start:
1263.0)
show more...
vlc ~/Videos/veyepar/lca/lca2017/dv/tasman_bc/2017-01-18/14_40_48.ts :start-time=01263.0 --audio-desync=0
Raw File
Cut List
21:40:48
seconds: 1263.0
Wall: 22:01:51
Duration
00:29:59
22:10:47
seconds: 0.0
Wall: 21:40:48
Comments:
mp4
mp4.m3u
dv.m3u
Split:
Sequence:
:
delete
Rf filename:
root is .../show/dv/location/, example: 2013-03-13/13:13:30.dv
Sequence:
get this:
check and save to add this
2017-01-18/13_40_48.ts
2017-01-18/14_10_48.ts
2017-01-18/14_40_48.ts
Veyepar
Video Eyeball Processor and Review