<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Uplift3r</title>
    <description>The latest articles on DEV Community by Uplift3r (@uplift3r).</description>
    <link>https://dev.to/uplift3r</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1729425%2F616e4561-6952-453f-a19a-5d8b1f75a8ad.jpeg</url>
      <title>DEV Community: Uplift3r</title>
      <link>https://dev.to/uplift3r</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/uplift3r"/>
    <language>en</language>
    <item>
      <title>Creating and Using a Personal Homebrew Tap</title>
      <dc:creator>Uplift3r</dc:creator>
      <pubDate>Sat, 13 Jul 2024 16:07:47 +0000</pubDate>
      <link>https://dev.to/target-ops/creating-and-using-a-personal-homebrew-tap-53bm</link>
      <guid>https://dev.to/target-ops/creating-and-using-a-personal-homebrew-tap-53bm</guid>
      <description>&lt;h1&gt;
  
  
  Creating and Using a Personal Homebrew Tap
&lt;/h1&gt;

&lt;p&gt;Follow these steps to create a personal Homebrew tap and use it:&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Create a new GitHub repository
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;  The repository name should follow the format &lt;code&gt;homebrew-&amp;lt;tap&amp;gt;&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;  For example, if you want to create a tap named &lt;code&gt;mytap&lt;/code&gt;, the repository name should be &lt;code&gt;homebrew-mytap&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  2. Add formulae to the tap
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;  In the repository, create a new file for each formula you want to add.&lt;/li&gt;
&lt;li&gt;  The file should be named &lt;code&gt;&amp;lt;formula&amp;gt;.rb&lt;/code&gt; and contain the Ruby code for the formula.&lt;/li&gt;
&lt;li&gt;  For example, to add a formula named &lt;code&gt;myformula&lt;/code&gt;, create a file named &lt;code&gt;myformula.rb&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  3. Tap the repository
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;On your local machine, use the &lt;code&gt;brew tap&lt;/code&gt; command followed by your GitHub username and the tap name:&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew tap &amp;lt;username&amp;gt;/mytap

&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Replace &lt;code&gt;&amp;lt;username&amp;gt;&lt;/code&gt; with your GitHub username.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Install formulae from the tap
&lt;/h2&gt;

&lt;p&gt;You can now install formulae from your tap using the &lt;code&gt;brew install&lt;/code&gt; command followed by the formula name: &lt;code&gt;myformula&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Replace &lt;code&gt;myformula&lt;/code&gt; with the name of the formula you want to install.&lt;/p&gt;

&lt;p&gt;Please replace &lt;code&gt;&amp;lt;username&amp;gt;&lt;/code&gt;, &lt;code&gt;mytap&lt;/code&gt;, and &lt;code&gt;myformula&lt;/code&gt; with your actual GitHub username, tap name, and formula name respectively. Also, this is a very basic example. Depending on your needs, you might want to add more complex formulae to your tap.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>targetops</category>
      <category>homebrew</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Kdash - a true opensource K8s micro IDE</title>
      <dc:creator>Uplift3r</dc:creator>
      <pubDate>Mon, 08 Jul 2024 20:16:02 +0000</pubDate>
      <link>https://dev.to/target-ops/kdash-a-true-opensource-k8s-micro-ide-500h</link>
      <guid>https://dev.to/target-ops/kdash-a-true-opensource-k8s-micro-ide-500h</guid>
      <description>&lt;h1&gt;
  
  
  KDash v0.2.0 - a true opensource K8s micro IDE
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/daily-now/image/upload/s--IINXUhH6--/f_auto/v1719487096/posts/1DlKJGw4G" rel="noopener noreferrer"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kKkEu-K2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/daily-now/image/upload/s--IINXUhH6--/f_auto/v1719487096/posts/1DlKJGw4G" alt="Post cover image" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  KDash v0.2.0 (MacOs oriented electron app)
&lt;/h1&gt;

&lt;p&gt;although there are multiple CLI \ GUI ide's for Kubernetes , NONE yet remained open source for the long run, &lt;a href="https://medium.com/@seifeddinerajhi/explore-user-friendly-desktop-kubernetes-open-source-ides-5315516b0752" rel="noopener noreferrer"&gt;https://medium.com/@seifeddinerajhi/explore-user-friendly-desktop-kubernetes-open-source-ides-5315516b0752&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;KDash will remain opensourced till aliens come in touch ... promise ,&lt;/p&gt;

&lt;p&gt;so star! , Fork! , share ! get your community involved , we wish to get your feedback and PRs&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/target-ops/kdash/releases/tag/v0.2.0" rel="noopener noreferrer"&gt;https://github.com/target-ops/kdash/releases/tag/v0.2.0&lt;/a&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>beginners</category>
      <category>kdash</category>
    </item>
    <item>
      <title>K9s - CLI Management Advanced Usage</title>
      <dc:creator>Uplift3r</dc:creator>
      <pubDate>Sun, 07 Jul 2024 19:12:34 +0000</pubDate>
      <link>https://dev.to/target-ops/k9s-cli-management-advanced-usage-4f7p</link>
      <guid>https://dev.to/target-ops/k9s-cli-management-advanced-usage-4f7p</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;K9s for advanced usage, exploring, technical examples for experienced Kubernetes users.&lt;br&gt;
provide by &lt;a href="https://github.com/target-ops" rel="noopener noreferrer"&gt;target-ops&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Install K9s using Homebrew:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew install k9s
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Alternatively, download the latest binary from the K9s releases page and add it to your PATH.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  1. Custom Resource Views
&lt;/h2&gt;

&lt;p&gt;K9s allows you to create custom views for specific Kubernetes resources.\&lt;br&gt;
Create a &lt;code&gt;$HOME/.k9s/views.yml&lt;/code&gt; file:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;k9s:
  views:
    v1/pods:
      columns:
        - NAME
        - READY
        - STATUS
        - RESTARTS
        - CPU
        - MEM
        - AGE
        - NODE

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This configuration customizes the pod view to include CPU and memory usage.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Plugins
&lt;/h2&gt;

&lt;p&gt;K9s supports plugins for extended functionality. Create a plugin in &lt;code&gt;$HOME/.k9s/plugins.yml&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;plugins:
  helm:
    shortCut: Ctrl-H
    description: Helm Charts
    scopes:
      - all
    command: kubectl
    background: false
    args:
      - get
      - helmreleases
      - --all-namespaces

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This plugin allows quick access to Helm releases across all namespaces.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Resource Editing
&lt;/h2&gt;

&lt;p&gt;built-in YAML editor for resources. To edit a resource:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Navigate to the resource&lt;/li&gt;
&lt;li&gt; Press &lt;code&gt;e&lt;/code&gt; to open the editor&lt;/li&gt;
&lt;li&gt; Make changes and save&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  4. Port Forwarding
&lt;/h2&gt;

&lt;p&gt;Easily set up port forwarding:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Navigate to a pod&lt;/li&gt;
&lt;li&gt; Press &lt;code&gt;Shift-F&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt; Enter local and remote ports
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Example:
CopyLocal Port: 8080
Remote Port: 80

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This forwards local port 8080 to the pod's port 80.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Log Streaming and Filtering
&lt;/h2&gt;

&lt;p&gt;Stream logs from multiple pods simultaneously:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Select pods using the space bar&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Press &lt;code&gt;l&lt;/code&gt; to view logs Apply filters using the &lt;code&gt;/&lt;/code&gt; key:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;error|warning&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This filters logs to show only lines containing "error" or "warning".&lt;/p&gt;

&lt;h2&gt;
  
  
  7. CRD Management
&lt;/h2&gt;

&lt;p&gt;Easily manage Custom Resource Definitions (CRDs):&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Press &lt;code&gt;:crd&lt;/code&gt; to list all CRDs&lt;/li&gt;
&lt;li&gt; Navigate to a CRD and press &lt;code&gt;enter&lt;/code&gt; to view instances&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  8. Context and Namespace Switching
&lt;/h2&gt;

&lt;p&gt;Quickly switch between contexts and namespaces:&lt;/p&gt;

&lt;p&gt;Press &lt;code&gt;:ctx&lt;/code&gt; to list contexts Press &lt;code&gt;:ns&lt;/code&gt; to list namespaces&lt;/p&gt;

&lt;h2&gt;
  
  
  9. Cluster Events Monitoring
&lt;/h2&gt;

&lt;p&gt;Monitor cluster-wide events:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Press &lt;code&gt;:events&lt;/code&gt; or &lt;code&gt;ctrl-e&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt; View real-time cluster events&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Filter events: &lt;code&gt;/NodeNotReady|FailedMount&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  10. Resource Utilization
&lt;/h2&gt;

&lt;p&gt;View resource utilization across the cluster:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Press &lt;code&gt;:pulses&lt;/code&gt; or &lt;code&gt;ctrl-u&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt; Monitor CPU, memory, and storage usage&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  11. YAML Diff
&lt;/h2&gt;

&lt;p&gt;Compare resource YAML definitions:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Navigate to a resource&lt;/li&gt;
&lt;li&gt; Press &lt;code&gt;d&lt;/code&gt; to view YAML diff&lt;/li&gt;
&lt;li&gt; Use &lt;code&gt;j&lt;/code&gt; and &lt;code&gt;k&lt;/code&gt; to navigate changes&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is useful for tracking changes over time or across environments.&lt;/p&gt;

&lt;h4&gt;
  
  
  Advanced Example: Automated Deployment Analysis
&lt;/h4&gt;

&lt;p&gt;Let's create a K9s plugin that analyzes deployments and reports potential issues.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Create a script analyze_deployments.sh:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#!/bin/bash

kubectl get deployments -A -o json | jq -r '
  .items[] |
  select(.spec.replicas != .status.availableReplicas) |
  "\(.metadata.namespace),\(.metadata.name),\(.spec.replicas),\(.status.availableReplicas)"
' | column -t -s, -N "Namespace,Deployment,Desired,Available"

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt; Add the plugin to $HOME/.k9s/plugins.yml:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;plugins:
  analyze-deployments:
    shortCut: Ctrl-A
    description: Analyze Deployments
    scopes:
      - deployments
    command: /path/to/analyze_deployments.sh
    background: false

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt; In K9s, press Ctrl-A to run the analysis&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This plugin quickly identifies deployments where the desired state doesn't match the current state, helping troubleshoot scaling or health issues. Conclusion.&lt;/p&gt;

&lt;p&gt;K9s offers a wealth of advanced features for managing Kubernetes clusters on macOS. By leveraging custom views, plugins, and built-in tools, you can significantly enhance your Kubernetes workflow. Experiment with these advanced techniques to streamline your cluster management and gain deeper insights into your Kubernetes environments.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>kubernetes</category>
      <category>cli</category>
      <category>targetops</category>
    </item>
    <item>
      <title>Welcome to target-ops squad</title>
      <dc:creator>Uplift3r</dc:creator>
      <pubDate>Sun, 07 Jul 2024 19:06:03 +0000</pubDate>
      <link>https://dev.to/target-ops/welcome-to-target-ops-squad-2lgn</link>
      <guid>https://dev.to/target-ops/welcome-to-target-ops-squad-2lgn</guid>
      <description>&lt;h1&gt;
  
  
  Welcome to target-ops squad , if you are here , then you took the red pill
&lt;/h1&gt;

&lt;p&gt;Welcome to target-ops, a dedicated space to collaborate, share knowledge, and discuss topics that matter to us!&lt;/p&gt;

&lt;p&gt;we are all into opensource as a unit !, meaning - star! , fork!, share! any impact is welcome .&lt;/p&gt;

&lt;p&gt;Check us out &lt;a href="https://github.com/target-ops" rel="noopener noreferrer"&gt;https://github.com/target-ops&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Get connected&lt;a href="https://join.slack.com/t/target-ops/shared_invite/zt-2kxdr9djp-YoQSCoRzARa9psxO8aYoaQ" rel="noopener noreferrer"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fVIfJWMc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://img.shields.io/badge/Slack-4A154B%3Fstyle%3Dfor-the-badge%26logo%3Dslack%26logoColor%3Dwhite" alt="Slack" width="83" height="28"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Get supportive&lt;a href="https://www.patreon.com/target_ops" rel="noopener noreferrer"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wYBLAWNU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://img.shields.io/badge/Patreon-F96854%3Fstyle%3Dfor-the-badge%26logo%3Dpatreon%26logoColor%3Dwhite" alt="Patreon" width="102" height="28"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here are some of the things you can do in Squads:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Say hi: Start by saying hi in the comments below so that we'll know you're here&lt;/li&gt;
&lt;li&gt;  Create a new post: Share interesting links and your thoughts by creating a new post in the squad&lt;/li&gt;
&lt;li&gt;  Interact with others: Comment and upvote on other members' posts and give feedback&lt;/li&gt;
&lt;li&gt;  Personalize it: Customize your profile by adding a profile picture, bio, and links to your projects or social media&lt;/li&gt;
&lt;li&gt;  Invite other developers you know and appreciate that you think can benefit from this squad&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now that you know what you can do in this squad, we've put together a code of conduct that we expect all of our squad members to follow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Keep it relevant: Keep your posts and comments relevant to the topic of the Squad. Please refrain from spamming or promoting unrelated content.&lt;/li&gt;
&lt;li&gt; Be respectful: Treat others the way you want to be treated. We do not tolerate hate speech, discrimination, or harassment of any kind.&lt;/li&gt;
&lt;li&gt; Be constructive: Offer helpful feedback and constructive criticism rather than tearing others down.&lt;/li&gt;
&lt;li&gt; Protect your privacy: Do not share personal information or sensitive data in Squads.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;We hope you will find target-ops useful!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--apyQ3dCI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/daily-now/image/upload/s--LORJinZz--/f_auto/v1718909041/posts/gN751c0Hk" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--apyQ3dCI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/daily-now/image/upload/s--LORJinZz--/f_auto/v1718909041/posts/gN751c0Hk" alt="Post cover image" width="800" height="568"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
