-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #32 from ConductorOne/marcos/ref/config-schema-0
feat: Config Schema
- Loading branch information
Showing
689 changed files
with
664,144 additions
and
77,690 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -11,7 +11,7 @@ jobs: | |
- name: Checkout code | ||
uses: actions/checkout@v3 | ||
- name: Run linters | ||
uses: golangci/golangci-lint-action@v3 | ||
uses: golangci/golangci-lint-action@v6 | ||
with: | ||
version: latest | ||
args: --timeout=3m | ||
|
@@ -30,7 +30,7 @@ jobs: | |
- name: Checkout code | ||
uses: actions/checkout@v3 | ||
- name: go tests | ||
run: go test -v -covermode=count -json ./... > test.json | ||
run: (set -o pipefail && go test -v -covermode=count -json ./... | tee test.json) | ||
- name: annotate go tests | ||
if: always() | ||
uses: guyarb/[email protected] | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -14,7 +14,7 @@ jobs: | |
- name: Checkout code | ||
uses: actions/checkout@v3 | ||
- name: Run linters | ||
uses: golangci/golangci-lint-action@v3 | ||
uses: golangci/golangci-lint-action@v6 | ||
with: | ||
version: latest | ||
args: --timeout=3m | ||
|
@@ -33,7 +33,7 @@ jobs: | |
- name: Checkout code | ||
uses: actions/checkout@v3 | ||
- name: go tests | ||
run: go test -v -covermode=count -json ./... > test.json | ||
run: (set -o pipefail && go test -v -covermode=count -json ./... | tee test.json) | ||
- name: annotate go tests | ||
if: always() | ||
uses: guyarb/[email protected] | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,33 +1,28 @@ | ||
package main | ||
|
||
import ( | ||
"context" | ||
"fmt" | ||
|
||
"github.com/conductorone/baton-sdk/pkg/cli" | ||
"github.com/spf13/cobra" | ||
"github.com/conductorone/baton-sdk/pkg/field" | ||
) | ||
|
||
// config defines the external configuration required for the connector to run. | ||
type config struct { | ||
cli.BaseConfig `mapstructure:",squash"` // Puts the base config options in the same place as the connector options | ||
AccessToken string `mapstructure:"token"` | ||
EnterpriseToken string `mapstructure:"enterprise-token"` | ||
SSOEnabled bool `mapstructure:"sso-enabled"` | ||
} | ||
|
||
// validateConfig is run after the configuration is loaded, and should return an error if it isn't valid. | ||
func validateConfig(ctx context.Context, cfg *config) error { | ||
if cfg.AccessToken == "" { | ||
return fmt.Errorf("access token is missing") | ||
} | ||
var ( | ||
AccessTokenField = field.StringField( | ||
"token", | ||
field.WithDescription("The Slack bot user oauth token used to connect to the Slack API"), | ||
field.WithRequired(true), | ||
) | ||
EnterpriseTokenField = field.StringField( | ||
"enterprise-token", | ||
field.WithDescription("The Slack user oauth token used to connect to the Slack Enterprise Grid Admin API"), | ||
) | ||
SSOEnabledField = field.BoolField( | ||
"sso-enabled", | ||
field.WithDescription("Flag indicating that the SSO has been configured for Enterprise Grid Organization. Enables usage of SCIM API"), | ||
field.WithDefaultValue(false), | ||
) | ||
|
||
return nil | ||
} | ||
|
||
// cmdFlags sets the cmdFlags required for the connector. | ||
func cmdFlags(cmd *cobra.Command) { | ||
cmd.PersistentFlags().String("token", "", "The Slack bot user oauth token used to connect to the Slack API. ($BATON_TOKEN)") | ||
cmd.PersistentFlags().String("enterprise-token", "", "The Slack user oauth token used to connect to the Slack Enterprise Grid Admin API. ($BATON_ENTERPRISE_TOKEN)") | ||
cmd.PersistentFlags().String("sso-enabled", "", "Flag indicating that the SSO has been configured for Enterprise Grid Organization. Enables usage of SCIM API. ($BATON_SSO_ENABLED)") | ||
} | ||
Configuration = field.NewConfiguration([]field.SchemaField{ | ||
AccessTokenField, | ||
EnterpriseTokenField, | ||
SSOEnabledField, | ||
}) | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,94 +1,99 @@ | ||
module github.com/conductorone/baton-slack | ||
|
||
go 1.20 | ||
go 1.21 | ||
|
||
toolchain go1.23.0 | ||
|
||
require ( | ||
github.com/conductorone/baton-sdk v0.1.21 | ||
github.com/conductorone/baton-sdk v0.2.28 | ||
github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 | ||
github.com/slack-go/slack v0.13.1 | ||
github.com/spf13/cobra v1.8.0 | ||
go.uber.org/zap v1.26.0 | ||
google.golang.org/protobuf v1.32.0 | ||
github.com/slack-go/slack v0.14.0 | ||
github.com/spf13/viper v1.18.2 | ||
go.uber.org/zap v1.27.0 | ||
google.golang.org/protobuf v1.34.2 | ||
) | ||
|
||
require ( | ||
filippo.io/age v1.1.1 // indirect | ||
filippo.io/edwards25519 v1.1.0 // indirect | ||
github.com/aws/aws-sdk-go-v2 v1.25.0 // indirect | ||
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.0 // indirect | ||
github.com/aws/aws-sdk-go-v2/config v1.27.0 // indirect | ||
github.com/aws/aws-sdk-go-v2/credentials v1.17.0 // indirect | ||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.15.0 // indirect | ||
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.0 // indirect | ||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.0 // indirect | ||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.0 // indirect | ||
github.com/allegro/bigcache/v3 v3.1.0 // indirect | ||
github.com/aws/aws-sdk-go-v2 v1.26.1 // indirect | ||
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.2 // indirect | ||
github.com/aws/aws-sdk-go-v2/config v1.27.11 // indirect | ||
github.com/aws/aws-sdk-go-v2/credentials v1.17.11 // indirect | ||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.1 // indirect | ||
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.15 // indirect | ||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.5 // indirect | ||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.5 // indirect | ||
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 // indirect | ||
github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.0 // indirect | ||
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.0 // indirect | ||
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.0 // indirect | ||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.0 // indirect | ||
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.0 // indirect | ||
github.com/aws/aws-sdk-go-v2/service/s3 v1.49.0 // indirect | ||
github.com/aws/aws-sdk-go-v2/service/sso v1.19.0 // indirect | ||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.22.0 // indirect | ||
github.com/aws/aws-sdk-go-v2/service/sts v1.27.0 // indirect | ||
github.com/aws/smithy-go v1.20.0 // indirect | ||
github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.5 // indirect | ||
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2 // indirect | ||
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.7 // indirect | ||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.7 // indirect | ||
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.5 // indirect | ||
github.com/aws/aws-sdk-go-v2/service/s3 v1.53.1 // indirect | ||
github.com/aws/aws-sdk-go-v2/service/sso v1.20.5 // indirect | ||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.4 // indirect | ||
github.com/aws/aws-sdk-go-v2/service/sts v1.28.6 // indirect | ||
github.com/aws/smithy-go v1.20.2 // indirect | ||
github.com/benbjohnson/clock v1.3.5 // indirect | ||
github.com/deckarep/golang-set/v2 v2.6.0 // indirect | ||
github.com/doug-martin/goqu/v9 v9.19.0 // indirect | ||
github.com/dustin/go-humanize v1.0.1 // indirect | ||
github.com/envoyproxy/protoc-gen-validate v1.0.4 // indirect | ||
github.com/fsnotify/fsnotify v1.7.0 // indirect | ||
github.com/glebarez/go-sqlite v1.22.0 // indirect | ||
github.com/go-jose/go-jose/v3 v3.0.1 // indirect | ||
github.com/go-jose/go-jose/v3 v3.0.3 // indirect | ||
github.com/go-ole/go-ole v1.3.0 // indirect | ||
github.com/golang/protobuf v1.5.3 // indirect | ||
github.com/golang/protobuf v1.5.4 // indirect | ||
github.com/google/uuid v1.6.0 // indirect | ||
github.com/gorilla/websocket v1.5.3 // indirect | ||
github.com/hashicorp/hcl v1.0.0 // indirect | ||
github.com/inconshreveable/mousetrap v1.1.0 // indirect | ||
github.com/jmespath/go-jmespath v0.4.0 // indirect | ||
github.com/klauspost/compress v1.17.6 // indirect | ||
github.com/lufia/plan9stats v0.0.0-20231016141302-07b5767bb0ed // indirect | ||
github.com/klauspost/compress v1.17.8 // indirect | ||
github.com/lufia/plan9stats v0.0.0-20240408141607-282e7b5d6b74 // indirect | ||
github.com/magiconair/properties v1.8.7 // indirect | ||
github.com/mattn/go-isatty v0.0.20 // indirect | ||
github.com/mitchellh/mapstructure v1.5.0 // indirect | ||
github.com/ncruces/go-strftime v0.1.9 // indirect | ||
github.com/pelletier/go-toml/v2 v2.1.1 // indirect | ||
github.com/power-devops/perfstat v0.0.0-20221212215047-62379fc7944b // indirect | ||
github.com/pelletier/go-toml/v2 v2.2.2 // indirect | ||
github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 // indirect | ||
github.com/pquerna/xjwt v0.2.0 // indirect | ||
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect | ||
github.com/sagikazarmark/locafero v0.4.0 // indirect | ||
github.com/sagikazarmark/slog-shim v0.1.0 // indirect | ||
github.com/segmentio/ksuid v1.0.4 // indirect | ||
github.com/shirou/gopsutil/v3 v3.24.1 // indirect | ||
github.com/shirou/gopsutil/v3 v3.24.4 // indirect | ||
github.com/shoenig/go-m1cpu v0.1.6 // indirect | ||
github.com/sourcegraph/conc v0.3.0 // indirect | ||
github.com/spf13/afero v1.11.0 // indirect | ||
github.com/spf13/cast v1.6.0 // indirect | ||
github.com/spf13/cobra v1.8.1 // indirect | ||
github.com/spf13/pflag v1.0.5 // indirect | ||
github.com/spf13/viper v1.18.2 // indirect | ||
github.com/subosito/gotenv v1.6.0 // indirect | ||
github.com/tklauser/go-sysconf v0.3.13 // indirect | ||
github.com/tklauser/numcpus v0.7.0 // indirect | ||
github.com/tklauser/go-sysconf v0.3.14 // indirect | ||
github.com/tklauser/numcpus v0.8.0 // indirect | ||
github.com/yusufpapurcu/wmi v1.2.4 // indirect | ||
go.opentelemetry.io/otel v1.27.0 // indirect | ||
go.opentelemetry.io/otel/metric v1.27.0 // indirect | ||
go.uber.org/multierr v1.11.0 // indirect | ||
go.uber.org/ratelimit v0.3.0 // indirect | ||
go.uber.org/ratelimit v0.3.1 // indirect | ||
golang.org/x/crypto v0.25.0 // indirect | ||
golang.org/x/exp v0.0.0-20240213143201-ec583247a57a // indirect | ||
golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 // indirect | ||
golang.org/x/net v0.27.0 // indirect | ||
golang.org/x/oauth2 v0.17.0 // indirect | ||
golang.org/x/oauth2 v0.20.0 // indirect | ||
golang.org/x/sync v0.7.0 // indirect | ||
golang.org/x/sys v0.22.0 // indirect | ||
golang.org/x/text v0.16.0 // indirect | ||
google.golang.org/appengine v1.6.8 // indirect | ||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240213162025-012b6fc9bca9 // indirect | ||
google.golang.org/grpc v1.61.1 // indirect | ||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240506185236-b8a5c65736ae // indirect | ||
google.golang.org/grpc v1.63.2 // indirect | ||
gopkg.in/ini.v1 v1.67.0 // indirect | ||
gopkg.in/square/go-jose.v2 v2.6.0 // indirect | ||
gopkg.in/yaml.v2 v2.4.0 // indirect | ||
gopkg.in/yaml.v3 v3.0.1 // indirect | ||
modernc.org/libc v1.41.0 // indirect | ||
modernc.org/libc v1.50.5 // indirect | ||
modernc.org/mathutil v1.6.0 // indirect | ||
modernc.org/memory v1.7.2 // indirect | ||
modernc.org/sqlite v1.29.1 // indirect | ||
modernc.org/memory v1.8.0 // indirect | ||
modernc.org/sqlite v1.29.9 // indirect | ||
) |
Oops, something went wrong.