Reddit DevOps
268 subscribers
1 photo
31K links
Reddit DevOps. #devops
Thanks @reddit2telegram and @r_channels
Download Telegram
How often should you job hop?

In a very lucky position, I managed to go from no IT background to a Junior Devops role.
However, I work in a consultancy, and the work is so hit and miss.
I can be on the bench for two months and then shoulder deep in work for two months.
I know the down time is good to get some revision in, however, I really dislike my company.

They have some very dubious work practices and are very nasty to their staff. There is a lot of slagging people off behind there backs. And constant blame culture situations.
I would happily stay doing the work a lot longer but the company is just draining the life out of me.

As a first job in IT, and especially Devops being a more advanced position, I don't want to leave my role until I can put enough time on my CV for future employers to accept me. I have good knowledge, but I think this time exposure is also expected.

I have always been told that 2 years is to aim for. But what do you guys think?

https://redd.it/1egv9yl
@r_devops
Bitbucket Pipelines to remote server via rsync or git / post-recieve

Hi All,

Newbie here who is trying to learn. I've been doing a lot of searching and I feel a bit stuck.

I'm using Bitbucket Pipelines, which is pretty much the same as Github Actions, but at the end of the day, I don't think the runner matters. The DevOps world is new to me and I'm trying to figure out the "best" way to deploy code to a server. To start, if my understanding is correct, both BBP and GHA create a docker environment, lint, do whatever, build your code. I have that working just fine. Now I want to get the compiled code on the remote server.

I first went down the rsync route. I got this working just fine. But I realized, it's syncing all files, every, commit. I understand why, and that's because in each docker instance that's created in the runner, the built files will always be newer than what's on the destination. I've tried a few different flags and sped that up a little bit but still wasn't satisfied. I searched and learned many have encountered this issue. I'm like, oh ok, then I can dynamically create a changed-files.txt with some git magic. Then via rsync, I had `include-from=changed-files.txt`. This worked, each commit, I was able to only sync those few files. But then, tragic struck and I had a build fail due to a linting issue. It happens. I resolved the issue, and then triggered a new deploy, and the changed files were no longer in that new commit. That made sense because the changed-files.txt script was checking THAT commit.... went down the rabbit hole and learned this is an issue people run into. There's no easy way to track the last successful build, create the changed-files.txt, and then deploy. So... I gave up on this route because my brain was hurting.

Onto the old git route, I was thinking I can create a bare repo on the destination server in /repos and create a post-receive hook to deploy the code pushed into /website.com.

I have the YML doing a few things:
- A git repo in the runner's environment will be created.
- A commit containing changed files / build
- It will SSH into the destination,
- create a `/repos` if it doesn't already exist.
- Create a bare repo and then create a post-receive hook.
- add remote remote to runner's newly created repo.
- git push to that repo

I'm not having the best success. Thinking now I might need to clone the repo to the destination server? But with that idea, I think it would clone, every deployment which seems odd to me. The repo in the runner, would be new, every time, so I feel I might be running into a similar issue as rsync?

A last minute thought could be cloning the bitbucket repo to the destination, then, each deployment, compare the two for differences and create a changed-files.txt. But that seems resource intensive too, and overkill.

My head is like scrambled eggs after all the googling. I surprisingly haven't come across any tutorials that are trying to do what I am. I've seen a lot with rsync and git-ftp, but none address the issue of it comparing allll the files, every time.

Any help, guidance, would be appreciated.

https://redd.it/1egv7oe
@r_devops
EC2-based NAT Gateway alternative

I’ve developed a fully functional guide and code base for setting up an EC2 instance as a NAT Gateway, offering a cost-effective alternative to the AWS NAT Gateway. Plus, I’m working on adding a Lambda function to automatically replace instances and ensure seamless routing in case of any issues.

Explore the project on GitHub and let me know what you think! Feedback here and PRs on GitHub welcome.

https://github.com/MikeGarde/aws-ec2-nat-gateway

https://redd.it/1eh0ki4
@r_devops
Where to run unit tests when building inside docker

Trying to determine what would the best approach in the following situation:

Currently I have a CICD pipeline in Jenkins for building a Next.js application. It consists of separate stages like:
1. installing deps
2. running unit tests
3. building the application and finally copying the build output into a docker container and pushing it.

Because steps like building also require a separate base image with node and pnpm installed this adds extra maintanance.

I’m looking into doing the building inside of a multi-stage dockerfile. This seems to work quite well with the exception of the test stage for the unit tests. I’m kind off conflicted if it’s wrong to add an extra stage and run the tests on building of the dockerfile or if it really should be done outside?

Curious to hear how others are approaching this issue.


https://redd.it/1egrmbs
@r_devops
15 Cloud-Native DevOps Tools You Should Know

[https://overcast.blog/15-cloud-native-devops-tools-you-should-know-36129057a15c](https://overcast.blog/15-cloud-native-devops-tools-you-should-know-36129057a15c)


These tools are particularly beneficial in several scenarios. They are essential when managing microservices-based applications, requiring continuous integration and delivery, needing robust monitoring and alerting, seeking to automate infrastructure management, and ensuring security and compliance in complex environments. Utilizing these tools helps maintain seamless operations and quickly adapt to changes.

* **Managing microservices-based applications.**
* **Requiring continuous integration and delivery.**
* **Needing robust monitoring and alerting.**
* **Seeking to automate infrastructure management.**
* **Ensuring security and compliance in complex environments.**

https://redd.it/1ehb0fb
@r_devops
Applying for DevOps positions as a East Indian-American

Disclaimer: this is a rant, but I'd like some advice, please.

Hey there, I know there's similar threads for job application strategies on r/cscareerquestions and r/jobs, but I wanted input specifically from other DevOps/Platform Engineers.

I was born and raised in America, but my ethnicity is Indian- and my name is pretty Indian sounding. I've been hearing SO many reports of (from Reddit) about rampant fraud happening from other Indians or people on a Visa, that I believe my application has a high chance of just being tossed because of my name.

I've never had this problem before, and my non-indian coworkers have been getting blasted with job offers and have a similar background as me. I don't want to blame it on my race, but I'm thinking it's crazy I can't even get an interview! I'd hate to do a bait and switch by changing my resume to an Anglo name just to test out my hypothesis, but I have bills to pay and my current position is destroying my mental/physical health.

Any advice?

My tech stack is .NET, Azure, Bicep (IAC), GitHub Actions, Octopus Deploy, Windows IIS, PowerShell and Bash.

I'm applying to jobs that don't have Kuberketes while I study for the CKA. I was a network engineer for 1 year before I ventured into DevOps 3 years ago. Any advice on how to make my resume stand out? I have a pretty nice looking one I made with LaTeX and has the standard jobs, personal projects, skills, and education.

Also, I'm a woman- Idk if that helps, but wanted to mention since there's literally no other women in my team of 40 engineers, so I'm either doing something right or I'm getting in because of my gender- which UGH.

https://redd.it/1ehax2n
@r_devops
Should I leave or stay?

I am feeling quite burnt out now. I am currently in a DevOps position in a startup and the hours + responsibilites are taking a toll on me. Being expected to debug application issues, manage kubernetes environments, manage cloud infra, CICD across 3 different platforms, supporting various projects as well, maintaining observability by creating reports from SLA metrics and usages. All without getting the support I need.

Its only been 1 year and 3 months. I currently have a 1 year contract offer for a DevSecOps position. Should I just take this role? Or stick around longer and toughen it out and hope it gets calmer?

https://redd.it/1ehcvsx
@r_devops
Transitioning from Jira Admin to Devops

Hello, I wil probably accept an offer as a "System Engineer" for which the main responsibilities are Jira administration and integrations. I currenty work a similar role and before that I have worked as a backend developer (Java/Spring) for 3 years. The company I join is a very big e-marketing one, and the team I would be in is actually DevOps.

The System Engineer job is described like this:

full stack admin of jira+confluence
maintain and optimize tools
automation of processes
develop enhanchements
support requests triaging
They require: jira/confl admin experience, MySQL/Postgres, Linux OS, nice but not necessary: API, Python, Groovy

The role is focused on Jira but I would like to evolve from there as a DevOps engineer. In the team here are people who take care of jira (2 + me if I join) and then 6 people who are more "pure" devops (I assume CI/CD, Infra, integrations, etc.).
One thing that made me successful during the interviews was my engineering background and Java/Groovy knowledge.

Here's my question - how likely do you think it is that I can evolve into a ""pure"" devops position? Don't get me wrong, I know there is no actual "pure" devops as it is a very generic term, but I mean that as taking care of many more technologies and automation rather than only Jira/Confluence. Can Jira get me closer to infra tools and CI/CD?

The company I currently work for is rather small and Jira is not integrated with CI/CD, it is not even used by developers, so it is probably very different in a company like the one I will join.

https://redd.it/1ehdpq2
@r_devops
10 Examples Why cURL is an Awesome CLI Tool

Hi /r/DevOps,

Today I published an article titled "10 Examples Why cURL is an Awesome CLI Tool" - Where I explore some of the lesser known or unexpected features of cURL, such as globbing, parallelization, output formatting, URL parsing and much more.

Here's the link: https://levelup.gitconnected.com/10-examples-why-curl-is-an-awesome-cli-tool-0b23223ec845

Feedback is very much appreciated!

https://redd.it/1ehhihj
@r_devops
AWS code build stuck at npm install and getting timeout with no errors, No error on code build logs as well as cloud watch.

Using CodeBuild On-demand
Running node v16.13.0

The same code works previously now I'm not able to build since last few days.

Since there is no error how do I debug this?

https://redd.it/1ehirh7
@r_devops
How hackerrank works across organizations?

I am back in market looking for open roles and started noticing firms sending out hackerrank tests to gauge candidates.

I am trying to understand how this works?

Basically will it have a standard questions (at different levels) or can each company set their own questions for the roles they publish out in market?

How does it work people of this group? 🙋‍♂️

https://redd.it/1ehih4u
@r_devops
Need Complex Final Year Software Project Ideas (No Hardware/E-commerce/Management)

Hi everyone, I'm in my final year of computer science and I'm looking for some innovative and challenging software project ideas for my final year project, which is worth 200 marks.

Here are some constraints and preferences for the project:

No hardware involvement: Purely software-based project.
No e-commerce solutions: I want to explore something different.
No management systems: Looking for unique and exciting domains.
Complexity: The project should be complex enough to include more than three modules with multiple features.
I'm open to various fields and would love to hear your suggestions on what could be a good project idea that meets these criteria. Any unique ideas or suggestions from your experience would be greatly appreciated!

Thanks in advance!

https://redd.it/1ehma7d
@r_devops
Devops vs cloud

Devops vs cloud

Can anyone help me out figure out what needs to be done first I am in 2nd yr i have done backend in js using node express mongodb I also know postgres though

I don't know the pre requisite to do these
If any skill or topic is needed to be done earlier pls tell me

Also should I continue doing backend I am not too proficient in that for now

What should be done first out of the two and what role does backend have in it pls help me clarify these doubts

And if possible pls share roadmaps on these too

https://redd.it/1ehnr1m
@r_devops
Telepresence but for the VM?

I used to work with telepresence a lot while developing k8 native apps. It's a great way to create a tunnel b/w locally running process and remote cluster. However, I am now developing apps that are deployed as rpm (jar wrapped as rpm) on remote machines (VMs to be specific). Everytime I have to test some code, I have to bundle up the app as jar then bundle that jar as rpm and run on the remote machine where other infrasture is also present.

Question: Is there something similar to telepresence for my setup where I can create a tunnel (bi-directional tunnel) so I can just run the java process locally (using intellij) and trick this process into behaving as it was running on the remote machine?

https://redd.it/1ehnpsz
@r_devops
Need Help with Resume - Applied to 1500 Jobs and Only 1 interview

I’ve been on the job hunt for a while now and I’m getting pretty frustrated. I’ve applied to 1500 jobs and only got 2 callbacks and one interview. I feel like my resume might be the problem, but I’m not sure what to change.

Can anyone take a look at my resume(attached below) and give me some advice on how to improve it? I’d really appreciate any suggestions or tips you have. I'm an international student and in my initial OPT.

Thanks in advance!

DevOps Resume

https://redd.it/1ehoo17
@r_devops
Which resource would you recommend to learn the fundamentals of Kubernetes?

I find Kubernetes to be the hardest when it comes to DevOps tools and I was wondering if anyone knows of a good reaource where I can learn the fundamentals of it, thank you in advance.

https://redd.it/1ehnlld
@r_devops
Terraform - ACR and azure container instance group, it seems to be trying to use docker images not ACR.

I'm defining a resource group, some fileshares, a container registry, and a container group with 3 containers in my terraform setup.

My setup script successfully builds and pushes docker images to ACR and pushes files to the shares which are to be mounted on the containers. But when terraform tries to start up the container group and containers, I get an error that is mentioning docker.io as if it's trying to use images from docker and not ACR.

I must be missing something, can anybody suggest what's wrong or missing with this main.tf configuration? I'm a bit new to terraform and kind of fighting through this a bit.

I don't think the fileshare volumes are quite right but that's tomorrow's problem. Need to get the containers fired up first.

Here's the core of the error:

An error response is received from the docker registry 'index.docker.io'. Please retry later.';'BadRequest':'InaccessibleImage':'The image 'xxxxx.azurecr.io/vs-agent-openjdk11-python:latest' in container group 'vs-agent-airflow-group' is not accessible

And this is main.tf:

# Define the resource group
resource "azurermresourcegroup" "main" {
  name     =
var
.azureresourcegroup
  location =
var
.azurelocation
}

# Define the storage account
resource "azurerm
storageaccount" "main" {
  name                     =
var
.azure
storageaccount
  resource
groupname      = azurermresourcegroup.main.name
  location                 = azurerm
resourcegroup.main.location
  account
tier             = "Standard"
  accountreplicationtype = "LRS"
}

# Define the storage shares
resource "azurermstorageshare" "postgresshare" {
  name                 = "postgres"
  storage
accountname = azurermstorageaccount.main.name
  quota                = 20
}

resource "azurerm
storageshare" "agentshare" {
  name                 = "agent"
  storageaccountname = azurermstorageaccount.main.name
  quota                = 20
}

resource "azurermstorageshare" "airflowshare" {
  name                 = "airflow"
  storage
accountname = azurermstorageaccount.main.name
  quota                = 20
}

# Define the Azure Container Registry
resource "azurerm
containerregistry" "acr" {
  name                =
var
.azure
containerregistry
  resource
groupname = azurermresourcegroup.main.name
  location            = azurerm
resourcegroup.main.location
  sku                 = "Standard"
  admin
enabled       = true
}

resource "azurermcontainergroup" "main" {
  name                = "vs-agent-airflow-group"
  location            = azurermresourcegroup.main.location
  resourcegroupname = azurermresourcegroup.main.name
  ipaddresstype     = "Public"
  dnsnamelabel      = "vs-agent-airflow"
  ostype             = "Linux"

  container {
    name   = "postgres"
    image  =
var
.postgres
image
    cpu    = "1.0"
    memory = "4.0"

    environmentvariables = {
      POSTGRES
PASSWORD =
var
.postgrespassword
      POSTGRES
USER     =
var
.postgresuser
      POSTGRES
DB       =
var
.postgresdb
    }

    ports {
      port = "5432"
      protocol = "TCP"
    }

    volume {
      name                 = "postgres-data"
      mount
path           = "/var/lib/postgresql/data"
      storageaccountname = azurermstorageaccount.main.name
      storageaccountkey  = azurermstorageaccount.main.primaryaccesskey
      sharename           = azurermstorageshare.postgresshare.name
      readonly            = false
    }

    volume {
      name                 = "postgres-initdb"
      mount
path           =
"/docker-entrypoint-initdb.d"
      storageaccountname = azurermstorageaccount.main.name
      storageaccountkey  = azurermstorageaccount.main.primaryaccesskey
      sharename           = azurermstorageshare.postgresshare.name
      readonly            = false
    }
  }

  container {
    name   = "vs-agent"
    image  = "${
var
.azure
containerregistry}.azurecr.io/vaultspeed-agent-openjdk11-python:latest"  # Reference to ACR image
    cpu    = "0.5"
    memory = "2.0"

    volume {
      name                 = "agent"
      mount
path           = "/home/agent"
      storageaccountname = azurermstorageaccount.main.name
      storageaccountkey  = azurermstorageaccount.main.primaryaccesskey
      sharename           = azurermstorageshare.agentshare.name
      readonly            = false
    }

    volume {
      name                 = "agent-staged"
      mount
path           = "/home/agent/staged"
      storageaccountname = azurermstorageaccount.main.name
      storageaccountkey  = azurermstorageaccount.main.primaryaccesskey
      sharename           = azurermstorageshare.agentshare.name
      readonly            = false
    }
  }

  container {
    name   = "airflow"
    image  = "${
var
.azure
containerregistry}.azurecr.io/airflow:latest"  # Reference to ACR image
    cpu    = "1.0"
    memory = "4.0"

    ports {
      port = 8080
      protocol = "TCP"
    }

    environment
variables = {
      AIRFLOWCORELOADEXAMPLES = "False"
      AIRFLOW
WWWUSERUSERNAME    =
var
.airflowusername
      AIRFLOW
WWWUSERPASSWORD    =
var
.airflowpassword
    }

    volume {
      name                 = "main-share-airflow"
      mount
path           = "/opt/airflow"
      storageaccountname = azurermstorageaccount.main.name
      storageaccountkey  = azurermstorageaccount.main.primaryaccesskey
      sharename           = azurermstorageshare.airflowshare.name
      readonly            = false
    }

    volume {
      name                 = "main-share-start-script"
      mount
path           = "/startairflow.sh"
      storage
accountname = azurermstorageaccount.main.name
      storage
accountkey  = azurermstorageaccount.main.primaryaccesskey
      share
name           = azurermstorageshare.airflowshare.name
      read
only            = false
    }

    volume {
      name                 = "main-share-staged"
      mountpath           = "/staged"
      storage
accountname = azurermstorageaccount.main.name
      storage
accountkey  = azurermstorageaccount.main.primaryaccesskey
      share
name           = azurermstorageshare.airflowshare.name
      read
only            = false
    }

  }

  tags = {
    environment = "agent-testing"
  }
}






https://redd.it/1ehufje
@r_devops
Sad and feeling miserable

I've been in the DevOps space for about 8+ years.


Today I've just been sad and miserable. I feel like I don't know a lot of the newer technologies and feel really behind. I've been trying to catch up on learning Kubernetes and have made some progress. But there are so many other things I just don't know how work such as puppet, ansible, terraform, kubernetes (learning in progress), spinnaker. And I don't even know some if there are other things that I should know.

I'm good at programming and building things, automation etc. I can figure out some of the stuff even at work surrounding these technologies. But I don't have a deep understanding and feel behind and lost at times.

I feel like the best way I've learned is managing my own version of these technologies and doing some project(s). But I don't even know where to start. And when I do start (kubernetes has been a little nice to learn on minikube), I don't know the cost efficient way to do so. For example, I don't even know how to learn Terraform without a cloud provider and it being practical.

I don't know, my headspace is such a mess. I feel alone. I feel worried if tomorrow I lose my job, I'll be homeless. I don't think anyone would hire me or I could even get another DevOps job.

I don't know, just need some advice and help. Feel so hopeless and sad.

https://redd.it/1ehwd9s
@r_devops
Will people be interested in a super hands-on/practical data security + crypto key short course?

Hello reddit,
I'm a platform/security engineer. I do a lot of preaching on how standardized data encryption + crypto key management could work and how it could simplify platform engineer's life by not having to configure access/permission policies for every single data platforms and then figure out how to align these policies on various platforms. I was wondering if this is something that will be interesting to people where I can walk through the end to end process from creating a key, configure key access, adding it to the client, encrypt the data etc. show how different types of crypto keys could be applicable in different scenarios. I thought I could maybe just create 30 mins course w/ some terraform + data encryption code step by step. Will this be something people are interested?

Appreciate the feedback.

View Poll

https://redd.it/1ei2owa
@r_devops
How to get ready for a junior/entry level DevOps job

Hello people, I am about to finish my thesis as an electrical engineering student and I would like to get into DevOps. Having no experience in software development since I focused on telecommunications and robotics, I started about a month ago the IBM DevOps and Software Engineering professional certificate on Coursera. Can you help me lay out some goals about what skills to pursue or what certifications to pass so I can have a clear path in mind before I prepare my CV?

Thank you in advance.

https://redd.it/1ei3x48
@r_devops