diff --git a/content/file.eb3b17cc-6d49-43e7-80b0-15c6e3ec37f2.json b/content/file.eb3b17cc-6d49-43e7-80b0-15c6e3ec37f2.json deleted file mode 100644 index 7e8db62ad..000000000 --- a/content/file.eb3b17cc-6d49-43e7-80b0-15c6e3ec37f2.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "uuid": [ - { - "value": "eb3b17cc-6d49-43e7-80b0-15c6e3ec37f2" - } - ], - "langcode": [ - { - "value": "en" - } - ], - "uid": [ - { - "target_type": "user", - "target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849" - } - ], - "filename": [ - { - "value": "marcos-duran.jpg" - } - ], - "uri": [ - { - "value": "public:\/\/2025-07\/marcos-duran.jpg", - "url": "\/sites\/default\/files\/2025-07\/marcos-duran.jpg" - } - ], - "filemime": [ - { - "value": "image\/jpeg" - } - ], - "filesize": [ - { - "value": 28004 - } - ], - "status": [ - { - "value": false - } - ], - "created": [ - { - "value": "2025-07-04T09:56:07+00:00" - } - ], - "changed": [ - { - "value": "2025-07-04T09:56:07+00:00" - } - ] -} \ No newline at end of file diff --git a/content/meta/index.json b/content/meta/index.json index c1b3d507a..1bf431a51 100644 --- a/content/meta/index.json +++ b/content/meta/index.json @@ -6659,9 +6659,6 @@ "file.c334fcb7-eefc-4692-86ff-14db768ba480", "taxonomy_term.5a23da64-7e26-42fd-8d5d-d7e5f98f54a1" ], - "file.eb3b17cc-6d49-43e7-80b0-15c6e3ec37f2": [ - "user.b8966985-d4b2-42a7-a319-2e94ccfbb849" - ], "file.42b821e5-2a8c-49f6-8c1c-24b461c05995": [ "user.b8966985-d4b2-42a7-a319-2e94ccfbb849" ], @@ -6734,5 +6731,12 @@ ], "path_alias.a85920d4-a113-4497-8861-c8f45b0708e8": [ "node.d8a2b106-99f5-455d-b8a9-f1bdcbf12e53" + ], + "node.add68937-4a3d-410d-a0d3-4510e3cb9e19": [ + "user.b8966985-d4b2-42a7-a319-2e94ccfbb849", + "node.3074e1e9-c691-4f73-a71c-cfe5920f884e" + ], + "path_alias.33301c7f-3252-46b8-9f3c-87f8d6efb5e2": [ + "node.add68937-4a3d-410d-a0d3-4510e3cb9e19" ] } \ No newline at end of file diff --git a/content/node.add68937-4a3d-410d-a0d3-4510e3cb9e19.json b/content/node.add68937-4a3d-410d-a0d3-4510e3cb9e19.json new file mode 100644 index 000000000..8e57cca3f --- /dev/null +++ b/content/node.add68937-4a3d-410d-a0d3-4510e3cb9e19.json @@ -0,0 +1,97 @@ +{ + "uuid": [ + { + "value": "add68937-4a3d-410d-a0d3-4510e3cb9e19" + } + ], + "langcode": [ + { + "value": "en" + } + ], + "type": [ + { + "target_id": "daily_email", + "target_type": "node_type", + "target_uuid": "8bde1f2f-eef9-4f2d-ae9c-96921f8193d7" + } + ], + "revision_timestamp": [ + { + "value": "2025-07-04T19:42:30+00:00" + } + ], + "revision_uid": [ + { + "target_type": "user", + "target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849" + } + ], + "revision_log": [], + "status": [ + { + "value": true + } + ], + "uid": [ + { + "target_type": "user", + "target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849" + } + ], + "title": [ + { + "value": "Imperative or declarative" + } + ], + "created": [ + { + "value": "2025-07-03T18:47:13+00:00" + } + ], + "changed": [ + { + "value": "2025-07-04T19:42:30+00:00" + } + ], + "promote": [ + { + "value": false + } + ], + "sticky": [ + { + "value": false + } + ], + "default_langcode": [ + { + "value": true + } + ], + "revision_translation_affected": [ + { + "value": true + } + ], + "path": [ + { + "alias": "\/daily\/2025\/07\/03\/imperative-or-declarative", + "langcode": "en" + } + ], + "body": [ + { + "value": "Yesterday, I wrote about [infrastructure as code][0] and mentioned some of the IaC tools that are available.\r\n\r\nI use Terraform to manage the DNS records for my websites, and use NixOS to configure my laptops and home server.\r\n\r\nBefore NixOS, I used Ansible to provision servers and [deploy application code][1].\r\n\r\nAnsible is imperative, which means you need to declare each step that needs to be run.\r\n\r\nYou need to say to install a package, like a web server.\r\n\r\nYou need to say to create any required users or groups.\r\n\r\nYou need to configure the service so it starts when the server boots.\r\n\r\nYou need to create the configuration files and symlink or copy them to the correct path.\r\n\r\nYou need to add as many steps as needed to perform the task, that will be executed in the given order.\r\n\r\n## Declarative configuration\r\n\r\nThis makes sense for application deployments, but for server configuration, you can also use declarative tools like Terraform and NixOS.\r\n\r\nInstead of writing each step, you declare what the final desired state is.\r\n\r\nYou say Nginx should be enabled by writing `services.nginx.enable = true;` or declaring what the configuration file contents should be - not how to create or symlink the file.\r\n\r\nThis also makes the underlying code easier to update or refactor.\r\n\r\nIf how you install or configure a program changes, you don't need to update your infrastructure code as the final state will be the same - regardless of how it's done.\r\n\r\n[0]: \/daily\/2025\/07\/02\/what-infrastructure-code\r\n[1]: \/presentations\/deploying-php-ansible-ansistrano", + "format": "markdown", + "processed": "
Yesterday, I wrote about infrastructure as code<\/a> and mentioned some of the IaC tools that are available.<\/p>\n I use Terraform to manage the DNS records for my websites, and use NixOS to configure my laptops and home server.<\/p>\n