@@ -9,13 +9,15 @@ import (
99 "github.com/redhat-developer/mapt/pkg/integrations/cirrus"
1010 "github.com/redhat-developer/mapt/pkg/integrations/github"
1111 "github.com/redhat-developer/mapt/pkg/integrations/gitlab"
12+ cloudinit "github.com/redhat-developer/mapt/pkg/util/cloud-init"
1213 "github.com/redhat-developer/mapt/pkg/util/file"
1314)
1415
1516type CloudConfigArgs struct {
1617 SNCProfile bool
1718 SubsUsername , SubsPassword string
1819 Username string
20+ ExpandRootDisk []byte
1921}
2022
2123type userDataValues struct {
@@ -25,6 +27,7 @@ type userDataValues struct {
2527 ActionsRunnerSnippet string
2628 CirrusSnippet string
2729 GitLabSnippet string
30+ ExpandRootDisk string
2831}
2932
3033//go:embed cloud-config-base
@@ -50,15 +53,22 @@ func (r *CloudConfigArgs) CloudConfig() (*string, error) {
5053 if err != nil {
5154 return nil , err
5255 }
53- userdata , err := file .Template (
54- userDataValues {
55- r .SubsUsername ,
56- r .SubsPassword ,
57- r .Username ,
58- * ghActionsRunnerSnippet ,
59- * cirrusSnippet ,
60- * gitlabSnippet },
61- templateConfig )
56+ udv := userDataValues {
57+ SubscriptionUsername : r .SubsUsername ,
58+ SubscriptionPassword : r .SubsPassword ,
59+ Username : r .Username ,
60+ ActionsRunnerSnippet : * ghActionsRunnerSnippet ,
61+ CirrusSnippet : * cirrusSnippet ,
62+ GitLabSnippet : * gitlabSnippet }
63+ if r .ExpandRootDisk != nil {
64+ snippet := string (r .ExpandRootDisk [:])
65+ iSnippet , err := cloudinit .IndentWriteFile (& snippet )
66+ if err != nil {
67+ return nil , err
68+ }
69+ udv .ExpandRootDisk = * iSnippet
70+ }
71+ userdata , err := file .Template (udv , templateConfig )
6272 if err != nil {
6373 return nil , err
6474 }
@@ -88,15 +98,22 @@ func (r *CloudConfigArgs) CloudConfigWithGitLabToken(gitlabAuthToken string) (st
8898 if err != nil {
8999 return "" , err
90100 }
91- userdata , err := file .Template (
92- userDataValues {
93- r .SubsUsername ,
94- r .SubsPassword ,
95- r .Username ,
96- * ghActionsRunnerSnippet ,
97- * cirrusSnippet ,
98- * gitlabSnippet },
99- templateConfig )
101+ udv := userDataValues {
102+ SubscriptionUsername : r .SubsUsername ,
103+ SubscriptionPassword : r .SubsPassword ,
104+ Username : r .Username ,
105+ ActionsRunnerSnippet : * ghActionsRunnerSnippet ,
106+ CirrusSnippet : * cirrusSnippet ,
107+ GitLabSnippet : * gitlabSnippet }
108+ if r .ExpandRootDisk != nil {
109+ snippet := string (r .ExpandRootDisk [:])
110+ iSnippet , err := cloudinit .IndentWriteFile (& snippet )
111+ if err != nil {
112+ return "" , err
113+ }
114+ udv .ExpandRootDisk = * iSnippet
115+ }
116+ userdata , err := file .Template (udv , templateConfig )
100117 if err != nil {
101118 return "" , err
102119 }
0 commit comments