@@ -10,7 +10,9 @@ import (
1010 "os/signal"
1111 "syscall"
1212
13+ "github.com/mariadb-operator/agent/pkg/filemanager"
1314 "github.com/mariadb-operator/agent/pkg/logger"
15+ "github.com/mariadb-operator/init/pkg/config"
1416 mariadbv1alpha1 "github.com/mariadb-operator/mariadb-operator/api/v1alpha1"
1517 "k8s.io/client-go/kubernetes"
1618 "k8s.io/client-go/rest"
@@ -61,28 +63,48 @@ func main() {
6163 if err != nil {
6264 log .Fatalf ("error creating logger: %v" , err )
6365 }
64- logger .Info ("Staring MariaDB init" )
66+ logger .Info ("Staring init" )
6567
66- config , err := config ()
68+ restConfig , err := restConfig ()
6769 if err != nil {
6870 logger .Error (err , "Error getting Kubernetes config" )
6971 os .Exit (1 )
7072 }
71- clientset , err := kubernetes .NewForConfig (config )
73+ clientset , err := kubernetes .NewForConfig (restConfig )
7274 if err != nil {
73- logger .Error (err , "Error getting Kubernetes clientset" )
75+ logger .Error (err , "Error creating Kubernetes clientset" )
7476 os .Exit (1 )
7577 }
76-
7778 mdb , err := mariadb (ctx , mariadbName , mariadbNamespace , clientset )
7879 if err != nil {
7980 logger .Error (err , "Error getting MariaDB" )
8081 os .Exit (1 )
8182 }
82- logger .V (1 ).Info ("got MariaDB" , "mariadb" , mdb )
83+
84+ fileManager , err := filemanager .NewFileManager (configDir , stateDir )
85+ if err != nil {
86+ logger .Error (err , "Error creating file manager" )
87+ os .Exit (1 )
88+ }
89+ configBytes , err := config .NewConfigFile (mdb ).Marshal ()
90+ if err != nil {
91+ logger .Error (err , "Error getting galera config" )
92+ os .Exit (1 )
93+ }
94+ logger .Info ("Configuring Galera" )
95+ if err := fileManager .WriteConfigFile (config .ConfigFileName , configBytes ); err != nil {
96+ logger .Error (err , "Error writing galera config" )
97+ os .Exit (1 )
98+ }
99+ logger .Info ("Configuring bootstrap" )
100+ if err := fileManager .WriteConfigFile (config .BootstrapFileName , config .BootstrapFile ); err != nil {
101+ logger .Error (err , "Error writing bootstrap config" )
102+ os .Exit (1 )
103+ }
104+ logger .Info ("Init done" )
83105}
84106
85- func config () (* rest.Config , error ) {
107+ func restConfig () (* rest.Config , error ) {
86108 if kubeconfig := os .Getenv ("KUBECONFIG" ); kubeconfig != "" {
87109 return clientcmd .BuildConfigFromFlags ("" , kubeconfig )
88110 }
0 commit comments