"Error": "400 Bad Request"})
break # Stop retrying on 400 errors
response.raise_for_status()
data = response.json()
rows = data.get("properties", {}).get("rows", [])
if rows:
cost = rows[0][0]
if cost < 5:
print(f"✅ {sub_id} has low spend: ${cost}")
results.append({"Subscription ID": sub_id, "Monthly Spend ($)": cost})
break # Exit retry loop if successful
except requests.exceptions.SSLError as e:
print(f"⚠️ SSL Error on {sub_id}: {e}. Retrying in 5s...")
time.sleep(5)
except requests.exceptions.RequestException as e:
print(f"❌ Failed to fetch cost for {sub_id}: {e}")
failed_subscriptions.append({"Subscription ID": sub_id, "Error": str(e)})
break # Stop retrying
time.sleep(2) # Slower request rate to prevent rate limiting
return results, failed_subscriptions
# Main execution
if __name__ == "__main__":
print("🔄 Fetching Azure costs for February (subscriptions under $5)...")
token = get_access_token()
subscriptions = read_subscription_ids()
results, failed_subscriptions = get_costs_for_subscriptions(subscriptions, token)
# Export results to Excel
if results:
df = pd.DataFrame(results)
filename = f"low_cost_subscriptions_{datetime.now().strftime('%Y%m%d_%H%M%S')}.xlsx"
df.to_excel(filename, index=False)
print(f"\n✅ Exported low-cost subscriptions to: {filename}")
if failed_subscriptions:
df_fail = pd.DataFrame(failed_subscriptions)
fail_filename = f"failed_subscriptions_{datetime.now().strftime('%Y%m%d_%H%M%S')}.xlsx"
df_fail.to_excel(fail_filename, index=False)
print(f"\n⚠️ Exported failed subscriptions to: {fail_filename}")
https://redd.it/1jgh69t
@r_devops
break # Stop retrying on 400 errors
response.raise_for_status()
data = response.json()
rows = data.get("properties", {}).get("rows", [])
if rows:
cost = rows[0][0]
if cost < 5:
print(f"✅ {sub_id} has low spend: ${cost}")
results.append({"Subscription ID": sub_id, "Monthly Spend ($)": cost})
break # Exit retry loop if successful
except requests.exceptions.SSLError as e:
print(f"⚠️ SSL Error on {sub_id}: {e}. Retrying in 5s...")
time.sleep(5)
except requests.exceptions.RequestException as e:
print(f"❌ Failed to fetch cost for {sub_id}: {e}")
failed_subscriptions.append({"Subscription ID": sub_id, "Error": str(e)})
break # Stop retrying
time.sleep(2) # Slower request rate to prevent rate limiting
return results, failed_subscriptions
# Main execution
if __name__ == "__main__":
print("🔄 Fetching Azure costs for February (subscriptions under $5)...")
token = get_access_token()
subscriptions = read_subscription_ids()
results, failed_subscriptions = get_costs_for_subscriptions(subscriptions, token)
# Export results to Excel
if results:
df = pd.DataFrame(results)
filename = f"low_cost_subscriptions_{datetime.now().strftime('%Y%m%d_%H%M%S')}.xlsx"
df.to_excel(filename, index=False)
print(f"\n✅ Exported low-cost subscriptions to: {filename}")
if failed_subscriptions:
df_fail = pd.DataFrame(failed_subscriptions)
fail_filename = f"failed_subscriptions_{datetime.now().strftime('%Y%m%d_%H%M%S')}.xlsx"
df_fail.to_excel(fail_filename, index=False)
print(f"\n⚠️ Exported failed subscriptions to: {fail_filename}")
https://redd.it/1jgh69t
@r_devops
Reddit
From the devops community on Reddit
Explore this post and more from the devops community
Anyone build their own peronal CI/CD pipeline before?
Hello fellow devops engineers, has anyone ever tried to develop a basic self-hosted CI/CD pipeline before?
https://redd.it/1jgjpmw
@r_devops
Hello fellow devops engineers, has anyone ever tried to develop a basic self-hosted CI/CD pipeline before?
https://redd.it/1jgjpmw
@r_devops
Reddit
From the devops community on Reddit
Explore this post and more from the devops community
I don't know where to get started
I'm a mid-level DevOps engineer with average Java backend experience, and I've just been assigned to a .NET project at my new company. Since my background is in Java, I honestly have no idea what's going on. The project's documentation isn't clear, and even though my teammates might help, I don’t want to come across as someone who needs to be spoon-fed, especially since I'm new to the team. They gave me a high-level overview of the project, but I'm still confused—I don’t even know which file to build or how to run things locally. Any advice?
https://redd.it/1jgh1xt
@r_devops
I'm a mid-level DevOps engineer with average Java backend experience, and I've just been assigned to a .NET project at my new company. Since my background is in Java, I honestly have no idea what's going on. The project's documentation isn't clear, and even though my teammates might help, I don’t want to come across as someone who needs to be spoon-fed, especially since I'm new to the team. They gave me a high-level overview of the project, but I'm still confused—I don’t even know which file to build or how to run things locally. Any advice?
https://redd.it/1jgh1xt
@r_devops
Reddit
From the devops community on Reddit
Explore this post and more from the devops community
Is there a better way to build react production projects as a mono repo?
An interesting repo that landed in my lap today, it is not meant for containerized solution but something native.
The repo is just a bunch of really small plugin-ish type react projects all configured with
CI/CD: Gitlab-CI and push the generated artifacts to Artifactory.
Repo structure is as follows:
I made a simple
this will recursively build the projects with a caveat that it will keep installing vite for each and every plugin locally.
In order to avoid redudantly pulling
which reduced the build times for me.
Granted this is not by a long shot a good repo structure and neither could I deem it as a monorepo of sorts but this was what handed to me to work with and it got the job done.
Any recommendations, comments on things I can improve, take care or refactor when working with such an
https://redd.it/1jgnn7u
@r_devops
An interesting repo that landed in my lap today, it is not meant for containerized solution but something native.
The repo is just a bunch of really small plugin-ish type react projects all configured with
vite. A total of 20 such small plugins and the final artifact to generate was all of the project's production-ready distribution dirs bundled as a final tarball.CI/CD: Gitlab-CI and push the generated artifacts to Artifactory.
Repo structure is as follows:
repo_root/
plugins/
example-1-plugin/
...
example-20-plugin/
I made a simple
MakefilePLUGINS := example-1 example-2 ... example-20
all: $(PLUGINS)
$(PLUGINS):
npm install --prefix=plugins/$@-plugin/
npm build run --prefix=plugins/$@-plugin/
this will recursively build the projects with a caveat that it will keep installing vite for each and every plugin locally.
In order to avoid redudantly pulling
vite everytime I used npm link on installed node_modules in order to symlink the already existing vite vite-react-swc tailwind stuff.$(PLUGINS):
npm install --prefix=plugins/$@-plugin/ && \
npm link --prefix=plugins/$@-plugin && \
npm link --prefix=plugins/$@-plugin vite vite-react-swc && \
npm run build --prefix=plugins/$@-plugin/
which reduced the build times for me.
Granted this is not by a long shot a good repo structure and neither could I deem it as a monorepo of sorts but this was what handed to me to work with and it got the job done.
Any recommendations, comments on things I can improve, take care or refactor when working with such an
npm node scenario.https://redd.it/1jgnn7u
@r_devops
Reddit
From the devops community on Reddit
Explore this post and more from the devops community
GitHub Actions Supply Chain Attack: A Targeted Attack on Coinbase Expanded to the Widespread tj-actions/changed-files Incident
The original compromise of the tj-actions/changed-files GitHub action reported last week was initially intended to specifically target Coinbase. After they mitigated it, the attacker initiated the Widespread attack.
https://unit42.paloaltonetworks.com/github-actions-supply-chain-attack/
https://redd.it/1jgob6a
@r_devops
The original compromise of the tj-actions/changed-files GitHub action reported last week was initially intended to specifically target Coinbase. After they mitigated it, the attacker initiated the Widespread attack.
https://unit42.paloaltonetworks.com/github-actions-supply-chain-attack/
https://redd.it/1jgob6a
@r_devops
Unit 42
GitHub Actions Supply Chain Attack: A Targeted Attack on Coinbase Expanded to the Widespread tj-actions/changed-files Incident:…
A compromise of the GitHub action tj-actions/changed-files highlights how attackers could exploit vulnerabilities in third-party actions to compromise supply chains. A compromise of the GitHub action tj-actions/changed-files highlights how attackers could…
Got a new role in DevOps but need advice since my background is sysadmin
Just received an offer for a full time devops engineer but my background is in linux/sysadmin for the past 4 years. I will say that I was very stagnant in my previous position and instead of learning and developing it was constant firefighting and due to the unstable nature of the job market I was reluctant to look for a new job.
A recruiter reached out to me with this opportunity and even though my experience was limited I still had working knowledge of Jenkins/Datadog but nothing related to docker and AWS but still went ahead and impressed them in the interview process that they gave me an offer. I want to really succeed in this position and just need help where I need to upskill/focus new tools to hit the ground running and keep up.
https://redd.it/1jgpd17
@r_devops
Just received an offer for a full time devops engineer but my background is in linux/sysadmin for the past 4 years. I will say that I was very stagnant in my previous position and instead of learning and developing it was constant firefighting and due to the unstable nature of the job market I was reluctant to look for a new job.
A recruiter reached out to me with this opportunity and even though my experience was limited I still had working knowledge of Jenkins/Datadog but nothing related to docker and AWS but still went ahead and impressed them in the interview process that they gave me an offer. I want to really succeed in this position and just need help where I need to upskill/focus new tools to hit the ground running and keep up.
https://redd.it/1jgpd17
@r_devops
Reddit
From the devops community on Reddit
Explore this post and more from the devops community
No-code platform for easy editing, responsiveness, and Figma integration
Hey everyone! How’s it going?
I’m a UX Designer, and I’m facing a problem that I believe you might be able to help me with. I design interfaces for an education network, and since we have multiple products, each with its own website, our development team struggled to implement basic updates and improvements. Simple requests, like changing images, text, or buttons, would take days to be completed.
Because of this, management decided to move our websites to a no-code or more user-friendly platform (I was against this decision) and chose WIX as the solution. The issue is that WIX has terrible integration with Figma. Every time I try to import a project, it breaks and comes with a lot of bugs. My only option is to design in Figma and then manually rebuild everything on the platform, which creates a huge amount of extra work. On top of that, the projects become heavy, and I have to fine-tune every little detail using prebuilt elements and templates, which significantly limits customization.
Another major issue is mobile responsiveness. WIX requires manual adjustments on almost every screen, and even then, the final result is far from optimized, which negatively impacts the user experience. Additionally, the platform is incredibly slow for basic tasks like aligning elements and adjusting spacing, making the editing process even more frustrating.
Do you know of any platform similar to WIX that integrates well with Figma, is easy to edit for someone with little coding knowledge, and offers better mobile responsiveness?
https://redd.it/1jgrabw
@r_devops
Hey everyone! How’s it going?
I’m a UX Designer, and I’m facing a problem that I believe you might be able to help me with. I design interfaces for an education network, and since we have multiple products, each with its own website, our development team struggled to implement basic updates and improvements. Simple requests, like changing images, text, or buttons, would take days to be completed.
Because of this, management decided to move our websites to a no-code or more user-friendly platform (I was against this decision) and chose WIX as the solution. The issue is that WIX has terrible integration with Figma. Every time I try to import a project, it breaks and comes with a lot of bugs. My only option is to design in Figma and then manually rebuild everything on the platform, which creates a huge amount of extra work. On top of that, the projects become heavy, and I have to fine-tune every little detail using prebuilt elements and templates, which significantly limits customization.
Another major issue is mobile responsiveness. WIX requires manual adjustments on almost every screen, and even then, the final result is far from optimized, which negatively impacts the user experience. Additionally, the platform is incredibly slow for basic tasks like aligning elements and adjusting spacing, making the editing process even more frustrating.
Do you know of any platform similar to WIX that integrates well with Figma, is easy to edit for someone with little coding knowledge, and offers better mobile responsiveness?
https://redd.it/1jgrabw
@r_devops
Reddit
From the devops community on Reddit
Explore this post and more from the devops community
No-code platform for easy editing, responsiveness, and Figma integration
Hey everyone! How’s it going?
I’m a UX Designer, and I’m facing a problem that I believe you might be able to help me with. I design interfaces for an education network, and since we have multiple products, each with its own website, our development team struggled to implement basic updates and improvements. Simple requests, like changing images, text, or buttons, would take days to be completed.
Because of this, management decided to move our websites to a no-code or more user-friendly platform (I was against this decision) and chose WIX as the solution. The issue is that WIX has terrible integration with Figma. Every time I try to import a project, it breaks and comes with a lot of bugs. My only option is to design in Figma and then manually rebuild everything on the platform, which creates a huge amount of extra work. On top of that, the projects become heavy, and I have to fine-tune every little detail using prebuilt elements and templates, which significantly limits customization.
Another major issue is mobile responsiveness. WIX requires manual adjustments on almost every screen, and even then, the final result is far from optimized, which negatively impacts the user experience. Additionally, the platform is incredibly slow for basic tasks like aligning elements and adjusting spacing, making the editing process even more frustrating.
Do you know of any platform similar to WIX that integrates well with Figma, is easy to edit for someone with little coding knowledge, and offers better mobile responsiveness?
https://redd.it/1jgra8h
@r_devops
Hey everyone! How’s it going?
I’m a UX Designer, and I’m facing a problem that I believe you might be able to help me with. I design interfaces for an education network, and since we have multiple products, each with its own website, our development team struggled to implement basic updates and improvements. Simple requests, like changing images, text, or buttons, would take days to be completed.
Because of this, management decided to move our websites to a no-code or more user-friendly platform (I was against this decision) and chose WIX as the solution. The issue is that WIX has terrible integration with Figma. Every time I try to import a project, it breaks and comes with a lot of bugs. My only option is to design in Figma and then manually rebuild everything on the platform, which creates a huge amount of extra work. On top of that, the projects become heavy, and I have to fine-tune every little detail using prebuilt elements and templates, which significantly limits customization.
Another major issue is mobile responsiveness. WIX requires manual adjustments on almost every screen, and even then, the final result is far from optimized, which negatively impacts the user experience. Additionally, the platform is incredibly slow for basic tasks like aligning elements and adjusting spacing, making the editing process even more frustrating.
Do you know of any platform similar to WIX that integrates well with Figma, is easy to edit for someone with little coding knowledge, and offers better mobile responsiveness?
https://redd.it/1jgra8h
@r_devops
Reddit
From the devops community on Reddit
Explore this post and more from the devops community
"devops"->"DevOps" on Linkedin gave 100,000+ more results
I've been looking for a new job for a few weeks now and decided to look for devops roles on LinkedIn. Typed in "devops" and got like few thousand results.. felt pretty down.
I've been working with Linkedin API and by complete accident I capitalized it to "devops"->"DevOps" and HOLY SHIT - 110,000+ JOBS APPEARED OUT OF NOWHERE! 🤯
This piece of crap website is case sensitive no wonder I saw no results in UI.
https://ibb.co/9BvWDPK vs. https://ibb.co/fYdLJWgC
anyway my side project is devops market analysis tool. I did a UI for it and there results are matching I got few other stats too, gonna keep it updated prepare.sh/trends/devops
https://redd.it/1jgx2mt
@r_devops
I've been looking for a new job for a few weeks now and decided to look for devops roles on LinkedIn. Typed in "devops" and got like few thousand results.. felt pretty down.
I've been working with Linkedin API and by complete accident I capitalized it to "devops"->"DevOps" and HOLY SHIT - 110,000+ JOBS APPEARED OUT OF NOWHERE! 🤯
This piece of crap website is case sensitive no wonder I saw no results in UI.
https://ibb.co/9BvWDPK vs. https://ibb.co/fYdLJWgC
anyway my side project is devops market analysis tool. I did a UI for it and there results are matching I got few other stats too, gonna keep it updated prepare.sh/trends/devops
https://redd.it/1jgx2mt
@r_devops
ImgBB
Screenshot-2025-03-21-at-22-42-22 hosted at ImgBB
Image Screenshot-2025-03-21-at-22-42-22 hosted in ImgBB
Experience with AWS reseller DoIt
People who migrated their AWS organization accounts to FinOps service DoIt, what was your experience of switching your org to DoIt?
Did any of your AWS services break as a consequence of the migration?
In particular, did any existing SSO solution break. (I heard this has happened to some customers.)
https://redd.it/1jgwvbb
@r_devops
People who migrated their AWS organization accounts to FinOps service DoIt, what was your experience of switching your org to DoIt?
Did any of your AWS services break as a consequence of the migration?
In particular, did any existing SSO solution break. (I heard this has happened to some customers.)
https://redd.it/1jgwvbb
@r_devops
Reddit
From the devops community on Reddit
Explore this post and more from the devops community
I built Envs.AI - a free tool to manage environment variables across your tech stack
Hey everyone,
I wanted to share a tool I built to solve a common headache for developers and DevOps teams - managing environment variables across different environments and platforms.
**What is Envs.AI?** It's a free SaaS that provides a central, secure place to store all your environment variables. You can easily integrate it with Jenkins, Python projects, and other parts of your tech stack.
**Why I built it:** I got tired of scattered .env files, sharing secrets through Slack, and the inevitable "works on my machine" problems that come from mismatched environment setups.
**Features:**
* Store all env variables in one secure location
* Simple integration with CI/CD pipelines
* API access for different languages and frameworks
* Team collaboration tools
* 100% free to use
Would love to hear your thoughts, feedback, or feature requests! What pain points do you have with managing env variables?
[Envs.AI](https://Envs.AI)
https://redd.it/1jgzy5h
@r_devops
Hey everyone,
I wanted to share a tool I built to solve a common headache for developers and DevOps teams - managing environment variables across different environments and platforms.
**What is Envs.AI?** It's a free SaaS that provides a central, secure place to store all your environment variables. You can easily integrate it with Jenkins, Python projects, and other parts of your tech stack.
**Why I built it:** I got tired of scattered .env files, sharing secrets through Slack, and the inevitable "works on my machine" problems that come from mismatched environment setups.
**Features:**
* Store all env variables in one secure location
* Simple integration with CI/CD pipelines
* API access for different languages and frameworks
* Team collaboration tools
* 100% free to use
Would love to hear your thoughts, feedback, or feature requests! What pain points do you have with managing env variables?
[Envs.AI](https://Envs.AI)
https://redd.it/1jgzy5h
@r_devops
envs.ai
Envs.AI - Secure Environment Variable Management
Securely manage environment variables across projects and environments. Perfect for teams and CI/CD pipelines.
Built a fun MERN Chat App on EKS! Roast My DevOps Setup!
Just finished a fun project: a MERN chat app on EKS, fully automated with Terraform & GitLab CI/CD. Think "chat roulette" but for my sanity. 😅
Diagram: https://imgur.com/a/CkP0VBI
My Stack:
Infra: Terraform (S3 state, obvs)
Net: Fancy VPC with all the subnets & gateways.
K8s: EKS + Helm Charts (rollbacks ftw!)
CI/CD: GitLab, baby! (Docker, ECR, deploy!)
Load Balancer: NLB + AWS LB Controller.
Logging: Not in this project yet
I'm eager to learn from your experiences and insights! Thanks in advance for your feedback :)
https://redd.it/1jh2egn
@r_devops
Just finished a fun project: a MERN chat app on EKS, fully automated with Terraform & GitLab CI/CD. Think "chat roulette" but for my sanity. 😅
Diagram: https://imgur.com/a/CkP0VBI
My Stack:
Infra: Terraform (S3 state, obvs)
Net: Fancy VPC with all the subnets & gateways.
K8s: EKS + Helm Charts (rollbacks ftw!)
CI/CD: GitLab, baby! (Docker, ECR, deploy!)
Load Balancer: NLB + AWS LB Controller.
Logging: Not in this project yet
I'm eager to learn from your experiences and insights! Thanks in advance for your feedback :)
https://redd.it/1jh2egn
@r_devops
Imgur
Discover the magic of the internet at Imgur, a community powered entertainment destination. Lift your spirits with funny jokes, trending memes, entertaining gifs, inspiring stories, viral videos, and so much more from users.
Why my backend app is running slow?
It's a pretty simple Java application which is my personal project and have my frontend(angular) hosted on vercel, backend(Spring Boot) on Koyeb and MySql on aiven cloud.
Here is my link of forntend: gadget-shop-frontend.vercel.app/index
and my backend: gadgetshop-backend.koyeb.app/api/all-products
Apis are: api/all-products, api/all-categories, api/product/1, api/product/2, api/categoty/1, api/categories.
I have an extra facade layer and DTOs also. In my local host it was really perfect but after deploying on cloud, it feels like, it's taking almost 7-8 seconds for every API call. So, if there is someone experienced, I am asking for help, I am looking for expert's opinion.
https://redd.it/1jh83h3
@r_devops
It's a pretty simple Java application which is my personal project and have my frontend(angular) hosted on vercel, backend(Spring Boot) on Koyeb and MySql on aiven cloud.
Here is my link of forntend: gadget-shop-frontend.vercel.app/index
and my backend: gadgetshop-backend.koyeb.app/api/all-products
Apis are: api/all-products, api/all-categories, api/product/1, api/product/2, api/categoty/1, api/categories.
I have an extra facade layer and DTOs also. In my local host it was really perfect but after deploying on cloud, it feels like, it's taking almost 7-8 seconds for every API call. So, if there is someone experienced, I am asking for help, I am looking for expert's opinion.
https://redd.it/1jh83h3
@r_devops
How to deploy Helm charts on AKS GoCD cluster?
I created and deployed GoCD on my AKS. I can make a new pipeline with the Pipeline Wizard and then point to github repo. But what is the way to deploy Heml chars of my MERN stack?
https://redd.it/1jh7n61
@r_devops
I created and deployed GoCD on my AKS. I can make a new pipeline with the Pipeline Wizard and then point to github repo. But what is the way to deploy Heml chars of my MERN stack?
https://redd.it/1jh7n61
@r_devops
Reddit
From the devops community on Reddit
Explore this post and more from the devops community
Docker private registry not working
my docker private registry is running in a registry container on rhel. All images are being pulled, tagged and pushed to the registry. On another VM i have a K8s controller running crio runtime, I have made changes in the /etc/crio/crio.conf.d/10-crio.conf as below and restarted the crio service on controller. Still my K8s controller is pulling images from docker.io Please suggest !!
[crio.image\]
signature_policy = "/etc/crio/policy.json"
registries = [
"192.168.1.12:5000",
\]
[crio.runtime\]
default_runtime = "crun"
[crio.runtime.runtimes.crun\]
runtime_path = "/usr/libexec/crio/crun"
runtime_root = "/run/crun"
monitor_path = "/usr/libexec/crio/conmon"
allowed_annotations = [
"io.containers.trace-syscall",
\]
[crio.runtime.runtimes.runc\]
runtime_path = "/usr/libexec/crio/runc"
runtime_root = "/run/runc"
monitor_path = "/usr/libexec/crio/conmon"
https://redd.it/1jhaqev
@r_devops
my docker private registry is running in a registry container on rhel. All images are being pulled, tagged and pushed to the registry. On another VM i have a K8s controller running crio runtime, I have made changes in the /etc/crio/crio.conf.d/10-crio.conf as below and restarted the crio service on controller. Still my K8s controller is pulling images from docker.io Please suggest !!
[crio.image\]
signature_policy = "/etc/crio/policy.json"
registries = [
"192.168.1.12:5000",
\]
[crio.runtime\]
default_runtime = "crun"
[crio.runtime.runtimes.crun\]
runtime_path = "/usr/libexec/crio/crun"
runtime_root = "/run/crun"
monitor_path = "/usr/libexec/crio/conmon"
allowed_annotations = [
"io.containers.trace-syscall",
\]
[crio.runtime.runtimes.runc\]
runtime_path = "/usr/libexec/crio/runc"
runtime_root = "/run/runc"
monitor_path = "/usr/libexec/crio/conmon"
https://redd.it/1jhaqev
@r_devops
Docker
Docker: Accelerated Container Application Development
Docker is a platform designed to help developers build, share, and run container applications. We handle the tedious setup, so you can focus on the code.
k8s Log Rotation - Best Practice
By default it seems that kubernetes uses kubelet to ensure that log files from the containers are rotated correctly. It also seems that the only way to configure kubelet, is based on file size, not time.
I would like to create a solution, which would rotate logs based on time and not on file size. This comes in especially handy, if you want to ensure that your files are available for set amount of time, regardless of how much log producers produces the logs.
Before proceeding any further, I would like to gain a better understand what is the usual and best practice when it comes to setting up log file rotation based on k8s. Is it customary to use something else, other than kubelet? How does kubelet work, when you introduce something like logrotate on every node (via daemonset)?
Please share your ideas and experience!
https://redd.it/1jhblqj
@r_devops
By default it seems that kubernetes uses kubelet to ensure that log files from the containers are rotated correctly. It also seems that the only way to configure kubelet, is based on file size, not time.
I would like to create a solution, which would rotate logs based on time and not on file size. This comes in especially handy, if you want to ensure that your files are available for set amount of time, regardless of how much log producers produces the logs.
Before proceeding any further, I would like to gain a better understand what is the usual and best practice when it comes to setting up log file rotation based on k8s. Is it customary to use something else, other than kubelet? How does kubelet work, when you introduce something like logrotate on every node (via daemonset)?
Please share your ideas and experience!
https://redd.it/1jhblqj
@r_devops
Reddit
From the devops community on Reddit
Explore this post and more from the devops community
Database Performance Tuning Training/Resources
Recently I've had to get more and more involved in database tuning and it occurred to me that I really haven't got a clue what I'm doing.
I mean sure, I can tell that a full table scan is bad and ideally want to avoid key lookups but I feel like I struggle.
I do realize that what I lack is probably experience but I also feel that I lack a grasp on the fundamentals.
So are there any courses or books you recommend and why?
I should say that at work we have a mix of SQL Server and Postgres, heavily skewed towards the former.
https://redd.it/1jhcz6a
@r_devops
Recently I've had to get more and more involved in database tuning and it occurred to me that I really haven't got a clue what I'm doing.
I mean sure, I can tell that a full table scan is bad and ideally want to avoid key lookups but I feel like I struggle.
I do realize that what I lack is probably experience but I also feel that I lack a grasp on the fundamentals.
So are there any courses or books you recommend and why?
I should say that at work we have a mix of SQL Server and Postgres, heavily skewed towards the former.
https://redd.it/1jhcz6a
@r_devops
Reddit
From the devops community on Reddit
Explore this post and more from the devops community
anyone here prepare for a citadel interview?
Lateral hire coming in 8 years of Support experience at Goldman Sachs, position is site reliability engineer at citadel, have coderpads coming up, can someone please recommend what to study ? anyone have experience with this stuff ? should he study leetcode? thank you
https://redd.it/1jhew7b
@r_devops
Lateral hire coming in 8 years of Support experience at Goldman Sachs, position is site reliability engineer at citadel, have coderpads coming up, can someone please recommend what to study ? anyone have experience with this stuff ? should he study leetcode? thank you
https://redd.it/1jhew7b
@r_devops
Reddit
From the devops community on Reddit
Explore this post and more from the devops community
Doing freelance DevOps
I’m exploring freelancing in DevOps and wondering how viable it is.
Most roles seem full-time or contract-based, but I see people offering simple services like simple CI/CD setup, cloud automation, and Kubernetes deployments.
How hard is it to find freelance clients in this field?
What are the challenges?
Do you think freelancing in DevOps is sustainable, or is it better suited for consulting?
Would love to hear your insights!
https://redd.it/1jhg9b7
@r_devops
I’m exploring freelancing in DevOps and wondering how viable it is.
Most roles seem full-time or contract-based, but I see people offering simple services like simple CI/CD setup, cloud automation, and Kubernetes deployments.
How hard is it to find freelance clients in this field?
What are the challenges?
Do you think freelancing in DevOps is sustainable, or is it better suited for consulting?
Would love to hear your insights!
https://redd.it/1jhg9b7
@r_devops
Reddit
From the devops community on Reddit
Explore this post and more from the devops community
Rsync on temple os or ksync
Everytime i attempt to rsync my bible notes on temple os i find that it obly syncs half my notes. Anyone try ksyncing with temple?
https://redd.it/1jhfk4g
@r_devops
Everytime i attempt to rsync my bible notes on temple os i find that it obly syncs half my notes. Anyone try ksyncing with temple?
https://redd.it/1jhfk4g
@r_devops
Reddit
From the devops community on Reddit
Explore this post and more from the devops community
Struggling to find a data store that works for my use case Longhorn/Minio/Something else?
Hi folks, for some background information I started a video game server hosting service for a particular game over 2 years ago. Since then the service has grown to store hundreds of video game servers-- this may seem like a lot but the overall size of all the servers combined is around 300GB, so not too large.
The service runs atop Hetzner on a rancher K8s cluster. The lifecycle of a server works as follows:
1. Someone starts their server. We copy the files from the data store (currently Minio, previously a RWX longhorn volume) to the node that the server will be running on
2. While the server is running it writes data to its local SSD which provides a smooth gameplay experience. A sidecar container mirrors the data back to the original data store every 60 seconds to prevent data loss if the game crashes.
3. When the user is done playing on their server we write the data from the node the server was running on back to the original data store.
My biggest struggles have revolved around this initial data store that I've been mentioning. The timeline of events has looked like:
First, Longhorn RWX volume
This RWX volume stored all game server data and was mounted on many pods at once (e.g. the api pods, periodic jobs that needed access to server data, and all the running game servers that were periodically writing back to this volume). There were a few issues with this approach:
1. Single point of failure. Occasionally longhorn would restart and the volumes would detach causing every single server + the API pod to restart. This was obviously incredibly frustrating for users of the service who's server may occasionally stop in the middle of gameplay.
2. Expanding the volume size required all attached workloads to be stopped first. As the service grew in popularity so did the amount of data we were storing. In order to accommodate this increase I would have to scale down all workloads including all running servers in order to increase the underlying storage size. This is because you cannot expand a longhorn RWX volume "live".
3. Accessing server data locally isn't something I've been able to do with this setup (at least I'm not sure how)
Second, Minio
Because of those two issues I mentioned above the current approach via RWX longhorn volume just wasn't sustainable. I needed the ability to expand the underlying storage on demand without significant downtime. I also wasn't happy about the single point of failure with each workload attached to the same RWX volume. Because of this I recently mapped everything over to Minio.
Minio has been working okay but it's probably not the best option for my use case. The way I'm using Minio is sort of like a filesystem which is not its intended use as an object store. When users start/stop their servers we sync the full contents of their server to or from minio. This has some issues:
1. Minio's mirror command doesn't copy empty directories because its an object store and it doesn't make sense (in the traditional sense) to store empty keys. I've had to build a script as a workaround that creates these empty keys after the sync. Unfortunately these empty directories are created automatically by the game when it starts and are required.
2. Sometimes the mirror command leaves behind weird artifacts (see this example a customer raised to our support team today https://i.postimg.cc/CKP1YRQ6/image.png ) where files are represented as "file folder" instead of the usual file type. This might be the interaction between our SFTP server and Minio, though. It's hard to tell.
3. We're running a SFTP server that connects to Minio allowing customers to edit their server files. This has some limitations (e.g. renaming a directory as an object store has to rename all files under that particular key).
Now?
I'm not sure. I really feel like this Minio approach isn't the best solution for this problem but I'm unsure of what the best next step
Hi folks, for some background information I started a video game server hosting service for a particular game over 2 years ago. Since then the service has grown to store hundreds of video game servers-- this may seem like a lot but the overall size of all the servers combined is around 300GB, so not too large.
The service runs atop Hetzner on a rancher K8s cluster. The lifecycle of a server works as follows:
1. Someone starts their server. We copy the files from the data store (currently Minio, previously a RWX longhorn volume) to the node that the server will be running on
2. While the server is running it writes data to its local SSD which provides a smooth gameplay experience. A sidecar container mirrors the data back to the original data store every 60 seconds to prevent data loss if the game crashes.
3. When the user is done playing on their server we write the data from the node the server was running on back to the original data store.
My biggest struggles have revolved around this initial data store that I've been mentioning. The timeline of events has looked like:
First, Longhorn RWX volume
This RWX volume stored all game server data and was mounted on many pods at once (e.g. the api pods, periodic jobs that needed access to server data, and all the running game servers that were periodically writing back to this volume). There were a few issues with this approach:
1. Single point of failure. Occasionally longhorn would restart and the volumes would detach causing every single server + the API pod to restart. This was obviously incredibly frustrating for users of the service who's server may occasionally stop in the middle of gameplay.
2. Expanding the volume size required all attached workloads to be stopped first. As the service grew in popularity so did the amount of data we were storing. In order to accommodate this increase I would have to scale down all workloads including all running servers in order to increase the underlying storage size. This is because you cannot expand a longhorn RWX volume "live".
3. Accessing server data locally isn't something I've been able to do with this setup (at least I'm not sure how)
Second, Minio
Because of those two issues I mentioned above the current approach via RWX longhorn volume just wasn't sustainable. I needed the ability to expand the underlying storage on demand without significant downtime. I also wasn't happy about the single point of failure with each workload attached to the same RWX volume. Because of this I recently mapped everything over to Minio.
Minio has been working okay but it's probably not the best option for my use case. The way I'm using Minio is sort of like a filesystem which is not its intended use as an object store. When users start/stop their servers we sync the full contents of their server to or from minio. This has some issues:
1. Minio's mirror command doesn't copy empty directories because its an object store and it doesn't make sense (in the traditional sense) to store empty keys. I've had to build a script as a workaround that creates these empty keys after the sync. Unfortunately these empty directories are created automatically by the game when it starts and are required.
2. Sometimes the mirror command leaves behind weird artifacts (see this example a customer raised to our support team today https://i.postimg.cc/CKP1YRQ6/image.png ) where files are represented as "file folder" instead of the usual file type. This might be the interaction between our SFTP server and Minio, though. It's hard to tell.
3. We're running a SFTP server that connects to Minio allowing customers to edit their server files. This has some limitations (e.g. renaming a directory as an object store has to rename all files under that particular key).
Now?
I'm not sure. I really feel like this Minio approach isn't the best solution for this problem but I'm unsure of what the best next step
postimg.cc
Image — Postimages