Blog

Latest Articles - Page 68

Browse the latest tutorials, guides, and practical examples across Linux, DevOps, security, databases, and programming on GoLinuxCloud.

Explore the latest tutorials and guides across Linux, DevOps, programming, and more.

You can also browse content by category below:

  • Linux: Commands, administration, troubleshooting, and system operations
  • DevOps: CI/CD, Kubernetes, containers, and automation
  • Cloud: AWS, Azure, OpenStack, and hybrid cloud administration
  • Programming: Coding tutorials, scripting, and development concepts
  • Security: Ethical hacking, system security, and best practices
  • Databases: MySQL, MariaDB, PostgreSQL, and database management
  • Networking: Network setup, troubleshooting, and protocols
  • Storage: Disk management, file systems, and storage solutions
  • Tools: Useful tools and utilities for productivity

3098 articles

Blog illustration with latest articles, tutorials, guides, and how-to content across Linux and DevOps topics
programming

Check if a key exists in a JavaScript object: 7 reliable patterns

Check if key exists in object JavaScript: Object.hasOwn, in, hasOwnProperty, Object.keys, getOwnPropertyNames, symbols, Reflect.ownKeys—with example console output and own vs inherited rules.

Deepak Prasad9 min read
programming

Check if an array is empty in JavaScript

Check if array is empty in JavaScript with length, Array.isArray, optional chaining, and loop patterns—plus pitfalls (array-like objects, sparse arrays). Includes Node-tested console output.

Steve Alila6 min read
programming

Golang goroutines: go routine examples, the go keyword, and waiting for work

Golang goroutine and golang goroutines: goroutine in golang with the go keyword, go goroutines and go routine spelling, minimal goroutine example, waiting with channels or sync.WaitGroup, and links to threads vs …

Antony Shikubu5 min read
programming

Go json.Unmarshal: Structs, Maps, Slices, null, RawMessage, and Errors

Deep guide to json.Unmarshal in Go: []byte and pointer rules, structs with tags, maps and float64 numbers, slices, nested JSON, any decoding, null, json.RawMessage, unknown fields vs Decoder.DisallowUnknownFields, …

Tuan Nguyen14 min read
devops

Unit Testing Operator Reconcile Logic with Ginkgo and Gomega

Structure reconciler unit tests with Ginkgo and Gomega: table-driven vs Describe/Context/It, testing pure desired-state builders vs full Reconcile with the fake client, asserting ctrl.Result and errors, when to stop and …

Deepak Prasad9 min read
programming

Golang Parse JSON: String, File, Struct, Map, and Decoder Examples

Learn how to parse JSON in Go using encoding/json: JSON strings, files, HTTP bodies, structs, maps, nested data, json.Unmarshal, json.Decoder, and common errors.

Tuan Nguyen10 min read
devops

CI/CD for Kubernetes Operator Projects with GitHub Actions

Create a production-ready GitHub Actions CI/CD workflow for Go Kubernetes Operators: gofmt, go vet, unit tests, envtest, Makefile targets, image builds, GHCR publishing, OLM bundle validation, kind jobs, caching, …

Deepak Prasad16 min read
devops

OLM Bundles Explained: Package, Ship, and List on OperatorHub

Learn OLM bundles for Kubernetes Operators: bundle layout, CSV fields, replaces and skips, operator-sdk bundle generate validate scorecard, catalog images with opm, testing on kind with OLM, and how CSV claims map to …

Deepak Prasad11 min read
devops

OpenTelemetry Tracing for controller-runtime Operators

Add OpenTelemetry tracing to Go operators on controller-runtime: why trace reconcile, wiring TracerProvider and OTLP, propagating context into client-go and outbound HTTP, span naming and log correlation via trace id, …

Deepak Prasad12 min read
devops

Kubernetes Operator Metrics with Prometheus and controller-runtime

Expose Kubernetes Operator metrics from controller-runtime, scrape them with prometheus-operator ServiceMonitor, secure the endpoint, add custom Prometheus metrics, build useful Grafana panels, alert on reconcile errors, …

Deepak Prasad15 min read
devops

Pause and Resume Patterns for Kubernetes Operators

Design pause and resume for Kubernetes Operators: spec.paused vs annotations, what still runs when paused, skipping child updates vs deletes, finalizers and upgrades, Helm operator limits, user-facing docs, and GitOps …

Deepak Prasad9 min read
devops

From Commit to Cluster: End-to-End Operator Release Pipeline

Release a Kubernetes Operator from Git tag to cluster: build the manager image, pin digests, render Helm or Kustomize manifests, validate CRDs and OLM bundles, smoke-test with a sample CustomResource, promote through …

Deepak Prasad12 min read
devops

Configuration for Operators: Flags, Environment Variables, and Live Reload

Configure Kubernetes Operators for real clusters: cmd flags vs env vars, WATCH_NAMESPACE and common conventions, ConfigMap and Secret mounts, live reload with watches, Downward API, secret rotation, and 12-factor style …

Deepak Prasad8 min read
devops

CEL Validation in CRDs: Practical Rules for Operator APIs

Practical CEL rules in CRDs for operator APIs: x-kubernetes-validations basics, immutability with oldSelf and oldObject, when to combine OpenAPI and CEL, replicas bounds and mutual exclusions, user-facing error messages, …

Deepak Prasad9 min read
devops

Kubernetes Operator Hardening Beyond RBAC: Pod Security and Supply Chain

After RBAC, harden Kubernetes operators with non-root pods, read-only root filesystem, dropped capabilities and seccomp, projected ServiceAccount tokens, image digest pinning and signing, NetworkPolicy egress allowlists …

Deepak Prasad6 min read
devops

Migrate a Helm Chart to a Helm-Based Kubernetes Operator

Brownfield guide for teams with a production Helm chart: when plain Helm is enough vs a Helm-based operator, mapping values.yaml into a CRD spec, watches.yaml and overrideValues precedence, chart semver vs operator image …

Deepak Prasad9 min read
devops

Performance Tuning for controller-runtime: Concurrency, Client QPS, and Cache

Tune Go operators on controller-runtime for large clusters: MaxConcurrentReconciles and goroutine-safe reconcile, REST client QPS and burst, cached vs APIReader uncached reads, predicates to cut apiserver load, field …

Deepak Prasad9 min read
devops

Testing Kubernetes Operators with envtest, Fake Client, and kind

Part 3 of 3: test a Go Operator SDK operator with unit tests, fake client, envtest (CRD + status + webhooks), kind smoke tests, Kustomize packaging, safe CRD upgrades, and a troubleshooting lab.

Deepak Prasad19 min read
devops

Controller-Runtime Architecture: Manager, Cache, Informer, Workqueue Explained

controller-runtime is the Go library that powers every Kubebuilder and Operator-SDK project. This guide walks the full architecture - Manager, Cache, Informer, SharedInformerFactory, Workqueue, and the Builder DSL (For / …

Deepak Prasad15 min read
devops

Kubernetes Custom Resource Definitions (CRDs) Explained: A Complete Guide

A Custom Resource Definition (CRD) is a Kubernetes resource that registers a new object type with the API server, so kubectl, RBAC, watches, and Operators can treat your custom kind the same as a built-in Deployment or …

Deepak Prasad16 min read
devops

Operator RBAC Minimum Permissions: ClusterRole, kubebuilder Markers, Audit

A complete guide to designing, generating, and auditing RBAC for Kubernetes operators: how kubebuilder markers generate roles from `+kubebuilder:rbac` comments, the least-privilege principle as it applies to operators, …

Deepak Prasad16 min read
devops

Kubernetes CRD Version Upgrades with Conversion Webhooks

This step-by-step guide shows how to perform a Kubernetes CRD upgrade from v1alpha1 to v1 with a conversion webhook, using a self-created DemoApp operator. It walks through served and storage version contracts in a …

Deepak Prasad18 min read
programming

Golang function vs method: declaration syntax, receivers, when to use which

Golang function vs method and go method vs function: golang function declaration syntax without a receiver, method golang syntax with value or pointer receiver, function vs method call style, golang methods vs functions …

Deepak Prasad4 min read
devops

How to Avoid Reconcile Loop “Explosions” in Kubernetes Operators

Stop Kubernetes Operator reconcile storms: predicates and generation filters, status-only updates, accidental .spec writes, Owns() fan-out on noisy children, jittered RequeueAfter, workqueue tuning, and why event-style …

Deepak Prasad14 min read
devops

Requeue, RequeueAfter, and Error Handling in controller-runtime

Learn how controller-runtime interprets ctrl.Result, Requeue, RequeueAfter, and returned errors inside Reconcile(). Covers exponential backoff on the workqueue, terminal errors, NotFound and Conflict handling, …

Deepak Prasad11 min read
programming

Bash unshift: prepend to arrays, shift, and pop (with examples)

Bash unshift: prepend to an array or positional parameters, bash shift array / bash array shift, shift vs unshift, and bash pop argument / remove last element. No built-in unshift—use assignment or set --.

Deepak Prasad3 min read
programming

Bash while loop timeout: run until a time (sleep, date, GNU timeout)

Bash while loop timeout and while loop until a deadline: sleep in Linux/Bash, wall-clock end time with date or EPOCHSECONDS, counter + break, and GNU timeout around background jobs.

Deepak Prasad3 min read
programming

Linux convert tabs to spaces; spaces to tabs in shell scripts (Bash)

Linux convert tabs to spaces with expand; convert runs of spaces to tabs with unexpand; tab in bash with $'\t' and printf; unix shell scripts conversion for tab- vs space-delimited text and aligned columns.

Deepak Prasad3 min read
programming

JavaScript Exponentiation: ** Operator vs Math.pow (BigInt, precedence, edge cases)

Exponentiation in JavaScript with the ** power operator and Math.pow: numbers, BigInt, right-associativity, unary minus precedence, NaN ** 0, **= compound assignment, and when to prefer Math.pow on older engines. Each …

Olorunfemi Akinlua6 min read
programming

Linux login history: view SSH logins, auth logs, and check attempts

Linux login history: view and check login history, login logs, and Linux SSH login history via last, wtmp, auth.log or /var/log/secure, and journalctl. Optional script to summarize successful and failed SSH attempts.

Deepak Prasad6 min read