blob: 8b966688f7a2432cdc0ff6404ffa037d1af85bf8 [file] [log] [blame]
Giorgi Lekveishvili23ef7f82023-05-26 11:57:48 +04001package installer
2
3import (
4 "bytes"
5 "io"
6 "io/ioutil"
7
8 "sigs.k8s.io/yaml"
9)
10
11type Kustomization struct {
12 ApiVersion string `json:"apiVersion,omitempty"`
13 Kind string `json:"kind,omitempty"`
14 Resources []string `json:"resources,omitempty"`
15}
16
17func NewKustomization() Kustomization {
18 return Kustomization{
19 ApiVersion: "kustomize.config.k8s.io/v1beta1",
20 Kind: "Kustomization",
21 Resources: []string{},
22 }
23}
24
25func ReadKustomization(r io.Reader) (*Kustomization, error) {
26 contents, err := ioutil.ReadAll(r)
27 if err != nil {
28 return nil, err
29 }
30 var ret Kustomization
31 if err = yaml.UnmarshalStrict(contents, &ret); err != nil {
32 return nil, err
33 }
34 return &ret, nil
35}
36
37func (k Kustomization) Write(w io.Writer) error {
38 contents, err := yaml.Marshal(k)
39 if err != nil {
40 return err
41 }
42 if _, err := io.Copy(w, bytes.NewReader(contents)); err != nil {
43 return err
44 }
45 return nil
46}