Documentation ¶
Index ¶
- Constants
- Variables
- func Base64EncodedPublicKey(pubKey ssh2.PublicKey) string
- func ContainsDomain(source, target string) bool
- func DBName(applicationID string) string
- func DeleteArtifact(s Storage, artifactID string) error
- func DeleteBuildLog(s Storage, buildID string) error
- func EncodePrivateKeyPem(privKey ed25519.PrivateKey) (string, error)
- func GetArtifact(s Storage, artifactID string) (r io.ReadCloser, err error)
- func GetBuildLog(s Storage, buildID string) ([]byte, error)
- func GitAuthMethod(repo *Repository, fallbackKey *ssh.PublicKeys) (transport.AuthMethod, error)
- func IntoPublicKey(pk PrivateKey) (*ssh.PublicKeys, error)
- func NewID() string
- func ParseArgs(s string) ([]string, error)
- func SaveArtifact(s Storage, artifactID string, src io.Reader) error
- func SaveBuildLog(s Storage, buildID string, src io.Reader) error
- func ValidateDomain(domain string) error
- func ValidatePossibleWildcardDomain(domain string) error
- func ValidateWildcardDomain(domain string) error
- type AdditionalLink
- type AppMetric
- type Application
- func (a *Application) Apply(args *UpdateApplicationArgs)
- func (a *Application) IsOwner(user *User) bool
- func (a *Application) SelfValidate() error
- func (a *Application) Validate(actor *User, existingApps []*Application, domains AvailableDomainSlice, ...) error
- func (a *Application) WebsiteConflicts(existing []*Application, actor *User) bool
- type ApplicationConfig
- type ApplicationRepository
- type Artifact
- type ArtifactRepository
- type AuthenticationType
- type AutoShutdownConfig
- type AvailableDomain
- type AvailableDomainSlice
- type AvailablePort
- type AvailablePortSlice
- type AvatarBaseURL
- type Backend
- type Build
- type BuildConfig
- type BuildConfigRuntimeBuildpack
- type BuildConfigRuntimeCmd
- type BuildConfigRuntimeDockerfile
- type BuildConfigStaticBuildpack
- type BuildConfigStaticCmd
- type BuildConfigStaticDockerfile
- type BuildRepository
- type BuildStatus
- type BuildType
- type BuilderSystemInfo
- type BuildpackHelperServiceClient
- type CommitAuthorSignature
- type Container
- type ContainerEvent
- type ContainerLog
- type ContainerLogger
- type ContainerState
- type ControllerBuilderService
- type ControllerBuilderServiceClient
- type ControllerGiteaIntegrationService
- type ControllerGiteaIntegrationServiceClient
- type ControllerSSGenService
- type ControllerSSGenServiceClient
- type ControllerServiceClient
- type CreateArgs
- type CreateUserArgs
- type DeleteArgs
- type DeployType
- type DesiredState
- type Environment
- type EnvironmentRepository
- type GetApplicationCondition
- type GetArtifactCondition
- type GetBuildCondition
- type GetEnvCondition
- type GetRepositoryCondition
- type GetUserCondition
- type GetUserKeyCondition
- type GitRepositoryRepository
- type MariaDBManager
- type MetricsService
- type MongoDBManager
- type PortPublication
- type PortPublicationProtocol
- type PrivateKey
- type PubSub
- type Repository
- func (r *Repository) Apply(args *UpdateRepositoryArgs)
- func (r *Repository) CanCreateApp(user *User) bool
- func (r *Repository) HTMLURL() string
- func (r *Repository) IsOwner(user *User) bool
- func (r *Repository) ResolveRefs(ctx context.Context, fallbackKey *ssh.PublicKeys) (refToCommit map[string]string, err error)
- func (r *Repository) Validate() error
- type RepositoryAuth
- type RepositoryAuthMethod
- type RepositoryCommit
- type RepositoryCommitRepository
- type RuntimeConfig
- type RuntimeDesiredState
- type RuntimeImage
- type RuntimeImageRepository
- type SSHConfig
- type StartBuildRequest
- type StartupBehavior
- type StaticConfig
- type StaticServer
- type StaticServerDocumentRootPath
- type StaticSite
- type Storage
- type StorageConfig
- type SystemInfo
- type UpdateApplicationArgs
- type UpdateArtifactArgs
- type UpdateBuildArgs
- type UpdateRepositoryArgs
- type User
- type UserKey
- type UserRepository
- type Website
- type WildcardDomains
Constants ¶
View Source
const ( EnvPrefix = "NS_" EnvMariaDBHostnameKey = EnvPrefix + "MARIADB_HOSTNAME" EnvMariaDBPortKey = EnvPrefix + "MARIADB_PORT" EnvMariaDBUserKey = EnvPrefix + "MARIADB_USER" EnvMariaDBPasswordKey = EnvPrefix + "MARIADB_PASSWORD" EnvMariaDBDatabaseKey = EnvPrefix + "MARIADB_DATABASE" EnvMongoDBHostnameKey = EnvPrefix + "MONGODB_HOSTNAME" EnvMongoDBPortKey = EnvPrefix + "MONGODB_PORT" EnvMongoDBUserKey = EnvPrefix + "MONGODB_USER" EnvMongoDBPasswordKey = EnvPrefix + "MONGODB_PASSWORD" EnvMongoDBDatabaseKey = EnvPrefix + "MONGODB_DATABASE" )
All environment variables injected by neoshowcase must have NS_ prefix
View Source
const BuilderStaticArtifactName = "website.tar.gz"
View Source
const IDLength = 22
Variables ¶
View Source
var EmptyCommit = strings.Repeat("0", 40)
View Source
var ( // ErrFileNotFound ファイルが存在しない ErrFileNotFound = errors.New("not found") )
Functions ¶
func Base64EncodedPublicKey ¶
func ContainsDomain ¶ added in v0.4.0
func DeleteArtifact ¶
func DeleteBuildLog ¶
func EncodePrivateKeyPem ¶ added in v0.6.0
func EncodePrivateKeyPem(privKey ed25519.PrivateKey) (string, error)
func GetArtifact ¶
func GetArtifact(s Storage, artifactID string) (r io.ReadCloser, err error)
func GitAuthMethod ¶
func GitAuthMethod(repo *Repository, fallbackKey *ssh.PublicKeys) (transport.AuthMethod, error)
func IntoPublicKey ¶ added in v1.1.0
func IntoPublicKey(pk PrivateKey) (*ssh.PublicKeys, error)
func SaveArtifact ¶
SaveArtifact Artifactをtar形式で保存する
func ValidateDomain ¶
func ValidatePossibleWildcardDomain ¶ added in v0.4.0
func ValidateWildcardDomain ¶
Types ¶
type AdditionalLink ¶ added in v1.4.0
type Application ¶
type Application struct { ID string Name string RepositoryID string RefName string Commit string DeployType DeployType Running bool Container ContainerState ContainerMessage string CurrentBuild string CreatedAt time.Time UpdatedAt time.Time Config ApplicationConfig Websites []*Website PortPublications []*PortPublication OwnerIDs []string }
func (*Application) Apply ¶
func (a *Application) Apply(args *UpdateApplicationArgs)
func (*Application) IsOwner ¶
func (a *Application) IsOwner(user *User) bool
func (*Application) SelfValidate ¶
func (a *Application) SelfValidate() error
func (*Application) Validate ¶
func (a *Application) Validate( actor *User, existingApps []*Application, domains AvailableDomainSlice, ports AvailablePortSlice, ) error
func (*Application) WebsiteConflicts ¶
func (a *Application) WebsiteConflicts(existing []*Application, actor *User) bool
type ApplicationConfig ¶
type ApplicationConfig struct {
BuildConfig BuildConfig
}
func (*ApplicationConfig) Hash ¶ added in v0.13.0
func (c *ApplicationConfig) Hash(env []*Environment) string
func (*ApplicationConfig) Validate ¶
func (c *ApplicationConfig) Validate(deployType DeployType) error
type ApplicationRepository ¶
type ApplicationRepository interface { GetApplications(ctx context.Context, cond GetApplicationCondition) ([]*Application, error) GetApplication(ctx context.Context, id string) (*Application, error) CreateApplication(ctx context.Context, app *Application) error UpdateApplication(ctx context.Context, id string, args *UpdateApplicationArgs) error BulkUpdateState(ctx context.Context, states []*Container) error DeleteApplication(ctx context.Context, id string) error }
type Artifact ¶
type ArtifactRepository ¶
type ArtifactRepository interface { GetArtifact(ctx context.Context, id string) (*Artifact, error) GetArtifacts(ctx context.Context, cond GetArtifactCondition) ([]*Artifact, error) CreateArtifact(ctx context.Context, artifact *Artifact) error UpdateArtifact(ctx context.Context, id string, args UpdateArtifactArgs) error HardDeleteArtifacts(ctx context.Context, cond GetArtifactCondition) error }
type AuthenticationType ¶
type AuthenticationType int
const ( AuthenticationTypeOff AuthenticationType = iota AuthenticationTypeSoft AuthenticationTypeHard )
type AutoShutdownConfig ¶ added in v1.6.0
type AutoShutdownConfig struct { Enabled bool // Startup must be set if Enabled is true. Startup StartupBehavior }
type AvailableDomain ¶
type AvailableDomain struct { Domain string ExcludeDomains []string AuthAvailable bool AlreadyBound bool // Actual availability (whether domain is bound to a specific app or not) }
func (*AvailableDomain) IsAlreadyBound ¶ added in v0.20.1
func (a *AvailableDomain) IsAlreadyBound(existing []*Application) bool
func (*AvailableDomain) Match ¶ added in v0.4.0
func (a *AvailableDomain) Match(fqdn string) bool
func (*AvailableDomain) Validate ¶
func (a *AvailableDomain) Validate() error
type AvailableDomainSlice ¶
type AvailableDomainSlice []*AvailableDomain
func (AvailableDomainSlice) IsAuthAvailable ¶ added in v0.4.0
func (s AvailableDomainSlice) IsAuthAvailable(fqdn string) bool
func (AvailableDomainSlice) IsAvailable ¶
func (s AvailableDomainSlice) IsAvailable(fqdn string) bool
type AvailablePort ¶ added in v0.3.0
type AvailablePort struct { StartPort int EndPort int Protocol PortPublicationProtocol }
func (*AvailablePort) Validate ¶ added in v0.3.0
func (ap *AvailablePort) Validate() error
type AvailablePortSlice ¶ added in v0.3.0
type AvailablePortSlice []*AvailablePort
func (AvailablePortSlice) IsAvailable ¶ added in v0.3.0
func (s AvailablePortSlice) IsAvailable(port int, protocol PortPublicationProtocol) bool
type AvatarBaseURL ¶ added in v0.4.6
type AvatarBaseURL string
type Backend ¶
type Backend interface { Start(ctx context.Context) error Dispose(ctx context.Context) error AvailableDomains() AvailableDomainSlice AvailablePorts() AvailablePortSlice ListenContainerEvents() (sub <-chan *ContainerEvent, unsub func()) Synchronize(ctx context.Context, s *DesiredState) error GetContainer(ctx context.Context, appID string) (*Container, error) ListContainers(ctx context.Context) ([]*Container, error) AttachContainer(ctx context.Context, appID string, stdin io.Reader, stdout, stderr io.Writer) error ExecContainer(ctx context.Context, appID string, cmd []string, stdin io.Reader, stdout, stderr io.Writer) error }
type Build ¶
type Build struct { ID string Commit string ConfigHash string Status BuildStatus ApplicationID string QueuedAt time.Time StartedAt optional.Of[time.Time] UpdatedAt optional.Of[time.Time] FinishedAt optional.Of[time.Time] Retriable bool Artifacts []*Artifact // for static app RuntimeImage optional.Of[RuntimeImage] // for runtime app if exists }
func NewBuild ¶
func NewBuild(app *Application, env []*Environment) *Build
func (*Build) GetWebsiteArtifact ¶ added in v0.10.1
type BuildConfig ¶
type BuildConfig interface { BuildType() BuildType Validate() error MariaDB() bool MongoDB() bool GetRuntimeConfig() RuntimeConfig GetStaticConfig() StaticConfig // contains filtered or unexported methods }
type BuildConfigRuntimeBuildpack ¶
type BuildConfigRuntimeBuildpack struct { RuntimeConfig Context string // contains filtered or unexported fields }
func (*BuildConfigRuntimeBuildpack) BuildType ¶
func (bc *BuildConfigRuntimeBuildpack) BuildType() BuildType
func (*BuildConfigRuntimeBuildpack) Validate ¶
func (bc *BuildConfigRuntimeBuildpack) Validate() error
type BuildConfigRuntimeCmd ¶
type BuildConfigRuntimeCmd struct { RuntimeConfig BaseImage string BuildCmd string // contains filtered or unexported fields }
func (*BuildConfigRuntimeCmd) BuildType ¶
func (bc *BuildConfigRuntimeCmd) BuildType() BuildType
func (*BuildConfigRuntimeCmd) Validate ¶
func (bc *BuildConfigRuntimeCmd) Validate() error
type BuildConfigRuntimeDockerfile ¶
type BuildConfigRuntimeDockerfile struct { RuntimeConfig DockerfileName string Context string // contains filtered or unexported fields }
func (*BuildConfigRuntimeDockerfile) BuildType ¶
func (bc *BuildConfigRuntimeDockerfile) BuildType() BuildType
func (*BuildConfigRuntimeDockerfile) Validate ¶
func (bc *BuildConfigRuntimeDockerfile) Validate() error
type BuildConfigStaticBuildpack ¶ added in v0.10.0
type BuildConfigStaticBuildpack struct { StaticConfig Context string // contains filtered or unexported fields }
func (*BuildConfigStaticBuildpack) BuildType ¶ added in v0.10.0
func (bc *BuildConfigStaticBuildpack) BuildType() BuildType
func (*BuildConfigStaticBuildpack) Validate ¶ added in v0.10.0
func (bc *BuildConfigStaticBuildpack) Validate() error
type BuildConfigStaticCmd ¶
type BuildConfigStaticCmd struct { StaticConfig BaseImage string BuildCmd string // contains filtered or unexported fields }
func (*BuildConfigStaticCmd) BuildType ¶
func (bc *BuildConfigStaticCmd) BuildType() BuildType
func (*BuildConfigStaticCmd) Validate ¶
func (bc *BuildConfigStaticCmd) Validate() error
type BuildConfigStaticDockerfile ¶
type BuildConfigStaticDockerfile struct { StaticConfig DockerfileName string Context string // contains filtered or unexported fields }
func (*BuildConfigStaticDockerfile) BuildType ¶
func (bc *BuildConfigStaticDockerfile) BuildType() BuildType
func (*BuildConfigStaticDockerfile) Validate ¶
func (bc *BuildConfigStaticDockerfile) Validate() error
type BuildRepository ¶
type BuildRepository interface { GetBuilds(ctx context.Context, cond GetBuildCondition) ([]*Build, error) GetLatestBuilds(ctx context.Context, appIDIn []string) ([]*Build, error) GetBuild(ctx context.Context, buildID string) (*Build, error) CreateBuild(ctx context.Context, build *Build) error UpdateBuild(ctx context.Context, cond GetBuildCondition, args UpdateBuildArgs) (int64, error) MarkCommitAsRetriable(ctx context.Context, applicationID string, commit string) error DeleteBuilds(ctx context.Context, cond GetBuildCondition) error }
type BuildStatus ¶
type BuildStatus int
const ( BuildStatusQueued BuildStatus = iota BuildStatusBuilding BuildStatusSucceeded BuildStatusFailed BuildStatusCanceled BuildStatusSkipped )
func (BuildStatus) IsFinished ¶
func (t BuildStatus) IsFinished() bool
type BuildType ¶
type BuildType int
func (BuildType) DeployType ¶
func (b BuildType) DeployType() DeployType
type BuilderSystemInfo ¶ added in v1.1.0
type BuilderSystemInfo struct { SSHKey PrivateKey ImageConfig builder.ImageConfig }
type BuildpackHelperServiceClient ¶ added in v1.1.0
type CommitAuthorSignature ¶ added in v1.3.0
type Container ¶
type Container struct { ApplicationID string State ContainerState Message string }
type ContainerEvent ¶
type ContainerEvent struct {
ApplicationID string
}
type ContainerLog ¶
type ContainerLogger ¶
type ContainerLogger interface { LogLimit() int Get(ctx context.Context, app *Application, before time.Time, limit int) ([]*ContainerLog, error) Stream(ctx context.Context, app *Application, begin time.Time) (<-chan *ContainerLog, error) }
type ContainerState ¶
type ContainerState int
const ( ContainerStateMissing ContainerState = iota ContainerStateStarting ContainerStateRestarting ContainerStateRunning ContainerStateExited ContainerStateErrored ContainerStateUnknown )
type ControllerBuilderServiceClient ¶
type ControllerBuilderServiceClient interface { GetBuilderSystemInfo(ctx context.Context) (*BuilderSystemInfo, error) PingBuild(ctx context.Context, buildID string) error StreamBuildLog(ctx context.Context, buildID string, send <-chan []byte) error SaveArtifact(ctx context.Context, artifact *Artifact, body []byte) error SaveBuildLog(ctx context.Context, buildID string, body []byte) error SaveRuntimeImage(ctx context.Context, buildId string, size int64) error ConnectBuilder(ctx context.Context, onRequest func(req *pb.BuilderRequest), response <-chan *pb.BuilderResponse) error }
type ControllerGiteaIntegrationService ¶ added in v0.22.0
type ControllerGiteaIntegrationService interface { pbconnect.ControllerGiteaIntegrationServiceHandler Broadcast(req *pb.GiteaIntegrationRequest) }
type ControllerGiteaIntegrationServiceClient ¶ added in v0.22.0
type ControllerGiteaIntegrationServiceClient interface {
Connect(ctx context.Context, onRequest func(req *pb.GiteaIntegrationRequest)) error
}
type ControllerSSGenService ¶
type ControllerSSGenService interface { pbconnect.ControllerSSGenServiceHandler BroadcastSSGen(req *pb.SSGenRequest) }
type ControllerSSGenServiceClient ¶
type ControllerSSGenServiceClient interface {
ConnectSSGen(ctx context.Context, onRequest func(req *pb.SSGenRequest)) error
}
type ControllerServiceClient ¶
type ControllerServiceClient interface { GetSystemInfo(ctx context.Context) (*SystemInfo, error) FetchRepository(ctx context.Context, repositoryID string) error RegisterBuild(ctx context.Context, appID string) error SyncDeployments(ctx context.Context) error StreamBuildLog(ctx context.Context, buildID string) (<-chan *pb.BuildLog, error) CancelBuild(ctx context.Context, buildID string) error }
type CreateArgs ¶
type CreateArgs struct { // Database データベース/ユーザー名 Database string // Password アクセスパスワード Password string }
CreateArgs データベース作成引数
type CreateUserArgs ¶
type CreateUserArgs struct {
Name string
}
type DeleteArgs ¶
type DeleteArgs struct { // Database データベース/ユーザー名 Database string }
DeleteArgs データベース削除引数
type DeployType ¶
type DeployType int
const ( DeployTypeRuntime DeployType = iota DeployTypeStatic )
type DesiredState ¶
type DesiredState struct { Runtime []*RuntimeDesiredState StaticSites []*StaticSite }
type Environment ¶
func (*Environment) GetKV ¶ added in v0.11.0
func (e *Environment) GetKV() (string, string)
func (*Environment) Validate ¶ added in v1.3.0
func (e *Environment) Validate() error
type EnvironmentRepository ¶
type EnvironmentRepository interface { GetEnv(ctx context.Context, cond GetEnvCondition) ([]*Environment, error) SetEnv(ctx context.Context, env *Environment) error DeleteEnv(ctx context.Context, cond GetEnvCondition) error }
type GetApplicationCondition ¶
type GetArtifactCondition ¶
type GetBuildCondition ¶
type GetBuildCondition struct { ID optional.Of[string] IDIn optional.Of[[]string] ApplicationID optional.Of[string] Commit optional.Of[string] CommitIn optional.Of[[]string] ConfigHash optional.Of[string] Status optional.Of[BuildStatus] Retriable optional.Of[bool] Offset optional.Of[int] Limit optional.Of[int] SortAsc optional.Of[bool] }
type GetEnvCondition ¶
type GetRepositoryCondition ¶
type GetUserCondition ¶
type GetUserKeyCondition ¶
type GitRepositoryRepository ¶
type GitRepositoryRepository interface { GetRepositories(ctx context.Context, condition GetRepositoryCondition) ([]*Repository, error) GetRepository(ctx context.Context, id string) (*Repository, error) CreateRepository(ctx context.Context, repo *Repository) error UpdateRepository(ctx context.Context, id string, args *UpdateRepositoryArgs) error DeleteRepository(ctx context.Context, id string) error }
type MariaDBManager ¶
type MariaDBManager interface { GetHost() (host string, port int) // Create データベースが存在しない場合、作成します Create(ctx context.Context, args CreateArgs) error // Delete データベースが存在する場合、削除します Delete(ctx context.Context, args DeleteArgs) error // IsExist データベースが存在するか確認します IsExist(ctx context.Context, dbname string) (bool, error) Close(ctx context.Context) error }
MariaDBManager MariaDBマネージャー
type MetricsService ¶ added in v0.15.0
type MongoDBManager ¶
type MongoDBManager interface { GetHost() (host string, port int) // Create データベースが存在しない場合、作成します Create(ctx context.Context, args CreateArgs) error // Delete データベースが存在する場合、削除します Delete(ctx context.Context, args DeleteArgs) error // IsExist データベースが存在するか確認します IsExist(ctx context.Context, dbname string) (bool, error) Close(ctx context.Context) error }
MongoDBManager Mongoマネージャー
type PortPublication ¶ added in v0.3.0
type PortPublication struct { InternetPort int ApplicationPort int Protocol PortPublicationProtocol }
func (*PortPublication) Compare ¶ added in v0.4.1
func (p *PortPublication) Compare(other *PortPublication) bool
func (*PortPublication) ConflictsWith ¶ added in v0.3.0
func (p *PortPublication) ConflictsWith(existing []*Application) bool
func (*PortPublication) Validate ¶ added in v0.3.0
func (p *PortPublication) Validate() error
type PortPublicationProtocol ¶ added in v0.3.0
type PortPublicationProtocol string
const ( PortPublicationProtocolTCP PortPublicationProtocol = "tcp" PortPublicationProtocolUDP PortPublicationProtocol = "udp" )
type PrivateKey ¶ added in v1.1.0
type PrivateKey []byte
type PubSub ¶
type PubSub[E any] struct { // contains filtered or unexported fields }
PubSub is a simple pub-sub for single event type. A zero-value PubSub is ready for use.
type Repository ¶
type Repository struct { ID string Name string URL string Auth optional.Of[RepositoryAuth] OwnerIDs []string }
func NewRepository ¶ added in v0.5.0
func NewRepository(name, url string, auth optional.Of[RepositoryAuth], ownerIDs []string) *Repository
func (*Repository) Apply ¶
func (r *Repository) Apply(args *UpdateRepositoryArgs)
func (*Repository) CanCreateApp ¶ added in v0.11.5
func (r *Repository) CanCreateApp(user *User) bool
func (*Repository) HTMLURL ¶ added in v0.15.7
func (r *Repository) HTMLURL() string
HTMLURL returns human-readable HTML page URL. Since there is no 'official' mapping from git-readable URL to human-readable HTML URL, the conversion is done heuristically.
func (*Repository) IsOwner ¶
func (r *Repository) IsOwner(user *User) bool
func (*Repository) ResolveRefs ¶ added in v0.12.4
func (r *Repository) ResolveRefs(ctx context.Context, fallbackKey *ssh.PublicKeys) (refToCommit map[string]string, err error)
func (*Repository) Validate ¶
func (r *Repository) Validate() error
type RepositoryAuth ¶
type RepositoryAuth struct { Method RepositoryAuthMethod Username string Password string SSHKey string }
func (*RepositoryAuth) Validate ¶
func (r *RepositoryAuth) Validate() error
type RepositoryAuthMethod ¶
type RepositoryAuthMethod int
const ( RepositoryAuthMethodBasic RepositoryAuthMethod = iota RepositoryAuthMethodSSH )
type RepositoryCommit ¶ added in v1.3.0
type RepositoryCommit struct { Hash string Author CommitAuthorSignature Committer CommitAuthorSignature Message string Error bool }
func ToErroredRepositoryCommit ¶ added in v1.3.0
func ToErroredRepositoryCommit(hash string) *RepositoryCommit
func ToRepositoryCommit ¶ added in v1.3.0
func ToRepositoryCommit(c *object.Commit) *RepositoryCommit
type RepositoryCommitRepository ¶ added in v1.3.0
type RepositoryCommitRepository interface { GetCommits(ctx context.Context, hashes []string) ([]*RepositoryCommit, error) RecordCommit(ctx context.Context, commit *RepositoryCommit) error }
type RuntimeConfig ¶ added in v0.3.5
type RuntimeConfig struct { UseMariaDB bool UseMongoDB bool Entrypoint string Command string AutoShutdown AutoShutdownConfig }
func (*RuntimeConfig) GetRuntimeConfig ¶ added in v0.10.0
func (rc *RuntimeConfig) GetRuntimeConfig() RuntimeConfig
func (*RuntimeConfig) GetStaticConfig ¶ added in v0.10.0
func (rc *RuntimeConfig) GetStaticConfig() StaticConfig
func (*RuntimeConfig) MariaDB ¶ added in v0.3.5
func (rc *RuntimeConfig) MariaDB() bool
func (*RuntimeConfig) MongoDB ¶ added in v0.3.5
func (rc *RuntimeConfig) MongoDB() bool
func (*RuntimeConfig) Validate ¶ added in v0.3.5
func (rc *RuntimeConfig) Validate() error
type RuntimeDesiredState ¶
type RuntimeDesiredState struct { App *Application ImageName string ImageTag string Envs map[string]string }
type RuntimeImage ¶ added in v1.5.0
func NewRuntimeImage ¶ added in v1.5.0
func NewRuntimeImage(buildID string, size int64) *RuntimeImage
type RuntimeImageRepository ¶ added in v1.5.0
type StartBuildRequest ¶ added in v1.1.0
type StartBuildRequest struct { Repo *Repository App *Application Envs []*Environment Build *Build }
type StartupBehavior ¶ added in v1.6.0
type StartupBehavior int
StartupBehavior represents the behavior of the application when it starts up. This is used to determine how to handle the request until the application is ready.
const ( StartupBehaviorUndefined StartupBehavior = iota // StartupBehaviorLoadingPage is a strategy that shows a loading page until the application is ready. // This is suitable for web applications that are accessed from frontend. StartupBehaviorLoadingPage // StartupBehaviorBlocking is a strategy that blocks the request until the application is ready. // This is suitable for API servers. StartupBehaviorBlocking )
type StaticConfig ¶ added in v0.3.5
func (*StaticConfig) GetRuntimeConfig ¶ added in v0.10.0
func (sc *StaticConfig) GetRuntimeConfig() RuntimeConfig
func (*StaticConfig) GetStaticConfig ¶ added in v0.10.0
func (sc *StaticConfig) GetStaticConfig() StaticConfig
func (*StaticConfig) MariaDB ¶ added in v0.3.5
func (sc *StaticConfig) MariaDB() bool
func (*StaticConfig) MongoDB ¶ added in v0.3.5
func (sc *StaticConfig) MongoDB() bool
func (*StaticConfig) Validate ¶ added in v0.10.0
func (sc *StaticConfig) Validate() error
type StaticServer ¶ added in v0.7.0
type StaticServerDocumentRootPath ¶
type StaticServerDocumentRootPath string
type StaticSite ¶
type StaticSite struct { Application *Application Website *Website ArtifactID string SPA bool }
func GetActiveStaticSites ¶
func GetActiveStaticSites(ctx context.Context, appRepo ApplicationRepository, buildRepo BuildRepository) ([]*StaticSite, error)
type Storage ¶
type Storage interface { Save(filename string, src io.Reader) error Open(filename string) (io.ReadCloser, error) Delete(filename string) error }
Storage ストレージインターフェース
type StorageConfig ¶
type StorageConfig struct { Type string `mapstructure:"type" yaml:"type"` Local struct { // Dir 保存ディレクトリ Dir string `mapstructure:"dir" yaml:"dir"` } `mapstructure:"local" yaml:"local"` S3 struct { // Bucket バケット名 Bucket string `mapstructure:"bucket" yaml:"bucket"` Endpoint string `mapstructure:"endpoint" yaml:"endpoint"` Region string `mapstructure:"region" yaml:"region"` AccessKey string `mapstructure:"accessKey" yaml:"accessKey"` AccessSecret string `mapstructure:"accessSecret" yaml:"accessSecret"` } `mapstructure:"s3" yaml:"s3"` Swift struct { // UserName ユーザー名 UserName string `mapstructure:"username" yaml:"username"` // APIKey APIキー(パスワード) APIKey string `mapstructure:"apiKey" yaml:"apiKey"` // TenantName テナント名 TenantName string `mapstructure:"tenantName" yaml:"tenantName"` // TenantID テナントID TenantID string `mapstructure:"tenantId" yaml:"tenantId"` // Container コンテナ名 Container string `mapstructure:"container" yaml:"container"` // AuthURL 認証エンドポイント AuthURL string `mapstructure:"authUrl" yaml:"authUrl"` } `mapstructure:"swift" yaml:"swift"` }
type SystemInfo ¶ added in v0.10.1
type SystemInfo struct { PublicKey string PrivateKey *ssh.PublicKeys SSHInfo struct { Host string Port int } AvailableDomains AvailableDomainSlice AvailablePorts AvailablePortSlice AdditionalLinks []*AdditionalLink Version string Revision string }
type UpdateApplicationArgs ¶
type UpdateApplicationArgs struct { Name optional.Of[string] RepositoryID optional.Of[string] RefName optional.Of[string] Commit optional.Of[string] Running optional.Of[bool] Container optional.Of[ContainerState] ContainerMessage optional.Of[string] CurrentBuild optional.Of[string] UpdatedAt optional.Of[time.Time] Config optional.Of[ApplicationConfig] Websites optional.Of[[]*Website] PortPublications optional.Of[[]*PortPublication] OwnerIDs optional.Of[[]string] }
type UpdateBuildArgs ¶
type UpdateRepositoryArgs ¶
type User ¶
func (*User) AvatarURL ¶ added in v0.4.6
func (u *User) AvatarURL(baseURL AvatarBaseURL) string
type UserKey ¶
func (*UserKey) MarshalKey ¶
type UserRepository ¶
type UserRepository interface { EnsureUser(ctx context.Context, name string) (*User, error) EnsureUsers(ctx context.Context, names []string) ([]*User, error) GetUsers(ctx context.Context, cond GetUserCondition) ([]*User, error) GetUserKeys(ctx context.Context, cond GetUserKeyCondition) ([]*UserKey, error) CreateUserKey(ctx context.Context, key *UserKey) error DeleteUserKey(ctx context.Context, keyID string, userID string) error }
type Website ¶
type WildcardDomains ¶
type WildcardDomains []string
func (WildcardDomains) TLSTargetDomain ¶
func (wd WildcardDomains) TLSTargetDomain(website *Website) string
func (WildcardDomains) Validate ¶
func (wd WildcardDomains) Validate() error
Source Files ¶
- app.go
- app_artifact.go
- app_build.go
- app_build_config.go
- app_environment.go
- app_ports.go
- app_repository.go
- app_repository_commit.go
- app_runtime_image.go
- app_user.go
- app_website.go
- auth.go
- backend.go
- builder.go
- component.go
- dbmanager.go
- environment.go
- idgen.go
- log.go
- metrics.go
- pubsub.go
- repository.go
- ssgen.go
- storage.go
- system.go
Click to show internal directories.
Click to hide internal directories.