Skip to content

Commit

Permalink
Adds pre/post boot and node roles (#2474) (#2509)
Browse files Browse the repository at this point in the history
As per kubernetes-sigs/image-builder#894 issue
upstream project opened to use custom Ansible roles pre/post boot of the
node and also pre/post node provisioning.

This opens doors to customize image built for custom requirements, for
example if deployment needs to happen in offline environment that has no
access to the internet and would require to update system with required
changes to look for packages on internal proxies instead.

Also allows to provide extra updates to the system before Kubernetes is
installed along with extra tweaks after.

Co-authored-by: Vasyl Purchel <[email protected]>
  • Loading branch information
jaxesn and vasyl-purchel authored Sep 21, 2023
1 parent e32b489 commit 40fce64
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions projects/aws/image-builder/builder/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -70,20 +70,23 @@ type VsphereConfig struct {
IsoConfig
RhelConfig
ExtraPackagesConfig
ExtraOverridesConfig
}

type BaremetalConfig struct {
AdditionalFiles []File `json:"files"`
IsoConfig
RhelConfig
ExtraPackagesConfig
ExtraOverridesConfig
}

type CloudstackConfig struct {
AnsibleUserVars string `json:"ansible_user_vars"`
IsoConfig
RhelConfig
ExtraPackagesConfig
ExtraOverridesConfig
}

type IsoConfig struct {
Expand All @@ -108,6 +111,7 @@ type NutanixConfig struct {
NutanixPassword string `json:"nutanix_password"`
NutanixSubnetName string `json:"nutanix_subnet_name"`
ExtraPackagesConfig
ExtraOverridesConfig
}

type AMIConfig struct {
Expand All @@ -123,10 +127,20 @@ type AMIConfig struct {
VolumeType string `json:"volume_type"`

ExtraPackagesConfig
ExtraOverridesConfig
}

type ExtraPackagesConfig struct {
ExtraDebs string `json:"extra_debs,omitempty"`
ExtraRepos string `json:"extra_repos,omitempty"`
ExtraRpms string `json:"extra_rpms,omitempty"`
}

type ExtraOverridesConfig struct {
FirstbootCustomRolesPre string `json:"firstboot_custom_roles_pre,omitempty"`
FirstbootCustomRolesPost string `json:"firstboot_custom_roles_post,omitempty"`
NodeCustomRolesPre string `json:"node_custom_roles_pre,omitempty"`
NodeCustomRolesPost string `json:"node_custom_roles_post,omitempty"`
DisablePublicRepos string `json:"disable_public_repos,omitempty"`
ReenablePublicRepos string `json:"reenable_public_repos,omitempty"`
}

0 comments on commit 40fce64

Please sign in to comment.