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(dryRun bool, 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(dryRun bool, 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(dryRun bool, 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 }