diff options
-rw-r--r-- | testing/cloud-init/10-setup.patch | 12 | ||||
-rw-r--r-- | testing/cloud-init/20-alpine.patch | 223 | ||||
-rw-r--r-- | testing/cloud-init/APKBUILD | 102 | ||||
-rw-r--r-- | testing/cloud-init/add_distro-alpine.patch | 10 | ||||
-rw-r--r-- | testing/cloud-init/alpine.py | 205 | ||||
-rw-r--r-- | testing/cloud-init/cloud-config.initd | 13 | ||||
-rw-r--r-- | testing/cloud-init/cloud-final.initd | 11 | ||||
-rw-r--r-- | testing/cloud-init/cloud-init-local.initd | 13 | ||||
-rw-r--r-- | testing/cloud-init/cloud-init.initd | 14 | ||||
-rw-r--r-- | testing/cloud-init/cloud-init.post-install | 4 | ||||
-rw-r--r-- | testing/cloud-init/cloud-init.pre-install | 4 | ||||
-rw-r--r-- | testing/cloud-init/cloud.cfg | 5 |
12 files changed, 259 insertions, 357 deletions
diff --git a/testing/cloud-init/10-setup.patch b/testing/cloud-init/10-setup.patch deleted file mode 100644 index 6ee9a7cd01..0000000000 --- a/testing/cloud-init/10-setup.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- cloud-init-0.7.6/setup.py.orig -+++ cloud-init-0.7.6/setup.py -@@ -160,9 +160,4 @@ - [f for f in glob('doc/examples/seed/*') if is_f(f)]), - ], - install_requires=read_requires(), -- cmdclass={ -- # Use a subclass for install that handles -- # adding on the right init system configuration files -- 'install': InitsysInstallData, -- }, - ) diff --git a/testing/cloud-init/20-alpine.patch b/testing/cloud-init/20-alpine.patch deleted file mode 100644 index cb15934b73..0000000000 --- a/testing/cloud-init/20-alpine.patch +++ /dev/null @@ -1,223 +0,0 @@ -=== modified file 'cloudinit/distros/__init__.py' ---- a/cloudinit/distros/__init__.py 2014-09-10 18:32:37 +0000 -+++ b/cloudinit/distros/__init__.py 2016-03-01 10:16:18 +0000 -@@ -43,6 +43,7 @@ - 'freebsd': ['freebsd'], - 'suse': ['sles'], - 'arch': ['arch'], -+ 'alpine': ['alpine'], - } - - LOG = logging.getLogger(__name__) - -=== added file 'cloudinit/distros/alpine.py' ---- a/cloudinit/distros/alpine.py 1970-01-01 00:00:00 +0000 -+++ b/cloudinit/distros/alpine.py 2016-03-01 10:21:41 +0000 -@@ -0,0 +1,207 @@ -+# vi: ts=4 expandtab -+# -+# Copyright (C) 2016 Matt Dainty -+# -+# Author: Matt Dainty <matt@bodgit-n-scarper.com> -+# -+# This program is free software: you can redistribute it and/or modify -+# it under the terms of the GNU General Public License version 3, as -+# published by the Free Software Foundation. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program. If not, see <http://www.gnu.org/licenses/>. -+ -+from cloudinit import distros -+from cloudinit import helpers -+from cloudinit import log as logging -+from cloudinit import util -+ -+from cloudinit.distros.parsers.hostname import HostnameConf -+ -+from cloudinit.settings import PER_INSTANCE -+ -+LOG = logging.getLogger(__name__) -+ -+ -+class Distro(distros.Distro): -+ network_conf_fn = "/etc/network/interfaces" -+ init_cmd = ['rc-service'] # init scripts -+ -+ def __init__(self, name, cfg, paths): -+ distros.Distro.__init__(self, name, cfg, paths) -+ # This will be used to restrict certain -+ # calls from repeatly happening (when they -+ # should only happen say once per instance...) -+ self._runner = helpers.Runners(paths) -+ self.osfamily = 'alpine' -+ cfg['ssh_svcname'] = 'sshd' -+ -+ def apply_locale(self, locale, out_fn=None): -+ # No locale support yet -+ pass -+ -+ def install_packages(self, pkglist): -+ self.update_package_sources() -+ self.package_command('add', pkgs=pkglist) -+ -+ def _write_network(self, settings): -+ util.write_file(self.network_conf_fn, settings) -+ return ['all'] -+ -+ def _bring_up_interfaces(self, device_names): -+ use_all = False -+ for d in device_names: -+ if d == 'all': -+ use_all = True -+ if use_all: -+ return distros.Distro._bring_up_interface(self, '--all') -+ else: -+ return distros.Distro._bring_up_interfaces(self, device_names) -+ -+ def _select_hostname(self, hostname, fqdn): -+ # Prefer the short hostname over the long -+ # fully qualified domain name -+ if not hostname: -+ return fqdn -+ return hostname -+ -+ def _write_hostname(self, your_hostname, out_fn): -+ conf = None -+ try: -+ # Try to update the previous one -+ # so lets see if we can read it first. -+ conf = self._read_hostname_conf(out_fn) -+ except IOError: -+ pass -+ if not conf: -+ conf = HostnameConf('') -+ conf.set_hostname(your_hostname) -+ util.write_file(out_fn, str(conf), 0644) -+ -+ def _read_system_hostname(self): -+ sys_hostname = self._read_hostname(self.hostname_conf_fn) -+ return (self.hostname_conf_fn, sys_hostname) -+ -+ def _read_hostname_conf(self, filename): -+ conf = HostnameConf(util.load_file(filename)) -+ conf.parse() -+ return conf -+ -+ def _read_hostname(self, filename, default=None): -+ hostname = None -+ try: -+ conf = self._read_hostname_conf(filename) -+ hostname = conf.hostname -+ except IOError: -+ pass -+ if not hostname: -+ return default -+ return hostname -+ -+ def set_timezone(self, tz): -+ distros.set_etc_timezone(tz=tz, tz_file=self._find_tz_file(tz)) -+ -+ def package_command(self, command, args=None, pkgs=None): -+ if pkgs is None: -+ pkgs = [] -+ -+ cmd = ['apk'] -+ # Redirect output -+ cmd.append("--quiet") -+ -+ if args and isinstance(args, str): -+ cmd.append(args) -+ elif args and isinstance(args, list): -+ cmd.extend(args) -+ -+ if command: -+ cmd.append(command) -+ -+ pkglist = util.expand_package_list('%s-%s', pkgs) -+ cmd.extend(pkglist) -+ -+ # Allow the output of this to flow outwards (ie not be captured) -+ util.subp(cmd, capture=False) -+ -+ def update_package_sources(self): -+ self._runner.run("update-sources", self.package_command, -+ ["update"], freq=PER_INSTANCE) -+ -+ def add_user(self, name, **kwargs): -+ if util.is_user(name): -+ LOG.info("User %s already exists, skipping." % name) -+ return -+ -+ adduser_cmd = ['adduser', name, '-D'] -+ log_adduser_cmd = ['adduser', name, '-D'] -+ -+ # Since we are creating users, we want to carefully validate the -+ # inputs. If something goes wrong, we can end up with a system -+ # that nobody can login to. -+ adduser_opts = { -+ "gecos": '-g', -+ "homedir": '-h', -+ "uid": '-u', -+ "shell": '-s', -+ } -+ -+ adduser_flags = { -+ "system": '-S', -+ } -+ -+ redact_opts = ['passwd'] -+ -+ # Check the values and create the command -+ for key, val in kwargs.items(): -+ -+ if key in adduser_opts and val and isinstance(val, str): -+ adduser_cmd.extend([adduser_opts[key], val]) -+ -+ # Redact certain fields from the logs -+ if key in redact_opts: -+ log_adduser_cmd.extend([adduser_opts[key], 'REDACTED']) -+ else: -+ log_adduser_cmd.extend([adduser_opts[key], val]) -+ -+ elif key in adduser_flags and val: -+ adduser_cmd.append(adduser_flags[key]) -+ log_adduser_cmd.append(adduser_flags[key]) -+ -+ # Don't create the home directory if directed so or if the user is a -+ # system user -+ if 'no_create_home' in kwargs or 'system' in kwargs: -+ adduser_cmd.append('-H') -+ log_adduser_cmd.append('-H') -+ -+ # Run the command -+ LOG.debug("Adding user %s", name) -+ try: -+ util.subp(adduser_cmd, logstring=log_adduser_cmd) -+ except Exception as e: -+ util.logexc(LOG, "Failed to create user %s", name) -+ raise e -+ -+ # Unlock the user -+ LOG.debug("Unlocking user %s", name) -+ try: -+ util.subp(['passwd', '-u', name], logstring=['passwd', '-u', name]) -+ except Exception as e: -+ util.logexc(LOG, "Failed to unlock user %s", name) -+ raise e -+ -+ if 'groups' in kwargs: -+ groups = kwargs['groups'] -+ if groups and isinstance(groups, str): -+ # Why are these even a single string in the first place? -+ groups = groups.split(',') -+ for group in groups: -+ try: -+ util.subp(['adduser', name, group], logstring=['adduser', name, group]) -+ except Exception as e: -+ util.logexc(LOG, "Failed to add user %s to group %s", name, group) -+ raise e diff --git a/testing/cloud-init/APKBUILD b/testing/cloud-init/APKBUILD index a86ffb6889..1628885a4d 100644 --- a/testing/cloud-init/APKBUILD +++ b/testing/cloud-init/APKBUILD @@ -1,52 +1,44 @@ # Contributor: Matt Dainty <matt+alpine@bodgit-n-scarper.com> -# Maintainer: +# Maintainer: pkgname=cloud-init -pkgver=0.7.6 -pkgrel=2 +pkgver=18.3 +pkgrel=0 pkgdesc="Cloud instance init scripts" -url="http://launchpad.net/cloud-init" +url="https://cloud-init.io" arch="noarch" -depends="e2fsprogs-extra python2 py-cheetah py-configobj py-jinja2 py-jsonpatch py-oauth2 py-prettytable py-requests py-serial py-yaml" -makedepends="py-setuptools" -install="$pkgname.pre-install $pkgname.post-install" -subpackages="$pkgname-doc" -source=" - https://launchpad.net/$pkgname/trunk/$pkgver/+download/$pkgname-$pkgver.tar.gz license="Apache-2.0 GPL-3.0-only" - 10-setup.patch - 20-alpine.patch - cloud-init-local.initd - cloud-init.initd - cloud-config.initd - cloud-final.initd +depends="e2fsprogs-extra python3 py3-configobj py3-jinja2 py3-jsonpatch py3-jsonschema + py3-oauthlib py3-requests py3-serial py3-six py3-yaml" +makedepends="py3-setuptools" +subpackages="$pkgname-doc $pkgname-bash-completion:bashcomp:noarch $pkgname-openrc" +source="https://launchpad.net/cloud-init/trunk/18.3/+download/$pkgname-$pkgver.tar.gz + add_distro-alpine.patch cloud.cfg hosts.alpine.tmpl + alpine.py " - -_builddir="$srcdir"/$pkgname-$pkgver +builddir="$srcdir"/$pkgname-$pkgver prepare() { - local i - cd "$_builddir" - for i in $source; do - case $i in - *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; - esac - done + cd "$builddir" + default_prepare + + install -m644 "$srcdir"/alpine.py \ + "$builddir"/cloudinit/distros/ } build() { - cd "$_builddir" - python2 setup.py build || return 1 + cd "$builddir" + python3 setup.py build } -package() { - cd "$_builddir" - python2 setup.py install --prefix=/usr --root="$pkgdir" || return 1 +check() { + cd "$builddir" + python3 setup.py check +} - for i in init-local init config final; do - install -m755 -D "$srcdir"/cloud-$i.initd \ - "$pkgdir"/etc/init.d/cloud-$i || return 1 - done +package() { + cd "$builddir" + python3 setup.py install --prefix=/usr --root="$pkgdir" --init-system=sysvinit_openrc install -m644 "$srcdir"/cloud.cfg \ "$pkgdir"/etc/cloud/ @@ -55,30 +47,18 @@ package() { "$pkgdir"/etc/cloud/templates/ } -md5sums="cd392e943dd0165e90a6d56afd0e4ad3 cloud-init-0.7.6.tar.gz -90a78c24b1a2ed537d5e7c28c48780d5 10-setup.patch -214a3c1a58bd6649bed43998ca50e023 20-alpine.patch -80892c13e65a5040f32b4d86e848b6bb cloud-init-local.initd -0041569a737713ea01a154d98007c2e5 cloud-init.initd -3ff3ae1e27950abf3064da60c23669ba cloud-config.initd -0824fad27c2bf1b966e8820f51d2fde0 cloud-final.initd -ea4ccef56c030b694ad799fb03e3e462 cloud.cfg -3e700738d75419687128a93cbdc35857 hosts.alpine.tmpl" -sha256sums="9e8fd22eb7f6e40ae6a5f66173ddc3cc18f65ee406c460a728092b37db2f3ed7 cloud-init-0.7.6.tar.gz -a26154be7b331859660c620ad56f59910b1a832fff3a1d0597a1d8204e1b7846 10-setup.patch -73dc3a201c4e208c28e5119c3cd5ff276bfec6f6b87746113876558acf240609 20-alpine.patch -0fc8f79a4675e57b9475ac8fbe92898b17284f6ad903ec1ea9a795783e70ed33 cloud-init-local.initd -ce227ff37516fc08702996903762704dd255a16d391ed2853fe5d5b88d28231d cloud-init.initd -3581bf4d4a0b7011edef76c40237517c3fb350c477ffaead1abcdcf4bb8bbe24 cloud-config.initd -1e5fe801a9981a721e4cb6ebc1f7fd9df2dec1683dae9ab6fd15f8e8338fb7d3 cloud-final.initd -4f688c5d3780f7b9883694323b0222b92b14d4edbe25d08aa2ca9da3b42e65c9 cloud.cfg -43bcfcd5ff1117a9b54be22f5e50f04aa78fe6574271be7c01d472921d3f04c3 hosts.alpine.tmpl" -sha512sums="aa2397328afda8e77ed6d642e7642f41a4b4b5bcd3d0e87056aa8c88b56624ec65c57cfc66b0d13ccc235f1840baf1d577316974902a0439cf2f2eb0f8eef36d cloud-init-0.7.6.tar.gz -502de73eb899d751f025d7d268d3a4eb086177a86da5d6e223b7243ecdb30b93bd3ecb974cfa1f900d2adc8ce2bbc8cd1be23a10115e709b1f2cc22b704d575d 10-setup.patch -c0ef63ff95f6d8d12ea3f55758fd6ba1dbd7ef2100577135b1f54bb3c239ac37aabba5644742bbf865ba379256efe08847731e8379cff27613b29ac07edd131b 20-alpine.patch -f3131d9fb8b59fb44be1bb9293cfc1809c370efd4c4d215f5a3b337305bf4982d98d4905bcf077b32edfb4d0b605a4db5704779ac667c3546a9cbdd54a95e28e cloud-init-local.initd -dccdbbe2e8ff7cdf28da2f6ddbbcda3f3c29c99d8b89476d03cb2e46e158614f7a5deea2284d807938e9d12600f642747cd020bd88412d6f3906195d78aa9f5e cloud-init.initd -644b583eb96ec93bfe71fea27408f29ef432b7535d70dc3eb4b2a99b5131c30310971e4502d100047f0909ce00f58ef42fd9be907a99388dc9f7b98ba3f27ebf cloud-config.initd -22970d575b5576689b638badfc1248b4710edb33421470b42d0d838a99806b01cefd9346033dc22a062c9eb6c52625966d73722386da9ad632f65fdcd2f10d93 cloud-final.initd -1b83382a0f1aa8044eed5b7390b81897c9f6a3601577396cc803f15b1840419eda3cef37b15d2dee226d9a27434b0a899466ed6860cccdfb244b60edd9bed281 cloud.cfg -813a67d446ee65f5ef5a45fe60bef4d0e404c5d1f9cb732bc0ec0b706a0274f4bc1e7f87e676da1ca9366c2f933163f620ee296ed783372869438dd8a928117b hosts.alpine.tmpl" +bashcomp() { + depends="bash" + pkgdesc="Bash completions for $pkgname" + install_if="$pkgname=$pkgver-r$pkgrel bash-completion" + + cd "$builddir" + mkdir -p "$subpkgdir"/usr/share/bash-completion/completions + cp bash_completion/$pkgname "$subpkgdir"/usr/share/bash-completion/completions/$pkgname +} + +sha512sums="e066c48f74ed21d4bd673dbeb17fabbacc107369c5c10e656b166257313f50cf9ab6af5ec69f2e8cc2abf22261c4fa86ca88e41c98c66985439f9af144d7c8cc cloud-init-18.3.tar.gz +4ab37323e7662445af90ce2654199fe3080e256571e8e12b121ebde791b98e68d368b10c5f22b7e8840c0ba9593dd0a6e37ec60724cd0ae4c806944a826741e3 add_distro-alpine.patch +7dd8c3a2050af5536154e77cc3913d34b7d85d02130ea9b9f5b54710f96cd22cb4c255af34f3c710a1319f9bd0f667441482695e9bad927026f952d0cf39de41 cloud.cfg +813a67d446ee65f5ef5a45fe60bef4d0e404c5d1f9cb732bc0ec0b706a0274f4bc1e7f87e676da1ca9366c2f933163f620ee296ed783372869438dd8a928117b hosts.alpine.tmpl +301e99d25cbe3607f6187ef477e15c8ffc356456117fcd662528194d880a989ba79622208eb84c27decf19060c3810c9ff11441d041c2061feced823e453acaf alpine.py" diff --git a/testing/cloud-init/add_distro-alpine.patch b/testing/cloud-init/add_distro-alpine.patch new file mode 100644 index 0000000000..ed27e1daa3 --- /dev/null +++ b/testing/cloud-init/add_distro-alpine.patch @@ -0,0 +1,10 @@ +--- a/cloudinit/distros/__init__.py ++++ b/cloudinit/distros/__init__.py +@@ -41,6 +41,7 @@ + 'freebsd': ['freebsd'], + 'suse': ['opensuse', 'sles'], + 'arch': ['arch'], ++ 'alpine': ['alpine'], + } + + LOG = logging.getLogger(__name__) diff --git a/testing/cloud-init/alpine.py b/testing/cloud-init/alpine.py new file mode 100644 index 0000000000..31b9e1840b --- /dev/null +++ b/testing/cloud-init/alpine.py @@ -0,0 +1,205 @@ +# Copyright (C) 2016 Matt Dainty +# +# Author: Matt Dainty <matt@bodgit-n-scarper.com> +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 3, as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +from cloudinit import distros +from cloudinit import helpers +from cloudinit import log as logging +from cloudinit import util + +from cloudinit.distros.parsers.hostname import HostnameConf + +from cloudinit.settings import PER_INSTANCE + +LOG = logging.getLogger(__name__) + + +class Distro(distros.Distro): + network_conf_fn = "/etc/network/interfaces" + init_cmd = ['rc-service'] # init scripts + + def __init__(self, name, cfg, paths): + distros.Distro.__init__(self, name, cfg, paths) + # This will be used to restrict certain + # calls from repeatly happening (when they + # should only happen say once per instance...) + self._runner = helpers.Runners(paths) + self.osfamily = 'alpine' + cfg['ssh_svcname'] = 'sshd' + + def apply_locale(self, locale, out_fn=None): + # No locale support yet + pass + + def install_packages(self, pkglist): + self.update_package_sources() + self.package_command('add', pkgs=pkglist) + + def _write_network(self, settings): + util.write_file(self.network_conf_fn, settings) + return ['all'] + + def _bring_up_interfaces(self, device_names): + use_all = False + for d in device_names: + if d == 'all': + use_all = True + if use_all: + return distros.Distro._bring_up_interface(self, '--all') + else: + return distros.Distro._bring_up_interfaces(self, device_names) + + def _select_hostname(self, hostname, fqdn): + # Prefer the short hostname over the long + # fully qualified domain name + if not hostname: + return fqdn + return hostname + + def _write_hostname(self, your_hostname, out_fn): + conf = None + try: + # Try to update the previous one + # so lets see if we can read it first. + conf = self._read_hostname_conf(out_fn) + except IOError: + pass + if not conf: + conf = HostnameConf('') + conf.set_hostname(your_hostname) + util.write_file(out_fn, str(conf), 0o644) + + def _read_system_hostname(self): + sys_hostname = self._read_hostname(self.hostname_conf_fn) + return (self.hostname_conf_fn, sys_hostname) + + def _read_hostname_conf(self, filename): + conf = HostnameConf(util.load_file(filename)) + conf.parse() + return conf + + def _read_hostname(self, filename, default=None): + hostname = None + try: + conf = self._read_hostname_conf(filename) + hostname = conf.hostname + except IOError: + pass + if not hostname: + return default + return hostname + + def set_timezone(self, tz): + distros.set_etc_timezone(tz=tz, tz_file=self._find_tz_file(tz)) + + def package_command(self, command, args=None, pkgs=None): + if pkgs is None: + pkgs = [] + + cmd = ['apk'] + # Redirect output + cmd.append("--quiet") + + if args and isinstance(args, str): + cmd.append(args) + elif args and isinstance(args, list): + cmd.extend(args) + + if command: + cmd.append(command) + + pkglist = util.expand_package_list('%s-%s', pkgs) + cmd.extend(pkglist) + + # Allow the output of this to flow outwards (ie not be captured) + util.subp(cmd, capture=False) + + def update_package_sources(self): + self._runner.run("update-sources", self.package_command, + ["update"], freq=PER_INSTANCE) + + def add_user(self, name, **kwargs): + if util.is_user(name): + LOG.info("User %s already exists, skipping." % name) + return + + adduser_cmd = ['adduser', name, '-D'] + log_adduser_cmd = ['adduser', name, '-D'] + + # Since we are creating users, we want to carefully validate the + # inputs. If something goes wrong, we can end up with a system + # that nobody can login to. + adduser_opts = { + "gecos": '-g', + "homedir": '-h', + "uid": '-u', + "shell": '-s', + } + + adduser_flags = { + "system": '-S', + } + + redact_opts = ['passwd'] + + # Check the values and create the command + for key, val in kwargs.items(): + + if key in adduser_opts and val and isinstance(val, str): + adduser_cmd.extend([adduser_opts[key], val]) + + # Redact certain fields from the logs + if key in redact_opts: + log_adduser_cmd.extend([adduser_opts[key], 'REDACTED']) + else: + log_adduser_cmd.extend([adduser_opts[key], val]) + + elif key in adduser_flags and val: + adduser_cmd.append(adduser_flags[key]) + log_adduser_cmd.append(adduser_flags[key]) + + # Don't create the home directory if directed so or if the user is a + # system user + if 'no_create_home' in kwargs or 'system' in kwargs: + adduser_cmd.append('-H') + log_adduser_cmd.append('-H') + + # Run the command + LOG.debug("Adding user %s", name) + try: + util.subp(adduser_cmd, logstring=log_adduser_cmd) + except Exception as e: + util.logexc(LOG, "Failed to create user %s", name) + raise e + + # Unlock the user + LOG.debug("Unlocking user %s", name) + try: + util.subp(['passwd', '-u', name], logstring=['passwd', '-u', name]) + except Exception as e: + util.logexc(LOG, "Failed to unlock user %s", name) + raise e + + if 'groups' in kwargs: + groups = kwargs['groups'] + if groups and isinstance(groups, str): + # Why are these even a single string in the first place? + groups = groups.split(',') + for group in groups: + try: + util.subp(['adduser', name, group], logstring=['adduser', name, group]) + except Exception as e: + util.logexc(LOG, "Failed to add user %s to group %s", name, group) + raise e diff --git a/testing/cloud-init/cloud-config.initd b/testing/cloud-init/cloud-config.initd deleted file mode 100644 index b0fa786d40..0000000000 --- a/testing/cloud-init/cloud-config.initd +++ /dev/null @@ -1,13 +0,0 @@ -#!/sbin/runscript - -depend() { - after cloud-init-local - after cloud-init - before cloud-final - provide cloud-config -} - -start() { - cloud-init modules --mode config - eend 0 -} diff --git a/testing/cloud-init/cloud-final.initd b/testing/cloud-init/cloud-final.initd deleted file mode 100644 index b457a35488..0000000000 --- a/testing/cloud-init/cloud-final.initd +++ /dev/null @@ -1,11 +0,0 @@ -#!/sbin/runscript - -depend() { - after cloud-config - provide cloud-final -} - -start() { - cloud-init modules --mode final - eend 0 -} diff --git a/testing/cloud-init/cloud-init-local.initd b/testing/cloud-init/cloud-init-local.initd deleted file mode 100644 index 9d47263e22..0000000000 --- a/testing/cloud-init/cloud-init-local.initd +++ /dev/null @@ -1,13 +0,0 @@ -#!/sbin/runscript - -depend() { - after localmount - after netmount - before cloud-init - provide cloud-init-local -} - -start() { - cloud-init init --local - eend 0 -} diff --git a/testing/cloud-init/cloud-init.initd b/testing/cloud-init/cloud-init.initd deleted file mode 100644 index c901449a9f..0000000000 --- a/testing/cloud-init/cloud-init.initd +++ /dev/null @@ -1,14 +0,0 @@ -#!/sbin/runscript - -depend() { - need net - after firewall - after cloud-init-local - before cloud-config - provide cloud-init -} - -start() { - cloud-init init - eend 0 -} diff --git a/testing/cloud-init/cloud-init.post-install b/testing/cloud-init/cloud-init.post-install deleted file mode 100644 index 0586fcd5c5..0000000000 --- a/testing/cloud-init/cloud-init.post-install +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -# add something which happends after install - diff --git a/testing/cloud-init/cloud-init.pre-install b/testing/cloud-init/cloud-init.pre-install deleted file mode 100644 index 46079e0c04..0000000000 --- a/testing/cloud-init/cloud-init.pre-install +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -# add something which happends before install - diff --git a/testing/cloud-init/cloud.cfg b/testing/cloud-init/cloud.cfg index a526cdb5e2..26f1362448 100644 --- a/testing/cloud-init/cloud.cfg +++ b/testing/cloud-init/cloud.cfg @@ -18,6 +18,7 @@ ssh_pwauth: false syslog_fix_perms: root:root ssh_deletekeys: false +ssh_genkeytypes: [rsa, dsa] cloud_init_modules: - seed_random @@ -65,10 +66,10 @@ system_info: # Default user name + that default users groups (if added/used) default_user: name: alpine + lock_passwd: false gecos: Alpine sudo: ["ALL=(ALL) NOPASSWD:ALL"] - shell: /bin/bash - lock_passwd: false + shell: /bin/ash # Other config here will be given to the distro class and/or path classes paths: cloud_dir: /var/lib/cloud/ |