Skip to content

Commit

Permalink
Add linter script to codebase
Browse files Browse the repository at this point in the history
- golang-ci-linter is configured to:
-- Run linting to ensure every go file has a license file
-- Run golinter against the codebase
- Fix golinter issues returned when the linter script is run

Co-authored-by: Dennis Leon <[email protected]>
Co-authored-by: Daniel Helfand <[email protected]>
  • Loading branch information
DennisDenuto and danielhelfand committed Jan 19, 2021
1 parent 8e33b9a commit 68fc9e3
Show file tree
Hide file tree
Showing 24 changed files with 67 additions and 51 deletions.
9 changes: 9 additions & 0 deletions .golangci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
linters:
enable:
- goheader
- golint
disable-all: true
# all available settings of specific linters
linters-settings:
goheader:
template-path: code-header-template.txt
2 changes: 2 additions & 0 deletions code-header-template.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Copyright 2020 VMware, Inc.
SPDX-License-Identifier: Apache-2.0
5 changes: 5 additions & 0 deletions hack/linter.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/bash
set -e

golangci-lint cache clean
golangci-lint run --max-same-issues 0
12 changes: 6 additions & 6 deletions pkg/kbld/builder/docker/docker.go
Original file line number Diff line number Diff line change
Expand Up @@ -122,11 +122,11 @@ func (d Docker) Build(image, directory string, opts DockerBuildOpts) (DockerTmpR
return DockerTmpRef{}, err
}

return d.RetagStable(tmpRef, image, inspectData.Id, prefixedLogger)
return d.RetagStable(tmpRef, image, inspectData.ID, prefixedLogger)
}

func (d Docker) RetagStable(tmpRef DockerTmpRef, image, imageID string,
prefixedLogger *ctllog.LoggerPrefixWriter) (DockerTmpRef, error) {
prefixedLogger *ctllog.PrefixWriter) (DockerTmpRef, error) {

tb := ctlb.TagBuilder{}

Expand Down Expand Up @@ -243,7 +243,7 @@ func (d Docker) Push(tmpRef DockerTmpRef, imageDst string) (DockerImageDigest, e
// Try to detect if image we should be pushing isnt the one we ended up pushing
// given that its theoretically possible concurrent Docker commands
// may have retagged in the middle of the process.
if prevInspectData.Id != currInspectData.Id {
if prevInspectData.ID != currInspectData.ID {
prefixedLogger.Write([]byte(fmt.Sprintf("push race error: %s\n", err)))
return DockerImageDigest{}, err
}
Expand All @@ -267,7 +267,7 @@ func (d Docker) ensureDirectory(directory string) error {
}

func (d Docker) determineRepoDigest(inspectData dockerInspectData,
prefixedLogger *ctllog.LoggerPrefixWriter) (DockerImageDigest, error) {
prefixedLogger *ctllog.PrefixWriter) (DockerImageDigest, error) {

if len(inspectData.RepoDigests) == 0 {
prefixedLogger.Write([]byte("missing repo digest\n"))
Expand All @@ -289,15 +289,15 @@ func (d Docker) determineRepoDigest(inspectData dockerInspectData,
return DockerImageDigest{}, fmt.Errorf("Expected to find same repo digest, but found %#v", inspectData.RepoDigests)
}

for digest, _ := range digestStrs {
for digest := range digestStrs {
return DockerImageDigest{digest}, nil
}

panic("unreachable")
}

type dockerInspectData struct {
Id string
ID string
RepoDigests []string
}

Expand Down
8 changes: 4 additions & 4 deletions pkg/kbld/cmd/file_flags.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@ func (s *FileFlags) Set(cmd *cobra.Command) {
cmd.Flags().BoolVar(&s.Sort, "sort", true, "Sort by namespace, name, etc.")
}

func (f *FileFlags) AllResources() ([]ctlres.Resource, error) {
func (s *FileFlags) AllResources() ([]ctlres.Resource, error) {
var rs []ctlres.Resource

// TODO do anything with kbld configs?
for _, file := range f.Files {
for _, file := range s.Files {
fileRs, err := ctlres.NewFileResources(file)
if err != nil {
return nil, err
Expand All @@ -45,8 +45,8 @@ func (f *FileFlags) AllResources() ([]ctlres.Resource, error) {
return rs, nil
}

func (f *FileFlags) ResourcesAndConfig() ([]ctlres.Resource, ctlconf.Conf, error) {
allRs, err := f.AllResources()
func (s *FileFlags) ResourcesAndConfig() ([]ctlres.Resource, ctlconf.Conf, error) {
allRs, err := s.AllResources()
if err != nil {
return nil, ctlconf.Conf{}, err
}
Expand Down
4 changes: 2 additions & 2 deletions pkg/kbld/cmd/image.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ type Images []Image

type Image struct {
URL string
Metas []ctlimg.ImageMeta // empty when deserialized
metasRaw []interface{} // populated when deserialized
Metas []ctlimg.Meta // empty when deserialized
metasRaw []interface{} // populated when deserialized
}

func (imgs Images) ForImage(url string) (Image, bool) {
Expand Down
2 changes: 1 addition & 1 deletion pkg/kbld/cmd/image_set.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import (

type ImageSet struct {
concurrency int
logger *ctllog.LoggerPrefixWriter
logger *ctllog.PrefixWriter
}

func (o ImageSet) Relocate(foundImages *UnprocessedImageURLs,
Expand Down
4 changes: 2 additions & 2 deletions pkg/kbld/cmd/registry_flags.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ func (s *RegistryFlags) Set(cmd *cobra.Command) {
cmd.Flags().BoolVar(&s.Insecure, "registry-insecure", false, "Allow the use of http when interacting with registries")
}

func (s *RegistryFlags) AsRegistryOpts() ctlreg.RegistryOpts {
return ctlreg.RegistryOpts{
func (s *RegistryFlags) AsRegistryOpts() ctlreg.Opts {
return ctlreg.Opts{
CACertPaths: s.CACertPaths,
VerifyCerts: s.VerifyCerts,
Insecure: s.Insecure,
Expand Down
2 changes: 1 addition & 1 deletion pkg/kbld/cmd/tar_image_set.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import (
type TarImageSet struct {
imageSet ImageSet
concurrency int
logger *ctllog.LoggerPrefixWriter
logger *ctllog.PrefixWriter
}

func (o TarImageSet) Export(foundImages *UnprocessedImageURLs,
Expand Down
2 changes: 1 addition & 1 deletion pkg/kbld/cmd/unprocessed_image_urls.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ func (i *UnprocessedImageURLs) Add(url UnprocessedImageURL) {

func (i *UnprocessedImageURLs) All() []UnprocessedImageURL {
var result []UnprocessedImageURL
for url, _ := range i.urls {
for url := range i.urls {
result = append(result, url)
}
sort.Slice(result, func(i, j int) bool {
Expand Down
10 changes: 5 additions & 5 deletions pkg/kbld/config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,12 @@ const (
imageKeysKind = "ImageKeys"
)

type ConfigKind struct {
type Kind struct {
APIVersion, Kind string
}

var (
configKinds = []ConfigKind{
configKinds = []Kind{
{configAPIVersion, configKind},
{configAPIVersion, configKind},
{configAPIVersion, sourcesKind},
Expand Down Expand Up @@ -333,9 +333,9 @@ func UniqueImageOverrides(overrides []ImageOverride) []ImageOverride {
return result
}

func (r SearchRule) UpdateStrategyWithDefaults() SearchRuleUpdateStrategy {
if r.UpdateStrategy != nil {
return *r.UpdateStrategy
func (d SearchRule) UpdateStrategyWithDefaults() SearchRuleUpdateStrategy {
if d.UpdateStrategy != nil {
return *d.UpdateStrategy
}
return SearchRuleUpdateStrategy{
EntireString: &SearchRuleUpdateStrategyEntireString{},
Expand Down
8 changes: 4 additions & 4 deletions pkg/kbld/image/built.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ func NewBuiltImage(url string, buildSource ctlconf.Source, imgDst *ctlconf.Image
return BuiltImage{url, buildSource, imgDst, docker, pack, kubectlBuildkit}
}

func (i BuiltImage) URL() (string, []ImageMeta, error) {
func (i BuiltImage) URL() (string, []Meta, error) {
metas, err := i.sources()
if err != nil {
return "", nil, err
Expand Down Expand Up @@ -80,7 +80,7 @@ func (i BuiltImage) URL() (string, []ImageMeta, error) {
}
}

func (i BuiltImage) optionalPushWithDocker(dockerTmpRef ctlbdk.DockerTmpRef, metas []ImageMeta) (string, []ImageMeta, error) {
func (i BuiltImage) optionalPushWithDocker(dockerTmpRef ctlbdk.DockerTmpRef, metas []Meta) (string, []Meta, error) {
if i.imgDst != nil {
digest, err := i.docker.Push(dockerTmpRef, i.imgDst.NewImage)
if err != nil {
Expand Down Expand Up @@ -115,8 +115,8 @@ type BuiltImageSourceLocal struct {

func (BuiltImageSourceLocal) meta() {}

func (i BuiltImage) sources() ([]ImageMeta, error) {
var sources []ImageMeta
func (i BuiltImage) sources() ([]Meta, error) {
var sources []Meta

absPath, err := filepath.Abs(i.buildSource.Path)
if err != nil {
Expand Down
2 changes: 1 addition & 1 deletion pkg/kbld/image/digested.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ func NewDigestedImageFromParts(url, digest string) DigestedImage {
return DigestedImage{nameWithDigest, nil}
}

func (i DigestedImage) URL() (string, []ImageMeta, error) {
func (i DigestedImage) URL() (string, []Meta, error) {
if i.parseErr != nil {
return "", nil, i.parseErr
}
Expand Down
4 changes: 2 additions & 2 deletions pkg/kbld/image/factory.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ import (
)

type Image interface {
URL() (string, []ImageMeta, error)
URL() (string, []Meta, error)
}

type ImageMeta interface {
type Meta interface {
meta()
}

Expand Down
4 changes: 2 additions & 2 deletions pkg/kbld/image/preresolved.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,6 @@ func NewPreresolvedImage(url string) PreresolvedImage {
return PreresolvedImage{url}
}

func (i PreresolvedImage) URL() (string, []ImageMeta, error) {
return i.url, []ImageMeta{PreresolvedImageSourceURL{Type: "preresolved", URL: i.url}}, nil
func (i PreresolvedImage) URL() (string, []Meta, error) {
return i.url, []Meta{PreresolvedImageSourceURL{Type: "preresolved", URL: i.url}}, nil
}
2 changes: 1 addition & 1 deletion pkg/kbld/image/resolved.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ func NewResolvedImage(url string, registry ctlreg.Registry) ResolvedImage {
return ResolvedImage{url, registry}
}

func (i ResolvedImage) URL() (string, []ImageMeta, error) {
func (i ResolvedImage) URL() (string, []Meta, error) {
tag, err := regname.NewTag(i.url, regname.WeakValidation)
if err != nil {
return "", nil, err
Expand Down
2 changes: 1 addition & 1 deletion pkg/kbld/image/tag_selected.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ func NewTagSelectedImage(url string, selection *versions.VersionSelection,
return TagSelectedImage{url, selection, registry}
}

func (i TagSelectedImage) URL() (string, []ImageMeta, error) {
func (i TagSelectedImage) URL() (string, []Meta, error) {
repo, err := regname.NewRepository(i.url, regname.WeakValidation)
if err != nil {
return "", nil, err
Expand Down
2 changes: 1 addition & 1 deletion pkg/kbld/image/tagged.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ func NewTaggedImage(image Image, imgDst ctlconf.ImageDestination, registry ctlre
return TaggedImage{image, imgDst, registry}
}

func (i TaggedImage) URL() (string, []ImageMeta, error) {
func (i TaggedImage) URL() (string, []Meta, error) {
url, metas, err := i.image.URL()
if err != nil {
return "", nil, err
Expand Down
4 changes: 2 additions & 2 deletions pkg/kbld/imagetar/tar_file.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ type tarFileChunk struct {
var _ imagedesc.LayerContents = tarFileChunk{}

type tarFileChunkReadCloser struct {
DebugId string
DebugID string
io.Reader
io.Closer
}
Expand Down Expand Up @@ -65,7 +65,7 @@ func (f tarFile) openChunk(path string) (io.ReadCloser, error) {
}
if hdr.Name == path {
return tarFileChunkReadCloser{
DebugId: fmt.Sprintf("%s/%p", path, tf),
DebugID: fmt.Sprintf("%s/%p", path, tf),
Reader: tf, Closer: file}, nil
}
}
Expand Down
2 changes: 1 addition & 1 deletion pkg/kbld/imagetar/tar_writer.go
Original file line number Diff line number Diff line change
Expand Up @@ -322,7 +322,7 @@ func (TarWriter) retry(fn func() error) error {
type zeroReader struct{}

func (r zeroReader) Read(p []byte) (n int, err error) {
for i, _ := range p {
for i := range p {
p[i] = 0
}
return len(p), nil
Expand Down
10 changes: 5 additions & 5 deletions pkg/kbld/logger/logger.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,17 +19,17 @@ func NewLogger(writer io.Writer) Logger {
return Logger{writer: writer, writerLock: &sync.Mutex{}}
}

func (l Logger) NewPrefixedWriter(prefix string) *LoggerPrefixWriter {
return &LoggerPrefixWriter{prefix, l.writer, l.writerLock}
func (l Logger) NewPrefixedWriter(prefix string) *PrefixWriter {
return &PrefixWriter{prefix, l.writer, l.writerLock}
}

type LoggerPrefixWriter struct {
type PrefixWriter struct {
prefix string
writer io.Writer
writerLock *sync.Mutex
}

func (w *LoggerPrefixWriter) Write(data []byte) (int, error) {
func (w *PrefixWriter) Write(data []byte) (int, error) {
newData := make([]byte, len(data))
copy(newData, data)

Expand All @@ -54,7 +54,7 @@ func (w *LoggerPrefixWriter) Write(data []byte) (int, error) {
return len(data), nil
}

func (w *LoggerPrefixWriter) WriteStr(str string, args ...interface{}) error {
func (w *PrefixWriter) WriteStr(str string, args ...interface{}) error {
_, err := w.Write([]byte(fmt.Sprintf(str, args...)))
return err
}
6 changes: 3 additions & 3 deletions pkg/kbld/registry/registry.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import (
regremote "github.com/google/go-containerregistry/pkg/v1/remote"
)

type RegistryOpts struct {
type Opts struct {
CACertPaths []string
VerifyCerts bool
Insecure bool
Expand All @@ -30,7 +30,7 @@ type Registry struct {
refOpts []regname.Option
}

func NewRegistry(opts RegistryOpts) (Registry, error) {
func NewRegistry(opts Opts) (Registry, error) {
keychain := regauthn.NewMultiKeychain(NewEnvKeychain(opts.EnvAuthPrefix), regauthn.DefaultKeychain)
transport, err := newHTTPTransport(opts)
if err != nil {
Expand Down Expand Up @@ -150,7 +150,7 @@ func (i Registry) ListTags(repo regname.Repository) ([]string, error) {
return regremote.List(repo, i.opts...)
}

func newHTTPTransport(opts RegistryOpts) (*http.Transport, error) {
func newHTTPTransport(opts Opts) (*http.Transport, error) {
pool, err := x509.SystemCertPool()
if err != nil {
pool = x509.NewCertPool()
Expand Down
4 changes: 2 additions & 2 deletions pkg/kbld/resources/path.go
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ func (p Path) Matches(p2 Path) bool {
if len(p) != len(p2) {
return false
}
for i, _ := range p {
for i := range p {
if !p[i].Matches(p2[i]) {
return false
}
Expand All @@ -147,7 +147,7 @@ func (p Path) HasMatchingSuffix(ending Path) bool {
if len(p) < len(ending) {
return false
}
for i, _ := range ending {
for i := range ending {
if !p[len(p)-1-i].Matches(ending[len(ending)-1-i]) {
return false
}
Expand Down
8 changes: 4 additions & 4 deletions pkg/kbld/search/image_refs.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,10 @@ func (v ImageRefsVisitorFunc) Apply(res interface{}, searchRules []ctlconf.Searc
}
// Only use temporary references for values that are updated;
// otherwise future search rules may find tmp refs
tmpRefId := fmt.Sprintf(tmpRefPrefix+"%d__", tmpRefIdx)
tmpRefs[tmpRefId] = newVal
tmpRefIdx += 1
return tmpRefId, true
tmpRefID := fmt.Sprintf(tmpRefPrefix+"%d__", tmpRefIdx)
tmpRefs[tmpRefID] = newVal
tmpRefIdx++
return tmpRefID, true
}

// Use a single matcher that represents all rules instead
Expand Down

0 comments on commit 68fc9e3

Please sign in to comment.