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
🗄️ Databases
| # | Company / Project | Description | Repository | Usage |
| 15 | CockroachDB | Distributed SQL database (Pebble storage) | cockroachdb/cockroach | DB and Vault integration config validation |
🔗 Blockchain & Cryptocurrency
🔒 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) |
| # | 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 |
📦 Additional Notable Projects
💻 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
govalidator — Go validation library for strings, structs and collections. Open source, MIT.
© Aliaksei Saskevich