mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-05-18 06:25:20 +00:00
38 lines
845 B
Go
38 lines
845 B
Go
// Copyright 2020 The Kubernetes Authors.
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package internal
|
|
|
|
import (
|
|
"os"
|
|
|
|
"sigs.k8s.io/yaml"
|
|
)
|
|
|
|
type ModuleSpec struct {
|
|
Module string `json:"module,omitempty" yaml:"module,omitempty"`
|
|
Version string `json:"version,omitempty" yaml:"version,omitempty"`
|
|
Packages []PackageSpec `json:"packages,omitempty" yaml:"packages,omitempty"`
|
|
}
|
|
|
|
func (s ModuleSpec) Name() string {
|
|
return s.Module + "@" + s.Version
|
|
}
|
|
|
|
type PackageSpec struct {
|
|
Name string `json:"name,omitempty" yaml:"name,omitempty"`
|
|
Files []string `json:"files,omitempty" yaml:"files,omitempty"`
|
|
}
|
|
|
|
func ReadSpec(fileName string) *ModuleSpec {
|
|
bytes, err := os.ReadFile(fileName)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
var spec ModuleSpec
|
|
if err = yaml.Unmarshal(bytes, &spec); err != nil {
|
|
panic(err)
|
|
}
|
|
return &spec
|
|
}
|