Li Yang
Li Yang
  • Видео 43
  • Просмотров 179 644
How to use Nix to set up and share development environment
Nix is more than just a package manage, it is also a great tool to share the dependencies of your development environment with others. I use it on a daily basis to declare whatever tool I need for different projects. For example, I never install hugo or hexo cli on my machine, I use nix to prepare those CLI for my blogs.
You can find my blog at /tech.aufomm.com
and the Git Repository at github.com/liyangau/flake-templates
🚨 Don't forget to like and subscribe to stay updated on more content.
00:00 Start
01:18 Template Shell
03:30 Template NUR
05:40 Template Python
07:44 Template local
08:45 nix-init
11:03 nix build
12:07 nix-direnv
Просмотров: 838

Видео

How to use FluxCD to manage Kubernetes cluster declaratively
Просмотров 2776 месяцев назад
In this tutorial, we'll dive into the powerful world of Kubernetes cluster management using FluxCD. FluxCD allows us to declaratively manage our Kubernetes applications, providing a streamlined and efficient way to automate deployments and keep our clusters in sync. I use FluxCD to *Backup*: All applications and their configs are stored securely on GithHub repository. In the case I need to rebu...
Use MetalLB to provision External IP for LoadBalancer service on Kind Kubernetes cluster
Просмотров 2,5 тыс.7 месяцев назад
When we are testing Kubernetes LoadBalancer service on local cluster, the external ip is always pending. In today's video I will show you how you can use MetalLB to provision an external IP address on Kind cluster on both Linux and MacOS. If you have any questions, please leave your comment down below. 00:00 Start 00:26 Create Kind Cluster 01:13 Revisit Kubernetes Service ClusterIP 03:10 NodePo...
How to use Nix on Ubuntu or any Linux Distro
Просмотров 5 тыс.Год назад
In my previous vidoes I've talked about how to use NixOS. Although NixOS is a great Linux Distro, you might not determine to make the switch yet. Is it possible to get a taste of doing things the Nix way on other OS? The answer is YES. In the video I will walk you through how you can use Nix on Ubuntu. The same method can be used on any Linux platform or even macOS regardless if it is x86 or AR...
NixOS Introduction - Nix Flakes
Просмотров 9 тыс.Год назад
Continue with the NixOS series, in this video I will show you how to use nix flakes in NixOS. Use Home manager as NixOS module or Standalone mode. Once you know how to use flake, you can start building your configs and put them on Git repository. I hope these three video help you to start using Nix. Blog address: tech.aufomm.com/
NixOS Introduction - Home manager
Просмотров 13 тыс.Год назад
Continue our journey with NixOS. In today's video I will show you how to use Home manager as NixOS module or in standalone mode. Blog address: tech.aufomm.com/
NixOS Intro - Installation and basic usage
Просмотров 20 тыс.Год назад
Nix is a very different yet powerful package manager. I struggled a lot when I first started and I hope my videos can help you use Nix more easily. My goal is to teach you what resources are available to you, this should be very useful especially when you are stuck. In today's video, I will show you how to install and use NixOS. I will do two more, one for home manager and one for nix flakes . ...
How to use Ngrok with docker, multiple tunnels, ssh to local VMs
Просмотров 8 тыс.Год назад
In my previous video (ruclips.net/video/3xJOq5b0P4Q/видео.html) I've shown you how to use cloudflare tunnel to expose local service to the internet via docker. If you do not have your own domain, you can use cloudflare tunnel and you can use Ngrok instead. In today's video, I will walk you through some basics of using Ngrok with docker. You can find related blog post on tech.aufomm.com
How to use cert manager to create and manage TLS certificates on kubernetes
Просмотров 12 тыс.Год назад
In this video, I will show you how to use cert manager to create TLS certificate on a local cluster and a cloud cluster. You can find my blog at tech.aufomm.com/
Introduction to Openid Connect flows with Okta
Просмотров 373Год назад
In my previous videos I've talked to you about two OIDC provider Keycloak and Azure AD. In today's video, I will show you how to use Okta. You can find the blog post in the video at tech.aufomm.com/
How to use docker and Cloudflare Tunnel to expose local services to the Internet
Просмотров 25 тыс.2 года назад
I was using my personal VPS in many of videos. When you don't have a VPS and need to expose your local services to the internet, Cloudflare Tunnel comes to rescue. This tool is so easy to use and I think everyone should at least know about it. You can find the related blog post at tech.aufomm.com/
Introduction to Azure AD with Openid Connect
Просмотров 9 тыс.2 года назад
In my previous video I talked about installing Keycloak with docker so anyone can host their own IdP. For the viewers that don't bother hosting their own IdP, Azure AD, Okta, Auth0 would be something you want to try. In today's video I will walk you through setting up Azure AD and do some openid connect flows. My blog address: tech.aufomm.com/ 0:00 Intro 1:14 Create Active Directory 2:45 Regist...
How to install Keycloak on docker and a quick demo of OIDC flows
Просмотров 3,4 тыс.2 года назад
In this video I will be showing you how to install Keycloak on Docker and a quick demo of some OIDC flows. I've also prepared a Insomnia collection for you to easily test these flows yourself. Hopefully it will help to get you started with OIDC. There is a great tutorial made by Stian Thorgersen about adding claims and creating scopes that will help you using keycloak better. You can find the v...
Introduction of Kong Ingress Controller
Просмотров 7122 года назад
In my previous video I talked about how to deploy Kong on kubernetes. In today's video I will give you a brief introduction of using Kong ingress Controller. In this video I've only covered KongIngress CRD and a few annotations because I think the official documentation of Kong plugins are pretty good. You should be able to follow the example on plugin page to use it. Please leave your comment ...
How to use Kong ACME plugin to get free SSL certificate
Просмотров 2,8 тыс.2 года назад
In this video I demostrate how to use Kong ACME plugin to get free SSL certificate. If you have any questions, please leave your comments down below. You can find my blog at tech.aufomm.com/
Demonstrate different Kong deployment methods on Kubernetes
Просмотров 2,2 тыс.2 года назад
Demonstrate different Kong deployment methods on Kubernetes
Demonstrate different Kong deployment methods on Docker
Просмотров 5492 года назад
Demonstrate different Kong deployment methods on Docker
How to use Go plugin with Kong
Просмотров 1,1 тыс.3 года назад
How to use Go plugin with Kong
How to use third party Lua plugin with Kong
Просмотров 2,8 тыс.3 года назад
How to use third party Lua plugin with Kong
How to use ACME DNS with Traefik
Просмотров 5 тыс.3 года назад
How to use ACME DNS with Traefik
How to use Kong Oauth2 plugin to secure your API
Просмотров 3,4 тыс.3 года назад
How to use Kong Oauth2 plugin to secure your API
Deploy multiple applications on the same VPS with Docker and Traefik 2
Просмотров 19 тыс.3 года назад
Deploy multiple applications on the same VPS with Docker and Traefik 2
Deploy Nextcloud easily with Docker and Traefik 2
Просмотров 6 тыс.3 года назад
Deploy Nextcloud easily with Docker and Traefik 2
Deploy Ghost blogging platform easily with Docker and Traefik 2
Просмотров 2,3 тыс.3 года назад
Deploy Ghost blogging platform easily with Docker and Traefik 2
Deploy Kong and Konga easily with Docker and Traefik 2
Просмотров 6 тыс.3 года назад
Deploy Kong and Konga easily with Docker and Traefik 2
使用File Provider动态配置Traefik 2
Просмотров 2733 года назад
使用File Provider动态配置Traefik 2
Understand File Provider in Traefik 2
Просмотров 5 тыс.3 года назад
Understand File Provider in Traefik 2
Deploy Bitwarden_rs with Docker and Traefik 2 easily
Просмотров 6 тыс.4 года назад
Deploy Bitwarden_rs with Docker and Traefik 2 easily
使用Docker和Traefik 2搭建Bitwarden
Просмотров 4154 года назад
使用Docker和Traefik 2搭建Bitwarden
教你用10分钟使用Docker和Traefik 2在个人的服务器上轻松部署WordPress
Просмотров 7874 года назад
教你用10分钟使用Docker和Traefik 2在个人的服务器上轻松部署WordPress

Комментарии

  • @jirongzhang3237
    @jirongzhang3237 28 дней назад

    I have tried and all subdomains are no problem. if you set a root domain, it will say "too many redirects" or other issues.

  • @conradtaylor29
    @conradtaylor29 Месяц назад

    I have tried it with Orbstack and Docker Desktop but it only works with OrbStack. From what I have learned, Docker Desktop doesn't expose IP addresses from its Linux VM to the host OS (i.e. macOS).

  • @mlongval
    @mlongval Месяц назад

    Thanks for the great video. Very helpful. Cheers from Canada 🎉

  • @akashshinde3522
    @akashshinde3522 Месяц назад

    can't access it on the browser

  • @TheGeorey
    @TheGeorey Месяц назад

    Very informative with good examples

  • @mzw8374
    @mzw8374 Месяц назад

    Hello Li, I've installed kong gateway on my kubernetes cluster, but when I get the service, it's not use 8001 port, but it uses 8444 only, so I cannot expose the port with http :8001. it says-> http: error: ConnectionError: HTTPConnectionPool(host='localhost', port=8444): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x786c3b150b00>: Failed to establish a new connection: [Errno 111] Connection refused',)) while doing a GET request to URL: localhost:8444/

  • @jean-baptistelasselle4562
    @jean-baptistelasselle4562 Месяц назад

    ps: I love the tools you show, very different from what i usually hear about, continue!

  • @jean-baptistelasselle4562
    @jean-baptistelasselle4562 Месяц назад

    thank you so muchhh for letting me know about OpenTOFU!!!

  • @channel11121
    @channel11121 2 месяца назад

    I'm not sure I like the idea that enabling a service automatically installs the corresponding package.

  • @dragon3602010
    @dragon3602010 2 месяца назад

    is it a kinda alternative to docker then ?

    • @liyangau
      @liyangau 2 месяца назад

      It is much better than Docker. 1. No need to worry if docker image is available. 2. Much more performant. 3. No need to mount files inside the container if you need to use local files. 4. I think Nixpkgs has more packages than docker images (I could be wrong) 5. Multiple tools, library can be `declared` on the flake.nix to create this dev environment. No need to build custom image and push to a container registry before you can use it. The list goes on...

  • @jean-baptistelasselle4562
    @jean-baptistelasselle4562 2 месяца назад

    Idk if any of guys get smae than me, but me, if i deploy the metallb using the helm helm chart, with all defaults values, just like Li Yang (thks for th video), I get this : ~$ kubectl get cm -n metallb-system NAME DATA AGE kube-root-ca.crt 1 42m metallb-excludel2 1 43m metallb-frr-startup 3 43m And there its configured a way i didnt expect, yet,THANK YOU SO MUCH LI YANG, because now it does work!! (it's been months that i was searching for a working tutorial to have metallb working on a bare metal deployement!) : ~$ kubectl get all NAME READY STATUS RESTARTS AGE pod/hello-server-77f56f7674-n7bmv 0/1 ImagePullBackOff 0 47m pod/nginx-7c5ddbdf54-c4fqv 1/1 Running 0 5s NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 47m service/nginx LoadBalancer 10.96.135.62 172.19.0.240 80:30775/TCP 5s NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/hello-server 0/1 1 0 47m deployment.apps/nginx 1/1 1 1 5s I curl 172.19.0.240 from the docker host and its working soooo welll just as expected, thanks so much LI YANG!

  • @Yvngsick
    @Yvngsick 2 месяца назад

    Which keyboard do you use?

    • @liyangau
      @liyangau 2 месяца назад

      I think I was using Das Keyboard 4 Professional blue switch in this video. Can't be 100% sure though...

  • @shoibericsson5007
    @shoibericsson5007 2 месяца назад

    Nice explanation 😊 Could you please show BGP advertisement as well !

  • @TheHoonShow
    @TheHoonShow 2 месяца назад

    Are you actually using MS Edge on a MacOS??

    • @bensadik
      @bensadik 2 месяца назад

      Edge is actually amazing

  • @9966989500
    @9966989500 2 месяца назад

    You explained just like that with an ease... | this is the best part.

  • @ctroyp
    @ctroyp 2 месяца назад

    Very well explained

  • @sethbrown1763
    @sethbrown1763 2 месяца назад

    That was actually excellent! I'll have to watch it a few times to absorb it all but well done! Thank you for sharing this video!

  • @MichaelTanOfficialChannel
    @MichaelTanOfficialChannel 3 месяца назад

    Hello Li. Firstly I really appreciate this tutorial. It saved me tons of hours figuring this out on my own. I do however have some questions.... How do we go about renewal the certificates, or is this automatic? Do we need to keep the dummy-service and dummy-route around after we obtain the certificates or is that required during certificate renewal?

    • @liyangau
      @liyangau 3 месяца назад

      Hi Michael, Thanks for the comment. How do we go about renewal the certificates, or is this automatic? Yes, it is automatic. You can control the renewal time by config.renew_threshold_days (default 14 days) Do we need to keep the dummy-service and dummy-route around after we obtain the certificates or is that required during certificate renewal? Yes, you need to keep the dummy service and route for the renewal. I hope it helps.

    • @MichaelTanOfficialChannel
      @MichaelTanOfficialChannel 3 месяца назад

      @@liyangau thank you

  • @krumelmonster3781
    @krumelmonster3781 3 месяца назад

    Thank you for your introduction, I really appreciate it. My goal is not to expose the unix docker socket to traefik

  • @user-se2ee8fz1p
    @user-se2ee8fz1p 3 месяца назад

    Thanks for the on point & simple explanations

  • @aloispetutschnig8342
    @aloispetutschnig8342 3 месяца назад

    Also works perfectly fine with Cilium LoadBalancer and L2 Announcement

  • @aloispetutschnig8342
    @aloispetutschnig8342 3 месяца назад

    Thanks man!

  • @ashermanangan
    @ashermanangan 3 месяца назад

    thank you this is a good way to show how to manager all types of tls using certmanager, so it extends from letsencrypt, it comes with all types of issues and clusterissuer which is very awesome!

  • @sharadbhandari1336
    @sharadbhandari1336 3 месяца назад

    Which terminal you are using ? Which Shell ? It's so helpful in DevOps. Please let me know

    • @liyangau
      @liyangau 3 месяца назад

      I was using kitty + zsh + oh-my-zsh in the video.

  • @BT-722
    @BT-722 3 месяца назад

    From bilibili to RUclips, as I'm doing Kong related jobs right now, so you are my best teacher now!!! Tomato sensei!!!!!!

  • @euhosc
    @euhosc 4 месяца назад

    謝謝

  • @uidx-bob
    @uidx-bob 4 месяца назад

    Thanks for the video it helped me out a lot.

  • @Wesley34927
    @Wesley34927 4 месяца назад

    Very Nice. Thanks for sharing

  • @darkspirt8629
    @darkspirt8629 4 месяца назад

    cloudflared dont work, it just errors out... I tried to setup portainer on port 9443, but nothing goes thru

  • @user-zj2uz6uh2u
    @user-zj2uz6uh2u 5 месяцев назад

    what terminal u use btw?

    • @liyangau
      @liyangau 5 месяцев назад

      I use alacritty

  • @Redyf
    @Redyf 5 месяцев назад

    Please make more Nix/NixOS videos, they are the BEST!

  • @raselhossain8855
    @raselhossain8855 6 месяцев назад

    thank you so much. Can you please make a video about "how to create and use javascript based kong plugin". I need it urgent.

  • @jitvimol
    @jitvimol 6 месяцев назад

    This is excellent!! I went to your blog and found a lot of knowledge sharing. I search several tutorial about cloudflare tunnel and this is the best one!!

  • @unclefester9113
    @unclefester9113 6 месяцев назад

    I see the benefit. But - I'll never get this granular for my home dual boot system. I fail to comprehend why there isn't simply a package repository or "store" to install software. Configuration files I can handle. This stuff - is for programmers, system maintainers, IT professionals.

    • @liyangau
      @liyangau 6 месяцев назад

      Honestly I don't use NixOS myself but I am heavily rely on Nix as package manager to mange most of the applications I use. This tool is so important and it makes my life so much easier when I need to have a consistent environment across MacOS and different Linux distributions.

  • @Taylor-ys2vh
    @Taylor-ys2vh 6 месяцев назад

    Hi, I found your config pages super useful. However, one question regarding the user auth. Did you use htpasswd to generate the password hash? I tried to replace your provided username and password with my own and this does not work. I'm assuming the possibility that I am either doing something wrong or using a different method to generate my password hash.

  • @harleypham7660
    @harleypham7660 7 месяцев назад

    I’ve followed your instructions, but I’m encountering issues with GUI apps that require hardware acceleration. I discovered nixGL, which wraps the apps with OpenGL to display the application. However, this doesn’t seem to be a viable solution for non-NixOS distributions. Do you have any suggestions for this situation?

  • @ky3ow
    @ky3ow 7 месяцев назад

    Nice video, do you know by any chance how to install package systemwide with flakes on non nixOs? Because with home manager you install only for your user

  • @Redyf
    @Redyf 8 месяцев назад

    Can you make a video about installing NixOS on WSL?

  • @realscreen7735
    @realscreen7735 8 месяцев назад

    I noticed that at 8:27 you are copying the ssh key from the website, how do you make sure that your own key matches the one copied from the website?

    • @liyangau
      @liyangau 8 месяцев назад

      That's the public key I put in the blog post. I have the matching private key locally on my devices.

  • @williamblair1123
    @williamblair1123 8 месяцев назад

    FYI, users will get a warning now when securing passwords #Now secure the server by disallowing passwordauthentication nano /etc/nixos/configuration.nix services.openssh.passwordAuthentication = false; nixos-rebuild switch trace: warning: The option `services.openssh.passwordAuthentication' defined in `/etc/nixos/configuration.nix' has been renamed to `services.openssh.settings.PasswordAuthentication'.

  • @FellMr
    @FellMr 9 месяцев назад

    Hello Li, Thank you! Your tutorial helped me configure SSL.

  • @jedsol-og9fc
    @jedsol-og9fc 9 месяцев назад

    wow nice thank you

  • @chrisjchalifoux
    @chrisjchalifoux 9 месяцев назад

    your videros are helping me out with nixos

  • @orebi1914
    @orebi1914 10 месяцев назад

    Your videos are awesome! Keep them up! Do you think that you could make one about installing Hyprland with wayland? That will be great! Love the way You instruct! Thank You in advance!

  • @JudeDominicEstrellado
    @JudeDominicEstrellado 10 месяцев назад

    Hi great and intuitive video. can you also do a video on extending or configuring window managers in nixos.. like DWM and its patches maybe..

  • @morandy13
    @morandy13 10 месяцев назад

    Thank you so much for the series. I would not have been able to get into NixOS if not for your videos. I kept coming back to these videos for reference so that my two brain cells could catch up xD

  • @user-kn2ii8bf2l
    @user-kn2ii8bf2l 10 месяцев назад

    Thank you.

  • @sundarviki
    @sundarviki 11 месяцев назад

    Hi Li, I used the kong ingress controller to downstream the request. If the request comes via /iot/xxx/yyy or authentication/zzz/iot/xxx/auth, then kong proxies the request to some path here /iot/xxx/authentication. how can i write the service with annotation used

  • @sethbuchanan6937
    @sethbuchanan6937 11 месяцев назад

    Incredible video, I would recommend keeping your editor and blog post in frame when you were copy/pasting or at least keeping them each up for a couple seconds before switching over. Snapping back and forth is great when you're editing but can be hard to follow in a video.

  • @zyxyuv1650
    @zyxyuv1650 11 месяцев назад

    environment.shellAliases = { "mi" = "micro"; }