package client
import "github.com/oslokommune/okctl/pkg/client"
Package client defines the domain model
Index ¶
- Constants
- Variables
- type AWSLoadBalancerController
- type AWSLoadBalancerControllerService
- type AWSLoadBalancerControllerState
- type AddPostgresToApplicationOpts
- type ApplicationManifestService
- type ApplicationPostgresService
- type ApplicationService
- type Applier
- type ArgoCD
- type ArgoCDService
- type ArgoCDState
- type Autoscaler
- type AutoscalerService
- type AutoscalerState
- type Blockstorage
- type BlockstorageService
- type BlockstorageState
- type Certificate
- type CertificateAPI
- type CertificateService
- type CertificateState
- type Cluster
- type ClusterAPI
- type ClusterCreateOpts
- type ClusterDeleteOpts
- type ClusterService
- type ClusterState
- type ClusterVersion
- type ComponentAPI
- type ComponentService
- type ComponentState
- type ContainerRepository
- type ContainerRepositoryAPI
- type ContainerRepositoryService
- type ContainerRepositoryState
- type CreateAWSLoadBalancerControllerOpts
- type CreateArgoCDApplicationManifestOpts
- type CreateArgoCDOpts
- type CreateAutoscalerOpts
- type CreateBlockstorageOpts
- type CreateCertificateOpts
- type CreateConfigMapOpts
- type CreateContainerRepositoryOpts
- type CreateExternalDNSOpts
- type CreateExternalSecretOpts
- type CreateExternalSecretsOpts
- type CreateGithubDeployKeyOpts
- type CreateGithubRepositoryOpts
- type CreateHelmReleaseOpts
- type CreateIdentityPoolClientOpts
- type CreateIdentityPoolOpts
- type CreateIdentityPoolUserOpts
- type CreateKubePromStackOpts
- type CreatePolicyOpts
- type CreatePostgresDatabaseOpts
- type CreatePrimaryHostedZoneOpts
- type CreateSecretOpts
- type CreateServiceAccountOpts
- type CreateVpcOpts
- type DeleteApplicationManifestsOpts
- type DeleteArgoCDApplicationManifestOpts
- type DeleteArgoCDOpts
- type DeleteCertificateOpts
- type DeleteCognitoCertificateOpts
- type DeleteConfigMapOpts
- type DeleteContainerRepositoryOpts
- type DeleteExternalSecretOpts
- type DeleteGithubDeployKeyOpts
- type DeleteGithubRepositoryOpts
- type DeleteHelmReleaseOpts
- type DeleteIdentityPoolClientOpts
- type DeleteIdentityPoolOpts
- type DeleteIdentityPoolUserOpts
- type DeleteKubePromStackOpts
- type DeletePolicyOpts
- type DeletePostgresDatabaseOpts
- type DeletePrimaryHostedZoneOpts
- type DeleteSecretOpts
- type DeleteServiceAccountOpts
- type DeleteVpcOpts
- type DomainAPI
- type DomainService
- type DomainState
- type EmptyContainerRepositoryOpts
- type ExternalDNS
- type ExternalDNSAPI
- type ExternalDNSKube
- type ExternalDNSService
- type ExternalDNSState
- type ExternalSecrets
- type ExternalSecretsService
- type ExternalSecretsState
- type GetClusterSecurityGroupIDOpts
- type GetHelmReleaseOpts
- type GetPatchOpts
- type GetPostgresDatabaseOpts
- type GitRemoteFileDeleter
- type GithubDeployKey
- type GithubRepository
- type GithubSecret
- type GithubService
- type GithubState
- type HasArgoCDIntegrationOpts
- type HasPostgresIntegrationOpts
- type Helm
- type HelmAPI
- type HelmService
- type HelmState
- type HostedZone
- type IdentityManagerAPI
- type IdentityManagerService
- type IdentityManagerState
- type IdentityPool
- type IdentityPoolClient
- type IdentityPoolUser
- type InitiateDomainDelegationOpts
- type KubePromStack
- type KubernetesManifest
- type KubernetesState
- type Locker
- type LokiState
- type ManagedPolicy
- type ManagedPolicyAPI
- type ManagedPolicyService
- type ManagedPolicyState
- type ManifestAPI
- type ManifestService
- type ManifestState
- type ManifestType
- type MonitoringService
- type MonitoringState
- type NSRecordDelegationService
- type OriginalClusterVersion
- type ParameterAPI
- type ParameterService
- type ParameterState
- type PostgresDatabase
- type PromtailState
- type RecordSetAlias
- type RemoteStateService
- type RemovePostgresFromApplicationOpts
- type RevokeDomainDelegationOpts
- type S3Bucket
- type SaveManifestOpts
- type SaveNamespaceOpts
- type SavePatchOpts
- type ScaffoldApplicationOpts
- type SecretParameter
- type SecurityGroupAPI
- type ServiceAccount
- type ServiceAccountAPI
- type ServiceAccountService
- type ServiceAccountState
- type Stater
- type TempoState
- type Upgrade
- type UpgradeState
- type VPCAPI
- type VPCService
- type VPCState
- type Vpc
- type VpcSubnet
Constants ¶
const ( ManifestTypeExternalSecret = "external-secret" ManifestTypeStorageClass = "storage-class" ManifestTypeConfigMap = "config-map" ManifestTypeNamespace = "namespace" )
nolint: golint
Variables ¶
ErrClusterVersionNotFound is returned when the cluster version is not found in state
ErrOriginalClusterVersionNotFound is returned when the original okctl version is not found in state
ErrUpgradeNotFound is returned when an upgrade is not found in state
Types ¶
type AWSLoadBalancerController ¶
type AWSLoadBalancerController struct { Policy *ManagedPolicy ServiceAccount *ServiceAccount Chart *Helm }
AWSLoadBalancerController contains the state of an alb ingress controller deployment
type AWSLoadBalancerControllerService ¶
type AWSLoadBalancerControllerService interface { CreateAWSLoadBalancerController(ctx context.Context, opts CreateAWSLoadBalancerControllerOpts) (*AWSLoadBalancerController, error) DeleteAWSLoadBalancerController(ctx context.Context, id api.ID) error }
AWSLoadBalancerControllerService defines the service layer
type AWSLoadBalancerControllerState ¶
AWSLoadBalancerControllerState defines the state layer
type AddPostgresToApplicationOpts ¶
type AddPostgresToApplicationOpts struct { Cluster v1alpha1.Cluster Application v1alpha1.Application DatabaseName string }
AddPostgresToApplicationOpts defines required data to add a Postgres database to an application
type ApplicationManifestService ¶
type ApplicationManifestService interface { // SaveManifest knows how to store a Kubernetes manifest and update Kustomize resources SaveManifest(ctx context.Context, opts SaveManifestOpts) error // SavePatch knows how to store a Kustomize patch SavePatch(ctx context.Context, opts SavePatchOpts) error // GetPatch knows how to retrieve a Kustomize patch GetPatch(ctx context.Context, opts GetPatchOpts) (jsonpatch.Patch, error) // SaveNamespace knows how to store a namespace SaveNamespace(ctx context.Context, opts SaveNamespaceOpts) error }
ApplicationManifestService defines functionality for the ApplicationManifestService
type ApplicationPostgresService ¶
type ApplicationPostgresService interface { AddPostgresToApplication(ctx context.Context, opts AddPostgresToApplicationOpts) error RemovePostgresFromApplication(ctx context.Context, opts RemovePostgresFromApplicationOpts) error HasPostgresIntegration(ctx context.Context, opts HasPostgresIntegrationOpts) (bool, error) }
ApplicationPostgresService knows how to use the ApplicationPostgresService API
type ApplicationService ¶
type ApplicationService interface { // ScaffoldApplication implements functionality for converting an Application.yaml to deployment resources ScaffoldApplication(context.Context, *ScaffoldApplicationOpts) error // DeleteApplicationManifests implements functionality for deleting application manifests DeleteApplicationManifests(context.Context, DeleteApplicationManifestsOpts) error // CreateArgoCDApplicationManifest implements functionality for integrating an app with ArgoCD CreateArgoCDApplicationManifest(opts CreateArgoCDApplicationManifestOpts) error // DeleteArgoCDApplicationManifest implements functionality for removing an ArgoCD integration for an app DeleteArgoCDApplicationManifest(opts DeleteArgoCDApplicationManifestOpts) error // HasArgoCDIntegration implements functionality for verifying if there is an existing ArgoCD integration for the app HasArgoCDIntegration(context.Context, HasArgoCDIntegrationOpts) (bool, error) }
ApplicationService applies the scaffolding API and produces the requested resources
type Applier ¶
type Applier interface { // Apply knows how to apply a manifest to a Kubernetes cluster Apply(io.Reader) error }
Applier defines necessary functionality for applying manifests to a Kubernetes cluster
type ArgoCD ¶
type ArgoCD struct { ID api.ID ArgoDomain string ArgoURL string AuthDomain string Certificate *Certificate IdentityClient *IdentityPoolClient PrivateKey *KubernetesManifest Secret *KubernetesManifest ClientSecret *SecretParameter SecretKey *SecretParameter Chart *Helm }
ArgoCD contains state about an argo cd deployment
type ArgoCDService ¶
type ArgoCDService interface { // CreateArgoCD defines functionality for installing ArgoCD into a cluster CreateArgoCD(context.Context, CreateArgoCDOpts) (*ArgoCD, error) // DeleteArgoCD defines functionality for uninstalling ArgoCD from a cluster DeleteArgoCD(context.Context, DeleteArgoCDOpts) error // SetupApplicationsSync defines functionality for preparing a directory where ArgoCD application manifests will be // automatically synced SetupApplicationsSync(context.Context, Applier, v1alpha1.Cluster) error // SetupNamespacesSync defines functionality for preparing a directory where namespace manifests will be // automatically synced SetupNamespacesSync(context.Context, Applier, v1alpha1.Cluster) error }
ArgoCDService is a business logic implementation
type ArgoCDState ¶
type ArgoCDState interface { SaveArgoCD(cd *ArgoCD) error GetArgoCD() (*ArgoCD, error) HasArgoCD() (bool, error) RemoveArgoCD() error }
ArgoCDState implements the state layer
type Autoscaler ¶
type Autoscaler struct { Policy *ManagedPolicy ServiceAccount *ServiceAccount Chart *Helm }
Autoscaler is the content of an autoscaler deployment
type AutoscalerService ¶
type AutoscalerService interface { CreateAutoscaler(ctx context.Context, opts CreateAutoscalerOpts) (*Autoscaler, error) DeleteAutoscaler(ctx context.Context, id api.ID) error }
AutoscalerService is an implementation of the business logic
type AutoscalerState ¶
AutoscalerState knows how to store and retrieve information about the Autoscaler
type Blockstorage ¶
type Blockstorage struct { Policy *ManagedPolicy ServiceAccount *ServiceAccount Chart *Helm }
Blockstorage is the content of a blockstorage deployment
type BlockstorageService ¶
type BlockstorageService interface { CreateBlockstorage(ctx context.Context, opts CreateBlockstorageOpts) (*Blockstorage, error) DeleteBlockstorage(ctx context.Context, id api.ID) error }
BlockstorageService is an implementation of the business logic
type BlockstorageState ¶
BlockstorageState defines the state layer
type Certificate ¶
type Certificate struct { ID api.ID FQDN string Domain string HostedZoneID string ARN string StackName string CloudFormationTemplate []byte }
Certificate represents an AWS ACM certificate after it has been created
type CertificateAPI ¶
type CertificateAPI interface { CreateCertificate(opts api.CreateCertificateOpts) (*api.Certificate, error) DeleteCertificate(opts api.DeleteCertificateOpts) error DeleteCognitoCertificate(opts api.DeleteCognitoCertificateOpts) error }
CertificateAPI defines the api interactions
type CertificateService ¶
type CertificateService interface { CreateCertificate(ctx context.Context, opts CreateCertificateOpts) (*Certificate, error) DeleteCertificate(ctx context.Context, opts DeleteCertificateOpts) error DeleteCognitoCertificate(ctx context.Context, opts DeleteCognitoCertificateOpts) error }
CertificateService orchestrates the creation of a certificate
type CertificateState ¶
type CertificateState interface { SaveCertificate(certificate *Certificate) error GetCertificate(domain string) (*Certificate, error) HasCertificate(domain string) (bool, error) RemoveCertificate(domain string) error }
CertificateState defines the state layer
type Cluster ¶
type Cluster struct { ID api.ID Name string Config *v1alpha5.ClusterConfig }
Cluster contains the core state for a cluster
type ClusterAPI ¶
type ClusterAPI interface { CreateCluster(opts api.ClusterCreateOpts) (*api.Cluster, error) DeleteCluster(opts api.ClusterDeleteOpts) error GetClusterSecurityGroupID(opts api.ClusterSecurityGroupIDGetOpts) (*api.ClusterSecurityGroupID, error) }
ClusterAPI invokes the API calls for creating a cluster
type ClusterCreateOpts ¶
type ClusterCreateOpts struct { ID api.ID Cidr string Version string VpcID string VpcPrivateSubnets []VpcSubnet VpcPublicSubnets []VpcSubnet }
ClusterCreateOpts specifies the required inputs for creating a cluster
type ClusterDeleteOpts ¶
ClusterDeleteOpts specifies the required inputs for deleting a cluster
type ClusterService ¶
type ClusterService interface { CreateCluster(context.Context, ClusterCreateOpts) (*Cluster, error) DeleteCluster(context.Context, ClusterDeleteOpts) error GetClusterSecurityGroupID(ctx context.Context, opts GetClusterSecurityGroupIDOpts) (*api.ClusterSecurityGroupID, error) }
ClusterService manages a cluster
type ClusterState ¶
type ClusterState interface { SaveCluster(cluster *Cluster) error GetCluster(name string) (*Cluster, error) RemoveCluster(name string) error HasCluster(name string) (bool, error) }
ClusterState implements the state layer
type ClusterVersion ¶
ClusterVersion contains state about the cluster version
type ComponentAPI ¶
type ComponentAPI interface { CreatePostgresDatabase(opts api.CreatePostgresDatabaseOpts) (*api.PostgresDatabase, error) DeletePostgresDatabase(opts api.DeletePostgresDatabaseOpts) error CreateS3Bucket(opts api.CreateS3BucketOpts) (*api.S3Bucket, error) DeleteS3Bucket(opts api.DeleteS3BucketOpts) error }
ComponentAPI invokes the API
type ComponentService ¶
type ComponentService interface { CreatePostgresDatabase(ctx context.Context, opts CreatePostgresDatabaseOpts) (*PostgresDatabase, error) DeletePostgresDatabase(ctx context.Context, opts DeletePostgresDatabaseOpts) error GetPostgresDatabase(ctx context.Context, opts GetPostgresDatabaseOpts) (*PostgresDatabase, error) }
ComponentService orchestrates the creation of various services
type ComponentState ¶
type ComponentState interface { SavePostgresDatabase(database *PostgresDatabase) error RemovePostgresDatabase(stackName string) error GetPostgresDatabase(stackName string) (*PostgresDatabase, error) GetPostgresDatabases() ([]*PostgresDatabase, error) }
ComponentState updates the state
type ContainerRepository ¶
type ContainerRepository struct { ClusterID api.ID ImageName string StackName string CloudFormationTemplate string ApplicationName string }
ContainerRepository contains state after creating a container repository
func (ContainerRepository) URI ¶
func (c ContainerRepository) URI() string
URI returns the URI where the image can be pulled and pushed
type ContainerRepositoryAPI ¶
type ContainerRepositoryAPI interface { CreateContainerRepository(opts api.CreateContainerRepositoryOpts) (*api.ContainerRepository, error) DeleteContainerRepository(opts api.DeleteContainerRepositoryOpts) error EmptyContainerRepository(opts api.EmptyContainerRepositoryOpts) error }
ContainerRepositoryAPI invokes the API
type ContainerRepositoryService ¶
type ContainerRepositoryService interface { CreateContainerRepository(ctx context.Context, opts CreateContainerRepositoryOpts) (*ContainerRepository, error) DeleteContainerRepository(ctx context.Context, opts DeleteContainerRepositoryOpts) error EmptyContainerRepository(ctx context.Context, opts EmptyContainerRepositoryOpts) error }
ContainerRepositoryService orchestrates the creation of various services
type ContainerRepositoryState ¶
type ContainerRepositoryState interface { SaveContainerRepository(repository *ContainerRepository) error RemoveContainerRepository(imageName string) error GetContainerRepository(imageName string) (*ContainerRepository, error) GetContainerRepositoryFromApplication(applicationName string) (*ContainerRepository, error) ApplicationHasImage(applicationName string) (bool, error) }
ContainerRepositoryState updates the state
type CreateAWSLoadBalancerControllerOpts ¶
CreateAWSLoadBalancerControllerOpts defines the required inputs
type CreateArgoCDApplicationManifestOpts ¶
type CreateArgoCDApplicationManifestOpts struct { Cluster v1alpha1.Cluster Application v1alpha1.Application }
CreateArgoCDApplicationManifestOpts contains data required when creating a ArgoCD Application Manifest
func (CreateArgoCDApplicationManifestOpts) Validate ¶
func (c CreateArgoCDApplicationManifestOpts) Validate() error
Validate ensures presented data is valid
type CreateArgoCDOpts ¶
type CreateArgoCDOpts struct { ClusterManifest v1alpha1.Cluster Domain string FQDN string HostedZoneID string UserPoolID string AuthDomain string Repository *GithubRepository }
CreateArgoCDOpts contains the required inputs for setting up argo cd
type CreateAutoscalerOpts ¶
CreateAutoscalerOpts contains the required inputs
type CreateBlockstorageOpts ¶
CreateBlockstorageOpts contains the required inputs
type CreateCertificateOpts ¶
CreateCertificateOpts contains the input required for creating a certificate
func (CreateCertificateOpts) Validate ¶
func (o CreateCertificateOpts) Validate() error
Validate the input
type CreateConfigMapOpts ¶
type CreateConfigMapOpts struct { ID api.ID Name string Namespace string Data map[string]string Labels map[string]string }
CreateConfigMapOpts contains the required inputs
type CreateContainerRepositoryOpts ¶
type CreateContainerRepositoryOpts struct { ClusterID api.ID ImageName string ApplicationName string }
CreateContainerRepositoryOpts contains necessary information to create a container repository
type CreateExternalDNSOpts ¶
CreateExternalDNSOpts contains required inputs
type CreateExternalSecretOpts ¶
type CreateExternalSecretOpts struct { ID api.ID Name string Namespace string Manifest api.Manifest }
CreateExternalSecretOpts contains the required inputs
type CreateExternalSecretsOpts ¶
CreateExternalSecretsOpts contains the required inputs
type CreateGithubDeployKeyOpts ¶
type CreateGithubDeployKeyOpts struct { ID api.ID Organisation string Repository string Title string }
CreateGithubDeployKeyOpts contains required inputs
type CreateGithubRepositoryOpts ¶
CreateGithubRepositoryOpts contains the required inputs
func (CreateGithubRepositoryOpts) Validate ¶
func (o CreateGithubRepositoryOpts) Validate() error
Validate the inputs
type CreateHelmReleaseOpts ¶
type CreateHelmReleaseOpts struct { ID api.ID RepositoryName string RepositoryURL string ReleaseName string Version string Chart string Namespace string Values []byte }
CreateHelmReleaseOpts contains the required inputs for installing a Helm release on the Kubernetes cluster
func (CreateHelmReleaseOpts) Validate ¶
func (o CreateHelmReleaseOpts) Validate() error
Validate the provided inputs
type CreateIdentityPoolClientOpts ¶
type CreateIdentityPoolClientOpts struct { ID api.ID UserPoolID string Purpose string CallbackURL string }
CreateIdentityPoolClientOpts contains the required inputs
type CreateIdentityPoolOpts ¶
type CreateIdentityPoolOpts struct { ID api.ID AuthDomain string AuthFQDN string HostedZoneID string }
CreateIdentityPoolOpts contains the required inputs
type CreateIdentityPoolUserOpts ¶
CreateIdentityPoolUserOpts input
func (CreateIdentityPoolUserOpts) Validate ¶
func (o CreateIdentityPoolUserOpts) Validate() error
Validate the inputs
type CreateKubePromStackOpts ¶
type CreateKubePromStackOpts struct { ID api.ID Domain string HostedZoneID string AuthDomain string UserPoolID string }
CreateKubePromStackOpts are the required inputs
type CreatePolicyOpts ¶
type CreatePolicyOpts struct { ID api.ID StackName string PolicyOutputName string CloudFormationTemplate []byte }
CreatePolicyOpts contains all the required inputs for creating a managed policy
func (CreatePolicyOpts) Validate ¶
func (o CreatePolicyOpts) Validate() error
Validate the required inputs
type CreatePostgresDatabaseOpts ¶
type CreatePostgresDatabaseOpts struct { ID api.ID ApplicationName string UserName string VpcID string DBSubnetGroupName string DBSubnetIDs []string DBSubnetCIDRs []string Namespace string }
CreatePostgresDatabaseOpts contains the required inputs
type CreatePrimaryHostedZoneOpts ¶
CreatePrimaryHostedZoneOpts is the required inputs
type CreateSecretOpts ¶
CreateSecretOpts contains the input required for creating a secret parameter
type CreateServiceAccountOpts ¶
type CreateServiceAccountOpts struct { ID api.ID Name string PolicyArn string Config *v1alpha5.ClusterConfig }
CreateServiceAccountOpts contains the inputs required for creating a new service account
func (CreateServiceAccountOpts) Validate ¶
func (o CreateServiceAccountOpts) Validate() error
Validate the provided inputs
type CreateVpcOpts ¶
CreateVpcOpts defines the inputs to create a vpc
func (CreateVpcOpts) Validate ¶
func (o CreateVpcOpts) Validate() error
Validate a vpc create request
type DeleteApplicationManifestsOpts ¶
type DeleteApplicationManifestsOpts struct { Cluster v1alpha1.Cluster Application v1alpha1.Application }
DeleteApplicationManifestsOpts contains necessary information to delete application manifests
func (DeleteApplicationManifestsOpts) Validate ¶
func (o DeleteApplicationManifestsOpts) Validate() error
Validate ensures presented data is valid
type DeleteArgoCDApplicationManifestOpts ¶
type DeleteArgoCDApplicationManifestOpts struct { Cluster v1alpha1.Cluster Application v1alpha1.Application }
DeleteArgoCDApplicationManifestOpts contains data required when deleting an ArgoCD Application Manifest
func (DeleteArgoCDApplicationManifestOpts) Validate ¶
func (c DeleteArgoCDApplicationManifestOpts) Validate() error
Validate ensures presented data is valid
type DeleteArgoCDOpts ¶
DeleteArgoCDOpts contains the required inputs for deleting an argocd installation
type DeleteCertificateOpts ¶
DeleteCertificateOpts contains input required to delete a certificate
func (DeleteCertificateOpts) Validate ¶
func (o DeleteCertificateOpts) Validate() error
Validate the deletion request inputs
type DeleteCognitoCertificateOpts ¶
DeleteCognitoCertificateOpts contains the inputs
func (DeleteCognitoCertificateOpts) Validate ¶
func (o DeleteCognitoCertificateOpts) Validate() error
Validate the deletion request inputs
type DeleteConfigMapOpts ¶
DeleteConfigMapOpts contains the required inputs
type DeleteContainerRepositoryOpts ¶
DeleteContainerRepositoryOpts contains necessary information to delete a container repository
type DeleteExternalSecretOpts ¶
DeleteExternalSecretOpts contains the required inputs
type DeleteGithubDeployKeyOpts ¶
type DeleteGithubDeployKeyOpts struct { ID api.ID Organisation string Repository string Identifier int64 }
DeleteGithubDeployKeyOpts contains the required inputs
type DeleteGithubRepositoryOpts ¶
DeleteGithubRepositoryOpts contains the required inputs
type DeleteHelmReleaseOpts ¶
DeleteHelmReleaseOpts contains the required inputs for removing a Helm release from the Kubernetes cluster Experimenting a little bit with a more generic/general interface, starting with Delete operation
func (DeleteHelmReleaseOpts) Validate ¶
func (o DeleteHelmReleaseOpts) Validate() error
Validate the provided inputs
type DeleteIdentityPoolClientOpts ¶
DeleteIdentityPoolClientOpts contains the required inputs
type DeleteIdentityPoolOpts ¶
DeleteIdentityPoolOpts input
type DeleteIdentityPoolUserOpts ¶
DeleteIdentityPoolUserOpts contains required data for deleting a user pool user
func (DeleteIdentityPoolUserOpts) Validate ¶
func (o DeleteIdentityPoolUserOpts) Validate() error
Validate the inputs
type DeleteKubePromStackOpts ¶
DeleteKubePromStackOpts are the required inputs
type DeletePolicyOpts ¶
DeletePolicyOpts contains all the required inputs for deleting a managed policy
func (DeletePolicyOpts) Validate ¶
func (o DeletePolicyOpts) Validate() error
Validate the required inputs
type DeletePostgresDatabaseOpts ¶
type DeletePostgresDatabaseOpts struct { ID api.ID ApplicationName string Namespace string VpcID string }
DeletePostgresDatabaseOpts contains the required inputs
type DeletePrimaryHostedZoneOpts ¶
DeletePrimaryHostedZoneOpts is the require inputs
type DeleteSecretOpts ¶
DeleteSecretOpts contains the input required for deleting a secret parameter
type DeleteServiceAccountOpts ¶
type DeleteServiceAccountOpts struct { ID api.ID Name string Config *v1alpha5.ClusterConfig }
DeleteServiceAccountOpts contains the inputs required for deleting a service account
func (DeleteServiceAccountOpts) Validate ¶
func (o DeleteServiceAccountOpts) Validate() error
Validate the provided inputs
type DeleteVpcOpts ¶
DeleteVpcOpts defines the inputs to delete a vpc
type DomainAPI ¶
type DomainAPI interface { CreatePrimaryHostedZone(opts CreatePrimaryHostedZoneOpts) (*HostedZone, error) DeletePrimaryHostedZone(domain string, opts DeletePrimaryHostedZoneOpts) error }
DomainAPI invokes the API
type DomainService ¶
type DomainService interface { CreatePrimaryHostedZone(ctx context.Context, opts CreatePrimaryHostedZoneOpts) (*HostedZone, error) GetPrimaryHostedZone(ctx context.Context) (*HostedZone, error) DeletePrimaryHostedZone(ctx context.Context, opts DeletePrimaryHostedZoneOpts) error SetHostedZoneDelegation(ctx context.Context, domain string, delegated bool) error }
DomainService orchestrates the creation of a hosted zone
type DomainState ¶
type DomainState interface { SaveHostedZone(zone *HostedZone) error UpdateHostedZone(zone *HostedZone) error RemoveHostedZone(domain string) error GetHostedZone(domain string) (*HostedZone, error) GetPrimaryHostedZone() (*HostedZone, error) GetHostedZones() ([]*HostedZone, error) HasPrimaryHostedZone() (bool, error) }
DomainState implements the in-memory state handling
type EmptyContainerRepositoryOpts ¶
type EmptyContainerRepositoryOpts struct { Name string }
EmptyContainerRepositoryOpts contains necessary information to empty a container registry
type ExternalDNS ¶
type ExternalDNS struct { Policy *ManagedPolicy ServiceAccount *ServiceAccount Kube *ExternalDNSKube }
ExternalDNS contains state about an external dns deployment
type ExternalDNSAPI ¶
type ExternalDNSAPI interface { CreateExternalDNSKubeDeployment(opts api.CreateExternalDNSKubeDeploymentOpts) (*api.ExternalDNSKube, error) }
ExternalDNSAPI implements the API invocation
type ExternalDNSKube ¶
type ExternalDNSKube struct { ID api.ID HostedZoneID string DomainFilter string Manifests map[string][]byte }
ExternalDNSKube contains the kubernetes data
type ExternalDNSService ¶
type ExternalDNSService interface { CreateExternalDNS(ctx context.Context, opts CreateExternalDNSOpts) (*ExternalDNS, error) DeleteExternalDNS(ctx context.Context, id api.ID) error }
ExternalDNSService is a business logic implementation
type ExternalDNSState ¶
type ExternalDNSState interface { SaveExternalDNS(dns *ExternalDNS) error GetExternalDNS() (*ExternalDNS, error) RemoveExternalDNS() error HasExternalDNS() (bool, error) }
ExternalDNSState implements the persistence layer
type ExternalSecrets ¶
type ExternalSecrets struct { Policy *ManagedPolicy ServiceAccount *ServiceAccount Chart *Helm }
ExternalSecrets is the content of an external-secrets deployment
type ExternalSecretsService ¶
type ExternalSecretsService interface { CreateExternalSecrets(ctx context.Context, opts CreateExternalSecretsOpts) (*ExternalSecrets, error) DeleteExternalSecrets(ctx context.Context, id api.ID) error }
ExternalSecretsService is an implementation of the business logic
type ExternalSecretsState ¶
ExternalSecretsState defines the state layer
type GetClusterSecurityGroupIDOpts ¶
GetClusterSecurityGroupIDOpts specifies the required inputs for getting a cluster
type GetHelmReleaseOpts ¶
GetHelmReleaseOpts contains the required inputs for getting a Helm release from the Kubernetes cluster
func (GetHelmReleaseOpts) Validate ¶
func (o GetHelmReleaseOpts) Validate() error
Validate the provided inputs
type GetPatchOpts ¶
GetPatchOpts contains required data to retrieve a Kustomize patch
type GetPostgresDatabaseOpts ¶
GetPostgresDatabaseOpts contains the required inputs for retrieving an existing Postgres Database
type GitRemoteFileDeleter ¶
type GitRemoteFileDeleter interface { // Delete deletes a remote file from a Git repository Delete(repositoryURL string, targetPath string, commitMessage string) error }
GitRemoteFileDeleter knows how to remotely delete a file tracked by Git
type GithubDeployKey ¶
type GithubDeployKey struct { Organisation string Repository string Identifier int64 Title string PublicKey string PrivateKeySecret *GithubSecret }
GithubDeployKey is a github deploy key
func (GithubDeployKey) Validate ¶
func (k GithubDeployKey) Validate() error
Validate the data
type GithubRepository ¶
type GithubRepository struct { ID api.ID Organisation string Repository string FullName string GitURL string DeployKey *GithubDeployKey }
GithubRepository is a github repository
func (GithubRepository) Validate ¶
func (r GithubRepository) Validate() error
Validate the github repository
type GithubSecret ¶
GithubSecret represents an SSM secret parameter
func (GithubSecret) Validate ¶
func (s GithubSecret) Validate() error
Validate the data
type GithubService ¶
type GithubService interface { CreateGithubRepository(ctx context.Context, opts CreateGithubRepositoryOpts) (*GithubRepository, error) DeleteGithubRepository(ctx context.Context, opts DeleteGithubRepositoryOpts) error CreateRepositoryDeployKey(opts CreateGithubDeployKeyOpts) (*GithubDeployKey, error) DeleteRepositoryDeployKey(opts DeleteGithubDeployKeyOpts) error ListReleases(owner, repo string) ([]*github.RepositoryRelease, error) }
GithubService is a business logic implementation
type GithubState ¶
type GithubState interface { SaveGithubRepository(repository *GithubRepository) error GetGithubRepository(fullName string) (*GithubRepository, error) RemoveGithubRepository(fullName string) error }
GithubState is the state layer
type HasArgoCDIntegrationOpts ¶
type HasArgoCDIntegrationOpts struct { Cluster v1alpha1.Cluster Application v1alpha1.Application }
HasArgoCDIntegrationOpts defines required information to verify an existing ArgoCD integration
func (HasArgoCDIntegrationOpts) Validate ¶
func (c HasArgoCDIntegrationOpts) Validate() error
Validate ensures presented data is valid
type HasPostgresIntegrationOpts ¶
type HasPostgresIntegrationOpts struct { Cluster v1alpha1.Cluster Application v1alpha1.Application DatabaseName string }
HasPostgresIntegrationOpts defines required data for checking if an integration is in place
type Helm ¶
Helm contains the data of a helm release
type HelmAPI ¶
type HelmAPI interface { CreateHelmRelease(opts api.CreateHelmReleaseOpts) (*api.Helm, error) DeleteHelmRelease(opts api.DeleteHelmReleaseOpts) error GetHelmRelease(opts api.GetHelmReleaseOpts) (*api.Helm, error) }
HelmAPI provides the invocation layer
type HelmService ¶
type HelmService interface { CreateHelmRelease(ctx context.Context, opts CreateHelmReleaseOpts) (*Helm, error) DeleteHelmRelease(ctx context.Context, opts DeleteHelmReleaseOpts) error GetHelmRelease(ctx context.Context, opts GetHelmReleaseOpts) (*Helm, error) }
HelmService provides functionality for interacting with helm chart lifecycle
type HelmState ¶
type HelmState interface { SaveHelmRelease(helm *Helm) error RemoveHelmRelease(releaseName string) error GetHelmRelease(releaseName string) (*Helm, error) }
HelmState provides the persistence layer
type HostedZone ¶
type HostedZone struct { ID api.ID IsDelegated bool Primary bool Managed bool FQDN string Domain string HostedZoneID string NameServers []string StackName string CloudFormationTemplate []byte }
HostedZone contains the state we are interested in
type IdentityManagerAPI ¶
type IdentityManagerAPI interface { CreateIdentityPool(opts api.CreateIdentityPoolOpts) (*api.IdentityPool, error) DeleteIdentityPool(opts api.DeleteIdentityPoolOpts) error CreateIdentityPoolClient(opts api.CreateIdentityPoolClientOpts) (*api.IdentityPoolClient, error) DeleteIdentityPoolClient(opts api.DeleteIdentityPoolClientOpts) error CreateIdentityPoolUser(opts api.CreateIdentityPoolUserOpts) (*api.IdentityPoolUser, error) DeleteIdentityPoolUser(opts api.DeleteIdentityPoolUserOpts) error }
IdentityManagerAPI invokes the API calls for creating an identity pool
type IdentityManagerService ¶
type IdentityManagerService interface { CreateIdentityPool(ctx context.Context, opts CreateIdentityPoolOpts) (*IdentityPool, error) DeleteIdentityPool(ctx context.Context, opts api.ID) error CreateIdentityPoolClient(ctx context.Context, opts CreateIdentityPoolClientOpts) (*IdentityPoolClient, error) DeleteIdentityPoolClient(ctx context.Context, opts DeleteIdentityPoolClientOpts) error CreateIdentityPoolUser(ctx context.Context, opts CreateIdentityPoolUserOpts) (*IdentityPoolUser, error) DeleteIdentityPoolUser(ctx context.Context, opts DeleteIdentityPoolUserOpts) error }
IdentityManagerService orchestrates the creation of an identity pool
type IdentityManagerState ¶
type IdentityManagerState interface { SaveIdentityPool(pool *IdentityPool) error RemoveIdentityPool(stackName string) error GetIdentityPool(stackName string) (*IdentityPool, error) HasIdentityPool() (bool, error) SaveIdentityPoolClient(client *IdentityPoolClient) error GetIdentityPoolClient(stackName string) (*IdentityPoolClient, error) RemoveIdentityPoolClient(stackName string) error SaveIdentityPoolUser(user *IdentityPoolUser) error GetIdentityPoolUser(stackName string) (*IdentityPoolUser, error) RemoveIdentityPoolUser(stackName string) error GetIdentityPoolUsers() ([]IdentityPoolUser, error) }
IdentityManagerState implements the state layer
type IdentityPool ¶
type IdentityPool struct { ID api.ID UserPoolID string AuthDomain string HostedZoneID string StackName string CloudFormationTemplates []byte Certificate *Certificate RecordSetAlias *RecordSetAlias }
IdentityPool contains the state about the created identity management
type IdentityPoolClient ¶
type IdentityPoolClient struct { ID api.ID UserPoolID string Purpose string CallbackURL string ClientID string ClientSecret string StackName string CloudFormationTemplates []byte }
IdentityPoolClient contains the state about a client
type IdentityPoolUser ¶
type IdentityPoolUser struct { ID api.ID Email string UserPoolID string StackName string CloudFormationTemplate []byte }
IdentityPoolUser state of user
type InitiateDomainDelegationOpts ¶
type InitiateDomainDelegationOpts struct { ClusterID api.ID PrimaryHostedZoneFQDN string Nameservers []string Labels []string }
InitiateDomainDelegationOpts contains required inputs for creating a DNS zone delegation
func (InitiateDomainDelegationOpts) Validate ¶
func (o InitiateDomainDelegationOpts) Validate() error
Validate the provided inputs
type KubePromStack ¶
type KubePromStack struct { ID api.ID AuthHostname string CertificateARN string ClientID string FargateCloudWatchPolicyARN string FargateProfilePodExecutionRoleARN string Hostname string SecretsAdminPassKey string SecretsAdminUserKey string SecretsClientSecretKey string SecretsConfigName string SecretsCookieSecretKey string Certificate *Certificate Chart *Helm ExternalSecret *KubernetesManifest IdentityPoolClient *IdentityPoolClient }
KubePromStack is the content of a kubernetes prometheus stack deployment
type KubernetesManifest ¶
type KubernetesManifest struct { ID api.ID Name string Namespace string Type ManifestType Content []byte }
KubernetesManifest contains data about a manifest
type KubernetesState ¶
KubernetesState defines functionality for handling state in Kubernetes
type Locker ¶
type Locker interface { // AcquireStateLock knows how to activate a locking mechanism preventing others from mutating state AcquireStateLock(clusterID api.ID) error // ReleaseStateLock knows how to deactivate a locking mechanism allowing others to mutate state ReleaseStateLock(clusterID api.ID) error }
Locker defines functionality for ensuring only one client mutates state at a time
type LokiState ¶
LokiState describes an interface to handle state for a Loki instance
type ManagedPolicy ¶
type ManagedPolicy struct { ID api.ID StackName string PolicyARN string CloudFormationTemplate []byte }
ManagedPolicy holds state for a managed policy
type ManagedPolicyAPI ¶
type ManagedPolicyAPI interface { CreatePolicy(opts api.CreatePolicyOpts) (*api.ManagedPolicy, error) DeletePolicy(opts api.DeletePolicyOpts) error }
ManagedPolicyAPI invokes the remote API
type ManagedPolicyService ¶
type ManagedPolicyService interface { CreatePolicy(ctx context.Context, opts CreatePolicyOpts) (*ManagedPolicy, error) DeletePolicy(ctx context.Context, opts DeletePolicyOpts) error }
ManagedPolicyService implements the business logic
type ManagedPolicyState ¶
type ManagedPolicyState interface { SavePolicy(policy *ManagedPolicy) error GetPolicy(stackName string) (*ManagedPolicy, error) RemovePolicy(stackName string) error }
ManagedPolicyState provides a persistence layer
type ManifestAPI ¶
type ManifestAPI interface { CreateStorageClass(opts api.CreateStorageClassOpts) (*api.StorageClassKube, error) CreateExternalSecret(opts CreateExternalSecretOpts) (*api.ExternalSecretsKube, error) DeleteExternalSecret(opts api.DeleteExternalSecretsOpts) error CreateConfigMap(opts api.CreateConfigMapOpts) (*api.ConfigMap, error) DeleteConfigMap(opts api.DeleteConfigMapOpts) error CreateNamespace(opts api.CreateNamespaceOpts) (*api.Namespace, error) DeleteNamespace(opts api.DeleteNamespaceOpts) error ScaleDeployment(opts api.ScaleDeploymentOpts) error }
ManifestAPI invokes the API
type ManifestService ¶
type ManifestService interface { CreateStorageClass(ctx context.Context, opts api.CreateStorageClassOpts) (*KubernetesManifest, error) CreateExternalSecret(ctx context.Context, opts CreateExternalSecretOpts) (*KubernetesManifest, error) DeleteExternalSecret(ctx context.Context, opts DeleteExternalSecretOpts) error CreateConfigMap(ctx context.Context, opts CreateConfigMapOpts) (*KubernetesManifest, error) DeleteConfigMap(ctx context.Context, opts DeleteConfigMapOpts) error CreateNamespace(ctx context.Context, opts api.CreateNamespaceOpts) (*KubernetesManifest, error) DeleteNamespace(ctx context.Context, opts api.DeleteNamespaceOpts) error ScaleDeployment(ctx context.Context, opts api.ScaleDeploymentOpts) error }
ManifestService implements the business logic There is nothing inherently wrong with this service, but I think there exists opportunities to improve the way we interact with Kubernetes and apply and remove resources. That is basically what this service does, it handles kubernetes resources from the client side.
type ManifestState ¶
type ManifestState interface { SaveKubernetesManifests(manifests *KubernetesManifest) error GetKubernetesManifests(name string) (*KubernetesManifest, error) RemoveKubernetesManifests(name string) error }
ManifestState defines the state layer
type ManifestType ¶
type ManifestType string
ManifestType enumerates the available manifest types
func (ManifestType) String ¶
func (t ManifestType) String() string
String returns the string representation
type MonitoringService ¶
type MonitoringService interface { CreateKubePromStack(ctx context.Context, opts CreateKubePromStackOpts) (*KubePromStack, error) DeleteKubePromStack(ctx context.Context, opts DeleteKubePromStackOpts) error CreateLoki(ctx context.Context, id api.ID) (*Helm, error) DeleteLoki(ctx context.Context, id api.ID) error CreatePromtail(ctx context.Context, id api.ID) (*Helm, error) DeletePromtail(ctx context.Context, id api.ID) error CreateTempo(ctx context.Context, id api.ID) (*Helm, error) DeleteTempo(ctx context.Context, id api.ID) error }
MonitoringService is an implementation of the business logic
type MonitoringState ¶
type MonitoringState interface { SaveKubePromStack(stack *KubePromStack) error RemoveKubePromStack() error GetKubePromStack() (*KubePromStack, error) HasKubePromStack() (bool, error) }
MonitoringState is a state layer implementation
type NSRecordDelegationService ¶
type NSRecordDelegationService interface { InitiateDomainDelegation(opts InitiateDomainDelegationOpts) error RevokeDomainDelegation(opts RevokeDomainDelegationOpts) error }
NSRecordDelegationService defines required functionality for requesting a nameserver delegation record in the top level domain.
If a team wants 'team.oslo.systems', okctl will create that domain which will get its own nameservers assigned. The top level domain 'oslo.systems' then needs to delegate DNS inquiries for 'team.oslo.systems' to the assigned nameservers. This is the delegation this service should handle.
type OriginalClusterVersion ¶
OriginalClusterVersion contains state about the original okctl version installed
type ParameterAPI ¶
type ParameterAPI interface { CreateSecret(opts api.CreateSecretOpts) (*api.SecretParameter, error) DeleteSecret(opts api.DeleteSecretOpts) error }
ParameterAPI invokes REST API endpoints
type ParameterService ¶
type ParameterService interface { CreateSecret(ctx context.Context, opts CreateSecretOpts) (*SecretParameter, error) DeleteSecret(ctx context.Context, opts DeleteSecretOpts) error }
ParameterService implements the business logic
type ParameterState ¶
type ParameterState interface { SaveSecret(parameter *SecretParameter) error GetSecret(name string) (*SecretParameter, error) RemoveSecret(name string) error }
ParameterState stores the state
type PostgresDatabase ¶
type PostgresDatabase struct { ID api.ID ApplicationName string UserName string StackName string AdminSecretFriendlyName string EndpointAddress string EndpointPort int OutgoingSecurityGroupID string SecretsManagerAdminSecretARN string LambdaPolicyARN string LambdaRoleARN string LambdaFunctionARN string CloudFormationTemplate string Namespace string AdminSecretName string AdminSecretARN string DatabaseConfigMapName string RotaterBucket *S3Bucket }
PostgresDatabase contains the state after creating the database
type PromtailState ¶
PromtailState describes an interface to handle state for a Loki instance
type RecordSetAlias ¶
type RecordSetAlias struct { AliasDomain string AliasHostedZones string StackName string CloudFormationTemplate []byte }
RecordSetAlias contains a record set alias this should not be here
type RemoteStateService ¶
type RemoteStateService interface { // Purge knows how to tear down all traces of remote state Purge(clusterID api.ID) error Stater Locker }
RemoteStateService defines expected functionality in a remote state service implementation
type RemovePostgresFromApplicationOpts ¶
type RemovePostgresFromApplicationOpts struct { Cluster v1alpha1.Cluster Application v1alpha1.Application DatabaseName string }
RemovePostgresFromApplicationOpts defines required data to remove a Postgres database from an application
type RevokeDomainDelegationOpts ¶
type RevokeDomainDelegationOpts struct { ClusterID api.ID PrimaryHostedZoneFQDN string Labels []string }
RevokeDomainDelegationOpts contains required inputs for removing a DNS Zone delegation
func (RevokeDomainDelegationOpts) Validate ¶
func (o RevokeDomainDelegationOpts) Validate() error
Validate the inputs
type S3Bucket ¶
S3Bucket contains the state after an AWS S3 bucket has been created
type SaveManifestOpts ¶
SaveManifestOpts contains required data to save a Kubernetes manifest
type SaveNamespaceOpts ¶
SaveNamespaceOpts contains required data for saving a namespace
type SavePatchOpts ¶
type SavePatchOpts struct { ApplicationName string ClusterName string Kind string Patch jsonpatch.Patch }
SavePatchOpts contains required data to save a Kustomize patch
type ScaffoldApplicationOpts ¶
type ScaffoldApplicationOpts struct { Cluster v1alpha1.Cluster Application v1alpha1.Application CertificateARN string }
ScaffoldApplicationOpts contains information necessary to scaffold application resources
func (*ScaffoldApplicationOpts) Validate ¶
func (o *ScaffoldApplicationOpts) Validate() error
Validate ensures presented data is valid
type SecretParameter ¶
SecretParameter contains the state for a secret parameter
type SecurityGroupAPI ¶
type SecurityGroupAPI interface { api.SecurityGroupCRUDer api.SecurityGroupRuleCRUDer }
SecurityGroupAPI defines functionality required by the Security Group API
type ServiceAccount ¶
type ServiceAccount struct { ID api.ID Name string PolicyArn string Config *v1alpha5.ClusterConfig }
ServiceAccount holds state for a service account
type ServiceAccountAPI ¶
type ServiceAccountAPI interface { CreateServiceAccount(opts api.CreateServiceAccountOpts) (*api.ServiceAccount, error) DeleteServiceAccount(opts api.DeleteServiceAccountOpts) error }
ServiceAccountAPI invokes the remote API
type ServiceAccountService ¶
type ServiceAccountService interface { CreateServiceAccount(ctx context.Context, opts CreateServiceAccountOpts) (*ServiceAccount, error) DeleteServiceAccount(ctx context.Context, opts DeleteServiceAccountOpts) error }
ServiceAccountService implements the business logic
type ServiceAccountState ¶
type ServiceAccountState interface { SaveServiceAccount(account *ServiceAccount) error RemoveServiceAccount(name string) error GetServiceAccount(name string) (*ServiceAccount, error) UpdateServiceAccount(account *ServiceAccount) error }
ServiceAccountState defines the state layer
type Stater ¶
type Stater interface { // Upload knows how to upload state to a remote location Upload(clusterID api.ID, reader io.Reader) error // Download knows how to download state from a remote location Download(clusterID api.ID) (io.Reader, error) }
Stater defines functionality for transferring remote state back and forth
type TempoState ¶
TempoState describes an interface to handle state for a Tempo instance
type Upgrade ¶
Upgrade contains state about an okctl upgrade
type UpgradeState ¶
type UpgradeState interface { SaveUpgrade(upgrade *Upgrade) error GetUpgrades() ([]*Upgrade, error) SaveOriginalClusterVersionIfNotExists(originalClusterVersion *OriginalClusterVersion) error GetOriginalClusterVersion() (*OriginalClusterVersion, error) SaveClusterVersion(version *ClusterVersion) error GetClusterVersion() (*ClusterVersion, error) }
UpgradeState updates the state
type VPCAPI ¶
type VPCAPI interface { CreateVpc(opts api.CreateVpcOpts) (*api.Vpc, error) DeleteVpc(opts api.DeleteVpcOpts) error }
VPCAPI invokes the API calls for creating a vpc
type VPCService ¶
type VPCService interface { CreateVpc(ctx context.Context, opts CreateVpcOpts) (*Vpc, error) DeleteVpc(ctx context.Context, opts DeleteVpcOpts) error GetVPC(ctx context.Context, id api.ID) (*Vpc, error) }
VPCService orchestrates the creation of a vpc
type VPCState ¶
type VPCState interface { SaveVpc(vpc *Vpc) error GetVpc(stackName string) (*Vpc, error) RemoveVpc(stackName string) error HasVPC(clusterName string) (bool, error) }
VPCState implement the state layer
type Vpc ¶
type Vpc struct { ID api.ID StackName string CloudFormationTemplate []byte VpcID string Cidr string PublicSubnets []VpcSubnet PrivateSubnets []VpcSubnet DatabaseSubnets []VpcSubnet DatabaseSubnetsGroupName string }
Vpc represents the state of an aws vpc
type VpcSubnet ¶
VpcSubnet represents an aws vpc subnet
Source Files ¶
application_client.go application_manifest_client.go application_postgres_client.go argocd_client.go autoscaler_client.go awsloadbalancercontroller_client.go blockstorage_client.go certificate_client.go cluster_client.go component_client.go container_repository_client.go doc.go domain_client.go externaldns_client.go externalsecrets_client.go github_client.go helm_client.go identitymanager_client.go kubernetes_client.go loki_client.go managedpolicy_client.go manifest_client.go monitoring_client.go nameserverdelegator_client.go parameter_client.go promtail_client.go remote_state_client.go securitygroup_client.go serviceaccount_client.go tempo_client.go upgrade_client.go vpc_client.go
Directories ¶
Path | Synopsis |
---|---|
pkg/client/core | Package core implements the business logic layer for the client-side |
pkg/client/core/state | |
pkg/client/core/state/direct | Package direct contains functionality for retrieving state directly from the source |
pkg/client/core/state/storm | Package storm implements a state layer using the storm library |
pkg/client/core/store | |
pkg/client/core/store/filesystem | Package filesystem interacts with the file system |
pkg/client/mock | Package mock contains some convenience functions for getting data |
pkg/client/store | Package store provides interfaces for more easily interacting with a storage layer |
- Version
- v0.0.106 (latest)
- Published
- Oct 21, 2022
- Platform
- linux/amd64
- Imports
- 14 packages
- Last checked
- 3 days ago –
Tools for package owners.