mirror of
https://github.com/kevingruesser/bootstrap-vz.git
synced 2025-08-24 07:26:29 +00:00
50 lines
1.5 KiB
Python
50 lines
1.5 KiB
Python
![]() |
from bootstrapvz.base import Task
|
||
|
from bootstrapvz.common import phases
|
||
|
from bootstrapvz.common.tasks import apt
|
||
|
from bootstrapvz.common.tasks import packages
|
||
|
from bootstrapvz.common.tools import log_check_call
|
||
|
import os
|
||
|
|
||
|
|
||
|
class AddGoogleCloudRepoKey(Task):
|
||
|
description = 'Adding Google Cloud Repo key.'
|
||
|
phase = phases.package_installation
|
||
|
predecessors = [apt.InstallTrustedKeys]
|
||
|
successors = [apt.WriteSources]
|
||
|
|
||
|
@classmethod
|
||
|
def run(cls, info):
|
||
|
key_file = os.path.join(info.root, 'google.gpg.key')
|
||
|
log_check_call(['wget', 'https://packages.cloud.google.com/apt/doc/apt-key.gpg', '-O', key_file])
|
||
|
log_check_call(['chroot', info.root, 'apt-key', 'add', 'google.gpg.key'])
|
||
|
os.remove(key_file)
|
||
|
|
||
|
|
||
|
class AddGoogleCloudRepoKeyringRepo(Task):
|
||
|
description = 'Adding Google Cloud keyring repository.'
|
||
|
phase = phases.preparation
|
||
|
predecessors = [apt.AddManifestSources]
|
||
|
|
||
|
@classmethod
|
||
|
def run(cls, info):
|
||
|
info.source_lists.add('google-cloud', 'deb http://packages.cloud.google.com/apt google-cloud-packages-archive-keyring-{system.release} main')
|
||
|
|
||
|
|
||
|
class InstallGoogleCloudRepoKeyringPackage(Task):
|
||
|
description = 'Installing Google Cloud key package.'
|
||
|
phase = phases.preparation
|
||
|
successors = [packages.AddManifestPackages]
|
||
|
|
||
|
@classmethod
|
||
|
def run(cls, info):
|
||
|
info.packages.add('google-cloud-packages-archive-keyring')
|
||
|
|
||
|
|
||
|
class CleanupBootstrapRepoKey(Task):
|
||
|
description = 'Cleaning up bootstrap repo key.'
|
||
|
phase = phases.system_cleaning
|
||
|
|
||
|
@classmethod
|
||
|
def run(cls, info):
|
||
|
os.remove(os.path.join(info.root, 'etc', 'apt', 'trusted.gpg'))
|