Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[full-ci] Revamp Config Parsing #2708

Merged
merged 171 commits into from Nov 23, 2021
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
171 commits
Select commit Hold shift + click to select a range
34253fc
remove flagset on proxy, use default config values
refs Oct 29, 2021
94aeefb
first examples of config parsing
refs Oct 29, 2021
998df71
poors man struct inheritance and perpetuity
refs Oct 29, 2021
711acbb
inherit logging config from ocis.yaml, let extensions overwrite their…
refs Oct 30, 2021
18b5536
Merge branch 'master' into try-gookikt-config
refs Oct 30, 2021
7df000d
parse config regardless of supervised / unsupervised
refs Oct 30, 2021
7fa70d7
Merge branch 'master' into try-gookikt-config
refs Nov 2, 2021
20b6d0a
add DefaultConfig on accounts
refs Nov 2, 2021
7ca9345
adjust accounts flagset, replace new with defaultconfig
refs Nov 2, 2021
a767356
provide example config + implement parse config on accounts
refs Nov 2, 2021
10731c3
general restructuring
refs Nov 2, 2021
ab1703c
refactor around config parsing
refs Nov 2, 2021
2d7a394
Merge branch 'master' into try-gookikt-config
refs Nov 2, 2021
2a14bb3
fix smells
refs Nov 2, 2021
24b3363
rename _fs -> dirFS
refs Nov 2, 2021
23d8c26
Merge branch 'master' into try-gookikt-config
refs Nov 2, 2021
598944b
Merge branch 'master' into try-gookikt-config
refs Nov 3, 2021
d54fc2f
ignoring config/ ignores changes done to extensions config packages
refs Nov 3, 2021
09195ff
use reflection to set config values from environment
refs Nov 3, 2021
850fe65
comments for mappings
refs Nov 3, 2021
ac373dd
add mode mappings to proxy config struct
refs Nov 3, 2021
90844c5
first draft of config loading exclusively using env vars
refs Nov 3, 2021
7ac71b6
backwards compatibility with urfave/cli
refs Nov 3, 2021
ebd34df
Merge branch 'master' into try-gookikt-config
refs Nov 3, 2021
572e238
infere go type from destination
refs Nov 3, 2021
418cc97
update proxy bindings
refs Nov 3, 2021
3d46e27
Merge branch 'master' into try-gookikt-config
refs Nov 4, 2021
4194da4
add ocis.yaml
refs Nov 4, 2021
e858fa0
define ocis_url as a shared option in ocis-pkg/config
refs Nov 4, 2021
b61887a
hook accounts to env variables
refs Nov 4, 2021
cfe1ac3
add graph
refs Nov 4, 2021
a76ad08
fix dead code logic
refs Nov 4, 2021
da36ca8
adjust flagsets
refs Nov 4, 2021
ba16351
migrate idp to the new config scheme
refs Nov 5, 2021
91c7662
migrate graph-explorer to the new config scheme
refs Nov 5, 2021
be9eff8
add tags to structs
refs Nov 5, 2021
ff7022a
migrate ocs to the new config scheme
refs Nov 5, 2021
28b0b8f
fix ocis root flagset
refs Nov 5, 2021
17dbc3d
migrate settings to the new config scheme
refs Nov 5, 2021
b44ebce
continue thumbnails migration
refs Nov 5, 2021
11855bc
Merge branch 'master' into try-gookikt-config
refs Nov 5, 2021
ca997e5
migrate web to the new config scheme
refs Nov 5, 2021
ad72f75
migrate webdav to the new config scheme
refs Nov 5, 2021
99f28e6
migrate store to the new config scheme
refs Nov 5, 2021
8202f7b
fix offenses
refs Nov 5, 2021
b94c0e6
fix yet more offenses
refs Nov 5, 2021
a55a039
add mapstructure to ocs
refs Nov 5, 2021
9466e01
change log level to debug
refs Nov 5, 2021
3206b98
attempt to fix flags
refs Nov 5, 2021
6f27c1a
refactor env unbinding to ocis-pkg
refs Nov 7, 2021
835928b
Merge branch 'master' into try-gookikt-config
refs Nov 7, 2021
74dae6d
add ocis-pkg/config default config + fix logging inheritance
refs Nov 8, 2021
0e9b6d8
fix log inheritance
refs Nov 8, 2021
4999d4a
fix test
refs Nov 8, 2021
d782814
fix log inheritance for accounts
refs Nov 8, 2021
e8b9186
normalize glauth
refs Nov 8, 2021
4c9e471
normalize graph
refs Nov 8, 2021
22601de
normalize graph-explorer
refs Nov 8, 2021
a515a97
normalize idp
refs Nov 8, 2021
e297142
normalize ocs
refs Nov 8, 2021
db9dc74
normalize settings
refs Nov 8, 2021
23cfb90
normalize store
refs Nov 8, 2021
f76dfc9
normalize thumbnails
refs Nov 8, 2021
b1de937
fix tests
refs Nov 8, 2021
185cee0
normalize web
refs Nov 8, 2021
8c2a681
normalize webdav
refs Nov 8, 2021
2dd9a7b
new config framework in proxy
refs Nov 8, 2021
bff4ec4
new config framework in accounts
refs Nov 8, 2021
3d90b21
new config framework in glauth
refs Nov 8, 2021
6da95d3
new config framework in graph
refs Nov 8, 2021
261a800
new config framework in idp
refs Nov 8, 2021
51dc171
new config framework in ocs
refs Nov 8, 2021
8f99fdc
new config framework in settings
refs Nov 8, 2021
ef13618
new config framework in store
refs Nov 8, 2021
96033dc
new config framework in thumbnails
refs Nov 8, 2021
c05c3db
new config framework in web
refs Nov 8, 2021
e308992
new config framework in webdav
refs Nov 8, 2021
1d5488a
Merge branch 'master' into try-gookikt-config
refs Nov 8, 2021
9d0809b
update drone star ocis debug level
refs Nov 8, 2021
e7f9fb3
refactor NewLogger away to ocis-pkg
refs Nov 8, 2021
2c49ee6
first doc draft + glauth logging small refactor
refs Nov 8, 2021
82a66b5
added shared log values to config template
refs Nov 9, 2021
7f557d3
Merge branch 'master' into try-gookikt-config
refs Nov 9, 2021
26aa37c
reword docs
refs Nov 9, 2021
c335c4d
config dump endpoint for proxy
refs Nov 9, 2021
ee03185
add support for json driver
refs Nov 9, 2021
16bb92f
fix hello deployment
wkloucek Nov 9, 2021
e4742fb
fix cs3 users example
wkloucek Nov 9, 2021
713c0bb
fix oc10 ocis parallel deployment
wkloucek Nov 9, 2021
51bee0e
sort out flags precedence
refs Nov 9, 2021
b961817
fix proxy default config
refs Nov 9, 2021
04d8ec8
Merge branch 'master' into try-gookikt-config
refs Nov 10, 2021
aa67106
sane common configurations
refs Nov 11, 2021
52d5539
fix inheritance config on accounts command
refs Nov 11, 2021
9b8c383
Merge branch 'master' into try-gookikt-config
refs Nov 11, 2021
cfc9738
format
refs Nov 11, 2021
0d1c8ac
fix deref memory location
refs Nov 11, 2021
6391d94
glauth
refs Nov 11, 2021
f118357
graph
refs Nov 11, 2021
c6191b7
fix account unit tests
refs Nov 11, 2021
7eb2c25
propagate storage common logging config
refs Nov 11, 2021
e8559d1
fix proxy integration tests
refs Nov 11, 2021
48eab0c
add idp common options
refs Nov 11, 2021
34840d6
fix individual idp command
refs Nov 11, 2021
202e63b
made ocs compliant with shared.Commons
refs Nov 11, 2021
a29f10e
adapted proxy tests to support shared.Commons
refs Nov 11, 2021
3580e16
losing my mind
refs Nov 11, 2021
582649b
fix more inheritance on storages
refs Nov 11, 2021
59f5339
fix all storages
refs Nov 11, 2021
5f19300
addded thumbnails to the new inheritance strategy
refs Nov 11, 2021
4cecd9b
addded web to the new inheritance strategy
refs Nov 11, 2021
9c21504
addded webdav to the new inheritance strategy
refs Nov 11, 2021
23836bb
Merge branch 'master' into try-gookikt-config
refs Nov 11, 2021
732e04c
debug config ... trigger CI
refs Nov 11, 2021
b6066f3
Merge branch 'master' into try-gookikt-config
refs Nov 12, 2021
4db1697
leftover env variables on thumbnails
refs Nov 12, 2021
242b3e9
Merge branch 'master' into try-gookikt-config
refs Nov 15, 2021
a22342e
fix code smells
refs Nov 15, 2021
2b0f414
Revert "fix code smells"
refs Nov 15, 2021
fde5e35
fix commons propagation
refs Nov 15, 2021
cfbe37d
WIP - replace flags in storage commands
refs Nov 15, 2021
d23ab5a
Merge branch 'master' into try-gookikt-config
refs Nov 15, 2021
097c853
populate checksum
refs Nov 15, 2021
0d7be0d
set all previously set on c.StringSlice values on the bootstrap config
refs Nov 16, 2021
9a4df2f
Merge branch 'master' into try-gookikt-config
refs Nov 16, 2021
8c926f2
Merge branch 'master' into try-gookikt-config
refs Nov 16, 2021
2ebc0b4
add missing authprovider config
refs Nov 16, 2021
2aa9c24
Merge branch 'master' into try-gookikt-config
refs Nov 16, 2021
8c307ef
add missing OCIS_INSECURE binding on PROXY_OIDC_INSECURE
refs Nov 16, 2021
658bf9a
increase logging level to see more on ci
refs Nov 16, 2021
deba643
add set of env variables used on ci to the bootstrap config env parsing
refs Nov 16, 2021
f4085f6
revert ocis log level to error (CI)
refs Nov 16, 2021
7617cca
increase log level and remove dead lines
refs Nov 16, 2021
d30e776
add more OCIS_URL missing spots in storage
refs Nov 16, 2021
e139a09
change logging level back to error
refs Nov 16, 2021
7f652ae
migrate all flags to config binding mappings
refs Nov 16, 2021
26db9af
undo const...
refs Nov 16, 2021
5fe1be8
sneaky bug
refs Nov 16, 2021
9c7c2b6
empty commit to trigger full ci
refs Nov 16, 2021
017eea8
delete storage flagsets
refs Nov 17, 2021
05825d8
removed docs-generate build target from module storage
refs Nov 17, 2021
c7a4391
disable docs pipeline
refs Nov 17, 2021
f87b5bd
removed all flagset packages
refs Nov 17, 2021
c567eb6
removed yet more flagsets
refs Nov 17, 2021
aa4112e
fixed code smells: string literal repetition + cyclomatic complexity
refs Nov 17, 2021
ff61163
Revert "fixed code smells: string literal repetition + cyclomatic com…
refs Nov 17, 2021
f535041
refactor config values to constants
refs Nov 17, 2021
a34f5b6
Revert "refactor config values to constants"
refs Nov 17, 2021
592a910
restore flags for some account commands
refs Nov 17, 2021
1d127c8
remove dead code from store regarding common propagation
refs Nov 17, 2021
872cd80
Revert "remove dead code from store regarding common propagation"
refs Nov 17, 2021
ad4fb0e
attempt to revert to the old status. Just triggering a CI run
refs Nov 17, 2021
3d80925
Merge branch 'master' into try-gookikt-config
refs Nov 17, 2021
fe61ad4
reordered env var priorities
refs Nov 17, 2021
c22d3fc
prevent gookit/config to merge proxy values with default values
refs Nov 18, 2021
c427e62
need to populate policies in the tests
refs Nov 18, 2021
2434718
use ocisConfig as struct tagname to bind config files to strucg attri…
refs Nov 19, 2021
846df22
Merge branch 'master' into try-gookikt-config
refs Nov 19, 2021
2601efb
Merge branch 'master' into try-gookikt-config
refs Nov 19, 2021
f64ca1f
introduce AlternativeID attribute, which needs some explanation
refs Nov 19, 2021
70da20a
Merge branch 'master' into try-gookikt-config
refs Nov 19, 2021
1570e40
applied review comments by @wkloucek
refs Nov 19, 2021
1708149
comment docs pipeline again
refs Nov 19, 2021
9c3fb1c
comment out .make/docs.mk config-docs-generate target
refs Nov 20, 2021
45a559f
Revert "comment out .make/docs.mk config-docs-generate target"
refs Nov 20, 2021
c700cca
removed redundant ocis config parsing
refs Nov 22, 2021
8797cf3
Revert "removed redundant ocis config parsing"
refs Nov 22, 2021
ca55576
fix doc generation and reenable docs pipeline in CI
wkloucek Nov 23, 2021
552a79c
added changelog
refs Nov 23, 2021
889f37f
reimport docs makefile in storage
wkloucek Nov 23, 2021
43af041
reword changelog
refs Nov 23, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 2 additions & 0 deletions go.mod
Expand Up @@ -31,6 +31,7 @@ require (
github.com/golang-jwt/jwt/v4 v4.1.0
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0
github.com/golang/protobuf v1.5.2
github.com/gookit/config/v2 v2.0.27
github.com/gorilla/mux v1.8.0
github.com/grpc-ecosystem/grpc-gateway/v2 v2.6.0
github.com/iancoleman/strcase v0.2.0
Expand Down Expand Up @@ -142,6 +143,7 @@ require (
github.com/google/go-cmp v0.5.6 // indirect
github.com/google/go-querystring v1.1.0 // indirect
github.com/google/uuid v1.3.0 // indirect
github.com/gookit/goutil v0.3.15 // indirect
github.com/gorilla/schema v1.2.0 // indirect
github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect
github.com/hashicorp/go-hclog v1.0.0 // indirect
Expand Down
32 changes: 32 additions & 0 deletions go.sum
Expand Up @@ -105,6 +105,7 @@ github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWX
github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI=
github.com/acomagu/bufpipe v1.0.3 h1:fxAGrHZTgQ9w5QqVItgzwj235/uYZYgbXitB+dLupOk=
github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4=
github.com/agext/levenshtein v1.2.1/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558=
github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM=
github.com/akamai/AkamaiOPEN-edgegrid-golang v1.1.0/go.mod h1:kX6YddBkXqqywAe8c9LyvgTCyFuZCTMF4cRPQhc3Fy8=
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
Expand All @@ -119,6 +120,9 @@ github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo
github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c=
github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ=
github.com/apparentlymart/go-dump v0.0.0-20180507223929-23540a00eaa3/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM=
github.com/apparentlymart/go-textseg v1.0.0/go.mod h1:z96Txxhf3xSFMPmb5X/1W05FF/Nj9VFpLOpjS5yuumk=
github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo=
github.com/arl/statsviz v0.4.0/go.mod h1:+5inUy/dxy11x/KSmicG3ZrEEy0Yr81AFm3dn4QC04M=
github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o=
github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
Expand Down Expand Up @@ -502,6 +506,7 @@ github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LB
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0 h1:p104kn46Q8WdvHunIJ9dAyjPVtrBPhSr3KT2yUst43I=
github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE=
github.com/go-test/deep v1.0.3/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA=
github.com/gobs/pretty v0.0.0-20180724170744-09732c25a95b/go.mod h1:Xo4aNUOrJnVruqWQJBtW6+bTBDTniY8yZum5rF3b5jw=
github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0=
github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY=
Expand Down Expand Up @@ -568,6 +573,7 @@ github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3K
github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc=
github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs=
github.com/golang/protobuf v0.0.0-20170622202551-6a1fa9404c0a/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
Expand Down Expand Up @@ -643,6 +649,15 @@ github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0=
github.com/gookit/color v1.4.2 h1:tXy44JFSFkKnELV6WaMo/lLfu/meqITX3iAV52do7lk=
github.com/gookit/color v1.4.2/go.mod h1:fqRyamkC1W8uxl+lxCQxOT09l/vYfZ+QeiX3rKQHCoQ=
github.com/gookit/config/v2 v2.0.27 h1:jCQSAe3qN8gFABz6h4qA9MNhTk0D4ipn6+1jeAD7g9E=
github.com/gookit/config/v2 v2.0.27/go.mod h1:q7I5c+hWOlzGh8jLff6CuNV6H2RDZ1QanaBEimGGtwE=
github.com/gookit/goutil v0.3.14/go.mod h1:YdGV0ObqRUlRq4/RzAQBHcd1Wzl/jKw7cppDBtD3q+U=
github.com/gookit/goutil v0.3.15 h1:nfMiE1nlBES16zOsLzNeR/vo6a7KlV58womgG6dB+JM=
github.com/gookit/goutil v0.3.15/go.mod h1:2w7h+/CB6n2m4qzECHj6+TOmMR8q7ierD9+LyybGy3I=
github.com/gookit/ini/v2 v2.0.11 h1:Wl651xN2AaJbFrb8daBwWo8kS+sQHL3TddFi0/PRNXs=
github.com/gookit/ini/v2 v2.0.11/go.mod h1:rIY8Uup5WDdPsrEE7VrF7fcMdGCCcPGA22Bk5R7roJQ=
github.com/gophercloud/gophercloud v0.15.1-0.20210202035223-633d73521055/go.mod h1:wRtmUelyIIv3CSSDI47aUwbs075O6i+LY+pXsKCBsb4=
github.com/gophercloud/gophercloud v0.16.0/go.mod h1:wRtmUelyIIv3CSSDI47aUwbs075O6i+LY+pXsKCBsb4=
github.com/gophercloud/utils v0.0.0-20210216074907-f6de111f2eae/go.mod h1:wx8HMD8oQD0Ryhz6+6ykq75PJ79iPyEqYHfwZ4l7OsA=
Expand Down Expand Up @@ -701,6 +716,7 @@ github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ
github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
github.com/hashicorp/hcl/v2 v2.10.1/go.mod h1:FwWsfWEjyV/CMj8s/gqAuiviY72rJ1/oayI9WftqcKg=
github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64=
github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ=
github.com/hashicorp/mdns v1.0.1/go.mod h1:4gW7WsVCke5TE7EPeYliwHlRUyBtfCwuFwuMg2DmyNY=
Expand Down Expand Up @@ -800,6 +816,7 @@ github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k=
github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
github.com/labbsr0x/bindman-dns-webhook v1.0.2/go.mod h1:p6b+VCXIR8NYKpDr8/dg1HKfQoRHCdcsROXKvmoehKA=
github.com/labbsr0x/goh v1.0.1/go.mod h1:8K2UhVoaWXcCU7Lxoa2omWnC8gyW8px7/lmO61c027w=
Expand Down Expand Up @@ -852,6 +869,7 @@ github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2y
github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84=
github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE=
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
github.com/mattn/go-isatty v0.0.13/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y=
github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
Expand Down Expand Up @@ -898,6 +916,7 @@ github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eI
github.com/mitchellh/go-testing-interface v1.14.1 h1:jrgshOhYAUVNMAJiKbEu7EqAwgJJ2JqpQmpLJOu07cU=
github.com/mitchellh/go-testing-interface v1.14.1/go.mod h1:gfgS7OtZj6MA4U1UrDRp04twqAjfvlZyCfX3sDjEym8=
github.com/mitchellh/go-vnc v0.0.0-20150629162542-723ed9867aed/go.mod h1:3rdaFaCv4AyBgu5ALFM0+tSuHrBh6v692nyQe3ikrq0=
github.com/mitchellh/go-wordwrap v0.0.0-20150314170334-ad45545899c7/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo=
github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo=
github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg=
github.com/mitchellh/hashstructure v1.1.0 h1:P6P1hdjqAAknpY/M1CGipelZgp+4y9ja9kmUZPXP+H0=
Expand Down Expand Up @@ -1177,6 +1196,7 @@ github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmq
github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo=
github.com/spf13/pflag v1.0.0/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/spf13/pflag v1.0.1-0.20171106142849-4c012f6dcd95/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/spf13/pflag v1.0.2/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
Expand Down Expand Up @@ -1231,6 +1251,9 @@ github.com/valyala/fasttemplate v1.1.0/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPU
github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw=
github.com/vimeo/go-util v1.2.0/go.mod h1:s13SMDTSO7AjH1nbgp707mfN5JFIWUFDU5MDDuRRtKs=
github.com/vinyldns/go-vinyldns v0.0.0-20200917153823-148a5f6b8f14/go.mod h1:RWc47jtnVuQv6+lY3c768WtXCas/Xi+U5UFc5xULmYg=
github.com/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk=
github.com/vmihailenco/msgpack/v4 v4.3.12/go.mod h1:gborTTJjAo/GWTqqRjrLCn9pgNN+NXzzngzBKDPIqw4=
github.com/vmihailenco/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI=
github.com/vultr/govultr/v2 v2.0.0/go.mod h1:2PsEeg+gs3p/Fo5Pw8F9mv+DUBEOlrNZ8GmCTGmhOhs=
github.com/wk8/go-ordered-map v0.2.0 h1:KlvGyHstD1kkGZkPtHCyCfRYS0cz84uk6rrW/Dnhdtk=
github.com/wk8/go-ordered-map v0.2.0/go.mod h1:9ZIbRunKbuvfPKyBP1SIKLcXNlv74YCOZ3t3VTS6gRk=
Expand All @@ -1247,18 +1270,24 @@ github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:
github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y=
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
github.com/xlab/treeprint v1.1.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0=
github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778 h1:QldyIu/L63oPpyvQmHgvgickp1Yw510KJOqX7H24mg8=
github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778/go.mod h1:2MuV+tbUrU1zIOPMxZ5EncGwgmMJsa+9ucAQZXxsObs=
github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
github.com/yaegashi/msgraph.go v0.1.1-0.20200221123608-2d438cf2a7cc/go.mod h1:tso14hwzqX4VbnWTNsxiL0DvMb2OwbGISFA7jDibdWc=
github.com/yaegashi/msgraph.go v0.1.4 h1:leDXSczAbwBpYFSmmZrdByTiPoUw8dbTfNMetAjJvbw=
github.com/yaegashi/msgraph.go v0.1.4/go.mod h1:vgeYhHa5skJt/3lTyjGXThTZhwbhRnGo6uUxzoJIGME=
github.com/yaegashi/wtz.go v0.0.2/go.mod h1:nOLA5QXsmdkRxBkP5tljhua13ADHCKirLBrzPf4PEJc=
github.com/yosuke-furukawa/json5 v0.1.1/go.mod h1:sw49aWDqNdRJ6DYUtIQiaA3xyj2IL9tjeNYmX2ixwcU=
github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA=
github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
github.com/zclconf/go-cty v1.2.0/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8=
github.com/zclconf/go-cty v1.8.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk=
github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8=
github.com/zenazn/goji v0.9.1-0.20160507202103-64eb34159fe5/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q=
go-micro.dev/v4 v4.1.0/go.mod h1:XTEJj5ILOBW+2ndGDG56r8fBXZ8hmsVaIaS1K5zwj+s=
go-micro.dev/v4 v4.2.1 h1:1E+zymteWxvDLpo4EDixRmXC+ELOAyFGfOdO60ScVbU=
Expand Down Expand Up @@ -1337,6 +1366,7 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk
golang.org/x/crypto v0.0.0-20190320223903-b7391e95e576/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190418165655-df01cb2cc480/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE=
golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE=
golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
Expand Down Expand Up @@ -1404,6 +1434,7 @@ golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/net v0.0.0-20180530234432-1e491301e022/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180811021610-c39426892332/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
Expand Down Expand Up @@ -1520,6 +1551,7 @@ golang.org/x/sys v0.0.0-20190415081028-16da32be82c5/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190502175342-a43fa875dd82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
Expand Down
2 changes: 1 addition & 1 deletion ocis-pkg/config/config.go
Expand Up @@ -116,7 +116,7 @@ func New() *Config {
IDP: idp.New(),
OCS: ocs.New(),
Web: web.New(),
Proxy: proxy.New(),
Proxy: proxy.DefaultConfig(),
Settings: settings.New(),
Storage: storage.New(),
Store: store.New(),
Expand Down
3 changes: 1 addition & 2 deletions ocis/pkg/command/proxy.go
Expand Up @@ -9,7 +9,6 @@ import (
"github.com/owncloud/ocis/ocis/pkg/register"
"github.com/owncloud/ocis/proxy/pkg/command"
svcconfig "github.com/owncloud/ocis/proxy/pkg/config"
"github.com/owncloud/ocis/proxy/pkg/flagset"
"github.com/urfave/cli/v2"
)

Expand All @@ -19,7 +18,7 @@ func ProxyCommand(cfg *config.Config) *cli.Command {
Name: "proxy",
Usage: "Start proxy server",
Category: "Extensions",
Flags: flagset.ServerWithConfig(cfg.Proxy),
//Flags: flagset.ServerWithConfig(cfg.Proxy),
Subcommands: []*cli.Command{
command.PrintVersion(cfg.Proxy),
},
Expand Down
2 changes: 1 addition & 1 deletion ocis/pkg/config/config.go
Expand Up @@ -93,7 +93,7 @@ func New() *Config {
IDP: idp.New(),
OCS: ocs.New(),
Web: web.New(),
Proxy: proxy.New(),
Proxy: proxy.DefaultConfig(),
Settings: settings.New(),
Storage: storage.New(),
Store: store.New(),
Expand Down
2 changes: 1 addition & 1 deletion proxy/cmd/proxy/main.go
Expand Up @@ -8,7 +8,7 @@ import (
)

func main() {
if err := command.Execute(config.New()); err != nil {
if err := command.Execute(config.DefaultConfig()); err != nil {
os.Exit(1)
}
}
3 changes: 1 addition & 2 deletions proxy/pkg/command/health.go
Expand Up @@ -5,7 +5,6 @@ import (
"net/http"

"github.com/owncloud/ocis/proxy/pkg/config"
"github.com/owncloud/ocis/proxy/pkg/flagset"
"github.com/urfave/cli/v2"
)

Expand All @@ -14,7 +13,7 @@ func Health(cfg *config.Config) *cli.Command {
return &cli.Command{
Name: "health",
Usage: "Check health status",
Flags: flagset.HealthWithConfig(cfg),
//Flags: flagset.HealthWithConfig(cfg),
Action: func(c *cli.Context) error {
logger := NewLogger(cfg)

Expand Down
6 changes: 6 additions & 0 deletions proxy/pkg/command/proxy_example_config.yaml
@@ -0,0 +1,6 @@
log:
level: info
color: true
pretty: true
http:
addr: "${PROXY_HTTP_ADDR|localhost:2222}"
59 changes: 17 additions & 42 deletions proxy/pkg/command/root.go
Expand Up @@ -3,16 +3,13 @@ package command
import (
"context"
"os"
"strings"

"github.com/owncloud/ocis/ocis-pkg/sync"

gofig "github.com/gookit/config/v2"
gooyaml "github.com/gookit/config/v2/yaml"
ociscfg "github.com/owncloud/ocis/ocis-pkg/config"
"github.com/owncloud/ocis/ocis-pkg/log"
"github.com/owncloud/ocis/ocis-pkg/version"
"github.com/owncloud/ocis/proxy/pkg/config"
"github.com/owncloud/ocis/proxy/pkg/flagset"
"github.com/spf13/viper"
"github.com/thejerf/suture/v4"
"github.com/urfave/cli/v2"
)
Expand All @@ -32,7 +29,7 @@ func Execute(cfg *config.Config) error {
},
},

Flags: flagset.RootWithConfig(cfg),
//Flags: flagset.RootWithConfig(cfg),

Before: func(c *cli.Context) error {
cfg.Service.Version = version.String
Expand Down Expand Up @@ -72,46 +69,24 @@ func NewLogger(cfg *config.Config) log.Logger {

// ParseConfig loads proxy configuration from Viper known paths.
func ParseConfig(c *cli.Context, cfg *config.Config) error {
sync.ParsingViperConfig.Lock()
defer sync.ParsingViperConfig.Unlock()
logger := NewLogger(cfg)

viper.SetEnvKeyReplacer(strings.NewReplacer(".", "_"))
viper.SetEnvPrefix("PROXY")
viper.AutomaticEnv()

if c.IsSet("config-file") {
viper.SetConfigFile(c.String("config-file"))
} else {
viper.SetConfigName("proxy")

viper.AddConfigPath("/etc/ocis")
viper.AddConfigPath("$HOME/.ocis")
viper.AddConfigPath("./config")
}
// create a new config and load files and env values onto it since this needs to be thread-safe.
cnf := gofig.NewWithOptions("proxy", gofig.ParseEnv)

if err := viper.ReadInConfig(); err != nil {
switch err.(type) {
case viper.ConfigFileNotFoundError:
logger.Debug().
Msg("no config found on preconfigured location")
case viper.UnsupportedConfigError:
logger.Fatal().
Err(err).
Msg("unsupported config type")
default:
logger.Fatal().
Err(err).
Msg("failed to read config")
}
}
// TODO(refs) add ENV + toml + json
cnf.AddDriver(gooyaml.Driver)

if err := viper.Unmarshal(&cfg); err != nil {
logger.Fatal().
Err(err).
Msg("Failed to parse config")
// TODO(refs) load from expected locations with the expected name
err := cnf.LoadFiles("/Users/aunger/code/owncloud/ocis/proxy/pkg/command/proxy_example_config.yaml")
refs marked this conversation as resolved.
Show resolved Hide resolved
if err != nil {
panic(err)
}

// bind all keys to cfg, as we expect an entire proxy.[yaml, toml...] to define all keys and not only sub values.
err = cnf.BindStruct("", cfg)

// step 2: overwrite the config values with those from ENV variables. Sadly the library only parses config files and does
// not support tags for env variables.

return nil
}

Expand Down