types

package
v0.64.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 17, 2024 License: MIT Imports: 4 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type App

type App struct {
	ID           string `json:"id"`
	Name         string `json:"name"`
	Scheduler    string `json:"scheduler"`
	Slug         string `json:"slug"`
	IsFoundation bool   `json:"isFoundation"`
}

type AppAndChannels

type AppAndChannels struct {
	App      *App      `json:"app"`
	Channels []Channel `json:"channels"`
}

type AppRelease added in v0.54.0

type AppRelease struct {
	Config               string                `json:"config,omitempty"`
	CreatedAt            time.Time             `json:"createdAt,omitempty"`
	Editable             bool                  `json:"editable,omitempty"`
	EditedAt             time.Time             `json:"editedAt,omitempty"`
	Sequence             int64                 `json:"sequence,omitempty"`
	Charts               []Chart               `json:"charts,omitempty"`
	CompatibilityResults []CompatibilityResult `json:"compatibilityResults,omitempty"`
	IsHelmOnly           bool                  `json:"isHelmOnly,omitempty"`
}

type Channel

type Channel struct {
	ID          string `json:"id"`
	Name        string `json:"name"`
	Description string `json:"description"`
	Slug        string `json:"channelSlug"`

	ReleaseSequence int64  `json:"releaseSequence"`
	ReleaseLabel    string `json:"releaseLabel"`

	IsArchived bool `json:"isArchived"`
	IsHelmOnly bool `json:"isHelmOnly"`
}

type ChannelRelease added in v0.37.0

type ChannelRelease struct {
	AirgapBuildError  string    `json:"airgapBuildError,omitempty"`
	AirgapBuildStatus string    `json:"airgapBuildStatus,omitempty"`
	ChannelIcon       string    `json:"channelIcon,omitempty"`
	ChannelId         string    `json:"channelId,omitempty"`
	ChannelName       string    `json:"channelName,omitempty"`
	ChannelSequence   int32     `json:"channelSequence,omitempty"`
	Created           time.Time `json:"created,omitempty"`
	RegistrySecret    string    `json:"registrySecret,omitempty"`
	ReleaseNotes      string    `json:"releaseNotes,omitempty"`
	ReleasedAt        time.Time `json:"releasedAt,omitempty"`
	Semver            string    `json:"semver,omitempty"`
	Sequence          int32     `json:"sequence,omitempty"`
	Updated           time.Time `json:"updated,omitempty"`
}

type Chart added in v0.53.1

type Chart struct {
	Name      string      `json:"name"`
	Version   string      `json:"version"`
	Status    ChartStatus `json:"status"`
	Error     string      `json:"error,omitempty"`
	UpdatedAt *time.Time  `json:"updatedAt,omitempty"`
}

type ChartRelease added in v0.52.0

type ChartRelease struct {
	Name             string `json:"name"`
	Version          string `json:"version"`
	Weight           int    `json:"weight"`
	Error            string `json:"error"`
	HasPreflightSpec bool   `json:"hasPreflightSpec"`
}

type ChartStatus added in v0.53.1

type ChartStatus string
var (
	ChartStatusUnknown ChartStatus = "unknown"
	ChartStatusPushing ChartStatus = "pushing"
	ChartStatusPushed  ChartStatus = "pushed"
	ChartStatusError   ChartStatus = "error"
)

type Cluster added in v0.44.0

type Cluster struct {
	ID                     string `json:"id"`
	Name                   string `json:"name"`
	KubernetesDistribution string `json:"kubernetes_distribution"`
	KubernetesVersion      string `json:"kubernetes_version"`
	NodeCount              int    `json:"node_count"`
	DiskGiB                int64  `json:"disk_gib"`

	Status    ClusterStatus `json:"status"`
	CreatedAt time.Time     `json:"created_at"`
	ExpiresAt time.Time     `json:"expires_at"`

	Tags []Tag `json:"tags"`
}

type ClusterDistributionStatus added in v0.59.7

type ClusterDistributionStatus struct {
	Enabled       bool   `json:"enabled"`
	Status        string `json:"status"`
	StatusMessage string `json:"status_message"`
}

type ClusterStatus added in v0.55.0

type ClusterStatus string
const (
	ClusterStatusQueued       ClusterStatus = "queued"        // Not assigned to a runner yet
	ClusterStatusAssigned     ClusterStatus = "assigned"      // Assigned to a runner, but have not heard back from the runner
	ClusterStatusPreparing    ClusterStatus = "preparing"     // The runner sets this when is receives the request
	ClusterStatusProvisioning ClusterStatus = "provisioning"  // The runner sets this when it starts provisioning
	ClusterStatusRunning      ClusterStatus = "running"       // The runner sets this when it is done provisioning or upgrading and available
	ClusterStatusTerminated   ClusterStatus = "terminated"    // This is set when the cluster expires or is deleted
	ClusterStatusError        ClusterStatus = "error"         // Something unexpected
	ClusterStatusUpgrading    ClusterStatus = "upgrading"     // The runner sets this when it starts upgrading
	ClusterStatusUpgradeError ClusterStatus = "upgrade_error" // Something unexpected during an upgrade
	ClusterStatusDeleted      ClusterStatus = "deleted"
)

type ClusterVersion added in v0.50.0

type ClusterVersion struct {
	Name          string                     `json:"short_name"`
	Versions      []string                   `json:"versions"`
	InstanceTypes []string                   `json:"instance_types"`
	NodesMax      int                        `json:"nodes_max"`
	Status        *ClusterDistributionStatus `json:"status,omitempty"`
}

type CollectorInfo added in v0.12.0

type CollectorInfo struct {
	ActiveChannels []Channel
	AppID          string
	CreatedAt      time.Time
	EditedAt       time.Time
	Name           string
	SpecID         string
	Config         string
}

type CompatibilityResult added in v0.57.0

type CompatibilityResult struct {
	Distribution string     `json:"distribution"`
	Version      string     `json:"version"`
	SuccessAt    *time.Time `json:"successAt,omitempty"`
	SuccessNotes string     `json:"successNotes,omitempty"`
	FailureAt    *time.Time `json:"failureAt,omitempty"`
	FailureNotes string     `json:"failureNotes,omitempty"`
}

type CreateChannelRequest added in v0.37.0

type CreateChannelRequest struct {
	// Description of the channel that is to be created.
	Description string `json:"description,omitempty"`
	// Enterprise Partner Channel Id to be added to channel.
	EnterprisePartnerChannelID string `json:"enterprisePartnerChannelID,omitempty"`
	Name                       string `json:"name"`
}

type CreateInstallerRequest added in v0.37.0

type CreateInstallerRequest struct {
	Yaml string `json:"yaml"`
}

type CustomHostNameOverrides added in v0.52.0

type CustomHostNameOverrides struct {
	Registry struct {
		Hostname string `json:"hostname"`
	} `json:"registry"`

	Proxy struct {
		Hostname string `json:"hostname"`
	} `json:"proxy"`

	DownloadPortal struct {
		Hostname string `json:"hostname"`
	} `json:"downloadPortal"`

	ReplicatedApp struct {
		Hostname string `json:"hostname"`
	} `json:"replicatedApp"`
}

type CustomHostname added in v0.52.0

type CustomHostname struct {
	TeamID                     string    `json:"team_id"`
	OriginServer               string    `json:"origin_server"`
	Hostname                   string    `json:"hostname"`
	CreatedAt                  time.Time `json:"created_at"`
	UpdatedAt                  time.Time `json:"updated_at"`
	DomainVerificationType     string    `json:"domain_verification_type"`
	DomainVerificationStatus   string    `json:"domain_verification_status"`
	DomainTxtRecordName        string    `json:"domain_txt_record_name"`
	DomainTxtRecordValue       string    `json:"domain_txt_record_value"`
	TLSVerificationType        string    `json:"tls_verification_type"`
	TLSVerificationStatus      string    `json:"tls_verification_status"`
	TLSTxtRecordName           string    `json:"tls_txt_record_name"`
	TLSTxtRecordValue          string    `json:"tls_txt_record_value"`
	CloudflareCustomHostnameID string    `json:"cloudflare_custom_hostname_id"`
	CloudflareWorkerRouteID    string    `json:"cloudflare_worker_route_id,omitempty"`
	VerificationErrors         []string  `json:"verification_errors"`
	FailureCount               int       `json:"failure_count"`
	FailureReason              string    `json:"failure_reason"`
}

CustomHostname represents a custom hostname in cloudflare for a team

type Customer added in v0.18.0

type Customer struct {
	ID             string     `json:"id"`
	Name           string     `json:"name"`
	Email          string     `json:"email"`
	Channels       []Channel  `json:"channels"`
	Type           string     `json:"type"`
	Expires        *util.Time `json:"expiresAt"`
	Instances      []Instance `json:"instances"`
	InstallationID string     `json:"installationId"`
}

func (Customer) WithExpiryTime added in v0.18.0

func (c Customer) WithExpiryTime(expiryTime string) (Customer, error)

type CustomerAdoption added in v0.37.0

type CustomerAdoption struct {
	ChannelId       string  `json:"channelId,omitempty"`
	Count           int32   `json:"count,omitempty"`
	Percent         float32 `json:"percent,omitempty"`
	ReleaseSequence int32   `json:"releaseSequence,omitempty"`
	Semver          string  `json:"semver,omitempty"`
	TotalOnChannel  int64   `json:"totalOnChannel,omitempty"`
}

type EntitlementSpec added in v0.11.0

type EntitlementSpec struct {
	ID        string `json:"id,omitempty"`
	Spec      string `json:"spec,omitempty"`
	Name      string `json:"name,omitempty"`
	CreatedAt string `json:"createdAt,omitempty"`
}

type EntitlementValue added in v0.11.0

type EntitlementValue struct {
	Name  string `json:"name,omitempty"`
	Value string `json:"value,omitempty"`
}

type EntitlementValueResponse added in v0.37.0

type EntitlementValueResponse struct {
	ID         string `json:"id,omitempty"`
	SpecID     string `json:"specId,omitempty"`
	CustomerID string `json:"customerId,omitempty"`
	Key        string `json:"key,omitempty"`
	Value      string `json:"value,omitempty"`
}

type InstallerSpec added in v0.21.0

type InstallerSpec struct {
	AppID           string    `json:"appId"`
	KurlInstallerID string    `json:"kurlInstallerID"`
	Sequence        int64     `json:"sequence"`
	YAML            string    `json:"yaml"`
	ActiveChannels  []Channel `json:"channels"`
	CreatedAt       util.Time `json:"created"`
	CreatedAtString string    `json:"createdAt"`
	Immutable       bool      `json:"isInstallerNotEditable"`
}

type InstallerSpecResponse added in v0.37.0

type InstallerSpecResponse struct {
	Body InstallerSpec `json:"installer"`
}

type Instance added in v0.51.0

type Instance struct {
	LicenseID      string           `json:"licenseId,omitempty"`
	InstanceID     string           `json:"instanceId,omitempty"`
	ClusterID      string           `json:"clusterId,omitempty"`
	CreatedAt      time.Time        `json:"createdAt,omitempty"`
	LastActive     time.Time        `json:"lastActive,omitempty"`
	AppStatus      string           `json:"appStatus,omitempty"`
	Active         bool             `json:"active,omitempty"`
	VersionHistory []VersionHistory `json:"versionHistory,omitempty"`
	Tags           Tags             `json:"tags,omitempty"` // must be Tags type for template evaluation
}

func (Instance) LatestVersion added in v0.64.0

func (i Instance) LatestVersion() string

Used for template evaluation

func (Instance) Name added in v0.64.0

func (i Instance) Name() string

Used for template evaluation

type KotsAppChannel added in v0.37.0

type KotsAppChannel struct {
	Id   string `json:"id,omitempty"`
	Name string `json:"name,omitempty"`
}

type KotsAppCustomHostname added in v0.52.0

type KotsAppCustomHostname struct {
	AppID     string `json:"app_id"`
	IsDefault bool   `json:"is_default"`
	CustomHostname
}

KotsAppCustomHostname represents a custom hostname configured for a kots app

type KotsAppCustomHostnames added in v0.52.0

type KotsAppCustomHostnames struct {
	Registry       []KotsAppCustomHostname `json:"registry"`
	Proxy          []KotsAppCustomHostname `json:"proxy"`
	DownloadPortal []KotsAppCustomHostname `json:"downloadPortal"`
	ReplicatedApp  []KotsAppCustomHostname `json:"replicatedApp"`
}

KotsAppCustomHostnames all custom hostnames configured for a kots app

type KotsAppRelease added in v0.33.2

type KotsAppRelease struct {
	AppID                string                `json:"appId"`
	Sequence             int64                 `json:"sequence"`
	CreatedAt            time.Time             `json:"created"`
	IsArchived           bool                  `json:"isArchived"`
	Spec                 string                `json:"spec"`
	ReleaseNotes         string                `json:"releaseNotes"`
	IsReleaseNotEditable bool                  `json:"isReleaseNotEditable"`
	Channels             []*Channel            `json:"channels"`
	Charts               []Chart               `json:"charts"`
	CompatibilityResults []CompatibilityResult `json:"compatibilityResults"`
	IsHelmOnly           bool                  `json:"isHelmOnly"`
}

type KotsAppWithChannels added in v0.37.0

type KotsAppWithChannels struct {
	Channels     []Channel `json:"channels,omitempty"`
	Created      time.Time `json:"created,omitempty"`
	Description  string    `json:"description,omitempty"`
	Id           string    `json:"id,omitempty"`
	IsArchived   bool      `json:"isArchived,omitempty"`
	IsKotsApp    bool      `json:"isKotsApp,omitempty"`
	IsFoundation bool      `json:"isFoundation,omitempty"`
	Name         string    `json:"name,omitempty"`
	RenamedAt    time.Time `json:"renamedAt,omitempty"`
	Slug         string    `json:"slug,omitempty"`
	TeamId       string    `json:"teamId,omitempty"`
}

type KotsChannel added in v0.37.0

type KotsChannel struct {
	AdoptionRate               []CustomerAdoption            `json:"adoptionRate,omitempty"`
	AppId                      string                        `json:"appId,omitempty"`
	BuildAirgapAutomatically   bool                          `json:"buildAirgapAutomatically,omitempty"`
	ChannelIcon                string                        `json:"channelIcon,omitempty"`
	ChannelSequence            int32                         `json:"channelSequence,omitempty"`
	ChannelSlug                string                        `json:"channelSlug,omitempty"`
	Created                    time.Time                     `json:"created,omitempty"`
	CurrentVersion             string                        `json:"currentVersion,omitempty"`
	Customers                  *TotalActiveInactiveCustomers `json:"customers,omitempty"`
	Description                string                        `json:"description,omitempty"`
	EnterprisePartnerChannelID string                        `json:"enterprisePartnerChannelID,omitempty"`
	Id                         string                        `json:"id,omitempty"`
	IsArchived                 bool                          `json:"isArchived,omitempty"`
	IsDefault                  bool                          `json:"isDefault,omitempty"`
	Name                       string                        `json:"name,omitempty"`
	NumReleases                int32                         `json:"numReleases,omitempty"`
	IsHelmOnly                 bool                          `json:"isHelmOnly,omitempty"`
	ReleaseNotes               string                        `json:"releaseNotes,omitempty"`
	// TODO: set these (see kotsChannelToSchema function)
	ReleaseSequence          int32                   `json:"releaseSequence,omitempty"`
	Releases                 []ChannelRelease        `json:"releases,omitempty"`
	Updated                  time.Time               `json:"updated,omitempty"`
	ReplicatedRegistryDomain string                  `json:"replicatedRegistryDomain"`
	CustomHostNameOverrides  CustomHostNameOverrides `json:"customHostNameOverrides"`
	ChartReleases            []ChartRelease          `json:"chartReleases"`
}

func (*KotsChannel) ToChannel added in v0.55.0

func (c *KotsChannel) ToChannel() *Channel

type KotsCreateReleaseRequest added in v0.36.1

type KotsCreateReleaseRequest struct {
	SpecGzip []byte `json:"spec_gzip"`
}

type KotsGetReleaseResponse added in v0.36.1

type KotsGetReleaseResponse struct {
	Release KotsAppRelease `json:"release"`
}

type KotsListReleasesResponse added in v0.36.1

type KotsListReleasesResponse struct {
	Releases []*KotsAppRelease `json:"releases"`
}

KotsListReleasesResponse contains the JSON releases list

type KotsPromoteReleaseRequest added in v0.37.0

type KotsPromoteReleaseRequest struct {
	ReleaseNotes   string   `json:"releaseNotes"`
	VersionLabel   string   `json:"versionLabel"`
	IsRequired     bool     `json:"isRequired"`
	ChannelIDs     []string `json:"channelIds"`
	IgnoreWarnings bool     `json:"ignoreWarnings"`
}

type KotsTestReleaseResponse added in v0.44.0

type KotsTestReleaseResponse struct {
}

type KotsUpdateReleaseRequest added in v0.36.1

type KotsUpdateReleaseRequest struct {
	SpecGzip []byte `json:"spec_gzip"`
}

type LintLinePosition added in v0.8.0

type LintLinePosition struct {
	Position int64 `json:"position"`
	Line     int64 `json:"line"`
	Column   int64 `json:"column"`
}

type LintMessage added in v0.8.0

type LintMessage struct {
	Rule      string          `json:"rule"`
	Type      string          `json:"type"`
	Path      string          `json:"path"`
	Message   string          `json:"message"`
	Positions []*LintPosition `json:"positions"`
}

type LintPosition added in v0.8.0

type LintPosition struct {
	Path  string           `json:"path"`
	Start LintLinePosition `json:"start"`
	End   LintLinePosition `json:"end"`
}

type ListInstallersResponse added in v0.37.1

type ListInstallersResponse struct {
	Body []InstallerSpec `json:"installers"`
}

type PlatformChannel added in v0.12.0

type PlatformChannel struct {
	ID   string
	Name string
}

type PromoteInstallerRequest added in v0.37.0

type PromoteInstallerRequest struct {
	Sequence     int64  `json:"sequence"`
	VersionLabel string `json:"versionLabel"`
	ChannelID    string `json:"channelId"`
}

type Registry added in v0.40.4

type Registry struct {
	Provider   string     `json:"provider"`
	Endpoint   string     `json:"endpoint"`
	AuthType   string     `json:"authType"`
	Username   string     `json:"username"`
	LastUsedAt *time.Time `json:"lastUsedAt"`
}

type RegistryLog added in v0.40.4

type RegistryLog struct {
	CreatedAt string  `json:"createdAt"`
	Action    string  `json:"action"`
	Status    *int    `json:"statusCode"`
	Success   bool    `json:"isSuccess"`
	Image     *string `json:"image"`
}

type ReleaseInfo

type ReleaseInfo struct {
	ActiveChannels []Channel `json:"activeChannels"`
	AppID          string    `json:"appId"`
	CreatedAt      time.Time `json:"createdAt"`
	EditedAt       time.Time `json:"editedAt"`
	Editable       bool      `json:"editable"`
	Sequence       int64     `json:"sequence"`
	Version        string    `json:"version"`
	Charts         []Chart   `json:"charts"`
	IsHelmOnly     bool      `json:"isHelmOnly"`
}

type Tag added in v0.64.0

type Tag struct {
	Key   string `json:"key,omitempty"`
	Value string `json:"value,omitempty"`
}

func (Tag) String added in v0.64.0

func (t Tag) String() string

Used for template evaluation

type Tags added in v0.64.0

type Tags []Tag

func (Tags) String added in v0.64.0

func (t Tags) String() string

Used for template evaluation

type TotalActiveInactiveCustomers added in v0.37.0

type TotalActiveInactiveCustomers struct {
	ActiveCustomers   int64 `json:"activeCustomers,omitempty"`
	InactiveCustomers int64 `json:"inactiveCustomers,omitempty"`
	TotalCustomers    int64 `json:"totalCustomers,omitempty"`
}

type UpdateChannelRequest added in v0.38.0

type UpdateChannelRequest struct {
	// Description of the channel that is to be created.
	Name           string `json:"name"`
	SemverRequired bool   `json:"semverRequired,omitempty"`
}

type VersionHistory added in v0.51.0

type VersionHistory struct {
	InstanceID                string    `json:"instanceId,omitempty"`
	ClusterID                 string    `json:"clusterId,omitempty"`
	VersionLabel              string    `json:"versionLabel,omitempty"`
	DownStreamChannelID       string    `json:"downstreamChannelId,omitempty"`
	DownStreamReleaseSequence int32     `json:"downstreamReleaseSequence,omitempty"`
	IntervalStart             time.Time `json:"intervalStart,omitempty"`
	IntervalLast              time.Time `json:"intervallast,omitempty"`
	RepHelmCount              int32     `json:"repHelmCount,omitempty"`
	NativeHelmCount           int32     `json:"nativeHelmCount,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL