Skip to content

Commit a0ead0d

Browse files
authored
Merge pull request #87 from flanksource/moshloop
Drop etcd and gomplate
2 parents b5e94a5 + 97d077d commit a0ead0d

File tree

17 files changed

+1378
-1809
lines changed

17 files changed

+1378
-1809
lines changed

client.go

Lines changed: 15 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -5,25 +5,21 @@ import (
55
"bytes"
66
"container/list"
77
"context"
8-
"crypto/tls"
9-
"crypto/x509"
108
"fmt"
119
"io"
1210
"net"
1311
"net/http"
1412

15-
"io/ioutil"
13+
"io"
1614
"os"
1715
"path/filepath"
1816
"strings"
1917
"sync"
2018
"time"
2119

22-
certs "github.com/flanksource/commons/certs"
2320
"github.com/flanksource/commons/files"
2421
"github.com/flanksource/commons/logger"
2522
"github.com/flanksource/commons/utils"
26-
"github.com/flanksource/kommons/etcd"
2723
"github.com/flanksource/kommons/kustomize"
2824
"github.com/flanksource/kommons/proxy"
2925
"github.com/pkg/errors"
@@ -43,6 +39,7 @@ import (
4339
"k8s.io/client-go/restmapper"
4440
"k8s.io/client-go/tools/clientcmd"
4541
"k8s.io/client-go/transport"
42+
"sigs.k8s.io/kustomize/kyaml/filesys"
4643
)
4744

4845
var immutableAnnotations = []string{
@@ -60,13 +57,11 @@ type Client struct {
6057
ApplyHook ApplyHook
6158
ImmutableAnnotations []string
6259
Trace bool
63-
64-
client *kubernetes.Clientset
65-
dynamicClient dynamic.Interface
66-
restConfig *rest.Config
67-
etcdClientGenerator *etcd.EtcdClientGenerator
68-
kustomizeManager *kustomize.Manager
69-
restMapper meta.RESTMapper
60+
client *kubernetes.Clientset
61+
dynamicClient dynamic.Interface
62+
restConfig *rest.Config
63+
kustomizeManager *kustomize.Manager
64+
restMapper meta.RESTMapper
7065
}
7166

7267
func NewClientFromDefaults(log logger.Logger) (*Client, error) {
@@ -83,7 +78,7 @@ func NewClientFromDefaults(log logger.Logger) (*Client, error) {
8378
}
8479
}
8580

86-
data, err := ioutil.ReadFile(kubeconfig)
81+
data, err := os.ReadFile(kubeconfig)
8782
if err != nil {
8883
return nil, err
8984
}
@@ -133,7 +128,7 @@ func (c *Client) GetKustomize() (*kustomize.Manager, error) {
133128
if c.kustomizeManager != nil {
134129
return c.kustomizeManager, nil
135130
}
136-
dir, _ := ioutil.TempDir("", "karina-kustomize")
131+
fs := filesys.MakeFsInMemory()
137132
patches, err := c.GetKustomizePatches()
138133
if err != nil {
139134
return nil, err
@@ -146,7 +141,7 @@ func (c *Client) GetKustomize() (*kustomize.Manager, error) {
146141
for _, patch := range patches {
147142
if files.Exists(patch) {
148143
name = fmt.Sprintf("%d-%s", no, filepath.Base(patch))
149-
patchBytes, err := ioutil.ReadFile(patch)
144+
patchBytes, err := io.ReadFile(patch)
150145
if err != nil {
151146
return nil, err
152147
}
@@ -162,12 +157,12 @@ func (c *Client) GetKustomize() (*kustomize.Manager, error) {
162157
if err != nil {
163158
return nil, perrors.WithMessagef(err, "syntax error when reading %s ", name)
164159
}
165-
if _, err := files.CopyFromReader(bytes.NewBuffer(*patchData), dir+"/"+name, 0644); err != nil {
166-
return nil, err
167-
}
160+
fs.WriteFile(name, *patchData)
161+
162+
}
163+
c.kustomizeManager = &kustomize.Manager{
164+
FileSystem: fs,
168165
}
169-
kustomizeManager, err := kustomize.GetManager(dir)
170-
c.kustomizeManager = kustomizeManager
171166
return c.kustomizeManager, err
172167
}
173168

@@ -254,24 +249,6 @@ func (c *Client) GetRestMapper() (meta.RESTMapper, error) {
254249
return c.restMapper, err
255250
}
256251

257-
func (c *Client) GetEtcdClientGenerator(ca *certs.Certificate) (*etcd.EtcdClientGenerator, error) {
258-
if c.etcdClientGenerator != nil {
259-
return c.etcdClientGenerator, nil
260-
}
261-
client, err := c.GetClientset()
262-
if err != nil {
263-
return nil, err
264-
}
265-
rest, _ := c.GetRESTConfig()
266-
caPool := x509.NewCertPool()
267-
caPool.AppendCertsFromPEM(ca.EncodedCertificate())
268-
cert, _ := tls.X509KeyPair(ca.EncodedCertificate(), ca.EncodedPrivateKey())
269-
return etcd.NewEtcdClientGenerator(client, rest, &tls.Config{
270-
RootCAs: caPool,
271-
Certificates: []tls.Certificate{cert},
272-
}), nil
273-
}
274-
275252
func (c *Client) Refresh(item *unstructured.Unstructured) (*unstructured.Unstructured, error) {
276253
return c.GetByKind(item.GetKind(), item.GetNamespace(), item.GetName())
277254
}
@@ -458,36 +435,6 @@ func (c *Client) Update(namespace string, item runtime.Object) error {
458435
return err
459436
}
460437

461-
func (c *Client) GetEtcdClient(ctx context.Context) (*etcd.Client, error) {
462-
clientset, err := c.GetClientset()
463-
if err != nil {
464-
return nil, perrors.Wrap(err, "failed to get clientset")
465-
}
466-
secret, err := clientset.CoreV1().Secrets("kube-system").Get(context.TODO(), "etcd-certs", metav1.GetOptions{})
467-
if err != nil {
468-
return nil, perrors.Wrap(err, "failed to get secret etcd-certs in namespace kube-system")
469-
}
470-
cert, err := certs.DecodeCertificate(secret.Data["tls.crt"], secret.Data["tls.key"])
471-
if err != nil {
472-
return nil, perrors.Wrap(err, "failed to decode etcd certificates")
473-
}
474-
etcdClientGenerator, err := c.GetEtcdClientGenerator(cert)
475-
if err != nil {
476-
return nil, perrors.Wrap(err, "failed to get etcd client generator")
477-
}
478-
479-
masterNode, err := c.GetMasterNode()
480-
if err != nil {
481-
return nil, perrors.Wrap(err, "failed to get master node")
482-
}
483-
etcdClient, err := etcdClientGenerator.ForNode(ctx, masterNode)
484-
if err != nil {
485-
return nil, perrors.Wrap(err, "failed to get etcd client")
486-
}
487-
488-
return etcdClient, nil
489-
}
490-
491438
func (c *Client) GetJobPod(namespace, jobName string) (string, error) {
492439
client, err := c.GetClientset()
493440
if err != nil {

etcd/backoff_adapter.go

Lines changed: 0 additions & 195 deletions
This file was deleted.

0 commit comments

Comments
 (0)