lint

package
v0.0.0-...-7b8b74e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 25, 2022 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Overview

Copyright 2022 Replicated Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2022 Replicated Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AddOn

type AddOn struct {
	Latest   string   `json:"latest"`
	Versions []string `json:"versions"`
}

AddOn holds an add-on and its respective supported versions.

type Linter

type Linter struct {
	// contains filtered or unexported fields
}

func New

func New(opts ...Option) *Linter

New returns a new v1beta1.Installer linter. this linter is capable of evaluating if a struct has all its fields properly set, rules in the "rego/" directory are used.

func (*Linter) Validate

func (l *Linter) Validate(ctx context.Context, inst v1beta1.Installer) ([]Output, error)

Validate checks the provided Installer for errors.

func (*Linter) Versions

func (l *Linter) Versions(ctx context.Context, inst v1beta1.Installer) (map[string]AddOn, error)

Versions return a map containing all supported versions indexed by add-on name. it goes and fetch the versions from a remote endpoint.

type Option

type Option func(*Linter)

Option is a function that sets an option in Linter object.

func WithAPIBaseURL

func WithAPIBaseURL(u *url.URL) Option

WithAPIBaseURL sets a different api base url from where the linter attempts to load known versions for all addons. The default is "https://kurl.sh".

func WithStaticVersions

func WithStaticVersions(versions map[string]AddOn) Option

WithStaticVersions set an static version of addon versions, avoids going to the the remote api to fetch a new list from time to time.

type Output

type Output struct {
	Field   string `json:"field,omitempty"`
	Type    string `json:"type,omitempty"`
	Message string `json:"message,omitempty"`
}

Output holds the outcome of a lint pass on top of a Installer struct.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL