mirror of
https://github.com/foomo/posh-providers.git
synced 2025-10-16 12:35:41 +00:00
| .. | ||
| account.go | ||
| checker.go | ||
| cluster.go | ||
| command.go | ||
| config_test.go | ||
| config.base.json | ||
| config.go | ||
| config.schema.json | ||
| gcloud.go | ||
| README.md | ||
POSH gcloud provider
Usage
Plugin
func New(l log.Logger) (plugin.Plugin, error) {
inst := &Plugin{}
// ...
// create provider
provider, err := gcloud.New(l, inst.cache)
if err != nil {
return nil
}
// add command
inst.commands.Add(
gcloud.NewCommand(l, provider, inst.kubectl),
)
// ...
}
Using service account access tokens retrieved by OnePassword:
func New(l log.Logger) (plugin.Plugin, error) {
inst := &Plugin{}
// ...
// create provider
provider, err := gcloud.New(l, inst.cache)
if err != nil {
return nil
}
// add command
inst.commands.Add(
gcloud.NewCommand(l, provider, inst.kubectl, gcloud.CommandWithOnePassword(inst.op)),
)
// ...
}
Config
gcloud:
configPath: .posh/config/gcloud
clusters:
prod:
name: default
project: myproject-123456
region: europe-west6
Using service account access tokens:
gcloud:
configPath: .posh/config/gcloud
accounts:
prod:
name: user@account.iam.gserviceaccount.com
admin@prod:
name: admin@account.iam.gserviceaccount.com
clusters:
prod:
name: default
project: myproject-123456
region: europe-west6
account: prod
admin@prod:
name: default
project: myproject-123456
region: europe-west6
account: admin@prod
NOTE: Servce account keys can optionally be retrieved by OnePassword.
gcloud:
configPath: .posh/config/gcloud
accounts:
prod:
name: user@account.iam.gserviceaccount.com
key:
field: 1234564dxtuty3vaaxezex4c7ey
item: 1234564dxtuty3vaaxezex4c7ey
vault: 1234564dxtuty3vaaxezex4c7ey
account: foomo
Ownbrew
require:
packages:
- name: gcloud
version: '>=409'
command: gcloud --version 2>&1 | grep "Google Cloud SDK" | awk '{print $4}'
help: |
Please ensure you have 'gcloud' installed in a recent version: %s!
$ brew update
$ brew install google-cloud-sdk