Transcript (unedited)

[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-secrets" id="subtitle"]]
[[!template text="""Yeah, my talk is committing""" start="00:00:00.000" video="mainVideo-secrets" id="subtitle"]] [[!template text="""secrets with Git via SOPS mode. So what is SOPS? SOPS""" start="00:00:01.350" video="mainVideo-secrets" id="subtitle"]] [[!template text="""came originally from Mozilla, and their acronym was Secret""" start="00:00:10.190" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Operations, so S-O-P-S. It's a utility that allows you to""" start="00:00:15.070" video="mainVideo-secrets" id="subtitle"]] [[!template text="""encrypt pretty much any file you want and then have the""" start="00:00:19.670" video="mainVideo-secrets" id="subtitle"]] [[!template text="""ability to commit it or just share it with somebody that has""" start="00:00:24.270" video="mainVideo-secrets" id="subtitle"]] [[!template text="""the ability to decrypt it. I've mostly used it with AWS KMS,""" start="00:00:27.870" video="mainVideo-secrets" id="subtitle"]] [[!template text="""but there's a number of encryptions, ways you can encrypt""" start="00:00:32.710" video="mainVideo-secrets" id="subtitle"]] [[!template text="""it. Um, so yeah, that's what SOPS mode is. Most of the""" start="00:00:36.830" video="mainVideo-secrets" id="subtitle"]] [[!template text="""time I've used it is with application or deployment""" start="00:00:41.910" video="mainVideo-secrets" id="subtitle"]] [[!template text="""secrets--decrypt them on the fly during a""" start="00:00:45.710" video="mainVideo-secrets" id="subtitle"]] [[!template text="""pipeline run and then use them. We've also""" start="00:00:48.270" video="mainVideo-secrets" id="subtitle"]] [[!template text="""been using it for kind of a self-service for engineers""" start="00:00:52.110" video="mainVideo-secrets" id="subtitle"]] [[!template text="""to be able to say, if there's an API token that they""" start="00:00:56.550" video="mainVideo-secrets" id="subtitle"]] [[!template text="""need either in the container or that gets put""" start="00:00:59.630" video="mainVideo-secrets" id="subtitle"]] [[!template text="""somewhere else, that's another way to use SOPS.""" start="00:01:03.430" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Just sharing secrets. The tooling, there's""" start="00:01:09.110" video="mainVideo-secrets" id="subtitle"]] [[!template text="""quite a bit of tooling for Terraform.""" start="00:01:13.950" video="mainVideo-secrets" id="subtitle"]] [[!template text="""You can just decrypt it and then use it""" start="00:01:16.815" video="mainVideo-secrets" id="subtitle"]] [[!template text="""however you want. Ansible, it's another""" start="00:01:19.091" video="mainVideo-secrets" id="subtitle"]] [[!template text="""place, and then Kubernetes...""" start="00:01:21.310" video="mainVideo-secrets" id="subtitle"]] [[!template text="""There'll be links at the very end.""" start="00:01:23.649" video="mainVideo-secrets" id="subtitle"]] [[!template text="""There's actually a Nix SOPS too.""" start="00:01:26.125" video="mainVideo-secrets" id="subtitle"]] [[!template text="""I think there's a link in the end.""" start="00:01:28.983" video="mainVideo-secrets" id="subtitle"]] [[!template text="""So yeah, I'll just show a quick demo.""" start="00:01:30.238" video="mainVideo-secrets" id="subtitle"]] [[!template text="""I'll actually show it in Emacs too,""" start="00:01:32.831" video="mainVideo-secrets" id="subtitle"]] [[!template text="""but this is the idea.""" start="00:01:35.287" video="mainVideo-secrets" id="subtitle"]] [[!template text="""I'm just going to create a file""" start="00:01:36.984" video="mainVideo-secrets" id="subtitle"]] [[!template text="""and then I'm going to encrypt it with age.""" start="00:01:39.451" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Then we should see the encrypted file""" start="00:01:42.052" video="mainVideo-secrets" id="subtitle"]] [[!template text="""be output here. The idea is you can decrypt it""" start="00:01:46.875" video="mainVideo-secrets" id="subtitle"]] [[!template text="""there. So my talk was... the reason how my""" start="00:01:53.190" video="mainVideo-secrets" id="subtitle"]] [[!template text="""talk came about was there was no mode like this yet.""" start="00:01:59.350" video="mainVideo-secrets" id="subtitle"]] [[!template text="""So I didn't want to have to...""" start="00:02:04.430" video="mainVideo-secrets" id="subtitle"]] [[!template text="""What you can do is you can pass""" start="00:02:08.830" video="mainVideo-secrets" id="subtitle"]] [[!template text="""in the editor variable, set your Emacs,""" start="00:02:10.270" video="mainVideo-secrets" id="subtitle"]] [[!template text="""then call the command, but that opens""" start="00:02:13.030" video="mainVideo-secrets" id="subtitle"]] [[!template text="""a whole new window. I wanted to live in my""" start="00:02:16.442" video="mainVideo-secrets" id="subtitle"]] [[!template text="""current Emacs. So this is that""" start="00:02:20.590" video="mainVideo-secrets" id="subtitle"]] [[!template text="""same encrypted file that we just created.""" start="00:02:22.995" video="mainVideo-secrets" id="subtitle"]] [[!template text="""I'm going to quickly do C-c C-d.""" start="00:02:25.556" video="mainVideo-secrets" id="subtitle"]] [[!template text="""So now we're in the SOPS decrypted mode of the""" start="00:02:28.567" video="mainVideo-secrets" id="subtitle"]] [[!template text="""file. I can save this, or make changes and save it.""" start="00:02:32.310" video="mainVideo-secrets" id="subtitle"]] [[!template text="""And then it resaves it.""" start="00:02:38.058" video="mainVideo-secrets" id="subtitle"]] [[!template text="""I'll just show you that decrypting it""" start="00:02:39.964" video="mainVideo-secrets" id="subtitle"]] [[!template text="""shows what we changed.""" start="00:02:42.919" video="mainVideo-secrets" id="subtitle"]] [[!template text="""I think that's most of my talk.""" start="00:02:44.630" video="mainVideo-secrets" id="subtitle"]] [[!template text="""There's future stuff that I would like to do""" start="00:02:52.832" video="mainVideo-secrets" id="subtitle"]] [[!template text="""with this. There's no way to create SOPS files""" start="00:02:55.883" video="mainVideo-secrets" id="subtitle"]] [[!template text="""from scratch. And then just putting more""" start="00:03:00.448" video="mainVideo-secrets" id="subtitle"]] [[!template text="""documentation around the other ways you can""" start="00:03:03.192" video="mainVideo-secrets" id="subtitle"]] [[!template text="""set up your editor to decrypt. But yeah,""" start="00:03:06.070" video="mainVideo-secrets" id="subtitle"]] [[!template text="""here's all the links. I haven't uploaded""" start="00:03:14.030" video="mainVideo-secrets" id="subtitle"]] [[!template text="""this yet, but yeah, that is my talk.""" start="00:03:19.110" video="mainVideo-secrets" id="subtitle"]]
[[!template new="1" text="""Q&A technical issues""" start="00:03:23.310" video="mainVideo-secrets" id="subtitle"]]
[[!template text="""[Leo] Okay. Thank you, Jonathan.""" start="00:03:23.310" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Let me just make sure. So everything you've mentioned""" start="00:03:27.771" video="mainVideo-secrets" id="subtitle"]] [[!template text="""about putting stuff available to everyone,""" start="00:03:32.693" video="mainVideo-secrets" id="subtitle"]] [[!template text="""we'll make sure that everything""" start="00:03:34.888" video="mainVideo-secrets" id="subtitle"]] [[!template text="""ends up on the pad and on the website,""" start="00:03:36.470" video="mainVideo-secrets" id="subtitle"]] [[!template text="""so don't worry. Let me see if we can get up""" start="00:03:38.514" video="mainVideo-secrets" id="subtitle"]] [[!template text="""the pad for you.""" start="00:03:40.851" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Do you have any preference with regards""" start="00:03:41.754" video="mainVideo-secrets" id="subtitle"]] [[!template text="""to the questions? Do you want to read them yourself""" start="00:03:43.285" video="mainVideo-secrets" id="subtitle"]] [[!template text="""or do you want one of us to read them for you?""" start="00:03:45.468" video="mainVideo-secrets" id="subtitle"]] [[!template text="""[Jonathan]: I'm okay with talking first,""" start="00:03:50.122" video="mainVideo-secrets" id="subtitle"]] [[!template text="""saying it out loud if there are some.""" start="00:03:53.390" video="mainVideo-secrets" id="subtitle"]] [[!template text="""[Leo]: Sure. Let me just find you the pads.""" start="00:03:57.462" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Where is it? There you go.""" start="00:04:00.750" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Do you have access to the pad on your end?""" start="00:04:02.758" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Yep.""" start="00:04:05.410" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Okay. Well, if you, since you're already showing""" start="00:04:06.154" video="mainVideo-secrets" id="subtitle"]] [[!template text="""your screen, if you can maybe switch the window to the one""" start="00:04:09.550" video="mainVideo-secrets" id="subtitle"]] [[!template text="""that is hosting the pad""" start="00:04:12.390" video="mainVideo-secrets" id="subtitle"]] [[!template text="""and feel free to start answering questions.""" start="00:04:13.436" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Yep.""" start="00:04:15.815" video="mainVideo-secrets" id="subtitle"]] [[!template text="""It didn't look like we have any yet, but...""" start="00:04:16.263" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Well, there's still coming, don't worry.""" start="00:04:20.110" video="mainVideo-secrets" id="subtitle"]] [[!template text="""We're just waiting for people to catch up.""" start="00:04:21.943" video="mainVideo-secrets" id="subtitle"]] [[!template text="""I probably need to make it bigger.""" start="00:04:29.150" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Is it big enough or do I need to make it bigger?""" start="00:04:31.534" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Right now, it's just a black screen on my end, so...""" start="00:04:34.461" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Oh, wow. Weird. I can see it on mine, weirdly.""" start="00:04:40.248" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Maybe it's just me. Let me check here.""" start="00:04:45.270" video="mainVideo-secrets" id="subtitle"]] [[!template text="""No, it seems to be just a""" start="00:04:47.537" video="mainVideo-secrets" id="subtitle"]] [[!template text="""black square, even on the stream.""" start="00:04:48.990" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Try it again. That change at all? No, it's still black.""" start="00:04:50.070" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Can you maybe start switching window""" start="00:05:00.928" video="mainVideo-secrets" id="subtitle"]] [[!template text="""and coming back to the one?""" start="00:05:02.744" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Otherwise, I'll just stream it on my end.""" start="00:05:04.070" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Yeah. All right, I'll do it. I'll take presenter in just a""" start="00:05:08.870" video="mainVideo-secrets" id="subtitle"]] [[!template text="""second. Yeah, sorry about that. Thank you.""" start="00:05:13.630" video="mainVideo-secrets" id="subtitle"]] [[!template text="""If I can take presenter, and I will share the screen.""" start="00:05:22.230" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Sorry, I'm just trying to find a chat. There we go.""" start="00:05:27.070" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Normally, I'm not supposed to be on the dev track, which is""" start="00:05:36.750" video="mainVideo-secrets" id="subtitle"]] [[!template text="""why I'm confusing all my windows. Give me just a second.""" start="00:05:39.510" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Shell, casual. So we are on the dev track, and it is this""" start="00:05:42.310" video="mainVideo-secrets" id="subtitle"]] [[!template text="""one.""" start="00:05:53.710" video="mainVideo-secrets" id="subtitle"]] [[!template text="""There we go. No, that's not a guide, damn it. Secrets.""" start="00:05:54.190" video="mainVideo-secrets" id="subtitle"]] [[!template text="""And...""" start="00:06:08.230" video="mainVideo-secrets" id="subtitle"]] [[!template text="""There we go, finally.""" start="00:06:10.110" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Ah. Probably just for the delay, do some jazz hands in the""" start="00:06:15.510" video="mainVideo-secrets" id="subtitle"]] [[!template text="""background as we did in the start.""" start="00:06:19.110" video="mainVideo-secrets" id="subtitle"]] [[!template text="""It feels like Yordle[??] Castle this year,""" start="00:06:20.890" video="mainVideo-secrets" id="subtitle"]] [[!template text="""where nothing works properly.""" start="00:06:23.601" video="mainVideo-secrets" id="subtitle"]] [[!template text="""That's right.""" start="00:06:25.463" video="mainVideo-secrets" id="subtitle"]] [[!template text="""All right. There we go. It's loading up. Obviously.""" start="00:06:26.270" video="mainVideo-secrets" id="subtitle"]] [[!template text="""There we go.""" start="00:06:39.150" video="mainVideo-secrets" id="subtitle"]] [[!template text="""All right. You should be able to see my screen now. Yep. All""" start="00:06:44.190" video="mainVideo-secrets" id="subtitle"]] [[!template text="""right. So, well, we've gone so far. Oh, it did stop. Damn it.""" start="00:06:49.190" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Sorry, now it's BBB not behaving properly. That's right.""" start="00:06:53.790" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Okay, let me just join, leave and join again. Okay. I just did""" start="00:07:02.990" video="mainVideo-secrets" id="subtitle"]] [[!template text="""exactly that for what it's worth.""" start="00:07:10.310" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Nothing. All right.""" start="00:07:11.910" video="mainVideo-secrets" id="subtitle"]] [[!template text="""All right, I seem to be back. Let me show. And there we go.""" start="00:07:26.190" video="mainVideo-secrets" id="subtitle"]] [[!template text="""All right, everything is working. I'm not touching""" start="00:07:29.030" video="mainVideo-secrets" id="subtitle"]] [[!template text="""anything. So. Cool.""" start="00:07:36.910" video="mainVideo-secrets" id="subtitle"]]
[[!template new="1" text="""Q: Can you describe some potential interactive uses for this within Emacs?""" start="00:07:39.188" video="mainVideo-secrets" id="subtitle"]]
[[!template text="""Yeah, I'll just start with the top. Can""" start="00:07:39.188" video="mainVideo-secrets" id="subtitle"]] [[!template text="""you describe some potential interactive uses for this with""" start="00:07:43.630" video="mainVideo-secrets" id="subtitle"]] [[!template text="""an Emacs? Um, I'm, I'm not actually sure what this means.""" start="00:07:47.350" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Could we, could you add some more context maybe? Or, um,""" start="00:07:52.790" video="mainVideo-secrets" id="subtitle"]] [[!template text="""I think we'll maybe come back to that one. I'm not sure what,""" start="00:08:01.030" video="mainVideo-secrets" id="subtitle"]] [[!template text="""uh, potential interactive uses mean, but.""" start="00:08:03.550" video="mainVideo-secrets" id="subtitle"]]
[[!template new="1" text="""Q: Is this saved in the repo or file as \"run sops here\" or is the encrypted blob in the git repo?""" start="00:08:08.532" video="mainVideo-secrets" id="subtitle"]]
[[!template text="""Yep. Uh, is this""" start="00:08:08.532" video="mainVideo-secrets" id="subtitle"]] [[!template text="""saved in the repo or file as run SOPs here? Oh, encrypted.""" start="00:08:10.430" video="mainVideo-secrets" id="subtitle"]] [[!template text="""They're saved as just text files so that you can do""" start="00:08:18.750" video="mainVideo-secrets" id="subtitle"]] [[!template text="""SOPs and encrypt like a binary. I think in the end,""" start="00:08:24.830" video="mainVideo-secrets" id="subtitle"]] [[!template text="""no matter what, they become just a text file,""" start="00:08:28.104" video="mainVideo-secrets" id="subtitle"]] [[!template text="""and then it does the encoding and decoding on the fly""" start="00:08:30.820" video="mainVideo-secrets" id="subtitle"]] [[!template text="""when you encrypt or decrypt. So no matter""" start="00:08:34.521" video="mainVideo-secrets" id="subtitle"]] [[!template text="""what it's going to be, I think it might just be""" start="00:08:36.754" video="mainVideo-secrets" id="subtitle"]] [[!template text="""a JSON in the end. Uh, so yeah.""" start="00:08:41.985" video="mainVideo-secrets" id="subtitle"]] [[!template text="""I'll try to, well, I can type out that answer, but all""" start="00:08:44.990" video="mainVideo-secrets" id="subtitle"]] [[!template text="""right.""" start="00:08:56.310" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Don't worry about typing it out.""" start="00:08:56.856" video="mainVideo-secrets" id="subtitle"]] [[!template text="""We are gathering the""" start="00:08:59.430" video="mainVideo-secrets" id="subtitle"]] [[!template text="""recordings at the end, you know, even answers that are not""" start="00:09:00.990" video="mainVideo-secrets" id="subtitle"]] [[!template text="""provided, we'll type them out eventually.""" start="00:09:04.070" video="mainVideo-secrets" id="subtitle"]] [[!template text="""So don't stress too much about the actual answers being written.""" start="00:09:05.783" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Okay. All right. So I'll go to the third one.""" start="00:09:09.030" video="mainVideo-secrets" id="subtitle"]]
[[!template new="1" text="""Q: How do you decide whether to use SOPS or other solutions such as pass-cli?""" start="00:09:12.067" video="mainVideo-secrets" id="subtitle"]]
[[!template text="""How do you decide""" start="00:09:12.067" video="mainVideo-secrets" id="subtitle"]] [[!template text="""whether to use SOPS or other solutions such as pass-cli?""" start="00:09:13.190" video="mainVideo-secrets" id="subtitle"]] [[!template text="""The biggest use case that I've been using it recently is,""" start="00:09:18.950" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Bitbucket has a way to... In a repository,""" start="00:09:24.470" video="mainVideo-secrets" id="subtitle"]] [[!template text="""you can store non-secrets and secrets. So""" start="00:09:29.110" video="mainVideo-secrets" id="subtitle"]] [[!template text="""we're trying to move the secrets into the repository""" start="00:09:35.830" video="mainVideo-secrets" id="subtitle"]] [[!template text="""and then allow the engineers to have""" start="00:09:39.550" video="mainVideo-secrets" id="subtitle"]] [[!template text="""access to that.""" start="00:09:43.110" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Bitbucket variables is a black box. Since the devs can""" start="00:09:48.790" video="mainVideo-secrets" id="subtitle"]] [[!template text="""access it, it's manual work for everybody""" start="00:09:52.390" video="mainVideo-secrets" id="subtitle"]] [[!template text="""that has to deal with it. Since we're moving""" start="00:09:56.842" video="mainVideo-secrets" id="subtitle"]] [[!template text="""SOPS-encrypted files into the repo,""" start="00:10:00.870" video="mainVideo-secrets" id="subtitle"]] [[!template text="""now there's that trackability""" start="00:10:04.340" video="mainVideo-secrets" id="subtitle"]] [[!template text="""from who made the change and what it changed from,""" start="00:10:06.831" video="mainVideo-secrets" id="subtitle"]] [[!template text="""what did it go to, and just things like that.""" start="00:10:10.943" video="mainVideo-secrets" id="subtitle"]] [[!template text="""You can use it anytime you'd want to commit them.""" start="00:10:16.590" video="mainVideo-secrets" id="subtitle"]]
[[!template new="1" text="""Q: One limitation with guix (similar package manager to nix) is there is no great way of storing secrets in the store, would SOPS be useful for this?""" start="00:10:23.630" video="mainVideo-secrets" id="subtitle"]]
[[!template text="""One limitation with GUIX is there's no great way to store""" start="00:10:23.630" video="mainVideo-secrets" id="subtitle"]] [[!template text="""secrets in the store. Yeah, I think, sorry... Let me. One""" start="00:10:32.030" video="mainVideo-secrets" id="subtitle"]] [[!template text="""limitation of GUIX is there's no way to store secrets in the""" start="00:10:36.870" video="mainVideo-secrets" id="subtitle"]] [[!template text="""store. Would SOPS be useful for this?""" start="00:10:40.190" video="mainVideo-secrets" id="subtitle"]] [[!template text="""I think so, but I don't know how""" start="00:10:42.109" video="mainVideo-secrets" id="subtitle"]] [[!template text="""that package manager works, if it's just like""" start="00:10:44.830" video="mainVideo-secrets" id="subtitle"]] [[!template text="""some sort of "you decrypt and then you run the package""" start="00:10:48.870" video="mainVideo-secrets" id="subtitle"]] [[!template text="""manager," then yeah, that's a lot of our workflows.""" start="00:10:52.990" video="mainVideo-secrets" id="subtitle"]] [[!template text="""If we're doing a deployment and the container""" start="00:10:56.110" video="mainVideo-secrets" id="subtitle"]] [[!template text="""needs it, we'll decrypt, put that in""" start="00:10:58.990" video="mainVideo-secrets" id="subtitle"]] [[!template text="""whatever place, or source it if it's an""" start="00:11:01.630" video="mainVideo-secrets" id="subtitle"]] [[!template text="""environment file for the container, and then""" start="00:11:03.830" video="mainVideo-secrets" id="subtitle"]] [[!template text="""pass it in. I think it'd be a great choice there.""" start="00:11:06.630" video="mainVideo-secrets" id="subtitle"]]
[[!template new="1" text="""Q: Wacky question: what happens in sops-mode if you encrypt the already encrypted file as if it was plaintext?""" start="00:11:11.983" video="mainVideo-secrets" id="subtitle"]]
[[!template text="""A wacky question. What happens in sops mode if you""" start="00:11:11.983" video="mainVideo-secrets" id="subtitle"]] [[!template text="""encrypt an already encrypted file as if it was plain text?""" start="00:11:17.070" video="mainVideo-secrets" id="subtitle"]] [[!template text="""You know, I might have actually accidentally did that""" start="00:11:21.710" video="mainVideo-secrets" id="subtitle"]] [[!template text="""today. I didn't actually see the resulting file. But that's""" start="00:11:24.950" video="mainVideo-secrets" id="subtitle"]] [[!template text="""a great question.""" start="00:11:29.710" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Well, it's technically still binary, isn't it, at the end?""" start="00:11:31.710" video="mainVideo-secrets" id="subtitle"]] [[!template text="""You've got binary stuff that is being encrypted""" start="00:11:38.190" video="mainVideo-secrets" id="subtitle"]] [[!template text="""again. It's just double encryption.""" start="00:11:40.390" video="mainVideo-secrets" id="subtitle"]] [[!template text="""I'm pretty sure it works.""" start="00:11:42.950" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Yeah, probably. I'm going to go back up to the""" start="00:11:44.843" video="mainVideo-secrets" id="subtitle"]] [[!template text="""top one.""" start="00:11:48.870" video="mainVideo-secrets" id="subtitle"]]
[[!template new="1" text="""Q: can you describe some potential interactive uses for this within Emacs""" start="00:11:49.439" video="mainVideo-secrets" id="subtitle"]]
[[!template text="""Can you describe some potential interactive uses""" start="00:11:49.439" video="mainVideo-secrets" id="subtitle"]] [[!template text="""for this within Emacs? Is there some other activity that""" start="00:11:52.470" video="mainVideo-secrets" id="subtitle"]] [[!template text="""would enable or it would be enabled with SOPS decryption""" start="00:11:57.350" video="mainVideo-secrets" id="subtitle"]] [[!template text="""first, like an IT configuration task.""" start="00:12:01.910" video="mainVideo-secrets" id="subtitle"]] [[!template text="""So in the README right now,""" start="00:12:12.530" video="mainVideo-secrets" id="subtitle"]] [[!template text="""there is a block and it's called SOPS setup""" start="00:12:18.510" video="mainVideo-secrets" id="subtitle"]] [[!template text="""environment. I think it's a hook. Don't quote me.""" start="00:12:22.630" video="mainVideo-secrets" id="subtitle"]] [[!template text="""I haven't touched it in a while.""" start="00:12:27.688" video="mainVideo-secrets" id="subtitle"]] [[!template text="""I think that hook runs prior to""" start="00:12:29.597" video="mainVideo-secrets" id="subtitle"]] [[!template text="""doing any sort of decryption or encryption.""" start="00:12:32.052" video="mainVideo-secrets" id="subtitle"]] [[!template text="""So there's an example in the README for ways""" start="00:12:35.350" video="mainVideo-secrets" id="subtitle"]] [[!template text="""that you can set up your SOPS mode for AWS.""" start="00:12:40.655" video="mainVideo-secrets" id="subtitle"]] [[!template text="""You can set the profile. It was actually""" start="00:12:44.670" video="mainVideo-secrets" id="subtitle"]] [[!template text="""a pretty fun thing to add because with that bit of code,""" start="00:12:51.137" video="mainVideo-secrets" id="subtitle"]] [[!template text="""I can pretty much go to any one of our repos""" start="00:12:58.830" video="mainVideo-secrets" id="subtitle"]] [[!template text="""and decrypt and encrypt on the fly and""" start="00:13:01.200" video="mainVideo-secrets" id="subtitle"]] [[!template text="""not have to do much fanfare of like,""" start="00:13:04.086" video="mainVideo-secrets" id="subtitle"]] [[!template text="""well, what account or what profile""" start="00:13:06.750" video="mainVideo-secrets" id="subtitle"]] [[!template text="""do I need to switch to? I haven't looked at""" start="00:13:09.270" video="mainVideo-secrets" id="subtitle"]] [[!template text="""GCP yet or Azure, and that's kind of one of""" start="00:13:12.325" video="mainVideo-secrets" id="subtitle"]] [[!template text="""my future things. I need to maybe look into those""" start="00:13:15.310" video="mainVideo-secrets" id="subtitle"]] [[!template text="""to see what they look like""" start="00:13:19.080" video="mainVideo-secrets" id="subtitle"]] [[!template text="""and give example configs to help users.""" start="00:13:21.056" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Hopefully that answered your question.""" start="00:13:23.910" video="mainVideo-secrets" id="subtitle"]] [[!template text="""I think so.""" start="00:13:28.994" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Continuing the theme of this, both of you being cursed,""" start="00:13:30.950" video="mainVideo-secrets" id="subtitle"]] [[!template text="""my X11 decided to crash.""" start="00:13:34.850" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Nothing is going well with this one.""" start="00:13:36.948" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Have you answered all the questions? I think so.""" start="00:13:40.202" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Well, do you have anything else to add, perhaps?""" start="00:13:44.510" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Maybe something that wasn't enough""" start="00:13:46.439" video="mainVideo-secrets" id="subtitle"]] [[!template text="""to fit in your live presentation?""" start="00:13:48.328" video="mainVideo-secrets" id="subtitle"]] [[!template text="""No, I'm excited to see the other talks and I hope everybody""" start="00:13:50.110" video="mainVideo-secrets" id="subtitle"]] [[!template text="""has fun too.""" start="00:13:56.670" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Yeah, if you have any other questions, just email me.""" start="00:13:57.812" video="mainVideo-secrets" id="subtitle"]] [[!template text="""That's all.""" start="00:14:03.304" video="mainVideo-secrets" id="subtitle"]] [[!template text="""I got nothing.""" start="00:14:05.211" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Okay, cool.""" start="00:14:07.595" video="mainVideo-secrets" id="subtitle"]] [[!template text="""[Leo]: Well, thank you so much, Jonathan, for your""" start="00:14:08.223" video="mainVideo-secrets" id="subtitle"]] [[!template text="""presentation. It was, sorry for all the technical""" start="00:14:10.470" video="mainVideo-secrets" id="subtitle"]] [[!template text="""problems, we tried our best,""" start="00:14:12.790" video="mainVideo-secrets" id="subtitle"]] [[!template text="""but I think we still managed to have""" start="00:14:14.163" video="mainVideo-secrets" id="subtitle"]] [[!template text="""a live presentation, and we managed to have some""" start="00:14:15.533" video="mainVideo-secrets" id="subtitle"]] [[!template text="""questions from the crowd. So, as far as I'm concerned,""" start="00:14:17.310" video="mainVideo-secrets" id="subtitle"]] [[!template text="""I think we did a good job.""" start="00:14:20.138" video="mainVideo-secrets" id="subtitle"]] [[!template text="""[Jonathan]: Yeah, you stomped it in this whole dev track,""" start="00:14:21.838" video="mainVideo-secrets" id="subtitle"]] [[!template text="""I just have to say. It's been a privilege to jump in""" start="00:14:24.895" video="mainVideo-secrets" id="subtitle"]] [[!template text="""with it here and there and to just listen to the great""" start="00:14:28.350" video="mainVideo-secrets" id="subtitle"]] [[!template text="""conversations.""" start="00:14:31.070" video="mainVideo-secrets" id="subtitle"]] [[!template text="""[Leo]: I think next up we have Emacs and McCLIM,""" start="00:14:33.181" video="mainVideo-secrets" id="subtitle"]] [[!template text="""which is going to be a similar format to this talk.""" start="00:14:38.950" video="mainVideo-secrets" id="subtitle"]] [[!template text="""We'll probably jump right into that in just about two minutes.""" start="00:14:41.905" video="mainVideo-secrets" id="subtitle"]] [[!template text="""We'll give you another countdown here. One second.""" start="00:14:44.710" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Well, we arranged that and meanwhile,""" start="00:14:47.822" video="mainVideo-secrets" id="subtitle"]] [[!template text="""I just want to take my own""" start="00:14:49.917" video="mainVideo-secrets" id="subtitle"]] [[!template text="""little humble opportunity to thank you Jonathan, and I""" start="00:14:51.350" video="mainVideo-secrets" id="subtitle"]] [[!template text="""guess everybody else.""" start="00:14:55.310" video="mainVideo-secrets" id="subtitle"]]
Questions or comments? Please e-mail [pitas.axioms0c@icloud.com](mailto:pitas.axioms0c@icloud.com?subject=Comment%20for%20EmacsConf%202023%20secrets%3A%20Committing%20secrets%20with%20git%20using%20sops-mode)