Skip to content
This repository was archived by the owner on Sep 13, 2024. It is now read-only.

Commit 7c96ed0

Browse files
authored
Merge pull request #47 from PatrickLaabs/merging
many modifications..
2 parents 8ee50b5 + 23953b5 commit 7c96ed0

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+1298
-994
lines changed

.github/workflows/goreleaser.yaml

+5
Original file line numberDiff line numberDiff line change
@@ -45,3 +45,8 @@ jobs:
4545
args: release --clean
4646
env:
4747
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
48+
- name: Upload Release Assets
49+
uses: actions/upload-artifact@v3
50+
with:
51+
name: release-assets
52+
path: ./templates/*.yaml

cmd/frigg/bootstrap/capd/cluster/cluster.go

+26-12
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,11 @@ import (
1717
"github.com/PatrickLaabs/frigg/pkg/common/kubeconfig"
1818
"github.com/PatrickLaabs/frigg/pkg/common/postbootstrap"
1919
"github.com/PatrickLaabs/frigg/pkg/common/sshkey"
20+
"github.com/PatrickLaabs/frigg/pkg/common/vars"
2021
"github.com/PatrickLaabs/frigg/pkg/common/wait"
22+
"github.com/PatrickLaabs/frigg/tmpl/clusterctlconfig"
2123
"github.com/PatrickLaabs/frigg/tmpl/helmchartsproxies"
24+
"github.com/PatrickLaabs/frigg/tmpl/kindconfig"
2225
"github.com/PatrickLaabs/frigg/tmpl/mgmtmanifestgen"
2326
"github.com/fatih/color"
2427
"io"
@@ -47,13 +50,13 @@ type flagpole struct {
4750

4851
// NewCommand returns a new cobra.Command for cluster creation
4952
func NewCommand(logger log.Logger, streams cmd.IOStreams) *cobra.Command {
50-
homedir, _ := os.UserHomeDir()
51-
52-
friggDirName := ".frigg"
53-
kubeconfigName := "bootstrapcluster.kubeconfig"
54-
55-
kubeconfigFlagPath := homedir + "/" + friggDirName + "/" + kubeconfigName
53+
homedir, err := os.UserHomeDir()
54+
if err != nil {
55+
println(color.RedString("error on accessing users home directory: %v\n", err))
56+
}
5657

58+
kubeconfigFlagPath := homedir + "/" + vars.FriggDirName + "/" + vars.BootstrapkubeconfigName
59+
kindconfigPath := homedir + "/" + vars.FriggDirName + "/" + vars.KindconfigName
5760
flags := &flagpole{}
5861
c := &cobra.Command{
5962
Args: cobra.NoArgs,
@@ -75,7 +78,7 @@ func NewCommand(logger log.Logger, streams cmd.IOStreams) *cobra.Command {
7578
c.Flags().StringVar(
7679
&flags.Config,
7780
"config",
78-
"templates/kind-config.yaml",
81+
kindconfigPath,
7982
"path to a kind config file",
8083
)
8184
c.Flags().StringVar(
@@ -132,9 +135,24 @@ func runE(logger log.Logger, streams cmd.IOStreams, flags *flagpole) error {
132135
}
133136

134137
// Create working directory named .frigg inside the users homedirectory.
135-
println(color.YellowString("Creating working directory on your homedirectory"))
136138
workdir.CreateDir()
137139

140+
// Generating kind-config
141+
kindconfig.KindConfigGen()
142+
143+
// Generating clusterctl config
144+
clusterctlconfig.ClusterctlConfigGen()
145+
146+
// Generating HelmChartProxies
147+
helmchartsproxies.Cni()
148+
helmchartsproxies.Vault()
149+
helmchartsproxies.ArgoCDWorkloadClusters()
150+
helmchartsproxies.ArgoWorkflows()
151+
helmchartsproxies.ArgoRollouts()
152+
helmchartsproxies.ArgoEvents()
153+
helmchartsproxies.MgmtArgoCD()
154+
helmchartsproxies.MgmtArgoApps()
155+
138156
provider := cluster.NewProvider(
139157
cluster.ProviderWithLogger(logger),
140158
runtime.GetDefault(logger),
@@ -235,10 +253,6 @@ func runE(logger log.Logger, streams cmd.IOStreams, flags *flagpole) error {
235253
// and to free up some hardware resources.
236254
postbootstrap.DeleteBootstrapcluster()
237255

238-
// Generating HelmChartProxies
239-
helmchartsproxies.MgmtArgoCD()
240-
helmchartsproxies.MgmtArgoApps()
241-
242256
// Installs the HelmChartProxies onto the mgmt-cluster
243257
argocdWorkload.Installation()
244258
cni.Installation()

cmd/frigg/bootstrap/capd/cluster/vars.go

-6
This file was deleted.

cmd/frigg/bootstrap/capd/clusterapi/apply.go

+10-9
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package clusterapi
22

33
import (
44
"fmt"
5+
"github.com/PatrickLaabs/frigg/pkg/common/vars"
56
"github.com/fatih/color"
67
"os"
78
"os/exec"
@@ -16,9 +17,9 @@ func KubectlApplyMgmt() {
1617
return
1718
}
1819

19-
kubeconfigFlagPath := homedir + "/" + friggDirName + "/" + bootstrapkubeconfigName
20+
kubeconfigFlagPath := homedir + "/" + vars.FriggDirName + "/" + vars.BootstrapkubeconfigName
2021

21-
mgmtcluster := homedir + "/" + friggDirName + "/" + "argohubmgmtclusterManifest.yaml"
22+
mgmtcluster := homedir + "/" + vars.FriggDirName + "/" + vars.MgmtManifest
2223

2324
cmd := exec.Command("kubectl", "--kubeconfig",
2425
kubeconfigFlagPath, "apply",
@@ -44,13 +45,13 @@ func KubectlApplyWorkload() {
4445
return
4546
}
4647

47-
kubeconfigFlagPath := homedir + "/" + friggDirName + "/" + managementKubeconfigName
48+
kubeconfigFlagPath := homedir + "/" + vars.FriggDirName + "/" + vars.ManagementKubeconfigName
4849

49-
mgmtcluster := homedir + "/" + friggDirName + "/" + "workloadcluster.yaml"
50+
workloadcluster := homedir + "/" + vars.FriggDirName + "/" + vars.WorkloadManifest
5051

5152
cmd := exec.Command("kubectl", "--kubeconfig",
5253
kubeconfigFlagPath, "apply",
53-
"-f", mgmtcluster,
54+
"-f", workloadcluster,
5455
)
5556

5657
// Capture the output of the command
@@ -91,7 +92,7 @@ func ApplyGithubSecretMgmt() {
9192
}
9293

9394
fromLiteralString := "--from-literal=token=" + token
94-
kubeconfigFlagPath := homedir + "/" + friggDirName + "/" + managementKubeconfigName
95+
kubeconfigFlagPath := homedir + "/" + vars.FriggDirName + "/" + vars.ManagementKubeconfigName
9596

9697
cmd := exec.Command("kubectl", "--kubeconfig",
9798
kubeconfigFlagPath, "-n", "argo", "create", "secret", "generic",
@@ -116,7 +117,7 @@ func ApplyArgoSecretMgmt() {
116117
return
117118
}
118119

119-
kubeconfigFlagPath := homedir + "/" + friggDirName + "/" + managementKubeconfigName
120+
kubeconfigFlagPath := homedir + "/" + vars.FriggDirName + "/" + vars.ManagementKubeconfigName
120121

121122
cmd := exec.Command("kubectl", "--kubeconfig",
122123
kubeconfigFlagPath, "-n", "argo", "create", "secret", "generic",
@@ -143,7 +144,7 @@ func CreateArgoNSMgmt() {
143144
return
144145
}
145146

146-
kubeconfigFlagPath := homedir + "/" + friggDirName + "/" + managementKubeconfigName
147+
kubeconfigFlagPath := homedir + "/" + vars.FriggDirName + "/" + vars.ManagementKubeconfigName
147148

148149
cmd := exec.Command("kubectl", "--kubeconfig",
149150
kubeconfigFlagPath, "create", "namespace", "argo",
@@ -167,7 +168,7 @@ func CreateArgoNSWorkload() {
167168
return
168169
}
169170

170-
kubeconfigFlagPath := homedir + "/" + friggDirName + "/" + workloadKubeconfigName
171+
kubeconfigFlagPath := homedir + "/" + vars.FriggDirName + "/" + vars.WorkloadKubeconfigName
171172

172173
cmd := exec.Command("kubectl", "--kubeconfig",
173174
kubeconfigFlagPath, "create", "namespace", "argo",

cmd/frigg/bootstrap/capd/clusterapi/clusterapi.go

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package clusterapi
22

33
import (
4+
"github.com/PatrickLaabs/frigg/pkg/common/vars"
45
"github.com/fatih/color"
56
"os"
67
"os/exec"
@@ -15,9 +16,9 @@ func ClusterAPI() {
1516
return
1617
}
1718

18-
kubeconfigFlagPath := homedir + "/" + friggDirName + "/" + bootstrapkubeconfigName
19+
kubeconfigFlagPath := homedir + "/" + vars.FriggDirName + "/" + vars.BootstrapkubeconfigName
20+
clusterconfigPath := homedir + "/" + vars.FriggDirName + "/" + vars.ClusterctlConfigName
1921

20-
// Installs CAPI v1.6.1, Docker and CAAPH v0.1.1-alpha.0
2122
cmd := exec.Command("clusterctl", "init",
2223
"--bootstrap", "kubeadm:v1.6.1",
2324
"--control-plane", "kubeadm:v1.6.1",
@@ -27,7 +28,7 @@ func ClusterAPI() {
2728
"--addon", "helm:v0.1.1-alpha.0",
2829
"--kubeconfig", kubeconfigFlagPath,
2930
"--wait-providers",
30-
"--config", "templates/clusterctl-config.yaml",
31+
"--config", clusterconfigPath,
3132
)
3233

3334
// Capture the output of the command
@@ -48,10 +49,9 @@ func ClusterAPIMgmt() {
4849
return
4950
}
5051

51-
// /home/patricklaabs/.frigg/frigg-cluster.kubeconfig
52-
kubeconfigFlagPath := homedir + "/" + friggDirName + "/" + managementKubeconfigName
52+
kubeconfigFlagPath := homedir + "/" + vars.FriggDirName + "/" + vars.ManagementKubeconfigName
53+
clusterconfigPath := homedir + "/" + vars.FriggDirName + "/" + vars.ClusterctlConfigName
5354

54-
// Installs CAPI v1.6.1, Docker and CAAPH v0.1.1-alpha.0
5555
cmd := exec.Command("clusterctl", "init",
5656
"--bootstrap", "kubeadm:v1.6.1",
5757
"--control-plane", "kubeadm:v1.6.1",
@@ -61,7 +61,7 @@ func ClusterAPIMgmt() {
6161
"--addon", "helm:v0.1.1-alpha.0",
6262
"--kubeconfig", kubeconfigFlagPath,
6363
"--wait-providers",
64-
"--config", "templates/clusterctl-config.yaml",
64+
"--config", clusterconfigPath,
6565
)
6666

6767
// Capture the output of the command

cmd/frigg/bootstrap/capd/clusterapi/privot.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package clusterapi
22

33
import (
4+
"github.com/PatrickLaabs/frigg/pkg/common/vars"
45
"github.com/fatih/color"
56
"os"
67
"os/exec"
@@ -15,9 +16,9 @@ func Pivot() {
1516
return
1617
}
1718

18-
bootstrapKubeconfig := homedir + "/" + friggDirName + "/" + bootstrapkubeconfigName
19+
bootstrapKubeconfig := homedir + "/" + vars.FriggDirName + "/" + vars.BootstrapkubeconfigName
1920

20-
mgmtKubeconfig := homedir + "/" + friggDirName + "/" + managementKubeconfigName
21+
mgmtKubeconfig := homedir + "/" + vars.FriggDirName + "/" + vars.ManagementKubeconfigName
2122

2223
cmd := exec.Command("clusterctl", "--kubeconfig", bootstrapKubeconfig,
2324
"move", "--to-kubeconfig", mgmtKubeconfig,

cmd/frigg/bootstrap/capd/clusterapi/vars.go

-6
This file was deleted.

cmd/frigg/bootstrap/capd/helmchartproxies/argocdWorkload/argocdWorkload.go

+3-6
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package argocdWorkload
22

33
import (
4-
"github.com/PatrickLaabs/frigg/cmd/frigg/bootstrap/capd/helmchartproxies"
4+
"github.com/PatrickLaabs/frigg/pkg/common/vars"
55
"github.com/fatih/color"
66
"os"
77
"os/exec"
@@ -16,12 +16,9 @@ func Installation() {
1616
return
1717
}
1818

19-
friggDirName := helmchartproxies.FriggDirName
20-
managementKubeconfigName := helmchartproxies.ManagementKubeconfigName
19+
kubeconfigFlagPath := homedir + "/" + vars.FriggDirName + "/" + vars.ManagementKubeconfigName
2120

22-
kubeconfigFlagPath := homedir + "/" + friggDirName + "/" + managementKubeconfigName
23-
24-
helmchartManifests := "templates/helmchartproxies/argocd-workload-clusters.yaml"
21+
helmchartManifests := homedir + "/" + vars.FriggDirName + "/" + vars.ArgoCDWorkload
2522

2623
cmd := exec.Command("kubectl", "--kubeconfig",
2724
kubeconfigFlagPath, "apply",

cmd/frigg/bootstrap/capd/helmchartproxies/cni/cni.go

+3-6
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package cni
22

33
import (
4-
"github.com/PatrickLaabs/frigg/cmd/frigg/bootstrap/capd/helmchartproxies"
4+
"github.com/PatrickLaabs/frigg/pkg/common/vars"
55
"github.com/fatih/color"
66
"os"
77
"os/exec"
@@ -16,12 +16,9 @@ func Installation() {
1616
return
1717
}
1818

19-
friggDirName := helmchartproxies.FriggDirName
20-
managementKubeconfigName := helmchartproxies.ManagementKubeconfigName
19+
kubeconfigFlagPath := homedir + "/" + vars.FriggDirName + "/" + vars.ManagementKubeconfigName
2120

22-
kubeconfigFlagPath := homedir + "/" + friggDirName + "/" + managementKubeconfigName
23-
24-
helmchartManifests := "templates/helmchartproxies/cni.yaml"
21+
helmchartManifests := homedir + "/" + vars.FriggDirName + "/" + vars.CniName
2522

2623
cmd := exec.Command("kubectl", "--kubeconfig",
2724
kubeconfigFlagPath, "apply",

cmd/frigg/bootstrap/capd/helmchartproxies/cnibootstrap/cni.go

+3-6
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package cnibootstrap
22

33
import (
4-
"github.com/PatrickLaabs/frigg/cmd/frigg/bootstrap/capd/helmchartproxies"
4+
"github.com/PatrickLaabs/frigg/pkg/common/vars"
55
"github.com/fatih/color"
66
"os"
77
"os/exec"
@@ -16,12 +16,9 @@ func Installation() {
1616
return
1717
}
1818

19-
friggDirName := helmchartproxies.FriggDirName
20-
bootstrapkubeconfigName := helmchartproxies.BootstrapkubeconfigName
19+
kubeconfigFlagPath := homedir + "/" + vars.FriggDirName + "/" + vars.BootstrapkubeconfigName
2120

22-
kubeconfigFlagPath := homedir + "/" + friggDirName + "/" + bootstrapkubeconfigName
23-
24-
helmchartManifests := "templates/helmchartproxies/cni.yaml"
21+
helmchartManifests := homedir + "/" + vars.FriggDirName + "/" + vars.CniName
2522

2623
cmd := exec.Command("kubectl", "--kubeconfig",
2724
kubeconfigFlagPath, "apply",

cmd/frigg/bootstrap/capd/helmchartproxies/mgmtArgocdApps/mgmtArgocdApps.go

+3-10
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package mgmtArgocdApps
22

33
import (
4-
"github.com/PatrickLaabs/frigg/cmd/frigg/bootstrap/capd/helmchartproxies"
4+
"github.com/PatrickLaabs/frigg/pkg/common/vars"
55
"github.com/fatih/color"
66
"os"
77
"os/exec"
@@ -16,15 +16,8 @@ func Installation() {
1616
return
1717
}
1818

19-
friggDirName := helmchartproxies.FriggDirName
20-
friggDir := homedir + "/" + friggDirName
21-
managementKubeconfigName := helmchartproxies.ManagementKubeconfigName
22-
23-
kubeconfigFlagPath := homedir + "/" + friggDirName + "/" + managementKubeconfigName
24-
25-
//helmchartManifests := "templates/helmchartproxies/mgmt-argocd-apps.yaml"
26-
newFile := "mgmt-argocd-apps.yaml"
27-
helmchartManifests := friggDir + "/" + newFile
19+
kubeconfigFlagPath := homedir + "/" + vars.FriggDirName + "/" + vars.ManagementKubeconfigName
20+
helmchartManifests := homedir + "/" + vars.FriggDirName + "/" + vars.ArgoCDAppsMgmt
2821

2922
cmd := exec.Command("kubectl", "--kubeconfig",
3023
kubeconfigFlagPath, "apply",

cmd/frigg/bootstrap/capd/helmchartproxies/mgmtArgocdEvents/mgmtArgocdEvents.go

+3-7
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package mgmtArgocdEvents
22

33
import (
4-
"github.com/PatrickLaabs/frigg/cmd/frigg/bootstrap/capd/helmchartproxies"
4+
"github.com/PatrickLaabs/frigg/pkg/common/vars"
55
"github.com/fatih/color"
66
"os"
77
"os/exec"
@@ -16,12 +16,8 @@ func Installation() {
1616
return
1717
}
1818

19-
friggDirName := helmchartproxies.FriggDirName
20-
managementKubeconfigName := helmchartproxies.ManagementKubeconfigName
21-
22-
kubeconfigFlagPath := homedir + "/" + friggDirName + "/" + managementKubeconfigName
23-
24-
helmchartManifests := "templates/helmchartproxies/mgmt-argocd-events.yaml"
19+
kubeconfigFlagPath := homedir + "/" + vars.FriggDirName + "/" + vars.ManagementKubeconfigName
20+
helmchartManifests := homedir + "/" + vars.FriggDirName + "/" + vars.ArgoEventsMgmt
2521

2622
cmd := exec.Command("kubectl", "--kubeconfig",
2723
kubeconfigFlagPath, "apply",

cmd/frigg/bootstrap/capd/helmchartproxies/mgmtArgocdRollouts/mgmtArgocdRollouts.go

+3-7
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package mgmtArgocdRollouts
22

33
import (
4-
"github.com/PatrickLaabs/frigg/cmd/frigg/bootstrap/capd/helmchartproxies"
4+
"github.com/PatrickLaabs/frigg/pkg/common/vars"
55
"github.com/fatih/color"
66
"os"
77
"os/exec"
@@ -16,12 +16,8 @@ func Installation() {
1616
return
1717
}
1818

19-
friggDirName := helmchartproxies.FriggDirName
20-
managementKubeconfigName := helmchartproxies.ManagementKubeconfigName
21-
22-
kubeconfigFlagPath := homedir + "/" + friggDirName + "/" + managementKubeconfigName
23-
24-
helmchartManifests := "templates/helmchartproxies/mgmt-argocd-rollouts.yaml"
19+
kubeconfigFlagPath := homedir + "/" + vars.FriggDirName + "/" + vars.ManagementKubeconfigName
20+
helmchartManifests := homedir + "/" + vars.FriggDirName + "/" + vars.ArgoRolloutsMgmt
2521

2622
cmd := exec.Command("kubectl", "--kubeconfig",
2723
kubeconfigFlagPath, "apply",

0 commit comments

Comments
 (0)