Documentation
¶
Index ¶
- type GithubContent
- type GithubFile
- type Image
- type Kustomize
- type License
- type Lifeycle
- type MManager
- func (m *MManager) AddCA(name string, newCA util.CAType) error
- func (m *MManager) AddCert(name string, newCert util.CertType) error
- func (m *MManager) CachedState() (State, error)
- func (m *MManager) CommitState() error
- func (m *MManager) ReloadFile() error
- func (m *MManager) RemoveStateFile() error
- func (m *MManager) ResetLifecycle() error
- func (m *MManager) Save(v State) error
- func (m *MManager) SaveKustomize(kustomize *Kustomize) error
- func (m *MManager) SerializeAppMetadata(metadata api.ReleaseMetadata) error
- func (m *MManager) SerializeConfig(assets []api.Asset, meta api.ReleaseMetadata, ...) error
- func (m *MManager) SerializeContentSHA(contentSHA string) error
- func (m *MManager) SerializeHelmValues(values string, defaults string) error
- func (m *MManager) SerializeNamespace(namespace string) error
- func (m *MManager) SerializeReleaseName(name string) error
- func (m *MManager) SerializeShipMetadata(metadata api.ShipAppMetadata, applicationType string) error
- func (m *MManager) SerializeUpstream(upstream string) error
- func (m *MManager) SerializeUpstreamContents(contents *UpstreamContents) error
- func (m *MManager) StateUpdate(updater Update) (State, error)
- func (m *MManager) UpdateVersion()
- type Manager
- type Metadata
- type Overlay
- type ShipRelease
- type State
- func (v State) CurrentCAs() map[string]util.CAType
- func (v State) CurrentCerts() map[string]util.CertType
- func (v State) CurrentConfig() (map[string]interface{}, error)
- func (v State) CurrentHelmValues() string
- func (v State) CurrentHelmValuesDefaults() string
- func (v State) CurrentKustomize() *Kustomize
- func (v State) CurrentKustomizeOverlay(filename string) (contents string, isResource bool)
- func (v State) CurrentNamespace() string
- func (v State) CurrentReleaseName() string
- func (v State) IsEmpty() bool
- func (v State) ReleaseMetadata() *api.ReleaseMetadata
- func (v State) Upstream() string
- func (v State) UpstreamContents() *UpstreamContents
- func (v State) Versioned() State
- func (v State) WithCompletedStep(step api.Step) State
- type StepsCompleted
- type Terraform
- type Update
- type UpstreamContents
- type UpstreamFile
- type V1
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type GithubContent ¶ added in v0.47.0
type GithubContent struct {
Repo string `json:"repo"`
Path string `json:"path"`
Ref string `json:"ref"`
Files []GithubFile `json:"files"`
}
type GithubFile ¶ added in v0.47.0
type Kustomize ¶
type License ¶ added in v0.47.0
type License struct {
ID string `json:"id" yaml:"id" hcl:"id"`
Assignee string `json:"assignee" yaml:"assignee" hcl:"assignee"`
CreatedAt time.Time `json:"createdAt" yaml:"createdAt" hcl:"createdAt"`
ExpiresAt time.Time `json:"expiresAt" yaml:"expiresAt" hcl:"expiresAt"`
Type string `json:"type" yaml:"type" hcl:"type"`
}
type Lifeycle ¶
type Lifeycle struct {
StepsCompleted StepsCompleted `json:"stepsCompleted,omitempty" yaml:"stepsCompleted,omitempty" hcl:"stepsCompleted,omitempty"`
}
type MManager ¶
type MManager struct {
Logger log.Logger
FS afero.Afero
V *viper.Viper
StateRWMut sync.RWMutex
// contains filtered or unexported fields
}
MManager is the saved output of a plan run to load on future runs
func (*MManager) CachedState ¶ added in v0.48.0
CachedState will return the currently cached state.
func (*MManager) CommitState ¶ added in v0.48.0
func (*MManager) ReloadFile ¶ added in v0.48.0
func (*MManager) RemoveStateFile ¶
RemoveStateFile will attempt to remove the state file from disk
func (*MManager) ResetLifecycle ¶ added in v0.16.0
ResetLifecycle is used by `ship update --headed` to reset the saved stepsCompleted in the state.json
func (*MManager) SaveKustomize ¶
func (*MManager) SerializeAppMetadata ¶ added in v0.16.0
func (m *MManager) SerializeAppMetadata(metadata api.ReleaseMetadata) error
SerializeAppMetadata is used by `ship app` to serialize replicated app metadata to state file
func (*MManager) SerializeConfig ¶
func (m *MManager) SerializeConfig(assets []api.Asset, meta api.ReleaseMetadata, templateContext map[string]interface{}) error
SerializeConfig takes the application data and input params and serializes a state file to disk
func (*MManager) SerializeContentSHA ¶
SerializeContentSHA writes the contentSHA to the state file
func (*MManager) SerializeHelmValues ¶
SerializeHelmValues takes user input helm values and serializes a state file to disk
func (*MManager) SerializeNamespace ¶ added in v0.30.0
SerializeNamespace serializes to disk the namespace to use for helm template
func (*MManager) SerializeReleaseName ¶ added in v0.20.0
SerializeReleaseName serializes to disk the name to use for helm template
func (*MManager) SerializeShipMetadata ¶ added in v0.16.0
func (m *MManager) SerializeShipMetadata(metadata api.ShipAppMetadata, applicationType string) error
SerializeShipMetadata is used by `ship init` to serialize metadata from ship applications to state file
func (*MManager) SerializeUpstream ¶
SerializeUpstream is used by `ship init` to serialize a state file with ChartURL to disk
func (*MManager) SerializeUpstreamContents ¶ added in v0.47.0
func (m *MManager) SerializeUpstreamContents(contents *UpstreamContents) error
SerializeConfig takes the application data and input params and serializes a state file to disk
func (*MManager) StateUpdate ¶ added in v0.47.0
applies the provided updater to the current state. Returns the new state and err
func (*MManager) UpdateVersion ¶ added in v0.47.0
func (m *MManager) UpdateVersion()
type Manager ¶
type Manager interface {
SerializeHelmValues(values string, defaults string) error
SerializeReleaseName(name string) error
SerializeNamespace(namespace string) error
SerializeConfig(
assets []api.Asset,
meta api.ReleaseMetadata,
templateContext map[string]interface{},
) error
CachedState() (State, error)
CommitState() error
ReloadFile() error
StateUpdate(updater Update) (State, error)
RemoveStateFile() error
SaveKustomize(kustomize *Kustomize) error
SerializeUpstream(URL string) error
SerializeContentSHA(contentSHA string) error
SerializeShipMetadata(api.ShipAppMetadata, string) error
SerializeAppMetadata(api.ReleaseMetadata) error
SerializeUpstreamContents(contents *UpstreamContents) error
Save(v State) error
ResetLifecycle() error
UpdateVersion()
AddCert(name string, newCert util.CertType) error
AddCA(name string, newCA util.CAType) error
}
func GetManager ¶ added in v0.48.0
GetManager will create and return a singleton state manager object. This should be used in everything that isn't a test.
func GetSingleton ¶ added in v0.48.0
func GetSingleton() Manager
type Metadata ¶ added in v0.17.1
type Metadata struct {
ApplicationType string `json:"applicationType" yaml:"applicationType" hcl:"applicationType"`
Sequence int64 `json:"sequence" yaml:"sequence" hcl:"sequence" meta:"sequence"`
Icon string `json:"icon,omitempty" yaml:"icon,omitempty" hcl:"icon,omitempty"`
Name string `json:"name,omitempty" yaml:"name,omitempty" hcl:"name,omitempty"`
ReleaseNotes string `json:"releaseNotes" yaml:"releaseNotes" hcl:"releaseNotes"`
Version string `json:"version" yaml:"version" hcl:"version"`
CustomerID string `json:"customerID,omitempty" yaml:"customerID,omitempty" hcl:"customerID,omitempty"`
InstallationID string `json:"installationID,omitempty" yaml:"installationID,omitempty" hcl:"installationID,omitempty"`
LicenseID string `json:"licenseID,omitempty" yaml:"licenseID,omitempty" hcl:"licenseID,omitempty"`
AppSlug string `json:"appSlug,omitempty" yaml:"appSlug,omitempty" hcl:"appSlug,omitempty"`
License License `json:"license" yaml:"license" hcl:"license"`
}
type Overlay ¶
type Overlay struct {
ExcludedBases []string `json:"excludedBases,omitempty" yaml:"excludedBases,omitempty" hcl:"excludedBases,omitempty"`
Patches map[string]string `json:"patches,omitempty" yaml:"patches,omitempty" hcl:"patches,omitempty"`
Resources map[string]string `json:"resources,omitempty" yaml:"resources,omitempty" hcl:"resources,omitempty"`
RawKustomize types.Kustomization `json:"-"`
}
func NewOverlay ¶ added in v0.17.0
func NewOverlay() Overlay
type ShipRelease ¶ added in v0.47.0
type ShipRelease struct {
ID string `json:"id"`
Sequence int64 `json:"sequence"`
ChannelID string `json:"channelId"`
ChannelName string `json:"channelName"`
ChannelIcon string `json:"channelIcon"`
Semver string `json:"semver"`
ReleaseNotes string `json:"releaseNotes"`
Spec string `json:"spec"`
Images []Image `json:"images"`
GithubContents []GithubContent `json:"githubContents"`
Created string `json:"created"` // TODO: this time is not in RFC 3339 format
RegistrySecret string `json:"registrySecret,omitempty"`
EntitlementSpec string `json:"entitlementSpec,omitempty"`
Entitlements api.Entitlements `json:"entitlements,omitempty"`
ConfigSpec string `json:"configSpec,omitempty"`
CollectSpec string `json:"collectSpec,omitempty"`
AnalyzeSpec string `json:"analyzeSpec,omitempty"`
}
ShipRelease is the release response from GQL
func (*ShipRelease) ToReleaseMeta ¶ added in v0.47.0
func (r *ShipRelease) ToReleaseMeta() api.ReleaseMetadata
ToReleaseMeta linter
type State ¶
type State struct {
V1 *V1 `json:"v1,omitempty" yaml:"v1,omitempty" hcl:"v1,omitempty"`
}
func (State) CurrentConfig ¶
func (State) CurrentHelmValues ¶
func (State) CurrentHelmValuesDefaults ¶
func (State) CurrentKustomize ¶
func (State) CurrentKustomizeOverlay ¶
func (State) CurrentNamespace ¶ added in v0.30.0
func (State) CurrentReleaseName ¶ added in v0.20.0
func (State) ReleaseMetadata ¶ added in v0.47.0
func (v State) ReleaseMetadata() *api.ReleaseMetadata
func (State) UpstreamContents ¶ added in v0.47.0
func (v State) UpstreamContents() *UpstreamContents
type StepsCompleted ¶
type StepsCompleted map[string]interface{}
func (StepsCompleted) String ¶
func (s StepsCompleted) String() string
type UpstreamContents ¶ added in v0.47.0
type UpstreamContents struct {
UpstreamFiles []UpstreamFile `json:"upstreamFiles,omitempty" yaml:"upstreamFiles,omitempty" hcl:"upstreamFiles,omitempty"`
AppRelease *ShipRelease `json:"appRelease,omitempty" yaml:"appRelease,omitempty" hcl:"appRelease,omitempty"`
}
type UpstreamFile ¶ added in v0.47.0
type V1 ¶
type V1 struct {
Config map[string]interface{} `json:"config" yaml:"config" hcl:"config"`
Terraform *Terraform `json:"terraform,omitempty" yaml:"terraform,omitempty" hcl:"terraform,omitempty"`
HelmValues string `json:"helmValues,omitempty" yaml:"helmValues,omitempty" hcl:"helmValues,omitempty"`
ReleaseName string `json:"releaseName,omitempty" yaml:"releaseName,omitempty" hcl:"releaseName,omitempty"`
Namespace string `json:"namespace,omitempty" yaml:"namespace,omitempty" hcl:"namespace,omitempty"`
HelmValuesDefaults string `json:"helmValuesDefaults,omitempty" yaml:"helmValuesDefaults,omitempty" hcl:"helmValuesDefaults,omitempty"`
Kustomize *Kustomize `json:"kustomize,omitempty" yaml:"kustomize,omitempty" hcl:"kustomize,omitempty"`
Upstream string `json:"upstream,omitempty" yaml:"upstream,omitempty" hcl:"upstream,omitempty"`
Metadata *Metadata `json:"metadata,omitempty" yaml:"metadata,omitempty" hcl:"metadata,omitempty"`
UpstreamContents *UpstreamContents `json:"upstreamContents,omitempty" yaml:"upstreamContents,omitempty" hcl:"upstreamContents,omitempty"`
ShipVersion *version.Build `json:"shipVersion,omitempty" yaml:"shipVersion,omitempty" hcl:"shipVersion,omitempty"`
//deprecated in favor of upstream
ChartURL string `json:"chartURL,omitempty" yaml:"chartURL,omitempty" hcl:"chartURL,omitempty"`
ChartRepoURL string `json:"ChartRepoURL,omitempty" yaml:"ChartRepoURL,omitempty" hcl:"ChartRepoURL,omitempty"`
ChartVersion string `json:"ChartVersion,omitempty" yaml:"ChartVersion,omitempty" hcl:"ChartVersion,omitempty"`
ContentSHA string `json:"contentSHA,omitempty" yaml:"contentSHA,omitempty" hcl:"contentSHA,omitempty"`
Lifecycle *Lifeycle `json:"lifecycle,omitempty" yaml:"lifecycle,omitempty" hcl:"lifecycle,omitempty"`
CAs map[string]util.CAType `json:"cas,omitempty" yaml:"cas,omitempty" hcl:"cas,omitempty"`
Certs map[string]util.CertType `json:"certs,omitempty" yaml:"certs,omitempty" hcl:"certs,omitempty"`
}