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 NewID() string
- func NewPublicKey(pemBytes []byte) (*ssh.PublicKeys, error)
- 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 AdminerURL
- 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 Container
- type ContainerEvent
- type ContainerLog
- type ContainerLogger
- type ContainerState
- type ControllerBuilderService
- type ControllerBuilderServiceClient
- 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 MongoDBManager
- type PortPublication
- type PortPublicationProtocol
- type PubSub
- type Repository
- func (r *Repository) Apply(args *UpdateRepositoryArgs)
- func (r *Repository) CanCreateApp(user *User) bool
- 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 RuntimeConfig
- type RuntimeDesiredState
- type SSHConfig
- 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 NewPublicKey ¶ added in v0.4.5
func NewPublicKey(pemBytes []byte) (*ssh.PublicKeys, error)
func SaveArtifact ¶
SaveArtifact Artifactをtar形式で保存する
func ValidateDomain ¶
func ValidatePossibleWildcardDomain ¶ added in v0.4.0
func ValidateWildcardDomain ¶
Types ¶
type AdminerURL ¶ added in v0.10.1
type AdminerURL string
type Application ¶
type Application struct {
ID string
Name string
RepositoryID string
RefName string
Commit string
DeployType DeployType
Running bool
Container ContainerState
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() 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, m map[string]ContainerState) 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 ¶
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) *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)
GetBuild(ctx context.Context, buildID string) (*Build, error)
CreateBuild(ctx context.Context, build *Build) error
UpdateBuild(ctx context.Context, cond GetBuildCondition, args UpdateBuildArgs) 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 Container ¶
type Container struct {
ApplicationID string
State ContainerState
}
type ContainerEvent ¶
type ContainerEvent struct {
ApplicationID string
}
type ContainerLog ¶
type ContainerLogger ¶
type ContainerLogger interface {
Stream(ctx context.Context, appID string) (<-chan *ContainerLog, error)
}
type ContainerState ¶
type ContainerState int
const ( ContainerStateMissing ContainerState = iota ContainerStateStarting ContainerStateRunning ContainerStateExited ContainerStateErrored ContainerStateUnknown )
type ControllerBuilderService ¶
type ControllerBuilderService interface {
pbconnect.ControllerBuilderServiceHandler
ListenBuilderIdle() (sub <-chan struct{}, unsub func())
ListenBuildSettled() (sub <-chan struct{}, unsub func())
StartBuilds(buildIDs []string)
BroadcastBuilder(req *pb.BuilderRequest)
}
type ControllerBuilderServiceClient ¶
type ControllerBuilderServiceClient interface {
ConnectBuilder(ctx context.Context, onRequest func(req *pb.BuilderRequest), response <-chan *pb.BuilderResponse) 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)
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 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 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) 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 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 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
AdminerURL 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]
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
¶
Click to show internal directories.
Click to hide internal directories.