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 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 SSHConfig
- type StartBuildRequest
- 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 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 }
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 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
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 StartBuildRequest ¶ added in v1.1.0
type StartBuildRequest struct { Repo *Repository App *Application Envs []*Environment Build *Build }
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_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.