<feed xmlns='http://www.w3.org/2005/Atom'>
<title>server/secrets/ssh, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>http://euandre.org/git/server/atom?h=main</id>
<link rel='self' href='http://euandre.org/git/server/atom?h=main'/>
<link rel='alternate' type='text/html' href='http://euandre.org/git/server/'/>
<updated>2020-08-10T15:53:57Z</updated>
<entry>
<title>Remove unused secrets/{borg,ssh}/</title>
<updated>2020-08-10T15:53:57Z</updated>
<author>
<name>EuAndreh</name>
<email>eu@euandre.org</email>
</author>
<published>2020-08-10T15:53:57Z</published>
<link rel='alternate' type='text/html' href='http://euandre.org/git/server/commit/?id=95038613f5c775c8b46b015a0bace04280286254'/>
<id>urn:sha1:95038613f5c775c8b46b015a0bace04280286254</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Migration: Remove Ansible and Docker code, move only to NixOS</title>
<updated>2020-08-10T15:45:43Z</updated>
<author>
<name>EuAndreh</name>
<email>eu@euandre.org</email>
</author>
<published>2020-08-10T15:15:49Z</published>
<link rel='alternate' type='text/html' href='http://euandre.org/git/server/commit/?id=100ab568e3aeb512e86fd1155a73454d22e24895'/>
<id>urn:sha1:100ab568e3aeb512e86fd1155a73454d22e24895</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Generate UserKnownHostsFile dynamically instead of when rotating keys</title>
<updated>2019-06-08T14:43:38Z</updated>
<author>
<name>EuAndreh</name>
<email>eu@euandre.org</email>
</author>
<published>2019-06-08T14:43:38Z</published>
<link rel='alternate' type='text/html' href='http://euandre.org/git/server/commit/?id=f054e9dea98bf56c8ea068dc279e99e76a334848'/>
<id>urn:sha1:f054e9dea98bf56c8ea068dc279e99e76a334848</id>
<content type='text'>
The previous solution would hardcode the server IP. This way we can change the
server IP address that is hosting everything and keep the SSH keypair.
Previously changing the IP address would require either calling the
=./rotate-ssh-keys.sh= script or manually changing the IP address on the
known-hosts.txt file.

The IP address being duplicated itself was a code smell.

Both SSH keypair and IP address can now be changed independently.
</content>
</entry>
<entry>
<title>Script: rotate SSH keys</title>
<updated>2019-06-05T22:44:12Z</updated>
<author>
<name>EuAndreh</name>
<email>eu@euandre.org</email>
</author>
<published>2019-06-05T22:44:12Z</published>
<link rel='alternate' type='text/html' href='http://euandre.org/git/server/commit/?id=5ef193b08008903e1f2cac4f89b84963975f4150'/>
<id>urn:sha1:5ef193b08008903e1f2cac4f89b84963975f4150</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Script: rotate SSH keys</title>
<updated>2019-06-05T22:37:40Z</updated>
<author>
<name>EuAndreh</name>
<email>eu@euandre.org</email>
</author>
<published>2019-06-05T22:37:40Z</published>
<link rel='alternate' type='text/html' href='http://euandre.org/git/server/commit/?id=bc426ca3e3d9c1a10786ea54f44877affb3faeec'/>
<id>urn:sha1:bc426ca3e3d9c1a10786ea54f44877affb3faeec</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Script: rotate SSH keys</title>
<updated>2019-06-05T22:27:26Z</updated>
<author>
<name>EuAndreh</name>
<email>eu@euandre.org</email>
</author>
<published>2019-06-05T22:27:26Z</published>
<link rel='alternate' type='text/html' href='http://euandre.org/git/server/commit/?id=fd205c2b81edb09819dece00c05a7fc2bf8b35ea'/>
<id>urn:sha1:fd205c2b81edb09819dece00c05a7fc2bf8b35ea</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix git-crypt configuration</title>
<updated>2019-06-05T22:25:05Z</updated>
<author>
<name>EuAndreh</name>
<email>eu@euandre.org</email>
</author>
<published>2019-06-05T22:23:59Z</published>
<link rel='alternate' type='text/html' href='http://euandre.org/git/server/commit/?id=b5195ce90b7357a4b963861f62343ac26adc0e1a'/>
<id>urn:sha1:b5195ce90b7357a4b963861f62343ac26adc0e1a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use known-hosts.txt with public key from the rotated SSH key pair</title>
<updated>2019-06-05T21:02:35Z</updated>
<author>
<name>EuAndreh</name>
<email>eu@euandre.org</email>
</author>
<published>2019-06-05T21:02:35Z</published>
<link rel='alternate' type='text/html' href='http://euandre.org/git/server/commit/?id=4681d2ed280e751317158b4855ac30a7efb9970f'/>
<id>urn:sha1:4681d2ed280e751317158b4855ac30a7efb9970f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use Ansible instead of Bash for provisioning</title>
<updated>2019-06-05T19:42:06Z</updated>
<author>
<name>EuAndreh</name>
<email>eu@euandre.org</email>
</author>
<published>2019-06-05T19:38:53Z</published>
<link rel='alternate' type='text/html' href='http://euandre.org/git/server/commit/?id=54fd61c887f266f8e2e6b1419a86fc6681116069'/>
<id>urn:sha1:54fd61c887f266f8e2e6b1419a86fc6681116069</id>
<content type='text'>
The deployment is not quite working, and I'm unable to test right now:
DigitalOcean is returning 503 for my requests.

As of this commit, I can run =ansible-playbook provider.yml= more than once and
it will actually be idempotent.

Notes:
- SSH fingerprint are now taken from the public key file instead of manually
supplying it in the terraform template using the =digitalocean_ssh_key=
resource;
- use Ansible instead of ad-hoc Bash scripts for provisioning the Droplets
created by Terraform;
- use the =filename.env.extension= to create the concrete files in CI;
- use the =user_data= to add the know SSH key pair to the newly created Droplet;
- add =rotate-ssh-keys.sh= utils;
</content>
</entry>
</feed>
