From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Aaron Gonzales Newsgroups: gmane.emacs.devel Subject: Feature to allow selection of container when connecting to kubernetes pod Date: Fri, 30 Dec 2022 05:53:45 -0800 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="000000000000ccb8ad05f10bee66" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="2969"; mail-complaints-to="usenet@ciao.gmane.io" To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Dec 30 15:20:39 2022 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pBGFS-0000c5-Vo for ged-emacs-devel@m.gmane-mx.org; Fri, 30 Dec 2022 15:20:39 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pBGEr-0005ns-64; Fri, 30 Dec 2022 09:20:01 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pBFpg-00079F-Mw for emacs-devel@gnu.org; Fri, 30 Dec 2022 08:54:00 -0500 Original-Received: from mail-yw1-x112a.google.com ([2607:f8b0:4864:20::112a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pBFpe-0003Xd-Js for emacs-devel@gnu.org; Fri, 30 Dec 2022 08:54:00 -0500 Original-Received: by mail-yw1-x112a.google.com with SMTP id 00721157ae682-482363a1232so143430457b3.3 for ; Fri, 30 Dec 2022 05:53:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=GENSQTTQOON8cK5szwRz1H15jgLYobX9sT1noqxdPqk=; b=GwYyHNoI104QJ/SCuNIwGMwfIfTV31s9kk7J+YnucS+Hqk9jx+kuqjVsmW0sqCL8cl TAi7FwXqSeL88p/vNIxnLhgGABZXaf+z13gdXlAA+wIukK7+byGay/tiPMspjYtf9oE6 lY2nSyYFs8nx2WMV4SpjzR+pxeMopaiwwDGAYVCSgNFhTuvvBLiuuwanWDiwd1JC0bz2 Gamf0jk3EIOE/XeZvO8fkmWP2sma5lmi5xJmvb4ZC/o5KeP3dNRyzUxm3Wr8jZmviCIK JJI/DkRUkhFBC9O6JGm3+sybYFnrmnGsnKaow71rVROjnXjFNu1+S189gGLRc4wySGtm rRiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=GENSQTTQOON8cK5szwRz1H15jgLYobX9sT1noqxdPqk=; b=rYQxArpLer5uA4xMzlanAme0wmGcuT60n82OrDSEpDKXj58/z8rKYZv2GTsjcS7TZN XIfB2ygn+cUa5vUEJvrv/JP/OlaDPvD3FEfcuPkdhFaiOMVO/jQl4muqeRVS/3yZXSfO pE96Od9e0c2o/aIYziFR47es2F0oIpssHpfO+HCDpgwGU8IOdidFl8sPpcaL0wc3CUHB AP1T4YQr7dx0JA/CvuKw1Cp0fKHU2l826+N8W3pBbMbfhvC+agmPgW/CdoKQfE8KEMLy /6cht1GwX6ca9KlDGtrqELYjA1gbNNegErYimcA93cn8xWfoZkDPBNeiRCfbZs0xOcN2 5OWg== X-Gm-Message-State: AFqh2kqF4JJFatIWv5ja3Bz0GFV7i/lgsdID/tGLgnh5Jrj7/VktZkGF n1PkoKRsib0xkV1/j+dZf6Q5Fvx7NOuUXITcpNXNCFxRlCw= X-Google-Smtp-Source: AMrXdXu38+NXMZDcyQc7nmM220H6WiyncpwUeiRrknWWU+STAhI2lcq3er3RfChFf+8f+KQaWMrnBW8WjcKcXQGSE7M= X-Received: by 2002:a81:8411:0:b0:3b7:a71f:66c9 with SMTP id u17-20020a818411000000b003b7a71f66c9mr4499661ywf.295.1672408436866; Fri, 30 Dec 2022 05:53:56 -0800 (PST) Received-SPF: pass client-ip=2607:f8b0:4864:20::112a; envelope-from=aarongonzales1@gmail.com; helo=mail-yw1-x112a.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Fri, 30 Dec 2022 09:19:59 -0500 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:302106 Archived-At: --000000000000ccb8ad05f10bee66 Content-Type: multipart/alternative; boundary="000000000000ccb8a905f10bee64" --000000000000ccb8a905f10bee64 Content-Type: text/plain; charset="UTF-8" Hi all, This is my first time doing this so sorry if there are some mistakes in the process. I am also not entirely accustomed to elisp so please forgive my code and provide any feedback you may have. These new changes allow the user to select a container when connecting to a kubernetes pod. This is essential for kubernetes Tramp functionality since the first container may not always be the desired pod. Many pods contain multiple side-car containers besides the main application container. Now considering the above, the below changes are not the most desirable from my perspective. From a user perspective, there are no visual cues to display what container you selected. I wanted to avoid using ":" separator between a pod and container since that might overload the meaning of that separator. The other issue is the change to tramp-expand-args which now can expect either a lambda or string. The lambda takes in the entire tramp-file-name struct but that can be reduced to just passing the pod name for the sake of kubernetes connections. At the very least this should warrant a function rename, but I could also see a possible break off to more specific handling for kubernetes. Currently, Emacs is only accounting for connecting to pods, but jobs are still relevant when it comes to kubernetes which would require some selection. Changes can also be found at https://github.com/Aaronzinhoo/emacs/tree/feat-tramp-kubernetes-select-container if needed. --000000000000ccb8a905f10bee64 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi all,

This is my first time doi= ng this so sorry if there are some mistakes in the process. I am also not e= ntirely accustomed to elisp so please forgive my code and provide any feedb= ack you may have.=C2=A0

These new changes allow the user= to select a container when connecting to a kubernetes pod. This is essenti= al for kubernetes Tramp functionality since the first container may not alw= ays be the desired pod. Many pods contain multiple side-car containers besi= des the main application container.=C2=A0

Now considerin= g the above, the below changes are not the most desirable from my=C2=A0pers= pective. From a user=C2=A0perspective, there are no visual cues to display = what container you selected. I wanted to avoid using ":" separato= r between a pod and container since that might overload the meaning of that= separator.=C2=A0

The other issue is the change to= tramp-expand-args which now can expect either a lambda or string. The lamb= da takes in the entire tramp-file-name struct but that can be reduced to ju= st passing the pod name for the sake of kubernetes connections. At the very= least this should warrant a function rename, but I could also see a possib= le break off to more specific handling for kubernetes. Currently, Emacs is = only accounting for connecting to pods, but jobs are still relevant when it= comes to kubernetes which would require some selection.
--000000000000ccb8a905f10bee64-- --000000000000ccb8ad05f10bee66 Content-Type: application/octet-stream; name="0001-Add-ability-to-access-specific-kubernetes-pod-s-cont.patch" Content-Disposition: attachment; filename="0001-Add-ability-to-access-specific-kubernetes-pod-s-cont.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lcakj6sm0 RnJvbSBhZTEyNjk4MTU5NDFjNDMxOWVhZjY5YzNjM2QyNzMwZWY0ZTNkOGRjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBYXJvbiBHb256YWxlcyA8YWFyb256aW5ob0B1Y2xhLmVkdT4K RGF0ZTogRnJpLCAzMCBEZWMgMjAyMiAwNDoxMTo0MCAtMDgwMApTdWJqZWN0OiBbUEFUQ0hdIEFk ZCBhYmlsaXR5IHRvIGFjY2VzcyBzcGVjaWZpYyBrdWJlcm5ldGVzIHBvZCdzIGNvbnRhaW5lcgoK KiBsaXNwL25ldC90cmFtcC1jb250YWluZXIuZWwgKHRyYW1wLWt1YmVybmV0ZXMtLXBvZC1jb250 YWluZXJzKQoodHJhbXAta3ViZXJuZXRlcy0tcG9kLWNvbnRhaW5lcik6IE5ldyBmdW5jdGlvbnMu CgoqIGxpc3AvbmV0L3RyYW1wLmVsICh0cmFtcC1leHBhbmQtYXJncyk6IENhbGwgZnVuY3Rpb24g b3IgZXhwYW5kIHN0cmluZwotLS0KIGRvYy9taXNjL3RyYW1wLnRleGkgICAgICAgICB8IDEwICsr KysrKysrKysKIGV0Yy9ORVdTICAgICAgICAgICAgICAgICAgICB8ICA2ICsrKysrKwogbGlzcC9u ZXQvdHJhbXAtY29udGFpbmVyLmVsIHwgMjEgKysrKysrKysrKysrKysrKysrKysrCiBsaXNwL25l dC90cmFtcC5lbCAgICAgICAgICAgfCAgNCArKystCiA0IGZpbGVzIGNoYW5nZWQsIDQwIGluc2Vy dGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kb2MvbWlzYy90cmFtcC50ZXhp IGIvZG9jL21pc2MvdHJhbXAudGV4aQppbmRleCA4MDg3NDA0OWZhLi5iYjljZDQ4OGU2IDEwMDY0 NAotLS0gYS9kb2MvbWlzYy90cmFtcC50ZXhpCisrKyBiL2RvYy9taXNjL3RyYW1wLnRleGkKQEAg LTkyNyw2ICs5MjcsMTYgQEAgSW5saW5lIG1ldGhvZHMKIAogVGhpcyBtZXRob2QgZG9lcyBub3Qg c3VwcG9ydCB1c2VyIG5hbWVzLgogCitAaXRlbSBAb3B0aW9ue2t1YmVybmV0ZXN9CitAY2luZGV4 IG1ldGhvZCBAb3B0aW9ue2t1YmVybmV0ZXN9CitAY2luZGV4IEBvcHRpb257a3ViZXJuZXRlc30g bWV0aG9kCisKK0ludGVncmF0aW9uIGZvciBzZWxlY3RpbmcgYSBjb250YWluZXIgaW4gYSBLdWJl cm5ldGVzIHBvZHMuICBUaGUKK2NvbnRhaW5lcnMgYXJlIHJldHVybmVkIGJ5CitAc2FtcHsia3Vi ZWN0bCBnZXQgcG8gcG9kIC1vIGpzb25wYXRoPSd7LnNwZWMuY29udGFpbmVyc1sqXS5uYW1lfSci fS4KK0lmIHRoZXJlIGlzIG1vcmUgdGhhbiBvbmUgcG9kIGFuZCBlbmFibGUtcmVjdXJzaXZlLW1p bmlidWZmZXJzIGlzCitlbmFibGVkIHRoZW4gdGhlIHVzZXIgaXMgcHJvbXB0ZWQgdG8gc2VsZWN0 IGEgY29udGFpbmVyLgorCiBAZW5kIHRhYmxlCiAKIApkaWZmIC0tZ2l0IGEvZXRjL05FV1MgYi9l dGMvTkVXUwppbmRleCA1MDkzN2Y1ZTk2Li5jZjRjOTY5NThlIDEwMDY0NAotLS0gYS9ldGMvTkVX UworKysgYi9ldGMvTkVXUwpAQCAtMTE3LDYgKzExNywxMiBAQCBwb2ludCBpcyBub3QgaW4gYSBj b21tZW50IG9yIGEgc3RyaW5nLiAgSXQgaXMgYnkgZGVmYXVsdCBib3VuZCB0bwogDAogKiBMaXNw IENoYW5nZXMgaW4gRW1hY3MgMzAuMQogCisqKiBUcmFtcAorCistLS0KKyoqKiBBbGxvdyB1c2Vy IHRvIHNlbGVjdCBrdWJlcm5ldGVzIGNvbnRhaW5lciB3aGVuIGNvbm5lY3RpbmcgdG8gcG9kLgor QWxsb3cgc2VsZWN0aW9uIG9mIGEgY29udGFpbmVyIHdoZW4gY29ubmVjdGluZyB0byBrdWJlcm5l dGVzIHBvZCB2aWEgVHJhbXAuCisKICoqIE5ldyBvciBjaGFuZ2VkIGJ5dGUtY29tcGlsYXRpb24g d2FybmluZ3MKIAogLS0tCmRpZmYgLS1naXQgYS9saXNwL25ldC90cmFtcC1jb250YWluZXIuZWwg Yi9saXNwL25ldC90cmFtcC1jb250YWluZXIuZWwKaW5kZXggN2I5NDI1MzIyNi4uZjRlY2EyN2Ex ZCAxMDA2NDQKLS0tIGEvbGlzcC9uZXQvdHJhbXAtY29udGFpbmVyLmVsCisrKyBiL2xpc3AvbmV0 L3RyYW1wLWNvbnRhaW5lci5lbApAQCAtMTE2LDYgKzExNiwyNSBAQCB0cmFtcC1kb2NrZXItLWNv bXBsZXRpb24tZnVuY3Rpb24KICAgICAgICAgICAgICAgICAgICAgIGxpbmVzKSkpCiAgICAgKG1h cGNhciAobGFtYmRhIChtKSAobGlzdCBuaWwgbSkpIChkZWxxIG5pbCBuYW1lcykpKSkKIAorOzs7 IyMjdHJhbXAtYXV0b2xvYWQKKyhkZWZ1biB0cmFtcC1rdWJlcm5ldGVzLS1wb2QtY29udGFpbmVy cyAocG9kKQorICAiUmV0dXJuIGxpc3Qgb2YgY29udGFpbmVycyBpbiBLdWJlcm5ldGVzIFBvZCBQ T0QuIgorICAoc3BsaXQtc3RyaW5nIChzaGVsbC1jb21tYW5kLXRvLXN0cmluZworCQkgKGNvbmNh dCB0cmFtcC1rdWJlcm5ldGVzLXByb2dyYW0KKyAgICAgICAgICAgICAgICAgICAgICAgICAiIGdl dCBwbyAiCisgICAgICAgICAgICAgICAgICAgICAgICAgcG9kCisgICAgICAgICAgICAgICAgICAg ICAgICAgIiAtbyBqc29ucGF0aD0ney5zcGVjLmNvbnRhaW5lcnNbKl0ubmFtZX0nICIpKSkpCisK Kzs7OyMjI3RyYW1wLWF1dG9sb2FkCisoZGVmdW4gdHJhbXAta3ViZXJuZXRlcy0tcG9kLWNvbnRh aW5lciAocG9kKQorICAiR2V0IGNvbnRhaW5lciBpbiBLdWJlcm5ldGVzIFBvZCBQT0QuCisKK0lm IGBlbmFibGUtcmVjdXNyaXZlLW1pbmlidWZmZXJzJyBzZXQgdG8gbmlsIG9yIGEgcG9kIGhhcyBh IHNpbmdsZSBjb250YWluZXIgdGhlbiByZXR1cm4gZmlyc3QgY29udGFpbmVyIGluIGxpc3QgYnkg ZGVmYXVsdC4gIE90aGVyd2lzZSBhbGxvdyB0aGUgdXNlciB0byBzZWxlY3QgZnJvbSBhIGxpc3Qg b2YgY29udGFpbmVycyIKKyAgKGxldCAoKGNvbnRhaW5lcnMgKHRyYW1wLWt1YmVybmV0ZXMtLXBv ZC1jb250YWluZXJzIHBvZCkpKQorICAgIChjb25kICgobm90IGVuYWJsZS1yZWN1cnNpdmUtbWlu aWJ1ZmZlcnMpIChudGggMCBjb250YWluZXJzKSkKKyAgICAgICAgICAoKGxlbmd0aD0gY29udGFp bmVycyAxKSAobnRoIDAgY29udGFpbmVycykpCisgICAgICAgICAgKHQgKGNvbXBsZXRpbmctcmVh ZCAiU2VsZWN0IGNvbnRhaW5lcjogIiBjb250YWluZXJzICBuaWwgdCkpKSkpCisKIDs7OyMjI3Ry YW1wLWF1dG9sb2FkCiAoZGVmdW4gdHJhbXAta3ViZXJuZXRlcy0tY29tcGxldGlvbi1mdW5jdGlv biAoJnJlc3QgX2FyZ3MpCiAgICJMaXN0IEt1YmVybmV0ZXMgcG9kcyBhdmFpbGFibGUgZm9yIGNv bm5lY3Rpb24uCkBAIC0xODUsNiArMjA0LDggQEAgdHJhbXAtZGVmYXVsdC1yZW1vdGUtc2hlbGwK ICAgICAgICAgICAgICAgICAodHJhbXAtbG9naW4tYXJncyAoKCJleGVjIikKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKCIlaCIpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICgiLWl0IikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCIt YyIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsYW1iZGEgKHZlYykgKHRy YW1wLWt1YmVybmV0ZXMtLXBvZC1jb250YWluZXIgKHRyYW1wLWZpbGUtbmFtZS1ob3N0IHZlYykp KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoIi0tIikKIAkJCSAgICAgICAg ICAgKCIlbCIpKSkKIAkJKHRyYW1wLWNvbmZpZy1jaGVjayB0cmFtcC1rdWJlcm5ldGVzLS1jdXJy ZW50LWNvbnRleHQtZGF0YSkKZGlmZiAtLWdpdCBhL2xpc3AvbmV0L3RyYW1wLmVsIGIvbGlzcC9u ZXQvdHJhbXAuZWwKaW5kZXggYWNiZDUwZGMwZi4uOTJhNTk2MTIyMSAxMDA2NDQKLS0tIGEvbGlz cC9uZXQvdHJhbXAuZWwKKysrIGIvbGlzcC9uZXQvdHJhbXAuZWwKQEAgLTQ3MjksNyArNDcyOSw3 IEBAIHRyYW1wLWNvbXB1dGUtbXVsdGktaG9wcwogKGRlZnVuIHRyYW1wLWV4cGFuZC1hcmdzICh2 ZWMgcGFyYW1ldGVyICZyZXN0IHNwZWMtbGlzdCkKICAgIkV4cGFuZCBsb2dpbiBhcmd1bWVudHMg YXMgZ2l2ZW4gYnkgUEFSQU1FVEVSIGluIGB0cmFtcC1tZXRob2RzJy4KIFBBUkFNRVRFUiBpcyBh IHN5bWJvbCBsaWtlIGB0cmFtcC1sb2dpbi1hcmdzJywgZGVub3RpbmcgYSBsaXN0IG9mCi1saXN0 IG9mIHN0cmluZ3MgZnJvbSBgdHJhbXAtbWV0aG9kcycsIGNvbnRhaW5pbmcgJS1zZXF1ZW5jZXMg Zm9yCitsaXN0IG9mIHN0cmluZ3Mgb3IgbGFtYmRhcyB0aGF0IGV4cGVjdCBgdHJhbXAtZmlsZS1u YW1lJyB0eXBlIHBhcmFtZXRlciBmcm9tIGB0cmFtcC1tZXRob2RzJywgY29udGFpbmluZyAlLXNl cXVlbmNlcyBmb3IKIHN1YnN0aXR1dGlvbi4gIFNQRUMtTElTVCBpcyBhIGxpc3Qgb2YgY2hhci92 YWx1ZSBwYWlycyB1c2VkIGZvcgogYGZvcm1hdC1zcGVjLW1ha2UnLiIKICAgKGxldCAoKGFyZ3Mg KHRyYW1wLWdldC1tZXRob2QtcGFyYW1ldGVyIHZlYyBwYXJhbWV0ZXIpKQpAQCAtNDczOCw2ICs0 NzM4LDggQEAgdHJhbXAtZXhwYW5kLWFyZ3MKICAgICAodHJhbXAtY29tcGF0LWZsYXR0ZW4tdHJl ZQogICAgICAobWFwY2FyCiAgICAgICAobGFtYmRhICh4KQorICAgICAgICAoY29uZCAoKGZ1bmN0 aW9ucCB4KSAoc2V0cSB4IChsaXN0IChmdW5jYWxsIHggdmVjKSkpKQorICAgICAgICAgICAgICAo dCAoc2V0cSB4IChtYXBjYXIgKGxhbWJkYSAoeSkgKGZvcm1hdC1zcGVjIHkgc3BlYykpIHgpKSkp CiAJKHNldHEgeCAobWFwY2FyIChsYW1iZGEgKHkpIChmb3JtYXQtc3BlYyB5IHNwZWMpKSB4KSkK IAkodW5sZXNzIChtZW1iZXIgIiIgeCkgeCkpCiAgICAgICBhcmdzKSkpKQotLSAKMi4zOS4wCgo= --000000000000ccb8ad05f10bee66--