cache

package
v0.2.0-beta1 Latest Latest
Warning

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

Go to latest
Published: Apr 13, 2026 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Copyright 2025 Cloudbase Solutions SRL

Licensed under the Apache License, Version 2.0 (the "License"); you may
not use this file except in compliance with the License. You may obtain
a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.

Copyright 2025 Cloudbase Solutions SRL

Licensed under the Apache License, Version 2.0 (the "License"); you may
not use this file except in compliance with the License. You may obtain
a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.

Copyright 2025 Cloudbase Solutions SRL

Licensed under the Apache License, Version 2.0 (the "License"); you may
not use this file except in compliance with the License. You may obtain
a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.

Copyright 2025 Cloudbase Solutions SRL

Licensed under the Apache License, Version 2.0 (the "License"); you may
not use this file except in compliance with the License. You may obtain
a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.

Copyright 2025 Cloudbase Solutions SRL

Licensed under the Apache License, Version 2.0 (the "License"); you may
not use this file except in compliance with the License. You may obtain
a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.

Copyright 2025 Cloudbase Solutions SRL

Licensed under the Apache License, Version 2.0 (the "License"); you may
not use this file except in compliance with the License. You may obtain
a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.

Copyright 2025 Cloudbase Solutions SRL

Licensed under the Apache License, Version 2.0 (the "License"); you may
not use this file except in compliance with the License. You may obtain
a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ControllerInfo

func ControllerInfo() params.ControllerInfo

func DeleteEntity

func DeleteEntity(entityID string)

func DeleteEntityPool

func DeleteEntityPool(entityID string, poolID string)

func DeleteEntityScaleSet

func DeleteEntityScaleSet(entityID string, scaleSetID uint)

func DeleteGiteaCredentials

func DeleteGiteaCredentials(id uint)

func DeleteGithubClient

func DeleteGithubClient(entityID string)

func DeleteGithubCredentials

func DeleteGithubCredentials(id uint)

func DeleteGithubToolsCache

func DeleteGithubToolsCache(entityID string)

func DeleteInstanceCache

func DeleteInstanceCache(name string)

func DeleteTemplate

func DeleteTemplate(id uint)

func FindPoolsMatchingAllTags

func FindPoolsMatchingAllTags(entityID string, tags []string) []params.Pool

func GetAllEntities

func GetAllEntities() []params.ForgeEntity

func GetAllGiteaCredentials

func GetAllGiteaCredentials() []params.ForgeCredentials

func GetAllGiteaCredentialsAsMap

func GetAllGiteaCredentialsAsMap() map[uint]params.ForgeCredentials

func GetAllGithubCredentials

func GetAllGithubCredentials() []params.ForgeCredentials

func GetAllGithubCredentialsAsMap

func GetAllGithubCredentialsAsMap() map[uint]params.ForgeCredentials

func GetAllInstancesCache

func GetAllInstancesCache() []params.Instance

func GetAllPools

func GetAllPools() []params.Pool

func GetAllScaleSets

func GetAllScaleSets() []params.ScaleSet

func GetEndpoint

func GetEndpoint(epName string) (params.ForgeEndpoint, bool)

func GetEntitiesUsingCredentials

func GetEntitiesUsingCredentials(creds params.ForgeCredentials) []params.ForgeEntity

func GetEntitiesUsingEndpoint

func GetEntitiesUsingEndpoint(endpoint params.ForgeEndpoint) []params.ForgeEntity

func GetEntity

func GetEntity(entityID string) (params.ForgeEntity, bool)

func GetEntityForInstance

func GetEntityForInstance(name string) (params.ForgeEntity, bool)

func GetEntityForPool

func GetEntityForPool(poolID string) (params.ForgeEntity, bool)

func GetEntityForScaleSet

func GetEntityForScaleSet(scaleSetID uint) (params.ForgeEntity, bool)

func GetEntityInstances

func GetEntityInstances(entityID string) []params.Instance

func GetEntityPool

func GetEntityPool(entityID string, poolID string) (params.Pool, bool)

func GetEntityPools

func GetEntityPools(entityID string) []params.Pool

func GetEntityRunnerGroup

func GetEntityRunnerGroup(entityID, runnerGroupName string) (int64, bool)

func GetEntityScaleSet

func GetEntityScaleSet(entityID string, scaleSetID uint) (params.ScaleSet, bool)

func GetEntityScaleSets

func GetEntityScaleSets(entityID string) []params.ScaleSet

func GetGiteaCredentials

func GetGiteaCredentials(id uint) (params.ForgeCredentials, bool)

func GetGithubClient

func GetGithubClient(entityID string) (common.GithubClient, bool)

func GetGithubCredentials

func GetGithubCredentials(id uint) (params.ForgeCredentials, bool)

func GetGithubToolsCache

func GetGithubToolsCache(entityID string) ([]commonParams.RunnerApplicationDownload, error)

func GetInstanceCache

func GetInstanceCache(name string) (params.Instance, bool)

func GetInstancesForPool

func GetInstancesForPool(poolID string) []params.Instance

func GetInstancesForScaleSet

func GetInstancesForScaleSet(scaleSetID uint) []params.Instance

func GetPoolByID

func GetPoolByID(poolID string) (params.Pool, bool)

func GetScaleSetByID

func GetScaleSetByID(scaleSetID uint) (params.ScaleSet, bool)

func GetTemplate

func GetTemplate(id uint) (params.Template, bool)

func ListTemplates

func ListTemplates(osType *commonParams.OSType, forgeType *params.EndpointType) []params.Template

func RemoveEndpoint

func RemoveEndpoint(epName string)

func ReplaceEntityPools

func ReplaceEntityPools(entityID string, pools []params.Pool)

func ReplaceEntityScaleSets

func ReplaceEntityScaleSets(entityID string, scaleSets []params.ScaleSet)

func SetControllerCache

func SetControllerCache(ctrl params.ControllerInfo)

func SetCredentialsRateLimit

func SetCredentialsRateLimit(credsID uint, rateLimit params.GithubRateLimit)

func SetEndpoint

func SetEndpoint(ep params.ForgeEndpoint)

func SetEntity

func SetEntity(entity params.ForgeEntity)

func SetEntityPool

func SetEntityPool(entityID string, pool params.Pool)

func SetEntityRunnerGroup

func SetEntityRunnerGroup(entityID, runnerGroupName string, runnerGroupID int64)

func SetEntityScaleSet

func SetEntityScaleSet(entityID string, scaleSet params.ScaleSet)

func SetGiteaCredentials

func SetGiteaCredentials(credentials params.ForgeCredentials)

func SetGithubClient

func SetGithubClient(entityID string, client common.GithubClient)

func SetGithubCredentials

func SetGithubCredentials(credentials params.ForgeCredentials)

func SetGithubToolsCache

func SetGithubToolsCache(entity params.ForgeEntity, tools []commonParams.RunnerApplicationDownload)

func SetGithubToolsCacheError

func SetGithubToolsCacheError(entity params.ForgeEntity, err error)

func SetInstanceCache

func SetInstanceCache(instance params.Instance)

func SetTemplateCache

func SetTemplateCache(tpl params.Template)

func UpdateCredentialsInAffectedEntities

func UpdateCredentialsInAffectedEntities(creds params.ForgeCredentials)

func UpdateCredentialsUsingEndpoint

func UpdateCredentialsUsingEndpoint(ep params.ForgeEndpoint)

Types

type ControllerCache

type ControllerCache struct {
	// contains filtered or unexported fields
}

func (*ControllerCache) ControllerInfo

func (c *ControllerCache) ControllerInfo() params.ControllerInfo

func (*ControllerCache) SetControllerCache

func (c *ControllerCache) SetControllerCache(ctrl params.ControllerInfo)

type CredentialCache

type CredentialCache struct {
	// contains filtered or unexported fields
}

func (*CredentialCache) DeleteCredentials

func (g *CredentialCache) DeleteCredentials(id uint)

func (*CredentialCache) GetAllCredentials

func (g *CredentialCache) GetAllCredentials() []params.ForgeCredentials

func (*CredentialCache) GetAllCredentialsAsMap

func (g *CredentialCache) GetAllCredentialsAsMap() map[uint]params.ForgeCredentials

func (*CredentialCache) GetCredentials

func (g *CredentialCache) GetCredentials(id uint) (params.ForgeCredentials, bool)

func (*CredentialCache) SetCredentials

func (g *CredentialCache) SetCredentials(credentials params.ForgeCredentials)

func (*CredentialCache) SetCredentialsRateLimit

func (g *CredentialCache) SetCredentialsRateLimit(credsID uint, rateLimit params.GithubRateLimit)

func (*CredentialCache) UpdateCredentialsUsingEndpoint

func (g *CredentialCache) UpdateCredentialsUsingEndpoint(ep params.ForgeEndpoint)

type EndpointCache

type EndpointCache struct {
	// contains filtered or unexported fields
}

func (*EndpointCache) GetEndpoint

func (e *EndpointCache) GetEndpoint(epName string) (params.ForgeEndpoint, bool)

func (*EndpointCache) RemoveEndpoint

func (e *EndpointCache) RemoveEndpoint(epName string)

func (*EndpointCache) SetEndpoint

func (e *EndpointCache) SetEndpoint(ep params.ForgeEndpoint)

type EntityCache

type EntityCache struct {
	// contains filtered or unexported fields
}

func (*EntityCache) DeleteEntity

func (e *EntityCache) DeleteEntity(entityID string)

func (*EntityCache) DeleteEntityPool

func (e *EntityCache) DeleteEntityPool(entityID string, poolID string)

func (*EntityCache) DeleteEntityScaleSet

func (e *EntityCache) DeleteEntityScaleSet(entityID string, scaleSetID uint)

func (*EntityCache) FindPoolsMatchingAllTags

func (e *EntityCache) FindPoolsMatchingAllTags(entityID string, tags []string) []params.Pool

func (*EntityCache) GetAllEntities

func (e *EntityCache) GetAllEntities() []params.ForgeEntity

func (*EntityCache) GetAllPools

func (e *EntityCache) GetAllPools() []params.Pool

func (*EntityCache) GetAllScaleSets

func (e *EntityCache) GetAllScaleSets() []params.ScaleSet

func (*EntityCache) GetEntitiesUsingCredentials

func (e *EntityCache) GetEntitiesUsingCredentials(creds params.ForgeCredentials) []params.ForgeEntity

func (*EntityCache) GetEntitiesUsingEndpoint

func (e *EntityCache) GetEntitiesUsingEndpoint(endpoint params.ForgeEndpoint) []params.ForgeEntity

func (*EntityCache) GetEntity

func (e *EntityCache) GetEntity(entityID string) (params.ForgeEntity, bool)

func (*EntityCache) GetEntityForPool

func (e *EntityCache) GetEntityForPool(poolID string) (params.ForgeEntity, bool)

func (*EntityCache) GetEntityForScaleSet

func (e *EntityCache) GetEntityForScaleSet(scaleSetID uint) (params.ForgeEntity, bool)

func (*EntityCache) GetEntityPool

func (e *EntityCache) GetEntityPool(entityID string, poolID string) (params.Pool, bool)

func (*EntityCache) GetEntityPools

func (e *EntityCache) GetEntityPools(entityID string) []params.Pool

func (*EntityCache) GetEntityRunnerGroup

func (e *EntityCache) GetEntityRunnerGroup(entityID, runnerGroupName string) (int64, bool)

func (*EntityCache) GetEntityScaleSet

func (e *EntityCache) GetEntityScaleSet(entityID string, scaleSetID uint) (params.ScaleSet, bool)

func (*EntityCache) GetEntityScaleSets

func (e *EntityCache) GetEntityScaleSets(entityID string) []params.ScaleSet

func (*EntityCache) GetPoolByID

func (e *EntityCache) GetPoolByID(poolID string) (params.Pool, bool)

func (*EntityCache) GetScaleSetByID

func (e *EntityCache) GetScaleSetByID(scaleSetID uint) (params.ScaleSet, bool)

func (*EntityCache) ReplaceEntityPools

func (e *EntityCache) ReplaceEntityPools(entityID string, pools []params.Pool)

func (*EntityCache) ReplaceEntityScaleSets

func (e *EntityCache) ReplaceEntityScaleSets(entityID string, scaleSets []params.ScaleSet)

func (*EntityCache) SetEntity

func (e *EntityCache) SetEntity(entity params.ForgeEntity)

func (*EntityCache) SetEntityPool

func (e *EntityCache) SetEntityPool(entityID string, pool params.Pool)

func (*EntityCache) SetEntityRunnerGroup

func (e *EntityCache) SetEntityRunnerGroup(entityID, runnerGroupName string, runnerGroupID int64)

func (*EntityCache) SetEntityScaleSet

func (e *EntityCache) SetEntityScaleSet(entityID string, scaleSet params.ScaleSet)

func (*EntityCache) UpdateCredentialsInAffectedEntities

func (e *EntityCache) UpdateCredentialsInAffectedEntities(creds params.ForgeCredentials)

type EntityItem

type EntityItem struct {
	Entity       params.ForgeEntity
	Pools        map[string]struct{}
	ScaleSets    map[uint]struct{}
	RunnerGroups map[string]RunnerGroupEntry
}

type GithubClientCache

type GithubClientCache struct {
	// contains filtered or unexported fields
}

func (*GithubClientCache) DeleteClient

func (g *GithubClientCache) DeleteClient(entityID string)

func (*GithubClientCache) GetClient

func (g *GithubClientCache) GetClient(entityID string) (common.GithubClient, bool)

func (*GithubClientCache) SetClient

func (g *GithubClientCache) SetClient(entityID string, client common.GithubClient)

type GithubEntityTools

type GithubEntityTools struct {
	// contains filtered or unexported fields
}

type GithubToolsCache

type GithubToolsCache struct {
	// contains filtered or unexported fields
}

func (*GithubToolsCache) Delete

func (g *GithubToolsCache) Delete(entityID string)

func (*GithubToolsCache) Get

func (*GithubToolsCache) Set

func (*GithubToolsCache) SetToolsError

func (g *GithubToolsCache) SetToolsError(entity params.ForgeEntity, err error)

type InstanceCache

type InstanceCache struct {
	// contains filtered or unexported fields
}

func (*InstanceCache) DeleteInstance

func (i *InstanceCache) DeleteInstance(name string)

func (*InstanceCache) GetAllInstances

func (i *InstanceCache) GetAllInstances() []params.Instance

func (*InstanceCache) GetEntityForInstance

func (i *InstanceCache) GetEntityForInstance(name string) (params.ForgeEntity, bool)

func (*InstanceCache) GetEntityInstances

func (i *InstanceCache) GetEntityInstances(entityID string) []params.Instance

func (*InstanceCache) GetInstance

func (i *InstanceCache) GetInstance(name string) (params.Instance, bool)

func (*InstanceCache) GetInstancesForPool

func (i *InstanceCache) GetInstancesForPool(poolID string) []params.Instance

func (*InstanceCache) GetInstancesForScaleSet

func (i *InstanceCache) GetInstancesForScaleSet(scaleSetID uint) []params.Instance

func (*InstanceCache) SetInstance

func (i *InstanceCache) SetInstance(instance params.Instance)

type RunnerGroupEntry

type RunnerGroupEntry struct {
	RunnerGroupID int64
	// contains filtered or unexported fields
}

type TemplateCache

type TemplateCache struct {
	// contains filtered or unexported fields
}

func (*TemplateCache) DeleteTemplate

func (t *TemplateCache) DeleteTemplate(id uint)

func (*TemplateCache) GetTemplate

func (t *TemplateCache) GetTemplate(id uint) (params.Template, bool)

func (*TemplateCache) ListTemplates

func (t *TemplateCache) ListTemplates(osType *commonParams.OSType, forgeType *params.EndpointType) []params.Template

func (*TemplateCache) SetTemplateCache

func (t *TemplateCache) SetTemplateCache(tpl params.Template)

Jump to

Keyboard shortcuts

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