From nobody Thu Sep 28 22:18:54 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RxSYq2yLGz4vggp; Thu, 28 Sep 2023 22:18:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RxSYp6XYZz3N0x; Thu, 28 Sep 2023 22:18:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695939534; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tZkdCXcA1hbQ3rMruF3Gd/mnTz1ZdN1xYM3qK8zA3s0=; b=aj5wCyJzw6kuXwQBi6TBoDsNHNJl4bAqPpOTF89WjWCNfYXMbRWBWU1s9UNjGIzo2hxf7t aIIC7lKoR7794ZueAjRAfeMxSf1sHkFIyWb5rXxD7WDawajSJTKOONBT2SN+hoD3yFX/li ic5utSE1n887OnIm6a4cLUR/rD1BcZ+29WEFmM3Z7uqnTLpEjwkBm6bhKAxaQ8EzfftWqk EVkQ5LsIORLsk8RxpNLdDoT5X/CRXutTYv+MfR5ubv0itVml67n8UGwhv3kXsDNAbeuw+d pIr+dydS0vZXIvisfTu51YIdNU0lkouOmR2rG49s/MxFvyZtm46HAObrl8vyXA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695939534; a=rsa-sha256; cv=none; b=u0e35fmWztT6HW0ySPDILn3cFUw922sZJU0gYEfepQnR8MSS9kg0xBwYMn7vQX2aBzkBOb fDeJprbyVPp39AkK76CRQpoPodrZRNvbF0an5mec17y9Mtgs8qozmjAgCiyjxxgtV51AfR tkq3FVMr6D3eo6OZaKZsnuM06vwsGBMlzgt22AOUxRZtC3TFjdz6b9xF9IGqhf4YEFN8Uk RgVCKIxEyQL4rPInjoGvxrDaLtgaH1mvsdqLob4G+v8UL+dq4g3IPB7/A/cak0vqFhjX67 xNuclgvErd/xsGIUzYELlt/NFEv7+XizDCOCSOIOmBjjsQNUEDTI2RoC1kowCQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695939534; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tZkdCXcA1hbQ3rMruF3Gd/mnTz1ZdN1xYM3qK8zA3s0=; b=UDlgZn3CnhfBILMkAUoxGOkUEDtmQId2TnC1GDaaq3r6GX1GpeFEKkixUD/IpL4h3gnCt/ hUN87TJfPH+Zy3Ho0hzcsxQXuH8Kx/Y/Sk7ITFDOA/LaTcf8PMhxr4HFje1Ydo3qQY847S b5TrGu0ld3OI0+W09D/aSHY24a9Jr+FHEI4muOFp/rmn2R2ROe4ApgzyS4Gf0oUiTaS8cq Qkvb1OOq9O+uyB3HSJH+KZeUwiJVkYq25MlIxXZq0yP6xC99QMD+6UciofA88V/2oumEPB Y0OW43a1UULb0MLZLThyT/kL39pTMtO2luDpHxo6cRuSac6XerQHfgbSzecF3Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RxSYp5dfxzfDn; Thu, 28 Sep 2023 22:18:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 38SMIsJD056940; Thu, 28 Sep 2023 22:18:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38SMIsEO056937; Thu, 28 Sep 2023 22:18:54 GMT (envelope-from git) Date: Thu, 28 Sep 2023 22:18:54 GMT Message-Id: <202309282218.38SMIsEO056937@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: 1f4ce7a39f0f - main - EC2: Add experimental cloud-init images List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1f4ce7a39f0f4b0621ff55d228014ccddb366d37 Auto-Submitted: auto-generated The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=1f4ce7a39f0f4b0621ff55d228014ccddb366d37 commit 1f4ce7a39f0f4b0621ff55d228014ccddb366d37 Author: Colin Percival AuthorDate: 2023-09-09 00:55:16 +0000 Commit: Colin Percival CommitDate: 2023-09-28 22:18:46 +0000 EC2: Add experimental cloud-init images Known issues: 1. The ec2-user user is created with a homedir of /usr/home/ec2-user instead of /home/ec2-user; this appears to be a bug in cloud-init's FreeBSD support. 2. Cloud-init configures IPv4 networking but not IPv6 networking. releng/14.0 candidate. Discussed with: gjb Reviewed by: imp MFC after: 5 days Relnotes: yes Sponsored by: https://www.patreon.com/cperciva Differential Revision: https://reviews.freebsd.org/D41793 --- release/Makefile.vm | 5 +++-- release/tools/ec2-cloud-init.conf | 31 +++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/release/Makefile.vm b/release/Makefile.vm index 679ac74f438c..1a58a548b9f4 100644 --- a/release/Makefile.vm +++ b/release/Makefile.vm @@ -30,8 +30,9 @@ BASIC-CI_FSLIST= ufs BASIC-CI_DESC= Image for CI EC2_FORMAT= raw EC2_FSLIST= ufs zfs -EC2_DESC= Amazon EC2 image -EC2_FLAVOURS= BASE +EC2_FLAVOURS= BASE CLOUD-INIT +EC2-BASE_DESC= Amazon EC2 image +EC2-CLOUD-INIT_DESC= Amazon EC2 Cloud-Init image GCE_FORMAT= raw GCE_FSLIST= ufs zfs GCE_DESC= Google Compute Engine image diff --git a/release/tools/ec2-cloud-init.conf b/release/tools/ec2-cloud-init.conf new file mode 100644 index 000000000000..2dd4df390fa3 --- /dev/null +++ b/release/tools/ec2-cloud-init.conf @@ -0,0 +1,31 @@ +#!/bin/sh + +. ${WORLDDIR}/release/tools/ec2.conf + +# Packages to install into the image we're creating. In addition to packages +# present on all EC2 AMIs, we install cloud-init. +export VM_EXTRA_PACKAGES="${VM_EXTRA_PACKAGES} net/cloud-init" + +# Services to enable in rc.conf(5). +export VM_RC_LIST="${VM_RC_LIST} cloudinit sshd" + +vm_extra_pre_umount() { + # Configuration common to all EC2 AMIs + ec2_common + + # Configure cloud-init + cat <<-'EOF' > ${DESTDIR}/usr/local/etc/cloud/cloud.cfg.d/98_ec2.cfg + disable_root: true + system_info: + distro: freebsd + default_user: + name: ec2-user + lock_passwd: True + groups: [wheel] + shell: /bin/sh + # Currently broken, cloud-init hard-codes to /usr/home/* + homedir: /home/ec2-user + EOF + + return 0 +}