govalidator — Go validation library

govalidator — open-source Go library for validation and sanitization of strings, structs and collections. Used by Kubernetes, Helm, Vault, Grafana. 6.2k+ stars, 51k+ dependents. MIT.

Validation and sanitization library for Go — strings, structs, slices, numerics. MIT-licensed, widely used across cloud-native and enterprise projects.

→ GitHub · → Documentation (pkg.go.dev)

GitHub Stars Dependent repos Dependent packages Forks
6.2k+ 51k+ 40k+ 562

Trusted by Kubernetes, HashiCorp Vault, Helm, Grafana, Docker, Argo CD, CockroachDB, Stellar and many others. See the list below.


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

# Company / Project Description Repository Usage
1 Google (Kubernetes) Cloud-native orchestration platform kubernetes/kubernetes Validation via go-openapi (v1.20–v1.32+)
2 Amazon Web Services (AWS) Cloud; Lambda, Terraform Provider AWS Lambda and infrastructure config validation
3 Microsoft Azure Cloud; AKS Ingress, Radius Azure/application-gateway-kubernetes-ingress Ingress controller config validation
4 Docker Containers; BuildKit, Enterprise docker/buildkit, docker/ddc-opencontrol Container and compliance config validation

🔐 HashiCorp Ecosystem

# Company / Project Description Repository Usage
5 HashiCorp Vault Secrets management hashicorp/vault PKI/CA validation (builtin/logical/pki/fields.go)
6 HashiCorp Terraform Infrastructure as Code Resource and provider config validation
7 HashiCorp Consul Service mesh and discovery hashicorp/consul-k8s Kubernetes integration validation

☁️ Cloud Native Computing Foundation (CNCF)

# Company / Project Description Repository Usage
8 Helm Kubernetes package manager helm/helm Chart.yaml and repo URL validation (pkg/lint/rules/chartfile.go)
9 Kubernetes SIGs Cluster API providers (AWS, GCP, Metal3), Local Static Provisioner cluster-api-provider-aws and others Tooling and provider validation
10 Argo Project GitOps: Argo CD, Vault Plugin, Workflows argoproj/argo-cd Application config validation
11 OpenTelemetry Observability framework open-telemetry/opentelemetry-operator Collector config validation
12 Operator Framework Kubernetes operators operator-framework/operator-controller Operator config validation

📊 Observability & Monitoring

# Company / Project Description Repository Usage
13 Grafana Labs Observability: Grafana, Loki, Tempo, Mimir, Crossplane Provider grafana/grafana, grafana/loki, crossplane-provider-grafana Dashboard, log, trace and provider config validation
14 Coralogix Cloud-native observability coralogix/autoscaler Autoscaling config validation

🗄️ Databases

# Company / Project Description Repository Usage
15 CockroachDB Distributed SQL database (Pebble storage) cockroachdb/cockroach DB and Vault integration config validation

🔗 Blockchain & Cryptocurrency

# Company / Project Description Repository Usage
16 Stellar Open payment network stellar/go, stellar-ledger-data-indexer Address, compliance and config validation
17 DigitalBits Enterprise blockchain DigitalBitsOrg/go Address validation, Aurora, config
18 Kinesis Network Blockchain payments KinesisNetwork/go Address and compliance validation
19 HashCash Consultants Blockchain consulting HashCash-Consultants/go Aurora services, address validation
20 AssetMantle NFT/DeFi on Cosmos AssetMantle/modules Assets, identity, orders, metadata (68 packages)
21 Tonkeeper TON wallet and services tonkeeper/tonlib-go TON integration validation
22 Chainlink Decentralized oracles Dependency chain, contract params
23 Coreum Foundation Enterprise blockchain CoreumFoundation/CoreDEX-API DEX API validation

🔒 Security & DevSecOps

# Company / Project Description Repository Usage
24 Sigstore (Linux Foundation) Supply chain security sigstore/rekor CLI, PGP/SSH/X.509, artifact types (Alpine, JAR, RPM)
25 ProjectDiscovery Security tools: Nuclei, Interactsh, Proxify nuclei, interactsh, proxify Template, server and log config validation
26 Pomerium Identity-aware access proxy pomerium/pomerium Access policy validation
27 1Password Password and secrets management Credential validation (via golang-set)

🏢 Enterprise & Cloud Platforms

# Company / Project Description Repository Usage
28 IBM World Wire Global payment network IBM/world-wire Model and common utilities validation
29 DataDog Monitoring and analytics DataDog/helm, DataDog/vault Helm chart and Vault integration validation
30 Kong API Gateway and service mesh Kong/kuma Config validation (pkg/config/mode/)
31 KubeSphere Multi-tenant container platform kubesphere/kubesphere Platform config validation
32 SAP Kubernikus (K8s-as-a-Service), Kyma runtime sapcc/kubernikus, kyma-project/kyma Command and app runtime validation
33 Yandex Cloud Cloud platform yandex-cloud/cert-manager-webhook-yandex SSL certificate management
34 Inspur Data Cloud infrastructure Inspur-Data/ipamwrapper IP and conversion utilities validation

🔧 Cloud Infrastructure Tools

# Company / Project Description Repository Usage
35 CS-SI SafeScale Multi-cloud automation (CloudFerro, OVH, etc.) CS-SI/SafeScale Provider config validation
36 Red Hat / OpenShift Hypershift, Operator SDK, OpenStack operators openshift/hypershift, operator-sdk Control plane and operator validation
37 Podman (Red Hat) Daemonless container engine containers/podman Container config validation
38 Kata Containers Secure container runtime kata-containers/kata-containers Runtime config validation

🌐 Networking & CDN

# Company / Project Description Repository Usage
39 Apache Traffic Control CDN solution apache/trafficcontrol CDN, federation and delivery service validation
40 Gluster (Red Hat) Distributed file system gluster/glusterd2 Volume and translator options validation
41 WireGuard VPN WireGuard/wireguard-go Config validation

📱 5G & Telecommunications

# Company / Project Description Repository Usage
42 Free5GC Open-source 5G core free5gc/smf, free5gc/n3iwf Factory and network function validation

💳 FinTech & Payments

# Company / Project Description Repository Usage
43 Prebid Header bidding for advertising prebid/prebid-server Bid request and adapter validation

🛠️ Developer Tools & Platforms

# Company / Project Description Repository Usage
44 Shopify Toxiproxy Network simulation Shopify/toxiproxy Proxy config validation
45 Keybase Secure messaging and file sharing keybase/keybase-client User identity validation
46 AccelByte Gaming backend AccelByte/justice-input-validation-go Input validation
47 Broadcom Enterprise software Broadcom/terraform-provider-luminate Terraform provider validation
48 Cray/HPE Supercomputing and HPC Cray-HPE/cray-site-init, csm-common Site init and config validation
49 EngineerBetter Cloud Foundry, Concourse EngineerBetter/concourse-up, control-tower CI/CD and Terraform validation
50 Vikunja Open-source task management code.vikunja.io/api Command, routes and user data validation

📦 Additional Notable Projects

# Company / Project Description Repository Usage
51 CenturyLink Cloud CLI Cloud CLI CenturyLinkCloud/clc-go-cli Model loading, validation and config parsing
52 Cisco ZTP Dashboard Zero Touch Provisioning CiscoSE/ztp-dashboard ZTP validation
53 River Queue Background jobs for Go riverqueue/river Job parameter validation
54 Descope Verity Authentication and authorization descope/verity Identity verification
55 Agent Gateway AI agent orchestration agentgateway/agentgateway Agent config validation

💻 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

Resource Link
GitHub github.com/asaskevich/govalidator
Go docs pkg.go.dev/github.com/asaskevich/govalidator
Dependents GitHub dependency graph

govalidator — Go validation library for strings, structs and collections. Open source, MIT.

© Aliaksei Saskevich