Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ClusterBootstrapFlannel = []Packages{ { Helm: []*Helm{ { Repo: &repo.Entry{ Name: "flannel", }, Spec: &Spec{ Chart: []*helmclient.ChartSpec{ { ReleaseName: "flannel", ChartName: "/home/armin/edgefarm/helm-charts/charts/kube-flannel", Namespace: "kube-flannel", UpgradeCRDs: true, Wait: true, Version: "v0.22.1", Timeout: time.Second * 90, ValuesYaml: `flannel: command: - "bash" - "-c" - "/opt/bin/flanneld --ip-masq --kube-subnet-mgr --iface=wt0 --iface=eth0 & p=$(ls /sys/class/net); while true; do c=$(ls /sys/class/net); if [ \"$p\" != \"$c\" ]; then echo \"Network changed!\"; sleep 5; pkill -f flanneld; /opt/bin/flanneld --ip-masq --kube-subnet-mgr --iface=wt0 --iface=eth0 & p=$c; fi; sleep 5; done" args: []`, }, }, CreateNamespace: true, }, }, }, }, } ClusterBootstrapStage2 = []Packages{ { Helm: []*Helm{ { Repo: &repo.Entry{ Name: "headscale", }, Spec: &Spec{ Chart: []*helmclient.ChartSpec{ { ReleaseName: "headscale", ChartName: "/home/armin/edgefarm/helm-charts/charts/headscale", Namespace: "vpn", UpgradeCRDs: true, Wait: true, Version: "1.2.0", Timeout: time.Second * 90, }, }, CreateNamespace: true, ValuesFunc: func() string { return fmt.Sprintf("config:\n port: %d\n hostPort:\n enabled: true", args.Ports.HostVPNPort) }, }, }, { Repo: &repo.Entry{ Name: "tailscale", }, Spec: &Spec{ Chart: []*helmclient.ChartSpec{ { ReleaseName: "tailscale", ChartName: "/home/armin/edgefarm/helm-charts/charts/tailscale", Namespace: "vpn", UpgradeCRDs: true, Wait: true, Version: "1.2.0", Timeout: time.Second * 90, }, }, CreateNamespace: true, ValuesFunc: func() string { r, err := route.GetRoute(args.Interface) if err != nil { panic(err) } return fmt.Sprintf("config:\n loginServer: http://%s:%d", r.IP, args.Ports.HostVPNPort) }, }, }, }, }, } ClusterDependencies = []Packages{ { Helm: []*Helm{ { Repo: &repo.Entry{ Name: "ingress-nginx", URL: "https://kubernetes.github.io/ingress-nginx", }, Spec: &Spec{ Chart: []*helmclient.ChartSpec{ { ReleaseName: "ingress-nginx", ChartName: "ingress-nginx/ingress-nginx", Namespace: "ingress-nginx", UpgradeCRDs: true, Wait: true, Version: "4.7.1", Timeout: time.Second * 300, ValuesYaml: `controller: extraArgs: publish-status-address: "localhost" publishService: enabled: false watchIngressWithoutClass: true terminationGracePeriodSeconds: 0 nodeSelector: ingress-ready: "true" service: internal: enabled: false type: "NodePort" nodePorts: http: 32080 https: 32443 hostPort: enabled: true`, }, }, CreateNamespace: true, }, }, { Repo: &repo.Entry{ Name: "cert-manager", URL: "https://charts.jetstack.io", }, Spec: &Spec{ Chart: []*helmclient.ChartSpec{ { ReleaseName: "cert-manager", ChartName: "cert-manager/cert-manager", Namespace: "cert-manager", UpgradeCRDs: true, Wait: true, Version: "v1.12.0", Timeout: time.Second * 300, ValuesYaml: `installCRDs: true`, }, }, CreateNamespace: true, }, }, { Repo: &repo.Entry{ Name: "crossplane-stable", URL: "https://charts.crossplane.io/stable", }, Spec: &Spec{ Chart: []*helmclient.ChartSpec{ { ReleaseName: "crossplane", ChartName: "crossplane-stable/crossplane", Namespace: "crossplane-system", UpgradeCRDs: true, Version: "1.12.2", Wait: true, Timeout: time.Second * 300, ValuesYaml: `args: - --enable-composition-functions - --debug resourcesCrossplane: limits: cpu: 100m memory: 512Mi requests: cpu: 100m memory: 256Mi resourcesRBACManager: limits: cpu: 100m memory: 512Mi requests: cpu: 100m memory: 256Mi xfn: enabled: true args: - --debug resources: limits: cpu: 500m memory: 512Mi requests: cpu: 250m memory: 256Mi`, }, }, CreateNamespace: true, }, }, { Repo: &repo.Entry{ Name: "vault", URL: "https://kubernetes-charts.banzaicloud.com", }, Spec: &Spec{ Chart: []*helmclient.ChartSpec{ { ReleaseName: "vault-operator", ChartName: "vault/vault-operator", Namespace: "vault", UpgradeCRDs: true, Version: "1.19.0", Wait: true, Timeout: time.Second * 300, }, { ReleaseName: "vault-secrets-webhook", ChartName: "vault/vault-secrets-webhook", Namespace: "vault", UpgradeCRDs: true, Version: "1.19.0", }, }, CreateNamespace: true, }, }, { Repo: &repo.Entry{ Name: "metacontroller", }, Spec: &Spec{ Chart: []*helmclient.ChartSpec{ { ReleaseName: "metacontroller", ChartName: "oci://ghcr.io/metacontroller/metacontroller-helm", Namespace: "metacontroller", UpgradeCRDs: true, Version: "v4.10.4", }, }, CreateNamespace: true, }, }, }, }, } Base = []Packages{ { Helm: []*Helm{ { Repo: &repo.Entry{ Name: "vault", }, Spec: &Spec{ Chart: []*helmclient.ChartSpec{ { ReleaseName: "vault", ChartName: "oci://ghcr.io/edgefarm/helm-charts/vault", Namespace: "vault", UpgradeCRDs: true, Wait: true, Version: "1.2.0", Timeout: time.Second * 300, }, }, CreateNamespace: true, }, }, }, }, } Network = []Packages{ { Helm: []*Helm{ { Repo: &repo.Entry{ Name: "edgefarm-network", }, Spec: &Spec{ Chart: []*helmclient.ChartSpec{ { ReleaseName: "edgefarm-network", ChartName: "oci://ghcr.io/edgefarm/edgefarm.network/edgefarm-network", Namespace: "edgefarm-network", UpgradeCRDs: true, Version: "1.0.0-beta.37", Wait: true, Timeout: time.Second * 600, }, }, CreateNamespace: true, }, }, }, }, } Applications = []Packages{ { Helm: []*Helm{ { Repo: &repo.Entry{ Name: "edgefarm-applications", }, Spec: &Spec{ Chart: []*helmclient.ChartSpec{ { ReleaseName: "applications", ChartName: "oci://ghcr.io/edgefarm/edgefarm.applications/edgefarm-applications", Namespace: "edgefarm-applications", UpgradeCRDs: true, Version: "1.0.0-beta.27", Wait: true, Timeout: time.Second * 300, }, }, CreateNamespace: true, }, }, }, }, } Monitor = []Packages{ { Helm: []*Helm{ { Repo: &repo.Entry{ Name: "edgefarm-monitor", }, Spec: &Spec{ Chart: []*helmclient.ChartSpec{ { ReleaseName: "edgefarm-monitor", ChartName: "oci://ghcr.io/edgefarm/edgefarm.monitor/edgefarm-monitor", Namespace: "edgefarm-monitor", UpgradeCRDs: true, Version: "1.0.0-beta.14 ", Wait: true, Timeout: time.Second * 300, }, }, CreateNamespace: true, }, }, }, }, } YurtManager = []Packages{ { Helm: []*Helm{ { Repo: &repo.Entry{ Name: "openyurt", URL: "https://openyurtio.github.io/openyurt-helm", }, Spec: &Spec{ Chart: []*helmclient.ChartSpec{ { ReleaseName: "yurt-manager", ChartName: "openyurt/yurt-manager", Namespace: "kube-system", Version: "1.3.4", UpgradeCRDs: true, }, }, }, }, }, }, } )
Functions ¶
func InstallAndWaitBootstrapStage1 ¶ added in v1.1.0
func InstallAndWaitBootstrapStage1() error
func InstallBase ¶
func InstallBase() error
func InstallDependencies ¶
func InstallDependencies() error
Types ¶
Click to show internal directories.
Click to hide internal directories.