this derivation will be built: /nix/store/qzdxm4d9h64ag0blzsi95s8vd366iy28-data-mesher-0.1.0.drv this path will be fetched (18.2 MiB download, 49.5 MiB unpacked): /nix/store/f8g7b23rb71n4cwv3lyj870c5yk22kqy-golangci-lint-2.13.1 building '/nix/store/qzdxm4d9h64ag0blzsi95s8vd366iy28-data-mesher-0.1.0.drv' on 'ssh-ng://builder@build-x86-01.clan.lol' building '/nix/store/qzdxm4d9h64ag0blzsi95s8vd366iy28-data-mesher-0.1.0.drv' data-mesher-0.1.0> Running phase: unpackPhase data-mesher-0.1.0> unpacking source archive /nix/store/skklfkhla17gd4z1nmk0b4ixddzchkdq-source data-mesher-0.1.0> source root is source data-mesher-0.1.0> Running phase: patchPhase data-mesher-0.1.0> Running phase: updateAutotoolsGnuConfigScriptsPhase data-mesher-0.1.0> Running phase: configurePhase data-mesher-0.1.0> Running phase: buildPhase data-mesher-0.1.0> cmd/certificate/certificate.go:11:11: cobra.Command is missing fields Aliases, SuggestFor, GroupID, Long, Example, ValidArgs, ValidArgsFunction, Args, ArgAliases, BashCompletionFunction, Deprecated, Annotations, Version, PersistentPreRun, PersistentPreRunE, PreRun, PreRunE, Run, RunE, PostRun, PostRunE, PersistentPostRun, PersistentPostRunE, FParseErrWhitelist, CompletionOptions, TraverseChildren, Hidden, SilenceErrors, SilenceUsage, DisableFlagParsing, DisableAutoGenTag, DisableFlagsInUseLine, DisableSuggestions, SuggestionsMinimumDistance (exhaustruct_v5) data-mesher-0.1.0> root := &cobra.Command{ data-mesher-0.1.0> ^ data-mesher-0.1.0> cmd/certificate/sign.go:18:10: cobra.Command is missing fields Aliases, SuggestFor, GroupID, Long, Example, ValidArgs, ValidArgsFunction, Args, ArgAliases, BashCompletionFunction, Deprecated, Annotations, Version, PersistentPreRun, PersistentPreRunE, PreRun, PreRunE, Run, PostRun, PostRunE, PersistentPostRun, PersistentPostRunE, FParseErrWhitelist, CompletionOptions, TraverseChildren, Hidden, SilenceErrors, SilenceUsage, DisableFlagParsing, DisableAutoGenTag, DisableFlagsInUseLine, DisableSuggestions, SuggestionsMinimumDistance (exhaustruct_v5) data-mesher-0.1.0> cmd := &cobra.Command{ data-mesher-0.1.0> ^ data-mesher-0.1.0> cmd/certificate/verify.go:33:10: cobra.Command is missing fields Aliases, SuggestFor, GroupID, Long, Example, ValidArgs, ValidArgsFunction, Args, ArgAliases, BashCompletionFunction, Deprecated, Annotations, Version, PersistentPreRun, PersistentPreRunE, PreRun, PreRunE, Run, PostRun, PostRunE, PersistentPostRun, PersistentPostRunE, FParseErrWhitelist, CompletionOptions, TraverseChildren, Hidden, SilenceErrors, SilenceUsage, DisableFlagParsing, DisableAutoGenTag, DisableFlagsInUseLine, DisableSuggestions, SuggestionsMinimumDistance (exhaustruct_v5) data-mesher-0.1.0> cmd := &cobra.Command{ data-mesher-0.1.0> ^ data-mesher-0.1.0> cmd/file/delete.go:15:10: cobra.Command is missing fields Aliases, SuggestFor, GroupID, Long, Example, ValidArgs, ValidArgsFunction, ArgAliases, BashCompletionFunction, Deprecated, Annotations, Version, PersistentPreRun, PersistentPreRunE, PreRun, PreRunE, Run, PostRun, PostRunE, PersistentPostRun, PersistentPostRunE, FParseErrWhitelist, CompletionOptions, TraverseChildren, Hidden, SilenceErrors, SilenceUsage, DisableFlagParsing, DisableAutoGenTag, DisableFlagsInUseLine, DisableSuggestions, SuggestionsMinimumDistance (exhaustruct_v5) data-mesher-0.1.0> cmd := &cobra.Command{ data-mesher-0.1.0> ^ data-mesher-0.1.0> cmd/file/file.go:10:11: cobra.Command is missing fields Aliases, SuggestFor, GroupID, Long, Example, ValidArgs, ValidArgsFunction, Args, ArgAliases, BashCompletionFunction, Deprecated, Annotations, Version, PersistentPreRun, PersistentPreRunE, PreRun, PreRunE, Run, RunE, PostRun, PostRunE, PersistentPostRun, PersistentPostRunE, FParseErrWhitelist, CompletionOptions, TraverseChildren, Hidden, SilenceErrors, SilenceUsage, DisableFlagParsing, DisableAutoGenTag, DisableFlagsInUseLine, DisableSuggestions, SuggestionsMinimumDistance (exhaustruct_v5) data-mesher-0.1.0> root := &cobra.Command{ data-mesher-0.1.0> ^ data-mesher-0.1.0> cmd/file/update.go:19:10: cobra.Command is missing fields Aliases, SuggestFor, GroupID, Long, Example, ValidArgs, ValidArgsFunction, ArgAliases, BashCompletionFunction, Deprecated, Annotations, Version, PersistentPreRun, PersistentPreRunE, PreRun, PreRunE, Run, PostRun, PostRunE, PersistentPostRun, PersistentPostRunE, FParseErrWhitelist, CompletionOptions, TraverseChildren, Hidden, SilenceErrors, SilenceUsage, DisableFlagParsing, DisableAutoGenTag, DisableFlagsInUseLine, DisableSuggestions, SuggestionsMinimumDistance (exhaustruct_v5) data-mesher-0.1.0> cmd := &cobra.Command{ data-mesher-0.1.0> ^ data-mesher-0.1.0> cmd/generate/generate.go:16:11: cobra.Command is missing fields Aliases, SuggestFor, GroupID, Long, Example, ValidArgs, ValidArgsFunction, Args, ArgAliases, BashCompletionFunction, Deprecated, Annotations, Version, PersistentPreRun, PersistentPreRunE, PreRun, PreRunE, Run, RunE, PostRun, PostRunE, PersistentPostRun, PersistentPostRunE, FParseErrWhitelist, CompletionOptions, TraverseChildren, Hidden, SilenceErrors, SilenceUsage, DisableFlagParsing, DisableAutoGenTag, DisableFlagsInUseLine, DisableSuggestions, SuggestionsMinimumDistance (exhaustruct_v5) data-mesher-0.1.0> root := &cobra.Command{ data-mesher-0.1.0> ^ data-mesher-0.1.0> cmd/generate/identity_key.go:16:10: cobra.Command is missing fields Aliases, SuggestFor, GroupID, Long, Example, ValidArgs, ValidArgsFunction, Args, ArgAliases, BashCompletionFunction, Deprecated, Annotations, Version, PersistentPreRun, PersistentPreRunE, PreRun, PreRunE, Run, PostRun, PostRunE, PersistentPostRun, PersistentPostRunE, FParseErrWhitelist, CompletionOptions, TraverseChildren, Hidden, SilenceErrors, SilenceUsage, DisableFlagParsing, DisableAutoGenTag, DisableFlagsInUseLine, DisableSuggestions, SuggestionsMinimumDistance (exhaustruct_v5) data-mesher-0.1.0> cmd := &cobra.Command{ data-mesher-0.1.0> ^ data-mesher-0.1.0> cmd/peer/peer_id.go:13:10: cobra.Command is missing fields Aliases, SuggestFor, GroupID, Long, Example, ValidArgs, ValidArgsFunction, ArgAliases, BashCompletionFunction, Deprecated, Annotations, Version, PersistentPreRun, PersistentPreRunE, PreRun, PreRunE, Run, PostRun, PostRunE, PersistentPostRun, PersistentPostRunE, FParseErrWhitelist, CompletionOptions, TraverseChildren, Hidden, SilenceErrors, SilenceUsage, DisableFlagParsing, DisableAutoGenTag, DisableFlagsInUseLine, DisableSuggestions, SuggestionsMinimumDistance (exhaustruct_v5) data-mesher-0.1.0> cmd := &cobra.Command{ data-mesher-0.1.0> ^ data-mesher-0.1.0> cmd/root.go:18:10: cobra.Command is missing fields Aliases, SuggestFor, GroupID, Long, Example, ValidArgs, ValidArgsFunction, Args, ArgAliases, BashCompletionFunction, Deprecated, Annotations, PersistentPreRun, PersistentPreRunE, PreRun, PreRunE, Run, RunE, PostRun, PostRunE, PersistentPostRun, PersistentPostRunE, FParseErrWhitelist, CompletionOptions, TraverseChildren, Hidden, SilenceErrors, SilenceUsage, DisableFlagParsing, DisableAutoGenTag, DisableFlagsInUseLine, DisableSuggestions, SuggestionsMinimumDistance (exhaustruct_v5) data-mesher-0.1.0> cmd := &cobra.Command{ data-mesher-0.1.0> ^ data-mesher-0.1.0> cmd/server/server.go:84:45: slog.HandlerOptions is missing fields AddSource, ReplaceAttr (exhaustruct_v5) data-mesher-0.1.0> handler := slog.NewTextHandler(os.Stderr, &slog.HandlerOptions{ data-mesher-0.1.0> ^ data-mesher-0.1.0> pkg/cluster/cluster.go:53:14: cluster.Cluster is missing fields dht, fileServer, stateExchanger (exhaustruct_v5) data-mesher-0.1.0> cluster := &Cluster{ data-mesher-0.1.0> ^ data-mesher-0.1.0> pkg/config/config.go:189:33: config.Config is missing fields HTTP, Cluster, MaxFileSize, MaxValidFor, StateDirectory, PluginDirectories, SweepInterval, ClockSkewTolerance, Network, ExtraNetworks, Now, SignatureAuth, NetworksByID (exhaustruct_v5) data-mesher-0.1.0> BindEnvVars(v, "DATA_MESHER", &Config{}) data-mesher-0.1.0> ^ data-mesher-0.1.0> pkg/config/config.go:218:10: config.Config is missing fields HTTP, Cluster, MaxFileSize, MaxValidFor, StateDirectory, PluginDirectories, SweepInterval, ClockSkewTolerance, Network, ExtraNetworks, Now, SignatureAuth, NetworksByID (exhaustruct_v5) data-mesher-0.1.0> cfg := &Config{} data-mesher-0.1.0> ^ data-mesher-0.1.0> pkg/config/config_test.go:52:9: config.HTTP is missing fields ListenAddresses, Resolver (exhaustruct_v5) data-mesher-0.1.0> return config.HTTP{ data-mesher-0.1.0> ^ data-mesher-0.1.0> pkg/config/config_test.go:71:9: config.Cluster is missing field Interfaces (exhaustruct_v5) data-mesher-0.1.0> return config.Cluster{ data-mesher-0.1.0> ^ data-mesher-0.1.0> pkg/config/config_test.go:83:9: config.Network is missing fields Namespaces, Name (exhaustruct_v5) data-mesher-0.1.0> return config.Network{ data-mesher-0.1.0> ^ data-mesher-0.1.0> pkg/config/config_test.go:105:11: config.Config is missing fields MaxFileSize, MaxValidFor, PluginDirectories, SweepInterval, ClockSkewTolerance, ExtraNetworks, Now, SignatureAuth, NetworksByID (exhaustruct_v5) data-mesher-0.1.0> cfg := &config.Config{ data-mesher-0.1.0> ^ data-mesher-0.1.0> pkg/config/config_test.go:119:11: config.Config is missing fields MaxFileSize, MaxValidFor, PluginDirectories, SweepInterval, ClockSkewTolerance, ExtraNetworks, Now, SignatureAuth, NetworksByID (exhaustruct_v5) data-mesher-0.1.0> cfg := &config.Config{ data-mesher-0.1.0> ^ data-mesher-0.1.0> pkg/config/config_test.go:123:13: config.Network is missing fields Namespaces, Name (exhaustruct_v5) data-mesher-0.1.0> Network: config.Network{ data-mesher-0.1.0> ^ data-mesher-0.1.0> pkg/config/config_test.go:138:11: config.Config is missing fields MaxFileSize, MaxValidFor, PluginDirectories, SweepInterval, ClockSkewTolerance, ExtraNetworks, Now, SignatureAuth, NetworksByID (exhaustruct_v5) data-mesher-0.1.0> cfg := &config.Config{ data-mesher-0.1.0> ^ data-mesher-0.1.0> pkg/config/config_test.go:157:13: config.Network is missing fields Files, Namespaces, Name (exhaustruct_v5) data-mesher-0.1.0> Network: config.Network{ data-mesher-0.1.0> ^ data-mesher-0.1.0> pkg/config/config_test.go:174:13: config.Network is missing fields Files, Namespaces, Name (exhaustruct_v5) data-mesher-0.1.0> Network: config.Network{ data-mesher-0.1.0> ^ data-mesher-0.1.0> pkg/config/config_test.go:187:11: config.Config is missing fields MaxValidFor, PluginDirectories, SweepInterval, ClockSkewTolerance, ExtraNetworks, Now, SignatureAuth, NetworksByID (exhaustruct_v5) data-mesher-0.1.0> cfg := &config.Config{ data-mesher-0.1.0> ^ data-mesher-0.1.0> pkg/config/config_test.go:203:11: config.Config is missing fields MaxValidFor, PluginDirectories, SweepInterval, ClockSkewTolerance, ExtraNetworks, Now, SignatureAuth, NetworksByID (exhaustruct_v5) data-mesher-0.1.0> cfg := &config.Config{ data-mesher-0.1.0> ^ data-mesher-0.1.0> pkg/crypto/certificate.go:81:11: crypto.Certificate is missing field Signature (exhaustruct_v5) data-mesher-0.1.0> cert := &Certificate{ data-mesher-0.1.0> ^ data-mesher-0.1.0> pkg/crypto/certificate.go:290:29: pem.Block is missing field Headers (exhaustruct_v5) data-mesher-0.1.0> return pem.EncodeToMemory(&pem.Block{ data-mesher-0.1.0> ^ data-mesher-0.1.0> pkg/crypto/private_key.go:69:29: pem.Block is missing field Headers (exhaustruct_v5) data-mesher-0.1.0> return pem.EncodeToMemory(&pem.Block{ data-mesher-0.1.0> ^ data-mesher-0.1.0> pkg/crypto/public_key.go:75:29: pem.Block is missing field Headers (exhaustruct_v5) data-mesher-0.1.0> return pem.EncodeToMemory(&pem.Block{ data-mesher-0.1.0> ^ data-mesher-0.1.0> pkg/crypto/public_key.go:203:10: crypto.PublicKey is missing field str (exhaustruct_v5) data-mesher-0.1.0> return &PublicKey{ data-mesher-0.1.0> ^ data-mesher-0.1.0> pkg/libp2p/security/tls/conn.go:21:25: tls.conn is missing fields Conn, localPeer, remotePeer, remotePubKey, connectionState (exhaustruct_v5) data-mesher-0.1.0> var _ sec.SecureConn = &conn{} data-mesher-0.1.0> ^ data-mesher-0.1.0> pkg/libp2p/security/tls/crypto.go:108:11: tls.Config is missing fields Rand, Time, NameToCertificate, GetCertificate, GetClientCertificate, GetConfigForClient, VerifyConnection, RootCAs, ServerName, ClientCAs, CipherSuites, PreferServerCipherSuites, SessionTicketKey, ClientSessionCache, UnwrapSession, WrapSession, MaxVersion, CurvePreferences, DynamicRecordSizingDisabled, Renegotiation, KeyLogWriter, EncryptedClientHelloConfigList, EncryptedClientHelloRejectionVerify, GetEncryptedClientHelloKeys, EncryptedClientHelloKeys (exhaustruct_v5) data-mesher-0.1.0> config: tls.Config{ data-mesher-0.1.0> ^ data-mesher-0.1.0> pkg/libp2p/security/tls/crypto.go:239:27: x509.VerifyOptions is missing fields DNSName, Intermediates, CurrentTime, KeyUsages, MaxConstraintComparisions, CertificatePolicies (exhaustruct_v5) data-mesher-0.1.0> if _, err := cert.Verify(x509.VerifyOptions{Roots: pool}); err != nil { data-mesher-0.1.0> ^ data-mesher-0.1.0> pkg/libp2p/security/tls/crypto.go:356:9: pkix.Extension is missing field Critical (exhaustruct_v5) data-mesher-0.1.0> return pkix.Extension{Id: libp2pKeyExtensionID(), Value: value}, nil data-mesher-0.1.0> ^ data-mesher-0.1.0> pkg/libp2p/security/tls/crypto.go:380:11: pkix.Extension is missing field Critical (exhaustruct_v5) data-mesher-0.1.0> dmExt := pkix.Extension{ data-mesher-0.1.0> ^ data-mesher-0.1.0> pkg/libp2p/security/tls/crypto.go:392:10: tls.Certificate is missing fields SupportedSignatureAlgorithms, OCSPStaple, SignedCertificateTimestamps, Leaf (exhaustruct_v5) data-mesher-0.1.0> return &tls.Certificate{ data-mesher-0.1.0> ^ data-mesher-0.1.0> pkg/libp2p/security/tls/crypto.go:412:10: x509.Certificate is missing fields Raw, RawTBSCertificate, RawSubjectPublicKeyInfo, RawSubject, RawIssuer, Signature, SignatureAlgorithm, PublicKeyAlgorithm, PublicKey, Version, Issuer, KeyUsage, Extensions, ExtraExtensions, UnhandledCriticalExtensions, ExtKeyUsage, UnknownExtKeyUsage, BasicConstraintsValid, IsCA, MaxPathLen, MaxPathLenZero, SubjectKeyId, AuthorityKeyId, OCSPServer, IssuingCertificateURL, DNSNames, EmailAddresses, IPAddresses, URIs, PermittedDNSDomainsCritical, PermittedDNSDomains, ExcludedDNSDomains, PermittedIPRanges, ExcludedIPRanges, PermittedEmailAddresses, ExcludedEmailAddresses, PermittedURIDomains, ExcludedURIDomains, CRLDistributionPoints, PolicyIdentifiers, Policies, InhibitAnyPolicy, InhibitAnyPolicyZero, InhibitPolicyMapping, InhibitPolicyMappingZero, RequireExplicitPolicy, RequireExplicitPolicyZero, PolicyMappings (exhaustruct_v5) data-mesher-0.1.0> return &x509.Certificate{ data-mesher-0.1.0> ^ data-mesher-0.1.0> pkg/libp2p/security/tls/crypto.go:418:12: pkix.Name is missing fields Country, Organization, OrganizationalUnit, Locality, Province, StreetAddress, PostalCode, CommonName, Names, ExtraNames (exhaustruct_v5) data-mesher-0.1.0> Subject: pkix.Name{SerialNumber: subjectSN.String()}, data-mesher-0.1.0> ^ data-mesher-0.1.0> pkg/libp2p/security/tls/transport.go:42:30: tls.Transport is missing fields identity, localPeer, peerstore, privKey, muxers, protocolID (exhaustruct_v5) data-mesher-0.1.0> var _ sec.SecureTransport = &Transport{} data-mesher-0.1.0> ^ data-mesher-0.1.0> pkg/libp2p/security/tls/transport.go:193:20: network.ConnectionState is missing fields Security, Transport (exhaustruct_v5) data-mesher-0.1.0> connectionState: network.ConnectionState{ data-mesher-0.1.0> ^ data-mesher-0.1.0> pkg/libp2p/services/file_transfer/v1/server.go:81:12: file_transfer_v1.FileResponse is missing field Signature (exhaustruct_v5) data-mesher-0.1.0> resp := &FileResponse{Error: err.Error()} data-mesher-0.1.0> ^ data-mesher-0.1.0> pkg/libp2p/services/file_transfer/v1/server.go:89:12: file_transfer_v1.FileResponse is missing field Signature (exhaustruct_v5) data-mesher-0.1.0> resp := &FileResponse{Error: "internal server error"} data-mesher-0.1.0> ^ data-mesher-0.1.0> pkg/libp2p/services/file_transfer/v1/server.go:100:10: file_transfer_v1.FileResponse is missing field Error (exhaustruct_v5) data-mesher-0.1.0> resp := FileResponse{Signature: sig} data-mesher-0.1.0> ^ data-mesher-0.1.0> pkg/model/signature.go:160:10: model.Signature is missing field Certificate (exhaustruct_v5) data-mesher-0.1.0> return &Signature{ data-mesher-0.1.0> ^ data-mesher-0.1.0> pkg/model/signature.go:235:8: model.SignatureWriter is missing fields size, hash, hasher (exhaustruct_v5) data-mesher-0.1.0> w := &SignatureWriter{ data-mesher-0.1.0> ^ data-mesher-0.1.0> pkg/model/signature.go:257:8: model.SignatureWriter is missing fields ValidFor, size, hash, hasher (exhaustruct_v5) data-mesher-0.1.0> w := &SignatureWriter{ data-mesher-0.1.0> ^ data-mesher-0.1.0> pkg/model/signature.go:268:8: model.SignatureWriter is missing fields size, hash, hasher (exhaustruct_v5) data-mesher-0.1.0> w := &SignatureWriter{ data-mesher-0.1.0> ^ data-mesher-0.1.0> pkg/msgpack/codec.go:13:15: codec.MsgpackHandle is missing fields BasicHandle, NoFixedNum, PositiveIntUnsigned (exhaustruct_v5) data-mesher-0.1.0> var handle = &codec.MsgpackHandle{ data-mesher-0.1.0> ^ data-mesher-0.1.0> pkg/server/server.go:34:10: server.Server is missing fields files, http, cluster, cancelTasks (exhaustruct_v5) data-mesher-0.1.0> srv := &Server{ data-mesher-0.1.0> ^ data-mesher-0.1.0> pkg/state/signatures.go:57:10: state.signatureReader is missing fields cursor, cursorStarted, networkIdx (exhaustruct_v5) data-mesher-0.1.0> return &signatureReader{ data-mesher-0.1.0> ^ data-mesher-0.1.0> pkg/cluster/state_exchange.go:68:2: G404: Use of weak random number generator (math/rand or math/rand/v2 instead of crypto/rand) (gosec) data-mesher-0.1.0> rand.Shuffle(len(peers), func(i, j int) { data-mesher-0.1.0> peers[i], peers[j] = peers[j], peers[i] data-mesher-0.1.0> }) data-mesher-0.1.0> pkg/model/signature.go:16:25: directive `//nolint:recvcheck` is unused for linter "recvcheck" (nolintlint) data-mesher-0.1.0> type SignatureType byte //nolint:recvcheck data-mesher-0.1.0> ^ data-mesher-0.1.0> 52 issues: data-mesher-0.1.0> * exhaustruct_v5: 50 data-mesher-0.1.0> * gosec: 1 data-mesher-0.1.0> * nolintlint: 1 error: path '/nix/store/09ln52mmn3c9q1mc58bcq2nzw79mlpn1-data-mesher-0.1.0' is not valid error: Cannot build '/nix/store/qzdxm4d9h64ag0blzsi95s8vd366iy28-data-mesher-0.1.0.drv'. Reason: builder failed with exit code 1. Output paths: /nix/store/09ln52mmn3c9q1mc58bcq2nzw79mlpn1-data-mesher-0.1.0