Skip to content
This repository has been archived by the owner on Feb 21, 2023. It is now read-only.

Commit

Permalink
Merge pull request #65 from kf5i/add_init_command
Browse files Browse the repository at this point in the history
[feat:] Adding init command
  • Loading branch information
alfsuse committed Dec 10, 2020
2 parents 56a23d8 + 2cbe18d commit 8d55283
Show file tree
Hide file tree
Showing 17 changed files with 719 additions and 5 deletions.
1 change: 1 addition & 0 deletions cmd/tools/cli/cli.go
Expand Up @@ -43,6 +43,7 @@ func setupCli(baseCmd *cobra.Command) {

baseCmd.AddCommand(newDeleteCommand())
baseCmd.AddCommand(newListCommand())
baseCmd.AddCommand(newInitCommand())
}

//Execute is the entrypoint of the commands
Expand Down
73 changes: 73 additions & 0 deletions cmd/tools/cli/init.go
@@ -0,0 +1,73 @@
package cli

import (

//"os"
// "runtime"
// "strings"
// "time"

// "github.com/enescakir/emoji"
"github.com/kf5i/k3ai-core/internal/infra/cloud"
"github.com/kf5i/k3ai-core/internal/infra/local"

//"fmt"

"github.com/kf5i/k3ai-core/internal/shared"
// "github.com/manifoldco/promptui"
//"fmt"

"github.com/spf13/cobra"
)

const absPath = "$HOME/.k3ai/config.yaml"

var kubeconfig []byte

/* First step is to check if inside .k3ai folder exist a copy of config.yaml if not pull one from github
// the default one disabled locally with no plugins and will ask user what want to do.
// based on user choices will enable the right configuration on the config
// finally will instruct the user on how to change the config */

func newInitCommand() *cobra.Command {

var initCmd = &cobra.Command{
Use: "init",
Short: "Initialize K3ai Client",
Long: `Initialize K3ai Client, allowing user to deploy a new K8's cluster, list plugins and groups`,
Example: `k3ai-cli init #Will use config from $HOME/.k3ai/config.yaml and use interactive menus
k3ai-cli init --config /myfolder/myconfig.yaml #Use a custom config.yaml in another location(local or remote)
k3ai-cli init --local k3s #Use config target marked local and of type k3s
k3ai-cli init --cloud civo #Use config target marked as cloud and of type civo`,
SilenceUsage: true,
}

initCmd.Flags().String("local", "", "Options availabe k3s,k0s,kind")
initCmd.Flags().String("cloud", "", "Options availabe for cloud providers")
initCmd.Flags().String("config", "/.k3ai/config.yaml", "Custom config file [default is $HOME/.k3ai/config.yaml]")

initCmd.RunE = func(cmd *cobra.Command, args []string) error {
localConfig, _ := initCmd.Flags().GetString("config")
//localClusterConfig, _ := initCmd.Flags().GetString("local")
remoteClusterConfig, _ := initCmd.Flags().GetString("cloud")
if remoteClusterConfig != "" {
cloud.CivoCloudInit("windows", "civo")
}

//check if config.yaml exist otherwise grab a copy
cfg, _ := shared.Init(localConfig)
for i := range cfg.TargetCustomization {
if cfg.TargetCustomization[i].Enabled {
//check type call relative function: prepare the data we need and push to the relative function
if cfg.TargetCustomization[i].ClusterDeployment == "cloud" {
cloud.Init(cfg.TargetCustomization[i])
} else {
local.Init(cfg.TargetCustomization[i])
}
}
// we assume everything is false (first time?) so we need a simple interactive menu
}
return nil
}
return initCmd
}
104 changes: 104 additions & 0 deletions configs/config.yaml
@@ -0,0 +1,104 @@
kind: cluster
targetCustomizations:
- name: localK3s #name of the cluster instance not the name of the cluster
enabled: false
type: k3s
config: "/etc/rancher/k3s/k3s.yaml" #default location of config file or your existing config file to copy
clusterName: demo-wsl-k3s #name of the cluster (this need to be the same as in a config file)
clusterDeployment: local
clusterStart: "sudo bash -ic 'k3s server --write-kubeconfig-mode 644 > /dev/null 2>&1 &'"
spec:
# If the OS is not needed may be removed so the three below are mutually exclusive, if not needed set them to null or remove it
wsl: "https://github.com/rancher/k3s/releases/download/v1.19.4%2Bk3s1/k3s"
mac:
linux: "https://get.k3s.io | K3S_KUBECONFIG_MODE=644 sh -s -"
windows:
# Everything from this repo will be ran in this cluster. You trust me right?
plugins:
- repo:
name:
- repo:
name:

- name: localK0s #name of the cluster instance not the name of the cluster
enabled: false
type: k0s
config: "${HOME}/.k3ai/kubeconfig" #default location of config file or your existing config file to copy
clusterName: demo-wsl-k0s #name of the cluster (this need to be the same as in a config file)
clusterDeployment: local
clusterStart: "k0s default-config | tee ${HOME}/.k3ai/k0s.yaml && sudo bash -ic 'k0s server -c ${HOME}/.k3ai/k0s.yaml --enable-worker > /dev/null 2>&1 &' && sudo cat /var/lib/k0s/pki/admin.conf > $HOME/.k3ai/k0s-config"
spec:
# If the OS is not needed may be removed so the three below are mutually exclusive, if not needed set them to null or remove it
wsl: "https://github.com/k0sproject/k0s/releases/download/v0.8.1/k0s-v0.8.1-amd64"
mac:
linux: "https://github.com/k0sproject/k0s/releases/download/v0.8.1/k0s-v0.8.1-amd64"
windows:
# Everything from this repo will be ran in this cluster. You trust me right?
plugins:
- repo:
name:
- repo:
name:

- name: localKind #name of the cluster instance not the name of the cluster
enabled: false
type: kind
config: #default location of config file or your existing config file to copy
clusterName: demo-win-kind #name of the cluster (this need to be the same as in a config file)
clusterDeployment: local
clusterStart: "kind create cluster"
spec:
# If the OS is not needed may be removed so the three below are mutually exclusive, if not needed set them to null or remove it
wsl: "https://kind.sigs.k8s.io/dl/v0.9.0/kind-linux-amd64"
mac: "https://kind.sigs.k8s.io/dl/v0.9.0/kind-darwin-amd64"
linux: "https://kind.sigs.k8s.io/dl/v0.9.0/kind-linux-amd64"
windows: "https://kind.sigs.k8s.io/dl/v0.9.0/kind-windows-amd64"
# Everything from this repo will be ran in this cluster. You trust me right?
plugins:
- repo:
name:
- repo:
name:

- name: localK3d #name of the cluster instance not the name of the cluster
enabled: true
type: k3d
config: #default location of config file or your existing config file to copy
clusterName: demo-win-k3d #name of the cluster (this need to be the same as in a config file)
clusterDeployment: local
clusterStart: "k3d cluster create"
spec:
# If the OS is not needed may be removed so the three below are mutually exclusive, if not needed set them to null or remove it
wsl: "https://kind.sigs.k8s.io/dl/v0.9.0/kind-linux-amd64"
mac: "https://kind.sigs.k8s.io/dl/v0.9.0/kind-darwin-amd64"
linux: "https://kind.sigs.k8s.io/dl/v0.9.0/kind-linux-amd64"
windows: "https://github.com/rancher/k3d/releases/download/v3.4.0-test.0/k3d-windows-amd64.exe"
# Everything from this repo will be ran in this cluster. You trust me right?
plugins:
- repo:
name:
- repo:
name:

- name: remoteK3s #name of the cluster instance not the name of the cluster
enabled: false
type: k3s
config: remote #default location of config file or your existing config file to copy if Remote will be copy from remote location
clusterName: demo-cluster-remote #name of the cluster (this need to be the same as in a config file)
clusterDeployment: cloud
clusterStart:
spec:
# If the OS is not needed may be removed so the three below are mutually exclusive, if not needed set them to null or remove it
wsl:
mac:
linux:
windows:
cloudType: civo
cloudNodes: 1
cloudSecretPath: $HOME/.k3ai/secret.txt
# Everything from this repo will be ran in this cluster. You trust me right?
plugins:
- repo: "https://github.com/alfsuse/demo-plugins"
name: "demo"
- repo: "https://github.com/alfsuse/demo-plugins-2"
name: "demo2"
5 changes: 5 additions & 0 deletions go.mod
Expand Up @@ -5,9 +5,12 @@ go 1.15
require (
cloud.google.com/go v0.69.1 // indirect
github.com/Azure/go-autorest/autorest v0.11.10 // indirect
github.com/civo/civogo v0.2.22
github.com/enescakir/emoji v1.0.0
github.com/golang/protobuf v1.4.3 // indirect
github.com/google/gofuzz v1.2.0 // indirect
github.com/gorilla/mux v1.8.0
github.com/howeyc/gopass v0.0.0-20190910152052-7cb4b85ec19c
github.com/imdario/mergo v0.3.11 // indirect
github.com/pkg/errors v0.9.1
github.com/spf13/cobra v1.1.1
Expand All @@ -18,7 +21,9 @@ require (
golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e // indirect
google.golang.org/appengine v1.6.7 // indirect
gopkg.in/yaml.v2 v2.3.0
gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776
k8s.io/client-go v0.19.3
k8s.io/kubectl v0.19.3
k8s.io/utils v0.0.0-20201015054608-420da100c033 // indirect

)
21 changes: 21 additions & 0 deletions go.sum
Expand Up @@ -90,8 +90,11 @@ github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghf
github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/chai2010/gettext-go v0.0.0-20160711120539-c6fed771bfd5/go.mod h1:/iP1qXHoty45bqomnu2LM+VVyAEdWN+vtSHGlQgyxbw=
github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e h1:fY5BOSpyZCqRo5OhCuC+XN+r/bBCmeuuJtjz+bCNIf8=
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
github.com/civo/civogo v0.2.22 h1:C0fzqP8vIUDRSfQ1es4lIOA+eb0cR0LyKnM3+7pb6YY=
github.com/civo/civogo v0.2.22/go.mod h1:SR0ZOhABfQHjgNQE3UyfX4gaYsrfslkPFRFMx5P29rg=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
Expand All @@ -114,6 +117,8 @@ github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3
github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc=
github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
github.com/enescakir/emoji v1.0.0 h1:W+HsNql8swfCQFtioDGDHCHri8nudlK1n5p2rHCJoog=
github.com/enescakir/emoji v1.0.0/go.mod h1:Bt1EKuLnKDTYpLALApstIkAjdDrS/8IAgTkKp+WKFD0=
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
Expand Down Expand Up @@ -249,6 +254,8 @@ github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO
github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ=
github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I=
github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc=
github.com/howeyc/gopass v0.0.0-20190910152052-7cb4b85ec19c h1:aY2hhxLhjEAbfXOx2nRJxCXezC6CO2V/yN+OCr1srtk=
github.com/howeyc/gopass v0.0.0-20190910152052-7cb4b85ec19c/go.mod h1:lADxMC39cJJqL93Duh1xhAs4I2Zs8mKS89XWXFGp9cs=
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
Expand All @@ -264,7 +271,11 @@ github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
github.com/juju/ansiterm v0.0.0-20180109212912-720a0952cc2a h1:FaWFmfWdAUKbSCtOU2QjDaorUexogfaMgbipgYATUMU=
github.com/juju/ansiterm v0.0.0-20180109212912-720a0952cc2a/go.mod h1:UJSiEoRfvx3hP73CvoARgeLjaIOjybY9vj8PUPPFGeU=
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
github.com/kelseyhightower/envconfig v1.4.0 h1:Im6hONhd3pLkfDFsbRgu68RDNkGF1r3dvMUtDTo2cv8=
github.com/kelseyhightower/envconfig v1.4.0/go.mod h1:cccZRl6mQpaq41TPp5QxidR+Sa3axMbJDNb//FQX6Gg=
github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
Expand All @@ -278,15 +289,22 @@ github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de/go.mod h1:zAbeS9B/r2mtpb6U+EI2rYA5OAXxsYw6wTamcNW+zcE=
github.com/lithammer/dedent v1.1.0/go.mod h1:jrXYCQtgg0nJiN+StA2KgR7w6CiQNv9Fd/Z9BP0jIOc=
github.com/lunixbochs/vtclean v0.0.0-20180621232353-2d01aacdc34a h1:weJVJJRzAJBFRlAiJQROKQs8oC9vOxvm4rZmBBk0ONw=
github.com/lunixbochs/vtclean v0.0.0-20180621232353-2d01aacdc34a/go.mod h1:pHhQNgMf3btfWnGBVipUOjRYhoOsdGqdm/+2c2E2WMI=
github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
github.com/mailru/easyjson v0.7.0 h1:aizVhC/NAAcKWb+5QsU1iNOZb4Yws5UO2I+aIprQITM=
github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs=
github.com/manifoldco/promptui v0.8.0 h1:R95mMF+McvXZQ7j1g8ucVZE1gLP3Sv6j9vlF9kyRqQo=
github.com/manifoldco/promptui v0.8.0/go.mod h1:n4zTdgP0vr0S3w7/O/g98U+e0gwLScEXGwov2nIKuGQ=
github.com/mattn/go-colorable v0.0.9 h1:UVL0vNpWh04HeJXV0KLcaT7r06gOH2l4OW6ddYRUIY4=
github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
github.com/mattn/go-isatty v0.0.4 h1:bnP0vzxcAdeI1zdubAl5PjU6zsERjGZb7raWodagDYs=
github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=
github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
Expand Down Expand Up @@ -499,6 +517,7 @@ golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5h
golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
Expand Down Expand Up @@ -699,6 +718,8 @@ gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU=
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776 h1:tQIYjPdBoyREyB9XMu+nnTclpTYkz2zFM+lzLJFO4gQ=
gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw=
gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
Expand Down
19 changes: 19 additions & 0 deletions internal/infra/cloud/aws.go
@@ -0,0 +1,19 @@
package cloud

import (
"fmt"

//Cloud providers GO packages

"github.com/enescakir/emoji"
)

// const (
// apiKey = "7TEH9KPSunoBRxYwyUAMGrf1vpCaVtmF03IQ2068cDXk4sbOgi"
// )

//AwsCloudInit run specific client configurations based on cloud providers selection
func AwsCloudInit(osFlavor string, cloudProvider string) {
fmt.Printf("%v Ouch sorry we still working on this but hey if it is important for you why not open an issue?\n", emoji.ConstructionWorker)
fmt.Printf("%v https://github.com/kf5i/k3ai-core/issues/new/choose", emoji.RightArrow)
}
19 changes: 19 additions & 0 deletions internal/infra/cloud/azure.go
@@ -0,0 +1,19 @@
package cloud

import (
"fmt"

//Cloud providers GO packages

"github.com/enescakir/emoji"
)

// const (
// apiKey = "7TEH9KPSunoBRxYwyUAMGrf1vpCaVtmF03IQ2068cDXk4sbOgi"
// )

//AzureCloudInit run specific client configurations based on cloud providers selection
func AzureCloudInit(osFlavor string, cloudProvider string) {
fmt.Printf("%v Ouch sorry we still working on this but hey if it is important for you why not open an issue?\n", emoji.ConstructionWorker)
fmt.Printf("%v https://github.com/kf5i/k3ai-core/issues/new/choose", emoji.RightArrow)
}

0 comments on commit 8d55283

Please sign in to comment.