diff --git a/ocis/go.sum b/ocis/go.sum index 3cbe3bd16d..51487913bf 100644 --- a/ocis/go.sum +++ b/ocis/go.sum @@ -32,7 +32,6 @@ contrib.go.opencensus.io/exporter/ocagent v0.7.0/go.mod h1:IshRmMJBhDfFj5Y67nVhM contrib.go.opencensus.io/exporter/prometheus v0.1.0/go.mod h1:cGFniUXGZlKRjzOyuZJ6mgB+PgBcCIa79kEKR8YCW+A= contrib.go.opencensus.io/exporter/prometheus v0.2.0 h1:9PUk0/8V0LGoPqVCrf8fQZJkFGBxudu8jOjQSMwoD6w= contrib.go.opencensus.io/exporter/prometheus v0.2.0/go.mod h1:TYmVAyE8Tn1lyPcltF5IYYfWp2KHu7lQGIZnj8iZMys= -contrib.go.opencensus.io/exporter/zipkin v0.1.1 h1:PR+1zWqY8ceXs1qDQQIlgXe+sdiwCf0n32bH4+Epk8g= contrib.go.opencensus.io/exporter/zipkin v0.1.1/go.mod h1:GMvdSl3eJ2gapOaLKzTKE3qDgUkJ86k9k3yY2eqwkzc= contrib.go.opencensus.io/exporter/zipkin v0.1.2 h1:YqE293IZrKtqPnpwDPH/lOqTWD/s3Iwabycam74JV3g= contrib.go.opencensus.io/exporter/zipkin v0.1.2/go.mod h1:mP5xM3rrgOjpn79MM8fZbj3gsxcuytSqtH0dxSWW1RE= @@ -116,7 +115,6 @@ github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPd github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= -github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496 h1:zV3ejI06GQ59hwDQAvmK1qxOQGB3WuVTRoY0okPTAv0= github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg= github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535 h1:4daAzAu0S6Vi7/lbWECcX0j45yZReDZ56BQsrVBOEEY= github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg= @@ -127,10 +125,9 @@ github.com/aws/aws-sdk-go v1.23.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN github.com/aws/aws-sdk-go v1.23.19/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.28.2/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.33.19/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= -github.com/aws/aws-sdk-go v1.34.2 h1:9vCknCdTAmmV4ht7lPuda7aJXzllXwEQyCMZKJHjBrM= github.com/aws/aws-sdk-go v1.34.2/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= -github.com/aws/aws-sdk-go v1.34.12 h1:7UbBEYDUa4uW0YmRnOd806MS1yoJMcaodBWDzvBShAI= -github.com/aws/aws-sdk-go v1.34.12/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= +github.com/aws/aws-sdk-go v1.35.0 h1:Pxqn1MWNfBCNcX7jrXCCTfsKpg5ms2IMUMmmcGtYJuo= +github.com/aws/aws-sdk-go v1.35.0/go.mod h1:H7NKnBqNVzoTJpGfLrQkkD+ytBA93eiDYi/+8rV9s48= github.com/aws/aws-xray-sdk-go v0.9.4/go.mod h1:XtMKdBQfpVut+tJEwI7+dJFRxxRdxHDyVNp2tHXRq04= github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f/go.mod h1:AuiFmCCPBSrqvVMvuqFuk0qogytodnVFVSN5CeJB8Gc= github.com/beevik/etree v1.1.0 h1:T0xke/WvNtMoCqgzPhkX2r4rjY3GDZFi+FjpRZY2Jbs= @@ -179,6 +176,7 @@ github.com/bwmarrin/discordgo v0.19.0/go.mod h1:O9S4p+ofTFwB02em7jkpkV8M3R0/PUVO github.com/bwmarrin/discordgo v0.20.1/go.mod h1:O9S4p+ofTFwB02em7jkpkV8M3R0/PUVOwN61zSZ0r4Q= github.com/bwmarrin/discordgo v0.20.2/go.mod h1:O9S4p+ofTFwB02em7jkpkV8M3R0/PUVOwN61zSZ0r4Q= github.com/c-bata/go-prompt v0.2.3/go.mod h1:VzqtzE2ksDBcdln8G7mk2RX9QyGjH+OVqOCSiVIqS34= +github.com/c-bata/go-prompt v0.2.5/go.mod h1:vFnjEGDIIA/Lib7giyE4E9c50Lvl8j0S+7FVlAwDAVw= github.com/caddyserver/certmagic v0.10.6 h1:sCya6FmfaN74oZE46kqfaFOVoROD/mF36rTQfjN7TZc= github.com/caddyserver/certmagic v0.10.6/go.mod h1:Y8jcUBctgk/IhpAzlHKfimZNyXCkfGgRTC0orl8gROQ= github.com/cenkalti/backoff v2.1.1+incompatible h1:tKJnvO2kl0zmb/jA5UKAt4VoEVw1qxKWjE/Bpp46npY= @@ -266,10 +264,9 @@ github.com/cs3org/go-cs3apis v0.0.0-20200810113633-b00aca449666 h1:E7VsSSN/2YZLS github.com/cs3org/go-cs3apis v0.0.0-20200810113633-b00aca449666/go.mod h1:UXha4TguuB52H14EMoSsCqDj7k8a/t7g4gVP+bgY5LY= github.com/cs3org/reva v0.0.2-0.20200115110931-4c7513415ec5/go.mod h1:Hk3eCcdhtv4eIhKvRK736fQuOyS1HuHnUcz0Dq6NK1A= github.com/cs3org/reva v1.1.0/go.mod h1:fBzTrNuAKdQ62ybjpdu8nyhBin90/3/3s6DGQDCdBp4= -github.com/cs3org/reva v1.2.1-0.20200826162318-c0f54e1f37ea h1:xVyJvR+GoaBrRJV6GnDflgm9bzkmjchCBBg0nMiHu6M= github.com/cs3org/reva v1.2.1-0.20200826162318-c0f54e1f37ea/go.mod h1:FvYB+UPpuPCw0hH42qHVR1R2atZyy69METZI/zEaST8= -github.com/cs3org/reva v1.2.2-0.20200924071957-e6676516e61e h1:khITGSnfDXtByQsLezoXgocUgGHJBBn0BPsUihGvk7w= -github.com/cs3org/reva v1.2.2-0.20200924071957-e6676516e61e/go.mod h1:DOV5SjpOBKN+aWfOHLdA4KiLQkpyC786PQaXEdRAZ0M= +github.com/cs3org/reva v1.2.2-0.20201006093611-4a9be347ac29 h1:bGdr8WQI3khh8/Uo7icnWOvIyGxnGUVvSSLvtEliuIE= +github.com/cs3org/reva v1.2.2-0.20201006093611-4a9be347ac29/go.mod h1:c0MYy0goE5OGC8WPb5LLMZtCqymwSk2fiKVQANzy0zg= github.com/cznic/b v0.0.0-20181122101859-a26611c4d92d h1:SwD98825d6bdB+pEuTxWOXiSjBrHdOl/UVp75eI7JT8= github.com/cznic/b v0.0.0-20181122101859-a26611c4d92d/go.mod h1:URriBxXwVq5ijiJ12C7iIZqlA69nTlI+LgI6/pwftG8= github.com/cznic/mathutil v0.0.0-20181122101859-297441e03548 h1:iwZdTE0PVqJCos1vaoKsclOGD3ADKpshg3SRtYBbwso= @@ -762,8 +759,11 @@ github.com/jedib0t/go-pretty v4.3.0+incompatible/go.mod h1:XemHduiw8R651AF9Pt4Fw github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jinzhu/copier v0.0.0-20190924061706-b57f9002281a/go.mod h1:yL958EeXv8Ylng6IfnvG4oflryUi3vgA3xPs9hmII1s= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= -github.com/jmespath/go-jmespath v0.3.0 h1:OS12ieG61fsCg5+qLJ+SsW9NicxNkg3b25OyT2yCeUc= github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik= +github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= +github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= +github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= +github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/jmhodges/levigo v1.0.0 h1:q5EC36kV79HWeTBWsod3mG11EgStG3qArTKcvlksN1U= github.com/jmhodges/levigo v1.0.0/go.mod h1:Q6Qx+uH3RAqyK4rFQroq9RL7mdkABMcfhEI+nNuzMJQ= github.com/jmoiron/sqlx v0.0.0-20180614180643-0dae4fefe7c0/go.mod h1:IiEW3SEiiErVyFdH8NTuWjSifiEQKUoyK3LNqr2kCHU= @@ -866,12 +866,14 @@ github.com/marten-seemann/qtls v0.3.2/go.mod h1:xzjG7avBwGGbdZ8dTGxlBnLArsVKLvwm github.com/marten-seemann/qtls v0.4.1/go.mod h1:pxVXcHHw1pNIt8Qo0pwSYQEoZ8yYOOPXTCZLQQunvRc= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= -github.com/mattn/go-colorable v0.1.4 h1:snbPLB8fVfU9iwbbo30TPtbLRzwWu6aJS6Xh4eaaviA= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.7 h1:bQGKb3vps/j0E9GfJQ03JyhRuxsvdAanXlT9BTw3mdw= +github.com/mattn/go-colorable v0.1.7/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +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 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= @@ -888,6 +890,7 @@ github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsO github.com/mattn/go-sqlite3 v2.0.3+incompatible h1:gXHsfypPkaMZrKbD5209QV9jbUTJKjyR5WD3HYQSd+U= github.com/mattn/go-sqlite3 v2.0.3+incompatible/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/mattn/go-tty v0.0.0-20180219170247-931426f7535a/go.mod h1:XPvLUNfbS4fJH25nqRHfWLMa1ONC8Amw+mIA639KxkE= +github.com/mattn/go-tty v0.0.3/go.mod h1:ihxohKRERHTVzN+aSVRwACLCeqIoZAWpoICkkvrWyR0= github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= github.com/mattn/goveralls v0.0.5/go.mod h1:Xg2LHi51faXLyKXwsndxiW6uxEEQT9+3sjGzzwU4xy0= github.com/mattn/goveralls v0.0.6 h1:cr8Y0VMo/MnEZBjxNN/vh6G90SZ7IMb6lms1dzMoO+Y= @@ -1051,8 +1054,8 @@ github.com/ory/dockertest v3.3.5+incompatible/go.mod h1:1vX4m9wsvi00u5bseYwXaSnh github.com/ory/fosite v0.29.0/go.mod h1:0atSZmXO7CAcs6NPMI/Qtot8tmZYj04Nddoold4S2h0= github.com/ory/fosite v0.30.2/go.mod h1:Lq9qQ9Sl6mcea2Tt8J7PU+wUeFYPZ+vg7N3zPVKGbN8= github.com/ory/fosite v0.32.2/go.mod h1:UeBhRgW6nAjTcd8S7kAo0IFsY/rTPyOXPq/t8N20Q8I= -github.com/ory/fosite v0.33.0 h1:tK+3Luazv4vIBJY3uagOBryAQ3IG3cs6kfo8piGBhAY= -github.com/ory/fosite v0.33.0/go.mod h1:h+ize9gk0GvRyGjabriqSEmTkMhny+O95cijb8DVqPE= +github.com/ory/fosite v0.34.0 h1:lCUX4f5BoiXBIRUYKeTne+aRl0v6StgWpyYKq+7ILw0= +github.com/ory/fosite v0.34.0/go.mod h1:h+ize9gk0GvRyGjabriqSEmTkMhny+O95cijb8DVqPE= github.com/ory/go-acc v0.0.0-20181118080137-ddc355013f90/go.mod h1:sxnvPCxChFuSmTJGj8FdMupeq1BezCiEpDjTUXQ4hf4= github.com/ory/go-acc v0.2.1/go.mod h1:0omgy2aa3nDBJ45VAKeLHH8ccPBudxLeic4xiDRtug0= github.com/ory/go-acc v0.2.5 h1:31irXHzG2vnKQSE4weJm7AdfrnpaVjVCq3nD7viXCJE= @@ -1103,6 +1106,7 @@ github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= github.com/pkg/term v0.0.0-20200520122047-c3ffed290a03/go.mod h1:Z9+Ul5bCbBKnbCvdOWbLqTHhJiYV414CURZJba6L8qA= +github.com/pkg/term v1.1.0/go.mod h1:E25nymQcrSllhX42Ok8MRm1+hyBdHY0dCeiKZ9jpNGw= github.com/pkg/xattr v0.4.1 h1:dhclzL6EqOXNaPDWqoeb9tIxATfBSmjqL0b4DpSjwRw= github.com/pkg/xattr v0.4.1/go.mod h1:W2cGD0TBEus7MkUgv0tNZ9JutLtVO3cXu+IBRuHqnFs= github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= @@ -1590,11 +1594,13 @@ golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191010194322-b09406accb47/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191105231009-c1f44814a5cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191110163157-d32e6e3b99c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191113165036-4c7a9d0fe056/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1613,8 +1619,10 @@ golang.org/x/sys v0.0.0-20200420163511-1957bb5e6d1f/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200720211630-cb9d2d5c5666 h1:gVCS+QOncANNPlmlO1AhlU3oxs4V9z+gTtPwIk3p2N8= golang.org/x/sys v0.0.0-20200720211630-cb9d2d5c5666/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200918174421-af09f7315aff h1:1CPUrky56AcgSpxz/KfgzQWzfG09u5YOL8MvPYBlrL8= +golang.org/x/sys v0.0.0-20200918174421-af09f7315aff/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= diff --git a/ocis/pkg/command/storagestoragehome.go b/ocis/pkg/command/storagehome.go similarity index 71% rename from ocis/pkg/command/storagestoragehome.go rename to ocis/pkg/command/storagehome.go index b065c1eb2a..a8552ea453 100644 --- a/ocis/pkg/command/storagestoragehome.go +++ b/ocis/pkg/command/storagehome.go @@ -4,22 +4,22 @@ package command import ( "github.com/micro/cli/v2" + "github.com/owncloud/ocis/ocis/pkg/config" + "github.com/owncloud/ocis/ocis/pkg/register" "github.com/owncloud/ocis/storage/pkg/command" svcconfig "github.com/owncloud/ocis/storage/pkg/config" "github.com/owncloud/ocis/storage/pkg/flagset" - "github.com/owncloud/ocis/ocis/pkg/config" - "github.com/owncloud/ocis/ocis/pkg/register" ) -// StorageStorageHomeCommand is the entrypoint for the reva-storage-home command. -func StorageStorageHomeCommand(cfg *config.Config) *cli.Command { +// StorageHomeCommand is the entrypoint for the storage-home command. +func StorageHomeCommand(cfg *config.Config) *cli.Command { return &cli.Command{ - Name: "storage-storage-home", - Usage: "Start storage storage service for home mount", + Name: "storage-home", + Usage: "Start storage and data provider for /home mount", Category: "Extensions", Flags: flagset.StorageHomeWithConfig(cfg.Storage), Action: func(c *cli.Context) error { - scfg := configureStorageStorageHome(cfg) + scfg := configureStorageHome(cfg) return cli.HandleAction( command.StorageHome(scfg).Action, @@ -29,7 +29,7 @@ func StorageStorageHomeCommand(cfg *config.Config) *cli.Command { } } -func configureStorageStorageHome(cfg *config.Config) *svcconfig.Config { +func configureStorageHome(cfg *config.Config) *svcconfig.Config { cfg.Storage.Log.Level = cfg.Log.Level cfg.Storage.Log.Pretty = cfg.Log.Pretty cfg.Storage.Log.Color = cfg.Log.Color @@ -46,5 +46,5 @@ func configureStorageStorageHome(cfg *config.Config) *svcconfig.Config { } func init() { - register.AddCommand(StorageStorageHomeCommand) + register.AddCommand(StorageHomeCommand) } diff --git a/ocis/pkg/command/storagestoragemetadata.go b/ocis/pkg/command/storagemetadata.go similarity index 72% rename from ocis/pkg/command/storagestoragemetadata.go rename to ocis/pkg/command/storagemetadata.go index d55716830e..3bda908391 100644 --- a/ocis/pkg/command/storagestoragemetadata.go +++ b/ocis/pkg/command/storagemetadata.go @@ -2,22 +2,22 @@ package command import ( "github.com/micro/cli/v2" + "github.com/owncloud/ocis/ocis/pkg/config" + "github.com/owncloud/ocis/ocis/pkg/register" "github.com/owncloud/ocis/storage/pkg/command" svcconfig "github.com/owncloud/ocis/storage/pkg/config" "github.com/owncloud/ocis/storage/pkg/flagset" - "github.com/owncloud/ocis/ocis/pkg/config" - "github.com/owncloud/ocis/ocis/pkg/register" ) -// StorageStorageMetadataCommand is the entrypoint for the reva-storage-metadata command. -func StorageStorageMetadataCommand(cfg *config.Config) *cli.Command { +// StorageMetadataCommand is the entrypoint for the storage-metadata command. +func StorageMetadataCommand(cfg *config.Config) *cli.Command { return &cli.Command{ - Name: "storage-storage-metadata", - Usage: "Start storage storage service for metadata mount", + Name: "storage-metadata", + Usage: "Start storage and data service for metadata", Category: "Extensions", Flags: flagset.StorageMetadata(cfg.Storage), Action: func(c *cli.Context) error { - revaStorageMetadataCommand := command.StorageMetadata(configureStorageStorageMetadata(cfg)) + revaStorageMetadataCommand := command.StorageMetadata(configureStorageMetadata(cfg)) if err := revaStorageMetadataCommand.Before(c); err != nil { return err @@ -28,7 +28,7 @@ func StorageStorageMetadataCommand(cfg *config.Config) *cli.Command { } } -func configureStorageStorageMetadata(cfg *config.Config) *svcconfig.Config { +func configureStorageMetadata(cfg *config.Config) *svcconfig.Config { cfg.Storage.Log.Level = cfg.Log.Level cfg.Storage.Log.Pretty = cfg.Log.Pretty cfg.Storage.Log.Color = cfg.Log.Color @@ -45,5 +45,5 @@ func configureStorageStorageMetadata(cfg *config.Config) *svcconfig.Config { } func init() { - register.AddCommand(StorageStorageMetadataCommand) + register.AddCommand(StorageMetadataCommand) } diff --git a/ocis/pkg/command/storagestoragepubliclink.go b/ocis/pkg/command/storagepubliclink.go similarity index 76% rename from ocis/pkg/command/storagestoragepubliclink.go rename to ocis/pkg/command/storagepubliclink.go index e35d84a736..d52347eb85 100644 --- a/ocis/pkg/command/storagestoragepubliclink.go +++ b/ocis/pkg/command/storagepubliclink.go @@ -4,22 +4,22 @@ package command import ( "github.com/micro/cli/v2" + "github.com/owncloud/ocis/ocis/pkg/config" + "github.com/owncloud/ocis/ocis/pkg/register" "github.com/owncloud/ocis/storage/pkg/command" svcconfig "github.com/owncloud/ocis/storage/pkg/config" "github.com/owncloud/ocis/storage/pkg/flagset" - "github.com/owncloud/ocis/ocis/pkg/config" - "github.com/owncloud/ocis/ocis/pkg/register" ) -// StorageStoragePublicLinkCommand is the entrypoint for the reva-storage-oc command. -func StorageStoragePublicLinkCommand(cfg *config.Config) *cli.Command { +// StoragePublicLinkCommand is the entrypoint for the reva-storage-oc command. +func StoragePublicLinkCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: "storage-storage-public-link", Usage: "Start storage public link storage", Category: "Extensions", Flags: flagset.StoragePublicLink(cfg.Storage), Action: func(c *cli.Context) error { - scfg := configureStorageStoragePublicLink(cfg) + scfg := configureStoragePublicLink(cfg) return cli.HandleAction( command.StoragePublicLink(scfg).Action, @@ -29,7 +29,7 @@ func StorageStoragePublicLinkCommand(cfg *config.Config) *cli.Command { } } -func configureStorageStoragePublicLink(cfg *config.Config) *svcconfig.Config { +func configureStoragePublicLink(cfg *config.Config) *svcconfig.Config { cfg.Storage.Log.Level = cfg.Log.Level cfg.Storage.Log.Pretty = cfg.Log.Pretty cfg.Storage.Log.Color = cfg.Log.Color @@ -46,5 +46,5 @@ func configureStorageStoragePublicLink(cfg *config.Config) *svcconfig.Config { } func init() { - register.AddCommand(StorageStoragePublicLinkCommand) + register.AddCommand(StoragePublicLinkCommand) } diff --git a/ocis/pkg/command/storagestorageeos.go b/ocis/pkg/command/storagestorageeos.go deleted file mode 100644 index 06edff5e75..0000000000 --- a/ocis/pkg/command/storagestorageeos.go +++ /dev/null @@ -1,50 +0,0 @@ -// +build !simple - -package command - -import ( - "github.com/micro/cli/v2" - "github.com/owncloud/ocis/ocis/pkg/config" - "github.com/owncloud/ocis/ocis/pkg/register" - "github.com/owncloud/ocis/storage/pkg/command" - svcconfig "github.com/owncloud/ocis/storage/pkg/config" - "github.com/owncloud/ocis/storage/pkg/flagset" -) - -// StorageStorageEOSCommand is the entrypoint for the reva-storage-oc command. -func StorageStorageEOSCommand(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "storage-storage-eos", - Usage: "Start storage storage service for eos mount", - Category: "Extensions", - Flags: flagset.StorageEOSWithConfig(cfg.Storage), - Action: func(c *cli.Context) error { - scfg := configureStorageStorageEOS(cfg) - - return cli.HandleAction( - command.StorageEOS(scfg).Action, - c, - ) - }, - } -} - -func configureStorageStorageEOS(cfg *config.Config) *svcconfig.Config { - cfg.Storage.Log.Level = cfg.Log.Level - cfg.Storage.Log.Pretty = cfg.Log.Pretty - cfg.Storage.Log.Color = cfg.Log.Color - - if cfg.Tracing.Enabled { - cfg.Storage.Tracing.Enabled = cfg.Tracing.Enabled - cfg.Storage.Tracing.Type = cfg.Tracing.Type - cfg.Storage.Tracing.Endpoint = cfg.Tracing.Endpoint - cfg.Storage.Tracing.Collector = cfg.Tracing.Collector - cfg.Storage.Tracing.Service = cfg.Tracing.Service - } - - return cfg.Storage -} - -func init() { - register.AddCommand(StorageStorageEOSCommand) -} diff --git a/ocis/pkg/command/storagestorageeosdata.go b/ocis/pkg/command/storagestorageeosdata.go deleted file mode 100644 index 057a62bd9d..0000000000 --- a/ocis/pkg/command/storagestorageeosdata.go +++ /dev/null @@ -1,50 +0,0 @@ -// +build !simple - -package command - -import ( - "github.com/micro/cli/v2" - "github.com/owncloud/ocis/storage/pkg/command" - svcconfig "github.com/owncloud/ocis/storage/pkg/config" - "github.com/owncloud/ocis/storage/pkg/flagset" - "github.com/owncloud/ocis/ocis/pkg/config" - "github.com/owncloud/ocis/ocis/pkg/register" -) - -// StorageStorageEOSDataCommand is the entrypoint for the reva-storage-eos-data command. -func StorageStorageEOSDataCommand(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "storage-storage-eos-data", - Usage: "Start storage storage data provider for eos mount", - Category: "Extensions", - Flags: flagset.StorageEOSDataWithConfig(cfg.Storage), - Action: func(c *cli.Context) error { - scfg := configureStorageStorageEOSData(cfg) - - return cli.HandleAction( - command.StorageEOSData(scfg).Action, - c, - ) - }, - } -} - -func configureStorageStorageEOSData(cfg *config.Config) *svcconfig.Config { - cfg.Storage.Log.Level = cfg.Log.Level - cfg.Storage.Log.Pretty = cfg.Log.Pretty - cfg.Storage.Log.Color = cfg.Log.Color - - if cfg.Tracing.Enabled { - cfg.Storage.Tracing.Enabled = cfg.Tracing.Enabled - cfg.Storage.Tracing.Type = cfg.Tracing.Type - cfg.Storage.Tracing.Endpoint = cfg.Tracing.Endpoint - cfg.Storage.Tracing.Collector = cfg.Tracing.Collector - cfg.Storage.Tracing.Service = cfg.Tracing.Service - } - - return cfg.Storage -} - -func init() { - register.AddCommand(StorageStorageEOSDataCommand) -} diff --git a/ocis/pkg/command/storagestoragehomedata.go b/ocis/pkg/command/storagestoragehomedata.go deleted file mode 100644 index ac63adbc3f..0000000000 --- a/ocis/pkg/command/storagestoragehomedata.go +++ /dev/null @@ -1,50 +0,0 @@ -// +build !simple - -package command - -import ( - "github.com/micro/cli/v2" - "github.com/owncloud/ocis/storage/pkg/command" - svcconfig "github.com/owncloud/ocis/storage/pkg/config" - "github.com/owncloud/ocis/storage/pkg/flagset" - "github.com/owncloud/ocis/ocis/pkg/config" - "github.com/owncloud/ocis/ocis/pkg/register" -) - -// StorageStorageHomeDataCommand is the entrypoint for the reva-storage-home-data command. -func StorageStorageHomeDataCommand(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "storage-storage-home-data", - Usage: "Start storage storage data provider for home mount", - Category: "Extensions", - Flags: flagset.StorageHomeDataWithConfig(cfg.Storage), - Action: func(c *cli.Context) error { - scfg := configureStorageStorageHomeData(cfg) - - return cli.HandleAction( - command.StorageHomeData(scfg).Action, - c, - ) - }, - } -} - -func configureStorageStorageHomeData(cfg *config.Config) *svcconfig.Config { - cfg.Storage.Log.Level = cfg.Log.Level - cfg.Storage.Log.Pretty = cfg.Log.Pretty - cfg.Storage.Log.Color = cfg.Log.Color - - if cfg.Tracing.Enabled { - cfg.Storage.Tracing.Enabled = cfg.Tracing.Enabled - cfg.Storage.Tracing.Type = cfg.Tracing.Type - cfg.Storage.Tracing.Endpoint = cfg.Tracing.Endpoint - cfg.Storage.Tracing.Collector = cfg.Tracing.Collector - cfg.Storage.Tracing.Service = cfg.Tracing.Service - } - - return cfg.Storage -} - -func init() { - register.AddCommand(StorageStorageHomeDataCommand) -} diff --git a/ocis/pkg/command/storagestorageoc.go b/ocis/pkg/command/storagestorageoc.go deleted file mode 100644 index c2c187bf54..0000000000 --- a/ocis/pkg/command/storagestorageoc.go +++ /dev/null @@ -1,50 +0,0 @@ -// +build !simple - -package command - -import ( - "github.com/micro/cli/v2" - "github.com/owncloud/ocis/storage/pkg/command" - svcconfig "github.com/owncloud/ocis/storage/pkg/config" - "github.com/owncloud/ocis/storage/pkg/flagset" - "github.com/owncloud/ocis/ocis/pkg/config" - "github.com/owncloud/ocis/ocis/pkg/register" -) - -// StorageStorageOCCommand is the entrypoint for the reva-storage-oc command. -func StorageStorageOCCommand(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "storage-storage-oc", - Usage: "Start storage storage service for oc mount", - Category: "Extensions", - Flags: flagset.StorageOCWithConfig(cfg.Storage), - Action: func(c *cli.Context) error { - scfg := configureStorageStorageOC(cfg) - - return cli.HandleAction( - command.StorageOC(scfg).Action, - c, - ) - }, - } -} - -func configureStorageStorageOC(cfg *config.Config) *svcconfig.Config { - cfg.Storage.Log.Level = cfg.Log.Level - cfg.Storage.Log.Pretty = cfg.Log.Pretty - cfg.Storage.Log.Color = cfg.Log.Color - - if cfg.Tracing.Enabled { - cfg.Storage.Tracing.Enabled = cfg.Tracing.Enabled - cfg.Storage.Tracing.Type = cfg.Tracing.Type - cfg.Storage.Tracing.Endpoint = cfg.Tracing.Endpoint - cfg.Storage.Tracing.Collector = cfg.Tracing.Collector - cfg.Storage.Tracing.Service = cfg.Tracing.Service - } - - return cfg.Storage -} - -func init() { - register.AddCommand(StorageStorageOCCommand) -} diff --git a/ocis/pkg/command/storagestorageocdata.go b/ocis/pkg/command/storagestorageocdata.go deleted file mode 100644 index 089b303b7e..0000000000 --- a/ocis/pkg/command/storagestorageocdata.go +++ /dev/null @@ -1,50 +0,0 @@ -// +build !simple - -package command - -import ( - "github.com/micro/cli/v2" - "github.com/owncloud/ocis/storage/pkg/command" - svcconfig "github.com/owncloud/ocis/storage/pkg/config" - "github.com/owncloud/ocis/storage/pkg/flagset" - "github.com/owncloud/ocis/ocis/pkg/config" - "github.com/owncloud/ocis/ocis/pkg/register" -) - -// StorageStorageOCDataCommand is the entrypoint for the reva-storage-oc-data command. -func StorageStorageOCDataCommand(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "storage-storage-oc-data", - Usage: "Start storage storage data provider for oc mount", - Category: "Extensions", - Flags: flagset.StorageOCDataWithConfig(cfg.Storage), - Action: func(c *cli.Context) error { - scfg := configureStorageStorageOCData(cfg) - - return cli.HandleAction( - command.StorageOCData(scfg).Action, - c, - ) - }, - } -} - -func configureStorageStorageOCData(cfg *config.Config) *svcconfig.Config { - cfg.Storage.Log.Level = cfg.Log.Level - cfg.Storage.Log.Pretty = cfg.Log.Pretty - cfg.Storage.Log.Color = cfg.Log.Color - - if cfg.Tracing.Enabled { - cfg.Storage.Tracing.Enabled = cfg.Tracing.Enabled - cfg.Storage.Tracing.Type = cfg.Tracing.Type - cfg.Storage.Tracing.Endpoint = cfg.Tracing.Endpoint - cfg.Storage.Tracing.Collector = cfg.Tracing.Collector - cfg.Storage.Tracing.Service = cfg.Tracing.Service - } - - return cfg.Storage -} - -func init() { - register.AddCommand(StorageStorageOCDataCommand) -} diff --git a/ocis/pkg/command/storagestorageroot.go b/ocis/pkg/command/storageuserprovider.go similarity index 64% rename from ocis/pkg/command/storagestorageroot.go rename to ocis/pkg/command/storageuserprovider.go index 5a5a485779..c631a5ceca 100644 --- a/ocis/pkg/command/storagestorageroot.go +++ b/ocis/pkg/command/storageuserprovider.go @@ -4,32 +4,32 @@ package command import ( "github.com/micro/cli/v2" + "github.com/owncloud/ocis/ocis/pkg/config" + "github.com/owncloud/ocis/ocis/pkg/register" "github.com/owncloud/ocis/storage/pkg/command" svcconfig "github.com/owncloud/ocis/storage/pkg/config" "github.com/owncloud/ocis/storage/pkg/flagset" - "github.com/owncloud/ocis/ocis/pkg/config" - "github.com/owncloud/ocis/ocis/pkg/register" ) -// StorageStorageRootCommand is the entrypoint for the reva-storage-root command. -func StorageStorageRootCommand(cfg *config.Config) *cli.Command { +// StorageUserProviderCommand is the entrypoint for the storage-userprovider command. +func StorageUserProviderCommand(cfg *config.Config) *cli.Command { return &cli.Command{ - Name: "storage-storage-root", - Usage: "Start storage root storage", + Name: "storage-userprovider", + Usage: "Start storage userprovider service", Category: "Extensions", - Flags: flagset.StorageRootWithConfig(cfg.Storage), + Flags: flagset.UsersWithConfig(cfg.Storage), Action: func(c *cli.Context) error { - scfg := configureStorageStorageRoot(cfg) + scfg := configureStorageUserProvider(cfg) return cli.HandleAction( - command.StorageRoot(scfg).Action, + command.Users(scfg).Action, c, ) }, } } -func configureStorageStorageRoot(cfg *config.Config) *svcconfig.Config { +func configureStorageUserProvider(cfg *config.Config) *svcconfig.Config { cfg.Storage.Log.Level = cfg.Log.Level cfg.Storage.Log.Pretty = cfg.Log.Pretty cfg.Storage.Log.Color = cfg.Log.Color @@ -46,5 +46,5 @@ func configureStorageStorageRoot(cfg *config.Config) *svcconfig.Config { } func init() { - register.AddCommand(StorageStorageRootCommand) + register.AddCommand(StorageUserProviderCommand) } diff --git a/ocis/pkg/command/storageusers.go b/ocis/pkg/command/storageusers.go index d5ade5cbc7..ca7458f5a4 100644 --- a/ocis/pkg/command/storageusers.go +++ b/ocis/pkg/command/storageusers.go @@ -4,25 +4,25 @@ package command import ( "github.com/micro/cli/v2" + "github.com/owncloud/ocis/ocis/pkg/config" + "github.com/owncloud/ocis/ocis/pkg/register" "github.com/owncloud/ocis/storage/pkg/command" svcconfig "github.com/owncloud/ocis/storage/pkg/config" "github.com/owncloud/ocis/storage/pkg/flagset" - "github.com/owncloud/ocis/ocis/pkg/config" - "github.com/owncloud/ocis/ocis/pkg/register" ) -// StorageUsersCommand is the entrypoint for the reva-users command. +// StorageUsersCommand is the entrypoint for the storage-users command. func StorageUsersCommand(cfg *config.Config) *cli.Command { return &cli.Command{ Name: "storage-users", - Usage: "Start storage users service", + Usage: "Start storage and data provider for /users mount", Category: "Extensions", - Flags: flagset.UsersWithConfig(cfg.Storage), + Flags: flagset.StorageUsersWithConfig(cfg.Storage), Action: func(c *cli.Context) error { scfg := configureStorageUsers(cfg) return cli.HandleAction( - command.Users(scfg).Action, + command.StorageUsers(scfg).Action, c, ) }, diff --git a/ocis/pkg/runtime/runtime.go b/ocis/pkg/runtime/runtime.go index 3f5c4943bb..390250031e 100644 --- a/ocis/pkg/runtime/runtime.go +++ b/ocis/pkg/runtime/runtime.go @@ -40,17 +40,13 @@ var ( "webdav", "storage-frontend", "storage-gateway", - "storage-users", + "storage-userprovider", "storage-auth-basic", "storage-auth-bearer", - "storage-storage-home", - "storage-storage-home-data", - "storage-storage-eos", - "storage-storage-eos-data", - "storage-storage-oc", - "storage-storage-oc-data", - "storage-storage-public-link", - "storage-storage-metadata", + "storage-home", + "storage-users", + "storage-metadata", + "storage-public-link", "glauth", "konnectd", "thumbnails", diff --git a/storage/go.mod b/storage/go.mod index c16b7b8f59..73d2e9bba0 100644 --- a/storage/go.mod +++ b/storage/go.mod @@ -3,7 +3,7 @@ module github.com/owncloud/ocis/storage go 1.13 require ( - github.com/cs3org/reva v1.2.2-0.20200924071957-e6676516e61e + github.com/cs3org/reva v1.2.2-0.20201006093611-4a9be347ac29 github.com/gofrs/uuid v3.3.0+incompatible github.com/gopherjs/gopherjs v0.0.0-20181103185306-d547d1d9531e // indirect github.com/micro/cli/v2 v2.1.2 diff --git a/storage/go.sum b/storage/go.sum index 4b4df17080..e70f642b2b 100644 --- a/storage/go.sum +++ b/storage/go.sum @@ -106,6 +106,7 @@ github.com/aws/aws-sdk-go v1.23.19/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpi github.com/aws/aws-sdk-go v1.33.19/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= github.com/aws/aws-sdk-go v1.34.12 h1:7UbBEYDUa4uW0YmRnOd806MS1yoJMcaodBWDzvBShAI= github.com/aws/aws-sdk-go v1.34.12/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= +github.com/aws/aws-sdk-go v1.35.0/go.mod h1:H7NKnBqNVzoTJpGfLrQkkD+ytBA93eiDYi/+8rV9s48= github.com/aws/aws-xray-sdk-go v0.9.4/go.mod h1:XtMKdBQfpVut+tJEwI7+dJFRxxRdxHDyVNp2tHXRq04= github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f/go.mod h1:AuiFmCCPBSrqvVMvuqFuk0qogytodnVFVSN5CeJB8Gc= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= @@ -120,6 +121,7 @@ github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40 h1:y4B3+GPxKlrigF1ha github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40/go.mod h1:8rLXio+WjiTceGBHIoTvn60HIbs7Hm7bcHjyrSqYB9c= github.com/bwmarrin/discordgo v0.20.2/go.mod h1:O9S4p+ofTFwB02em7jkpkV8M3R0/PUVOwN61zSZ0r4Q= github.com/c-bata/go-prompt v0.2.3/go.mod h1:VzqtzE2ksDBcdln8G7mk2RX9QyGjH+OVqOCSiVIqS34= +github.com/c-bata/go-prompt v0.2.5/go.mod h1:vFnjEGDIIA/Lib7giyE4E9c50Lvl8j0S+7FVlAwDAVw= github.com/caddyserver/certmagic v0.10.6/go.mod h1:Y8jcUBctgk/IhpAzlHKfimZNyXCkfGgRTC0orl8gROQ= github.com/cenkalti/backoff v2.1.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/cenkalti/backoff/v4 v4.0.0/go.mod h1:eEew/i+1Q6OrCDZh3WiXYv3+nJwBASZ8Bog/87DQnVg= @@ -185,6 +187,8 @@ github.com/cs3org/reva v1.2.1-0.20200911111727-51649e37df2d h1:vohUfrOZVrbbzt7JU github.com/cs3org/reva v1.2.1-0.20200911111727-51649e37df2d/go.mod h1:Q1/JB40ZKtlhZUxz+ZqB/O/VlrnQX//NYdPPRPsP0UE= github.com/cs3org/reva v1.2.2-0.20200924071957-e6676516e61e h1:khITGSnfDXtByQsLezoXgocUgGHJBBn0BPsUihGvk7w= github.com/cs3org/reva v1.2.2-0.20200924071957-e6676516e61e/go.mod h1:DOV5SjpOBKN+aWfOHLdA4KiLQkpyC786PQaXEdRAZ0M= +github.com/cs3org/reva v1.2.2-0.20201006093611-4a9be347ac29 h1:bGdr8WQI3khh8/Uo7icnWOvIyGxnGUVvSSLvtEliuIE= +github.com/cs3org/reva v1.2.2-0.20201006093611-4a9be347ac29/go.mod h1:c0MYy0goE5OGC8WPb5LLMZtCqymwSk2fiKVQANzy0zg= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -572,6 +576,8 @@ github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJS github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.3.0 h1:OS12ieG61fsCg5+qLJ+SsW9NicxNkg3b25OyT2yCeUc= github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik= +github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= +github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/jmoiron/sqlx v0.0.0-20180614180643-0dae4fefe7c0/go.mod h1:IiEW3SEiiErVyFdH8NTuWjSifiEQKUoyK3LNqr2kCHU= github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= github.com/joho/godotenv v1.2.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= @@ -649,21 +655,27 @@ github.com/marten-seemann/qpack v0.1.0/go.mod h1:LFt1NU/Ptjip0C2CPkhimBz5CGE3WGD github.com/marten-seemann/qtls v0.4.1/go.mod h1:pxVXcHHw1pNIt8Qo0pwSYQEoZ8yYOOPXTCZLQQunvRc= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.7/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +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-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-runewidth v0.0.6/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-runewidth v0.0.7/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= +github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/mattn/go-sqlite3 v1.10.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/mattn/go-sqlite3 v2.0.3+incompatible h1:gXHsfypPkaMZrKbD5209QV9jbUTJKjyR5WD3HYQSd+U= github.com/mattn/go-sqlite3 v2.0.3+incompatible/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/mattn/go-tty v0.0.0-20180219170247-931426f7535a/go.mod h1:XPvLUNfbS4fJH25nqRHfWLMa1ONC8Amw+mIA639KxkE= +github.com/mattn/go-tty v0.0.3/go.mod h1:ihxohKRERHTVzN+aSVRwACLCeqIoZAWpoICkkvrWyR0= github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= github.com/mattn/goveralls v0.0.5 h1:spfq8AyZ0cCk57Za6/juJ5btQxeE1FaEGMdfcI+XO48= github.com/mattn/goveralls v0.0.5/go.mod h1:Xg2LHi51faXLyKXwsndxiW6uxEEQT9+3sjGzzwU4xy0= @@ -756,6 +768,7 @@ github.com/ory/fosite v0.32.2 h1:iRV495P/9EyoYQ8qEHYxFQeeYCdDFawqjAML+qiMF9s= github.com/ory/fosite v0.32.2/go.mod h1:UeBhRgW6nAjTcd8S7kAo0IFsY/rTPyOXPq/t8N20Q8I= github.com/ory/fosite v0.33.0 h1:tK+3Luazv4vIBJY3uagOBryAQ3IG3cs6kfo8piGBhAY= github.com/ory/fosite v0.33.0/go.mod h1:h+ize9gk0GvRyGjabriqSEmTkMhny+O95cijb8DVqPE= +github.com/ory/fosite v0.34.0/go.mod h1:h+ize9gk0GvRyGjabriqSEmTkMhny+O95cijb8DVqPE= github.com/ory/go-acc v0.0.0-20181118080137-ddc355013f90/go.mod h1:sxnvPCxChFuSmTJGj8FdMupeq1BezCiEpDjTUXQ4hf4= github.com/ory/go-acc v0.2.1 h1:Pwcmwd/cSnwJsYN76+w3HU7oXeWFTkwj/KUj1qGDrVw= github.com/ory/go-acc v0.2.1/go.mod h1:0omgy2aa3nDBJ45VAKeLHH8ccPBudxLeic4xiDRtug0= @@ -797,6 +810,7 @@ github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= github.com/pkg/term v0.0.0-20200520122047-c3ffed290a03/go.mod h1:Z9+Ul5bCbBKnbCvdOWbLqTHhJiYV414CURZJba6L8qA= +github.com/pkg/term v1.1.0/go.mod h1:E25nymQcrSllhX42Ok8MRm1+hyBdHY0dCeiKZ9jpNGw= github.com/pkg/xattr v0.4.1 h1:dhclzL6EqOXNaPDWqoeb9tIxATfBSmjqL0b4DpSjwRw= github.com/pkg/xattr v0.4.1/go.mod h1:W2cGD0TBEus7MkUgv0tNZ9JutLtVO3cXu+IBRuHqnFs= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= @@ -1190,14 +1204,17 @@ golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191010194322-b09406accb47/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191105231009-c1f44814a5cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191113165036-4c7a9d0fe056/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1213,6 +1230,8 @@ golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1 h1:ogLJMz+qpzav7lGMh10LMvAkM golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200720211630-cb9d2d5c5666 h1:gVCS+QOncANNPlmlO1AhlU3oxs4V9z+gTtPwIk3p2N8= golang.org/x/sys v0.0.0-20200720211630-cb9d2d5c5666/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200918174421-af09f7315aff/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= diff --git a/storage/pkg/command/authbasic.go b/storage/pkg/command/authbasic.go index fa3f983648..9fb13d9f03 100644 --- a/storage/pkg/command/authbasic.go +++ b/storage/pkg/command/authbasic.go @@ -73,18 +73,18 @@ func AuthBasic(cfg *config.Config) *cli.Command { rcfg := map[string]interface{}{ "core": map[string]interface{}{ - "max_cpus": cfg.Reva.Users.MaxCPUs, + "max_cpus": cfg.Reva.AuthBasic.MaxCPUs, "tracing_enabled": cfg.Tracing.Enabled, "tracing_endpoint": cfg.Tracing.Endpoint, "tracing_collector": cfg.Tracing.Collector, - "tracing_service_name": "auth-basic", + "tracing_service_name": c.Command.Name, }, "shared": map[string]interface{}{ "jwt_secret": cfg.Reva.JWTSecret, }, "grpc": map[string]interface{}{ - "network": cfg.Reva.AuthBasic.Network, - "address": cfg.Reva.AuthBasic.Addr, + "network": cfg.Reva.AuthBasic.GRPCNetwork, + "address": cfg.Reva.AuthBasic.GRPCAddr, // TODO build services dynamically "services": map[string]interface{}{ "authprovider": map[string]interface{}{ diff --git a/storage/pkg/command/authbearer.go b/storage/pkg/command/authbearer.go index 1339766ae7..953db00661 100644 --- a/storage/pkg/command/authbearer.go +++ b/storage/pkg/command/authbearer.go @@ -73,18 +73,18 @@ func AuthBearer(cfg *config.Config) *cli.Command { rcfg := map[string]interface{}{ "core": map[string]interface{}{ - "max_cpus": cfg.Reva.Users.MaxCPUs, + "max_cpus": cfg.Reva.AuthBearer.MaxCPUs, "tracing_enabled": cfg.Tracing.Enabled, "tracing_endpoint": cfg.Tracing.Endpoint, "tracing_collector": cfg.Tracing.Collector, - "tracing_service_name": "auth-bearer", + "tracing_service_name": c.Command.Name, }, "shared": map[string]interface{}{ "jwt_secret": cfg.Reva.JWTSecret, }, "grpc": map[string]interface{}{ - "network": cfg.Reva.AuthBearer.Network, - "address": cfg.Reva.AuthBearer.Addr, + "network": cfg.Reva.AuthBearer.GRPCNetwork, + "address": cfg.Reva.AuthBearer.GRPCAddr, // TODO build services dynamically "services": map[string]interface{}{ "authprovider": map[string]interface{}{ diff --git a/storage/pkg/command/drivers.go b/storage/pkg/command/drivers.go index fc4025d6cb..914e34b844 100644 --- a/storage/pkg/command/drivers.go +++ b/storage/pkg/command/drivers.go @@ -83,7 +83,7 @@ func drivers(cfg *config.Config) map[string]interface{} { "redis": cfg.Reva.Storages.OwnCloud.Redis, "enable_home": cfg.Reva.Storages.OwnCloud.EnableHome, "scan": cfg.Reva.Storages.OwnCloud.Scan, - "userprovidersvc": cfg.Reva.Users.URL, + "userprovidersvc": cfg.Reva.Users.Endpoint, }, "ocis": map[string]interface{}{ "root": cfg.Reva.Storages.Common.Root, diff --git a/storage/pkg/command/frontend.go b/storage/pkg/command/frontend.go index bdc06a40ab..7bb726597d 100644 --- a/storage/pkg/command/frontend.go +++ b/storage/pkg/command/frontend.go @@ -6,7 +6,6 @@ import ( "os" "os/signal" "path" - "strings" "time" "github.com/cs3org/reva/cmd/revad/runtime" @@ -103,15 +102,15 @@ func Frontend(cfg *config.Config) *cli.Command { "tracing_enabled": cfg.Tracing.Enabled, "tracing_endpoint": cfg.Tracing.Endpoint, "tracing_collector": cfg.Tracing.Collector, - "tracing_service_name": "frontend", + "tracing_service_name": c.Command.Name, }, "shared": map[string]interface{}{ "jwt_secret": cfg.Reva.JWTSecret, - "gatewaysvc": cfg.Reva.Gateway.URL, // Todo or address? + "gatewaysvc": cfg.Reva.Gateway.Endpoint, // Todo or address? }, "http": map[string]interface{}{ - "network": cfg.Reva.Frontend.Network, - "address": cfg.Reva.Frontend.Addr, + "network": cfg.Reva.Frontend.HTTPNetwork, + "address": cfg.Reva.Frontend.HTTPAddr, "middlewares": map[string]interface{}{ "cors": map[string]interface{}{ "allow_credentials": true, @@ -139,7 +138,7 @@ func Frontend(cfg *config.Config) *cli.Command { "config": map[string]interface{}{ "version": "1.8", "website": "reva", - "host": urlWithScheme(cfg.Reva.Frontend.URL), + "host": cfg.Reva.Frontend.PublicURL, "contact": "admin@localhost", "ssl": "false", }, @@ -298,13 +297,3 @@ func Frontend(cfg *config.Config) *cli.Command { }, } } - -// urlWithScheme checks if the given string is prefixed with "http". If it is not, "http://" will be added as prefix. -// As we can't tell if http or https should be the preferred scheme, the correct approach would be to fail on urls -// without scheme. As long as we have default urls in our flagsets which don't have a scheme, this is a feasible workaround. -func urlWithScheme(str string) string { - if !strings.HasPrefix(str, "http") { - str = "http://" + str - } - return str -} diff --git a/storage/pkg/command/gateway.go b/storage/pkg/command/gateway.go index ebf6c12184..d64e2c7cc8 100644 --- a/storage/pkg/command/gateway.go +++ b/storage/pkg/command/gateway.go @@ -80,35 +80,35 @@ func Gateway(cfg *config.Config) *cli.Command { "tracing_enabled": cfg.Tracing.Enabled, "tracing_endpoint": cfg.Tracing.Endpoint, "tracing_collector": cfg.Tracing.Collector, - "tracing_service_name": "gateway", + "tracing_service_name": c.Command.Name, }, "shared": map[string]interface{}{ "jwt_secret": cfg.Reva.JWTSecret, - "gatewaysvc": cfg.Reva.Gateway.URL, // Todo or address? + "gatewaysvc": cfg.Reva.Gateway.Endpoint, }, "grpc": map[string]interface{}{ - "network": cfg.Reva.Gateway.Network, - "address": cfg.Reva.Gateway.Addr, + "network": cfg.Reva.Gateway.GRPCNetwork, + "address": cfg.Reva.Gateway.GRPCAddr, // TODO build services dynamically "services": map[string]interface{}{ "gateway": map[string]interface{}{ // registries is located on the gateway - "authregistrysvc": cfg.Reva.Gateway.URL, - "storageregistrysvc": cfg.Reva.Gateway.URL, - "appregistrysvc": cfg.Reva.Gateway.URL, + "authregistrysvc": cfg.Reva.Gateway.Endpoint, + "storageregistrysvc": cfg.Reva.Gateway.Endpoint, + "appregistrysvc": cfg.Reva.Gateway.Endpoint, // user metadata is located on the users services - "preferencessvc": cfg.Reva.Users.URL, - "userprovidersvc": cfg.Reva.Users.URL, + "preferencessvc": cfg.Reva.Users.Endpoint, + "userprovidersvc": cfg.Reva.Users.Endpoint, // sharing is located on the sharing service - "usershareprovidersvc": cfg.Reva.Sharing.URL, - "publicshareprovidersvc": cfg.Reva.Sharing.URL, - "ocmshareprovidersvc": cfg.Reva.Sharing.URL, + "usershareprovidersvc": cfg.Reva.Sharing.Endpoint, + "publicshareprovidersvc": cfg.Reva.Sharing.Endpoint, + "ocmshareprovidersvc": cfg.Reva.Sharing.Endpoint, "commit_share_to_storage_grant": cfg.Reva.Gateway.CommitShareToStorageGrant, "commit_share_to_storage_ref": cfg.Reva.Gateway.CommitShareToStorageRef, "share_folder": cfg.Reva.Gateway.ShareFolder, // ShareFolder is the location where to create shares in the recipient's storage provider. // other "disable_home_creation_on_login": cfg.Reva.Gateway.DisableHomeCreationOnLogin, - "datagateway": urlWithScheme(cfg.Reva.DataGateway.URL), + "datagateway": cfg.Reva.DataGateway.PublicURL, "transfer_shared_secret": cfg.Reva.TransferSecret, "transfer_expires": cfg.Reva.TransferExpires, }, @@ -117,9 +117,9 @@ func Gateway(cfg *config.Config) *cli.Command { "drivers": map[string]interface{}{ "static": map[string]interface{}{ "rules": map[string]interface{}{ - "basic": cfg.Reva.AuthBasic.URL, - "bearer": cfg.Reva.AuthBearer.URL, - "publicshares": cfg.Reva.StoragePublicLink.URL, + "basic": cfg.Reva.AuthBasic.Endpoint, + "bearer": cfg.Reva.AuthBearer.Endpoint, + "publicshares": cfg.Reva.StoragePublicLink.Endpoint, }, }, }, @@ -142,7 +142,7 @@ func Gateway(cfg *config.Config) *cli.Command { ctx, "com.owncloud.storage", uuid.String(), - cfg.Reva.Gateway.Addr, + cfg.Reva.Gateway.GRPCAddr, logger, ) @@ -239,21 +239,12 @@ func rules(cfg *config.Config) map[string]interface{} { // generate rules based on default config return map[string]interface{}{ - cfg.Reva.StorageRoot.MountPath: cfg.Reva.StorageRoot.URL, - cfg.Reva.StorageRoot.MountID: cfg.Reva.StorageRoot.URL, - cfg.Reva.StorageHome.MountPath: cfg.Reva.StorageHome.URL, - cfg.Reva.StorageHome.MountID: cfg.Reva.StorageHome.URL, - cfg.Reva.StorageEOS.MountPath: cfg.Reva.StorageEOS.URL, - cfg.Reva.StorageEOS.MountID: cfg.Reva.StorageEOS.URL, - cfg.Reva.StorageOC.MountPath: cfg.Reva.StorageOC.URL, - cfg.Reva.StorageOC.MountID: cfg.Reva.StorageOC.URL, - cfg.Reva.StorageS3.MountPath: cfg.Reva.StorageS3.URL, - cfg.Reva.StorageS3.MountID: cfg.Reva.StorageS3.URL, - cfg.Reva.StorageWND.MountPath: cfg.Reva.StorageWND.URL, - cfg.Reva.StorageWND.MountID: cfg.Reva.StorageWND.URL, - cfg.Reva.StorageCustom.MountPath: cfg.Reva.StorageCustom.URL, - cfg.Reva.StorageCustom.MountID: cfg.Reva.StorageCustom.URL, - cfg.Reva.StoragePublicLink.MountPath: cfg.Reva.StoragePublicLink.URL, + cfg.Reva.StorageHome.MountPath: cfg.Reva.StorageHome.Endpoint, + cfg.Reva.StorageHome.MountID: cfg.Reva.StorageHome.Endpoint, + cfg.Reva.StorageUsers.MountPath: cfg.Reva.StorageUsers.Endpoint, + cfg.Reva.StorageUsers.MountID: cfg.Reva.StorageUsers.Endpoint, + cfg.Reva.StoragePublicLink.MountPath: cfg.Reva.StoragePublicLink.Endpoint, // public link storage returns the mount id of the actual storage + // medatada storage not part of the global namespace } } diff --git a/storage/pkg/command/root.go b/storage/pkg/command/root.go index d6abe0acf9..60dbadc967 100644 --- a/storage/pkg/command/root.go +++ b/storage/pkg/command/root.go @@ -80,15 +80,10 @@ func Execute() error { AuthBasic(cfg), AuthBearer(cfg), Sharing(cfg), - StorageRoot(cfg), StorageHome(cfg), - StorageHomeData(cfg), + StorageUsers(cfg), StoragePublicLink(cfg), - StorageOC(cfg), StorageMetadata(cfg), - StorageOCData(cfg), - StorageEOS(cfg), - StorageEOSData(cfg), Health(cfg), }, } diff --git a/storage/pkg/command/sharing.go b/storage/pkg/command/sharing.go index 8605a3a55a..4d48fb8e3a 100644 --- a/storage/pkg/command/sharing.go +++ b/storage/pkg/command/sharing.go @@ -73,18 +73,18 @@ func Sharing(cfg *config.Config) *cli.Command { rcfg := map[string]interface{}{ "core": map[string]interface{}{ - "max_cpus": cfg.Reva.Users.MaxCPUs, + "max_cpus": cfg.Reva.Sharing.MaxCPUs, "tracing_enabled": cfg.Tracing.Enabled, "tracing_endpoint": cfg.Tracing.Endpoint, "tracing_collector": cfg.Tracing.Collector, - "tracing_service_name": "sharing", + "tracing_service_name": c.Command.Name, }, "shared": map[string]interface{}{ "jwt_secret": cfg.Reva.JWTSecret, }, "grpc": map[string]interface{}{ - "network": cfg.Reva.Sharing.Network, - "address": cfg.Reva.Sharing.Addr, + "network": cfg.Reva.Sharing.GRPCNetwork, + "address": cfg.Reva.Sharing.GRPCAddr, // TODO build services dynamically "services": map[string]interface{}{ "usershareprovider": map[string]interface{}{ diff --git a/storage/pkg/command/storageeos.go b/storage/pkg/command/storageeos.go deleted file mode 100644 index a28630d88c..0000000000 --- a/storage/pkg/command/storageeos.go +++ /dev/null @@ -1,175 +0,0 @@ -package command - -import ( - "context" - "os" - "os/signal" - "path" - "time" - - "github.com/cs3org/reva/cmd/revad/runtime" - "github.com/gofrs/uuid" - "github.com/micro/cli/v2" - "github.com/oklog/run" - "github.com/owncloud/ocis/storage/pkg/config" - "github.com/owncloud/ocis/storage/pkg/flagset" - "github.com/owncloud/ocis/storage/pkg/server/debug" -) - -// StorageEOS is the entrypoint for the storage-eos command. -func StorageEOS(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "storage-eos", - Usage: "Start storage-eos service", - Flags: flagset.StorageEOSWithConfig(cfg), - Before: func(c *cli.Context) error { - cfg.Reva.StorageEOS.Services = c.StringSlice("service") - - return nil - }, - Action: func(c *cli.Context) error { - logger := NewLogger(cfg) - - if cfg.Tracing.Enabled { - switch t := cfg.Tracing.Type; t { - case "agent": - logger.Error(). - Str("type", t). - Msg("Storage only supports the jaeger tracing backend") - - case "jaeger": - logger.Info(). - Str("type", t). - Msg("configuring storage to use the jaeger tracing backend") - - case "zipkin": - logger.Error(). - Str("type", t). - Msg("Storage only supports the jaeger tracing backend") - - default: - logger.Warn(). - Str("type", t). - Msg("Unknown tracing backend") - } - - } else { - logger.Debug(). - Msg("Tracing is not enabled") - } - - var ( - gr = run.Group{} - ctx, cancel = context.WithCancel(context.Background()) - //metrics = metrics.New() - ) - - defer cancel() - - { - uuid := uuid.Must(uuid.NewV4()) - pidFile := path.Join(os.TempDir(), "revad-"+c.Command.Name+"-"+uuid.String()+".pid") - - rcfg := map[string]interface{}{ - "core": map[string]interface{}{ - "max_cpus": cfg.Reva.StorageEOS.MaxCPUs, - "tracing_enabled": cfg.Tracing.Enabled, - "tracing_endpoint": cfg.Tracing.Endpoint, - "tracing_collector": cfg.Tracing.Collector, - "tracing_service_name": "storage-eos", - }, - "shared": map[string]interface{}{ - "jwt_secret": cfg.Reva.JWTSecret, - }, - "grpc": map[string]interface{}{ - "network": cfg.Reva.StorageEOS.Network, - "address": cfg.Reva.StorageEOS.Addr, - // TODO build services dynamically - "services": map[string]interface{}{ - "storageprovider": map[string]interface{}{ - "driver": cfg.Reva.StorageEOS.Driver, - "drivers": drivers(cfg), - "mount_path": cfg.Reva.StorageEOS.MountPath, - "mount_id": cfg.Reva.StorageEOS.MountID, - "expose_data_server": cfg.Reva.StorageEOS.ExposeDataServer, - // TODO use cfg.Reva.SStorageEOSData.URL, ? - "data_server_url": cfg.Reva.StorageEOS.DataServerURL, - }, - }, - }, - } - - gr.Add(func() error { - runtime.RunWithOptions( - rcfg, - pidFile, - runtime.WithLogger(&logger.Logger), - ) - return nil - }, func(_ error) { - logger.Info(). - Str("server", c.Command.Name). - Msg("Shutting down server") - - cancel() - }) - } - - { - server, err := debug.Server( - debug.Name(c.Command.Name+"-debug"), - debug.Addr(cfg.Reva.StorageEOS.DebugAddr), - debug.Logger(logger), - debug.Context(ctx), - debug.Config(cfg), - ) - - if err != nil { - logger.Info(). - Err(err). - Str("server", c.Command.Name+"-debug"). - Msg("Failed to initialize server") - - return err - } - - gr.Add(func() error { - return server.ListenAndServe() - }, func(_ error) { - ctx, timeout := context.WithTimeout(ctx, 5*time.Second) - - defer timeout() - defer cancel() - - if err := server.Shutdown(ctx); err != nil { - logger.Info(). - Err(err). - Str("server", c.Command.Name+"-debug"). - Msg("Failed to shutdown server") - } else { - logger.Info(). - Str("server", c.Command.Name+"-debug"). - Msg("Shutting down server") - } - }) - } - - { - stop := make(chan os.Signal, 1) - - gr.Add(func() error { - signal.Notify(stop, os.Interrupt) - - <-stop - - return nil - }, func(err error) { - close(stop) - cancel() - }) - } - - return gr.Run() - }, - } -} diff --git a/storage/pkg/command/storageeosdata.go b/storage/pkg/command/storageeosdata.go deleted file mode 100644 index 2c288ed9d5..0000000000 --- a/storage/pkg/command/storageeosdata.go +++ /dev/null @@ -1,175 +0,0 @@ -package command - -import ( - "context" - "os" - "os/signal" - "path" - "time" - - "github.com/cs3org/reva/cmd/revad/runtime" - "github.com/gofrs/uuid" - "github.com/micro/cli/v2" - "github.com/oklog/run" - "github.com/owncloud/ocis/storage/pkg/config" - "github.com/owncloud/ocis/storage/pkg/flagset" - "github.com/owncloud/ocis/storage/pkg/server/debug" -) - -// StorageEOSData is the entrypoint for the storage-oc-data command. -func StorageEOSData(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "storage-eos-data", - Usage: "Start storage-eos-data service", - Flags: flagset.StorageEOSDataWithConfig(cfg), - Before: func(c *cli.Context) error { - cfg.Reva.StorageEOSData.Services = c.StringSlice("service") - - return nil - }, - Action: func(c *cli.Context) error { - logger := NewLogger(cfg) - - if cfg.Tracing.Enabled { - switch t := cfg.Tracing.Type; t { - case "agent": - logger.Error(). - Str("type", t). - Msg("Reva only supports the jaeger tracing backend") - - case "jaeger": - logger.Info(). - Str("type", t). - Msg("configuring storage to use the jaeger tracing backend") - - case "zipkin": - logger.Error(). - Str("type", t). - Msg("Reva only supports the jaeger tracing backend") - - default: - logger.Warn(). - Str("type", t). - Msg("Unknown tracing backend") - } - - } else { - logger.Debug(). - Msg("Tracing is not enabled") - } - - var ( - gr = run.Group{} - ctx, cancel = context.WithCancel(context.Background()) - //metrics = metrics.New() - ) - - defer cancel() - - { - uuid := uuid.Must(uuid.NewV4()) - pidFile := path.Join(os.TempDir(), "revad-"+c.Command.Name+"-"+uuid.String()+".pid") - - rcfg := map[string]interface{}{ - "core": map[string]interface{}{ - "max_cpus": cfg.Reva.StorageEOSData.MaxCPUs, - "tracing_enabled": cfg.Tracing.Enabled, - "tracing_endpoint": cfg.Tracing.Endpoint, - "tracing_collector": cfg.Tracing.Collector, - "tracing_service_name": "storage-eos-data", - }, - "shared": map[string]interface{}{ - "jwt_secret": cfg.Reva.JWTSecret, - "gatewaysvc": cfg.Reva.Gateway.URL, // Todo or address? - }, - "http": map[string]interface{}{ - "network": cfg.Reva.StorageEOSData.Network, - "address": cfg.Reva.StorageEOSData.Addr, - // TODO build services dynamically - "services": map[string]interface{}{ - "dataprovider": map[string]interface{}{ - "prefix": cfg.Reva.StorageEOSData.Prefix, - "driver": cfg.Reva.StorageEOSData.Driver, - "drivers": drivers(cfg), - "timeout": 86400, - "insecure": true, - "disable_tus": false, - }, - }, - }, - } - - gr.Add(func() error { - runtime.RunWithOptions( - rcfg, - pidFile, - runtime.WithLogger(&logger.Logger), - ) - return nil - }, func(_ error) { - logger.Info(). - Str("server", c.Command.Name). - Msg("Shutting down server") - - cancel() - }) - } - - { - server, err := debug.Server( - debug.Name(c.Command.Name+"-debug"), - debug.Addr(cfg.Reva.StorageEOSData.DebugAddr), - debug.Logger(logger), - debug.Context(ctx), - debug.Config(cfg), - ) - - if err != nil { - logger.Info(). - Err(err). - Str("server", c.Command.Name+"-debug"). - Msg("Failed to initialize server") - - return err - } - - gr.Add(func() error { - return server.ListenAndServe() - }, func(_ error) { - ctx, timeout := context.WithTimeout(ctx, 5*time.Second) - - defer timeout() - defer cancel() - - if err := server.Shutdown(ctx); err != nil { - logger.Info(). - Err(err). - Str("server", c.Command.Name+"-debug"). - Msg("Failed to shutdown server") - } else { - logger.Info(). - Str("server", c.Command.Name+"-debug"). - Msg("Shutting down server") - } - }) - } - - { - stop := make(chan os.Signal, 1) - - gr.Add(func() error { - signal.Notify(stop, os.Interrupt) - - <-stop - - return nil - }, func(err error) { - close(stop) - cancel() - }) - } - - return gr.Run() - }, - } -} diff --git a/storage/pkg/command/storagehome.go b/storage/pkg/command/storagehome.go index edfa592404..3e7cee1922 100644 --- a/storage/pkg/command/storagehome.go +++ b/storage/pkg/command/storagehome.go @@ -80,18 +80,19 @@ func StorageHome(cfg *config.Config) *cli.Command { } rcfg := map[string]interface{}{ "core": map[string]interface{}{ - "max_cpus": cfg.Reva.Users.MaxCPUs, + "max_cpus": cfg.Reva.StorageHome.MaxCPUs, "tracing_enabled": cfg.Tracing.Enabled, "tracing_endpoint": cfg.Tracing.Endpoint, "tracing_collector": cfg.Tracing.Collector, - "tracing_service_name": "storage-home", + "tracing_service_name": c.Command.Name, }, "shared": map[string]interface{}{ "jwt_secret": cfg.Reva.JWTSecret, + "gatewaysvc": cfg.Reva.Gateway.Endpoint, }, "grpc": map[string]interface{}{ - "network": cfg.Reva.StorageHome.Network, - "address": cfg.Reva.StorageHome.Addr, + "network": cfg.Reva.StorageHome.GRPCNetwork, + "address": cfg.Reva.StorageHome.GRPCAddr, // TODO build services dynamically "services": map[string]interface{}{ "storageprovider": map[string]interface{}{ @@ -100,8 +101,22 @@ func StorageHome(cfg *config.Config) *cli.Command { "mount_path": cfg.Reva.StorageHome.MountPath, "mount_id": cfg.Reva.StorageHome.MountID, "expose_data_server": cfg.Reva.StorageHome.ExposeDataServer, - // TODO use cfg.Reva.StorageHomeData.URL, ? - "data_server_url": cfg.Reva.StorageHome.DataServerURL, + "data_server_url": cfg.Reva.StorageHome.DataServerURL, + }, + }, + }, + "http": map[string]interface{}{ + "network": cfg.Reva.StorageHome.HTTPNetwork, + "address": cfg.Reva.StorageHome.HTTPAddr, + // TODO build services dynamically + "services": map[string]interface{}{ + "dataprovider": map[string]interface{}{ + "prefix": cfg.Reva.StorageHome.HTTPPrefix, + "driver": cfg.Reva.StorageHome.Driver, + "drivers": drivers(cfg), + "timeout": 86400, + "insecure": true, + "disable_tus": false, }, }, }, diff --git a/storage/pkg/command/storagemetadata.go b/storage/pkg/command/storagemetadata.go index 1edd5e1de8..c21277e75b 100644 --- a/storage/pkg/command/storagemetadata.go +++ b/storage/pkg/command/storagemetadata.go @@ -89,38 +89,39 @@ func StorageMetadata(cfg *config.Config) *cli.Command { rcfg := map[string]interface{}{ "core": map[string]interface{}{ - "max_cpus": "100", - "tracing_enabled": false, + "max_cpus": cfg.Reva.StorageMetadata.MaxCPUs, + "tracing_enabled": cfg.Tracing.Enabled, "tracing_endpoint": cfg.Tracing.Endpoint, "tracing_collector": cfg.Tracing.Collector, - "tracing_service_name": "storage-metadata", + "tracing_service_name": c.Command.Name, }, "shared": map[string]interface{}{ "jwt_secret": cfg.Reva.JWTSecret, + "gatewaysvc": cfg.Reva.Gateway.Endpoint, }, "grpc": map[string]interface{}{ - "network": cfg.Reva.StorageMetadata.Network, - "address": cfg.Reva.StorageMetadata.Addr, + "network": cfg.Reva.StorageMetadata.GRPCNetwork, + "address": cfg.Reva.StorageMetadata.GRPCAddr, "interceptors": map[string]interface{}{ "log": map[string]interface{}{}, }, "services": map[string]interface{}{ "storageprovider": map[string]interface{}{ "mount_path": "/meta", - "data_server_url": cfg.Reva.StorageMetadataData.URL, "driver": cfg.Reva.StorageMetadata.Driver, "drivers": drivers(cfg), + "data_server_url": cfg.Reva.StorageMetadata.DataServerURL, }, }, }, "http": map[string]interface{}{ - "network": cfg.Reva.StorageMetadataData.Network, - "address": cfg.Reva.StorageMetadataData.Addr, + "network": cfg.Reva.StorageMetadata.HTTPNetwork, + "address": cfg.Reva.StorageMetadata.HTTPAddr, // TODO build services dynamically "services": map[string]interface{}{ "dataprovider": map[string]interface{}{ "prefix": "data", - "driver": cfg.Reva.StorageMetadataData.Driver, + "driver": cfg.Reva.StorageMetadata.Driver, "drivers": drivers(cfg), "timeout": 86400, "insecure": true, diff --git a/storage/pkg/command/storageoc.go b/storage/pkg/command/storageoc.go deleted file mode 100644 index 5a869129b3..0000000000 --- a/storage/pkg/command/storageoc.go +++ /dev/null @@ -1,175 +0,0 @@ -package command - -import ( - "context" - "os" - "os/signal" - "path" - "time" - - "github.com/cs3org/reva/cmd/revad/runtime" - "github.com/gofrs/uuid" - "github.com/micro/cli/v2" - "github.com/oklog/run" - "github.com/owncloud/ocis/storage/pkg/config" - "github.com/owncloud/ocis/storage/pkg/flagset" - "github.com/owncloud/ocis/storage/pkg/server/debug" -) - -// StorageOC is the entrypoint for the storage-oc command. -func StorageOC(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "storage-oc", - Usage: "Start storage-oc service", - Flags: flagset.StorageOCWithConfig(cfg), - Before: func(c *cli.Context) error { - cfg.Reva.StorageOC.Services = c.StringSlice("service") - - return nil - }, - Action: func(c *cli.Context) error { - logger := NewLogger(cfg) - - if cfg.Tracing.Enabled { - switch t := cfg.Tracing.Type; t { - case "agent": - logger.Error(). - Str("type", t). - Msg("Reva only supports the jaeger tracing backend") - - case "jaeger": - logger.Info(). - Str("type", t). - Msg("configuring storage to use the jaeger tracing backend") - - case "zipkin": - logger.Error(). - Str("type", t). - Msg("Reva only supports the jaeger tracing backend") - - default: - logger.Warn(). - Str("type", t). - Msg("Unknown tracing backend") - } - - } else { - logger.Debug(). - Msg("Tracing is not enabled") - } - - var ( - gr = run.Group{} - ctx, cancel = context.WithCancel(context.Background()) - //metrics = metrics.New() - ) - - defer cancel() - - { - uuid := uuid.Must(uuid.NewV4()) - pidFile := path.Join(os.TempDir(), "revad-"+c.Command.Name+"-"+uuid.String()+".pid") - - rcfg := map[string]interface{}{ - "core": map[string]interface{}{ - "max_cpus": cfg.Reva.StorageOC.MaxCPUs, - "tracing_enabled": cfg.Tracing.Enabled, - "tracing_endpoint": cfg.Tracing.Endpoint, - "tracing_collector": cfg.Tracing.Collector, - "tracing_service_name": "storage-oc", - }, - "shared": map[string]interface{}{ - "jwt_secret": cfg.Reva.JWTSecret, - }, - "grpc": map[string]interface{}{ - "network": cfg.Reva.StorageOC.Network, - "address": cfg.Reva.StorageOC.Addr, - // TODO build services dynamically - "services": map[string]interface{}{ - "storageprovider": map[string]interface{}{ - "driver": cfg.Reva.StorageOC.Driver, - "drivers": drivers(cfg), - "mount_path": cfg.Reva.StorageOC.MountPath, - "mount_id": cfg.Reva.StorageOC.MountID, - "expose_data_server": cfg.Reva.StorageOC.ExposeDataServer, - // TODO use cfg.Reva.SStorageOCData.URL, ? - "data_server_url": cfg.Reva.StorageOC.DataServerURL, - }, - }, - }, - } - - gr.Add(func() error { - runtime.RunWithOptions( - rcfg, - pidFile, - runtime.WithLogger(&logger.Logger), - ) - return nil - }, func(_ error) { - logger.Info(). - Str("server", c.Command.Name). - Msg("Shutting down server") - - cancel() - }) - } - - { - server, err := debug.Server( - debug.Name(c.Command.Name+"-debug"), - debug.Addr(cfg.Reva.StorageOC.DebugAddr), - debug.Logger(logger), - debug.Context(ctx), - debug.Config(cfg), - ) - - if err != nil { - logger.Info(). - Err(err). - Str("server", c.Command.Name+"-debug"). - Msg("Failed to initialize server") - - return err - } - - gr.Add(func() error { - return server.ListenAndServe() - }, func(_ error) { - ctx, timeout := context.WithTimeout(ctx, 5*time.Second) - - defer timeout() - defer cancel() - - if err := server.Shutdown(ctx); err != nil { - logger.Info(). - Err(err). - Str("server", c.Command.Name+"-debug"). - Msg("Failed to shutdown server") - } else { - logger.Info(). - Str("server", c.Command.Name+"-debug"). - Msg("Shutting down server") - } - }) - } - - { - stop := make(chan os.Signal, 1) - - gr.Add(func() error { - signal.Notify(stop, os.Interrupt) - - <-stop - - return nil - }, func(err error) { - close(stop) - cancel() - }) - } - - return gr.Run() - }, - } -} diff --git a/storage/pkg/command/storageocdata.go b/storage/pkg/command/storageocdata.go deleted file mode 100644 index a91b3bc0f3..0000000000 --- a/storage/pkg/command/storageocdata.go +++ /dev/null @@ -1,175 +0,0 @@ -package command - -import ( - "context" - "os" - "os/signal" - "path" - "time" - - "github.com/cs3org/reva/cmd/revad/runtime" - "github.com/gofrs/uuid" - "github.com/micro/cli/v2" - "github.com/oklog/run" - "github.com/owncloud/ocis/storage/pkg/config" - "github.com/owncloud/ocis/storage/pkg/flagset" - "github.com/owncloud/ocis/storage/pkg/server/debug" -) - -// StorageOCData is the entrypoint for the storage-oc-data command. -func StorageOCData(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "storage-oc-data", - Usage: "Start storage-oc-data service", - Flags: flagset.StorageOCDataWithConfig(cfg), - Before: func(c *cli.Context) error { - cfg.Reva.StorageOCData.Services = c.StringSlice("service") - - return nil - }, - Action: func(c *cli.Context) error { - logger := NewLogger(cfg) - - if cfg.Tracing.Enabled { - switch t := cfg.Tracing.Type; t { - case "agent": - logger.Error(). - Str("type", t). - Msg("Reva only supports the jaeger tracing backend") - - case "jaeger": - logger.Info(). - Str("type", t). - Msg("configuring storage to use the jaeger tracing backend") - - case "zipkin": - logger.Error(). - Str("type", t). - Msg("Reva only supports the jaeger tracing backend") - - default: - logger.Warn(). - Str("type", t). - Msg("Unknown tracing backend") - } - - } else { - logger.Debug(). - Msg("Tracing is not enabled") - } - - var ( - gr = run.Group{} - ctx, cancel = context.WithCancel(context.Background()) - //metrics = metrics.New() - ) - - defer cancel() - - { - uuid := uuid.Must(uuid.NewV4()) - pidFile := path.Join(os.TempDir(), "revad-"+c.Command.Name+"-"+uuid.String()+".pid") - - rcfg := map[string]interface{}{ - "core": map[string]interface{}{ - "max_cpus": cfg.Reva.StorageOCData.MaxCPUs, - "tracing_enabled": cfg.Tracing.Enabled, - "tracing_endpoint": cfg.Tracing.Endpoint, - "tracing_collector": cfg.Tracing.Collector, - "tracing_service_name": "storage-oc-data", - }, - "shared": map[string]interface{}{ - "jwt_secret": cfg.Reva.JWTSecret, - "gatewaysvc": cfg.Reva.Gateway.URL, // Todo or address? - }, - "http": map[string]interface{}{ - "network": cfg.Reva.StorageOCData.Network, - "address": cfg.Reva.StorageOCData.Addr, - // TODO build services dynamically - "services": map[string]interface{}{ - "dataprovider": map[string]interface{}{ - "prefix": cfg.Reva.StorageOCData.Prefix, - "driver": cfg.Reva.StorageOCData.Driver, - "drivers": drivers(cfg), - "timeout": 86400, - "insecure": true, - "disable_tus": false, - }, - }, - }, - } - - gr.Add(func() error { - runtime.RunWithOptions( - rcfg, - pidFile, - runtime.WithLogger(&logger.Logger), - ) - return nil - }, func(_ error) { - logger.Info(). - Str("server", c.Command.Name). - Msg("Shutting down server") - - cancel() - }) - } - - { - server, err := debug.Server( - debug.Name(c.Command.Name+"-debug"), - debug.Addr(cfg.Reva.StorageOCData.DebugAddr), - debug.Logger(logger), - debug.Context(ctx), - debug.Config(cfg), - ) - - if err != nil { - logger.Info(). - Err(err). - Str("server", c.Command.Name+"-debug"). - Msg("Failed to initialize server") - - return err - } - - gr.Add(func() error { - return server.ListenAndServe() - }, func(_ error) { - ctx, timeout := context.WithTimeout(ctx, 5*time.Second) - - defer timeout() - defer cancel() - - if err := server.Shutdown(ctx); err != nil { - logger.Info(). - Err(err). - Str("server", c.Command.Name+"-debug"). - Msg("Failed to shutdown server") - } else { - logger.Info(). - Str("server", c.Command.Name+"-debug"). - Msg("Shutting down server") - } - }) - } - - { - stop := make(chan os.Signal, 1) - - gr.Add(func() error { - signal.Notify(stop, os.Interrupt) - - <-stop - - return nil - }, func(err error) { - close(stop) - cancel() - }) - } - - return gr.Run() - }, - } -} diff --git a/storage/pkg/command/storagepubliclink.go b/storage/pkg/command/storagepubliclink.go index 0a962ec206..badbc24535 100644 --- a/storage/pkg/command/storagepubliclink.go +++ b/storage/pkg/command/storagepubliclink.go @@ -72,27 +72,28 @@ func StoragePublicLink(cfg *config.Config) *cli.Command { "tracing_enabled": cfg.Tracing.Enabled, "tracing_endpoint": cfg.Tracing.Endpoint, "tracing_collector": cfg.Tracing.Collector, - "tracing_service_name": "storage-public-link", + "tracing_service_name": c.Command.Name, }, "shared": map[string]interface{}{ "jwt_secret": cfg.Reva.JWTSecret, + "gatewaysvc": cfg.Reva.Gateway.Endpoint, }, "grpc": map[string]interface{}{ - "network": cfg.Reva.StoragePublicLink.Network, - "address": cfg.Reva.StoragePublicLink.Addr, + "network": cfg.Reva.StoragePublicLink.GRPCNetwork, + "address": cfg.Reva.StoragePublicLink.GRPCAddr, "interceptors": map[string]interface{}{ "log": map[string]interface{}{}, }, "services": map[string]interface{}{ "publicstorageprovider": map[string]interface{}{ "mount_path": cfg.Reva.StoragePublicLink.MountPath, - "gateway_addr": cfg.Reva.Gateway.URL, + "gateway_addr": cfg.Reva.Gateway.Endpoint, }, "authprovider": map[string]interface{}{ "auth_manager": "publicshares", "auth_managers": map[string]interface{}{ "publicshares": map[string]interface{}{ - "gateway_addr": cfg.Reva.Gateway.URL, + "gateway_addr": cfg.Reva.Gateway.Endpoint, }, }, }, diff --git a/storage/pkg/command/storageroot.go b/storage/pkg/command/storageroot.go deleted file mode 100644 index 7fa81c6ebc..0000000000 --- a/storage/pkg/command/storageroot.go +++ /dev/null @@ -1,174 +0,0 @@ -package command - -import ( - "context" - "os" - "os/signal" - "path" - "time" - - "github.com/cs3org/reva/cmd/revad/runtime" - "github.com/gofrs/uuid" - "github.com/micro/cli/v2" - "github.com/oklog/run" - "github.com/owncloud/ocis/storage/pkg/config" - "github.com/owncloud/ocis/storage/pkg/flagset" - "github.com/owncloud/ocis/storage/pkg/server/debug" -) - -// StorageRoot is the entrypoint for the storage-root command. -func StorageRoot(cfg *config.Config) *cli.Command { - return &cli.Command{ - Name: "storage-root", - Usage: "Start storage-root service", - Flags: flagset.StorageRootWithConfig(cfg), - Before: func(c *cli.Context) error { - cfg.Reva.StorageRoot.Services = c.StringSlice("service") - - return nil - }, - Action: func(c *cli.Context) error { - logger := NewLogger(cfg) - - if cfg.Tracing.Enabled { - switch t := cfg.Tracing.Type; t { - case "agent": - logger.Error(). - Str("type", t). - Msg("Storage only supports the jaeger tracing backend") - - case "jaeger": - logger.Info(). - Str("type", t). - Msg("configuring storage to use the jaeger tracing backend") - - case "zipkin": - logger.Error(). - Str("type", t). - Msg("Storage only supports the jaeger tracing backend") - - default: - logger.Warn(). - Str("type", t). - Msg("Unknown tracing backend") - } - - } else { - logger.Debug(). - Msg("Tracing is not enabled") - } - - var ( - gr = run.Group{} - ctx, cancel = context.WithCancel(context.Background()) - //metrics = metrics.New() - ) - - defer cancel() - - { - uuid := uuid.Must(uuid.NewV4()) - pidFile := path.Join(os.TempDir(), "revad-"+c.Command.Name+"-"+uuid.String()+".pid") - - rcfg := map[string]interface{}{ - "core": map[string]interface{}{ - "max_cpus": cfg.Reva.StorageRoot.MaxCPUs, - "tracing_enabled": cfg.Tracing.Enabled, - "tracing_endpoint": cfg.Tracing.Endpoint, - "tracing_collector": cfg.Tracing.Collector, - "tracing_service_name": "storage-root", - }, - "shared": map[string]interface{}{ - "jwt_secret": cfg.Reva.JWTSecret, - }, - "grpc": map[string]interface{}{ - "network": cfg.Reva.StorageRoot.Network, - "address": cfg.Reva.StorageRoot.Addr, - // TODO build services dynamically - "services": map[string]interface{}{ - "storageprovider": map[string]interface{}{ - "driver": cfg.Reva.StorageRoot.Driver, - "drivers": drivers(cfg), - "mount_path": cfg.Reva.StorageRoot.MountPath, - "mount_id": cfg.Reva.StorageRoot.MountID, - "expose_data_server": cfg.Reva.StorageRoot.ExposeDataServer, - "data_server_url": cfg.Reva.StorageRoot.DataServerURL, - }, - }, - }, - } - - gr.Add(func() error { - runtime.RunWithOptions( - rcfg, - pidFile, - runtime.WithLogger(&logger.Logger), - ) - return nil - }, func(_ error) { - logger.Info(). - Str("server", c.Command.Name). - Msg("Shutting down server") - - cancel() - }) - } - - { - server, err := debug.Server( - debug.Name(c.Command.Name+"-debug"), - debug.Addr(cfg.Reva.StorageRoot.DebugAddr), - debug.Logger(logger), - debug.Context(ctx), - debug.Config(cfg), - ) - - if err != nil { - logger.Info(). - Err(err). - Str("server", c.Command.Name+"-debug"). - Msg("Failed to initialize server") - - return err - } - - gr.Add(func() error { - return server.ListenAndServe() - }, func(_ error) { - ctx, timeout := context.WithTimeout(ctx, 5*time.Second) - - defer timeout() - defer cancel() - - if err := server.Shutdown(ctx); err != nil { - logger.Info(). - Err(err). - Str("server", c.Command.Name+"-debug"). - Msg("Failed to shutdown server") - } else { - logger.Info(). - Str("server", c.Command.Name+"-debug"). - Msg("Shutting down server") - } - }) - } - - { - stop := make(chan os.Signal, 1) - - gr.Add(func() error { - signal.Notify(stop, os.Interrupt) - - <-stop - - return nil - }, func(err error) { - close(stop) - cancel() - }) - } - - return gr.Run() - }, - } -} diff --git a/storage/pkg/command/storagehomedata.go b/storage/pkg/command/storageusers.go similarity index 73% rename from storage/pkg/command/storagehomedata.go rename to storage/pkg/command/storageusers.go index 063f759260..6e752adc0f 100644 --- a/storage/pkg/command/storagehomedata.go +++ b/storage/pkg/command/storageusers.go @@ -16,14 +16,14 @@ import ( "github.com/owncloud/ocis/storage/pkg/server/debug" ) -// StorageHomeData is the entrypoint for the storage-home-data command. -func StorageHomeData(cfg *config.Config) *cli.Command { +// StorageUsers is the entrypoint for the storage-users command. +func StorageUsers(cfg *config.Config) *cli.Command { return &cli.Command{ - Name: "storage-home-data", - Usage: "Start storage-home-data service", - Flags: flagset.StorageHomeDataWithConfig(cfg), + Name: "storage-users", + Usage: "Start storage-users service", + Flags: flagset.StorageUsersWithConfig(cfg), Before: func(c *cli.Context) error { - cfg.Reva.StorageHomeData.Services = c.StringSlice("service") + cfg.Reva.StorageHome.Services = c.StringSlice("service") return nil }, @@ -80,24 +80,39 @@ func StorageHomeData(cfg *config.Config) *cli.Command { } rcfg := map[string]interface{}{ "core": map[string]interface{}{ - "max_cpus": cfg.Reva.Users.MaxCPUs, + "max_cpus": cfg.Reva.StorageUsers.MaxCPUs, "tracing_enabled": cfg.Tracing.Enabled, "tracing_endpoint": cfg.Tracing.Endpoint, "tracing_collector": cfg.Tracing.Collector, - "tracing_service_name": "storage-home-data", + "tracing_service_name": c.Command.Name, }, "shared": map[string]interface{}{ "jwt_secret": cfg.Reva.JWTSecret, - "gatewaysvc": cfg.Reva.Gateway.URL, // Todo or address? + "gatewaysvc": cfg.Reva.Gateway.Endpoint, + }, + "grpc": map[string]interface{}{ + "network": cfg.Reva.StorageUsers.GRPCNetwork, + "address": cfg.Reva.StorageUsers.GRPCAddr, + // TODO build services dynamically + "services": map[string]interface{}{ + "storageprovider": map[string]interface{}{ + "driver": cfg.Reva.StorageUsers.Driver, + "drivers": drivers(cfg), + "mount_path": cfg.Reva.StorageUsers.MountPath, + "mount_id": cfg.Reva.StorageUsers.MountID, + "expose_data_server": cfg.Reva.StorageUsers.ExposeDataServer, + "data_server_url": cfg.Reva.StorageUsers.DataServerURL, + }, + }, }, "http": map[string]interface{}{ - "network": cfg.Reva.StorageHomeData.Network, - "address": cfg.Reva.StorageHomeData.Addr, + "network": cfg.Reva.StorageUsers.HTTPNetwork, + "address": cfg.Reva.StorageUsers.HTTPAddr, // TODO build services dynamically "services": map[string]interface{}{ "dataprovider": map[string]interface{}{ - "prefix": cfg.Reva.StorageHomeData.Prefix, - "driver": cfg.Reva.StorageHomeData.Driver, + "prefix": cfg.Reva.StorageUsers.HTTPPrefix, + "driver": cfg.Reva.StorageUsers.Driver, "drivers": drivers(cfg), "timeout": 86400, "insecure": true, @@ -126,7 +141,7 @@ func StorageHomeData(cfg *config.Config) *cli.Command { { server, err := debug.Server( debug.Name(c.Command.Name+"-debug"), - debug.Addr(cfg.Reva.StorageHomeData.DebugAddr), + debug.Addr(cfg.Reva.StorageUsers.DebugAddr), debug.Logger(logger), debug.Context(ctx), debug.Config(cfg), diff --git a/storage/pkg/command/users.go b/storage/pkg/command/users.go index 28f3e6b115..d81c85d0cb 100644 --- a/storage/pkg/command/users.go +++ b/storage/pkg/command/users.go @@ -76,14 +76,14 @@ func Users(cfg *config.Config) *cli.Command { "tracing_enabled": cfg.Tracing.Enabled, "tracing_endpoint": cfg.Tracing.Endpoint, "tracing_collector": cfg.Tracing.Collector, - "tracing_service_name": "users", + "tracing_service_name": c.Command.Name, }, "shared": map[string]interface{}{ "jwt_secret": cfg.Reva.JWTSecret, }, "grpc": map[string]interface{}{ - "network": cfg.Reva.Users.Network, - "address": cfg.Reva.Users.Addr, + "network": cfg.Reva.Users.GRPCNetwork, + "address": cfg.Reva.Users.GRPCAddr, // TODO build services dynamically "services": map[string]interface{}{ "userprovider": map[string]interface{}{ diff --git a/storage/pkg/config/config.go b/storage/pkg/config/config.go index 53cf44ec68..69c48d8326 100644 --- a/storage/pkg/config/config.go +++ b/storage/pkg/config/config.go @@ -46,14 +46,19 @@ type Port struct { // MaxCPUs can be a number or a percentage MaxCPUs string LogLevel string - // Network can be tcp, udp or unix - Network string - // Addr to listen on, hostname:port (0.0.0.0:9999 for all interfaces) or socket (/var/run/reva/sock) - Addr string + // GRPCNetwork can be tcp, udp or unix + GRPCNetwork string + // GRPCAddr to listen on, hostname:port (0.0.0.0:9999 for all interfaces) or socket (/var/run/reva/sock) + GRPCAddr string + // Protocol can be grpc or http + // HTTPNetwork can be tcp, udp or unix + HTTPNetwork string + // HTTPAddr to listen on, hostname:port (0.0.0.0:9100 for all interfaces) or socket (/var/run/reva/sock) + HTTPAddr string // Protocol can be grpc or http Protocol string - // URL is used by the gateway and registries (eg http://localhost:9100 or https://cloud.example.com) - URL string + // Endpoint is used by the gateway and registries (eg localhost:9100 or cloud.example.com) + Endpoint string // DebugAddr for the debug endpoint to bind to DebugAddr string // Services can be used to give a list of services that should be started on this port @@ -77,6 +82,13 @@ type FrontendPort struct { DatagatewayPrefix string OCDavPrefix string OCSPrefix string + PublicURL string +} + +// DataGatewayPort has a public url +type DataGatewayPort struct { + Port + PublicURL string } // StoragePort defines the available storage configuration. @@ -86,10 +98,11 @@ type StoragePort struct { MountPath string MountID string ExposeDataServer bool - DataServerURL string + // url the data gateway will use to route requests + DataServerURL string // for HTTP ports with only one http service - Prefix string + HTTPPrefix string TempFolder string } @@ -273,32 +286,19 @@ type Reva struct { OCDav OCDav Storages StorageConfig // Ports are used to configure which services to start on which port - Frontend FrontendPort - DataGateway Port - Gateway Gateway - StorageRegistry StorageRegistry - Users Users - AuthProvider Users - AuthBasic Port - AuthBearer Port - Sharing Sharing - StorageRoot StoragePort - StorageRootData StoragePort - StorageHome StoragePort - StorageHomeData StoragePort - StorageEOS StoragePort - StorageEOSData StoragePort - StorageOC StoragePort - StorageOCData StoragePort - StorageS3 StoragePort - StorageS3Data StoragePort - StorageWND StoragePort - StorageWNDData StoragePort - StorageCustom StoragePort - StorageCustomData StoragePort - StoragePublicLink PublicStorage - StorageMetadata StoragePort - StorageMetadataData StoragePort + Frontend FrontendPort + DataGateway DataGatewayPort + Gateway Gateway + StorageRegistry StorageRegistry + Users Users + AuthProvider Users + AuthBasic Port + AuthBearer Port + Sharing Sharing + StorageHome StoragePort + StorageUsers StoragePort + StoragePublicLink PublicStorage + StorageMetadata StoragePort // Configs can be used to configure the reva instance. // Services and Ports will be ignored if this is used Configs map[string]interface{} diff --git a/storage/pkg/flagset/authbasic.go b/storage/pkg/flagset/authbasic.go index 75d5b04baf..0a9b3262b6 100644 --- a/storage/pkg/flagset/authbasic.go +++ b/storage/pkg/flagset/authbasic.go @@ -43,29 +43,15 @@ func AuthBasicWithConfig(cfg *config.Config) []cli.Flag { Name: "network", Value: "tcp", Usage: "Network to use for the storage auth-basic service, can be 'tcp', 'udp' or 'unix'", - EnvVars: []string{"STORAGE_AUTH_BASIC_NETWORK"}, - Destination: &cfg.Reva.AuthBasic.Network, - }, - &cli.StringFlag{ - Name: "protocol", - Value: "grpc", - Usage: "protocol for storage service, can be 'http' or 'grpc'", - EnvVars: []string{"STORAGE_AUTH_BASIC_PROTOCOL"}, - Destination: &cfg.Reva.AuthBasic.Protocol, + EnvVars: []string{"STORAGE_AUTH_BASIC_GRPC_NETWORK"}, + Destination: &cfg.Reva.AuthBasic.GRPCNetwork, }, &cli.StringFlag{ Name: "addr", Value: "0.0.0.0:9146", Usage: "Address to bind storage service", - EnvVars: []string{"STORAGE_AUTH_BASIC_ADDR"}, - Destination: &cfg.Reva.AuthBasic.Addr, - }, - &cli.StringFlag{ - Name: "url", - Value: "localhost:9146", - Usage: "URL to use for the storage service", - EnvVars: []string{"STORAGE_AUTH_BASIC_URL"}, - Destination: &cfg.Reva.AuthBasic.URL, + EnvVars: []string{"STORAGE_AUTH_BASIC_GRPC_ADDR"}, + Destination: &cfg.Reva.AuthBasic.GRPCAddr, }, &cli.StringSliceFlag{ Name: "service", diff --git a/storage/pkg/flagset/authbearer.go b/storage/pkg/flagset/authbearer.go index 0c6edf4088..bc0a55b894 100644 --- a/storage/pkg/flagset/authbearer.go +++ b/storage/pkg/flagset/authbearer.go @@ -48,14 +48,14 @@ func AuthBearerWithConfig(cfg *config.Config) []cli.Flag { Destination: &cfg.Reva.OIDC.IDClaim, }, &cli.StringFlag{ - Name: "oidc-uid-claim", + Name: "oidc-uid-claim", Value: "", Usage: "OIDC uid claim", EnvVars: []string{"STORAGE_OIDC_UID_CLAIM"}, Destination: &cfg.Reva.OIDC.UIDClaim, }, &cli.StringFlag{ - Name: "oidc-gid-claim", + Name: "oidc-gid-claim", Value: "", Usage: "OIDC gid claim", EnvVars: []string{"STORAGE_OIDC_GID_CLAIM"}, @@ -70,29 +70,15 @@ func AuthBearerWithConfig(cfg *config.Config) []cli.Flag { Name: "network", Value: "tcp", Usage: "Network to use for the storage service, can be 'tcp', 'udp' or 'unix'", - EnvVars: []string{"STORAGE_AUTH_BEARER_NETWORK"}, - Destination: &cfg.Reva.AuthBearer.Network, - }, - &cli.StringFlag{ - Name: "protocol", - Value: "grpc", - Usage: "protocol for storage service, can be 'http' or 'grpc'", - EnvVars: []string{"STORAGE_AUTH_BEARER_PROTOCOL"}, - Destination: &cfg.Reva.AuthBearer.Protocol, + EnvVars: []string{"STORAGE_AUTH_BEARER_GRPC_NETWORK"}, + Destination: &cfg.Reva.AuthBearer.GRPCNetwork, }, &cli.StringFlag{ Name: "addr", Value: "0.0.0.0:9148", Usage: "Address to bind storage service", - EnvVars: []string{"STORAGE_AUTH_BEARER_ADDR"}, - Destination: &cfg.Reva.AuthBearer.Addr, - }, - &cli.StringFlag{ - Name: "url", - Value: "localhost:9148", - Usage: "URL to use for the storage service", - EnvVars: []string{"STORAGE_AUTH_BEARER_URL"}, - Destination: &cfg.Reva.AuthBearer.URL, + EnvVars: []string{"STORAGE_AUTH_BEARER_GRPC_ADDR"}, + Destination: &cfg.Reva.AuthBearer.GRPCAddr, }, &cli.StringSliceFlag{ Name: "service", diff --git a/storage/pkg/flagset/frontend.go b/storage/pkg/flagset/frontend.go index 6bb97ddea1..b3f5696eb0 100644 --- a/storage/pkg/flagset/frontend.go +++ b/storage/pkg/flagset/frontend.go @@ -56,29 +56,22 @@ func FrontendWithConfig(cfg *config.Config) []cli.Flag { Name: "network", Value: "tcp", Usage: "Network to use for the storage service, can be 'tcp', 'udp' or 'unix'", - EnvVars: []string{"STORAGE_FRONTEND_NETWORK"}, - Destination: &cfg.Reva.Frontend.Network, - }, - &cli.StringFlag{ - Name: "protocol", - Value: "http", - Usage: "protocol for storage service, can be 'http' or 'grpc'", - EnvVars: []string{"STORAGE_FRONTEND_PROTOCOL"}, - Destination: &cfg.Reva.Frontend.Protocol, + EnvVars: []string{"STORAGE_FRONTEND_HTTP_NETWORK"}, + Destination: &cfg.Reva.Frontend.HTTPNetwork, }, &cli.StringFlag{ Name: "addr", Value: "0.0.0.0:9140", Usage: "Address to bind storage service", - EnvVars: []string{"STORAGE_FRONTEND_ADDR"}, - Destination: &cfg.Reva.Frontend.Addr, + EnvVars: []string{"STORAGE_FRONTEND_HTTP_ADDR"}, + Destination: &cfg.Reva.Frontend.HTTPAddr, }, &cli.StringFlag{ - Name: "url", + Name: "public-url", Value: "https://localhost:9200", Usage: "URL to use for the storage service", - EnvVars: []string{"STORAGE_FRONTEND_URL"}, - Destination: &cfg.Reva.Frontend.URL, + EnvVars: []string{"STORAGE_FRONTEND_PUBLIC_URL"}, + Destination: &cfg.Reva.Frontend.PublicURL, }, &cli.StringSliceFlag{ Name: "service", @@ -114,8 +107,8 @@ func FrontendWithConfig(cfg *config.Config) []cli.Flag { Name: "gateway-url", Value: "localhost:9142", Usage: "URL to use for the storage gateway service", - EnvVars: []string{"STORAGE_GATEWAY_URL"}, - Destination: &cfg.Reva.Gateway.URL, + EnvVars: []string{"STORAGE_GATEWAY_ENDPOINT"}, + Destination: &cfg.Reva.Gateway.Endpoint, }, // Chunking diff --git a/storage/pkg/flagset/gateway.go b/storage/pkg/flagset/gateway.go index 4a8c8e456d..95c25a933f 100644 --- a/storage/pkg/flagset/gateway.go +++ b/storage/pkg/flagset/gateway.go @@ -45,29 +45,22 @@ func GatewayWithConfig(cfg *config.Config) []cli.Flag { Name: "network", Value: "tcp", Usage: "Network to use for the storage service, can be 'tcp', 'udp' or 'unix'", - EnvVars: []string{"STORAGE_GATEWAY_NETWORK"}, - Destination: &cfg.Reva.Gateway.Network, - }, - &cli.StringFlag{ - Name: "protocol", - Value: "grpc", - Usage: "protocol for storage service, can be 'http' or 'grpc'", - EnvVars: []string{"STORAGE_GATEWAY_PROTOCOL"}, - Destination: &cfg.Reva.Gateway.Protocol, + EnvVars: []string{"STORAGE_GATEWAY_GRPC_NETWORK"}, + Destination: &cfg.Reva.Gateway.GRPCNetwork, }, &cli.StringFlag{ Name: "addr", Value: "0.0.0.0:9142", Usage: "Address to bind storage service", - EnvVars: []string{"STORAGE_GATEWAY_ADDR"}, - Destination: &cfg.Reva.Gateway.Addr, + EnvVars: []string{"STORAGE_GATEWAY_GRPC_ADDR"}, + Destination: &cfg.Reva.Gateway.GRPCAddr, }, &cli.StringFlag{ - Name: "url", + Name: "endpoint", Value: "localhost:9142", - Usage: "URL to use for the storage service", - EnvVars: []string{"STORAGE_GATEWAY_URL"}, - Destination: &cfg.Reva.Gateway.URL, + Usage: "endpoint to use for the storage service", + EnvVars: []string{"STORAGE_GATEWAY_ENDPOINT"}, + Destination: &cfg.Reva.Gateway.Endpoint, }, &cli.StringSliceFlag{ Name: "service", @@ -107,6 +100,21 @@ func GatewayWithConfig(cfg *config.Config) []cli.Flag { // other services + &cli.StringFlag{ + Name: "auth-basic-endpoint", + Value: "localhost:9146", + Usage: "endpoint to use for the basic auth provider", + EnvVars: []string{"STORAGE_AUTH_BASIC_ENDPOINT"}, + Destination: &cfg.Reva.AuthBasic.Endpoint, + }, + &cli.StringFlag{ + Name: "auth-bearer-endpoint", + Value: "localhost:9148", + Usage: "endpoint to use for the bearer auth provider", + EnvVars: []string{"STORAGE_AUTH_BEARER_ENDPOINT"}, + Destination: &cfg.Reva.AuthBearer.Endpoint, + }, + // storage registry &cli.StringFlag{ @@ -127,81 +135,47 @@ func GatewayWithConfig(cfg *config.Config) []cli.Flag { Name: "storage-home-provider", Value: "/home", Usage: "mount point of the storage provider for user homes in the global namespace", - EnvVars: []string{"STORAGE_STORAGE_HOME_PROVIDER"}, + EnvVars: []string{"STORAGE_REGISTRY_HOME_PROVIDER"}, Destination: &cfg.Reva.StorageRegistry.HomeProvider, }, &cli.StringFlag{ - Name: "frontend-url", + Name: "public-url", Value: "https://localhost:9200", Usage: "URL to use for the storage service", - EnvVars: []string{"STORAGE_FRONTEND_URL"}, - Destination: &cfg.Reva.Frontend.URL, + EnvVars: []string{"STORAGE_FRONTEND_PUBLIC_URL"}, + Destination: &cfg.Reva.Frontend.PublicURL, }, &cli.StringFlag{ Name: "datagateway-url", Value: "https://localhost:9200/data", Usage: "URL to use for the storage datagateway", - EnvVars: []string{"STORAGE_DATAGATEWAY_URL"}, - Destination: &cfg.Reva.DataGateway.URL, + EnvVars: []string{"STORAGE_DATAGATEWAY_PUBLIC_URL"}, + Destination: &cfg.Reva.DataGateway.PublicURL, }, &cli.StringFlag{ - Name: "users-url", + Name: "userprovider-endpoint", Value: "localhost:9144", - Usage: "URL to use for the storage service", - EnvVars: []string{"STORAGE_USERS_URL"}, - Destination: &cfg.Reva.Users.URL, + Usage: "endpoint to use for the userprovider", + EnvVars: []string{"STORAGE_USERPROVIDER_ENDPOINT"}, + Destination: &cfg.Reva.Users.Endpoint, }, &cli.StringFlag{ - Name: "auth-basic-url", - Value: "localhost:9146", - Usage: "URL to use for the storage service", - EnvVars: []string{"STORAGE_AUTH_BASIC_URL"}, - Destination: &cfg.Reva.AuthBasic.URL, - }, - &cli.StringFlag{ - Name: "auth-bearer-url", - Value: "localhost:9148", - Usage: "URL to use for the storage service", - EnvVars: []string{"STORAGE_AUTH_BEARER_URL"}, - Destination: &cfg.Reva.AuthBearer.URL, - }, - &cli.StringFlag{ - Name: "sharing-url", + Name: "sharing-endpoint", Value: "localhost:9150", - Usage: "URL to use for the storage service", - EnvVars: []string{"STORAGE_SHARING_URL"}, - Destination: &cfg.Reva.Sharing.URL, + Usage: "endpoint to use for the storage service", + EnvVars: []string{"STORAGE_SHARING_ENDPOINT"}, + Destination: &cfg.Reva.Sharing.Endpoint, }, - &cli.StringFlag{ - Name: "storage-root-url", - Value: "localhost:9152", - Usage: "URL to use for the storage service", - EnvVars: []string{"STORAGE_STORAGE_ROOT_URL"}, - Destination: &cfg.Reva.StorageRoot.URL, - }, - &cli.StringFlag{ - Name: "storage-root-mount-path", - Value: "/", - Usage: "mount path", - EnvVars: []string{"STORAGE_STORAGE_ROOT_MOUNT_PATH"}, - Destination: &cfg.Reva.StorageRoot.MountPath, - }, - &cli.StringFlag{ - Name: "storage-root-mount-id", - Value: "1284d238-aa92-42ce-bdc4-0b0000009152", - Usage: "mount id", - EnvVars: []string{"STORAGE_STORAGE_ROOT_MOUNT_ID"}, - Destination: &cfg.Reva.StorageRoot.MountID, - }, + // register home storage &cli.StringFlag{ - Name: "storage-home-url", + Name: "storage-home-endpoint", Value: "localhost:9154", - Usage: "URL to use for the storage service", - EnvVars: []string{"STORAGE_STORAGE_HOME_URL"}, - Destination: &cfg.Reva.StorageHome.URL, + Usage: "endpoint to use for the home storage", + EnvVars: []string{"STORAGE_STORAGE_HOME_ENDPOINT"}, + Destination: &cfg.Reva.StorageHome.Endpoint, }, &cli.StringFlag{ Name: "storage-home-mount-path", @@ -218,60 +192,42 @@ func GatewayWithConfig(cfg *config.Config) []cli.Flag { Destination: &cfg.Reva.StorageHome.MountID, }, - &cli.StringFlag{ - Name: "storage-eos-url", - Value: "localhost:9158", - Usage: "URL to use for the storage service", - EnvVars: []string{"STORAGE_STORAGE_EOS_URL"}, - Destination: &cfg.Reva.StorageEOS.URL, - }, - &cli.StringFlag{ - Name: "storage-eos-mount-path", - Value: "/eos", - Usage: "mount path", - EnvVars: []string{"STORAGE_STORAGE_EOS_MOUNT_PATH"}, - Destination: &cfg.Reva.StorageEOS.MountPath, - }, - &cli.StringFlag{ - Name: "storage-eos-mount-id", - Value: "1284d238-aa92-42ce-bdc4-0b0000009158", - Usage: "mount id", - EnvVars: []string{"STORAGE_STORAGE_EOS_MOUNT_ID"}, - Destination: &cfg.Reva.StorageEOS.MountID, - }, + // register users storage &cli.StringFlag{ - Name: "storage-oc-url", - Value: "localhost:9162", - Usage: "URL to use for the storage service", - EnvVars: []string{"STORAGE_STORAGE_OC_URL"}, - Destination: &cfg.Reva.StorageOC.URL, + Name: "storage-users-endpoint", + Value: "localhost:9157", + Usage: "endpoint to use for the users storage", + EnvVars: []string{"STORAGE_USERS_ENDPOINT"}, + Destination: &cfg.Reva.StorageUsers.Endpoint, }, &cli.StringFlag{ - Name: "storage-oc-mount-path", - Value: "/oc", + Name: "storage-users-mount-path", + Value: "/users", Usage: "mount path", - EnvVars: []string{"STORAGE_STORAGE_OC_MOUNT_PATH"}, - Destination: &cfg.Reva.StorageOC.MountPath, + EnvVars: []string{"STORAGE_USERS_MOUNT_PATH"}, + Destination: &cfg.Reva.StorageUsers.MountPath, }, &cli.StringFlag{ - Name: "storage-oc-mount-id", - Value: "1284d238-aa92-42ce-bdc4-0b0000009162", + Name: "storage-users-mount-id", + Value: "1284d238-aa92-42ce-bdc4-0b0000009157", Usage: "mount id", - EnvVars: []string{"STORAGE_STORAGE_OC_MOUNT_ID"}, - Destination: &cfg.Reva.StorageOC.MountID, + EnvVars: []string{"STORAGE_USERS_MOUNT_ID"}, + Destination: &cfg.Reva.StorageUsers.MountID, }, + // register public link storage + &cli.StringFlag{ - Name: "public-link-url", + Name: "public-link-endpoint", Value: "localhost:9178", - Usage: "URL to use for the public links service", - EnvVars: []string{"STORAGE_STORAGE_PUBLIC_LINK_URL"}, - Destination: &cfg.Reva.StoragePublicLink.URL, + Usage: "endpoint to use for the public links service", + EnvVars: []string{"STORAGE_STORAGE_PUBLIC_LINK_ENDPOINT"}, + Destination: &cfg.Reva.StoragePublicLink.Endpoint, }, &cli.StringFlag{ Name: "storage-public-link-mount-path", - Value: "/public/", + Value: "/public", Usage: "mount path", EnvVars: []string{"STORAGE_STORAGE_PUBLIC_LINK_MOUNT_PATH"}, Destination: &cfg.Reva.StoragePublicLink.MountPath, diff --git a/storage/pkg/flagset/sharing.go b/storage/pkg/flagset/sharing.go index 24ca534fe5..3b6129f478 100644 --- a/storage/pkg/flagset/sharing.go +++ b/storage/pkg/flagset/sharing.go @@ -26,29 +26,15 @@ func SharingWithConfig(cfg *config.Config) []cli.Flag { Name: "network", Value: "tcp", Usage: "Network to use for the storage service, can be 'tcp', 'udp' or 'unix'", - EnvVars: []string{"STORAGE_SHARING_NETWORK"}, - Destination: &cfg.Reva.Sharing.Network, - }, - &cli.StringFlag{ - Name: "protocol", - Value: "grpc", - Usage: "protocol for storage service, can be 'http' or 'grpc'", - EnvVars: []string{"STORAGE_SHARING_PROTOCOL"}, - Destination: &cfg.Reva.Sharing.Protocol, + EnvVars: []string{"STORAGE_SHARING_GRPC_NETWORK"}, + Destination: &cfg.Reva.Sharing.GRPCNetwork, }, &cli.StringFlag{ Name: "addr", Value: "0.0.0.0:9150", Usage: "Address to bind storage service", - EnvVars: []string{"STORAGE_SHARING_ADDR"}, - Destination: &cfg.Reva.Sharing.Addr, - }, - &cli.StringFlag{ - Name: "url", - Value: "localhost:9150", - Usage: "URL to use for the storage service", - EnvVars: []string{"STORAGE_SHARING_URL"}, - Destination: &cfg.Reva.Sharing.URL, + EnvVars: []string{"STORAGE_SHARING_GRPC_ADDR"}, + Destination: &cfg.Reva.Sharing.GRPCAddr, }, &cli.StringSliceFlag{ Name: "service", diff --git a/storage/pkg/flagset/storageeos.go b/storage/pkg/flagset/storageeos.go deleted file mode 100644 index 2838a4564d..0000000000 --- a/storage/pkg/flagset/storageeos.go +++ /dev/null @@ -1,104 +0,0 @@ -package flagset - -import ( - "github.com/micro/cli/v2" - "github.com/owncloud/ocis/storage/pkg/config" -) - -// StorageEOSWithConfig applies cfg to the root flagset -func StorageEOSWithConfig(cfg *config.Config) []cli.Flag { - flags := []cli.Flag{ - - // debug ports are the odd ports - &cli.StringFlag{ - Name: "debug-addr", - Value: "0.0.0.0:9159", - Usage: "Address to bind debug server", - EnvVars: []string{"STORAGE_STORAGE_EOS_DEBUG_ADDR"}, - Destination: &cfg.Reva.StorageEOS.DebugAddr, - }, - - // Storage eos - - &cli.StringFlag{ - Name: "network", - Value: "tcp", - Usage: "Network to use for the storage service, can be 'tcp', 'udp' or 'unix'", - EnvVars: []string{"STORAGE_STORAGE_EOS_NETWORK"}, - Destination: &cfg.Reva.StorageEOS.Network, - }, - &cli.StringFlag{ - Name: "protocol", - Value: "grpc", - Usage: "protocol for storage service, can be 'http' or 'grpc'", - EnvVars: []string{"STORAGE_STORAGE_EOS_PROTOCOL"}, - Destination: &cfg.Reva.StorageEOS.Protocol, - }, - &cli.StringFlag{ - Name: "addr", - Value: "0.0.0.0:9158", - Usage: "Address to bind storage service", - EnvVars: []string{"STORAGE_STORAGE_EOS_ADDR"}, - Destination: &cfg.Reva.StorageEOS.Addr, - }, - &cli.StringFlag{ - Name: "url", - Value: "localhost:9158", - Usage: "URL to use for the storage service", - EnvVars: []string{"STORAGE_STORAGE_EOS_URL"}, - Destination: &cfg.Reva.StorageEOS.URL, - }, - &cli.StringSliceFlag{ - Name: "service", - Value: cli.NewStringSlice("storageprovider"), - Usage: "--service storageprovider [--service otherservice]", - EnvVars: []string{"STORAGE_STORAGE_EOS_SERVICES"}, - }, - - &cli.StringFlag{ - Name: "driver", - Value: "eos", - Usage: "storage driver for eos mount: eg. local, eos, owncloud, ocis or s3", - EnvVars: []string{"STORAGE_STORAGE_EOS_DRIVER"}, - Destination: &cfg.Reva.StorageEOS.Driver, - }, - &cli.StringFlag{ - Name: "mount-path", - Value: "/eos", - Usage: "mount path", - EnvVars: []string{"STORAGE_STORAGE_EOS_MOUNT_PATH"}, - Destination: &cfg.Reva.StorageEOS.MountPath, - }, - &cli.StringFlag{ - Name: "mount-id", - Value: "1284d238-aa92-42ce-bdc4-0b0000009158", - Usage: "mount id", - EnvVars: []string{"STORAGE_STORAGE_EOS_MOUNT_ID"}, - Destination: &cfg.Reva.StorageEOS.MountID, - }, - &cli.BoolFlag{ - Name: "expose-data-server", - Value: false, - Usage: "exposes a dedicated data server", - EnvVars: []string{"STORAGE_STORAGE_EOS_EXPOSE_DATA_SERVER"}, - Destination: &cfg.Reva.StorageEOS.ExposeDataServer, - }, - &cli.StringFlag{ - Name: "data-server-url", - Value: "http://localhost:9160/data", - Usage: "data server url", - EnvVars: []string{"STORAGE_STORAGE_EOS_DATA_SERVER_URL"}, - Destination: &cfg.Reva.StorageEOS.DataServerURL, - }, - } - - flags = append(flags, TracingWithConfig(cfg)...) - flags = append(flags, DebugWithConfig(cfg)...) - flags = append(flags, SecretWithConfig(cfg)...) - flags = append(flags, DriverEOSWithConfig(cfg)...) - flags = append(flags, DriverLocalWithConfig(cfg)...) - flags = append(flags, DriverOwnCloudWithConfig(cfg)...) - flags = append(flags, DriverOCISWithConfig(cfg)...) - - return flags -} diff --git a/storage/pkg/flagset/storageeosdata.go b/storage/pkg/flagset/storageeosdata.go deleted file mode 100644 index 584a4b9227..0000000000 --- a/storage/pkg/flagset/storageeosdata.go +++ /dev/null @@ -1,111 +0,0 @@ -package flagset - -import ( - "github.com/micro/cli/v2" - "github.com/owncloud/ocis/storage/pkg/config" -) - -// StorageEOSDataWithConfig applies cfg to the root flagset -func StorageEOSDataWithConfig(cfg *config.Config) []cli.Flag { - flags := []cli.Flag{ - - // debug ports are the odd ports - &cli.StringFlag{ - Name: "debug-addr", - Value: "0.0.0.0:9161", - Usage: "Address to bind debug server", - EnvVars: []string{"STORAGE_STORAGE_OC_DATA_DEBUG_ADDR"}, - Destination: &cfg.Reva.StorageEOSData.DebugAddr, - }, - - // Services - - // Storage eos data - - &cli.StringFlag{ - Name: "network", - Value: "tcp", - Usage: "Network to use for the storage service, can be 'tcp', 'udp' or 'unix'", - EnvVars: []string{"STORAGE_STORAGE_EOS_DATA_NETWORK"}, - Destination: &cfg.Reva.StorageEOSData.Network, - }, - &cli.StringFlag{ - Name: "protocol", - Value: "http", - Usage: "protocol for storage service, can be 'http' or 'grpc'", - EnvVars: []string{"STORAGE_STORAGE_EOS_DATA_PROTOCOL"}, - Destination: &cfg.Reva.StorageEOSData.Protocol, - }, - &cli.StringFlag{ - Name: "addr", - Value: "0.0.0.0:9160", - Usage: "Address to bind storage service", - EnvVars: []string{"STORAGE_STORAGE_EOS_DATA_ADDR"}, - Destination: &cfg.Reva.StorageEOSData.Addr, - }, - &cli.StringFlag{ - Name: "url", - Value: "localhost:9160", - Usage: "URL to use for the storage service", - EnvVars: []string{"STORAGE_STORAGE_EOS_DATA_URL"}, - Destination: &cfg.Reva.StorageEOSData.URL, - }, - &cli.StringSliceFlag{ - Name: "service", - Value: cli.NewStringSlice("dataprovider"), - Usage: "--service dataprovider [--service otherservice]", - EnvVars: []string{"STORAGE_STORAGE_EOS_DATA_SERVICES"}, - }, - &cli.StringFlag{ - Name: "driver", - Value: "eos", - Usage: "storage driver for eos data mount: eg. local, eos, owncloud, ocis or s3", - EnvVars: []string{"STORAGE_STORAGE_EOS_DATA_DRIVER"}, - Destination: &cfg.Reva.StorageEOSData.Driver, - }, - &cli.StringFlag{ - Name: "prefix", - Value: "data", - Usage: "prefix for the http endpoint, without leading slash", - EnvVars: []string{"STORAGE_STORAGE_EOS_DATA_PREFIX"}, - Destination: &cfg.Reva.StorageEOSData.Prefix, - }, - &cli.StringFlag{ - Name: "temp-folder", - Value: "/var/tmp/", - Usage: "temp folder", - EnvVars: []string{"STORAGE_STORAGE_EOS_DATA_TEMP_FOLDER"}, - Destination: &cfg.Reva.StorageEOSData.TempFolder, - }, - - // Gateway - - &cli.StringFlag{ - Name: "gateway-url", - Value: "localhost:9142", - Usage: "URL to use for the storage gateway service", - EnvVars: []string{"STORAGE_GATEWAY_URL"}, - Destination: &cfg.Reva.Gateway.URL, - }, - - // User provider - - &cli.StringFlag{ - Name: "users-url", - Value: "localhost:9144", - Usage: "URL to use for the storage service", - EnvVars: []string{"STORAGE_USERS_URL"}, - Destination: &cfg.Reva.Users.URL, - }, - } - - flags = append(flags, TracingWithConfig(cfg)...) - flags = append(flags, DebugWithConfig(cfg)...) - flags = append(flags, SecretWithConfig(cfg)...) - flags = append(flags, DriverEOSWithConfig(cfg)...) - flags = append(flags, DriverLocalWithConfig(cfg)...) - flags = append(flags, DriverOwnCloudWithConfig(cfg)...) - flags = append(flags, DriverOCISWithConfig(cfg)...) - - return flags -} diff --git a/storage/pkg/flagset/storagehome.go b/storage/pkg/flagset/storagehome.go index 9b00e8f7a9..0bdf8c4c30 100644 --- a/storage/pkg/flagset/storagehome.go +++ b/storage/pkg/flagset/storagehome.go @@ -12,9 +12,9 @@ func StorageHomeWithConfig(cfg *config.Config) []cli.Flag { // debug ports are the odd ports &cli.StringFlag{ Name: "debug-addr", - Value: "0.0.0.0:9155", + Value: "0.0.0.0:9156", Usage: "Address to bind debug server", - EnvVars: []string{"STORAGE_STORAGE_HOME_DEBUG_ADDR"}, + EnvVars: []string{"STORAGE_HOME_DEBUG_ADDR"}, Destination: &cfg.Reva.StorageHome.DebugAddr, }, @@ -23,95 +23,121 @@ func StorageHomeWithConfig(cfg *config.Config) []cli.Flag { // Storage home &cli.StringFlag{ - Name: "network", + Name: "grpc-network", Value: "tcp", Usage: "Network to use for the storage service, can be 'tcp', 'udp' or 'unix'", - EnvVars: []string{"STORAGE_STORAGE_HOME_NETWORK"}, - Destination: &cfg.Reva.StorageHome.Network, + EnvVars: []string{"STORAGE_HOME_GRPC_NETWORK"}, + Destination: &cfg.Reva.StorageHome.GRPCNetwork, }, &cli.StringFlag{ - Name: "protocol", - Value: "grpc", - Usage: "protocol for storage service, can be 'http' or 'grpc'", - EnvVars: []string{"STORAGE_STORAGE_HOME_PROTOCOL"}, - Destination: &cfg.Reva.StorageHome.Protocol, - }, - &cli.StringFlag{ - Name: "addr", + Name: "grpc-addr", Value: "0.0.0.0:9154", Usage: "Address to bind storage service", - EnvVars: []string{"STORAGE_STORAGE_HOME_ADDR"}, - Destination: &cfg.Reva.StorageHome.Addr, + EnvVars: []string{"STORAGE_HOME_GRPC_ADDR"}, + Destination: &cfg.Reva.StorageHome.GRPCAddr, }, &cli.StringFlag{ - Name: "url", - Value: "localhost:9154", - Usage: "URL to use for the storage service", - EnvVars: []string{"STORAGE_STORAGE_HOME_URL"}, - Destination: &cfg.Reva.StorageHome.URL, + Name: "http-network", + Value: "tcp", + Usage: "Network to use for the storage service, can be 'tcp', 'udp' or 'unix'", + EnvVars: []string{"STORAGE_HOME_HTTP_NETWORK"}, + Destination: &cfg.Reva.StorageHome.HTTPNetwork, }, - &cli.StringSliceFlag{ - Name: "service", - Value: cli.NewStringSlice("storageprovider"), - Usage: "--service storageprovider [--service otherservice]", - EnvVars: []string{"STORAGE_STORAGE_HOME_SERVICES"}, + &cli.StringFlag{ + Name: "http-addr", + Value: "0.0.0.0:9155", + Usage: "Address to bind storage service", + EnvVars: []string{"STORAGE_HOME_HTTP_ADDR"}, + Destination: &cfg.Reva.StorageHome.HTTPAddr, }, + // TODO allow disabling grpc / http services + /* + &cli.StringSliceFlag{ + Name: "grpc-service", + Value: cli.NewStringSlice("storageprovider"), + Usage: "--service storageprovider [--service otherservice]", + EnvVars: []string{"STORAGE_HOME_GRPC_SERVICES"}, + }, + &cli.StringSliceFlag{ + Name: "http-service", + Value: cli.NewStringSlice("dataprovider"), + Usage: "--service dataprovider [--service otherservice]", + EnvVars: []string{"STORAGE_HOME_HTTP_SERVICES"}, + }, + */ + &cli.StringFlag{ Name: "driver", - Value: "owncloud", + Value: "ocis", Usage: "storage driver for home mount: eg. local, eos, owncloud, ocis or s3", - EnvVars: []string{"STORAGE_STORAGE_HOME_DRIVER"}, + EnvVars: []string{"STORAGE_HOME_DRIVER"}, Destination: &cfg.Reva.StorageHome.Driver, }, &cli.StringFlag{ Name: "mount-path", Value: "/home", Usage: "mount path", - EnvVars: []string{"STORAGE_STORAGE_HOME_MOUNT_PATH"}, + EnvVars: []string{"STORAGE_HOME_MOUNT_PATH"}, Destination: &cfg.Reva.StorageHome.MountPath, }, &cli.StringFlag{ Name: "mount-id", // This is the mount id of the storage provider using the same storage driver - // as /home but withoud home enabled. Set it to - // 1284d238-aa92-42ce-bdc4-0b0000009158 for /eos - // 1284d238-aa92-42ce-bdc4-0b0000009162 for /oc - Value: "1284d238-aa92-42ce-bdc4-0b0000009162", // /oc + // as /home but withoud home enabled. + Value: "1284d238-aa92-42ce-bdc4-0b0000009162", // /users Usage: "mount id", - EnvVars: []string{"STORAGE_STORAGE_HOME_MOUNT_ID"}, + EnvVars: []string{"STORAGE_HOME_MOUNT_ID"}, Destination: &cfg.Reva.StorageHome.MountID, }, &cli.BoolFlag{ Name: "expose-data-server", Value: false, Usage: "exposes a dedicated data server", - EnvVars: []string{"STORAGE_STORAGE_HOME_EXPOSE_DATA_SERVER"}, + EnvVars: []string{"STORAGE_HOME_EXPOSE_DATA_SERVER"}, Destination: &cfg.Reva.StorageHome.ExposeDataServer, }, &cli.StringFlag{ Name: "data-server-url", - Value: "http://localhost:9156/data", + Value: "http://localhost:9155/data", Usage: "data server url", - EnvVars: []string{"STORAGE_STORAGE_HOME_DATA_SERVER_URL"}, + EnvVars: []string{"STORAGE_HOME_DATA_SERVER_URL"}, Destination: &cfg.Reva.StorageHome.DataServerURL, }, + &cli.StringFlag{ + Name: "http-prefix", + Value: "data", + Usage: "prefix for the http endpoint, without leading slash", + EnvVars: []string{"STORAGE_HOME_HTTP_PREFIX"}, + Destination: &cfg.Reva.StorageHome.HTTPPrefix, + }, &cli.BoolFlag{ Name: "enable-home", Value: true, Usage: "enable the creation of home directories", - EnvVars: []string{"STORAGE_STORAGE_HOME_ENABLE_HOME"}, + EnvVars: []string{"STORAGE_HOME_ENABLE_HOME"}, Destination: &cfg.Reva.Storages.Home.EnableHome, }, + // some drivers need to look up users at the gateway + + // Gateway + + &cli.StringFlag{ + Name: "gateway-endpoint", + Value: "localhost:9142", + Usage: "endpoint to use for the storage gateway service", + EnvVars: []string{"STORAGE_GATEWAY_ENDPOINT"}, + Destination: &cfg.Reva.Gateway.Endpoint, + }, // User provider &cli.StringFlag{ - Name: "users-url", + Name: "users-endpoint", Value: "localhost:9144", - Usage: "URL to use for the storage service", - EnvVars: []string{"STORAGE_USERS_URL"}, - Destination: &cfg.Reva.Users.URL, + Usage: "endpoint to use for the storage service", + EnvVars: []string{"STORAGE_USERPROVIDER_ENDPOINT"}, + Destination: &cfg.Reva.Users.Endpoint, }, } diff --git a/storage/pkg/flagset/storagehomedata.go b/storage/pkg/flagset/storagehomedata.go deleted file mode 100644 index 428df18038..0000000000 --- a/storage/pkg/flagset/storagehomedata.go +++ /dev/null @@ -1,118 +0,0 @@ -package flagset - -import ( - "github.com/micro/cli/v2" - "github.com/owncloud/ocis/storage/pkg/config" -) - -// StorageHomeDataWithConfig applies cfg to the root flagset -func StorageHomeDataWithConfig(cfg *config.Config) []cli.Flag { - flags := []cli.Flag{ - - // debug ports are the odd ports - &cli.StringFlag{ - Name: "debug-addr", - Value: "0.0.0.0:9157", - Usage: "Address to bind debug server", - EnvVars: []string{"STORAGE_STORAGE_HOME_DATA_DEBUG_ADDR"}, - Destination: &cfg.Reva.StorageHomeData.DebugAddr, - }, - - // Services - - // Storage home data - - &cli.StringFlag{ - Name: "network", - Value: "tcp", - Usage: "Network to use for the storage service, can be 'tcp', 'udp' or 'unix'", - EnvVars: []string{"STORAGE_STORAGE_HOME_DATA_NETWORK"}, - Destination: &cfg.Reva.StorageHomeData.Network, - }, - &cli.StringFlag{ - Name: "protocol", - Value: "http", - Usage: "protocol for storage service, can be 'http' or 'grpc'", - EnvVars: []string{"STORAGE_STORAGE_HOME_DATA_PROTOCOL"}, - Destination: &cfg.Reva.StorageHomeData.Protocol, - }, - &cli.StringFlag{ - Name: "addr", - Value: "0.0.0.0:9156", - Usage: "Address to bind storage service", - EnvVars: []string{"STORAGE_STORAGE_HOME_DATA_ADDR"}, - Destination: &cfg.Reva.StorageHomeData.Addr, - }, - &cli.StringFlag{ - Name: "url", - Value: "localhost:9156", - Usage: "URL to use for the storage service", - EnvVars: []string{"STORAGE_STORAGE_HOME_DATA_URL"}, - Destination: &cfg.Reva.StorageHomeData.URL, - }, - &cli.StringSliceFlag{ - Name: "service", - Value: cli.NewStringSlice("dataprovider"), - Usage: "--service dataprovider [--service otherservice]", - EnvVars: []string{"STORAGE_STORAGE_HOME_DATA_SERVICES"}, - }, - &cli.StringFlag{ - Name: "driver", - Value: "owncloud", - Usage: "storage driver for home data mount: eg. local, eos, owncloud, ocis or s3", - EnvVars: []string{"STORAGE_STORAGE_HOME_DATA_DRIVER"}, - Destination: &cfg.Reva.StorageHomeData.Driver, - }, - &cli.StringFlag{ - Name: "prefix", - Value: "data", - Usage: "prefix for the http endpoint, without leading slash", - EnvVars: []string{"STORAGE_STORAGE_HOME_DATA_PREFIX"}, - Destination: &cfg.Reva.StorageHomeData.Prefix, - }, - &cli.StringFlag{ - Name: "temp-folder", - Value: "/var/tmp/", - Usage: "temp folder", - EnvVars: []string{"STORAGE_STORAGE_HOME_DATA_TEMP_FOLDER"}, - Destination: &cfg.Reva.StorageHomeData.TempFolder, - }, - &cli.BoolFlag{ - Name: "enable-home", - Value: true, - Usage: "enable the creation of home directories", - EnvVars: []string{"STORAGE_STORAGE_HOME_ENABLE_HOME"}, - Destination: &cfg.Reva.Storages.Home.EnableHome, - }, - - // Gateway - - &cli.StringFlag{ - Name: "gateway-url", - Value: "localhost:9142", - Usage: "URL to use for the storage gateway service", - EnvVars: []string{"STORAGE_GATEWAY_URL"}, - Destination: &cfg.Reva.Gateway.URL, - }, - - // User provider - - &cli.StringFlag{ - Name: "users-url", - Value: "localhost:9144", - Usage: "URL to use for the storage service", - EnvVars: []string{"STORAGE_USERS_URL"}, - Destination: &cfg.Reva.Users.URL, - }, - } - - flags = append(flags, TracingWithConfig(cfg)...) - flags = append(flags, DebugWithConfig(cfg)...) - flags = append(flags, SecretWithConfig(cfg)...) - flags = append(flags, DriverEOSWithConfig(cfg)...) - flags = append(flags, DriverLocalWithConfig(cfg)...) - flags = append(flags, DriverOwnCloudWithConfig(cfg)...) - flags = append(flags, DriverOCISWithConfig(cfg)...) - - return flags -} diff --git a/storage/pkg/flagset/storagemetadata.go b/storage/pkg/flagset/storagemetadata.go index 094dc07f0b..d6f90d7fbd 100644 --- a/storage/pkg/flagset/storagemetadata.go +++ b/storage/pkg/flagset/storagemetadata.go @@ -12,58 +12,80 @@ func StorageMetadata(cfg *config.Config) []cli.Flag { Name: "debug-addr", Value: "0.0.0.0:9217", Usage: "Address to bind debug server", - EnvVars: []string{"STORAGE_STORAGE_METADATA_DEBUG_ADDR"}, + EnvVars: []string{"STORAGE_METADATA_DEBUG_ADDR"}, Destination: &cfg.Reva.StorageMetadata.DebugAddr, }, &cli.StringFlag{ - Name: "network", + Name: "grpc-network", Value: "tcp", Usage: "Network to use for the storage service, can be 'tcp', 'udp' or 'unix'", - EnvVars: []string{"STORAGE_STORAGE_METADATA_NETWORK"}, - Destination: &cfg.Reva.StorageMetadata.Network, + EnvVars: []string{"STORAGE_METADATA_GRPC_NETWORK"}, + Destination: &cfg.Reva.StorageMetadata.GRPCNetwork, }, &cli.StringFlag{ - Name: "provider-addr", + Name: "grpc-addr", Value: "0.0.0.0:9215", Usage: "Address to bind storage service", - EnvVars: []string{"STORAGE_STORAGE_METADATA_PROVIDER_ADDR"}, - Destination: &cfg.Reva.StorageMetadata.Addr, + EnvVars: []string{"STORAGE_METADATA_GRPC_PROVIDER_ADDR"}, + Destination: &cfg.Reva.StorageMetadata.GRPCAddr, }, &cli.StringFlag{ Name: "data-server-url", Value: "http://localhost:9216", - Usage: "URL of the data-server the storage-provider uses", - EnvVars: []string{"STORAGE_STORAGE_METADATA_DATA_SERVER_URL"}, + Usage: "URL of the data-provider the storage-provider uses", + EnvVars: []string{"STORAGE_METADATA_DATA_SERVER_URL"}, Destination: &cfg.Reva.StorageMetadata.DataServerURL, }, &cli.StringFlag{ - Name: "data-server-addr", + Name: "http-network", + Value: "tcp", + Usage: "Network to use for the storage service, can be 'tcp', 'udp' or 'unix'", + EnvVars: []string{"STORAGE_METADATA_HTTP_NETWORK"}, + Destination: &cfg.Reva.StorageMetadata.HTTPNetwork, + }, + &cli.StringFlag{ + Name: "http-addr", Value: "0.0.0.0:9216", - Usage: "Address to bind the metadata data-server to", - EnvVars: []string{"STORAGE_STORAGE_METADATA_DATA_SERVER_ADDR"}, - Destination: &cfg.Reva.StorageMetadataData.Addr, + Usage: "Address to bind storage service", + EnvVars: []string{"STORAGE_METADATA_HTTP_ADDR"}, + Destination: &cfg.Reva.StorageMetadata.HTTPAddr, }, &cli.StringFlag{ - Name: "storage-provider-driver", - Value: "local", + Name: "driver", + Value: "ocis", Usage: "storage driver for metadata mount: eg. local, eos, owncloud, ocis or s3", - EnvVars: []string{"STORAGE_STORAGE_METADATA_PROVIDER_DRIVER"}, + EnvVars: []string{"STORAGE_METADATA_DRIVER"}, Destination: &cfg.Reva.StorageMetadata.Driver, }, - &cli.StringFlag{ - Name: "data-provider-driver", - Value: "local", - Usage: "storage driver for data-provider mount: eg. local, eos, owncloud, ocis or s3", - EnvVars: []string{"STORAGE_STORAGE_METADATA_DATA_PROVIDER_DRIVER"}, - Destination: &cfg.Reva.StorageMetadataData.Driver, - }, &cli.StringFlag{ Name: "storage-root", Value: "/var/tmp/ocis/metadata", Usage: "the path to the metadata storage root", - EnvVars: []string{"STORAGE_STORAGE_METADATA_ROOT"}, + EnvVars: []string{"STORAGE_METADATA_ROOT"}, Destination: &cfg.Reva.Storages.Common.Root, }, + + // some drivers need to look up users at the gateway + + // Gateway + + &cli.StringFlag{ + Name: "gateway-endpoint", + Value: "localhost:9142", + Usage: "endpoint to use for the gateway service", + EnvVars: []string{"STORAGE_GATEWAY_ENDPOINT"}, + Destination: &cfg.Reva.Gateway.Endpoint, + }, + + // User provider + + &cli.StringFlag{ + Name: "userprovider-endpoint", + Value: "localhost:9144", + Usage: "endpoint to use for the userprovider service", + EnvVars: []string{"STORAGE_USERPROVIDER_ENDPOINT"}, + Destination: &cfg.Reva.Users.Endpoint, + }, } flags = append(flags, TracingWithConfig(cfg)...) diff --git a/storage/pkg/flagset/storageoc.go b/storage/pkg/flagset/storageoc.go deleted file mode 100644 index 8280ec34f4..0000000000 --- a/storage/pkg/flagset/storageoc.go +++ /dev/null @@ -1,116 +0,0 @@ -package flagset - -import ( - "github.com/micro/cli/v2" - "github.com/owncloud/ocis/storage/pkg/config" -) - -// StorageOCWithConfig applies cfg to the root flagset -func StorageOCWithConfig(cfg *config.Config) []cli.Flag { - flags := []cli.Flag{ - - // debug ports are the odd ports - &cli.StringFlag{ - Name: "debug-addr", - Value: "0.0.0.0:9163", - Usage: "Address to bind debug server", - EnvVars: []string{"STORAGE_STORAGE_OC_DEBUG_ADDR"}, - Destination: &cfg.Reva.StorageOC.DebugAddr, - }, - - // Services - - // Storage oc - - &cli.StringFlag{ - Name: "network", - Value: "tcp", - Usage: "Network to use for the storage service, can be 'tcp', 'udp' or 'unix'", - EnvVars: []string{"STORAGE_STORAGE_OC_NETWORK"}, - Destination: &cfg.Reva.StorageOC.Network, - }, - &cli.StringFlag{ - Name: "protocol", - Value: "grpc", - Usage: "protocol for storage service, can be 'http' or 'grpc'", - EnvVars: []string{"STORAGE_STORAGE_OC_PROTOCOL"}, - Destination: &cfg.Reva.StorageOC.Protocol, - }, - &cli.StringFlag{ - Name: "addr", - Value: "0.0.0.0:9162", - Usage: "Address to bind storage service", - EnvVars: []string{"STORAGE_STORAGE_OC_ADDR"}, - Destination: &cfg.Reva.StorageOC.Addr, - }, - &cli.StringFlag{ - Name: "url", - Value: "localhost:9162", - Usage: "URL to use for the storage service", - EnvVars: []string{"STORAGE_STORAGE_OC_URL"}, - Destination: &cfg.Reva.StorageOC.URL, - }, - &cli.StringSliceFlag{ - Name: "service", - Value: cli.NewStringSlice("storageprovider"), - Usage: "--service storageprovider [--service otherservice]", - EnvVars: []string{"STORAGE_STORAGE_OC_SERVICES"}, - }, - - &cli.StringFlag{ - Name: "driver", - Value: "owncloud", - Usage: "storage driver for oc mount: eg. local, eos, owncloud, ocis or s3", - EnvVars: []string{"STORAGE_STORAGE_OC_DRIVER"}, - Destination: &cfg.Reva.StorageOC.Driver, - }, - &cli.StringFlag{ - Name: "mount-path", - Value: "/oc", - Usage: "mount path", - EnvVars: []string{"STORAGE_STORAGE_OC_MOUNT_PATH"}, - Destination: &cfg.Reva.StorageOC.MountPath, - }, - &cli.StringFlag{ - Name: "mount-id", - Value: "1284d238-aa92-42ce-bdc4-0b0000009162", - Usage: "mount id", - EnvVars: []string{"STORAGE_STORAGE_OC_MOUNT_ID"}, - Destination: &cfg.Reva.StorageOC.MountID, - }, - &cli.BoolFlag{ - Name: "expose-data-server", - Value: false, - Usage: "exposes a dedicated data server", - EnvVars: []string{"STORAGE_STORAGE_OC_EXPOSE_DATA_SERVER"}, - Destination: &cfg.Reva.StorageOC.ExposeDataServer, - }, - &cli.StringFlag{ - Name: "data-server-url", - Value: "http://localhost:9164/data", - Usage: "data server url", - EnvVars: []string{"STORAGE_STORAGE_OC_DATA_SERVER_URL"}, - Destination: &cfg.Reva.StorageOC.DataServerURL, - }, - - // User provider - - &cli.StringFlag{ - Name: "users-url", - Value: "localhost:9144", - Usage: "URL to use for the storage service", - EnvVars: []string{"STORAGE_USERS_URL"}, - Destination: &cfg.Reva.Users.URL, - }, - } - - flags = append(flags, TracingWithConfig(cfg)...) - flags = append(flags, DebugWithConfig(cfg)...) - flags = append(flags, SecretWithConfig(cfg)...) - flags = append(flags, DriverEOSWithConfig(cfg)...) - flags = append(flags, DriverLocalWithConfig(cfg)...) - flags = append(flags, DriverOwnCloudWithConfig(cfg)...) - flags = append(flags, DriverOCISWithConfig(cfg)...) - - return flags -} diff --git a/storage/pkg/flagset/storageocdata.go b/storage/pkg/flagset/storageocdata.go deleted file mode 100644 index 8e9ba3a9e7..0000000000 --- a/storage/pkg/flagset/storageocdata.go +++ /dev/null @@ -1,111 +0,0 @@ -package flagset - -import ( - "github.com/micro/cli/v2" - "github.com/owncloud/ocis/storage/pkg/config" -) - -// StorageOCDataWithConfig applies cfg to the root flagset -func StorageOCDataWithConfig(cfg *config.Config) []cli.Flag { - flags := []cli.Flag{ - - // debug ports are the odd ports - &cli.StringFlag{ - Name: "debug-addr", - Value: "0.0.0.0:9165", - Usage: "Address to bind debug server", - EnvVars: []string{"STORAGE_STORAGE_OC_DATA_DEBUG_ADDR"}, - Destination: &cfg.Reva.StorageOCData.DebugAddr, - }, - - // Services - - // Storage oc data - - &cli.StringFlag{ - Name: "network", - Value: "tcp", - Usage: "Network to use for the storage service, can be 'tcp', 'udp' or 'unix'", - EnvVars: []string{"STORAGE_STORAGE_OC_DATA_NETWORK"}, - Destination: &cfg.Reva.StorageOCData.Network, - }, - &cli.StringFlag{ - Name: "protocol", - Value: "http", - Usage: "protocol for storage service, can be 'http' or 'grpc'", - EnvVars: []string{"STORAGE_STORAGE_OC_DATA_PROTOCOL"}, - Destination: &cfg.Reva.StorageOCData.Protocol, - }, - &cli.StringFlag{ - Name: "addr", - Value: "0.0.0.0:9164", - Usage: "Address to bind storage service", - EnvVars: []string{"STORAGE_STORAGE_OC_DATA_ADDR"}, - Destination: &cfg.Reva.StorageOCData.Addr, - }, - &cli.StringFlag{ - Name: "url", - Value: "localhost:9164", - Usage: "URL to use for the storage service", - EnvVars: []string{"STORAGE_STORAGE_OC_DATA_URL"}, - Destination: &cfg.Reva.StorageOCData.URL, - }, - &cli.StringSliceFlag{ - Name: "service", - Value: cli.NewStringSlice("dataprovider"), - Usage: "--service dataprovider [--service otherservice]", - EnvVars: []string{"STORAGE_STORAGE_OC_DATA_SERVICES"}, - }, - &cli.StringFlag{ - Name: "driver", - Value: "owncloud", - Usage: "storage driver for oc data mount: eg. local, eos, owncloud, ocis or s3", - EnvVars: []string{"STORAGE_STORAGE_OC_DATA_DRIVER"}, - Destination: &cfg.Reva.StorageOCData.Driver, - }, - &cli.StringFlag{ - Name: "prefix", - Value: "data", - Usage: "prefix for the http endpoint, without leading slash", - EnvVars: []string{"STORAGE_STORAGE_OC_DATA_PREFIX"}, - Destination: &cfg.Reva.StorageOCData.Prefix, - }, - &cli.StringFlag{ - Name: "temp-folder", - Value: "/var/tmp/", - Usage: "temp folder", - EnvVars: []string{"STORAGE_STORAGE_OC_DATA_TEMP_FOLDER"}, - Destination: &cfg.Reva.StorageOCData.TempFolder, - }, - - // Gateway - - &cli.StringFlag{ - Name: "gateway-url", - Value: "localhost:9142", - Usage: "URL to use for the storage gateway service", - EnvVars: []string{"STORAGE_GATEWAY_URL"}, - Destination: &cfg.Reva.Gateway.URL, - }, - - // User provider - - &cli.StringFlag{ - Name: "users-url", - Value: "localhost:9144", - Usage: "URL to use for the storage service", - EnvVars: []string{"STORAGE_USERS_URL"}, - Destination: &cfg.Reva.Users.URL, - }, - } - - flags = append(flags, TracingWithConfig(cfg)...) - flags = append(flags, DebugWithConfig(cfg)...) - flags = append(flags, SecretWithConfig(cfg)...) - flags = append(flags, DriverEOSWithConfig(cfg)...) - flags = append(flags, DriverLocalWithConfig(cfg)...) - flags = append(flags, DriverOwnCloudWithConfig(cfg)...) - flags = append(flags, DriverOCISWithConfig(cfg)...) - - return flags -} diff --git a/storage/pkg/flagset/storagepubliclink.go b/storage/pkg/flagset/storagepubliclink.go index ec373f0fe4..c3e4c505e4 100644 --- a/storage/pkg/flagset/storagepubliclink.go +++ b/storage/pkg/flagset/storagepubliclink.go @@ -13,7 +13,7 @@ func StoragePublicLink(cfg *config.Config) []cli.Flag { Name: "debug-addr", Value: "0.0.0.0:9179", Usage: "Address to bind debug server", - EnvVars: []string{"STORAGE_STORAGE_PUBLIC_LINK_DEBUG_ADDR"}, + EnvVars: []string{"STORAGE_PUBLIC_LINK_DEBUG_ADDR"}, Destination: &cfg.Reva.StoragePublicLink.DebugAddr, }, @@ -21,45 +21,31 @@ func StoragePublicLink(cfg *config.Config) []cli.Flag { Name: "network", Value: "tcp", Usage: "Network to use for the storage service, can be 'tcp', 'udp' or 'unix'", - EnvVars: []string{"STORAGE_STORAGE_PUBLIC_LINK_NETWORK"}, - Destination: &cfg.Reva.StoragePublicLink.Network, - }, - &cli.StringFlag{ - Name: "protocol", - Value: "grpc", - Usage: "protocol for storage service, can be 'http' or 'grpc'", - EnvVars: []string{"STORAGE_STORAGE_PUBLIC_LINK_PROTOCOL"}, - Destination: &cfg.Reva.StoragePublicLink.Protocol, + EnvVars: []string{"STORAGE_PUBLIC_LINK_GRPC_NETWORK"}, + Destination: &cfg.Reva.StoragePublicLink.GRPCNetwork, }, &cli.StringFlag{ Name: "addr", Value: "0.0.0.0:9178", Usage: "Address to bind storage service", - EnvVars: []string{"STORAGE_STORAGE_PUBLIC_LINK_ADDR"}, - Destination: &cfg.Reva.StoragePublicLink.Addr, - }, - &cli.StringFlag{ - Name: "url", - Value: "localhost:9178", - Usage: "Address to bind storage service", - EnvVars: []string{"STORAGE_STORAGE_PUBLIC_LINK_URL"}, - Destination: &cfg.Reva.StoragePublicLink.URL, + EnvVars: []string{"STORAGE_PUBLIC_LINK_GRPC_ADDR"}, + Destination: &cfg.Reva.StoragePublicLink.GRPCAddr, }, &cli.StringFlag{ Name: "mount-path", - Value: "/public/", + Value: "/public", Usage: "mount path", - EnvVars: []string{"STORAGE_STORAGE_PUBLIC_LINK_MOUNT_PATH"}, + EnvVars: []string{"STORAGE_PUBLIC_LINK_MOUNT_PATH"}, Destination: &cfg.Reva.StoragePublicLink.MountPath, }, &cli.StringFlag{ - Name: "gateway-url", + Name: "gateway-endpoint", Value: "localhost:9142", - Usage: "URL to use for the storage gateway service", - EnvVars: []string{"STORAGE_GATEWAY_URL"}, - Destination: &cfg.Reva.Gateway.URL, + Usage: "endpoint to use for the storage gateway service", + EnvVars: []string{"STORAGE_GATEWAY_ENDPOINT"}, + Destination: &cfg.Reva.Gateway.Endpoint, }, } diff --git a/storage/pkg/flagset/storageroot.go b/storage/pkg/flagset/storageroot.go deleted file mode 100644 index 679c77c996..0000000000 --- a/storage/pkg/flagset/storageroot.go +++ /dev/null @@ -1,105 +0,0 @@ -package flagset - -import ( - "github.com/micro/cli/v2" - "github.com/owncloud/ocis/storage/pkg/config" -) - -// StorageRootWithConfig applies cfg to the root flagset -func StorageRootWithConfig(cfg *config.Config) []cli.Flag { - flags := []cli.Flag{ - - // debug ports are the odd ports - &cli.StringFlag{ - Name: "debug-addr", - Value: "0.0.0.0:9153", - Usage: "Address to bind debug server", - EnvVars: []string{"STORAGE_STORAGE_ROOT_DEBUG_ADDR"}, - Destination: &cfg.Reva.StorageRoot.DebugAddr, - }, - - // Services - - // Storage root - - &cli.StringFlag{ - Name: "network", - Value: "tcp", - Usage: "Network to use for the storage service, can be 'tcp', 'udp' or 'unix'", - EnvVars: []string{"STORAGE_STORAGE_ROOT_NETWORK"}, - Destination: &cfg.Reva.StorageRoot.Network, - }, - &cli.StringFlag{ - Name: "protocol", - Value: "grpc", - Usage: "protocol for storage service, can be 'http' or 'grpc'", - EnvVars: []string{"STORAGE_STORAGE_ROOT_PROTOCOL"}, - Destination: &cfg.Reva.StorageRoot.Protocol, - }, - &cli.StringFlag{ - Name: "addr", - Value: "0.0.0.0:9152", - Usage: "Address to bind storage service", - EnvVars: []string{"STORAGE_STORAGE_ROOT_ADDR"}, - Destination: &cfg.Reva.StorageRoot.Addr, - }, - &cli.StringFlag{ - Name: "url", - Value: "localhost:9152", - Usage: "URL to use for the storage service", - EnvVars: []string{"STORAGE_STORAGE_ROOT_URL"}, - Destination: &cfg.Reva.StorageRoot.URL, - }, - &cli.StringSliceFlag{ - Name: "service", - Value: cli.NewStringSlice("storageprovider"), - Usage: "--service storageprovider [--service otherservice]", - EnvVars: []string{"STORAGE_STORAGE_ROOT_SERVICES"}, - }, - - &cli.StringFlag{ - Name: "driver", - Value: "local", - Usage: "storage driver for root mount: eg. local, eos, owncloud, ocis or s3", - EnvVars: []string{"STORAGE_STORAGE_ROOT_DRIVER"}, - Destination: &cfg.Reva.StorageRoot.Driver, - }, - &cli.StringFlag{ - Name: "mount-path", - Value: "/", - Usage: "mount path", - EnvVars: []string{"STORAGE_STORAGE_ROOT_MOUNT_PATH"}, - Destination: &cfg.Reva.StorageRoot.MountPath, - }, - &cli.StringFlag{ - Name: "mount-id", - Value: "123e4567-e89b-12d3-a456-426655440001", - Usage: "mount id", - EnvVars: []string{"STORAGE_STORAGE_ROOT_MOUNT_ID"}, - Destination: &cfg.Reva.StorageRoot.MountID, - }, - &cli.BoolFlag{ - Name: "expose-data-server", - Usage: "exposes a dedicated data server", - EnvVars: []string{"STORAGE_STORAGE_ROOT_EXPOSE_DATA_SERVER"}, - Destination: &cfg.Reva.StorageRoot.ExposeDataServer, - }, - &cli.StringFlag{ - Name: "data-server-url", - Value: "", - Usage: "data server url", - EnvVars: []string{"STORAGE_STORAGE_ROOT_DATA_SERVER_URL"}, - Destination: &cfg.Reva.StorageRoot.DataServerURL, - }, - } - - flags = append(flags, TracingWithConfig(cfg)...) - flags = append(flags, DebugWithConfig(cfg)...) - flags = append(flags, SecretWithConfig(cfg)...) - flags = append(flags, DriverEOSWithConfig(cfg)...) - flags = append(flags, DriverLocalWithConfig(cfg)...) - flags = append(flags, DriverOwnCloudWithConfig(cfg)...) - flags = append(flags, DriverOCISWithConfig(cfg)...) - - return flags -} diff --git a/storage/pkg/flagset/storageusers.go b/storage/pkg/flagset/storageusers.go new file mode 100644 index 0000000000..ae4cbade8d --- /dev/null +++ b/storage/pkg/flagset/storageusers.go @@ -0,0 +1,143 @@ +package flagset + +import ( + "github.com/micro/cli/v2" + "github.com/owncloud/ocis/storage/pkg/config" +) + +// StorageUsersWithConfig applies cfg to the root flagset +func StorageUsersWithConfig(cfg *config.Config) []cli.Flag { + flags := []cli.Flag{ + + // debug ports are the odd ports + &cli.StringFlag{ + Name: "debug-addr", + Value: "0.0.0.0:9159", + Usage: "Address to bind debug server", + EnvVars: []string{"STORAGE_USERS_DEBUG_ADDR"}, + Destination: &cfg.Reva.StorageUsers.DebugAddr, + }, + + // Services + + // Storage home + + &cli.StringFlag{ + Name: "grpc-network", + Value: "tcp", + Usage: "Network to use for the users storage, can be 'tcp', 'udp' or 'unix'", + EnvVars: []string{"STORAGE_USERS_GRPC_NETWORK"}, + Destination: &cfg.Reva.StorageUsers.GRPCNetwork, + }, + &cli.StringFlag{ + Name: "grpc-addr", + Value: "0.0.0.0:9157", + Usage: "GRPC Address to bind users storage", + EnvVars: []string{"STORAGE_USERS_GRPC_ADDR"}, + Destination: &cfg.Reva.StorageUsers.GRPCAddr, + }, + &cli.StringFlag{ + Name: "http-network", + Value: "tcp", + Usage: "Network to use for the storage service, can be 'tcp', 'udp' or 'unix'", + EnvVars: []string{"STORAGE_USERS_HTTP_NETWORK"}, + Destination: &cfg.Reva.StorageUsers.HTTPNetwork, + }, + &cli.StringFlag{ + Name: "http-addr", + Value: "0.0.0.0:9158", + Usage: "HTTP Address to bind users storage", + EnvVars: []string{"STORAGE_USERS_HTTP_ADDR"}, + Destination: &cfg.Reva.StorageUsers.HTTPAddr, + }, + // TODO allow disabling grpc / http services + /* + &cli.StringSliceFlag{ + Name: "grpc-service", + Value: cli.NewStringSlice("storageprovider"), + Usage: "--service storageprovider [--service otherservice]", + EnvVars: []string{"STORAGE_USERS_GRPC_SERVICES"}, + }, + &cli.StringSliceFlag{ + Name: "http-service", + Value: cli.NewStringSlice("dataprovider"), + Usage: "--service dataprovider [--service otherservice]", + EnvVars: []string{"STORAGE_USERS_HTTP_SERVICES"}, + }, + */ + + &cli.StringFlag{ + Name: "driver", + Value: "ocis", + Usage: "storage driver for users mount: eg. local, eos, owncloud, ocis or s3", + EnvVars: []string{"STORAGE_USERS_DRIVER"}, + Destination: &cfg.Reva.StorageUsers.Driver, + }, + &cli.StringFlag{ + Name: "mount-path", + Value: "/users", + Usage: "mount path", + EnvVars: []string{"STORAGE_USERS_MOUNT_PATH"}, + Destination: &cfg.Reva.StorageUsers.MountPath, + }, + &cli.StringFlag{ + Name: "mount-id", + Value: "1284d238-aa92-42ce-bdc4-0b0000009162", // /users + Usage: "mount id", + EnvVars: []string{"STORAGE_USERS_MOUNT_ID"}, + Destination: &cfg.Reva.StorageUsers.MountID, + }, + &cli.BoolFlag{ + Name: "expose-data-server", + Value: false, + Usage: "exposes a dedicated data server", + EnvVars: []string{"STORAGE_USERS_EXPOSE_DATA_SERVER"}, + Destination: &cfg.Reva.StorageUsers.ExposeDataServer, + }, + &cli.StringFlag{ + Name: "data-server-url", + Value: "http://localhost:9158/data", + Usage: "data server url", + EnvVars: []string{"STORAGE_USERS_DATA_SERVER_URL"}, + Destination: &cfg.Reva.StorageUsers.DataServerURL, + }, + &cli.StringFlag{ + Name: "http-prefix", + Value: "data", + Usage: "prefix for the http endpoint, without leading slash", + EnvVars: []string{"STORAGE_USERS_HTTP_PREFIX"}, + Destination: &cfg.Reva.StorageUsers.HTTPPrefix, + }, + + // some drivers need to look up users at the gateway + + // Gateway + + &cli.StringFlag{ + Name: "gateway-endpoint", + Value: "localhost:9142", + Usage: "endpoint to use for the storage gateway service", + EnvVars: []string{"STORAGE_GATEWAY_ENDPOINT"}, + Destination: &cfg.Reva.Gateway.Endpoint, + }, + // User provider + + &cli.StringFlag{ + Name: "users-endpoint", + Value: "localhost:9144", + Usage: "endpoint to use for the storage service", + EnvVars: []string{"STORAGE_USERPROVIDER_ENDPOINT"}, + Destination: &cfg.Reva.Users.Endpoint, + }, + } + + flags = append(flags, TracingWithConfig(cfg)...) + flags = append(flags, DebugWithConfig(cfg)...) + flags = append(flags, SecretWithConfig(cfg)...) + flags = append(flags, DriverEOSWithConfig(cfg)...) + flags = append(flags, DriverLocalWithConfig(cfg)...) + flags = append(flags, DriverOwnCloudWithConfig(cfg)...) + flags = append(flags, DriverOCISWithConfig(cfg)...) + + return flags +} diff --git a/storage/pkg/flagset/users.go b/storage/pkg/flagset/users.go index 0ce28b5976..b22c3a35c7 100644 --- a/storage/pkg/flagset/users.go +++ b/storage/pkg/flagset/users.go @@ -20,55 +20,48 @@ func UsersWithConfig(cfg *config.Config) []cli.Flag { // Services - // Users + // Userprovider &cli.StringFlag{ Name: "network", Value: "tcp", Usage: "Network to use for the storage service, can be 'tcp', 'udp' or 'unix'", - EnvVars: []string{"STORAGE_USERS_NETWORK"}, - Destination: &cfg.Reva.Users.Network, - }, - &cli.StringFlag{ - Name: "protocol", - Value: "grpc", - Usage: "protocol for storage service, can be 'http' or 'grpc'", - EnvVars: []string{"STORAGE_USERS_PROTOCOL"}, - Destination: &cfg.Reva.Users.Protocol, + EnvVars: []string{"STORAGE_USERPROVIDER_NETWORK"}, + Destination: &cfg.Reva.Users.GRPCNetwork, }, &cli.StringFlag{ Name: "addr", Value: "0.0.0.0:9144", Usage: "Address to bind storage service", - EnvVars: []string{"STORAGE_USERS_ADDR"}, - Destination: &cfg.Reva.Users.Addr, + EnvVars: []string{"STORAGE_USERPROVIDER_ADDR"}, + Destination: &cfg.Reva.Users.GRPCAddr, }, &cli.StringFlag{ - Name: "url", + Name: "endpoint", Value: "localhost:9144", Usage: "URL to use for the storage service", - EnvVars: []string{"STORAGE_USERS_URL"}, - Destination: &cfg.Reva.Users.URL, + EnvVars: []string{"STORAGE_USERPROVIDER_ENDPOINT"}, + Destination: &cfg.Reva.Users.Endpoint, }, &cli.StringSliceFlag{ Name: "service", Value: cli.NewStringSlice("userprovider"), // TODO preferences Usage: "--service userprovider [--service otherservice]", - EnvVars: []string{"STORAGE_USERS_SERVICES"}, + EnvVars: []string{"STORAGE_USERPROVIDER_SERVICES"}, }, &cli.StringFlag{ Name: "driver", Value: "ldap", Usage: "user driver: 'demo', 'json', 'ldap', or 'rest'", - EnvVars: []string{"STORAGE_USERS_DRIVER"}, + EnvVars: []string{"STORAGE_USERPROVIDER_DRIVER"}, Destination: &cfg.Reva.Users.Driver, }, &cli.StringFlag{ Name: "json-config", Value: "", Usage: "Path to users.json file", - EnvVars: []string{"STORAGE_USERS_JSON"}, + EnvVars: []string{"STORAGE_USERPROVIDER_JSON"}, Destination: &cfg.Reva.Users.JSON, },