Compare commits

...

3 Commits

Author SHA1 Message Date
Kevin Franklin Kim
21df2c83c3
fix: lint 2025-09-22 10:27:46 +02:00
Kevin Franklin Kim
62f2c8ee54
feat: update schema 2025-09-22 10:25:50 +02:00
Kevin Franklin Kim
1c3307914b
feat: use json required 2025-09-22 07:05:37 +02:00
72 changed files with 127 additions and 491 deletions

View File

@ -32,13 +32,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"path",
"description",
"routes",
"basicAuth"
]
"type": "object"
},
"ConfigRouter": {
"properties": {
@ -59,12 +53,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"url",
"routes",
"description"
]
"type": "object"
},
"Secret": {
"properties": {
@ -82,13 +71,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"account",
"vault",
"item",
"field"
]
"type": "object"
}
}
}

View File

@ -23,6 +23,7 @@ func TestConfig(t *testing.T) {
require.NoError(t, err)
reflector := new(jsonschema.Reflector)
reflector.RequiredFromJSONSchemaTags = true
require.NoError(t, reflector.AddGoComments("github.com/foomo/posh-providers/arbitrary/open", "./"))
schema := reflector.Reflect(&open.Config{})
schema.ID = "https://github.com/foomo/posh-providers/arbitrary/open"

View File

@ -139,10 +139,18 @@ func (c *Command) executeTask(ctx context.Context, taskID string) error {
} else {
sh = exec.CommandContext(ctx, "sh", "-c", cmd)
}
sh.Stdin = os.Stdin
sh.Stdout = os.Stdout
sh.Stderr = os.Stderr
if task.Dir != "" {
sh.Dir = task.Dir
}
sh.Env = append(os.Environ(), task.Env...)
c.l.Infof("☑︎ | [%d|%d] %s: %s", i+1, len(task.Cmds), taskID, cmd)
if err := sh.Run(); err != nil {
return err
c.l.Infof("🔧 | {%d|%d} %s: %s", i+1, len(task.Cmds), taskID, cmd)
if err := sh.Run(); err == nil {
return nil
} else {
c.l.Debug(err.Error())
}
}
@ -181,6 +189,9 @@ func (c *Command) executeTask(ctx context.Context, taskID string) error {
sh.Stdin = os.Stdin
sh.Stdout = os.Stdout
sh.Stderr = os.Stderr
if task.Dir != "" {
sh.Dir = task.Dir
}
sh.Env = append(os.Environ(), task.Env...)
c.l.Infof("🔧 | [%d|%d] %s: %s", i+1, len(task.Cmds), taskID, cmd)
if err := sh.Run(); err != nil {

View File

@ -22,6 +22,10 @@
"type": "array",
"description": "Task environment variables"
},
"dir": {
"type": "string",
"description": "Dir to execute the task in"
},
"description": {
"type": "string",
"description": "Description of the task"
@ -53,16 +57,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"prompt",
"env",
"description",
"precondition",
"deps",
"cmds",
"hidden"
]
"type": "object"
}
}
}

View File

@ -23,6 +23,7 @@ func TestConfig(t *testing.T) {
require.NoError(t, err)
reflector := new(jsonschema.Reflector)
reflector.RequiredFromJSONSchemaTags = true
require.NoError(t, reflector.AddGoComments("github.com/foomo/posh-providers/arbitrary/task", "./"))
schema := reflector.Reflect(&task.Config{})
schema.ID = "https://github.com/foomo/posh-providers/arbitrary/task"

View File

@ -5,6 +5,8 @@ type Task struct {
Prompt string `json:"prompt" yaml:"prompt"`
// Task environment variables
Env []string `json:"env" yaml:"env"`
// Dir to execute the task in
Dir string `json:"dir" yaml:"dir"`
// Description of the task
Description string `json:"description" yaml:"description"`
// Precondition to cancel the execution of a task and its dependencies

View File

@ -13,10 +13,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"credentials"
]
"type": "object"
},
"Secret": {
"properties": {
@ -34,13 +31,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"account",
"vault",
"item",
"field"
]
"type": "object"
}
}
}

View File

@ -23,6 +23,7 @@ func TestConfig(t *testing.T) {
require.NoError(t, err)
reflector := new(jsonschema.Reflector)
reflector.RequiredFromJSONSchemaTags = true
require.NoError(t, reflector.AddGoComments("github.com/foomo/posh-providers/arbitrary/zip", "./"))
schema := reflector.Reflect(&zip.Config{})
schema.ID = "https://github.com/foomo/posh-providers/arbitrary/zip"

View File

@ -13,11 +13,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"name",
"resourceGroup"
]
"type": "object"
},
"Cluster": {
"properties": {
@ -31,11 +27,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"name",
"resourceGroup"
]
"type": "object"
},
"Config": {
"properties": {
@ -63,13 +55,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"configPath",
"tenantId",
"subscriptions",
"servicePrincipals"
]
"type": "object"
},
"ServicePrincipal": {
"properties": {
@ -87,12 +73,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"tenantId",
"clientId",
"clientSecret"
]
"type": "object"
},
"Subscription": {
"properties": {
@ -113,12 +94,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"name",
"clusters",
"artifactories"
]
"type": "object"
}
}
}

View File

@ -23,6 +23,7 @@ func TestConfig(t *testing.T) {
require.NoError(t, err)
reflector := new(jsonschema.Reflector)
reflector.RequiredFromJSONSchemaTags = true
require.NoError(t, reflector.AddGoComments("github.com/foomo/posh-providers/azure/az", "./"))
schema := reflector.Reflect(&az.Config{})
schema.ID = "https://github.com/foomo/posh-providers/azure/az"

View File

@ -16,12 +16,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"type",
"hostname",
"port"
]
"type": "object"
},
"Config": {
"properties": {
@ -36,11 +31,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"path",
"access"
]
"type": "object"
}
}
}

View File

@ -23,6 +23,7 @@ func TestConfig(t *testing.T) {
require.NoError(t, err)
reflector := new(jsonschema.Reflector)
reflector.RequiredFromJSONSchemaTags = true
require.NoError(t, reflector.AddGoComments("github.com/foomo/posh-providers/cloudflare/cloudflared", "./"))
schema := reflector.Reflect(&cloudflared.Config{})
schema.ID = "https://github.com/foomo/posh-providers/cloudflare/cloudflared"

View File

@ -10,10 +10,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"name"
]
"type": "object"
},
"Config": {
"properties": {
@ -28,11 +25,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"configPath",
"clusters"
]
"type": "object"
}
}
}

View File

@ -23,6 +23,7 @@ func TestConfig(t *testing.T) {
require.NoError(t, err)
reflector := new(jsonschema.Reflector)
reflector.RequiredFromJSONSchemaTags = true
require.NoError(t, reflector.AddGoComments("github.com/foomo/posh-providers/digitalocean/doctl", "./"))
schema := reflector.Reflect(&doctl.Config{})
schema.ID = "https://github.com/foomo/posh-providers/digitalocean/doctl"

View File

@ -22,13 +22,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"name",
"podName",
"namespace",
"paths"
]
"type": "object"
},
"Config": {
"properties": {
@ -43,11 +37,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"configPath",
"clusters"
]
"type": "object"
}
}
}

View File

@ -23,6 +23,7 @@ func TestConfig(t *testing.T) {
require.NoError(t, err)
reflector := new(jsonschema.Reflector)
reflector.RequiredFromJSONSchemaTags = true
require.NoError(t, reflector.AddGoComments("github.com/foomo/posh-providers/etcd-io/etcd", "./"))
schema := reflector.Reflect(&etcd.Config{})
schema.ID = "https://github.com/foomo/posh-providers/etcd-io/etcd"

View File

@ -28,15 +28,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"sourcePath",
"localPort",
"nodeTag",
"imageTag",
"imageName",
"volumes"
]
"type": "object"
}
}
}

View File

@ -23,6 +23,7 @@ func TestConfig(t *testing.T) {
require.NoError(t, err)
reflector := new(jsonschema.Reflector)
reflector.RequiredFromJSONSchemaTags = true
require.NoError(t, reflector.AddGoComments("github.com/foomo/posh-providers/facebook/docusaurus", "./"))
schema := reflector.Reflect(&docusaurus.Config{})
schema.ID = "https://github.com/foomo/posh-providers/facebook/docusaurus"

View File

@ -16,11 +16,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"name",
"names"
]
"type": "object"
},
"Config": {
"properties": {
@ -35,11 +31,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"certificatePath",
"certificates"
]
"type": "object"
}
}
}

View File

@ -23,6 +23,7 @@ func TestConfig(t *testing.T) {
require.NoError(t, err)
reflector := new(jsonschema.Reflector)
reflector.RequiredFromJSONSchemaTags = true
require.NoError(t, reflector.AddGoComments("github.com/foomo/posh-providers/filosottile/mkcert", "./"))
schema := reflector.Reflect(&mkcert.Config{})
schema.ID = "https://github.com/foomo/posh-providers/filosottile/mkcert"

View File

@ -16,12 +16,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"port",
"hostname",
"kubeconfig"
]
"type": "object"
},
"Config": {
"properties": {
@ -39,11 +34,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"clusters",
"databases"
]
"type": "object"
},
"Database": {
"properties": {
@ -55,11 +46,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"port",
"hostname"
]
"type": "object"
},
"Secret": {
"properties": {
@ -77,13 +64,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"account",
"vault",
"item",
"field"
]
"type": "object"
}
}
}

View File

@ -23,6 +23,7 @@ func TestConfig(t *testing.T) {
require.NoError(t, err)
reflector := new(jsonschema.Reflector)
reflector.RequiredFromJSONSchemaTags = true
require.NoError(t, reflector.AddGoComments("github.com/foomo/posh-providers/foomo/beam", "./"))
schema := reflector.Reflect(&beam.Config{})
schema.ID = "https://github.com/foomo/posh-providers/foomo/beam"

View File

@ -22,12 +22,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"spaceId",
"cmaKey",
"contentTypes"
]
"type": "object"
}
}
}

View File

@ -23,6 +23,7 @@ func TestConfig(t *testing.T) {
require.NoError(t, err)
reflector := new(jsonschema.Reflector)
reflector.RequiredFromJSONSchemaTags = true
require.NoError(t, reflector.AddGoComments("github.com/foomo/posh-providers/foomo/gocontentful", "./"))
schema := reflector.Reflect(&gocontentful.Config{})
schema.ID = "https://github.com/foomo/posh-providers/foomo/gocontentful"

View File

@ -23,6 +23,7 @@ func TestConfig(t *testing.T) {
require.NoError(t, err)
reflector := new(jsonschema.Reflector)
reflector.RequiredFromJSONSchemaTags = true
require.NoError(t, reflector.AddGoComments("github.com/foomo/posh-providers/foomo/sesamy", "./"))
schema := reflector.Reflect(&sesamy.Config{})
schema.ID = "https://github.com/foomo/posh-providers/foomo/sesamy"

View File

@ -26,13 +26,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"name",
"notify",
"confirm",
"fleets"
]
"type": "object"
},
"Config": {
"properties": {
@ -49,11 +43,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"path",
"clusters"
]
"type": "object"
}
}
}

View File

@ -23,6 +23,7 @@ func TestConfig(t *testing.T) {
require.NoError(t, err)
reflector := new(jsonschema.Reflector)
reflector.RequiredFromJSONSchemaTags = true
require.NoError(t, reflector.AddGoComments("github.com/foomo/posh-providers/foomo/squadron", "./"))
schema := reflector.Reflect(&squadron.Config{})
schema.ID = "https://github.com/foomo/posh-providers/foomo/squadron"

View File

@ -16,12 +16,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"url",
"authUrl",
"project"
]
"type": "object"
}
}
}

View File

@ -23,6 +23,7 @@ func TestConfig(t *testing.T) {
require.NoError(t, err)
reflector := new(jsonschema.Reflector)
reflector.RequiredFromJSONSchemaTags = true
require.NoError(t, reflector.AddGoComments("github.com/foomo/posh-providers/goharbor/harbor", "./"))
schema := reflector.Reflect(&harbor.Config{})
schema.ID = "https://github.com/foomo/posh-providers/goharbor/harbor"

View File

@ -19,11 +19,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"sources",
"databases"
]
"type": "object"
}
}
}

View File

@ -23,6 +23,7 @@ func TestConfig(t *testing.T) {
require.NoError(t, err)
reflector := new(jsonschema.Reflector)
reflector.RequiredFromJSONSchemaTags = true
require.NoError(t, reflector.AddGoComments("github.com/foomo/posh-providers/golang-migrate/migrate", "./"))
schema := reflector.Reflect(&migrate.Config{})
schema.ID = "https://github.com/foomo/posh-providers/golang-migrate/migrate"

View File

@ -16,12 +16,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"name",
"email",
"key"
]
"type": "object"
},
"Cluster": {
"properties": {
@ -39,13 +34,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"name",
"project",
"region",
"account"
]
"type": "object"
},
"Config": {
"properties": {
@ -66,12 +55,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"configPath",
"accounts",
"clusters"
]
"type": "object"
},
"Secret": {
"properties": {
@ -89,13 +73,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"account",
"vault",
"item",
"field"
]
"type": "object"
}
}
}

View File

@ -23,6 +23,7 @@ func TestConfig(t *testing.T) {
require.NoError(t, err)
reflector := new(jsonschema.Reflector)
reflector.RequiredFromJSONSchemaTags = true
require.NoError(t, reflector.AddGoComments("github.com/foomo/posh-providers/google/gcloud", "./"))
schema := reflector.Reflect(&gcloud.Config{})
schema.ID = "https://github.com/foomo/posh-providers/google/gcloud"

View File

@ -16,11 +16,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"path",
"envs"
]
"type": "object"
},
"Env": {
"additionalProperties": {

View File

@ -23,6 +23,7 @@ func TestConfig(t *testing.T) {
require.NoError(t, err)
reflector := new(jsonschema.Reflector)
reflector.RequiredFromJSONSchemaTags = true
require.NoError(t, reflector.AddGoComments("github.com/foomo/posh-providers/grafana/k6", "./"))
schema := reflector.Reflect(&k6.Config{})
schema.ID = "https://github.com/foomo/posh-providers/grafana/k6"

View File

@ -34,15 +34,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"path",
"labels",
"hostname",
"kubernetes",
"apps",
"database"
]
"type": "object"
},
"Database": {
"properties": {
@ -51,10 +43,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"user"
]
"type": "object"
},
"Kubernetes": {
"properties": {
@ -66,10 +55,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"aliases"
]
"type": "object"
}
}
}

View File

@ -23,6 +23,7 @@ func TestConfig(t *testing.T) {
require.NoError(t, err)
reflector := new(jsonschema.Reflector)
reflector.RequiredFromJSONSchemaTags = true
require.NoError(t, reflector.AddGoComments("github.com/foomo/posh-providers/gravitational/teleport", "./"))
schema := reflector.Reflect(&teleport.Config{})
schema.ID = "https://github.com/foomo/posh-providers/gravitational/teleport"

View File

@ -13,11 +13,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"path",
"cachePath"
]
"type": "object"
}
}
}

View File

@ -23,6 +23,7 @@ func TestConfig(t *testing.T) {
require.NoError(t, err)
reflector := new(jsonschema.Reflector)
reflector.RequiredFromJSONSchemaTags = true
require.NoError(t, reflector.AddGoComments("github.com/foomo/posh-providers/gruntwork-io/terragrunt", "./"))
schema := reflector.Reflect(&terragrunt.Config{})
schema.ID = "https://github.com/foomo/posh-providers/gruntwork-io/terragrunt"

View File

@ -13,11 +13,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"path",
"outPath"
]
"type": "object"
}
}
}

View File

@ -23,6 +23,7 @@ func TestConfig(t *testing.T) {
require.NoError(t, err)
reflector := new(jsonschema.Reflector)
reflector.RequiredFromJSONSchemaTags = true
require.NoError(t, reflector.AddGoComments("github.com/foomo/posh-providers/hashicorp/cdktf", "./"))
schema := reflector.Reflect(&cdktf.Config{})
schema.ID = "https://github.com/foomo/posh-providers/hashicorp/cdktf"

View File

@ -10,10 +10,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"templatePath"
]
"type": "object"
}
}
}

View File

@ -23,6 +23,7 @@ func TestConfig(t *testing.T) {
require.NoError(t, err)
reflector := new(jsonschema.Reflector)
reflector.RequiredFromJSONSchemaTags = true
require.NoError(t, reflector.AddGoComments("github.com/foomo/posh-providers/jondot/hygen", "./"))
schema := reflector.Reflect(&hygen.Config{})
schema.ID = "https://github.com/foomo/posh-providers/jondot/hygen"

View File

@ -19,12 +19,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"charts",
"registry",
"clusters"
]
"type": "object"
},
"ConfigCharts": {
"properties": {
@ -36,11 +31,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"path",
"prefix"
]
"type": "object"
},
"ConfigCluster": {
"properties": {
@ -69,14 +60,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"alias",
"image",
"port",
"enableTraefikRouter",
"args"
]
"type": "object"
},
"ConfigRegistry": {
"properties": {
@ -88,11 +72,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"name",
"port"
]
"type": "object"
}
}
}

View File

@ -23,6 +23,7 @@ func TestConfig(t *testing.T) {
require.NoError(t, err)
reflector := new(jsonschema.Reflector)
reflector.RequiredFromJSONSchemaTags = true
require.NoError(t, reflector.AddGoComments("github.com/foomo/posh-providers/k3d-io/k3d", "./"))
schema := reflector.Reflect(&k3d.Config{})
schema.ID = "https://github.com/foomo/posh-providers/k3d-io/k3d"

View File

@ -10,10 +10,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"configPath"
]
"type": "object"
}
}
}

View File

@ -23,6 +23,7 @@ func TestConfig(t *testing.T) {
require.NoError(t, err)
reflector := new(jsonschema.Reflector)
reflector.RequiredFromJSONSchemaTags = true
require.NoError(t, reflector.AddGoComments("github.com/foomo/posh-providers/kubernets/kubectl", "./"))
schema := reflector.Reflect(&kubectl.Config{})
schema.ID = "https://github.com/foomo/posh-providers/kubernetes/kubectl"

View File

@ -33,14 +33,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"cluster",
"namespace",
"description",
"target",
"port"
]
"type": "object"
}
}
}

View File

@ -23,6 +23,7 @@ func TestConfig(t *testing.T) {
require.NoError(t, err)
reflector := new(jsonschema.Reflector)
reflector.RequiredFromJSONSchemaTags = true
require.NoError(t, reflector.AddGoComments("github.com/foomo/posh-providers/kubernets/kubeforward", "./"))
schema := reflector.Reflect(&kubeforward.Config{})
schema.ID = "https://github.com/foomo/posh-providers/kubernetes/kubeforward"

View File

@ -13,11 +13,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"account",
"tokenFilename"
]
"type": "object"
}
}
}

View File

@ -23,6 +23,7 @@ func TestConfig(t *testing.T) {
require.NoError(t, err)
reflector := new(jsonschema.Reflector)
reflector.RequiredFromJSONSchemaTags = true
require.NoError(t, reflector.AddGoComments("github.com/foomo/posh-providers/onepassword", "./"))
schema := reflector.Reflect(&onepassword.Config{})
schema.ID = "https://github.com/foomo/posh-providers/onepassword/op"

View File

@ -19,12 +19,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"logPath",
"decisionsPath",
"sources"
]
"type": "object"
}
}
}

View File

@ -23,6 +23,7 @@ func TestConfig(t *testing.T) {
require.NoError(t, err)
reflector := new(jsonschema.Reflector)
reflector.RequiredFromJSONSchemaTags = true
require.NoError(t, reflector.AddGoComments("github.com/foomo/posh-providers/pivotal/licensefinder", "./"))
schema := reflector.Reflect(&licensefinder.Config{})
schema.ID = "https://github.com/foomo/posh-providers/pivotal/licensefinder"

View File

@ -297,7 +297,6 @@
},
"ConfigRoute": {
"type": "object",
"required": [ "path", "description", "routes", "basicAuth" ],
"properties": {
"description": {
"description": "Route description",
@ -323,7 +322,6 @@
},
"ConfigRouter": {
"type": "object",
"required": [ "url", "routes", "description" ],
"properties": {
"description": {
"description": "Router descriotion",
@ -345,7 +343,6 @@
},
"Secret": {
"type": "object",
"required": [ "account", "vault", "item", "field" ],
"properties": {
"account": {
"type": "string"
@ -376,15 +373,6 @@
},
"Task": {
"type": "object",
"required": [
"prompt",
"env",
"description",
"precondition",
"deps",
"cmds",
"hidden"
],
"properties": {
"description": {
"description": "Description of the task",
@ -404,6 +392,10 @@
"type": "string"
}
},
"dir": {
"description": "Dir to execute the task in",
"type": "string"
},
"env": {
"description": "Task environment variables",
"type": "array",
@ -437,7 +429,6 @@
"$defs": {
"Config": {
"type": "object",
"required": [ "credentials" ],
"properties": {
"credentials": {
"type": "object",
@ -450,7 +441,6 @@
},
"Secret": {
"type": "object",
"required": [ "account", "vault", "item", "field" ],
"properties": {
"account": {
"type": "string"
@ -475,7 +465,6 @@
"$defs": {
"Artifactory": {
"type": "object",
"required": [ "name", "resourceGroup" ],
"properties": {
"name": {
"type": "string"
@ -488,7 +477,6 @@
},
"Cluster": {
"type": "object",
"required": [ "name", "resourceGroup" ],
"properties": {
"name": {
"description": "Cluster",
@ -503,7 +491,6 @@
},
"Config": {
"type": "object",
"required": [ "configPath", "tenantId", "subscriptions", "servicePrincipals" ],
"properties": {
"configPath": {
"description": "Config path",
@ -532,7 +519,6 @@
},
"ServicePrincipal": {
"type": "object",
"required": [ "tenantId", "clientId", "clientSecret" ],
"properties": {
"clientId": {
"description": "Application client id",
@ -551,7 +537,6 @@
},
"Subscription": {
"type": "object",
"required": [ "name", "clusters", "artifactories" ],
"properties": {
"artifactories": {
"type": "object",
@ -579,7 +564,6 @@
"$defs": {
"Access": {
"type": "object",
"required": [ "type", "hostname", "port" ],
"properties": {
"type": {
"type": "string"
@ -595,7 +579,6 @@
},
"Config": {
"type": "object",
"required": [ "path", "access" ],
"properties": {
"access": {
"type": "object",
@ -617,7 +600,6 @@
"$defs": {
"Cluster": {
"type": "object",
"required": [ "name" ],
"properties": {
"name": {
"type": "string"
@ -627,7 +609,6 @@
},
"Config": {
"type": "object",
"required": [ "configPath", "clusters" ],
"properties": {
"clusters": {
"type": "object",
@ -649,7 +630,6 @@
"$defs": {
"Cluster": {
"type": "object",
"required": [ "name", "podName", "namespace", "paths" ],
"properties": {
"name": {
"type": "string"
@ -671,7 +651,6 @@
},
"Config": {
"type": "object",
"required": [ "configPath", "clusters" ],
"properties": {
"clusters": {
"type": "array",
@ -693,14 +672,6 @@
"$defs": {
"Config": {
"type": "object",
"required": [
"sourcePath",
"localPort",
"nodeTag",
"imageTag",
"imageName",
"volumes"
],
"properties": {
"imageName": {
"type": "string"
@ -734,7 +705,6 @@
"$defs": {
"Certificate": {
"type": "object",
"required": [ "name", "names" ],
"properties": {
"name": {
"type": "string"
@ -750,7 +720,6 @@
},
"Config": {
"type": "object",
"required": [ "certificatePath", "certificates" ],
"properties": {
"certificatePath": {
"type": "string"
@ -772,7 +741,6 @@
"$defs": {
"Cluster": {
"type": "object",
"required": [ "port", "hostname", "kubeconfig" ],
"properties": {
"hostname": {
"type": "string"
@ -788,7 +756,6 @@
},
"Config": {
"type": "object",
"required": [ "clusters", "databases" ],
"properties": {
"clusters": {
"type": "object",
@ -807,7 +774,6 @@
},
"Database": {
"type": "object",
"required": [ "port", "hostname" ],
"properties": {
"hostname": {
"type": "string"
@ -820,7 +786,6 @@
},
"Secret": {
"type": "object",
"required": [ "account", "vault", "item", "field" ],
"properties": {
"account": {
"type": "string"
@ -845,7 +810,6 @@
"$defs": {
"Config": {
"type": "object",
"required": [ "spaceId", "cmaKey", "contentTypes" ],
"properties": {
"cmaKey": {
"type": "string"
@ -888,7 +852,6 @@
"$defs": {
"Cluster": {
"type": "object",
"required": [ "name", "notify", "confirm", "fleets" ],
"properties": {
"confirm": {
"description": "Enable confirmation",
@ -914,7 +877,6 @@
},
"Config": {
"type": "object",
"required": [ "path", "clusters" ],
"properties": {
"clusters": {
"description": "Cluster configurations",
@ -938,7 +900,6 @@
"$defs": {
"Config": {
"type": "object",
"required": [ "url", "authUrl", "project" ],
"properties": {
"authUrl": {
"type": "string"
@ -960,7 +921,6 @@
"$defs": {
"Config": {
"type": "object",
"required": [ "sources", "databases" ],
"properties": {
"databases": {
"type": "object",
@ -985,7 +945,6 @@
"$defs": {
"Account": {
"type": "object",
"required": [ "name", "email", "key" ],
"properties": {
"email": {
"type": "string"
@ -1001,7 +960,6 @@
},
"Cluster": {
"type": "object",
"required": [ "name", "project", "region", "account" ],
"properties": {
"account": {
"type": "string"
@ -1020,7 +978,6 @@
},
"Config": {
"type": "object",
"required": [ "configPath", "accounts", "clusters" ],
"properties": {
"accounts": {
"type": "object",
@ -1042,7 +999,6 @@
},
"Secret": {
"type": "object",
"required": [ "account", "vault", "item", "field" ],
"properties": {
"account": {
"type": "string"
@ -1067,7 +1023,6 @@
"$defs": {
"Config": {
"type": "object",
"required": [ "path", "envs" ],
"properties": {
"envs": {
"type": "object",
@ -1095,7 +1050,6 @@
"$defs": {
"Config": {
"type": "object",
"required": [ "path", "labels", "hostname", "kubernetes", "apps", "database" ],
"properties": {
"apps": {
"type": "object",
@ -1129,7 +1083,6 @@
},
"Database": {
"type": "object",
"required": [ "user" ],
"properties": {
"user": {
"type": "string"
@ -1139,7 +1092,6 @@
},
"Kubernetes": {
"type": "object",
"required": [ "aliases" ],
"properties": {
"aliases": {
"type": "object",
@ -1158,7 +1110,6 @@
"$defs": {
"Config": {
"type": "object",
"required": [ "path", "cachePath" ],
"properties": {
"cachePath": {
"type": "string"
@ -1177,7 +1128,6 @@
"$defs": {
"Config": {
"type": "object",
"required": [ "path", "outPath" ],
"properties": {
"outPath": {
"type": "string"
@ -1196,7 +1146,6 @@
"$defs": {
"Config": {
"type": "object",
"required": [ "templatePath" ],
"properties": {
"templatePath": {
"type": "string"
@ -1212,7 +1161,6 @@
"$defs": {
"Config": {
"type": "object",
"required": [ "charts", "registry", "clusters" ],
"properties": {
"charts": {
"$ref": "#/$defs/https:~1~1github.com~1foomo~1posh-providers~1k3d-io~1k3d/$defs/ConfigCharts"
@ -1231,7 +1179,6 @@
},
"ConfigCharts": {
"type": "object",
"required": [ "path", "prefix" ],
"properties": {
"path": {
"type": "string"
@ -1244,7 +1191,6 @@
},
"ConfigCluster": {
"type": "object",
"required": [ "alias", "image", "port", "enableTraefikRouter", "args" ],
"properties": {
"alias": {
"description": "K3d cluster name",
@ -1274,7 +1220,6 @@
},
"ConfigRegistry": {
"type": "object",
"required": [ "name", "port" ],
"properties": {
"name": {
"type": "string"
@ -1293,7 +1238,6 @@
"$defs": {
"Config": {
"type": "object",
"required": [ "configPath" ],
"properties": {
"configPath": {
"type": "string"
@ -1315,7 +1259,6 @@
},
"PortForward": {
"type": "object",
"required": [ "cluster", "namespace", "description", "target", "port" ],
"properties": {
"description": {
"description": "Optional description",
@ -1348,7 +1291,6 @@
"$defs": {
"Config": {
"type": "object",
"required": [ "account", "tokenFilename" ],
"properties": {
"account": {
"type": "string"
@ -1367,7 +1309,6 @@
"$defs": {
"Config": {
"type": "object",
"required": [ "logPath", "decisionsPath", "sources" ],
"properties": {
"decisionsPath": {
"type": "string"
@ -1392,14 +1333,6 @@
"$defs": {
"Backend": {
"type": "object",
"required": [
"location",
"container",
"subscription",
"resourceGroup",
"storageAccount",
"passphrase"
],
"properties": {
"container": {
"type": "string"
@ -1424,7 +1357,6 @@
},
"Config": {
"type": "object",
"required": [ "path", "configPath", "backends" ],
"properties": {
"backends": {
"type": "object",
@ -1443,7 +1375,6 @@
},
"Secret": {
"type": "object",
"required": [ "account", "vault", "item", "field" ],
"properties": {
"account": {
"type": "string"
@ -1468,7 +1399,6 @@
"$defs": {
"Backend": {
"type": "object",
"required": [ "location", "bucket", "project", "passphrase" ],
"properties": {
"bucket": {
"type": "string"
@ -1487,7 +1417,6 @@
},
"Config": {
"type": "object",
"required": [ "path", "configPath", "backends" ],
"properties": {
"backends": {
"type": "object",
@ -1506,7 +1435,6 @@
},
"Secret": {
"type": "object",
"required": [ "account", "vault", "item", "field" ],
"properties": {
"account": {
"type": "string"
@ -1531,7 +1459,6 @@
"$defs": {
"Config": {
"type": "object",
"required": [ "path", "config" ],
"properties": {
"config": {
"type": "string"
@ -1550,7 +1477,6 @@
"$defs": {
"Config": {
"type": "object",
"required": [ "token", "channels", "webhooks" ],
"properties": {
"channels": {
"type": "object",
@ -1572,7 +1498,6 @@
},
"Secret": {
"type": "object",
"required": [ "account", "vault", "item", "field" ],
"properties": {
"account": {
"type": "string"
@ -1597,7 +1522,6 @@
"$defs": {
"Config": {
"type": "object",
"required": [ "tempDir", "cacheDir" ],
"properties": {
"cacheDir": {
"type": "string"
@ -1616,7 +1540,6 @@
"$defs": {
"Cluster": {
"type": "object",
"required": [ "name" ],
"properties": {
"name": {
"type": "string"
@ -1626,7 +1549,6 @@
},
"Config": {
"type": "object",
"required": [ "projects" ],
"properties": {
"projects": {
"type": "object",
@ -1639,7 +1561,6 @@
},
"Project": {
"type": "object",
"required": [ "id", "clusters" ],
"properties": {
"id": {
"type": "string"
@ -1661,7 +1582,6 @@
"$defs": {
"Config": {
"type": "object",
"required": [ "queries" ],
"properties": {
"queries": {
"type": "object",
@ -1674,7 +1594,6 @@
},
"Query": {
"type": "object",
"required": [ "query", "queries" ],
"properties": {
"queries": {
"type": "object",
@ -1699,7 +1618,6 @@
"$defs": {
"Config": {
"type": "object",
"required": [ "path" ],
"properties": {
"path": {
"type": "string"
@ -1715,7 +1633,6 @@
"$defs": {
"Config": {
"type": "object",
"required": [ "dirs", "modes", "sites", "secrets", "browserStack" ],
"properties": {
"browserStack": {
"$ref": "#/$defs/https:~1~1github.com~1foomo~1posh-providers~1webdriverio~1webdriverio/$defs/Secret"
@ -1743,7 +1660,6 @@
},
"ConfigEnv": {
"type": "object",
"required": [ "auth", "domain" ],
"properties": {
"auth": {
"$ref": "#/$defs/https:~1~1github.com~1foomo~1posh-providers~1webdriverio~1webdriverio/$defs/Secret"
@ -1762,7 +1678,6 @@
},
"ConfigMode": {
"type": "object",
"required": [ "port", "hostPrefix" ],
"properties": {
"hostPrefix": {
"type": "string"
@ -1787,7 +1702,6 @@
},
"Secret": {
"type": "object",
"required": [ "account", "vault", "item", "field" ],
"properties": {
"account": {
"type": "string"

View File

@ -25,15 +25,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"location",
"container",
"subscription",
"resourceGroup",
"storageAccount",
"passphrase"
]
"type": "object"
},
"Config": {
"properties": {
@ -51,12 +43,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"path",
"configPath",
"backends"
]
"type": "object"
},
"Secret": {
"properties": {
@ -74,13 +61,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"account",
"vault",
"item",
"field"
]
"type": "object"
}
}
}

View File

@ -23,6 +23,7 @@ func TestConfig(t *testing.T) {
require.NoError(t, err)
reflector := new(jsonschema.Reflector)
reflector.RequiredFromJSONSchemaTags = true
require.NoError(t, reflector.AddGoComments("github.com/foomo/posh-providers/pulumi/pulumi/azure", "./"))
schema := reflector.Reflect(&pulumi.Config{})
schema.ID = "https://github.com/foomo/posh-providers/pulumi/pulumi/azure"

View File

@ -19,13 +19,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"location",
"bucket",
"project",
"passphrase"
]
"type": "object"
},
"Config": {
"properties": {
@ -43,12 +37,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"path",
"configPath",
"backends"
]
"type": "object"
},
"Secret": {
"properties": {
@ -66,13 +55,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"account",
"vault",
"item",
"field"
]
"type": "object"
}
}
}

View File

@ -23,6 +23,7 @@ func TestConfig(t *testing.T) {
require.NoError(t, err)
reflector := new(jsonschema.Reflector)
reflector.RequiredFromJSONSchemaTags = true
require.NoError(t, reflector.AddGoComments("github.com/foomo/posh-providers/pulumi/pulumi/gcloud", "./"))
schema := reflector.Reflect(&pulumi.Config{})
schema.ID = "https://github.com/foomo/posh-providers/pulumi/pulumi/gcloud"

View File

@ -13,11 +13,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"path",
"config"
]
"type": "object"
}
}
}

View File

@ -23,6 +23,7 @@ func TestConfig(t *testing.T) {
require.NoError(t, err)
reflector := new(jsonschema.Reflector)
reflector.RequiredFromJSONSchemaTags = true
require.NoError(t, reflector.AddGoComments("github.com/foomo/posh-providers/rclone/rclone", "./"))
schema := reflector.Reflect(&rclone.Config{})
schema.ID = "https://github.com/foomo/posh-providers/rclone/rclone"

View File

@ -22,12 +22,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"token",
"channels",
"webhooks"
]
"type": "object"
},
"Secret": {
"properties": {
@ -45,13 +40,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"account",
"vault",
"item",
"field"
]
"type": "object"
}
}
}

View File

@ -23,6 +23,7 @@ func TestConfig(t *testing.T) {
require.NoError(t, err)
reflector := new(jsonschema.Reflector)
reflector.RequiredFromJSONSchemaTags = true
require.NoError(t, reflector.AddGoComments("github.com/foomo/posh-providers/slack-go/slack", "./"))
schema := reflector.Reflect(&slack.Config{})
schema.ID = "https://github.com/foomo/posh-providers/slack-go/slack"

View File

@ -13,11 +13,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"tempDir",
"cacheDir"
]
"type": "object"
}
}
}

View File

@ -23,6 +23,7 @@ func TestConfig(t *testing.T) {
require.NoError(t, err)
reflector := new(jsonschema.Reflector)
reflector.RequiredFromJSONSchemaTags = true
require.NoError(t, reflector.AddGoComments("github.com/foomo/posh-providers/sqlc-dev/sqlc", "./"))
schema := reflector.Reflect(&sqlc.Config{})
schema.ID = "https://github.com/foomo/posh-providers/sqlc-dev/sqlc"

View File

@ -10,10 +10,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"name"
]
"type": "object"
},
"Config": {
"properties": {
@ -25,10 +22,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"projects"
]
"type": "object"
},
"Project": {
"properties": {
@ -43,11 +37,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"id",
"clusters"
]
"type": "object"
}
}
}

View File

@ -23,6 +23,7 @@ func TestConfig(t *testing.T) {
require.NoError(t, err)
reflector := new(jsonschema.Reflector)
reflector.RequiredFromJSONSchemaTags = true
require.NoError(t, reflector.AddGoComments("github.com/foomo/posh-providers/stackitcloud/stackit", "./"))
schema := reflector.Reflect(&stackit.Config{})
schema.ID = "https://github.com/foomo/posh-providers/stackitcloud/stackit"

View File

@ -13,10 +13,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"queries"
]
"type": "object"
},
"Query": {
"properties": {
@ -34,11 +31,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"query",
"queries"
]
"type": "object"
}
}
}

View File

@ -23,6 +23,7 @@ func TestConfig(t *testing.T) {
require.NoError(t, err)
reflector := new(jsonschema.Reflector)
reflector.RequiredFromJSONSchemaTags = true
require.NoError(t, reflector.AddGoComments("github.com/foomo/posh-providers/stern/stern", "./"))
schema := reflector.Reflect(&stern.Config{})
schema.ID = "https://github.com/foomo/posh-providers/stern/stern"

View File

@ -10,10 +10,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"path"
]
"type": "object"
}
}
}

View File

@ -23,6 +23,7 @@ func TestConfig(t *testing.T) {
require.NoError(t, err)
reflector := new(jsonschema.Reflector)
reflector.RequiredFromJSONSchemaTags = true
require.NoError(t, reflector.AddGoComments("github.com/foomo/posh-providers/usebruno/bruno", "./"))
schema := reflector.Reflect(&bruno.Config{})
schema.ID = "https://github.com/foomo/posh-providers/usebruno/bruno"

View File

@ -28,14 +28,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"dirs",
"modes",
"sites",
"secrets",
"browserStack"
]
"type": "object"
},
"ConfigEnv": {
"properties": {
@ -47,11 +40,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"auth",
"domain"
]
"type": "object"
},
"ConfigEnvs": {
"additionalProperties": {
@ -69,11 +58,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"port",
"hostPrefix"
]
"type": "object"
},
"ConfigModes": {
"additionalProperties": {
@ -103,13 +88,7 @@
}
},
"additionalProperties": false,
"type": "object",
"required": [
"account",
"vault",
"item",
"field"
]
"type": "object"
}
}
}

View File

@ -23,6 +23,7 @@ func TestConfig(t *testing.T) {
require.NoError(t, err)
reflector := new(jsonschema.Reflector)
reflector.RequiredFromJSONSchemaTags = true
require.NoError(t, reflector.AddGoComments("github.com/foomo/posh-providers/webdriverio/webdriverio", "./"))
schema := reflector.Reflect(&webdriverio.Config{})
schema.ID = "https://github.com/foomo/posh-providers/webdriverio/webdriverio"