Pablo's Spot
Pablo's Spot
  • Видео 164
  • Просмотров 288 280
How to configure non ROOT user on docker images
This episode covers some basic perspective to understanding why ROOT user should not be used when running docker containers. This also covers basic approach to setting up a non-ROOT user on docker configuration files.
Visit learn.pablosspot.com for more curated materials.
If you wish to support me, I have a kofi page: ko-fi.com/pablosspot
For my outdoor adventures, checkout my other youtube channel @poochesoutdoor
Просмотров: 308

Видео

How to use chainguard docker images to create a secure and minimal python docker image
Просмотров 2724 месяца назад
This episode navigates through chainguard’s website/documentation to refactor a python docker image that is used to build the backend component of the Event Driven Architecture series. This refactoring exercises attempts to tap on chainguard’s docker images as base image to create a secure docker image with minimal size. Related video materials: Event Driven Architecture series: Event Driven Ar...
How to implement Content Security Policy on scripts - Infrastructure approach vs HTML code approach
Просмотров 2279 месяцев назад
This is the first episode on a series of implementing Content Security Policy on web applications. This episode covers the implementation of script source policy. It provides a walk through of implementing the protection through infrastructure resource (e.g. AWS Cloudfront) and through META tags in HTML code. Check out learn.pablosspot.com/library for curated list of video materials. Some usefu...
How to migrate from Terraform Cloud to S3 bucket - Terraform State Management
Просмотров 2639 месяцев назад
This episode covers the process of migrating terraform state management from Terraform Cloud to AWS S3 bucket. Check out learn.pablosspot.com/library for curated list of video materials. Useful references: Renaming terraform resource: ruclips.net/video/mxDqfkfjZmw/видео.html Setup and use of aws-vault: ruclips.net/video/lC0qM5bsZDI/видео.html Setup and use of ASDF: ruclips.net/video/3rmAqDUsTqQ...
How to integrate docker build process with Terraform
Просмотров 5069 месяцев назад
In this episode, I cover the integration of terraform with the docker build process. This episode also covers some implementations I have done in the past to address the issue of rebuilding docker images within terraform. Check out learn.pablosspot.com/library for curated list of video materials. Docker terraform provider: registry.terraform.io/providers/kreuzwerker/docker/latest/docs github.co...
How to rename terraform resources using the worst and the best options
Просмотров 2369 месяцев назад
In this episode, I tackle the different ways of renaming resources that are already created and managed by terraform. This episode shows the tree different options that I have used to go about renaming resources as a result of using a more meaningful resource name or converting flat single resources to index based. Check out learn.pablosspot.com/library for curated list of video materials. If y...
How to setup idempotent ingress/egress on Security Groups with Terraform
Просмотров 70210 месяцев назад
In this episode, I look into how to setup ingress and egress properties to AWS Security Groups with Terraform that will allow for granular reporting of infrastructure changes. Embedded ingress and egress properties on AWS Security Groups sometimes enable unnecessary reporting of changes to AWS Security Group resources. On this episode, I look into how to setup these properties better than embed...
My Personal Thoughts on Hashicorp's License Change
Просмотров 10010 месяцев назад
My Personal Thoughts on Hashicorp's License Change
How to use variables with Terraform for Infrastructure as Code
Просмотров 15210 месяцев назад
How to use variables with Terraform for Infrastructure as Code
How to secure DevOPS web tools (runatlantis service) with OKTA
Просмотров 364Год назад
How to secure DevOPS web tools (runatlantis service) with OKTA
How to setup Basic Lambda Function (REHASH)
Просмотров 130Год назад
How to setup Basic Lambda Function (REHASH)
How to secure environment variables with ECS and Parameter Store (REHASH)
Просмотров 1,5 тыс.Год назад
How to secure environment variables with ECS and Parameter Store (REHASH)
Redirect HTTP to HTTPS with AWS Load Balancer
Просмотров 5 тыс.Год назад
Redirect HTTP to HTTPS with AWS Load Balancer
How to run GitOps process with Run Atlantis
Просмотров 683Год назад
How to run GitOps process with Run Atlantis
How to setup and use AWS Lambda Layer
Просмотров 740Год назад
How to setup and use AWS Lambda Layer
How to setup AWS ECS Infrastructure for Run Atlantis
Просмотров 728Год назад
How to setup AWS ECS Infrastructure for Run Atlantis
How to use ChatGPT for quick knowledge access
Просмотров 204Год назад
How to use ChatGPT for quick knowledge access
How to secure and manage environment variables with Parameter Store in AWS
Просмотров 3,2 тыс.Год назад
How to secure and manage environment variables with Parameter Store in AWS
How to build and publish my custom RunAtlantis docker Image with Terraform
Просмотров 614Год назад
How to build and publish my custom RunAtlantis docker Image with Terraform
Migrating local Run Atlantis setup to AWS ECS - The Preparation
Просмотров 850Год назад
Migrating local Run Atlantis setup to AWS ECS - The Preparation
Terraform Code - Why for_each is better than count
Просмотров 1,1 тыс.Год назад
Terraform Code - Why for_each is better than count
How to minimise Infrastructure Cost on AWS Load Balancer
Просмотров 641Год назад
How to minimise Infrastructure Cost on AWS Load Balancer
How to integrate ECS with AWS Load Balancer
Просмотров 936Год назад
How to integrate ECS with AWS Load Balancer
How to Setup Authentication using AWS Load Balancer and OKTA
Просмотров 1,6 тыс.Год назад
How to Setup Authentication using AWS Load Balancer and OKTA
How to integrate AWS Load Balancer and Lambda Function
Просмотров 1,7 тыс.Год назад
How to integrate AWS Load Balancer and Lambda Function
Fixing security flaw: Protecting app on ec2 instance with AWS Load Balancer
Просмотров 147Год назад
Fixing security flaw: Protecting app on ec2 instance with AWS Load Balancer
How to secure EC2 application with AWS load balancer (IaC with Terraform)
Просмотров 1,2 тыс.Год назад
How to secure EC2 application with AWS load balancer (IaC with Terraform)
Reflecting on my Youtube Channel
Просмотров 155Год назад
Reflecting on my RUclips Channel
How to secure AWS Load Balancer with Listener Rules
Просмотров 681Год назад
How to secure AWS Load Balancer with Listener Rules
How to secure AWS Load Balancer with Terraform - Reject Requests by Default
Просмотров 253Год назад
How to secure AWS Load Balancer with Terraform - Reject Requests by Default

Комментарии

  • @anjaliadhikari4673
    @anjaliadhikari4673 12 дней назад

    Manually deploying .js in my personal linux i see the output “hello world” when i browse localhost:3000 but when I execute eb deploy and eb open I don’t see any output. Eb logs are emty no any lines. I have index.js and package.json file in my linux system and i want to deploy it but getting this issue.

    • @pablosspot
      @pablosspot 11 дней назад

      This might be specific to eb cli.

    • @anjaliadhikari4673
      @anjaliadhikari4673 11 дней назад

      @@pablosspot i could fix the issue .. Thanks for the reply though!

  • @nexuzinnovation-com
    @nexuzinnovation-com 28 дней назад

    The "backgroundColor" seems cannot assign with "#000000"

  • @ventin75
    @ventin75 29 дней назад

    can the templatefile accepts something like host_port = var.host_port?

  • @ventin75
    @ventin75 29 дней назад

    i have a var.count for no. of cluster. Can I still implement for_each in this case?

    • @pablosspot
      @pablosspot 29 дней назад

      If you are creating clusters based on the value of var.count, I think implementing for_each is not necessary since var.count will always force the traversal to be a counter e.q. it will start from 0, then 1, then 2 ...etc. So this will ensure your infrastructure will be idempotent. But if you are still keen to use for_each, you will have to convert your var.count into a list then convert it to a set: for_each = toset(range(var.count)) That in itself is already an unnecessary calculation in the code.

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

    Thank you friend! This was super useful and it will make me save LOT of time. Also the task extension is great. Thanks again! 🍀

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

    It's a good and clean solution but there is a downside, in case there are multiple rules and multiple sub nets, each new sub net could exceed the rules limit on the security group

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

      This one is very true. You may not know outright when you exceed the rule limit although i would imagine this could be trapped when updating the infrastructure. If you deal with multiple subnets, 60 CIDR blocks can easily creep up on you which I suppose can be adjusted by requesting a limit change.

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

    docker scan --login is not working

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

      Hi @pikachu3686. What error are you getting? If you run docker scan and it says command not found, you will need to install the docker-scan-plugin package to make it work.

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

    Crisp and too the point! Thanks!

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

    Literally the only vid on YT I could find on this.

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

    i am installing things on my own VM will I be needing ngrok?

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

      If you have github and atlantis running on your own VM on the same network, you just have to make sure your github server is reachable from your atlantis instance.

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

      @@pablosspot thank you but I am getting another error: atlantis plan throws below error: running "/usr/bin/terraform init -input=false -upgrade" in "/home/ubuntu/.atlantis/repos/Tranzub/devopstf/6/default/oracle-infrastructure": exit status 1 Initializing the backend... ╷ │ Error: Can't ask approval for state migration when interactive input is disabled. │ │ Please remove the "-input=false" option and try again.

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

      @@aayushmohta592 Have you tried removing the "-input=false"?

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

      The message "approval for state migration" suggests that you are changing terraform backend. I suggest you migrate your state first before you start integrating with atlantis.

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

    Very useful! Thanks a lot! And a big greeting for your Puppy!

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

      You're welcome 🐕

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

    spot on, thanks a lot

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

      You're very welcome :)

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

    Really well explained, thanks!

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

    Awesome channel , excellent job !

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

    Can it work with smtp service ?

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

      I have not tried it but i think it does. If you have a local SMTP service that you need to expose to the internet and you know which port it is running on (e.g. generic smtp ports are 25 and 465), you can start ngrok for that port.

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

    Would it be better to use a response headers policy?

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

      You are correct. This video came about before AWS introduced the separate response and cache policies on their cloudfront resource. I might have to look into creating a video for that.

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

    Option 2 seems better than having to write a moved block

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

      100%!

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

      @@pablosspot i was manually editing the state in a text editor before i watched this 😂

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

      @@omirrrr oooh! I did that before and made a mistake and it was a nightmare to recover. I ended up bailing out of my state file and re-importing all my resources.

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

    where does the result come from in data.external.git.result.value ?

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

      It is the console output when you run the program defined in data.external which in this case is running a script to get the git sha with the echo command: ruclips.net/video/22MVpDArIhg/видео.html&lc=UgxAyyT7ub8HQPuESxR4AaABAg#t=4m13s

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

    If the link works when the app is terminated

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

      The ngrok link will not work if the app is not running.

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

    thanks for the video. why do you have to pass to snyk/action/docker@master the full path image in the CR and also de Dockerfile..? why does it need the Dockerfile if the image is already builded?

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

      Hi @raffaelloringue. Thanks for this question. My understanding is that the Dockerfile contains all the explicit instructions used to build the docker image. This allows snyk to perform a more efficient and effective scan because the Dockerfile provides exactly what steps are done, what layers are setup and what base images are used. I suppose snyk can do an introspection of docker images to derive the instructions but it may not be exactly the same as the actual Dockerfile.

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

    Thanks. An excellent video!

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

    I am stuck in one problem - have alb with ip instance type and my ecs fargate ip get change dynamic how ican configure ecs fargate ip to target group as type ip

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

      You are better off setting up ECS Service which will then get associated with your target group.

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

      Check this one out ruclips.net/video/_0AiP1SC4Mo/видео.html And look at 13:08

  • @rajesh-devops
    @rajesh-devops 7 месяцев назад

    Pablo , there is great effort in creating such content , but i see it is so fast that we need to pause the videos n number of times to see what you are doing as well getting all the commands what you are typing , the question here is why have made it in faster mode, i know you need to keep the video length shorter , but what is the use if the audience or viewer are facing this issue, let the videos be 30 mins or 1 hours, people are there to watch the full content and the way you have presented it is just awesome

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

      Thank you for your feedback. I'm actually in the process of recreating some of these videos. The only challenge I have at the moment is that I also need to make sure this captures some latest stuff. I very very much appreciate the feedback though. Thank you!

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

    what if we have dont teraform to do such activity , is there way to do from UI

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

      Hi @nishantpanchal24. Sorry for the very late response. This can be done via the UI most definitely. But the problem with doing it this way is that this does not assure 100% repeatability. The reason we put all infrastructure changes in a code is so that we can save them in version control so the knowledge can be shared very readily with other people and automation process can be implemented against the code. I suggest look into/explore terraform (or opentofu).

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

    That's a very good lesson! Thank you!

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

      You're very welcome!

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

    thank you

  • @user-ie8qx7oq7n
    @user-ie8qx7oq7n 8 месяцев назад

    Hello, I appreciate your videos. What to do with the `imports` statements after `terraform init` using the s3 bucket for the state files ?

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

      After you have run terraform apply, you can get rid of those import statements

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

    Awesome video I have query regarding create private module it is what about provider version like required providers for transform AWS ..

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

      I think it is best to keep the providers out of terraform modules. You will need to set this up inside your IaC repo which will then be used inside the tf module

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

      @@pablosspot thank you got it.

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

    One of the rare tutorial out there, most of them I see is using fargate. Thank you!

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

      Thank you, appreciate those nice words :) . The EC2 instance type is set as part of the auto scaling which is the next video in the playlist here ruclips.net/p/PLiF-Vmkmf3EnQVTPXRRpHtyEgN9L-SSwX&si=OT3BzgZ3iHIBWCsc

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

    Hi. Thank you for the great explanation. I have just one doubt tho. I have a template that I'm trying to pass with the templatefile but those variable values are not simple string but these are more complex data structures, list of maps for instance. And these are also defined as variables in variables.tf but I see a problem trying to put them into a template. Would you be able he help me there please?

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

      Sure. Please let me know what the problem is and I will try to help. :)

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

      Have you tried doing a jsonencode? You can define 1 variable in the template file and try to assign the value from jsonencode.

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

    Thank you very much

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

    Thanks Pablo. I am not sure, how many of you tried this method. But, i ran into some issues. When i added "ReadOnlyAccess" Group in your terragrunt.hcl variable file. It is looping me to 2 AWS Accounts (All the AWS Accounts).

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

    When you added "PS-Administrator" in your terragrunt.hcl variable file, May i know, why is it showing, you got access to 2 AWS Accounts ends with 499, 966. Eventhough, you added PS-Administrator into Administrator Group. Terraform code is looping in all the aws_accounts that, you mentioned.

  • @Mike-cp1tj
    @Mike-cp1tj 9 месяцев назад

    how do you feel the TF change to BSL license? maybe time to move away from Hashicorp

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

      Not happy. Most if not all of my terraform backend are in terraform cloud. I have finished moving them to S3 but that means I will have to pay minimal amount for storage. I'm slowly moving away from them but not with Terraform. I have stopped using vault. Im also slowly getting myself familiar with opentofu. So far the move is seamless (Im working on a very very short show and tell about the move).

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

    Really great content. Your example problem and what is needed to fix it then your technical explanation of how to implement the solution via terraform A++ #terraform #awslb

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

    awesome very clear explanation appreciate efforts !

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

    Really great info!

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

    thanks, as always very interesting. At my place we still use TF ver 0.11.5 so I have no choice but to do manual state changes and imports :/

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

      That’s very very old. Any reason why you are not upgrading. I mean there’s things to be done before getting to version one but there’s also so much things that will make tf easier with any of the version 1 releases.

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

      @@pablosspot it's just too large. I think they made a team which is responsible for creating mirror infrastructure for different traffic flows with the latest versions of everything. The traffic would be then redirected into that. Upgrading everything wouldn't work as there are too many dependencies and the code is old

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

      @@flesz_ that’s what I thought. I went through that painful process from 0.12 to 1.1. Extra difficult if you have inherited the code. But if there’s a way you can gradually upgrade, I highly recommend. There’s a number of security related features like masking secret values in state that you can benefit from at least version 1. My words are prescriptive and not imperative :)

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

    Awesome Video..

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

    even i know this things, i watch your videos for entertaiment and for a way i can explain to others this knowleage

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

    Thanks. Its great 👍 👌

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

    Great info, thanks! Glad to see you back :) Would "lifecycle { create before destroy = true } work here as well or no?

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

      good question, if I remember well, it wouldn't work

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

      I think this lifecycle will try to create the resource first then destroy which would fail because it will try to create for a resource that already exists.

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

    thanks, but please invest in a better microphone :)

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

      Yep - it’s now in the bin

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

    Thanks for the informative information . I have too much confusion.

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

    Why would you use a script to create tf cloud workspaces? Why not just define them in tf... they have a provider with a workspace resource =)

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

      I had issues in the past (not sure if it has been fixed) where terraform sets the execution mode to Remote by default which stops me from running terraform locally. My wrapper script sets it to Local. Now that you mentioned it, I might have to check if there has been any fix around it.

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

      This is the line where i set it to use Local execution mode: github.com/dyordsabuzo/miscellany/blob/main/tools/terraform-workspace-local.sh#L79 Hopefully that script does not overwhelm you. It's not as simple as I wish it is when I wrote it.

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

      Terraform is now in BSL but unfortunately that PR is still open: github.com/hashicorp/terraform/issues/23261

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

    Welcome back

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

    please stop with the muting sound

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

    This was very insightful. Thank you!

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

    can we use https with load balancer dns name directly?

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

      Hello. I don’t think this is possible. You will need a TLS certificate to attach to the lb to be able to use https.

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

      I have attached the TLS certificate using ACM . my question is to use directly https with alb dns name instead of custom domain name? @@pablosspot