@@ -3,36 +3,35 @@ package installerpod
3
3
import (
4
4
"context"
5
5
"fmt"
6
- "k8s.io/utils/clock"
7
6
"os"
8
7
"path"
9
8
"sort"
10
9
"strconv"
11
10
"strings"
12
11
"time"
13
12
14
- "k8s.io/apimachinery/pkg/util/wait"
15
-
16
13
"github.com/blang/semver/v4"
17
14
"github.com/davecgh/go-spew/spew"
18
15
"github.com/spf13/cobra"
19
16
"github.com/spf13/pflag"
20
- "k8s.io/klog/v2"
21
17
22
18
corev1 "k8s.io/api/core/v1"
23
19
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
24
20
"k8s.io/apimachinery/pkg/util/sets"
25
21
"k8s.io/apimachinery/pkg/util/uuid"
22
+ "k8s.io/apimachinery/pkg/util/wait"
26
23
"k8s.io/apiserver/pkg/server"
27
24
"k8s.io/client-go/kubernetes"
28
25
"k8s.io/client-go/rest"
26
+ "k8s.io/klog/v2"
27
+ "k8s.io/utils/clock"
29
28
30
29
"github.com/openshift/library-go/pkg/config/client"
31
30
"github.com/openshift/library-go/pkg/operator/events"
32
31
"github.com/openshift/library-go/pkg/operator/resource/resourceread"
33
32
"github.com/openshift/library-go/pkg/operator/resource/retry"
34
- "github.com/openshift/library-go/pkg/operator/staticpod"
35
33
"github.com/openshift/library-go/pkg/operator/staticpod/internal"
34
+ "github.com/openshift/library-go/pkg/operator/staticpod/internal/atomicfiles"
36
35
"github.com/openshift/library-go/pkg/operator/staticpod/internal/flock"
37
36
)
38
37
@@ -258,33 +257,20 @@ func (o *InstallOptions) copySecretsAndConfigMaps(ctx context.Context, resourceD
258
257
secretBaseName = o .prefixFor (secret .Name )
259
258
}
260
259
contentDir := path .Join (resourceDir , "secrets" , secretBaseName )
261
- klog .Infof ("Creating directory %q ..." , contentDir )
262
- if err := os .MkdirAll (contentDir , 0755 ); err != nil {
260
+ if err := atomicfiles .WriteFiles ("secret" , secret .ObjectMeta , contentDir , secret .Data , 0600 ); err != nil {
263
261
return err
264
262
}
265
- for filename , content := range secret .Data {
266
- if err := writeSecret (content , path .Join (contentDir , filename )); err != nil {
267
- return err
268
- }
269
- }
270
263
}
271
264
for _ , configmap := range configs {
272
265
configMapBaseName := configmap .Name
273
266
if prefixed {
274
267
configMapBaseName = o .prefixFor (configmap .Name )
275
268
}
276
269
contentDir := path .Join (resourceDir , "configmaps" , configMapBaseName )
277
- klog .Infof ("Creating directory %q ..." , contentDir )
278
- if err := os .MkdirAll (contentDir , 0755 ); err != nil {
270
+ if err := atomicfiles .WriteFiles ("configmap" , configmap .ObjectMeta , contentDir , configmap .Data , 0600 ); err != nil {
279
271
return err
280
272
}
281
- for filename , content := range configmap .Data {
282
- if err := writeConfig ([]byte (content ), path .Join (contentDir , filename )); err != nil {
283
- return err
284
- }
285
- }
286
273
}
287
-
288
274
return nil
289
275
}
290
276
@@ -624,23 +610,3 @@ func (o *InstallOptions) writePod(rawPodBytes []byte, manifestFileName, resource
624
610
}
625
611
return nil
626
612
}
627
-
628
- func writeConfig (content []byte , fullFilename string ) error {
629
- klog .Infof ("Writing config file %q ..." , fullFilename )
630
-
631
- filePerms := os .FileMode (0600 )
632
- if strings .HasSuffix (fullFilename , ".sh" ) {
633
- filePerms = 0755
634
- }
635
- return staticpod .WriteFileAtomic (content , filePerms , fullFilename )
636
- }
637
-
638
- func writeSecret (content []byte , fullFilename string ) error {
639
- klog .Infof ("Writing secret manifest %q ..." , fullFilename )
640
-
641
- filePerms := os .FileMode (0600 )
642
- if strings .HasSuffix (fullFilename , ".sh" ) {
643
- filePerms = 0700
644
- }
645
- return staticpod .WriteFileAtomic (content , filePerms , fullFilename )
646
- }
0 commit comments