@@ -3,6 +3,7 @@ package controller
3
3
import (
4
4
"context"
5
5
stackv1alpha1 "github.com/zncdata-labs/hive-operator/api/v1alpha1"
6
+ "github.com/zncdata-labs/operator-go/pkg/util"
6
7
corev1 "k8s.io/api/core/v1"
7
8
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
8
9
"k8s.io/apimachinery/pkg/runtime"
@@ -72,7 +73,7 @@ func (r *EnvSecret) Reconcile(ctx context.Context) (ctrl.Result, error) {
72
73
}
73
74
74
75
func (r * EnvSecret ) apply (ctx context.Context ) (ctrl.Result , error ) {
75
- var data = make (map [string ][] byte )
76
+ var data = make (map [string ]string )
76
77
if r .s3 .Enabled () {
77
78
s3Data , err := r .s3SecretData ()
78
79
if err != nil {
@@ -115,16 +116,16 @@ func (r *EnvSecret) apply(ctx context.Context) (ctrl.Result, error) {
115
116
return ctrl.Result {Requeue : false }, nil
116
117
}
117
118
118
- func (r * EnvSecret ) s3SecretData () (map [string ][] byte , error ) {
119
+ func (r * EnvSecret ) s3SecretData () (map [string ]string , error ) {
119
120
if r .s3 .ExistingS3Bucket () {
120
121
params , err := r .s3 .GetS3ParamsFromResource ()
121
122
if err != nil {
122
123
return nil , err
123
124
}
124
- return map [string ][] byte {
125
- "AWS_ACCESS_KEY" : [] byte ( params .AccessKey ) ,
126
- "AWS_SECRET_KEY" : [] byte ( params .SecretKey ) ,
127
- "AWS_DEFAULT_REGION" : [] byte ( params .Region ) ,
125
+ return map [string ]string {
126
+ "AWS_ACCESS_KEY" : params .AccessKey ,
127
+ "AWS_SECRET_KEY" : params .SecretKey ,
128
+ "AWS_DEFAULT_REGION" : params .Region ,
128
129
}, nil
129
130
}
130
131
@@ -133,23 +134,23 @@ func (r *EnvSecret) s3SecretData() (map[string][]byte, error) {
133
134
return nil , err
134
135
}
135
136
136
- return map [string ][] byte {
137
- "AWS_ACCESS_KEY" : [] byte ( params .AccessKey ) ,
138
- "AWS_SECRET_KEY" : [] byte ( params .SecretKey ) ,
139
- "AWS_DEFAULT_REGION" : [] byte ( params .Region ) ,
137
+ return map [string ]string {
138
+ "AWS_ACCESS_KEY" : params .AccessKey ,
139
+ "AWS_SECRET_KEY" : params .SecretKey ,
140
+ "AWS_DEFAULT_REGION" : params .Region ,
140
141
}, nil
141
142
142
143
}
143
144
144
145
// databaseValuesFromCR Get database values from the CR.
145
- func (r * EnvSecret ) databaseSecretData () (map [string ][] byte , error ) {
146
+ func (r * EnvSecret ) databaseSecretData () (map [string ]string , error ) {
146
147
147
- dataBuilder := func (params * DatabaseParams ) map [string ][] byte {
148
+ dataBuilder := func (params * DatabaseParams ) map [string ]string {
148
149
serviceOpts := serviceOptsBuilder (params .Driver , params .Username , params .Password , params .Host , params .Port , params .DbName )
149
150
150
- data := map [string ][] byte {
151
- "SERVICE_OPTS" : [] byte ( serviceOpts ) ,
152
- "DB_DRIVER" : [] byte ( params .Driver ) ,
151
+ data := map [string ]string {
152
+ "SERVICE_OPTS" : serviceOpts ,
153
+ "DB_DRIVER" : params .Driver ,
153
154
}
154
155
if params .Driver == "derby" {
155
156
log .Info ("Hive metastore is using derby, no need to set database connection info." )
@@ -176,14 +177,18 @@ func (r *EnvSecret) databaseSecretData() (map[string][]byte, error) {
176
177
}
177
178
178
179
// makeSecret Make secret object from data, and set the owner reference.
179
- func (r * EnvSecret ) make (data map [string ][]byte ) (corev1.Secret , error ) {
180
+ func (r * EnvSecret ) make (data map [string ]string ) (corev1.Secret , error ) {
181
+ encodedData := make (map [string ][]byte )
182
+ for k , v := range data {
183
+ encodedData [k ] = []byte (util.Base64 [string ]{Data : v }.Encode ())
184
+ }
180
185
obj := corev1.Secret {
181
186
ObjectMeta : metav1.ObjectMeta {
182
187
Name : HiveEnvSecretName (r .cr ),
183
188
Namespace : r .NameSpace (),
184
189
Labels : r .Labels (),
185
190
},
186
- Data : data ,
191
+ Data : encodedData ,
187
192
}
188
193
189
194
if err := ctrl .SetControllerReference (r .cr , & obj , r .scheme ); err != nil {
0 commit comments