init git: init git annex: Add S3 Remote named public-s3 Add file to git annex copy current directory to public-s3 remote remove local copy—will only remove if already in remote—nothing lost Commit Add file to nas Find a file: Adding a file to http://tyler.zone Make amazon bucket with policy: Put creds out into the environment Configuration management software is nice because it lets you be a little dumb. Puppet, Chef, Ansible, and Salt have all managed to smooth down many of the rough edges that were ubiquitous in the terrible bash and perl scripts used for old-time, ad-hoc configuration management. My main problem with configuration management software is that I’m still dumb. I’m still dumb and there are now new, non-obvious, ways to be dumb. One non-obvious example is below: On the surface, this little contrived example seems fine: Apache requires a special source, adding that source triggers an The problem here is subtle: the HOWEVER, the Apache package, currently, has no relationship with While the short example above is not a problem in isolation, it can be a problem in a larger manifest. Puppet will succeed with some packages, fail in others, then create unresolvable dependency conflicts on the next run (after Edit—2016-03-20 This relationship is easier to see when you take advantage of puppet’s https://gorails.com/setup/ubuntu/14.04 require "selenium-webdriver" https://code.google.com/p/selenium/wiki/RubyBindings driver.class http://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/DriverSetup New repo ¶
Setup NFS as remote using Rsync over ssh ¶
Pull down photos ¶
Make available to the public (after public s3 setup): ¶
List remotes and remote info ¶
Show remotes ¶
Show remote info ¶
Finding info about files ¶
Links ¶
Setup ¶
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "AllowPublicRead",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::[bucket-name]/*"
}
]
}
package { 'apache':
ensure => installed,
require => File['/etc/apt/sources.list.d/some_source.list']
}
file { '/etc/apt/sources.list.d/some_source.list':
notify => Exec['apt-get update'],
source => ...
}
exec { 'apt-get update': }
apt-get update
. Therefore, before Apache is installed, our sources list should be up-to-date, right? Wrong.notify => Exec['apt-get update']
in the file resource means that the file "/etc/apt/sources.d/${name}.list"
has to exist before apt-get update
is run. Adding require => File['/etc/apt/sources.list.d/some_source.list']
to the Apache package means that it will be installed only after "/etc/apt/sources.d/${name}.list"
gets added.apt-get update
. This means Puppet may try to install the Apache package after adding /etc/apt/sources.d/some_source.list
, but before running apt-get update
.apt-get update
has run).
--graph
ability:
Check setup ¶
Ruby install ¶
Selenium webdriver ¶
Core tests ¶
[mw-core]/tests/browser/features/create_account.feature
Bundler ¶
Important ¶
Posted
Posted
Posted