func Bootstrap()

in projects/aws/bottlerocket-bootstrap/pkg/bootstrap.go [52:92]


func Bootstrap() {
	err := waitForPreReqs()
	if err != nil {
		fmt.Printf("Error waiting for bottlerocket pre-reqs: %v", err)
		os.Exit(1)
	}

	fmt.Println("Initiating bottlerocket bootstrap")
	acquireLock()
	userData, err := utils.ResolveHostContainerUserData()
	if err != nil {
		fmt.Printf("Error parsing user-data: %v\n", err)
		os.Exit(1)
	}

	b := buildBootstrapper(userData)

	if err = b.InitializeDirectories(); err != nil {
		fmt.Printf("Error initializing directories: %v\n", err)
		os.Exit(1)
	}

	if err = utils.WriteUserDataFiles(userData); err != nil {
		fmt.Printf("Error writing files from user-data: %v\n", err)
		os.Exit(1)
	}

	if err = b.RunCmd(); err != nil {
		fmt.Printf("Error running bootstrapper cmd: %v\n", err)
		os.Exit(1)
	}

	// Bootstrapping done
	err = utils.DisableBootstrapContainer()
	if err != nil {
		fmt.Printf("Error disabling bootstrap container: %v\n", err)
		os.Exit(1)
	}
	fmt.Println("Bottlerocket bootstrap was successful. Disabled bootstrap container")
	os.Exit(0)
}