| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- package api
- import (
- "fmt"
- "github.com/porter-dev/porter/internal/kubernetes"
- "gopkg.in/yaml.v2"
- )
- // User is a user type
- type User struct {
- ID string
- // The clusters that this user has linked
- Clusters []*kubernetes.ClusterConfig
- // The raw kubeconfig uploaded by this user
- RawKubeConfig []byte
- }
- // GenerateUser creates a new user based on a unique ID and a kubeconfig
- func GenerateUser(id string, kubeconfig []byte) *User {
- conf := kubernetes.KubeConfig{}
- err := yaml.Unmarshal(kubeconfig, &conf)
- // TODO -- HANDLE ERROR
- if err != nil {
- fmt.Println("ERROR IN UNMARSHALING")
- }
- // generate the user's clusters
- clusters := conf.ToClusterConfigs()
- return &User{
- ID: id,
- Clusters: clusters,
- RawKubeConfig: kubeconfig,
- }
- }
- // printUser is a helper function to print a user's config without sensitive information
- func (u *User) printUser() {
- for _, cluster := range u.Clusters {
- fmt.Println(cluster.Name, cluster.Context, cluster.Server, cluster.User)
- }
- }
|