Documentation ¶
Index ¶
- Constants
- Variables
- func CheckOverrideUpgrade(fs afero.Fs, root string) bool
- func FindRoot(fs afero.Fs, cwd string) (string, error)
- func NewBaseApp(fs afero.Fs, root string, httpClient *http.Client, opts ...Opt) *baseApp
- func NewHTTPClient(tlsSkipVerify bool) *http.Client
- func StubUpdateLibData(fs afero.Fs, k8sSpecFlag, libPath string) (string, error)
- type App
- type ContributorSpec
- type ContributorSpec010
- type ContributorSpec020
- type ContributorSpec030
- type ContributorSpecs
- type ContributorSpecs010
- type ContributorSpecs020
- type ContributorSpecs030
- type Encoder
- type EnvironmentConfig
- type EnvironmentConfig010
- type EnvironmentConfig020
- type EnvironmentConfig030
- type EnvironmentConfigs
- type EnvironmentConfigs010
- type EnvironmentConfigs020
- type EnvironmentConfigs030
- type EnvironmentDestinationSpec
- type EnvironmentDestinationSpec010
- type EnvironmentDestinationSpec020
- type EnvironmentDestinationSpec030
- type GitVersionSpec010
- type GitVersionSpec020
- type GitVersionSpec030
- type KSLibUpdater
- type LibraryConfig
- type LibraryConfig010
- type LibraryConfig020
- type LibraryConfig030
- type LibraryConfigs
- type LibraryConfigs010
- type LibraryConfigs020
- type LibraryConfigs030
- type Migrator
- type Opt
- type Override
- type Override020
- type Override030
- type RegistryConfig
- type RegistryConfig010
- type RegistryConfig020
- type RegistryConfig030
- type RegistryConfigs
- type RegistryConfigs010
- type RegistryConfigs020
- type RegistryConfigs030
- type RepositorySpec
- type RepositorySpec010
- type RepositorySpec020
- type RepositorySpec030
- type Spec
- type Spec010
- type Spec020
- type Spec030
- func (s *Spec030) AddEnvironmentConfig(env *EnvironmentConfig030) error
- func (s *Spec030) AddRegistryConfig(cfg *RegistryConfig030) error
- func (s *Spec030) DeleteEnvironmentConfig(name string) error
- func (s *Spec030) GetEnvironmentConfig(name string) (*EnvironmentConfig030, bool)
- func (s *Spec030) GetEnvironmentConfigs() EnvironmentConfigs
- func (s *Spec030) Marshal() ([]byte, error)
- func (s *Spec030) RegistryConfig(name string) (*RegistryConfig030, bool)
- func (s *Spec030) UnmarshalJSON(b []byte) error
- func (s *Spec030) UpdateEnvironmentConfig(name string, env *EnvironmentConfig030) error
- type YAMLEncoder
Constants ¶
const ( // EnvironmentDirName is the directory name for environments. EnvironmentDirName = "environments" // LibDirName is the directory name for libraries. LibDirName = "lib" )
const ( // DefaultAPIVersion is the default ks API version to use if not specified. DefaultAPIVersion = "0.3.0" // Kind is the schema resource type. Kind = "ksonnet.io/app" // DefaultVersion is the default version of the app schema. DefaultVersion = "0.0.1" )
Variables ¶
var ( // DefaultFilePermissions are the default permissions for a file. DefaultFilePermissions = os.FileMode(0644) // DefaultFolderPermissions are the default permissions for a folder. DefaultFolderPermissions = os.FileMode(0755) )
var ( // ErrRegistryNameInvalid is the error where a registry name is invalid. ErrRegistryNameInvalid = fmt.Errorf("Registry name is invalid") // ErrRegistryExists is the error when trying to create a registry that already exists. ErrRegistryExists = fmt.Errorf("Registry with name already exists") // ErrEnvironmentNameInvalid is the error where an environment name is invalid. ErrEnvironmentNameInvalid = fmt.Errorf("Environment name is invalid") // ErrEnvironmentExists is the error when trying to create an environment that already exists. ErrEnvironmentExists = fmt.Errorf("Environment with name already exists") // ErrEnvironmentNotExists is the error when trying to update an environment that doesn't exist. ErrEnvironmentNotExists = fmt.Errorf("Environment with name doesn't exist") )
Functions ¶
func CheckOverrideUpgrade ¶ added in v0.13.0
CheckOverrideUpgrade returns true if the specified override version should be upgraded.
func FindRoot ¶ added in v0.13.0
FindRoot finds a ksonnet app.yaml in the current directory or its ancestors.
func NewBaseApp ¶ added in v0.13.0
NewBaseApp constructs a baseApp, a container of dependencies and configuration describing a ksonnet project.
func NewHTTPClient ¶ added in v0.13.0
NewHTTPClient loads an HTTP client based on common configuration for certificates, tls verification, timeouts, etc.
Types ¶
type App ¶
type App interface { // AddEnvironment adds an environment. AddEnvironment(spec *EnvironmentConfig, k8sSpecFlag string, isOverride bool) error // AddRegistry adds a registry. AddRegistry(spec *RegistryConfig, isOverride bool) error // CurrentEnvironment returns the current environment name or an empty string. CurrentEnvironment() string // Environment finds an environment by name. Environment(name string) (*EnvironmentConfig, error) // Environments returns all environments. Environments() (EnvironmentConfigs, error) // EnvironmentParams returns params for an environment. EnvironmentParams(name string) (string, error) // Fs is the app's afero Fs. Fs() afero.Fs // HTTPClient is the app's http client HTTPClient() *http.Client // IsEnvOverride returns whether the specified environment has overriding configuration IsEnvOverride(name string) bool // IsRegistryOverride returns whether the specified registry has overriding configuration IsRegistryOverride(name string) bool // LibPath returns the path of the lib for an environment. LibPath(envName string) (string, error) // Libraries returns all environments. Libraries() (LibraryConfigs, error) // Registries returns all registries. Registries() (RegistryConfigs, error) // RemoveEnvironment removes an environment from the main configuration or an override. RemoveEnvironment(name string, override bool) error // RenameEnvironment renames an environment in the main configuration or an override. RenameEnvironment(from, to string, override bool) error // Root returns the root path of the application. Root() string // SetCurrentEnvironment sets the current environment. SetCurrentEnvironment(name string) error // UpdateTargets sets the targets for an environment. UpdateTargets(envName string, targets []string, isOverride bool) error // UpdateLib adds, updates or removes a library reference. // env is optional - if provided the reference is scoped under the environment, // otherwise it is globally scoped. // If spec if nil, the library reference will be removed. // Returns the previous reference for the named library, if one existed. UpdateLib(name string, env string, spec *LibraryConfig) (*LibraryConfig, error) // UpdateRegistry updates a registry. UpdateRegistry(spec *RegistryConfig) error // Upgrade upgrades an application (app.yaml) to the current version. Upgrade(bool) error // VendorPath returns the root of the vendor path. VendorPath() string }
App is a ksonnet application.
type ContributorSpec ¶
type ContributorSpec = ContributorSpec030
ContributorSpec is a specification for the project contributors.
type ContributorSpec010 ¶ added in v0.13.0
ContributorSpec010 is a specification for the project contributors.
type ContributorSpec020 ¶ added in v0.13.0
ContributorSpec020 is a specification for the project contributors.
type ContributorSpec030 ¶ added in v0.13.0
ContributorSpec030 is a specification for the project contributors.
type ContributorSpecs ¶
type ContributorSpecs = ContributorSpecs030
ContributorSpecs is a list of 0 or more contributors.
type ContributorSpecs010 ¶ added in v0.13.0
type ContributorSpecs010 []*ContributorSpec010
ContributorSpecs010 is a list of 0 or more contributors.
type ContributorSpecs020 ¶ added in v0.13.0
type ContributorSpecs020 []*ContributorSpec020
ContributorSpecs020 is a list of 0 or more contributors.
type ContributorSpecs030 ¶ added in v0.13.0
type ContributorSpecs030 []*ContributorSpec030
ContributorSpecs030 is a list of 0 or more contributors.
type Encoder ¶ added in v0.11.0
type Encoder interface { // Encode writes an item to a stream. Implementations may return errors // if the data to be encoded is invalid. Encode(i interface{}, w io.Writer) error }
Encoder writes items to a serialized form.
type EnvironmentConfig ¶ added in v0.12.0
type EnvironmentConfig = EnvironmentConfig030
EnvironmentConfig contains the specification for ksonnet environments.
type EnvironmentConfig010 ¶ added in v0.13.0
type EnvironmentConfig010 struct { // Name is the user defined name of an environment Name string `json:"-"` // KubernetesVersion is the kubernetes version the targeted cluster is // running on. KubernetesVersion string `json:"k8sVersion"` // Path is the relative project path containing metadata for this // environment. Path string `json:"path"` // Destination stores the cluster address that this environment points to. Destination *EnvironmentDestinationSpec010 `json:"destination"` // Targets contain the relative component paths that this environment // wishes to deploy on it's destination. Targets []string `json:"targets,omitempty"` // contains filtered or unexported fields }
EnvironmentConfig010 contains the specification for ksonnet environments.
type EnvironmentConfig020 ¶ added in v0.13.0
type EnvironmentConfig020 struct { // Name is the user defined name of an environment Name string `json:"-"` // KubernetesVersion is the kubernetes version the targeted cluster is // running on. KubernetesVersion string `json:"k8sVersion"` // Path is the relative project path containing metadata for this // environment. Path string `json:"path"` // Destination stores the cluster address that this environment points to. Destination *EnvironmentDestinationSpec020 `json:"destination"` // Targets contain the relative component paths that this environment // wishes to deploy on it's destination. Targets []string `json:"targets,omitempty"` // Libraries specifies versioned libraries specifically used by this environment. Libraries LibraryConfigs020 `json:"libraries,omitempty"` // contains filtered or unexported fields }
EnvironmentConfig020 contains the specification for ksonnet environments.
func (*EnvironmentConfig020) IsOverride ¶ added in v0.13.0
func (e *EnvironmentConfig020) IsOverride() bool
IsOverride is true if this EnvironmentConfig is an override.
func (*EnvironmentConfig020) MakePath ¶ added in v0.13.0
func (e *EnvironmentConfig020) MakePath(rootPath string) string
MakePath return the absolute path to the environment directory.
type EnvironmentConfig030 ¶ added in v0.13.0
type EnvironmentConfig030 struct { // Name is the user defined name of an environment Name string `json:"-"` // KubernetesVersion is the kubernetes version the targeted cluster is // running on. KubernetesVersion string `json:"k8sVersion"` // Path is the relative project path containing metadata for this // environment. Path string `json:"path"` // Destination stores the cluster address that this environment points to. Destination *EnvironmentDestinationSpec030 `json:"destination"` // Targets contain the relative component paths that this environment // wishes to deploy on it's destination. Targets []string `json:"targets,omitempty"` // Libraries specifies versioned libraries specifically used by this environment. Libraries LibraryConfigs030 `json:"libraries,omitempty"` }
EnvironmentConfig030 contains the specification for ksonnet environments.
func (*EnvironmentConfig030) MakePath ¶ added in v0.13.0
func (e *EnvironmentConfig030) MakePath(rootPath string) string
MakePath return the absolute path to the environment directory.
type EnvironmentConfigs ¶ added in v0.12.0
type EnvironmentConfigs = EnvironmentConfigs030
EnvironmentConfigs contains one or more EnvironmentConfig.
type EnvironmentConfigs010 ¶ added in v0.13.0
type EnvironmentConfigs010 map[string]*EnvironmentConfig010
EnvironmentConfigs010 contains one or more EnvironmentConfig.
func (*EnvironmentConfigs010) UnmarshalJSON ¶ added in v0.13.0
func (e *EnvironmentConfigs010) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface. Our goal is to populate the Name field of EnvironmentConfig objects according to they key name in the environments map.
type EnvironmentConfigs020 ¶ added in v0.13.0
type EnvironmentConfigs020 map[string]*EnvironmentConfig020
EnvironmentConfigs020 contains one or more EnvironmentConfig.
func (*EnvironmentConfigs020) UnmarshalJSON ¶ added in v0.13.0
func (e *EnvironmentConfigs020) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface. Our goal is to populate the Name field of EnvironmentConfig objects according to they key name in the environments map.
type EnvironmentConfigs030 ¶ added in v0.13.0
type EnvironmentConfigs030 map[string]*EnvironmentConfig030
EnvironmentConfigs030 contains one or more EnvironmentConfig.
func (*EnvironmentConfigs030) UnmarshalJSON ¶ added in v0.13.0
func (e *EnvironmentConfigs030) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface. Our goal is to populate the Name field of EnvironmentConfig objects according to they key name in the environments map.
type EnvironmentDestinationSpec ¶
type EnvironmentDestinationSpec = EnvironmentDestinationSpec030
EnvironmentDestinationSpec contains the specification for the cluster address that the environment points to.
type EnvironmentDestinationSpec010 ¶ added in v0.13.0
type EnvironmentDestinationSpec010 struct { // Server is the Kubernetes server that the cluster is running on. Server string `json:"server"` // Namespace is the namespace of the Kubernetes server that targets should // be deployed to. This is "default", if not specified. Namespace string `json:"namespace"` }
EnvironmentDestinationSpec010 contains the specification for the cluster address that the environment points to.
type EnvironmentDestinationSpec020 ¶ added in v0.13.0
type EnvironmentDestinationSpec020 struct { // Server is the Kubernetes server that the cluster is running on. Server string `json:"server"` // Namespace is the namespace of the Kubernetes server that targets should // be deployed to. This is "default", if not specified. Namespace string `json:"namespace"` }
EnvironmentDestinationSpec020 contains the specification for the cluster address that the environment points to.
type EnvironmentDestinationSpec030 ¶ added in v0.13.0
type EnvironmentDestinationSpec030 struct { // Server is the Kubernetes server that the cluster is running on. Server string `json:"server"` // Namespace is the namespace of the Kubernetes server that targets should // be deployed to. This is "default", if not specified. Namespace string `json:"namespace"` }
EnvironmentDestinationSpec030 contains the specification for the cluster address that the environment points to.
type GitVersionSpec010 ¶ added in v0.13.0
type GitVersionSpec010 struct { RefSpec string `json:"refSpec"` CommitSHA string `json:"commitSha"` }
GitVersionSpec010 is the specification for a Registry's Git Version.
type GitVersionSpec020 ¶ added in v0.13.0
type GitVersionSpec020 struct { RefSpec string `json:"refSpec"` CommitSHA string `json:"commitSha"` }
GitVersionSpec020 is the specification for a Registry's Git Version.
type GitVersionSpec030 ¶ added in v0.13.0
type GitVersionSpec030 struct { RefSpec string `json:"refSpec"` CommitSHA string `json:"commitSha"` }
GitVersionSpec030 is the specification for a Registry's Git Version.
type KSLibUpdater ¶ added in v0.13.0
type KSLibUpdater interface { // Generates a ksonnet-lib matching the specified k8s version. // Returns the generated version. UpdateKSLib(k8sSpecFlag string, libPath string) (string, error) }
KSLibUpdater generates / updates ksonnet-lib matching a specific k8s version.
type LibraryConfig ¶ added in v0.12.0
type LibraryConfig = LibraryConfig030
LibraryConfig is the specification for a library part.
type LibraryConfig010 ¶ added in v0.13.0
type LibraryConfig010 struct { Name string `json:"name"` Registry string `json:"registry"` GitVersion *GitVersionSpec010 `json:"gitVersion,omitempty"` }
LibraryConfig010 is the specification for a library part.
type LibraryConfig020 ¶ added in v0.13.0
type LibraryConfig020 struct { Name string `json:"name"` Registry string `json:"registry"` Version string `json:"version"` }
LibraryConfig020 is the specification for a library part.
func (LibraryConfig020) String ¶ added in v0.13.0
func (l LibraryConfig020) String() string
type LibraryConfig030 ¶ added in v0.13.0
type LibraryConfig030 struct { Name string `json:"name"` Registry string `json:"registry"` Version string `json:"version"` }
LibraryConfig030 is the specification for a library part.
func (LibraryConfig030) String ¶ added in v0.13.0
func (l LibraryConfig030) String() string
type LibraryConfigs ¶ added in v0.12.0
type LibraryConfigs = LibraryConfigs030
LibraryConfigs is a mapping of a library configurations by name.
type LibraryConfigs010 ¶ added in v0.13.0
type LibraryConfigs010 map[string]*LibraryConfig010
LibraryConfigs010 is a mapping of a library configurations by name.
func (*LibraryConfigs010) MarshalJSON ¶ added in v0.13.0
func (l *LibraryConfigs010) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Unmarshaler interface. We implement some compatibility conversions.
func (*LibraryConfigs010) UnmarshalJSON ¶ added in v0.13.0
func (l *LibraryConfigs010) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface. We implement some compatibility conversions.
type LibraryConfigs020 ¶ added in v0.13.0
type LibraryConfigs020 map[string]*LibraryConfig020
LibraryConfigs020 is a mapping of a library configurations by name.
func (*LibraryConfigs020) UnmarshalJSON ¶ added in v0.13.0
func (l *LibraryConfigs020) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface. We implement some compatibility conversions.
type LibraryConfigs030 ¶ added in v0.13.0
type LibraryConfigs030 map[string]*LibraryConfig030
LibraryConfigs030 is a mapping of a library configurations by name.
func (*LibraryConfigs030) MarshalJSON ¶ added in v0.13.0
func (l *LibraryConfigs030) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaler interface. We implement some compatibility conversions.
func (*LibraryConfigs030) UnmarshalJSON ¶ added in v0.13.0
func (l *LibraryConfigs030) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface. We implement some compatibility conversions.
type Migrator ¶ added in v0.13.0
type Migrator struct {
// contains filtered or unexported fields
}
Migrator describes a sequence of migrations for any backward supported schemas to reach the currently supported schema version
func NewMigrator ¶ added in v0.13.0
NewMigrator constructs a migrator with the provided dependencies
type Opt ¶ added in v0.13.0
type Opt func(*baseApp)
Opt is a constructor option for baseApp
func OptLibUpdater ¶ added in v0.13.0
func OptLibUpdater(libUpdater KSLibUpdater) Opt
OptLibUpdater returns an option for setting a KSLibUpdater on an App010
type Override ¶
type Override = Override030
Override defines overrides to ksonnet project configurations.
type Override020 ¶ added in v0.13.0
type Override020 struct { Kind string `json:"kind"` APIVersion string `json:"apiVersion"` Environments EnvironmentConfigs020 `json:"environments,omitempty"` Registries RegistryConfigs020 `json:"registries,omitempty"` }
Override020 defines overrides to ksonnet project configurations.
func (*Override020) UnmarshalJSON ¶ added in v0.13.0
func (o *Override020) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface.
type Override030 ¶ added in v0.13.0
type Override030 struct { Kind string `json:"kind"` APIVersion string `json:"apiVersion"` Environments EnvironmentConfigs030 `json:"environments,omitempty"` Registries RegistryConfigs030 `json:"registries,omitempty"` }
Override030 defines overrides to ksonnet project configurations.
func (*Override030) IsDefined ¶ added in v0.13.0
func (o *Override030) IsDefined() bool
IsDefined returns true if the override has environments or registries defined.
func (*Override030) UnmarshalJSON ¶ added in v0.13.0
func (o *Override030) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface.
func (*Override030) Validate ¶ added in v0.13.0
func (o *Override030) Validate() error
Validate validates an Override.
type RegistryConfig ¶ added in v0.12.0
type RegistryConfig = RegistryConfig030
RegistryConfig defines the spec for a registry. A registry is a collection of library parts.
type RegistryConfig010 ¶ added in v0.13.0
type RegistryConfig010 struct { // Name is the user defined name of a registry. Name string `json:"-"` // Protocol is the registry protocol for this registry. Currently supported // values are `github`, `fs`, `helm`. Protocol string `json:"protocol"` // URI is the location of the registry. URI string `json:"uri"` // contains filtered or unexported fields }
RegistryConfig010 defines the spec for a registry. A registry is a collection of library parts.
type RegistryConfig020 ¶ added in v0.13.0
type RegistryConfig020 struct { // Name is the user defined name of a registry. Name string `json:"-"` // Protocol is the registry protocol for this registry. Currently supported // values are `github`, `fs`, `helm`. Protocol string `json:"protocol"` // URI is the location of the registry. URI string `json:"uri"` // contains filtered or unexported fields }
RegistryConfig020 defines the spec for a registry. A registry is a collection of library parts.
func (*RegistryConfig020) IsOverride ¶ added in v0.13.0
func (r *RegistryConfig020) IsOverride() bool
IsOverride is true if this RegistryConfig is an override.
type RegistryConfig030 ¶ added in v0.13.0
type RegistryConfig030 struct { // Name is the user defined name of a registry. Name string `json:"-"` // Protocol is the registry protocol for this registry. Currently supported // values are `github`, `fs`, `helm`. Protocol string `json:"protocol"` // URI is the location of the registry. URI string `json:"uri"` }
RegistryConfig030 defines the spec for a registry. A registry is a collection of library parts.
type RegistryConfigs ¶ added in v0.12.0
type RegistryConfigs = RegistryConfigs030
RegistryConfigs is a map of the registry name to a RegistryConfig.
type RegistryConfigs010 ¶ added in v0.13.0
type RegistryConfigs010 map[string]*RegistryConfig010
RegistryConfigs010 is a map of the registry name to a RegistryConfig.
func (*RegistryConfigs010) UnmarshalJSON ¶ added in v0.13.0
func (r *RegistryConfigs010) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface. Our goal is to populate the Name field of RegistryConfig objects according to they key name in the registries map.
type RegistryConfigs020 ¶ added in v0.13.0
type RegistryConfigs020 map[string]*RegistryConfig020
RegistryConfigs020 is a map of the registry name to a RegistryConfig.
func (*RegistryConfigs020) UnmarshalJSON ¶ added in v0.13.0
func (r *RegistryConfigs020) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface. Our goal is to populate the Name field of RegistryConfig objects according to they key name in the registries map.
type RegistryConfigs030 ¶ added in v0.13.0
type RegistryConfigs030 map[string]*RegistryConfig030
RegistryConfigs030 is a map of the registry name to a RegistryConfig.
func (*RegistryConfigs030) UnmarshalJSON ¶ added in v0.13.0
func (r *RegistryConfigs030) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface. Our goal is to populate the Name field of RegistryConfig objects according to they key name in the registries map.
type RepositorySpec ¶
type RepositorySpec = RepositorySpec030
RepositorySpec defines the spec for the upstream repository of this project.
type RepositorySpec010 ¶ added in v0.13.0
RepositorySpec010 defines the spec for the upstream repository of this project.
type RepositorySpec020 ¶ added in v0.13.0
RepositorySpec020 defines the spec for the upstream repository of this project.
type RepositorySpec030 ¶ added in v0.13.0
RepositorySpec030 defines the spec for the upstream repository of this project.
type Spec ¶
type Spec = Spec030
Spec defines all the ksonnet project metadata. This includes details such as the project name, authors, environments, and registries.
type Spec010 ¶ added in v0.13.0
type Spec010 struct { APIVersion string `json:"apiVersion,omitempty"` Kind string `json:"kind,omitempty"` Name string `json:"name,omitempty"` Version string `json:"version,omitempty"` Description string `json:"description,omitempty"` Authors []string `json:"authors,omitempty"` Contributors ContributorSpecs010 `json:"contributors,omitempty"` Repository *RepositorySpec010 `json:"repository,omitempty"` Bugs string `json:"bugs,omitempty"` Keywords []string `json:"keywords,omitempty"` Registries RegistryConfigs010 `json:"registries,omitempty"` Environments EnvironmentConfigs010 `json:"environments,omitempty"` Libraries LibraryConfigs010 `json:"libraries,omitempty"` License string `json:"license,omitempty"` }
Spec010 defines all the ksonnet project metadata. This includes details such as the project name, authors, environments, and registries.
func (*Spec010) AddRegistryConfig ¶ added in v0.13.0
func (s *Spec010) AddRegistryConfig(cfg *RegistryConfig010) error
AddRegistryConfig adds the RegistryConfig to the app spec.
func (*Spec010) RegistryConfig ¶ added in v0.13.0
func (s *Spec010) RegistryConfig(name string) (*RegistryConfig010, bool)
RegistryConfig returns a populated RegistryConfig given a registry name.
func (*Spec010) UnmarshalJSON ¶ added in v0.13.0
UnmarshalJSON implements the json.Unmarshaler interface.
type Spec020 ¶ added in v0.13.0
type Spec020 struct { APIVersion string `json:"apiVersion,omitempty"` Kind string `json:"kind,omitempty"` Name string `json:"name,omitempty"` Version string `json:"version,omitempty"` Description string `json:"description,omitempty"` Authors []string `json:"authors,omitempty"` Contributors ContributorSpecs020 `json:"contributors,omitempty"` Repository *RepositorySpec020 `json:"repository,omitempty"` Bugs string `json:"bugs,omitempty"` Keywords []string `json:"keywords,omitempty"` Registries RegistryConfigs020 `json:"registries,omitempty"` Environments EnvironmentConfigs020 `json:"environments,omitempty"` Libraries LibraryConfigs020 `json:"libraries,omitempty"` License string `json:"license,omitempty"` }
Spec020 defines all the ksonnet project metadata. This includes details such as the project name, authors, environments, and registries.
func (*Spec020) AddRegistryConfig ¶ added in v0.13.0
func (s *Spec020) AddRegistryConfig(cfg *RegistryConfig020) error
AddRegistryConfig adds the RegistryConfig to the app spec.
func (*Spec020) RegistryConfig ¶ added in v0.13.0
func (s *Spec020) RegistryConfig(name string) (*RegistryConfig020, bool)
RegistryConfig returns a populated RegistryConfig given a registry name.
func (*Spec020) UnmarshalJSON ¶ added in v0.13.0
UnmarshalJSON implements the json.Unmarshaler interface.
type Spec030 ¶ added in v0.13.0
type Spec030 struct { APIVersion string `json:"apiVersion,omitempty"` Kind string `json:"kind,omitempty"` Name string `json:"name,omitempty"` Version string `json:"version,omitempty"` Description string `json:"description,omitempty"` Authors []string `json:"authors,omitempty"` Contributors ContributorSpecs030 `json:"contributors,omitempty"` Repository *RepositorySpec030 `json:"repository,omitempty"` Bugs string `json:"bugs,omitempty"` Keywords []string `json:"keywords,omitempty"` Registries RegistryConfigs030 `json:"registries,omitempty"` Environments EnvironmentConfigs030 `json:"environments,omitempty"` Libraries LibraryConfigs030 `json:"libraries,omitempty"` License string `json:"license,omitempty"` }
Spec030 defines all the ksonnet project metadata. This includes details such as the project name, authors, environments, and registries.
func (*Spec030) AddEnvironmentConfig ¶ added in v0.13.0
func (s *Spec030) AddEnvironmentConfig(env *EnvironmentConfig030) error
AddEnvironmentConfig adds an EnvironmentConfig to the list of EnvironmentConfigs. This is equivalent to registering the environment for a ksonnet app.
func (*Spec030) AddRegistryConfig ¶ added in v0.13.0
func (s *Spec030) AddRegistryConfig(cfg *RegistryConfig030) error
AddRegistryConfig adds the RegistryConfig to the app spec.
func (*Spec030) DeleteEnvironmentConfig ¶ added in v0.13.0
DeleteEnvironmentConfig removes the environment specification from the app spec.
func (*Spec030) GetEnvironmentConfig ¶ added in v0.13.0
func (s *Spec030) GetEnvironmentConfig(name string) (*EnvironmentConfig030, bool)
GetEnvironmentConfig returns the environment specification for the environment. TODO: Consider returning copies instead of originals
func (*Spec030) GetEnvironmentConfigs ¶ added in v0.13.0
func (s *Spec030) GetEnvironmentConfigs() EnvironmentConfigs
GetEnvironmentConfigs returns all environment specifications. TODO: Consider returning copies instead of originals
func (*Spec030) RegistryConfig ¶ added in v0.13.0
func (s *Spec030) RegistryConfig(name string) (*RegistryConfig030, bool)
RegistryConfig returns a populated RegistryConfig given a registry name.
func (*Spec030) UnmarshalJSON ¶ added in v0.13.0
UnmarshalJSON implements the json.Unmarshaler interface.
func (*Spec030) UpdateEnvironmentConfig ¶ added in v0.13.0
func (s *Spec030) UpdateEnvironmentConfig(name string, env *EnvironmentConfig030) error
UpdateEnvironmentConfig updates the environment with the provided name to the specified spec.
type YAMLEncoder ¶ added in v0.11.0
type YAMLEncoder struct{}
YAMLEncoder write items to a serialized form in YAML format.