Reddit DevOps
270 subscribers
8 photos
31.1K links
Reddit DevOps. #devops
Thanks @reddit2telegram and @r_channels
Download Telegram
Routing traffic from an API endpoint

Hey Guys,

We're working with some external vendor, And we only have one hardcoded endpoint in thier sandbox environment.



We want to use more development environments with this service,

So I wanted to ask if you have good suggestions (and how to do it...)

Lets say this enpoint https://blabla/alerts/api/v2/ received some request, so I want it to be distributed to many other development environments, but only the relevant environment will pick it up and run some logic. and all the others will ignore it (this is an internal process)

​

​

Let me know if you guys can help!

Thanks :)

https://redd.it/leqmd9
@r_devops
Test Run Dashboard - Looking for feedback

Hi All,

Some friends and I are working on a software startup called ObsidianQA. We are trying to validate the problem the app solves.

ObsidanQA is a test run dashboard that gives dev/qa teams better visibility into their applications quality. All of us work at software companies and realized the QA/Dev teams each had an internal built tool for viewing test runs. They were all very rough but the teams found them useful. This is why we decided to build a software tool that makes this quick and easy to setup for any team.

The app is free to use if you want to give it a try. Any feedback is highly appreciated.

https://www.obsidianqa.com/

https://redd.it/let1yy
@r_devops
Running Scripts or Commands in Spinnaker Pipelines

Hi everyone -

I'm trying to run scripts as part of some of my deployment pipelines in Spinnaker. I don't want to use Jenkins to run these scripts. I would use a Kubernetes job, but these scripts need to execute prior to the Kubernetes deployment.

I was debating creating ECS tasks in AWS which I'd like to run on demand during one of the stages in my pipeline. Does anyone know if it's possible to execute an ECS task directly from Spinnaker?

If not, are there any other ways to execute a command or script in a pipeline outside of using a Kubernetes job or Jenkins server?

https://redd.it/lesuu0
@r_devops
AWS CDK CodeBuild unable to upload Artifacts error

I am trying a simple example from the AWS documentation using the following link:

https://docs.aws.amazon.com/cdk/latest/guide/codepipeline\_example.html

For quick reference here is the buildspec.yml file for the CDK build. LambdaBuild is successful.

const cdkBuild = new codebuild.PipelineProject(this, 'CdkBuild', {
buildSpec: codebuild.BuildSpec.fromObject({
version: '0.2',
phases: {
install: {
commands: 'npm install',
},
build: {
commands:
'npm run build',
'npm run cdk synth -- -o dist'
,
},
},
artifacts: {
'base-directory': 'dist',
files:
'LambdaStack.template.json',
,
},
}),
environment: {
buildImage: codebuild.LinuxBuildImage.STANDARD20,
},
});

​

I am getting the following error :

​

Container 2021/02/07 03:44:53 Expanding lambdaStack.template.json 61
Container 2021/02/07 03:44:53 Skipping invalid file path lambdaStack.template.json 62
Container 2021/02/07 03:44:53 Phase complete: UPLOADARTIFACTS State: FAILED 63
[Container] 2021/02/07 03:44:53 Phase context status code: CLIENT
ERROR Message: no matching artifact paths found

THANK YOU !

https://redd.it/lemuu3
@r_devops
Skills required

Hi, I am currently pursuing post grad in cloud computing and I researched about devops and like to get into devops jobs after I complete my education. Can you guys suggest the skills I need to learn and how to get shortlisted for interview as a fresher. Mostly will be looking for jobs in Canada(Toronto). TIA

https://redd.it/lem6i7
@r_devops
Good ressources to learn devops

Hello guys, i'm a newbie in devops i've just started learning the concepts, i tried a first experience with Jenkins, GitHub webhooks docker .., but i feel like i'm missing a lot of things.
Is there any recommended resources u can suggest so i can build a strong base in the subject.
Thank you

https://redd.it/lek949
@r_devops
Continuous Integration (CI), Continuous Testing (CT), and Continuous Delivery (CD) are considered to be the key metrics to measure successful DevOps practice.

CT is considered to be the first step in the right direction when embarking on a DevOps journey. It is a continuous feedback mechanism that drives software delivery through SDLC. If the automated feedback at each checkpoint indicated no bugs or issues, then the process automatically moves to the next step in the delivery chain.

Read more on Need for Continuous Testing (CT) in DevOps CI/CD Pipeline

https://redd.it/lf45m7
@r_devops
Simple on-prem alternative to AWS for a solo-developer?

I am a developer and I am quite experienced working with AWS. I've been using a broad range of AWS services and I've been very pleased with being able to just use the AWS console and find my way around without sweating much.

Now I need to work on a project that needs to be working on premise bare metal servers. I'd I am decent software developer but my devops skills are pretty lacking. I've been looking at Kubernates, Terraform, Nomad, OpenShift, Docker swarm... Honestly, it's too complicated for me. I guess, it would make sense if you are working on projects where you need to manage tens/hundreds/thousdands? of apps/servers with a team of people. But's it simply feels like an overkill in my case.

From a solo developer perspective, what could be a simple alternative to AWS?
Basically, I need:

\- RDS (Mysql or Postgres with easy to use, automated backups etc.)
\- Elastic Beanstalk (deploying and scaling applications)
\- CloudWatch for dashboards, monitoring metrics, logs and events
\- S3 like object store (no need to be as fancy as S3)
\- And hopefully just a GUI to manage these all.

What direction can look for?

https://redd.it/lezq8h
@r_devops
Getting Better With Kubernetes

I've been working on devops for a number of years, but my experience with Kubernetes has been minimal.

Does any one have any suggestions on where I can learn more about Kubernetes? I really think I should just start at the basics and work up.

Just reading docs isn't super effective for me. I'm much better at learning by following asking with examples and reproducing those examples myself, so something with some hands on kind of learning would be great.

Thanks all!

https://redd.it/levunc
@r_devops
Gauging value for system monitoring

Consider you have started a new project or perhaps your are inheriting a legacy system that has little to no structure or documentation (or so it would seem).

What practices or approaches do you use to collect, gauge and track the important metrics your system produces?

I have been reviewing Wardley mapping as a way of exposing the needs of the systems users, feeding these back to be used as the focus for SLOs.

https://redd.it/lf8g95
@r_devops
The DevOps Institute - Certifications

Does anybody have any thoughts on whether these certifications have any value?

We have a manager pushing us to get DevOps Foundation and Leader certificates.

https://devopsinstitute.com/certifications/devops-foundation/

Do they have much credibility? Personally I have never seen any potential employer asking for them. Will it have any practical or professional value or will it just be a meaningless piece of paper?

https://redd.it/lfb0cy
@r_devops
SaaS — Smokeping as a Service Tech Talk

Tech Talk I wrote and delivered about converting a legacy linux cluster service (smokeping) into a modern CI/CD bootstrapped, intuitive cloud app. I talk business drivers, linux tech, and devops automation. #Cloud #automation #linux

https://medium.com/faun/saas-smokeping-as-a-service-tech-talk-be2078861c2c

https://redd.it/lfflna
@r_devops
GitOps for KubeVirt?

Is there a GitOps style operator for KubeVirt kinda like Argo?

​

I've had pretty good success running Argo, but I need to spin up a Windows VM in one of my clusters (ugh) and would prefer to do it IaC style. Any tips/tricks?

​

Thanks!

https://redd.it/lfmgbr
@r_devops
Configuration consistency

What tools are there to check and report the configuration is consistent across a group of nodes?

https://redd.it/lfmwzz
@r_devops
Builtin Quality for Helm Charts: unit testing to the rescue!

In this article, I discuss through a hypothesized scenario + a HandsOn, the reasons that took me into writing unit tests for helm charts along the way. Hope you find it useful.


https://medium.com/@gcavalcante8808/builtin-quality-for-helm-charts-unit-testing-to-the-rescue-2cb9d5c1ddc8

https://redd.it/lfp2dn
@r_devops
Checking the "do your servers have antivirus" box

We regularly get security questionnaires from clients that have this text. Our app is mostly Ubuntu on AWS's EC2 and GCP Cloud Compute. If you have a similar environment, how do you address this question/requirement?

https://redd.it/lfpm0s
@r_devops
Packer for usb bootable iso

New enough to packer that I'm not sure if making an ISO that's not for vagrant/docker/vm is weird.

When I look at packer Ubuntu "builders" like https://github.com/chef/bento/blob/master/packer\_templates/ubuntu/ubuntu-20.04-amd64.json

Other than changing my user name or leaving it as vagrant is there any reason this won't work?

https://redd.it/lfsygq
@r_devops
1st attempt at using Packer getting stuck at partition section

Hello,

I'm using Packer with ESXi 7 on my lab (to learn for work). I'm trying to build a Ubuntu 18.04 vm using Packer, but it gets stuck at the partition section:

https://imgur.com/5FBL1eD

This is my preseed.cfg

https://gist.githubusercontent.com/G0nz0uk/9d8560e8d74c49ebb814b5d98d0b83e3/raw/93be56f84079bab89b44ce82bdf76e483868838f/preseed.cfg

Can you see anything I'm missing?

Thanks

https://redd.it/lfnrnq
@r_devops
Enterprise equivalent of a software distribution platform like Steam?

Bit of an odd question but I've recently gotten a job in the academic space due to my experience in game development. Their goal is to distribute the software I'll be working on to clients but with all the features Steam has for this such as:

* Automatically uploading builds that pass all tests to the platform.
* Automatic updates for the software.
* Ability to distribute "DLC" to those that qualify to get it.
* Incremental updates (if one line in a 500MB file is changed, just send that line)
* Update compression to reduce bandwidth
* Ability to quickly rollback to a previous version
* Ability to have multiple branches for betas

From a game dev background I take all of these features of Steam for granted. My question now is how do I accomplish this without Steam? Are there off the shelf alternatives for this? I don't really know what to put into Google for this question so I need a bit of direction.

https://redd.it/lfi23g
@r_devops
How do your developers claim databases?

The literature for proper design of microservices has taught developers that each of their microservices should have its own, isolated database and state. This of course allows these services to be decoupled from one another ensuring that they each can grow and evolve autonomously.

While this architecture has a lot of benefits for developer and service autonomy, it also means that developers frequently need to provision or request new databases that fit their requirements. Furthermore, these requests need to be made in duplicate, triplicate or more, to accommodate different application environments like QA, dev, staging, prod, and that doesn't even begin to include private developer environments. With so many databases being provisioned to power a growing application, teams very quickly have to figure out the answers to questions like:

* who is allowed to access the cloud provider and create database instances?
* who is responsible for ensuring this database is always up and running and is a suitable size for the growing application?
* what process should developers follow to securely connect to the database from their applications?
* where should database credentials be stored?
* how do I ensure that the data is stored in accordance with local regulations?

These questions are important, but who are they important to? In most cases, all the the person who needs the database (the developer) cares about is, "I need a database of type `X` that supports features in version `Y`". Replace `X` with your favorite database type (e.g. PostgreSQL, MySQL, MongoDB, etc.) and `Y` with the version of that database type, and that should be enough for the initial request to be fulfilled. Most of the other questions on the list are best answered by SREs or other production engineering roles better equipped for them.

-----

Now for my question: what (if anything) is your company doing to make it easier for developers to provision and/or request databases or schemas to power their services and apps? Do they log into your cloud provider themselves and make instances? Do they file tickets with the SREs? Do they create CloudFormation or Terraform templates directly? Is there a team that creates and manages a central repo of shared Terraform modules? Or perhaps are you doing something else entirely?

My team and I are trying to build a framework that allows developers to more easily request private database schemas, and I'd love to find out what others are doing so I can make sure we build it to account for all cases. What we want at the end of it is for developers to declare the database type and version they need and for our deployment engine to automatically fulfill it. Fulfillment right now would do the following:

1. match the request against an existing instance in the environment or (possibly) provision a new one,
2. create a private schema for the requesting app or service
3. create a unique role for the requesting service to access the schema,
4. automatically inject the schema and credentials into the requesting service, and finally
5. whitelist network traffic from the requesting service to the database instance

Here's a brief snapshot of what a developer might declare to describe their service's database needs:

```yaml
databases:
user-data: postgres:13
cache: redis:6

services:
api:
build:
context: .
interfaces:
http: 8080
environment:
DB_URI: ${{ databases.user-data.url }} # postgres://<user>:<pass>@<host>:<port>/<db_name>
# Alternatively you can access each part of the connection URI directly
DB_USER: ${{ databases.user-data.user }}
DB_PASS: ${{ databases.user-data.pass }}
DB_HOST: ${{ databases.user-data.host }}
DB_PORT: ${{ databases.user-data.port }}
DB_NAME: ${{ databases.user-data.database }}
CACHE_URI: ${{ databases.cache.url }} # redis://user:pass@host:port/db_index
```

If you've read this far, I have two more questions for you: 1) what other features might be worth exposing to a developer, and 2)
what other key configuration details might be missing that I haven't mentioned yet? I believe this to be a separation of duties problem, and want to make sure both developer and operator concerns can be accounted for.

Thanks in advance!

https://redd.it/lfi38m
@r_devops