Documentation
¶
Index ¶
- Constants
- Variables
- func GetFollowerSyncRole(labels map[string]interface{}) string
- func GetGatewayAnsibleRetries(labels map[string]interface{}) int
- func GetGatewayAppliedConfigHash(labels map[string]interface{}) string
- func GetGatewayManagedServerID(labels map[string]interface{}) string
- func GetHeadImageID(labels map[string]interface{}) string
- func GetHeadNetworkID(labels map[string]interface{}) string
- func GetHeadNetworkNodeName(labels map[string]interface{}) string
- func GetHeadNodeName(labels map[string]interface{}) string
- func GetImageServerID(labels map[string]interface{}) string
- func GetImageSource(labels map[string]interface{}) string
- func GetLoadBalancerAgentStateReadFailures(labels map[string]interface{}) int
- func GetLoadBalancerAgentStateReadSuccesses(labels map[string]interface{}) int
- func GetLoadBalancerAnsibleRetries(labels map[string]interface{}) int
- func GetLoadBalancerAppliedConfigHash(labels map[string]interface{}) string
- func GetLoadBalancerManagedServerID(labels map[string]interface{}) string
- func GetLoadBalancerStagedConfigAt(labels map[string]interface{}) time.Time
- func GetLoadBalancerStagedConfigHash(labels map[string]interface{}) string
- func GetNetworkLoadBalancerAgentStateReadFailures(labels map[string]interface{}) int
- func GetNetworkLoadBalancerAgentStateReadSuccesses(labels map[string]interface{}) int
- func GetNetworkLoadBalancerAnsibleRetries(labels map[string]interface{}) int
- func GetNetworkLoadBalancerAppliedConfigHash(labels map[string]interface{}) string
- func GetNetworkLoadBalancerManagedServerID(labels map[string]interface{}) string
- func GetNetworkLoadBalancerStagedConfigAt(labels map[string]interface{}) time.Time
- func GetNetworkLoadBalancerStagedConfigHash(labels map[string]interface{}) string
- func GetNetworkSyncRole(labels map[string]interface{}) string
- func GetVpnGatewayAnsibleRetries(labels map[string]interface{}) int
- func GetVpnGatewayAppliedConfigHash(labels map[string]interface{}) string
- func GetVpnGatewayManagedServerID(labels map[string]interface{}) string
- func PrefixLenToMask(bits int, isIPv6 bool) (string, error)
- func SetDebugMode(enabled bool)
- func SetDefaultVolumeGroups(osVolumeGroup, dataVolumeGroup string)
- func SetFollowerSyncLabels(labels map[string]interface{}, syncRole, headImageID, headNodeName string)
- func SetGatewayAnsibleRetries(labels map[string]interface{}, retries int)
- func SetGatewayAppliedConfigHash(labels map[string]interface{}, hash string)
- func SetGatewayManagedServerID(labels map[string]interface{}, serverID string)
- func SetImageSourceLabels(labels map[string]interface{}, source string, serverID string)
- func SetLoadBalancerAgentStateReadFailures(labels map[string]interface{}, failures int)
- func SetLoadBalancerAgentStateReadSuccesses(labels map[string]interface{}, successes int)
- func SetLoadBalancerAnsibleRetries(labels map[string]interface{}, retries int)
- func SetLoadBalancerAppliedConfigHash(labels map[string]interface{}, hash string)
- func SetLoadBalancerManagedServerID(labels map[string]interface{}, serverID string)
- func SetLoadBalancerStagedConfigAt(labels map[string]interface{}, at time.Time)
- func SetLoadBalancerStagedConfigHash(labels map[string]interface{}, hash string)
- func SetNetworkLoadBalancerAgentStateReadFailures(labels map[string]interface{}, failures int)
- func SetNetworkLoadBalancerAgentStateReadSuccesses(labels map[string]interface{}, successes int)
- func SetNetworkLoadBalancerAnsibleRetries(labels map[string]interface{}, retries int)
- func SetNetworkLoadBalancerAppliedConfigHash(labels map[string]interface{}, hash string)
- func SetNetworkLoadBalancerManagedServerID(labels map[string]interface{}, serverID string)
- func SetNetworkLoadBalancerStagedConfigAt(labels map[string]interface{}, at time.Time)
- func SetNetworkLoadBalancerStagedConfigHash(labels map[string]interface{}, hash string)
- func SetNetworkSyncLabels(labels map[string]interface{}, syncRole, headNetworkID, headNodeName string)
- func SetVpnGatewayAnsibleRetries(labels map[string]interface{}, retries int)
- func SetVpnGatewayAppliedConfigHash(labels map[string]interface{}, hash string)
- func SetVpnGatewayManagedServerID(labels map[string]interface{}, serverID string)
- type Database
- func (d *Database) AddUserRole(userID, roleName string) error
- func (d *Database) AllocateIP(vnetId, ipnetId, hostId string) (string, int, error)
- func (d *Database) AssignNodeToServer(id, nodeName string) error
- func (d *Database) AuthenticateApiKey(token string) (api.User, api.ApiKey, error)
- func (d *Database) AuthenticateUser(userID, password string) (api.User, error)
- func (d *Database) Authorize(userID, resource, verb string) (bool, error)
- func (d *Database) CheckIPaddrInUse(vnetId, ipnetId, ip string) (bool, error)
- func (d *Database) CheckIPnetInUse(vnetId, ipnetId string) (bool, error)
- func (d *Database) CleanupRevokedApiKeysOlderThan(olderThan time.Duration) (int, error)
- func (d *Database) Close() error
- func (d *Database) CountGatewayByPublicIP(publicIP string) (int, error)
- func (d *Database) CreateAnyIpNetwork(vnetid string) (string, error)
- func (d *Database) CreateGateway(spec api.Gateway) (api.Gateway, error)
- func (d *Database) CreateIpNetwork(vnetid string, spec *api.IPNetwork) (string, error)
- func (d *Database) CreateLoadBalancer(spec api.ApplicationLoadBalancer) (api.ApplicationLoadBalancer, error)
- func (d *Database) CreateNetworkLoadBalancer(spec api.NetworkLoadBalancer) (api.NetworkLoadBalancer, error)
- func (d *Database) CreateSeq0(key string, start uint64, step uint64) error
- func (d *Database) CreateUser(input api.User) (api.User, error)
- func (d *Database) CreateUserApiKey(userID string, req api.ApiKeyCreateRequest) (api.ApiKey, string, error)
- func (d *Database) CreateVirtualNetwork(spec api.VirtualNetwork) (api.VirtualNetwork, error)
- func (d *Database) CreateVolumeOnDB2(inputVol api.Volume) (*api.Volume, error)
- func (d *Database) CreateVpnGateway(spec api.VpnGateway) (api.VpnGateway, error)
- func (d *Database) DelSeqByKey(key string) error
- func (d *Database) DeleteDnsEntryByName(hostname, subdomain string) error
- func (d *Database) DeleteGatewayById(id string) error
- func (d *Database) DeleteImage(id string) error
- func (d *Database) DeleteIpNetworkById(vnetId, ipnetId string) error
- func (d *Database) DeleteJSON(key string) error
- func (d *Database) DeleteLoadBalancerById(id string) error
- func (d *Database) DeleteNetworkLoadBalancerById(id string) error
- func (d *Database) DeleteServerById(id string) error
- func (d *Database) DeleteUserApiKey(userID, apiKeyID string) error
- func (d *Database) DeleteUserById(userID string) error
- func (d *Database) DeleteUserRole(userID, roleName string) error
- func (d *Database) DeleteVirtualNetworkById(vnetId string) error
- func (d *Database) DeleteVolume(id string) error
- func (d *Database) DeleteVpnGatewayById(id string) error
- func (d *Database) EnsureBootstrapAdmin() error
- func (d *Database) FindImageByName(name string) (api.Image, error)
- func (d *Database) FindImageByNameAndNode(name, nodeName string) (api.Image, error)
- func (d *Database) FindVolumeByName(name, kind string) ([]api.Volume, error)
- func (d *Database) GetAllHostStatus() ([]api.HostStatus, error)
- func (d *Database) GetAllocatedIPs(vnetId, ipnetId string) ([]api.IPAddress, error)
- func (d *Database) GetByPrefix(prefix string) (*etcd.GetResponse, error)
- func (d *Database) GetDnsEntry(hostname, subdomain string) (string, error)
- func (d *Database) GetGatewayById(id string) (api.Gateway, error)
- func (d *Database) GetGatewayByName(name string) ([]api.Gateway, error)
- func (d *Database) GetGateways() ([]api.Gateway, error)
- func (d *Database) GetHostStatus(nodeName string) (api.HostStatus, error)
- func (d *Database) GetImage(id string) (api.Image, error)
- func (d *Database) GetImages() ([]api.Image, error)
- func (d *Database) GetIpNetworkById(vnetid, id string) (*api.IPNetwork, error)
- func (d *Database) GetIpNetworks(vnetid string) ([]api.IPNetwork, error)
- func (d *Database) GetJSON(key string, out interface{}) (*etcd.GetResponse, error)
- func (d *Database) GetLoadBalancerById(id string) (api.ApplicationLoadBalancer, error)
- func (d *Database) GetLoadBalancers() ([]api.ApplicationLoadBalancer, error)
- func (d *Database) GetNetworkLoadBalancerById(id string) (api.NetworkLoadBalancer, error)
- func (d *Database) GetNetworkLoadBalancers() ([]api.NetworkLoadBalancer, error)
- func (d *Database) GetOsImgQcow2Tempes(osits *[]types.OsImageTemplate) error
- func (d *Database) GetOsImgTempByKey(key string) (types.OsImageTemplate, error)
- func (d *Database) GetOsImgTempByOsVariant(osVariant string) (types.OsImageTemplate, error)
- func (d *Database) GetOsImgTempQcow2ByOsVariant(osVariant string) (types.OsImageTemplate, error)
- func (d *Database) GetOsImgTempes(osits *[]types.OsImageTemplate) error
- func (d *Database) GetRoleByName(roleName string) (api.Role, error)
- func (d *Database) GetSeqByKind(key string) (uint64, error)
- func (d *Database) GetSeqs(seqs *[]VmSerial) error
- func (d *Database) GetServerById(id string) (api.Server, error)
- func (d *Database) GetServers() (api.Servers, error)
- func (d *Database) GetUserById(userID string) (api.User, error)
- func (d *Database) GetVersion() (*api.Version, error)
- func (d *Database) GetVirtualNetworkById(id string) (api.VirtualNetwork, error)
- func (d *Database) GetVirtualNetworkByName(name string) (api.VirtualNetwork, error)
- func (d *Database) GetVirtualNetworks() ([]api.VirtualNetwork, error)
- func (d *Database) GetVolumeById(id string) (api.Volume, error)
- func (d *Database) GetVolumes() ([]api.Volume, error)
- func (d *Database) GetVpnGatewayById(id string) (api.VpnGateway, error)
- func (d *Database) GetVpnGateways() ([]api.VpnGateway, error)
- func (d *Database) ListRoles() (api.Roles, error)
- func (d *Database) ListUserApiKeys(userID string) (api.ApiKeys, error)
- func (d *Database) ListUserRoles(userID string) (api.RoleNames, error)
- func (d *Database) ListUsers() (api.Users, error)
- func (d *Database) ListVolumes(kind string) ([]api.Volume, error)
- func (d *Database) LockKey(lockName string) (*concurrency.Mutex, error)
- func (d *Database) LockUserById(userID string) error
- func (d *Database) MakeFollowerImageEntry(headImage api.Image, followerNodeName string, headImageId string) (string, error)
- func (d *Database) MakeFollowerVirtualNetworkEntry(headNetwork api.VirtualNetwork, followerNodeName string, headNetworkID string) (string, error)
- func (d *Database) MakeImageEntryFromRunningVM(serverId, name string) (api.Image, error)
- func (d *Database) MakeImageEntryFromSpec(imageSpec api.Image) (string, error)
- func (d *Database) MakeImageEntryFromURL(name, url string) (string, error)
- func (d *Database) MakeImageEntryFromURLWithNode(name, url, nodeName string) (string, error)
- func (d *Database) MakeImportedImageEntry(name, nodeName, qcow2Path string) (api.Image, error)
- func (d *Database) MakeServerEntry(spec api.Server) (api.Server, error)
- func (d *Database) PutDnsEntry(hostname, subdomain, ipAddress string) error
- func (d *Database) PutHostStatus(status api.HostStatus) error
- func (d *Database) PutJSON(key string, v interface{}) error
- func (d *Database) PutJSONCAS(key string, expectedRev int64, v interface{}) error
- func (d *Database) PutVirtualNetworksETCD(vnet api.VirtualNetwork) error
- func (d *Database) ReleaseIP(vnetId, ipnetId, ip string) error
- func (d *Database) ReleaseIPsByHostID(hostID string) error
- func (d *Database) RevokeIdleLoginSessionsOlderThan(olderThan time.Duration) (int, error)
- func (d *Database) RollbackVolumeCreation(id string)
- func (d *Database) SetDeleteTimestamp(id string) error
- func (d *Database) SetDeleteTimestampGateway(id string) error
- func (d *Database) SetDeleteTimestampImage(id string) error
- func (d *Database) SetDeleteTimestampLoadBalancer(id string) error
- func (d *Database) SetDeleteTimestampNetworkLoadBalancer(id string) error
- func (d *Database) SetDeleteTimestampVirtualNetwork(id string) error
- func (d *Database) SetDeleteTimestampVpnGateway(id string) error
- func (d *Database) SetIPaddrInUse(vnetId, ipnetId, ip, hostId string) error
- func (d *Database) SetImageQcow2Template(v cf.Image_yaml) error
- func (d *Database) SetUserPasswordHash(userID, passwordHash string, mustChangePassword *bool) error
- func (d *Database) SetVersion(ver api.Version) error
- func (d *Database) SetVolumeDeletionTimestamp(id string)
- func (d *Database) UnlockKey(m *concurrency.Mutex)
- func (d *Database) UnlockUserById(userID string) error
- func (d *Database) UpdateGatewayById(id string, spec api.Gateway) error
- func (d *Database) UpdateGatewayStatusWithMessage(id string, status int, message string) error
- func (d *Database) UpdateImage(id string, spec api.Image) error
- func (d *Database) UpdateImageStatus(id string, status int) error
- func (d *Database) UpdateImageStatusMessage(id string, status int, message string) error
- func (d *Database) UpdateLoadBalancerById(id string, spec api.ApplicationLoadBalancer) error
- func (d *Database) UpdateLoadBalancerStatusWithMessage(id string, status int, message string) error
- func (d *Database) UpdateNetworkLoadBalancerById(id string, spec api.NetworkLoadBalancer) error
- func (d *Database) UpdateNetworkLoadBalancerStatusWithMessage(id string, status int, message string) error
- func (d *Database) UpdateServer(id string, spec api.Server) error
- func (d *Database) UpdateServerStatus(id string, status int, message string) error
- func (d *Database) UpdateUser(userID string, input api.User) error
- func (d *Database) UpdateVirtualNetworkById(vnetId string, spec api.VirtualNetwork) error
- func (d *Database) UpdateVirtualNetworkStatus(id string, status int)
- func (d *Database) UpdateVirtualNetworkStatusWithMessage(id string, status int, message string)
- func (d *Database) UpdateVolume(id string, updateData api.Volume) error
- func (d *Database) UpdateVolumeStatus(id string, status int)
- func (d *Database) UpdateVolumeStatusMessage(id string, status int, message string)
- func (d *Database) UpdateVpnGatewayById(id string, spec api.VpnGateway) error
- func (d *Database) UpdateVpnGatewayStatusWithMessage(id string, status int, message string) error
- type Job
- func (d *Job) CancelJob(id string) error
- func (d *Job) CleanupJob(t int) error
- func (d *Job) EntryJob(name string, cmd ...string) (string, error)
- func (d *Job) FetchJob() (api.Job, error)
- func (d *Job) GetAllJobs() ([]api.Job, error)
- func (d *Job) GetJob(id string) (api.Job, error)
- func (d *Job) GetJobs(jobStatus int) ([]api.Job, error)
- func (d *Job) RunJob(job api.Job) error
Constants ¶
const ( BootstrapAdminUserID = "admin" BootstrapAdminPassword = "passw0rd" BootstrapAdminRoleName = "Administrator" BootstrapAdminComment = "bootstrap administrator" )
const ( AuthUserPrefix = "/marmot/user" AuthRolePrefix = "/marmot/role" AuthUserApiKeyPrefix = "/marmot/user-apikey" AuthApiKeyIndexPrefix = "/marmot/apikey-index" AuthApiKeyTokenPrefixLen = 8 AuthSessionIdleTimeout = 30 * time.Minute ApiKeySessionTypeLogin = "login" )
const ( // ETCD Keyのプレフィックス OsTemplateImagePrefix = "/marmot/osTemplateImage" VolumePrefix = "/marmot/volume" ServerPrefix = "/marmot/server" ImagePrefix = "/marmot/image" NetworkPrefix = "/marmot/network" GatewayPrefix = "/marmot/gateway" VpnGatewayPrefix = "/marmot/vpn-gateway" LoadBalancerPrefix = "/marmot/application-load-balancer" NetworkLoadBalancerPrefix = "/marmot/network-load-balancer" SeqPrefix = "/marmot/sequence" VersionKey = "/marmot/version" JobPrefix = "/marmot/job" InternalDNSPrefix = "/marmot/dns" // エラーメッセージ ErrAlreadyExists = "Network with the same AddressMaskLen already exists" ErrOverlapsExistingNetwork = "overlaps with an existing network" )
const ( DefaultOSVolumeGroup = "vg1" DefaultDataVolumeGroup = "vg2" )
const ( GATEWAY_PENDING = 0 GATEWAY_PROVISIONING = 1 GATEWAY_CONFIGURING = 2 GATEWAY_ACTIVE = 3 GATEWAY_FAILED = 4 GATEWAY_DELETING = 5 GatewayLabelManagedServerID = "gatewayServerId" GatewayLabelManagedBy = "managedBy" GatewayLabelManagedByValue = "gateway-controller" GatewayServerLabelGatewayID = "gatewayId" GatewayServerLabelRole = "role" GatewayServerLabelRoleValue = "gateway" GatewayLabelAnsibleRetries = "ansibleRetries" GatewayLabelAppliedConfig = "appliedConfigHash" )
const ( IMAGE_PENDING = 0 // 待ち状態 IMAGE_CREATING = 1 // プロビジョニング中 IMAGE_CREATION_FAILED = 2 // 問題発生 IMAGE_AVAILABLE = 3 // 利用可能 IMAGE_DELETING = 4 // 削除中 IMAGE_DELETED = 5 // 削除済み IMAGE_WAITING = 6 // ヘッドノードの作成完了待ち // Image label keys for distributed sync ImageLabelSyncRole = "syncRole" ImageLabelHeadImageID = "headImageId" ImageLabelHeadNodeName = "headNodeName" ImageLabelSource = "source" ImageLabelServerID = "serverId" )
const ( JOB_PENDING = 0 // 実行待ち JOB_RUNNING = 1 // 実行中 JOB_CANCELED = 2 // 削除済み JOB_FAILED = 3 // 失敗終了 JOB_SUCCEEDED = 4 // 正常終了 JOB_PATH = "/var/lib/marmot/jobs" )
const ( LOAD_BALANCER_PENDING = 0 LOAD_BALANCER_ACTIVE = 1 LOAD_BALANCER_DEGRADED = 2 LOAD_BALANCER_FAILED = 3 LOAD_BALANCER_DELETING = 4 LOAD_BALANCER_PROVISIONING = 5 LOAD_BALANCER_CONFIGURING = 6 LoadBalancerLabelManagedServerID = "loadBalancerServerId" LoadBalancerLabelManagedBy = "managedBy" LoadBalancerLabelManagedByValue = "load-balancer-controller" LoadBalancerServerLabelID = "loadBalancerId" LoadBalancerServerLabelRole = "role" LoadBalancerServerLabelRoleValue = "load-balancer" LoadBalancerLabelAnsibleRetries = "ansibleRetries" LoadBalancerLabelAppliedConfig = "appliedConfigHash" LoadBalancerLabelStagedConfig = "stagedConfigHash" LoadBalancerLabelStagedConfigAt = "stagedConfigAt" LoadBalancerLabelAgentStateReadFailures = "agentStateReadFailures" LoadBalancerLabelAgentStateReadSuccesses = "agentStateReadSuccesses" )
const ( NETWORK_LOAD_BALANCER_PENDING = 0 NETWORK_LOAD_BALANCER_ACTIVE = 1 NETWORK_LOAD_BALANCER_DEGRADED = 2 NETWORK_LOAD_BALANCER_FAILED = 3 NETWORK_LOAD_BALANCER_DELETING = 4 NETWORK_LOAD_BALANCER_PROVISIONING = 5 NETWORK_LOAD_BALANCER_CONFIGURING = 6 NetworkLoadBalancerLabelManagedServerID = "networkLoadBalancerServerId" NetworkLoadBalancerLabelManagedBy = "managedBy" NetworkLoadBalancerLabelManagedByValue = "network-load-balancer-controller" NetworkLoadBalancerServerLabelID = "networkLoadBalancerId" NetworkLoadBalancerServerLabelRole = "role" NetworkLoadBalancerServerLabelRoleValue = "network-load-balancer" NetworkLoadBalancerLabelAnsibleRetries = "ansibleRetries" NetworkLoadBalancerLabelAppliedConfig = "appliedConfigHash" NetworkLoadBalancerLabelStagedConfig = "stagedConfigHash" NetworkLoadBalancerLabelStagedConfigAt = "stagedConfigAt" NetworkLoadBalancerLabelAgentStateReadFailures = "agentStateReadFailures" NetworkLoadBalancerLabelAgentStateReadSuccesses = "agentStateReadSuccesses" )
const ( SERVER_PENDING = 0 // 待ち状態 SERVER_PROVISIONING = 1 // プロビジョニング中 SERVER_RUNNING = 2 // 実行中 SERVER_STOPPED = 3 // 停止中 SERVER_ERROR = 4 // エラー状態 SERVER_DELETING = 5 // 削除中 SERVER_STOPPING = 6 // 停止処理中 SERVER_STARTING = 7 // 起動処理中 )
const ( NETWORK_PENDING = 0 // 待ち状態 NETWORK_PROVISIONING = 1 // プロビジョニング中 NETWORK_ACTIVE = 2 // 活性中 NETWORK_INACTIVE = 3 // 不活性中 NETWORK_ERROR = 4 // エラー状態 NETWORK_DELETING = 5 // 削除中 NETWORK_WAITING = 6 // ヘッドノードの作成完了待ち NETWORK_DEL_PENDING = 7 // 依存リソース削除待ち // Network label keys for distributed sync NetworkLabelSyncRole = "syncRole" NetworkLabelHeadNetworkID = "headNetworkId" NetworkLabelHeadNodeName = "headNodeName" )
const ( VOLUME_PENDING = 0 // 待ち状態 VOLUME_PROVISIONING = 1 // プロビジョニング中 VOLUME_ERROR = 2 // 問題発生 VOLUME_AVAILABLE = 3 // 利用可能 VOLUME_DELETING = 4 // 削除中 VOLUME_UNAVAILABLE = 5 // 実体欠損 )
const ( VPN_GATEWAY_PENDING = 0 VPN_GATEWAY_ACTIVE = 1 VPN_GATEWAY_FAILED = 2 VPN_GATEWAY_DELETING = 3 VPN_GATEWAY_PROVISIONING = 4 VPN_GATEWAY_CONFIGURING = 5 VpnGatewayLabelManagedServerID = "vpnGatewayServerId" VpnGatewayLabelManagedBy = "managedBy" VpnGatewayLabelManagedByValue = "vpn-gateway-controller" VpnGatewayServerLabelGatewayID = "vpnGatewayId" VpnGatewayServerLabelRole = "role" VpnGatewayServerLabelRoleValue = "vpn-gateway" VpnGatewayLabelAnsibleRetries = "ansibleRetries" VpnGatewayLabelAppliedConfig = "appliedConfigHash" )
const (
HostStatusPrefix = "/marmot/hoststatus"
)
Variables ¶
var ( ErrNotFound = errors.New("not found") ErrUpdateConflict = errors.New("update conflict") ErrFound = errors.New("found") )
var ErrInvalidCredentials = errors.New("invalid credentials")
var ErrUserDisabled = errors.New("user is disabled")
var ErrUserLocked = errors.New("user is locked")
var GatewayStatus = map[int]string{
0: "PENDING",
1: "PROVISIONING",
2: "CONFIGURING",
3: "ACTIVE",
4: "FAILED",
5: "DELETING",
}
var ImageStatus = map[int]string{
0: "PENDING",
1: "CREATING",
2: "FAILED",
3: "AVAILABLE",
4: "DELETING",
5: "DELETED",
6: "WAITING",
}
var JobStatus = map[int]string{
0: "PENDING",
1: "RUNNING",
2: "CANCELED",
3: "FAILED",
4: "SUCCEEDED",
}
var LoadBalancerStatus = map[int]string{
0: "PENDING",
1: "ACTIVE",
2: "DEGRADED",
3: "FAILED",
4: "DELETING",
5: "PROVISIONING",
6: "CONFIGURING",
}
var NetworkLoadBalancerStatus = map[int]string{
0: "PENDING",
1: "ACTIVE",
2: "DEGRADED",
3: "FAILED",
4: "DELETING",
5: "PROVISIONING",
6: "CONFIGURING",
}
var NetworkStatus = map[int]string{
0: "PENDING",
1: "PROVISIONING",
2: "ACTIVE",
3: "INACTIVE",
4: "ERROR",
5: "DELETING",
6: "WAITING",
7: "DEL-PENDING",
}
var ServerStatus = map[int]string{
0: "PENDING",
1: "PROVISIONING",
2: "RUNNING",
3: "STOPPED",
4: "ERROR",
5: "DELETING",
6: "STOPPING",
7: "STARTING",
}
var VolStatus = map[int]string{
0: "PENDING",
1: "PROVISIONING",
2: "ERROR",
3: "AVAILABLE",
4: "DELETING",
5: "UNAVAILABLE",
}
var VpnGatewayStatus = map[int]string{
0: "PENDING",
1: "ACTIVE",
2: "FAILED",
3: "DELETING",
4: "PROVISIONING",
5: "CONFIGURING",
}
Functions ¶
func GetFollowerSyncRole ¶ added in v0.12.0
GetFollowerSyncRole はラベルから syncRole を取得する
func GetGatewayAnsibleRetries ¶ added in v0.16.0
func GetGatewayAppliedConfigHash ¶ added in v0.16.0
func GetGatewayManagedServerID ¶ added in v0.16.0
func GetHeadImageID ¶ added in v0.12.0
GetHeadImageID はラベルから headImageId を取得する
func GetHeadNetworkID ¶ added in v0.12.0
func GetHeadNetworkNodeName ¶ added in v0.12.0
func GetHeadNodeName ¶ added in v0.12.0
GetHeadNodeName はラベルから headNodeName を取得する
func GetImageServerID ¶ added in v0.12.0
GetImageServerID はラベルから serverId を取得する
func GetImageSource ¶ added in v0.12.0
GetImageSource はラベルから source を取得する
func GetLoadBalancerAgentStateReadFailures ¶ added in v0.19.0
func GetLoadBalancerAgentStateReadSuccesses ¶ added in v0.19.0
func GetLoadBalancerAnsibleRetries ¶ added in v0.19.0
func GetLoadBalancerAppliedConfigHash ¶ added in v0.19.0
func GetLoadBalancerManagedServerID ¶ added in v0.19.0
func GetLoadBalancerStagedConfigAt ¶ added in v0.19.0
func GetLoadBalancerStagedConfigHash ¶ added in v0.19.0
func GetNetworkLoadBalancerAgentStateReadFailures ¶ added in v0.20.0
func GetNetworkLoadBalancerAgentStateReadSuccesses ¶ added in v0.20.0
func GetNetworkLoadBalancerAnsibleRetries ¶ added in v0.20.0
func GetNetworkLoadBalancerAppliedConfigHash ¶ added in v0.20.0
func GetNetworkLoadBalancerManagedServerID ¶ added in v0.20.0
func GetNetworkLoadBalancerStagedConfigAt ¶ added in v0.20.0
func GetNetworkLoadBalancerStagedConfigHash ¶ added in v0.20.0
func GetNetworkSyncRole ¶ added in v0.12.0
func GetVpnGatewayAnsibleRetries ¶ added in v0.17.0
func GetVpnGatewayAppliedConfigHash ¶ added in v0.17.0
func GetVpnGatewayManagedServerID ¶ added in v0.17.0
func PrefixLenToMask ¶ added in v0.11.0
PrefixLenToMask はプレフィックス長からネットマスク文字列を生成する(IPv4/IPv6 対応) isIPv6 が false なら IPv4 (0〜32)、true なら IPv6 (0〜128)
func SetDebugMode ¶ added in v0.24.0
func SetDebugMode(enabled bool)
SetDebugMode toggles debug-only prints in pkg/db.
func SetDefaultVolumeGroups ¶ added in v0.11.5
func SetDefaultVolumeGroups(osVolumeGroup, dataVolumeGroup string)
func SetFollowerSyncLabels ¶ added in v0.12.0
func SetFollowerSyncLabels(labels map[string]interface{}, syncRole, headImageID, headNodeName string)
SetFollowerSyncLabels は follower イメージの sync 情報をラベルに設定する
func SetGatewayAnsibleRetries ¶ added in v0.16.0
func SetGatewayAppliedConfigHash ¶ added in v0.16.0
func SetGatewayManagedServerID ¶ added in v0.16.0
func SetImageSourceLabels ¶ added in v0.12.0
SetImageSourceLabels は image source 情報をラベルに設定する
func SetLoadBalancerAgentStateReadFailures ¶ added in v0.19.0
func SetLoadBalancerAgentStateReadSuccesses ¶ added in v0.19.0
func SetLoadBalancerAnsibleRetries ¶ added in v0.19.0
func SetLoadBalancerAppliedConfigHash ¶ added in v0.19.0
func SetLoadBalancerManagedServerID ¶ added in v0.19.0
func SetLoadBalancerStagedConfigAt ¶ added in v0.19.0
func SetLoadBalancerStagedConfigHash ¶ added in v0.19.0
func SetNetworkLoadBalancerAgentStateReadFailures ¶ added in v0.20.0
func SetNetworkLoadBalancerAgentStateReadSuccesses ¶ added in v0.20.0
func SetNetworkLoadBalancerAnsibleRetries ¶ added in v0.20.0
func SetNetworkLoadBalancerAppliedConfigHash ¶ added in v0.20.0
func SetNetworkLoadBalancerManagedServerID ¶ added in v0.20.0
func SetNetworkLoadBalancerStagedConfigAt ¶ added in v0.20.0
func SetNetworkLoadBalancerStagedConfigHash ¶ added in v0.20.0
func SetNetworkSyncLabels ¶ added in v0.12.0
func SetNetworkSyncLabels(labels map[string]interface{}, syncRole, headNetworkID, headNodeName string)
SetNetworkSyncLabels sets distributed sync metadata labels for networks.
func SetVpnGatewayAnsibleRetries ¶ added in v0.17.0
func SetVpnGatewayAppliedConfigHash ¶ added in v0.17.0
func SetVpnGatewayManagedServerID ¶ added in v0.17.0
Types ¶
type Database ¶ added in v0.8.7
type Database struct {
Cli *etcd.Client
Ctx context.Context
Session *concurrency.Session
Mutex *concurrency.Mutex
}
func NewDatabase ¶ added in v0.8.7
func (*Database) AddUserRole ¶ added in v0.25.0
AddUserRole assigns a role to a user.
func (*Database) AllocateIP ¶ added in v0.11.0
IPネットワークのIDをセットして、そのネットワークからIPアドレスを一つ割り当てる。 取得したIPアドレスは、仮想マシンやコンテナのネットワーク設定に使用される。 渡したホストIDは、このホストによって使用中であることを示すために使用される。
func (*Database) AssignNodeToServer ¶ added in v0.12.0
AssignNodeToServer は NodeName 未設定のサーバーに対して nodeName を割り当てる。 既に割り当て済みの場合は何もしない。 etcd の CAS を利用して競合を防ぐ。
func (*Database) AuthenticateApiKey ¶ added in v0.25.0
AuthenticateApiKey resolves a bearer token to its user and API key.
func (*Database) AuthenticateUser ¶ added in v0.25.0
AuthenticateUser validates a password and returns the user on success.
func (*Database) Authorize ¶ added in v0.25.0
Authorize checks whether a user may perform a verb on a resource.
func (*Database) CheckIPaddrInUse ¶ added in v0.11.0
IPアドレスが存在するかどうかをチェックする
func (*Database) CheckIPnetInUse ¶ added in v0.11.0
この仮想ネットワークに関連づいているIPネットワークが使用中かどうかをチェックする
func (*Database) CleanupRevokedApiKeysOlderThan ¶ added in v0.25.0
CleanupRevokedApiKeysOlderThan physically deletes revoked API keys whose RevokedAt is older than the threshold.
func (*Database) CountGatewayByPublicIP ¶ added in v0.16.0
CountGatewayByPublicIP counts gateways that use the specified bind public IP.
func (*Database) CreateAnyIpNetwork ¶ added in v0.11.0
IPネットワークアドレスを無指定で、自動生成して永続化する 戻り値は、ネットワークIDなどの識別子
func (*Database) CreateGateway ¶ added in v0.16.0
CreateGateway stores a gateway object in etcd with a generated ID and PENDING status.
func (*Database) CreateIpNetwork ¶ added in v0.11.0
IPネットワークアドレス、サブネットマスク、ゲートウェイなどを作成して、etcdに永続化する 戻り値は、ネットワークIDなどの識別子、エラー時でもIDを返す
func (*Database) CreateLoadBalancer ¶ added in v0.19.0
func (d *Database) CreateLoadBalancer(spec api.ApplicationLoadBalancer) (api.ApplicationLoadBalancer, error)
func (*Database) CreateNetworkLoadBalancer ¶ added in v0.20.0
func (d *Database) CreateNetworkLoadBalancer(spec api.NetworkLoadBalancer) (api.NetworkLoadBalancer, error)
func (*Database) CreateSeq0 ¶ added in v0.11.0
シリアル番号
func (*Database) CreateUser ¶ added in v0.25.0
CreateUser stores a new user entry.
func (*Database) CreateUserApiKey ¶ added in v0.25.0
func (d *Database) CreateUserApiKey(userID string, req api.ApiKeyCreateRequest) (api.ApiKey, string, error)
CreateUserApiKey creates a new API key for a user and returns the raw token.
func (*Database) CreateVirtualNetwork ¶ added in v0.11.0
func (d *Database) CreateVirtualNetwork(spec api.VirtualNetwork) (api.VirtualNetwork, error)
仮想ネットワークを登録、仮想ネットワークを一意に識別するIDを自動生成
func (*Database) CreateVolumeOnDB2 ¶ added in v0.11.0
仮想マシンを生成する時にボリュームを生成して、アタッチする OS or DATA ボリュームの作成
func (*Database) CreateVpnGateway ¶ added in v0.17.0
func (d *Database) CreateVpnGateway(spec api.VpnGateway) (api.VpnGateway, error)
func (*Database) DelSeqByKey ¶ added in v0.9.1
func (*Database) DeleteDnsEntryByName ¶ added in v0.11.0
ホスト名とドメイン名で、エントリーを削除する。
func (*Database) DeleteGatewayById ¶ added in v0.16.0
DeleteGatewayById deletes a gateway record by ID.
func (*Database) DeleteImage ¶ added in v0.11.0
IDで特定してイメージを削除する
func (*Database) DeleteIpNetworkById ¶ added in v0.11.0
IPネットワークアドレスを削除する IPネットワークに割当られたIPがある場合は、削除できないようにする
func (*Database) DeleteJSON ¶ added in v0.9.1
func (*Database) DeleteLoadBalancerById ¶ added in v0.19.0
func (*Database) DeleteNetworkLoadBalancerById ¶ added in v0.20.0
func (*Database) DeleteServerById ¶ added in v0.9.1
サーバーをIDで削除
func (*Database) DeleteUserApiKey ¶ added in v0.25.0
DeleteUserApiKey revokes and removes a user's API key.
func (*Database) DeleteUserById ¶ added in v0.25.0
DeleteUserById deletes a user and all of the user's API keys.
func (*Database) DeleteUserRole ¶ added in v0.25.0
DeleteUserRole removes a role from a user.
func (*Database) DeleteVirtualNetworkById ¶ added in v0.11.0
仮想ネットワークをIDで削除
func (*Database) DeleteVolume ¶ added in v0.9.1
データボリュームの削除
func (*Database) DeleteVpnGatewayById ¶ added in v0.17.0
func (*Database) EnsureBootstrapAdmin ¶ added in v0.25.0
EnsureBootstrapAdmin seeds the default admin user when the auth store is empty. Existing users are never modified.
func (*Database) FindImageByName ¶ added in v0.11.0
イメージの全リストを返す
func (*Database) FindImageByNameAndNode ¶ added in v0.12.0
イメージ名とノード名でイメージを検索する。 NodeName が一致するエントリーのみ返す。
func (*Database) FindVolumeByName ¶ added in v0.9.1
データボリュームの一覧取得
func (*Database) GetAllHostStatus ¶ added in v0.11.6
func (d *Database) GetAllHostStatus() ([]api.HostStatus, error)
全HostStatusをetcdから取得する
func (*Database) GetAllocatedIPs ¶ added in v0.11.0
func (*Database) GetByPrefix ¶ added in v0.9.1
func (d *Database) GetByPrefix(prefix string) (*etcd.GetResponse, error)
プレフィックス検索で取得
func (*Database) GetDnsEntry ¶ added in v0.11.0
ホスト名とドメイン名からIPアドレスを取得する
func (*Database) GetGatewayById ¶ added in v0.16.0
GetGatewayById returns one gateway by ID.
func (*Database) GetGatewayByName ¶ added in v0.16.0
GetGatewayByName returns gateways matching the given name.
func (*Database) GetGateways ¶ added in v0.16.0
GetGateways returns all gateways.
func (*Database) GetHostStatus ¶ added in v0.11.6
func (d *Database) GetHostStatus(nodeName string) (api.HostStatus, error)
HostStatusをetcdから取得する
func (*Database) GetIpNetworkById ¶ added in v0.11.0
func (*Database) GetIpNetworks ¶ added in v0.11.0
func (*Database) GetJSON ¶ added in v0.9.1
func (d *Database) GetJSON(key string, out interface{}) (*etcd.GetResponse, error)
JSONデコードして取得
func (*Database) GetLoadBalancerById ¶ added in v0.19.0
func (d *Database) GetLoadBalancerById(id string) (api.ApplicationLoadBalancer, error)
func (*Database) GetLoadBalancers ¶ added in v0.19.0
func (d *Database) GetLoadBalancers() ([]api.ApplicationLoadBalancer, error)
func (*Database) GetNetworkLoadBalancerById ¶ added in v0.20.0
func (d *Database) GetNetworkLoadBalancerById(id string) (api.NetworkLoadBalancer, error)
func (*Database) GetNetworkLoadBalancers ¶ added in v0.20.0
func (d *Database) GetNetworkLoadBalancers() ([]api.NetworkLoadBalancer, error)
func (*Database) GetOsImgQcow2Tempes ¶ added in v0.9.1
func (d *Database) GetOsImgQcow2Tempes(osits *[]types.OsImageTemplate) error
func (*Database) GetOsImgTempByKey ¶ added in v0.8.7
func (d *Database) GetOsImgTempByKey(key string) (types.OsImageTemplate, error)
func (*Database) GetOsImgTempByOsVariant ¶ added in v0.9.1
func (d *Database) GetOsImgTempByOsVariant(osVariant string) (types.OsImageTemplate, error)
Keyに一致したOSイメージテンプレートを返す lvタイプとqcow2タイプの両方に対応するようにしたい OsImageTemplate構造体にタイプ情報を追加する必要があるかも
func (*Database) GetOsImgTempQcow2ByOsVariant ¶ added in v0.9.1
func (d *Database) GetOsImgTempQcow2ByOsVariant(osVariant string) (types.OsImageTemplate, error)
Keyに一致したOSイメージテンプレートqcow2を返す
func (*Database) GetOsImgTempes ¶ added in v0.8.9
func (d *Database) GetOsImgTempes(osits *[]types.OsImageTemplate) error
func (*Database) GetRoleByName ¶ added in v0.25.0
GetRoleByName returns a built-in role by name.
func (*Database) GetSeqByKind ¶ added in v0.9.1
シリアル番号の取得(CASロック)
func (*Database) GetServerById ¶ added in v0.9.1
サーバーをIDで取得
func (*Database) GetServers ¶ added in v0.9.1
サーバーのリストを取得
func (*Database) GetUserById ¶ added in v0.25.0
GetUserById returns a user by id.
func (*Database) GetVirtualNetworkById ¶ added in v0.11.0
func (d *Database) GetVirtualNetworkById(id string) (api.VirtualNetwork, error)
仮想ネットワークをIDで取得
func (*Database) GetVirtualNetworkByName ¶ added in v0.11.0
func (d *Database) GetVirtualNetworkByName(name string) (api.VirtualNetwork, error)
仮想ネットワークのリストを取得
func (*Database) GetVirtualNetworks ¶ added in v0.11.0
func (d *Database) GetVirtualNetworks() ([]api.VirtualNetwork, error)
仮想ネットワークのリストを取得
func (*Database) GetVolumeById ¶ added in v0.9.1
データボリュームの情報取得
func (*Database) GetVolumes ¶ added in v0.11.0
データボリュームの一覧取得
func (*Database) GetVpnGatewayById ¶ added in v0.17.0
func (d *Database) GetVpnGatewayById(id string) (api.VpnGateway, error)
func (*Database) GetVpnGateways ¶ added in v0.17.0
func (d *Database) GetVpnGateways() ([]api.VpnGateway, error)
func (*Database) ListUserApiKeys ¶ added in v0.25.0
ListUserApiKeys returns active API keys for a user.
func (*Database) ListUserRoles ¶ added in v0.25.0
ListUserRoles returns the roles assigned to a user.
func (*Database) ListVolumes ¶ added in v0.9.1
データボリュームの一覧取得
func (*Database) LockKey ¶ added in v0.9.1
func (d *Database) LockKey(lockName string) (*concurrency.Mutex, error)
LockKey: 指定キーに対する分散ロックを取得
func (*Database) LockUserById ¶ added in v0.25.0
LockUserById locks a user and invalidates all API keys.
func (*Database) MakeFollowerImageEntry ¶ added in v0.12.0
func (d *Database) MakeFollowerImageEntry(headImage api.Image, followerNodeName string, headImageId string) (string, error)
MakeFollowerImageEntry creates a follower-side image object that waits for the head image. The follower image keeps headImageId in labels and starts from WAITING status.
func (*Database) MakeFollowerVirtualNetworkEntry ¶ added in v0.12.0
func (d *Database) MakeFollowerVirtualNetworkEntry(headNetwork api.VirtualNetwork, followerNodeName string, headNetworkID string) (string, error)
MakeFollowerVirtualNetworkEntry creates a follower-side network object that waits for the head network to become ACTIVE.
func (*Database) MakeImageEntryFromRunningVM ¶ added in v0.11.0
ブートボリュームからイメージを作成する
func (*Database) MakeImageEntryFromSpec ¶ added in v0.14.1
APIのImage定義をそのまま受け取り、イメージを作成する。
func (*Database) MakeImageEntryFromURL ¶ added in v0.11.0
URLのイメージをダウンロードして、それからイメージを作成する
func (*Database) MakeImageEntryFromURLWithNode ¶ added in v0.11.7
URLのイメージをダウンロードして、それからイメージを作成する。 nodeName が指定されている場合は、Metadata.nodeName に記録する。
func (*Database) MakeImportedImageEntry ¶ added in v0.20.0
MakeImportedImageEntry は既存のqcow2ファイルを参照する利用可能なイメージを登録する。
func (*Database) MakeServerEntry ¶ added in v0.11.0
サーバーを登録、サーバーを一意に識別するIDを自動生成、サーバーのステータスは、PENDINGで開始
func (*Database) PutDnsEntry ¶ added in v0.11.0
ホスト名、サブドメイン、IPアドレスを登録する
func (*Database) PutHostStatus ¶ added in v0.11.6
func (d *Database) PutHostStatus(status api.HostStatus) error
HostStatusをetcdに保存する
func (*Database) PutJSONCAS ¶ added in v0.9.1
PutJSONCAS: ModRevision が expectedRev の時だけ更新する
func (*Database) PutVirtualNetworksETCD ¶ added in v0.11.0
func (d *Database) PutVirtualNetworksETCD(vnet api.VirtualNetwork) error
既存ネットワークの取得とデータベースへの登録
func (*Database) ReleaseIPsByHostID ¶ added in v0.26.2
ReleaseIPsByHostID は、全仮想ネットワークの IPAM テーブルから 指定 hostId に紐づく割り当て済み IP を解放する。
func (*Database) RevokeIdleLoginSessionsOlderThan ¶ added in v0.25.0
RevokeIdleLoginSessionsOlderThan revokes login session API keys whose last activity is older than the threshold.
func (*Database) RollbackVolumeCreation ¶ added in v0.9.1
ボリューム作成のロールバック
func (*Database) SetDeleteTimestamp ¶ added in v0.11.0
サーバーオブジェクトの削除日時をセット
func (*Database) SetDeleteTimestampGateway ¶ added in v0.16.0
SetDeleteTimestampGateway sets deletion timestamp for async controller processing.
func (*Database) SetDeleteTimestampImage ¶ added in v0.11.0
イメージの削除予定日時をセットする
func (*Database) SetDeleteTimestampLoadBalancer ¶ added in v0.19.0
func (*Database) SetDeleteTimestampNetworkLoadBalancer ¶ added in v0.20.0
func (*Database) SetDeleteTimestampVirtualNetwork ¶ added in v0.11.0
仮想ネットワークオブジェクトの削除タイムスタンプをセット
func (*Database) SetDeleteTimestampVpnGateway ¶ added in v0.17.0
func (*Database) SetIPaddrInUse ¶ added in v0.11.0
ネットワークIDをセットして、そのネットワークから割り当てられたIPアドレスを使用中としてマークする
func (*Database) SetImageQcow2Template ¶ added in v0.9.1
func (d *Database) SetImageQcow2Template(v cf.Image_yaml) error
qcow2イメージテンプレート
func (*Database) SetUserPasswordHash ¶ added in v0.25.0
SetUserPasswordHash updates the password hash and password timestamp.
func (*Database) SetVolumeDeletionTimestamp ¶ added in v0.11.0
削除タイムスタンプのセット
func (*Database) UnlockKey ¶ added in v0.9.1
func (d *Database) UnlockKey(m *concurrency.Mutex)
UnlockKey: エラーを無視してでも必ず呼ぶ想定
func (*Database) UnlockUserById ¶ added in v0.25.0
UnlockUserById unlocks a user.
func (*Database) UpdateGatewayById ¶ added in v0.16.0
UpdateGatewayById updates a gateway using optimistic locking.
func (*Database) UpdateGatewayStatusWithMessage ¶ added in v0.16.0
UpdateGatewayStatusWithMessage updates status and optional message for gateway objects.
func (*Database) UpdateImage ¶ added in v0.11.0
イメージのオブジェクトを部分更新
func (*Database) UpdateImageStatus ¶ added in v0.11.0
ステータスの変更
func (*Database) UpdateImageStatusMessage ¶ added in v0.11.5
ステータスとメッセージの変更
func (*Database) UpdateLoadBalancerById ¶ added in v0.19.0
func (d *Database) UpdateLoadBalancerById(id string, spec api.ApplicationLoadBalancer) error
func (*Database) UpdateLoadBalancerStatusWithMessage ¶ added in v0.19.0
func (*Database) UpdateNetworkLoadBalancerById ¶ added in v0.20.0
func (d *Database) UpdateNetworkLoadBalancerById(id string, spec api.NetworkLoadBalancer) error
func (*Database) UpdateNetworkLoadBalancerStatusWithMessage ¶ added in v0.20.0
func (*Database) UpdateServer ¶ added in v0.9.1
サーバーを更新
func (*Database) UpdateServerStatus ¶ added in v0.11.0
サーバーオブジェクトのステータスを更新
func (*Database) UpdateUser ¶ added in v0.25.0
UpdateUser updates the stored user.
func (*Database) UpdateVirtualNetworkById ¶ added in v0.11.0
func (d *Database) UpdateVirtualNetworkById(vnetId string, spec api.VirtualNetwork) error
仮想ネットワークを更新
func (*Database) UpdateVirtualNetworkStatus ¶ added in v0.11.0
仮想ネットワークオブジェクトのステータスを更新
func (*Database) UpdateVirtualNetworkStatusWithMessage ¶ added in v0.12.0
UpdateVirtualNetworkStatusWithMessage はステータスとメッセージを同時に更新する。 message が空の場合は、ステータスに応じたデフォルト値を設定。
func (*Database) UpdateVolume ¶ added in v0.9.1
/ ボリュームを更新
func (*Database) UpdateVolumeStatus ¶ added in v0.11.0
OSボリュームの状態更新 エラー時はログ出力して処理を中断する(panic は発生させない)
func (*Database) UpdateVolumeStatusMessage ¶ added in v0.11.5
func (*Database) UpdateVpnGatewayById ¶ added in v0.17.0
func (d *Database) UpdateVpnGatewayById(id string, spec api.VpnGateway) error
type Job ¶ added in v0.9.1
type Job struct {
Database *Database
// contains filtered or unexported fields
}
ジョブ機能のインスタンス
func NewJobController ¶ added in v0.9.1
ジョブコントローラの生成
func (*Job) GetAllJobs ¶ added in v0.11.0
古いものから順番にジョブのリストを取得する