kots

module
v1.69.1 Latest Latest
Warning

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

Go to latest
Published: Apr 19, 2022 License: Apache-2.0

README

Develop on Okteto go.dev reference

Kubernetes Off-The-Shelf (KOTS) Software

Replicated KOTS is the collective set of tools that enable the distribution and management of Kubernetes Off-The-Shelf (KOTS) software. The Kots CLI (a Kubectl plugin) is a general purpose, client-side binary for configuring and building dynamic Kubernetes manifests. The Kots CLI also serves as the bootstrapper for the in-cluster Kubernetes application Admin Console kotsadm which can be used to automate the core Kots CLI tasks for managing applications (license verification, configuration, updates, image renaming, version controlling changes, and deployment) as well as additional KOTS tasks (running preflight checks and performing support bundle analysis).

Distributing a KOTS application

Software vendors can package their Kubernetes applications or Helm charts or Operators as a KOTS application in order to distribute the application to cluster operators.

Kots CLI Documentation

Check out the full docs on the cluster operator experience for using the Kots CLI as a Kubectl plugin.

Try Kots

Try Kots as a cluster operator by installing the Replicated sample app (Sentry Pro Example) into an existing Kubernetes cluster. First, install the Kots CLI (a Kubectl plugin) on your workstation:

curl https://kots.io/install | bash
Run kots install

The install command is the recommended way to learn KOTS. Executing the install command will install an application and the kotsadm Admin Console to an existing Kubernetes cluster. This command supports installing Helm charts (without Tiller), standard Kubernetes applications and also Replicated KOTS apps.

Continue with the demo by running the following command:

kubectl kots install sentry-pro

Set a namespace for the admin console and the application components to be installed, and provide a password for the admin console. After this command completes, the kotsadm Admin Console will be running in your cluster, listening on port :8800 on a ClusterIP service in the namespace you deployed the application to. By default this is exposed to your workstation using kubectl port-forward, but you could set up an ingress/load balancer of your own.

Access the Admin Console

Visit http://localhost:8800 to access the Admin Console, enter the password.

Download the sample license for Sentry Pro & upload it to the console. You'll then be presented with configuration settings, preflight checks and other application options.

If you terminate your terminal session, the port-forward will also terminate. To access the admin console again, just run:

kubectl kots admin-console --namespace sentry-pro

Community

For questions about using KOTS, there's a Replicated Community forum, and a #kots channel in Kubernetes Slack.

Notifications

By default, KOTS will leverage MinIO as a standalone object store instance to store application archives and support bundles. All communication between KOTS and the MinIO object store is limited to a REST API released under the Apache 2.0 license. KOTS has not modified the MinIO source code. Use of MinIO is currently governed by the GNU AGPLv3 license that can be found in their LICENSE file. To remove MinIO usage for this use case in an existing cluster, an optional install flag --with-minio=false is available for new KOTS installs or upgrades from existing versions. To remove MinIO usage for this use case in an embedded cluster, the disableS3 option is available in the KOTS add-on and can be used for new installs or upgrades.

Software Bill of Materials

Signed SBOMs for KOTS Go dependencies and are included in each release. Use Cosign to validate the signature by running the following command.

cosign verify-blob -key sbom/key.pub -signature sbom/kots-sbom.tgz.sig sbom/kots-sbom.tgz

Directories

Path Synopsis
actions
copy-assets Module
cmd
cli
kotsadm module
kurl_proxy Module
operator Module
kotskinds
apis
Package apis contains Kubernetes API groups.
Package apis contains Kubernetes API groups.
apis/kots
Package kots contains kots API versions
Package kots contains kots API versions
apis/kots/v1beta1
Package v1beta1 contains API Schema definitions for the kots v1beta1 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/replicatedhq/kots/kotskinds/apis/kots +k8s:defaulter-gen=TypeMeta +groupName=kots.io Package v1beta1 contains API Schema definitions for the kots v1beta1 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/replicatedhq/kots/kotskinds/apis/kots +k8s:defaulter-gen=TypeMeta +groupName=kots.io
Package v1beta1 contains API Schema definitions for the kots v1beta1 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/replicatedhq/kots/kotskinds/apis/kots +k8s:defaulter-gen=TypeMeta +groupName=kots.io Package v1beta1 contains API Schema definitions for the kots v1beta1 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/replicatedhq/kots/kotskinds/apis/kots +k8s:defaulter-gen=TypeMeta +groupName=kots.io
client/kotsclientset
This package has the automatically generated clientset.
This package has the automatically generated clientset.
client/kotsclientset/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
client/kotsclientset/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
client/kotsclientset/typed/kots/v1beta1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/kotsclientset/typed/kots/v1beta1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
kurl_proxy module
pkg
app
handlers/mock
Package mock_handlers is a generated GoMock package.
Package mock_handlers is a generated GoMock package.
s3
store/mock
Package mock_store is a generated GoMock package.
Package mock_store is a generated GoMock package.

Jump to

Keyboard shortcuts

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