asaskevich/govalidator
A package of validators and sanitizers for strings, structs and collections
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:
- Repository: Azure/application-gateway-kubernetes-ingress
- Usage: Ingress controller configuration validation
4. Docker
Projects:
- Docker BuildKit
- Docker Compliance/Enterprise Edition
- docker-gen (nginx-proxy)
References:
- Repository: docker/buildkit
- Repository: docker/ddc-opencontrol
- Usage: Container configuration and compliance validation
🔐 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:
- Repository: hashicorp/consul-k8s
- Usage: Kubernetes integration validation
☁️ 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:
- go.mod: kubernetes-sigs/cluster-api-provider-aws/hack/tools/go.mod#L69
github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535 // indirect
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:
- Repository: argoproj/argo-cd
- Usage: Application configuration validation
11. OpenTelemetry
Observability framework for cloud-native software.
References:
- Repository: open-telemetry/opentelemetry-operator
- Usage: Collector configuration validation
12. Operator Framework
Framework for building Kubernetes operators.
References:
- go.mod: operator-framework/operator-controller/go.mod#L74
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
📊 Observability & Monitoring
13. Grafana Labs
Grafana
The open observability platform.
References:
- Repository: grafana/grafana
- Usage: Dashboard configuration validation
Grafana Loki
Log aggregation system.
References:
- go.mod: grafana/loki/go.mod#L20
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
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:
- Repository: coralogix/autoscaler
- Usage: Autoscaling configuration validation
🗄️ 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:
- Repository: stellar/stellar-ledger-data-indexer
- go.mod: stellar/go/go.mod#L12
- Code Usage:
-
address/- Stellar address validation -
protocols/compliance/- Compliance protocol validation -
support/config/- Configuration validation
-
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:
- Repository: KinesisNetwork/go
- Usage: Address validation, compliance protocols
19. HashCash Consultants
Blockchain consulting and development.
References:
- Repository: HashCash-Consultants/go
- Usage: Aurora services, address validation
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:
- go.mod: tonkeeper/tonlib-go
22. Chainlink
Decentralized oracle network.
References:
- Used in dependency chain
- Contract parameter validation
23. Coreum Foundation
Enterprise blockchain platform.
References:
- Repository: CoreumFoundation/CoreDEX-API
- Usage: DEX API validation
🔒 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.
- Repository: projectdiscovery/nuclei
- Usage:
v2/pkg/types/,v3/pkg/types/- Template validation
Interactsh
Out-of-band interaction server.
- Repository: projectdiscovery/interactsh
- Usage:
pkg/server/- Server configuration validation
Proxify
HTTP/HTTPS proxy tool.
- Repository: projectdiscovery/proxify
- Usage:
pkg/logger/- Log configuration validation
26. Pomerium
Identity-aware access proxy.
References:
- Repository: pomerium/pomerium
- Usage: Access policy validation
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:
- Repository: DataDog/helm
- Repository: DataDog/vault
- Usage: Helm chart validation, Vault integration
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:
- go.mod: kubesphere/kubesphere/go.mod#L17
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2
32. SAP
Kubernikus
Kubernetes-as-a-Service platform.
References:
- Repository: sapcc/kubernikus
- Code Usage:
pkg/cmd/- Command validation
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:
- Repository: yandex-cloud/cert-manager-webhook-yandex
- Usage: SSL certificate management
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.
- Repository: openshift/hypershift
Operator SDK
Framework for building Kubernetes operators.
- Repository: operator-framework/operator-sdk
OpenStack Operators
- Manila Operator
- Glance Operator
- Various OpenStack service operators
37. Podman (Red Hat)
Daemonless container engine.
References:
- Repository: containers/podman
- Usage: Container configuration validation
38. Kata Containers
Secure container runtime.
References:
- Repository: kata-containers/kata-containers
- Usage: Runtime configuration validation
🌐 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:
- Repository: WireGuard/wireguard-go
- Usage: Configuration validation
📱 5G & Telecommunications
42. Free5GC
Open-source 5G core network.
References:
- Repositories:
- free5gc/smf - Session Management Function
- free5gc/n3iwf - Non-3GPP Interworking Function
- Usage: Factory configurations, network function validation
💳 FinTech & Payments
43. Prebid
Header bidding platform for advertising.
References:
- Repository: prebid/prebid-server
- Usage: Bid request validation, adapter configuration
🛠️ Developer Tools & Platforms
44. Shopify Toxiproxy
Network simulation tool.
References:
- Repository: Shopify/toxiproxy
- Usage: Proxy configuration validation
45. Keybase
Secure messaging and file sharing.
References:
- Repository: keybase/keybase-client
- Usage: User identity validation
46. AccelByte
Gaming backend platform.
References:
- Repository: AccelByte/justice-input-validation-go
- Usage: Input validation library
47. Broadcom
Enterprise software solutions.
References:
- Repository: Broadcom/terraform-provider-luminate
- Usage: Terraform provider validation
48. Cray/HPE
Supercomputing and HPC solutions.
References:
- Repository: Cray-HPE/cray-site-init
- Repository: Cray-HPE/csm-common
- Usage: Site initialization, configuration validation
49. EngineerBetter
Cloud Foundry consulting.
References:
- Repository: EngineerBetter/concourse-up
- Repository: EngineerBetter/control-tower
- Usage: Concourse CI/CD configuration, Terraform deployment
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
51. CenturyLink Cloud CLI
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:
- Repository: CiscoSE/ztp-dashboard
- Usage: Zero Touch Provisioning validation
53. River Queue
Background job processing for Go.
References:
- Repository: riverqueue/river
- Usage: Job parameter validation
54. Descope Verity
Authentication and authorization.
References:
- Repository: descope/verity
- Usage: Identity verification
55. Agent Gateway
AI agent orchestration platform.
References:
- Repository: agentgateway/agentgateway
- Usage: Agent configuration 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
- Configuration Validation (Kubernetes, Helm, Terraform)
- YAML/JSON configuration files
- Resource specifications
- Infrastructure parameters
- Network Validation (Kubernetes, CDN, VPN)
- IP addresses (IPv4/IPv6)
- URLs and URIs
- Domain names
- Port numbers
- Security Validation (Vault, PKI, Authentication)
- Certificates
- Keys (SSH, PGP, X.509)
- Tokens
- Credentials
- User Input Validation (APIs, Web Applications)
- Email addresses
- Phone numbers
- Usernames
- Passwords
- 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
- GitHub Repository: asaskevich/govalidator
- Go Package: pkg.go.dev/github.com/asaskevich/govalidator
- Network Dependents: GitHub Dependency Graph