asaskevich/govalidator

A package of validators and sanitizers for strings, structs and collections

asaskevich/govalidator

Docs

Documentation is available here: pkg.go.dev.

Companies and Projects Using govalidator

A comprehensive list of notable companies, open-source projects, and enterprise solutions that depend on the github.com/asaskevich/govalidator package.

📊 Overview Statistics

  • Total Dependent Repositories: 51k+
  • Total Dependent Packages: 40k+
  • GitHub Stars: 6.2k+
  • Forks: 562

🏢 FAANG & Major Tech Companies

1. Google (Kubernetes)

The Kubernetes project, one of the most influential cloud-native technologies, uses govalidator as a transitive dependency.

References:

  • go.mod: kubernetes/kubernetes/go.mod#L135
    github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a // indirect
    
  • Usage: Validation through go-openapi integration
  • Versions: v1.20 through v1.32+

Related Projects:

  • Google Cloud Platform Go samples
  • Go Cloud Development Kit

2. Amazon Web Services (AWS)

Projects:

  • AWS Lambda Go SDK
  • Terraform Provider AWS

References:

  • Used in AWS Lambda function validation
  • Infrastructure configuration validation

3. Microsoft Azure

Projects:

  • Azure Kubernetes Service Ingress Controller
  • Radius (cloud-native application platform)

References:


4. Docker

Projects:

  • Docker BuildKit
  • Docker Compliance/Enterprise Edition
  • docker-gen (nginx-proxy)

References:


🔐 HashiCorp Ecosystem

5. HashiCorp Vault

Enterprise-grade secrets management system.

References:

  • go.mod: hashicorp/vault/go.mod#L54
    github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2
    
  • Code Usage: builtin/logical/pki/fields.go
  • Purpose: PKI certificate validation, CA validation

6. HashiCorp Terraform

Infrastructure as Code (IaC) platform.

References:

  • Used for resource configuration validation
  • Provider validation logic

7. HashiCorp Consul

Service mesh and service discovery.

References:


☁️ Cloud Native Computing Foundation (CNCF)

8. Helm

The package manager for Kubernetes.

References:

  • go.mod: helm/helm/go.mod#L14
    github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2
    
  • Code Usage: pkg/lint/rules/chartfile.go
  • Purpose: Chart.yaml validation, repository URL validation

Example Usage:

func validateChartURL(url string) error {
    if !govalidator.IsURL(url) {
        return fmt.Errorf("invalid URL: %s", url)
    }
    return nil
}

9. Kubernetes SIGs (Special Interest Groups)

Cluster API Provider AWS

References:

Other SIG Projects:

  • Cluster API Provider GCP
  • Cluster API Provider Metal3
  • Local Static Provisioner

10. Argo Project

Projects:

  • ArgoCD (GitOps continuous delivery)
  • ArgoCD Vault Plugin
  • Argo Workflows

References:


11. OpenTelemetry

Observability framework for cloud-native software.

References:


12. Operator Framework

Framework for building Kubernetes operators.

References:


📊 Observability & Monitoring

13. Grafana Labs

Grafana

The open observability platform.

References:

Grafana Loki

Log aggregation system.

References:

Grafana Tempo

Distributed tracing backend.

References:

  • Used for trace configuration validation

Other Grafana Projects:

  • Grafana Mimir (Prometheus fork)
  • Grafana Crossplane Provider

References:


14. Coralogix

Cloud-native observability platform.

References:


🗄️ Databases

15. CockroachDB

Distributed SQL database.

References:

  • go.mod: cockroachdb/cockroach/go.mod#L301
    github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
    
  • Usage: Database configuration validation, Vault integration

Related Projects:

  • Pebble (key-value storage engine)

🔗 Blockchain & Cryptocurrency

16. Stellar

Open network for storing and moving money.

References:

Example:

import "github.com/stellar/go/address"

// Address validation using govalidator
if !govalidator.IsBase32(stellarAddress) {
    return errors.New("invalid Stellar address")
}

17. DigitalBits

Blockchain platform for enterprise.

References:

  • Repository: DigitalBitsOrg/go
  • Usage: Similar to Stellar - address validation, Aurora services, config

18. Kinesis Network

Blockchain payment platform.

References:


19. HashCash Consultants

Blockchain consulting and development.

References:


20. AssetMantle

NFT and DeFi platform on Cosmos.

References:

  • Repository: AssetMantle/modules
  • Usage: 68 different packages including:
    • Asset transactions (burn, mint, transfer)
    • Identity management
    • Order management
    • Metadata validation

21. Tonkeeper

TON blockchain wallet and services.

References:


Decentralized oracle network.

References:

  • Used in dependency chain
  • Contract parameter validation

23. Coreum Foundation

Enterprise blockchain platform.

References:


🔒 Security & DevSecOps

24. Sigstore (Linux Foundation)

Software supply chain security.

References:

  • Repository: sigstore/rekor
  • Code Usage:
    • cmd/rekor-cli/app/ - CLI validation
    • pkg/pki/pgp/ - PGP key validation
    • pkg/pki/ssh/ - SSH key validation
    • pkg/pki/x509/ - X.509 certificate validation
    • pkg/types/*/ - Artifact type validation (Alpine, JAR, RPM, etc.)

25. ProjectDiscovery

Open-source security tools.

Nuclei

Vulnerability scanner.

Interactsh

Out-of-band interaction server.

Proxify

HTTP/HTTPS proxy tool.


26. Pomerium

Identity-aware access proxy.

References:


27. 1Password

Password manager and secrets management.

References:

  • Trusted by 1Password (mentioned in golang-set)
  • Used for credential validation

🏢 Enterprise & Cloud Platforms

28. IBM World Wire

Global payment network.

References:

  • Repository: IBM/world-wire
  • Code Usage:
    • gftn-models/model/ - Model validation
    • utility/common/ - Common utilities

29. DataDog

Monitoring and analytics platform.

References:


30. Kong

API Gateway and Service Mesh.

References:

  • Repository: Kong/kuma
  • Code Usage: pkg/config/mode/ - Configuration validation

31. KubeSphere

Multi-tenant container platform.

References:


32. SAP

Kubernikus

Kubernetes-as-a-Service platform.

References:

Kyma Project

Application runtime on Kubernetes.

References:

  • Repository: kyma-project/kyma
  • Components:
    • Application Connector
    • Helm Broker
    • Remote Environment Broker

33. Yandex Cloud

Russian cloud computing platform.

References:


34. Inspur Data

Cloud infrastructure solutions.

References:

  • Repository: Inspur-Data/ipamwrapper
  • Code Usage:
    • pkg/ip/ - IP address validation
    • pkg/utils/convert/ - Conversion utilities

🔧 Cloud Infrastructure Tools

35. CS-SI SafeScale

Multi-cloud infrastructure automation.

References:

  • Repository: CS-SI/SafeScale
  • Supported Providers:
    • CloudFerro
    • Cloudwatt
    • FlexibleEngine
    • OpenTelekom
    • OVH
  • Code Usage: Provider configuration validation

36. Red Hat / OpenShift

Hypershift

Hosted control planes for Kubernetes.

Operator SDK

Framework for building Kubernetes operators.

OpenStack Operators

  • Manila Operator
  • Glance Operator
  • Various OpenStack service operators

37. Podman (Red Hat)

Daemonless container engine.

References:


38. Kata Containers

Secure container runtime.

References:


🌐 Networking & CDN

39. Apache Traffic Control

Content Delivery Network (CDN) solution.

References:

  • Repository: apache/trafficcontrol
  • Code Usage:
    • traffic_ops/traffic_ops_golang/cdn/ - CDN configuration
    • traffic_ops/traffic_ops_golang/cdnfederation/ - Federation configuration
    • traffic_ops/traffic_ops_golang/deliveryservice/ - Delivery service validation

40. Gluster (Red Hat)

Distributed file system.

References:

  • Repository: gluster/glusterd2
  • Code Usage:
    • glusterd2/commands/volumes/ - Volume configuration
    • glusterd2/xlator/options/ - Translator options validation

41. WireGuard

Fast and modern VPN.

References:


📱 5G & Telecommunications

42. Free5GC

Open-source 5G core network.

References:

  • Repositories:
  • Usage: Factory configurations, network function validation

💳 FinTech & Payments

43. Prebid

Header bidding platform for advertising.

References:


🛠️ Developer Tools & Platforms

44. Shopify Toxiproxy

Network simulation tool.

References:


45. Keybase

Secure messaging and file sharing.

References:


46. AccelByte

Gaming backend platform.

References:


47. Broadcom

Enterprise software solutions.

References:


48. Cray/HPE

Supercomputing and HPC solutions.

References:


49. EngineerBetter

Cloud Foundry consulting.

References:


50. Vikunja

Open-source task management.

References:

  • Repository: code.vikunja.io/api
  • Code Usage:
    • pkg/cmd/ - Command validation
    • pkg/routes/ - Route validation
    • pkg/user/ - User data validation

📦 Additional Notable Projects

References:

  • Repository: CenturyLinkCloud/clc-go-cli
  • Code Usage:
    • model_loader/ - Model loading and validation
    • model_validator/ - Model validation
    • parser/ - Configuration parsing

52. Cisco ZTP Dashboard

References:


53. River Queue

Background job processing for Go.

References:


54. Descope Verity

Authentication and authorization.

References:


55. Agent Gateway

AI agent orchestration platform.

References:


💻 Code Usage Examples

Example 1: Struct Validation

import "github.com/asaskevich/govalidator"

type Server struct {
    Name    string `valid:"required,alphanum"`
    IP      string `valid:"required,ip"`
    Port    int    `valid:"required,range(1|65535)"`
    Email   string `valid:"email"`
}

server := &Server{
    Name:  "prod-server-01",
    IP:    "192.168.1.1",
    Port:  8080,
    Email: "admin@example.com",
}

result, err := govalidator.ValidateStruct(server)
if err != nil {
    log.Fatal(err)
}

Example 2: URL/IP Validation (Kubernetes/Helm Pattern)

import "github.com/asaskevich/govalidator"

// Validate Chart.yaml URLs in Helm
func validateChartURL(url string) error {
    if !govalidator.IsURL(url) {
        return fmt.Errorf("invalid URL: %s", url)
    }
    return nil
}

// Validate IP address
func validateIPAddress(ip string) bool {
    if govalidator.IsIPv4(ip) {
        return true
    }
    if govalidator.IsIPv6(ip) {
        return true
    }
    return false
}

Example 3: Email Validation

import "github.com/asaskevich/govalidator"

type User struct {
    Email string `valid:"email,required"`
    Name  string `valid:"required,length(3|50)"`
    Age   int    `valid:"required,range(18|120)"`
}

user := &User{
    Email: "user@company.com",
    Name:  "John Doe",
    Age:   30,
}

_, err := govalidator.ValidateStruct(user)
if err != nil {
    // Handle validation errors
    log.Printf("Validation failed: %v", err)
}

Example 4: Custom Validators (Advanced Usage)

import "github.com/asaskevich/govalidator"

// Register custom validator
func init() {
    govalidator.TagMap["kubernetes_name"] = govalidator.Validator(func(str string) bool {
        // Kubernetes resource name validation
        return regexp.MustCompile(`^[a-z0-9]([-a-z0-9]*[a-z0-9])?$`).MatchString(str)
    })
}

type KubernetesResource struct {
    Name      string `valid:"kubernetes_name,required"`
    Namespace string `valid:"kubernetes_name,required"`
}

Example 5: PKI Validation (HashiCorp Vault Pattern)

import "github.com/asaskevich/govalidator"

type CertificateRequest struct {
    CommonName       string `valid:"required"`
    Organization     string `valid:"required"`
    OrganizationUnit string `valid:"optional"`
    Country          string `valid:"iso3166_1_alpha2"`
    EmailAddress     string `valid:"email"`
}

certReq := &CertificateRequest{
    CommonName:   "example.com",
    Organization: "Example Inc",
    Country:      "US",
    EmailAddress: "admin@example.com",
}

_, err := govalidator.ValidateStruct(certReq)

📊 Most Common Validation Use Cases

  1. Configuration Validation (Kubernetes, Helm, Terraform)
    • YAML/JSON configuration files
    • Resource specifications
    • Infrastructure parameters
  2. Network Validation (Kubernetes, CDN, VPN)
    • IP addresses (IPv4/IPv6)
    • URLs and URIs
    • Domain names
    • Port numbers
  3. Security Validation (Vault, PKI, Authentication)
    • Certificates
    • Keys (SSH, PGP, X.509)
    • Tokens
    • Credentials
  4. User Input Validation (APIs, Web Applications)
    • Email addresses
    • Phone numbers
    • Usernames
    • Passwords
  5. Blockchain/Crypto Validation (Stellar, Ethereum, etc.)
    • Wallet addresses
    • Transaction parameters
    • Smart contract inputs

🏆 Industry Coverage

  • Cloud Infrastructure: AWS, Azure, GCP, Kubernetes
  • Observability: Grafana, DataDog, OpenTelemetry, Coralogix
  • Security: HashiCorp Vault, Sigstore, ProjectDiscovery, 1Password
  • Databases: CockroachDB, Gluster
  • Blockchain: Stellar, Ethereum, Chainlink, TON, Coreum
  • Networking: Apache Traffic Control, WireGuard, Kong
  • DevOps: Helm, ArgoCD, Terraform, Operator Framework
  • Containers: Docker, Podman, Kata Containers
  • Telecommunications: Free5GC (5G Core Network)
  • FinTech: IBM World Wire, Prebid, various blockchain projects

🔗 Resources