]> infiniteadaptability.org Git - channel/commitdiff
services: revert cloud-init service to previous known working verison
authoralex <[email protected]>
Wed, 3 Dec 2025 21:37:23 +0000 (13:37 -0800)
committeralex <[email protected]>
Wed, 3 Dec 2025 21:37:23 +0000 (13:37 -0800)
infiniteadaptability/services/cloud-init.scm

index 39e4ccfea3d4f7bbd5de672c2269dc0ca3e711ae..f9a9a7f5940eb51d182c3189a9ddcbde6a8cc9c0 100644 (file)
 (define %cloud-cfg
   (string-append %cloud-dir "/cloud.cfg"))
 
+(define %cloud-run
+  (mixed-text-file "run.sh"
+                   "#!"
+                   (file-append bash "/bin/bash")
+                   "\n\nset -euo pipefail\n\n"
+                   (file-append python-cloud-init "/bin/cloud-init")
+                   " init --local\n"
+                   (file-append python-cloud-init "/bin/cloud-init")
+                   " init\n"
+                   (file-append python-cloud-init "/bin/cloud-init")
+                   " modules --mode config\n"
+                   (file-append python-cloud-init "/bin/cloud-init")
+                   " modules --mode final\n"))
+
 (define %cloud-cfg-d
   (string-append %cloud-dir "/cloud.cfg.d"))
 
 
       (mkdir-p #$%cloud-cfg-d)
 
+      (copy-file #$%cloud-run
+                 (string-append #$%cloud-dir "/run.sh"))
+      (chmod (string-append #$%cloud-dir "/run.sh") #o755)
+
       (unless (null? '(#$@extra))
         (for-each (lambda (file)
                     (symlink (cadr file)
   (define cloud-init
     (cloud-init-configuration-cloud-init config))
 
-  (define cloud-init-command
-    #~(list (string-append #$(cloud-init-configuration-cloud-init config)
-                           "/bin/cloud-init") "--all-stages"))
-
   (list (shepherd-service (documentation "cloud-init service")
                           (provision '(cloud-init))
                           (requirement '(networking))
                           (one-shot? #t)
-                          (start #~(fork+exec-command #$cloud-init-command
+                          (start #~(fork+exec-command (list (string-append #$%cloud-dir
+                                                             "/run.sh"))
                                                       #:log-file (string-append
                                                                   "/var/log/cloud-init.log")
                                                       #:environment-variables '