Reddit DevOps
278 subscribers
70 photos
32.2K links
Reddit DevOps. #devops
Thanks @reddit2telegram and @r_channels
Download Telegram
What do you use as a secondary device for your work?

My daily driver is a high end MacBook Pro (like most of us here).

I'm looking to get a secondary device. I've narrowed it down to three that are roughly the same price but I'm curious about people's thoughts and there may be other ideas.

A good SSH experience and web browsing experience are paramount.

iPad Pro and smart keyboard - this is probably the most thin and light of the 3 options I'm looking at and has the best battery life. The big downside is I can't do any local dev on it and will have to SSH into something.

Pixelbook Go - I'm stuck only using google's browser. However I can do a ton of linux native stuff and run docker containers locally and run the linux version of visual studio code locally.

Dell XPS 13 - I'd have to go with the base model to keep the price low but considering I'm just SSHing and using a browser and other tools this could work. It would be Windows...which would give more flexibility in what apps I can run. WSL on Windows has interesting implications and the new Windows Terminal also looks good. This would be the most expensive option of the three.

Any thoughts on this?

https://redd.it/dwz747
@r_devops
Dev Ops Engineer Technical Interview Advice

Hi! I am requesting advice for a devops technical interview. If anyone would be willing to share their tips and tricks on the best ways to prepare, or any book or website recommendations, it would be extremely helpful. Below is a description of the technical interview that I was sent from a company's recruiting department:

​

"Topics you should be prepared to discuss technically in depth are: Kubernetes experience and knowledge, Docker, Cloud experience, troubleshooting, debugging, Linux administration and terraforms."

https://redd.it/dvz3qb
@r_devops
CI/CD for small personal project

I have small mobile application with no unit tests currently written. They are OTW but im trying to better understand what exactly CI/CD would do for me, specifically GitHub Actions as this is free for me. I want to publish this app and do everything the way a legit shop would. Is there any purpose to CI/CD for a small app with only 1 developer working on it? It's my understanding that CI, if I had tests, would allow me to run all those test every time I push a commit. Is there anything else that would benefit a lone developer?

Thanks

https://redd.it/dwyv1n
@r_devops
Security Q: If a Hacker successfully gains SSH access to a Docker container, can they figure out that they're in a container?

For a small side-project, I've been thinking about setting up a couple of honey pots to monitor and collect data on, mostly to show how common and frequent pen attempts are (mostly thinking a wordpress site, the classic).

And I got to thinking--if a bad actor SSH's successfully into a Docker container exposed to to the internet, how might they determine that they're on a container and not on the ~~root~~ underlying host?

It's kind of fun/novel to get approach infrastructure from this perspective.


\*Edited word for clarity

https://redd.it/dwwstc
@r_devops
Automatic Jenkins Job Creation

Hey guys!


We started using Jenkins as a cron management tool to run our scripts that run on a daily basis. The job creation parameters of each of these scripts are exactly the same, aside from the name of the script.

For example, the only thing that changes in the build configuration in jenkins for these script jobs, are the docker run command that just changes the name of the script.

I can see how we can automate this process for creating a new job. Instead of going to Jenkins, adding a new item, and copy and pasting all the configs, I'm sure there is a way to automate this. I'm just not exactly sure how to go about it.

I should clarify that this consists of 2 jobs basically:

Job 1: rebuilds the docker image everytime a push is made into master.

Job 2 - 40 : each of these jobs are the script that needs to run daily. All the job parameters are the same except for the docker run command. The docker run command uses the image that is built from job1.

Here is what I'm thinking how this could work:
We could develop a script using Jenkin's API that takes in the script name as a parameter, and creates the job using jenkin's restful api. We can have this script in master, and somehow execute this script automatically, by providing the newest entry into the repo as a parameter.

Would this be at all possible?

https://redd.it/dwybbm
@r_devops
Container platform for the Enterprise

Yesterday I published the first part of my book which is currently free on [https://leanpub.com/cpe](https://leanpub.com/cpe)

The title of the book is "Container platform for the Enterprise". The idea behind the book is to give insights in how to create a container platform the DevOps way but also to support the DevOps way of working in an organization.

The first part of the book focuses on the organization, decisions that need to made and the team setup. The rest of the book will be more focused on setting up the platform and what it takes to do it. The book is not a hands-on guide but it tries to give you insights into the problems, options and why you can or should choose certain directions.

https://redd.it/dx4g8t
@r_devops
Two separate repos (not dependent on one another) in same k8s node

Newbie question that seems exactly what k8s does, but just wanting to confirm.

Two separate repos with different concerns and in the same k8s node. Each repo would run as separate deployments in the node.

Pipelines can be setup for each repo, for the same node, where pushes/passing tests to that repo only updates that deployment in the node, correct?

There is no need to do some Git magic (subtree or submodule) to consolidate these into a single repo and then deploy from there?

Each repo can be worked on individually, pushed, triggering pipeline, tests pass, and it updates just that deployment in the node?

https://redd.it/dwx0so
@r_devops
Authenticate Jenkins to access Google Drive/Sheets

Hi there,

I'm trying to automate the process of downloading a Google Sheets file as an excel and uploading it to an s3 bucket. I have an endpoint that downloads the file as excel, but when Jenkins does a GET request to it it gets blocked by the Google login prompt.

I can't seem to find a good way to authenticate/allow Jenkins to programmatically hit that endpoint. Does anyone have any documentation or ideas on how I should be doing it? I've googled to no avail and can't imagine I'm the first person to do this. Any help would be awesome

https://redd.it/dx87ea
@r_devops
Centralized Unit Test Validation for Multiple Git(*) Repositories

Hey guys,

I have a project which I don't know how to even get started with. I will appreciate your help and ideas.

The project requires complex automation of git repository workflow (github, gitlab, etc - at this point git source vendor doesn't matter). Here is the scenario:

1. I have 20 people who will provide authentication to their git platform account and will fork my private repository.
2. Then, when they update and push code to their fork, I want to have a cloud/self-hosted devops project, which will pull their code and validate it with unit tests (challenge #1).
3. The output status of the pipeline (passed or failed) will be sent to my server to track their fork build status (challenge #2).

Are the above steps possible with any technologies out there? If not, I am open to alternative solutions, but the basic requirement is:

* people will have only read-access to my code, but i will need to programmatically validate the build output of their code with unit tests.

I've been thinking about this requirement for a long time, but couldn't come up with any solution. Maybe there is something fundamentally wrong with this requirement? Maybe i shouldn't be using Git, but a centralized version control?

Thanks a lot for the help.

https://redd.it/dx7ukp
@r_devops
Who has the best chance to become a "platform" for DevOps?

Everyone from GitLab, JFrog to CloudBees seems to be intent on making a broader platform and not stay a tool or a point solution in the whole tool chain.

I think GitLab has the been the most vocal about this, but i feel jFrog's central role as source of truth of artifacts could be very helpful in trying to expand into DevSecOps and distribution.

Who do you think has the best chance?

https://redd.it/dxaa11
@r_devops
It's a secret!

So I'm currently doing my research on handling secrets through the tech stack, with the focus currently on the build \\ deploy pipelines. This is for a hybrid cloud project which can be summed up as K8's on AWS + a few extras bits, trying to avoid vendor specific tooling however.

In real terms, we're probably going to go down the route of Hashicorp Vault. However when I submit my research, I want it to have good, concrete reasons for it other than "It's what everyone else is doing"

The thing is, I can't seem to find any real comparisons. I'm focusing my research on Vault, Keywhiz and Torus. I know Vault has a comparison with Keywhiz on their website, but that's about it.

Does anyone know of any articles or podcasts that actually go over the differences in an easy to understand fashion.

https://redd.it/dvrx79
@r_devops
Differences between implementing Centralized Logging vs Distributed Logging in a small scale IT industry having applications running on AWS?

Which one would you chose if you care more about monitoring your infrastructure, specially if you have a small team and limited amount of resources? I am new to DevOps culture.

https://redd.it/dvp69a
@r_devops
I fell into this field and I'm not successful at it. The operations people do not understand how I work as a software engineer.

There is a pattern wherein I get tasked with a difficult, large project that nobody wants to touch. Sometimes after spending a great deal of time figuring out what not to do or finding something that doesn't work, I stake out a robust v1.0 project in something I've never done before that solves the problem and I deliver on it. I generally approach other issues solving the real question or dilemma, with a lot of deliberation and caution because it's production.

This seems unwelcome in a "move fast and break things" culture that is all too prevalent.

In executing the project, I get whatever helping of the following: zero support from management or coworkers because everyone is swamped and ignoring emails and chats, my boss doesn't understand what I'm doing or have the time to care, his boss doesn't have a clear idea because there's no communication between them, or the absolute worst, management with no authority to deal with other teams.

I have to rely on my intuition to navigate complex ecosystems made difficult by the fact that everyone relies on dated, legacy software and OSs. I find this intensive, isolated trial-and-error process to be immensely frustrating and taxing, so to burn off steam here and there and get my mind off it so I can go back with a fresh set of eyes, I might check my phone or look at something else online for whatever period of time which pisses off management despite the fact that people are *always* screwing around here. Anyways, this informs them that my performance is not up to par, usually something I usually find out too late in the process.

I cannot use 100% of my brain all the time to do this stuff. I don't know how anyone can.

The operations people especially do not understand me. They want MVPs that don't actually work (we would have been shut down if the MVP they were asking for leaked confidential information, which it would have), this last company had no code review and had things constantly breaking, and my boss's boss's deploy scripts had the worst code I've ever seen. I cannot, with my experience, move at the speed they're asking because what they're asking for doesn't fucking work.

Moreover, the operations people need tremendous reliability in employees so it's not accommodating for health issues despite what they think. As an epileptic amongst a handful of other issues I've been disciplined twice for having seizures at night that severely interfere with my work the next day and I have to call off late at night because I didn't get any sleep. Everyone sick has to WFH. I don't get it. I get that these are "small teams" but WTF, fix your hiring culture and make them larger.

Hiring in devops is another can of worms. This field is notoriously picky and has swamped engineers as a result.

I'm no longer calling myself devops but what I do best: software and infrastructure engineering. With this knowledge I'm looking for my next gig and I hope I find it fast. I've learned these lessons too late.

https://redd.it/dvo7zj
@r_devops
Is there any downside to using Bitnami images from AWS marketplace?

I see that many images are available free to use whereas Enterprise versions would be expensive to pay directly (looking at jFrog artifactory).

However it sounds too good to be true that you can get all these Enterprise-grade OSS from a third party, with certified images in the AWS marketplace, without paying any money to original vendor (jFrog) or Bitnami.

https://redd.it/dxdouf
@r_devops
Docker, GitHub and continuous deployment

Hello guys,

I recently moved away from Heroku and created a droplet on Digital Ocean. Now with my new won freedom I also lost some luxury functions like the auto deployment functionality of Heroku but I bet we can figure out a better solution for this :^)

Well first of all I am wondering how my approach should go down. I have a nodejs backend which I want to deploy to my VPS when I commit to the master branch. I have a docker-compose file for the database right now and I plan on dockerizing the backend as well so I can add that to the docker-compose file.

So I am wondering what my plan of attack should be? I will create a Dockerfile for the nodejs backend. So when I push to master, I need to get the whole repo to my VPS, create the image of the backend and launch the docker-compose. Any recommendations? I do not want to install an additional Jenkins on my VPS. In the past I used Gitlabs CI runner but I am on GitHub right now.
Side note: Where do I save my environment variables? If I put them in the Dockerfile, I would have to check them into git as well

https://redd.it/dxbacd
@r_devops
Is it possible to come from a non-dev job into a DevOps career?

First off, I understand that DevOps isn't meant to be an Engineer role. It's meant to be a culture. Now that we've addressed the elephant in the room, we can move onto the reality of the fact that DevOps Engineer is now a real career title in the workforce.

I've read The Phoenix Project. I have done some studying and playing with tools/technologies (to list them in a mixed-hat fashion) such as Ansible, Terraform, AWS, GCP, K8s, OpenShift, GitLab CI, and Docker, and trying to utilize these tools at work where applicable. I'm also kind of basically dangerous at writing Helm charts.

For my work I have been writing useful web applications in Golang, and pushing them to GitLab where it runs my CI for unit testing and then creating a container image. The CI then pushes the new image to an OpenShift project image stream, which triggers my deployment to start a rolling update for the new code. These tools get used by people in my department, as well as some remote teams.

Other than that, I have submitted snippets of Ansible playbooks to our team that's in charge of that infrastructure automation to help prevent future outages after we deemed that the outage could have been prevented by an OS configuration.

My biggest take away from job interviews thus far has been that my experience is inadequate, which I believe is partially due to the fact that my actual title is more akin to Help Desk Technician II. Another possibility being that I don't have a college degree. I haven't been able to use Terraform, AWS, or GCP really at work because we host our own servers. What more should I be doing to advance in my career? Is there a stepping stone position from where I'm currently at that people tend to go through first? I'm partially asking all this for real, but I suppose also partially to vent after many promising interviews ended with no call-back.

https://redd.it/dx7gux
@r_devops
Looking for an AWS centered Airflow/job/batch management (python)

Hi,

I'm having troubles finding projects like airflow/luigi but that would be centered on AWS.

My goal is to :

* run anychronous but still dependent processes in ECS
* write workflows/tasks as code
* uses cloudwatch for log storage and retrieval
* uses cloudwatch for metrics storage, retrival being done with grafana
* be able to use aa REST api to launch the workflows, monitor them, etc...

The absolute requirements:

* free
* open source, hackable
* made in python

I checked the airflow documentation, it seems it'd a great product but it's doing too much things by itself, that could instead use actual AWS services. It has some integrations with lambdas and S3 but it seems like afterthoughts, even if they may work properly.

How do you guys handle this ? I don't want to spend my time rewriting dashboards that would analyze cloudwatch, ECS logs, etc..

Thanks !

https://redd.it/dx6vo9
@r_devops
When do you decide that you need to use containerization in production? what is the benefits?do you have a checklist or something?



https://redd.it/dx3864
@r_devops