README
¶
POSH stackit provider
Usage
Plugin
package main
import (
"github.com/foomo/posh-providers/kubernets/kubectl"
"github.com/foomo/posh-providers/stackitcloud/stackit"
"github.com/foomo/posh/pkg/cache"
"github.com/foomo/posh/pkg/command"
)
type Plugin struct {
l log.Logger
cache cache.Cache
stackit *stackit.Stackit
kubectl *kubectl.Kubectl
commands command.Commands
}
func New(l log.Logger) (plugin.Plugin, error) {
var err error
inst := &Plugin{
l: l,
cache: &cache.MemoryCache{},
commands: command.Commands{},
}
// ...
inst.kubectl, err = kubectl.New(l, inst.cache)
if err != nil {
return nil, errors.Wrap(err, "failed to create kubectl")
}
inst.stackit, err = stackit.New(l, inst.cache)
if err != nil {
return nil, errors.Wrap(err, "failed to create stackit")
}
// ...
inst.commands.Add(stackit.NewCommand(l, inst.cache, inst.stackit, inst.kubectl))
// ...
return inst, nil
}
Config
## stackit
stackit:
projects:
my-project:
id: 123456-123456-123456
clusters:
dev:
name: my-project-dev-cluster
Ownbrew
To install binary locally, add:
ownbrew:
packages:
## https://github.com/stackitcloud/stackit-cli/releases
- name: stackit
tap: foomo/tap/stackitcloud/stackit-cli
version: 0.9.0
Documentation
¶
Index ¶
- type AuthTokenProvider
- type Cluster
- type ClusterNameFn
- type Command
- func (c *Command) Complete(ctx context.Context, r *readline.Readline) []goprompt.Suggest
- func (c *Command) Description() string
- func (c *Command) Execute(ctx context.Context, r *readline.Readline) error
- func (c *Command) Help(ctx context.Context, r *readline.Readline) string
- func (c *Command) Name() string
- type CommandOption
- type Config
- type Option
- type Project
- type Stackit
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AuthTokenProvider ¶
type ClusterNameFn ¶
type Command ¶
type Command struct {
// contains filtered or unexported fields
}
func NewCommand ¶
func (*Command) Description ¶
type CommandOption ¶
type CommandOption func(*Command)
func CommandWithClusterNameFn ¶
func CommandWithClusterNameFn(v ClusterNameFn) CommandOption
func CommandWithName ¶
func CommandWithName(v string) CommandOption
type Config ¶
func (Config) ProjectNames ¶
type Option ¶
func CommandWithConfigKey ¶
type Project ¶
type Project struct { ID string `json:"id" yaml:"id"` Clusters map[string]Cluster `json:"clusters" yaml:"clusters"` }
func (Project) ClusterNames ¶
Click to show internal directories.
Click to hide internal directories.