Documentation
¶
Overview ¶
Copyright (C) 2021-2023, Kubefirst
This program is licensed under MIT. See the LICENSE file for more details.
Copyright (C) 2021-2023, Kubefirst ¶
This program is licensed under MIT. See the LICENSE file for more details.
Copyright (C) 2021-2023, Kubefirst ¶
This program is licensed under MIT. See the LICENSE file for more details.
Copyright (C) 2021-2023, Kubefirst ¶
This program is licensed under MIT. See the LICENSE file for more details.
Copyright (C) 2021-2023, Kubefirst ¶
This program is licensed under MIT. See the LICENSE file for more details.
Copyright (C) 2021-2023, Kubefirst ¶
This program is licensed under MIT. See the LICENSE file for more details.
Copyright (C) 2021-2023, Kubefirst ¶
This program is licensed under MIT. See the LICENSE file for more details.
Copyright (C) 2021-2023, Kubefirst ¶
This program is licensed under MIT. See the LICENSE file for more details.
Copyright (C) 2021-2023, Kubefirst ¶
This program is licensed under MIT. See the LICENSE file for more details.
Copyright (C) 2021-2023, Kubefirst ¶
This program is licensed under MIT. See the LICENSE file for more details.
Copyright (C) 2021-2023, Kubefirst ¶
This program is licensed under MIT. See the LICENSE file for more details.
Index ¶
- Constants
- func AdjustGitopsRepo(...) error
- func AdjustMetaphorRepo(destinationMetaphorRepoGitURL, gitopsRepoDir, gitProvider, k1Dir string) error
- func BootstrapDigitaloceanMgmtCluster(kubeconfigPath string, gitProvider string, gitUser string) error
- func DetokenizeAdditionalPath(path string, tokens *GitOpsDirectoryValues) error
- func DetokenizeGitGitops(path string, tokens *GitOpsDirectoryValues) error
- func DetokenizeGitMetaphor(path string, tokens *MetaphorTokenValues) error
- func DownloadTools(...) error
- func GetDigitaloceanTerraformEnvs(envs map[string]string) map[string]string
- func GetDomainApexContent(domainName string) bool
- func GetGithubTerraformEnvs(envs map[string]string) map[string]string
- func GetGitlabTerraformEnvs(envs map[string]string, gid int) map[string]string
- func GetUsersTerraformEnvs(clientset *kubernetes.Clientset, config *DigitaloceanConfig, ...) map[string]string
- func GetVaultTerraformEnvs(clientset *kubernetes.Clientset, config *DigitaloceanConfig, ...) map[string]string
- func NewDigitalocean() *godo.Client
- func PrepareGitRepositories(gitProvider string, clusterName string, clusterType string, ...) error
- type DigitaloceanConfig
- type DigitaloceanConfiguration
- func (c *DigitaloceanConfiguration) CreateSpaceBucket(cr DigitaloceanSpacesCredentials, bucketName string) error
- func (c *DigitaloceanConfiguration) DeleteKubernetesClusterVolumes(resources *godo.KubernetesAssociatedResources) error
- func (c *DigitaloceanConfiguration) GetDNSInfo(domainName string) (string, error)
- func (c *DigitaloceanConfiguration) GetDNSRecords(domainName string) ([]godo.DomainRecord, error)
- func (c *DigitaloceanConfiguration) GetKubernetesAssociatedResources(clusterName string) (*godo.KubernetesAssociatedResources, error)
- func (c *DigitaloceanConfiguration) TestDomainLiveness(domainName string) bool
- func (c *DigitaloceanConfiguration) ValidateRegion(region string) error
- type DigitaloceanSpacesCredentials
- type GitOpsDirectoryValues
- type MetaphorTokenValues
Constants ¶
const ( CloudProvider = "digitalocean" GithubHost = "github.com" GitlabHost = "gitlab.com" KubectlClientVersion = "v1.25.7" LocalhostOS = runtime.GOOS LocalhostArch = runtime.GOARCH TerraformClientVersion = "1.3.8" ArgocdHelmChartVersion = "4.10.5" ArgocdPortForwardURL = pkg.ArgocdPortForwardURL VaultPortForwardURL = pkg.VaultPortForwardURL )
Variables ¶
This section is empty.
Functions ¶
func AdjustGitopsRepo ¶
func AdjustMetaphorRepo ¶
func DetokenizeAdditionalPath ¶
func DetokenizeAdditionalPath(path string, tokens *GitOpsDirectoryValues) error
DetokenizeAdditionalPath - Translate tokens by values on a given path
func DetokenizeGitGitops ¶
func DetokenizeGitGitops(path string, tokens *GitOpsDirectoryValues) error
DetokenizeGitGitops - Translate tokens by values on a given path
func DetokenizeGitMetaphor ¶
func DetokenizeGitMetaphor(path string, tokens *MetaphorTokenValues) error
DetokenizeGithubMetaphor - Translate tokens by values on a given path
func DownloadTools ¶
func GetDomainApexContent ¶
GetDomainApexContent determines whether or not a target domain features a host responding at zone apex
func GetGitlabTerraformEnvs ¶
func GetUsersTerraformEnvs ¶
func GetUsersTerraformEnvs(clientset *kubernetes.Clientset, config *DigitaloceanConfig, envs map[string]string) map[string]string
func GetVaultTerraformEnvs ¶
func GetVaultTerraformEnvs(clientset *kubernetes.Clientset, config *DigitaloceanConfig, envs map[string]string) map[string]string
func NewDigitalocean ¶
func PrepareGitRepositories ¶
func PrepareGitRepositories( gitProvider string, clusterName string, clusterType string, destinationGitopsRepoGitURL string, gitopsDir string, gitopsTemplateBranch string, gitopsTemplateURL string, destinationMetaphorRepoGitURL string, k1Dir string, gitopsTokens *GitOpsDirectoryValues, metaphorDir string, metaphorTokens *MetaphorTokenValues, apexContentExists bool, ) error
Types ¶
type DigitaloceanConfig ¶
type DigitaloceanConfig struct {
DigitaloceanToken string `env:"DO_TOKEN"`
GithubToken string `env:"GITHUB_TOKEN"`
GitlabToken string `env:"GITLAB_TOKEN"`
ArgoWorkflowsDir string
DestinationGitopsRepoHttpsURL string
DestinationGitopsRepoGitURL string
DestinationMetaphorRepoHttpsURL string
DestinationMetaphorRepoGitURL string
GitopsDir string
GitProvider string
K1Dir string
Kubeconfig string
KubectlClient string
KubefirstBotSSHPrivateKey string
KubefirstConfig string
LogsDir string
MetaphorDir string
RegistryAppName string
RegistryYaml string
SSLBackupDir string
TerraformClient string
ToolsDir string
}
type DigitaloceanConfiguration ¶
var Conf DigitaloceanConfiguration = DigitaloceanConfiguration{ Client: NewDigitalocean(), Context: context.Background(), }
func (*DigitaloceanConfiguration) CreateSpaceBucket ¶
func (c *DigitaloceanConfiguration) CreateSpaceBucket(cr DigitaloceanSpacesCredentials, bucketName string) error
CreateSpaceBucket
func (*DigitaloceanConfiguration) DeleteKubernetesClusterVolumes ¶
func (c *DigitaloceanConfiguration) DeleteKubernetesClusterVolumes(resources *godo.KubernetesAssociatedResources) error
DeleteKubernetesClusterVolumes iterates over resource volumes and deletes them
func (*DigitaloceanConfiguration) GetDNSInfo ¶
func (c *DigitaloceanConfiguration) GetDNSInfo(domainName string) (string, error)
GetDNSInfo determines whether or not a domain exists within digitalocean
func (*DigitaloceanConfiguration) GetDNSRecords ¶
func (c *DigitaloceanConfiguration) GetDNSRecords(domainName string) ([]godo.DomainRecord, error)
GetDNSRecords retrieves DNS records
func (*DigitaloceanConfiguration) GetKubernetesAssociatedResources ¶
func (c *DigitaloceanConfiguration) GetKubernetesAssociatedResources(clusterName string) (*godo.KubernetesAssociatedResources, error)
GetKubernetesAssociatedResources returns resources associated with a digitalocean Kubernetes cluster
func (*DigitaloceanConfiguration) TestDomainLiveness ¶
func (c *DigitaloceanConfiguration) TestDomainLiveness(domainName string) bool
func (*DigitaloceanConfiguration) ValidateRegion ¶
func (c *DigitaloceanConfiguration) ValidateRegion(region string) error
ValidateRegion guarantees a region argument is valid
type GitOpsDirectoryValues ¶
type GitOpsDirectoryValues struct {
AlertsEmail string
AtlantisAllowList string
CloudProvider string
CloudRegion string
ClusterId string
ClusterName string
ClusterType string
DomainName string
KubeconfigPath string
KubefirstStateStoreBucket string
KubefirstTeam string
KubefirstVersion string
StateStoreBucketHostname string
ArgoCDIngressURL string
ArgoCDIngressNoHTTPSURL string
ArgoWorkflowsIngressURL string
ArgoWorkflowsIngressNoHTTPSURL string
ArgoWorkflowsDir string
AtlantisIngressURL string
AtlantisIngressNoHTTPSURL string
ChartMuseumIngressURL string
VaultIngressURL string
VaultIngressNoHTTPSURL string
VouchIngressURL string
GitDescription string
GitNamespace string
GitProvider string
GitRunner string
GitRunnerDescription string
GitRunnerNS string
GitURL string
GitHubHost string
GitHubOwner string
GitHubUser string
GitlabHost string
GitlabOwner string
GitlabOwnerGroupID int
GitlabUser string
GitOpsRepoAtlantisWebhookURL string
GitOpsRepoGitURL string
GitOpsRepoNoHTTPSURL string
UseTelemetry string
}