From 76632d927ef0db2ea85f31c9ca6319a03e6e0f64 Mon Sep 17 00:00:00 2001 From: jannfis Date: Tue, 29 Jun 2021 16:52:43 +0200 Subject: [PATCH 01/93] chore: Upgrade golang dependencies to latest versions (#6592) Signed-off-by: jannfis --- go.mod | 8 +++--- go.sum | 84 +++++++++++++++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 81 insertions(+), 11 deletions(-) diff --git a/go.mod b/go.mod index 5755b4ea68789..64e01363a29cb 100644 --- a/go.mod +++ b/go.mod @@ -61,11 +61,11 @@ require ( github.com/undefinedlabs/go-mpatch v1.0.6 github.com/vmihailenco/msgpack/v5 v5.1.0 // indirect github.com/yuin/gopher-lua v0.0.0-20200816102855-ee81675732da - golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83 - golang.org/x/net v0.0.0-20210224082022-3d97a244fca7 - golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d + golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e + golang.org/x/net v0.0.0-20210614182718-04defd469f4e + golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914 golang.org/x/sync v0.0.0-20210220032951-036812b2e83c - golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d + golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b google.golang.org/genproto v0.0.0-20201110150050-8816d57aaa9a google.golang.org/grpc v1.33.1 gopkg.in/go-playground/webhooks.v5 v5.11.0 diff --git a/go.sum b/go.sum index 4b4976011ad95..91a94d3ae6ac1 100644 --- a/go.sum +++ b/go.sum @@ -10,20 +10,30 @@ cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6T cloud.google.com/go v0.51.0/go.mod h1:hWtGJ6gnXH+KgDv+V0zFGDvpi07n3z8ZNj3T1RW0Gcw= cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= -cloud.google.com/go v0.54.0 h1:3ithwDMr7/3vpAMXiH+ZQnYbuIsh+OPhUPMFC9enmn0= cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= +cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= +cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= +cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= +cloud.google.com/go v0.65.0 h1:Dg9iHVQfrhq82rUNu9ZxUDrJLaxFUe/HlCVaLyRruq8= +cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= +cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= +cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= +cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= +cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= +cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= +cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= dmitri.shuralyov.com/gpu/mtl v0.0.0-20201218220906-28db891af037/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/Azure/azure-sdk-for-go v43.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= @@ -341,6 +351,7 @@ github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfb github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= github.com/golang/mock v1.5.0 h1:jlYHihg//f7RRwuPfptm04yp4s7O6Kw8EZiVYIGcH0g= github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= @@ -357,7 +368,9 @@ github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5a github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4 h1:L8R9j+yAqZuZjsqh/z+F1NCffTKKLShY6zXTItVIZ8M= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= @@ -371,11 +384,14 @@ github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/ github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g= github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= @@ -747,7 +763,9 @@ github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q github.com/xlab/treeprint v0.0.0-20181112141820-a009c3971eca h1:1CFlNzQhALwjS9mBAUkycX616GzgsuYUOCHA5+HSlXI= github.com/xlab/treeprint v0.0.0-20181112141820-a009c3971eca/go.mod h1:ce1O1j6UtZfjr22oyGxGLbauSBp2YVXpARAosm7dHBg= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= +github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/gopher-lua v0.0.0-20200816102855-ee81675732da h1:NimzV1aGyq29m5ukMK0AMWEhFaL/lrEOaephfuoiARg= github.com/yuin/gopher-lua v0.0.0-20200816102855-ee81675732da/go.mod h1:E1AXubJBdNmFERAOucpDIxNzeGfLzg0mYh+UfMWdChA= @@ -763,6 +781,7 @@ go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opentelemetry.io/otel v0.13.0 h1:2isEnyzjjJZq6r2EKMsFj4TxiQiexsM04AVhwbR/oBA= go.opentelemetry.io/otel v0.13.0/go.mod h1:dlSNewoRYikTkotEnxdmuBHgzT+k/idJSfDv/FxEnOY= go.starlark.net v0.0.0-20200306205701-8dd3e2ee1dd5 h1:+FNtrFTmVw0YZGpBGX56XDee331t6JAXeK2bcyhLOOc= @@ -797,8 +816,9 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83 h1:/ZScEX8SfEmUGRHs0gxpqteO5nfNW6axyZbBdw9A12g= golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e h1:gsTQYXdTw2Gq7RBsWvlQ91b+aEQ6bXFUngBGuR8sPpI= +golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -861,6 +881,7 @@ golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -873,7 +894,13 @@ golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201006153459-a7d1128ccaa0/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= @@ -881,20 +908,25 @@ golang.org/x/net v0.0.0-20201022231255-08b38378de70/go.mod h1:sp8m0HH+o8qH0wwXwY golang.org/x/net v0.0.0-20201024042810-be3efd7ff127/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210224082022-3d97a244fca7 h1:OgUuv8lsRpBibGNbSizVwKWlysjaNzmC9gYMhPVfqFM= golang.org/x/net v0.0.0-20210224082022-3d97a244fca7/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210614182718-04defd469f4e h1:XpT3nA5TvE525Ne3hInMh6+GETgn27Zfm9dxsThnX2Q= +golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d h1:TzXSXBo42m9gQenoE3b9BGiEpg5IG2JkU5FkPIawgtw= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914 h1:3B43BWw0xEBsLZ/NO1VALz6fppU3481pik+2Ksv45z8= +golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -948,8 +980,14 @@ golang.org/x/sys v0.0.0-20200217220822-9197077df867/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200916030750-2334cc1a136f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -957,19 +995,23 @@ golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210301091718-77cc2087c03b h1:kHlr0tATeLRMEiZJu5CknOw/E8V6h69sXXQFGoPtjcc= golang.org/x/sys v0.0.0-20210301091718-77cc2087c03b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1 h1:SrN+KX8Art/Sf4HNj6Zcz06G7VEz+7w9tdXTPOZ7+l4= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d h1:SZxvLBoTP5yHO3Frd4z4vrF+DBX9vMVanchswa69toE= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b h1:9zKuko04nR4gjZ4+DNjHqRlAJqbJETHwiNKDqTfOjfE= +golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= 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= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.4 h1:0YWbFKbhXG/wIiuHDSKpS0Iy7FSA+u45VtBMfQcFTTc= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.6 h1:aRYxNxv6iGQlyVaZmk6ZgYEDa+Jg18DxebPSrd6bg1M= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1021,9 +1063,19 @@ golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0 h1:po9/4sTYwZU9lPhi1tOrb4hCv3qrhiQ77LZfGa2OjwY= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= @@ -1050,7 +1102,13 @@ google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsb google.golang.org/api v0.15.1-0.20200106000736-b8fc810ca6b5/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= +google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -1077,13 +1135,24 @@ google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvx google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= +google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201110150050-8816d57aaa9a h1:pOwg4OoaRYScjmR4LlLgdtnyoHYTSAVhhqe5uPdpII8= google.golang.org/genproto v0.0.0-20201110150050-8816d57aaa9a/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/grpc v1.15.0 h1:Az/KuahOM4NAidTEuJCv/RonAA7rYsTPkqXVjr+8OOw= google.golang.org/grpc v1.15.0/go.mod h1:0JHn/cJsOMiMfNA9+DeHDlAU7KAAB5GDlYFpa9MZMio= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= @@ -1140,6 +1209,7 @@ honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= k8s.io/api v0.21.0 h1:gu5iGF4V6tfVCQ/R+8Hc0h7H1JuEhzyEi9S4R5LM8+Y= k8s.io/api v0.21.0/go.mod h1:+YbrhBBGgsxbF6o6Kj4KJPJnBmAKuXDeS3E18bgHNVU= k8s.io/apiextensions-apiserver v0.21.0 h1:Nd4uBuweg6ImzbxkC1W7xUNZcCV/8Vt10iTdTIVF3hw= From 1d0b5fc7ecabfd511829f81df0b0e9cc0ca29a7f Mon Sep 17 00:00:00 2001 From: jannfis Date: Tue, 29 Jun 2021 16:52:56 +0200 Subject: [PATCH 02/93] docs: Update security policy (#6593) Signed-off-by: jannfis --- SECURITY.md | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/SECURITY.md b/SECURITY.md index 1181cf58d469e..9e810916a19c8 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -1,6 +1,6 @@ # Security Policy for Argo CD -Version: **v1.0 (2020-02-26)** +Version: **v1.1 (2020-06-29)** ## Preface @@ -8,6 +8,27 @@ As a deployment tool, Argo CD needs to have production access which makes security a very important topic. The Argoproj team takes security very seriously and is continuously working on improving it. +## A word about security scanners + +Many organisations these days employ security scanners to validate their +container images before letting them on their clusters, and that is a good +thing. However, the quality and results of these scanners vary greatly, +many of them produce false positives and require people to look at the +issues reported and validate them for correctness. A great example of that +is, that some scanners report kernel vulnerabilities for container images +just because they are derived from some distribution. + +We kindly ask you to not raise issues or contact us regarding any issues +that are found by your security scanner. Many of those produce a lot of false +positives, and many of these issues don't affect Argo CD. We do have scanners +in place for our code, dependencies and container images that we publish. We +are well aware of the issues that may affect Argo CD and are constantly +working on the remediation of those that affect Argo CD and our users. + +If you believe that we might have missed an issue that we should take a look +at (that can happen), then please discuss it with us. But please, do validate +that assumption before at least roughly. + ## Supported Versions We currently support the most recent release (`N`, e.g. `1.8`) and the release From 5bd2f61c56cfe36081e31aa241f5fb89a5092b1f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 29 Jun 2021 09:43:09 -0700 Subject: [PATCH 03/93] chore(deps): bump color-string from 1.5.3 to 1.5.5 in /ui (#6586) Bumps [color-string](https://github.com/Qix-/color-string) from 1.5.3 to 1.5.5. - [Release notes](https://github.com/Qix-/color-string/releases) - [Changelog](https://github.com/Qix-/color-string/blob/master/CHANGELOG.md) - [Commits](https://github.com/Qix-/color-string/commits/1.5.5) --- updated-dependencies: - dependency-name: color-string dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- ui/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ui/yarn.lock b/ui/yarn.lock index 8228512bdfd76..d19b752761db2 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -2736,9 +2736,9 @@ color-name@^1.0.0, color-name@~1.1.4: integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== color-string@^1.5.2: - version "1.5.3" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc" - integrity sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw== + version "1.5.5" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.5.tgz#65474a8f0e7439625f3d27a6a19d89fc45223014" + integrity sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg== dependencies: color-name "^1.0.0" simple-swizzle "^0.2.2" From 4a4b43f1d204236d1c9392f6076b292378bfe8a3 Mon Sep 17 00:00:00 2001 From: Jonathan West Date: Tue, 29 Jun 2021 16:32:21 -0400 Subject: [PATCH 04/93] fix: unable to delete an Application if its target cluster is deleted, Argo CD enters infinite app deletion reconciliation loop (#6557) Signed-off-by: Jonathan West --- controller/appcontroller.go | 129 +++++++++++++++---------- controller/appcontroller_test.go | 43 ++++++--- pkg/apis/application/v1alpha1/types.go | 10 +- util/argo/argo.go | 12 ++- 4 files changed, 125 insertions(+), 69 deletions(-) diff --git a/controller/appcontroller.go b/controller/appcontroller.go index 952d8a4053452..b5850e2049db2 100644 --- a/controller/appcontroller.go +++ b/controller/appcontroller.go @@ -812,79 +812,100 @@ func (ctrl *ApplicationController) finalizeApplicationDeletion(app *appv1.Applic return nil, err } - err = argo.ValidateDestination(context.Background(), &app.Spec.Destination, ctrl.db) - if err != nil { - return nil, err - } + // validDestination is true if the Application destination points to a cluster that is managed by Argo CD + // (and thus either a cluster secret exists for it, or it's local); validDestination is false otherwise. + validDestination := true - objsMap, err := ctrl.getPermittedAppLiveObjects(app, proj) - if err != nil { - return nil, err + // Validate the cluster using the Application destination's `name` field, if applicable, + // and set the Server field, if needed. + if err := argo.ValidateDestination(context.Background(), &app.Spec.Destination, ctrl.db); err != nil { + log.Warnf("Unable to validate destination of the Application being deleted: %v", err) + validDestination = false } objs := make([]*unstructured.Unstructured, 0) - for k := range objsMap { - // Wait for objects pending deletion to complete before proceeding with next sync wave - if objsMap[k].GetDeletionTimestamp() != nil { - logCtx.Infof("%d objects remaining for deletion", len(objsMap)) - return objs, nil - } - if ctrl.shouldBeDeleted(app, objsMap[k]) { - objs = append(objs, objsMap[k]) + var cluster *appv1.Cluster + + // Attempt to validate the destination via its URL + if validDestination { + if cluster, err = ctrl.db.GetCluster(context.Background(), app.Spec.Destination.Server); err != nil { + log.Warnf("Unable to locate cluster URL for Application being deleted: %v", err) + validDestination = false } } - cluster, err := ctrl.db.GetCluster(context.Background(), app.Spec.Destination.Server) - if err != nil { - return nil, err - } - config := metrics.AddMetricsTransportWrapper(ctrl.metricsServer, app, cluster.RESTConfig()) + if validDestination { + // ApplicationDestination points to a valid cluster, so we may clean up the live objects - filteredObjs := FilterObjectsForDeletion(objs) + objsMap, err := ctrl.getPermittedAppLiveObjects(app, proj) + if err != nil { + return nil, err + } - propagationPolicy := metav1.DeletePropagationForeground - if app.GetPropagationPolicy() == appv1.BackgroundPropagationPolicyFinalizer { - propagationPolicy = metav1.DeletePropagationBackground - } - logCtx.Infof("Deleting application's resources with %s propagation policy", propagationPolicy) + for k := range objsMap { + // Wait for objects pending deletion to complete before proceeding with next sync wave + if objsMap[k].GetDeletionTimestamp() != nil { + logCtx.Infof("%d objects remaining for deletion", len(objsMap)) + return objs, nil + } - err = kube.RunAllAsync(len(filteredObjs), func(i int) error { - obj := filteredObjs[i] - return ctrl.kubectl.DeleteResource(context.Background(), config, obj.GroupVersionKind(), obj.GetName(), obj.GetNamespace(), metav1.DeleteOptions{PropagationPolicy: &propagationPolicy}) - }) - if err != nil { - return objs, err - } + if ctrl.shouldBeDeleted(app, objsMap[k]) { + objs = append(objs, objsMap[k]) + } + } - objsMap, err = ctrl.getPermittedAppLiveObjects(app, proj) - if err != nil { - return nil, err - } + config := metrics.AddMetricsTransportWrapper(ctrl.metricsServer, app, cluster.RESTConfig()) - for k, obj := range objsMap { - if !ctrl.shouldBeDeleted(app, obj) { - delete(objsMap, k) + filteredObjs := FilterObjectsForDeletion(objs) + + propagationPolicy := metav1.DeletePropagationForeground + if app.GetPropagationPolicy() == appv1.BackgroundPropagationPolicyFinalizer { + propagationPolicy = metav1.DeletePropagationBackground + } + logCtx.Infof("Deleting application's resources with %s propagation policy", propagationPolicy) + + err = kube.RunAllAsync(len(filteredObjs), func(i int) error { + obj := filteredObjs[i] + return ctrl.kubectl.DeleteResource(context.Background(), config, obj.GroupVersionKind(), obj.GetName(), obj.GetNamespace(), metav1.DeleteOptions{PropagationPolicy: &propagationPolicy}) + }) + if err != nil { + return objs, err + } + + objsMap, err = ctrl.getPermittedAppLiveObjects(app, proj) + if err != nil { + return nil, err + } + + for k, obj := range objsMap { + if !ctrl.shouldBeDeleted(app, obj) { + delete(objsMap, k) + } + } + if len(objsMap) > 0 { + logCtx.Infof("%d objects remaining for deletion", len(objsMap)) + return objs, nil } } - if len(objsMap) > 0 { - logCtx.Infof("%d objects remaining for deletion", len(objsMap)) - return objs, nil - } - err = ctrl.cache.SetAppManagedResources(app.Name, nil) - if err != nil { + + if err := ctrl.cache.SetAppManagedResources(app.Name, nil); err != nil { return objs, err } - err = ctrl.cache.SetAppResourcesTree(app.Name, nil) - if err != nil { + + if err := ctrl.cache.SetAppResourcesTree(app.Name, nil); err != nil { return objs, err } - err = ctrl.removeCascadeFinalizer(app) - if err != nil { + if err := ctrl.removeCascadeFinalizer(app); err != nil { return objs, err } - logCtx.Infof("Successfully deleted %d resources", len(objs)) + if validDestination { + logCtx.Infof("Successfully deleted %d resources", len(objs)) + } else { + logCtx.Infof("Resource entries removed from undefined cluster") + } + ctrl.projectRefreshQueue.Add(fmt.Sprintf("%s/%s", app.Namespace, app.Spec.GetProject())) return objs, nil } @@ -1546,6 +1567,12 @@ func (ctrl *ApplicationController) newApplicationInformerAndLister() (cache.Shar cache.NamespaceIndex: func(obj interface{}) ([]string, error) { app, ok := obj.(*appv1.Application) if ok { + // This call to 'ValidateDestination' ensures that the .spec.destination field of all Applications + // returned by the informer/lister will have server field set (if not already set) based on the name. + // (or, if not found, an error app condition) + + // If the server field is not set, set it based on the cluster name; if the cluster name can't be found, + // log an error as an App Condition. if err := argo.ValidateDestination(context.Background(), &app.Spec.Destination, ctrl.db); err != nil { ctrl.setAppCondition(app, appv1.ApplicationCondition{Type: appv1.ApplicationConditionInvalidSpecError, Message: err.Error()}) } diff --git a/controller/appcontroller_test.go b/controller/appcontroller_test.go index c7abb22c3d289..55b5b34c0d097 100644 --- a/controller/appcontroller_test.go +++ b/controller/appcontroller_test.go @@ -634,26 +634,43 @@ func TestFinalizeAppDeletion(t *testing.T) { assert.True(t, patched) }) - t.Run("ErrorOnBothDestNameAndServer", func(t *testing.T) { - app := newFakeAppWithDestMismatch() - appObj := kube.MustToUnstructured(&app) - ctrl := newFakeController(&fakeData{apps: []runtime.Object{app, &defaultProj}, managedLiveObjs: map[kube.ResourceKey]*unstructured.Unstructured{ - kube.GetResourceKey(appObj): appObj, - }}) - fakeAppCs := ctrl.applicationClientset.(*appclientset.Clientset) - func() { - fakeAppCs.Lock() - defer fakeAppCs.Unlock() + // Create an Application with a cluster that doesn't exist + // Ensure it can be deleted. + t.Run("DeleteWithInvalidClusterName", func(t *testing.T) { + + appTemplate := newFakeAppWithDestName() + testShouldDelete := func(app *argoappv1.Application) { + appObj := kube.MustToUnstructured(&app) + ctrl := newFakeController(&fakeData{apps: []runtime.Object{app, &defaultProj}, managedLiveObjs: map[kube.ResourceKey]*unstructured.Unstructured{ + kube.GetResourceKey(appObj): appObj, + }}) + + fakeAppCs := ctrl.applicationClientset.(*appclientset.Clientset) defaultReactor := fakeAppCs.ReactionChain[0] fakeAppCs.ReactionChain = nil fakeAppCs.AddReactor("get", "*", func(action kubetesting.Action) (handled bool, ret runtime.Object, err error) { return defaultReactor.React(action) }) - }() - _, err := ctrl.finalizeApplicationDeletion(app) - assert.EqualError(t, err, "application destination can't have both name and server defined: another-cluster https://localhost:6443") + _, err := ctrl.finalizeApplicationDeletion(app) + assert.NoError(t, err) + } + + app1 := appTemplate.DeepCopy() + app1.Spec.Destination.Server = "https://invalid" + testShouldDelete(app1) + + app2 := appTemplate.DeepCopy() + app2.Spec.Destination.Name = "invalid" + testShouldDelete(app2) + + app3 := appTemplate.DeepCopy() + app3.Spec.Destination.Name = "invalid" + app3.Spec.Destination.Server = "https://invalid" + testShouldDelete(app3) + }) + } // TestNormalizeApplication verifies we normalize an application during reconciliation diff --git a/pkg/apis/application/v1alpha1/types.go b/pkg/apis/application/v1alpha1/types.go index 7280274ec165a..17cb7c57e7a90 100644 --- a/pkg/apis/application/v1alpha1/types.go +++ b/pkg/apis/application/v1alpha1/types.go @@ -2396,13 +2396,19 @@ func (r ResourceDiff) TargetObject() (*unstructured.Unstructured, error) { return UnmarshalToUnstructured(r.TargetState) } -// TODO: document this method +// SetInferredServer sets the Server field of the destination. See IsServerInferred() for details. func (d *ApplicationDestination) SetInferredServer(server string) { + d.isServerInferred = true d.Server = server } -// TODO: document this method +// An ApplicationDestination has an 'inferred server' if the ApplicationDestination +// contains a Name, but not a Server URL. In this case it is necessary to retrieve +// the Server URL by looking up the cluster name. +// +// As of this writing, looking up the cluster name, and setting the URL, is +// performed by 'utils.ValidateDestination(...)', which then calls SetInferredServer. func (d *ApplicationDestination) IsServerInferred() bool { return d.isServerInferred } diff --git a/util/argo/argo.go b/util/argo/argo.go index 6e4b5a23235cd..9ebe7129400d4 100644 --- a/util/argo/argo.go +++ b/util/argo/argo.go @@ -289,9 +289,15 @@ func enrichSpec(spec *argoappv1.ApplicationSpec, appDetails *apiclient.RepoAppDe } } -// ValidateDestination checks: -// if we used destination name we infer the server url -// if we used both name and server then we return an invalid spec error +// ValidateDestination sets the 'Server' value of the ApplicationDestination, if it is not set. +// NOTE: this function WILL write to the object pointed to by the 'dest' parameter. +// +// If an ApplicationDestination has a Name field, but has an empty Server (URL) field, +// ValidationDestination will look up the cluster by name (to get the server URL), and +// set the corresponding Server field value. +// +// It also checks: +// - If we used both name and server then we return an invalid spec error func ValidateDestination(ctx context.Context, dest *argoappv1.ApplicationDestination, db db.ArgoDB) error { if dest.Name != "" { if dest.Server == "" { From 9f1af587eee5d4936df1a8a4d6a324388d2a89d1 Mon Sep 17 00:00:00 2001 From: Alexander Matyushentsev Date: Wed, 30 Jun 2021 14:44:23 -0700 Subject: [PATCH 05/93] refactor: upgrade gitops engine (#6578) (#6606) Signed-off-by: Alexander Matyushentsev --- go.mod | 2 +- go.sum | 4 ++-- test/e2e/app_management_test.go | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/go.mod b/go.mod index 64e01363a29cb..7491ddebada13 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ require ( github.com/TomOnTime/utfutil v0.0.0-20180511104225-09c41003ee1d github.com/alicebob/miniredis v2.5.0+incompatible github.com/alicebob/miniredis/v2 v2.14.2 - github.com/argoproj/gitops-engine v0.3.1-0.20210617175936-b067bd7463e7 + github.com/argoproj/gitops-engine v0.3.1-0.20210630192200-2c97a96cab1b github.com/argoproj/pkg v0.9.1-0.20210512035321-be5ba22dca5b github.com/bombsimon/logrusr v1.0.0 github.com/bradleyfalzon/ghinstallation v1.1.1 diff --git a/go.sum b/go.sum index 91a94d3ae6ac1..0158e72116a3a 100644 --- a/go.sum +++ b/go.sum @@ -96,8 +96,8 @@ github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/argoproj/gitops-engine v0.3.1-0.20210617175936-b067bd7463e7 h1:fFenR8EqAJRV9HBRQEd37fntfYXxH9xkVAB4+qJBZwY= -github.com/argoproj/gitops-engine v0.3.1-0.20210617175936-b067bd7463e7/go.mod h1:EdFe8qIOqsmbyxRhtIydU4BUeyZ4VTsY6R3XVQhU9LA= +github.com/argoproj/gitops-engine v0.3.1-0.20210630192200-2c97a96cab1b h1:VkznBAx+KwLn6FLZHpgk1i8oQqwrcGe9nWYXTJSpICc= +github.com/argoproj/gitops-engine v0.3.1-0.20210630192200-2c97a96cab1b/go.mod h1:EdFe8qIOqsmbyxRhtIydU4BUeyZ4VTsY6R3XVQhU9LA= github.com/argoproj/pkg v0.9.1-0.20210512035321-be5ba22dca5b h1:qtlM7ioAFP40LPN7A5ZqquVmAtv08LLSZTcCNYUQx8s= github.com/argoproj/pkg v0.9.1-0.20210512035321-be5ba22dca5b/go.mod h1:ra+bQPmbVAoEL+gYSKesuigt4m49i3Qa3mE/xQcjCiA= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= diff --git a/test/e2e/app_management_test.go b/test/e2e/app_management_test.go index ad06558c5bec4..10d10014fcd4d 100644 --- a/test/e2e/app_management_test.go +++ b/test/e2e/app_management_test.go @@ -1588,7 +1588,7 @@ func TestSyncOptionReplace(t *testing.T) { Then(). Expect(SyncStatusIs(SyncStatusCodeSynced)). And(func(app *Application) { - assert.Equal(t, app.Status.OperationState.SyncResult.Resources[0].Message, "ConfigMap/my-map created") + assert.Equal(t, app.Status.OperationState.SyncResult.Resources[0].Message, "configmap/my-map created") }). When(). Sync(). From 2a410187565e15633b6f2a8c8d8da22cf02b257d Mon Sep 17 00:00:00 2001 From: Remington Breeze Date: Wed, 30 Jun 2021 17:29:22 -0700 Subject: [PATCH 06/93] feat(ui): Improved applications list filters (#6091) Signed-off-by: Remington Breeze --- ui/package.json | 2 + .../applications-list/applications-filter.tsx | 373 +++++++-------- .../applications-list/applications-list.scss | 101 ++-- .../applications-list/applications-list.tsx | 16 +- .../applications-list/flex-top-bar.scss | 2 +- .../components/filter/filter.scss | 39 ++ .../applications/components/filter/filter.tsx | 112 +++++ ui/src/app/applications/components/utils.tsx | 18 +- ui/yarn.lock | 447 +++++++++++++++++- 9 files changed, 790 insertions(+), 320 deletions(-) create mode 100644 ui/src/app/applications/components/filter/filter.scss create mode 100644 ui/src/app/applications/components/filter/filter.tsx diff --git a/ui/package.json b/ui/package.json index b2ea548c6bdda..3d30b377d2daa 100644 --- a/ui/package.json +++ b/ui/package.json @@ -10,6 +10,7 @@ "test": "jest" }, "dependencies": { + "@reactivex/rxjs": "^6.6.7", "@types/classnames": "^2.2.3", "@types/cookie": "^0.3.1", "@types/dagre": "^0.7.40", @@ -28,6 +29,7 @@ "@types/react-router-dom": "^4.2.3", "@types/superagent": "^3.5.7", "argo-ui": "git+https://github.com/argoproj/argo-ui.git", + "argo-ux": "^1.1.15", "classnames": "^2.2.5", "color": "^3.1.0", "cookie": "^0.3.1", diff --git a/ui/src/app/applications/components/applications-list/applications-filter.tsx b/ui/src/app/applications/components/applications-list/applications-filter.tsx index bc483b8bdc7ea..07a68f4e9e798 100644 --- a/ui/src/app/applications/components/applications-list/applications-filter.tsx +++ b/ui/src/app/applications/components/applications-list/applications-filter.tsx @@ -1,232 +1,113 @@ -import {Checkbox, DataLoader, Tooltip} from 'argo-ui'; -import * as classNames from 'classnames'; +import {ActionButton, debounce, useData} from 'argo-ux'; import * as React from 'react'; - -import {TagsInput} from '../../../shared/components'; -import * as models from '../../../shared/models'; +import {Application, ApplicationDestination, Cluster, HealthStatusCode, HealthStatuses, SyncStatusCode, SyncStatuses} from '../../../shared/models'; import {AppsListPreferences, services} from '../../../shared/services'; +import {Filter} from '../filter/filter'; +import {ComparisonStatusIcon, HealthStatusIcon} from '../utils'; + +const optionsFrom = (options: string[], filter: string[]) => { + return options + .filter(s => filter.indexOf(s) === -1) + .map(item => { + return {label: item}; + }); +}; -export interface ApplicationsFilterProps { - clusters: models.Cluster[]; - applications: models.Application[]; +interface AppFilterProps { + apps: Application[]; pref: AppsListPreferences; - onChange: (pref: AppsListPreferences) => any; + onChange: (newPrefs: AppsListPreferences) => void; } -const maxFilterItemsCount = 10; - -class ItemsFilter extends React.Component< - { - items: {name: string; count: number}[]; - type: string; - selected: string[]; - onChange: (selected: string[]) => any; - }, - { - expanded: boolean; - } -> { - constructor(props: any) { - super(props); - this.state = {expanded: false}; +const getCounts = (apps: Application[], filter: (app: Application) => string, init?: string[]) => { + const map = new Map(); + if (init) { + init.forEach(key => map.set(key, 0)); } + apps.filter(filter).forEach(app => map.set(filter(app), (map.get(filter(app)) || 0) + 1)); + return map; +}; - public render() { - const unavailableSelected = this.props.selected.filter(selected => !this.props.items.some(item => item.name === selected)); - const items = this.props.items.sort((first, second) => (first.name > second.name ? 1 : -1)).concat(unavailableSelected.map(selected => ({name: selected, count: 0}))); - return ( - -
    - {items.map(item => ( -
  • -
    - -1} - id={`filter-${this.props.type}-${item.name}`} - onChange={() => { - const newSelected = this.props.selected.slice(); - const index = newSelected.indexOf(item.name); - if (index > -1) { - newSelected.splice(index, 1); - } else { - newSelected.push(item.name); - } - this.props.onChange(newSelected); - }} - />{' '} - -
    {' '} - {item.count} -
  • - ))} -
- {items.length > maxFilterItemsCount && this.setState({expanded: !this.state.expanded})}>{this.state.expanded ? 'collapse' : 'expand'}} -
- ); - } -} +const getOptions = (apps: Application[], filter: (app: Application) => string, keys: string[], getIcon?: (k: string) => React.ReactNode) => { + const counts = getCounts(apps, filter, keys); + return keys.map(k => { + return { + label: k, + icon: getIcon && getIcon(k), + count: counts.get(k) + }; + }); +}; + +const SyncFilter = (props: AppFilterProps) => ( + props.onChange({...props.pref, syncFilter: s})} + options={getOptions(props.apps, app => app.status.sync.status, Object.keys(SyncStatuses), s => ( + + ))} + /> +); -function getLabelsSuggestions(labels: Map>) { +const HealthFilter = (props: AppFilterProps) => ( + props.onChange({...props.pref, healthFilter: s})} + options={getOptions(props.apps, app => app.status.health.status, Object.keys(HealthStatuses), s => ( + + ))} + /> +); + +const LabelsFilter = (props: AppFilterProps) => { + const labels = new Map>(); + props.apps + .filter(app => app.metadata && app.metadata.labels) + .forEach(app => + Object.keys(app.metadata.labels).forEach(label => { + let values = labels.get(label); + if (!values) { + values = new Set(); + labels.set(label, values); + } + values.add(app.metadata.labels[label]); + }) + ); const suggestions = new Array(); Array.from(labels.entries()).forEach(([label, values]) => { suggestions.push(label); values.forEach(val => suggestions.push(`${label}=${val}`)); }); - return suggestions; -} + const labelOptions = suggestions.map(s => { + return {label: s}; + }); -export class ApplicationsFilter extends React.Component { - constructor(props: ApplicationsFilterProps) { - super(props); - this.state = {expanded: false}; - } + return props.onChange({...props.pref, labelsFilter: s})} field={true} options={labelOptions} />; +}; - public render() { - const {applications, pref, onChange} = this.props; - - const sync = new Map(); - Object.keys(models.SyncStatuses).forEach(key => sync.set(models.SyncStatuses[key], 0)); - applications.filter(app => app.status.sync.status).forEach(app => sync.set(app.status.sync.status, (sync.get(app.status.sync.status) || 0) + 1)); - const health = new Map(); - Object.keys(models.HealthStatuses).forEach(key => health.set(models.HealthStatuses[key], 0)); - applications.filter(app => app.status.health.status).forEach(app => health.set(app.status.health.status, (health.get(app.status.health.status) || 0) + 1)); - const labels = new Map>(); - applications - .filter(app => app.metadata && app.metadata.labels) - .forEach(app => - Object.keys(app.metadata.labels).forEach(label => { - let values = labels.get(label); - if (!values) { - values = new Set(); - labels.set(label, values); - } - values.add(app.metadata.labels[label]); - }) - ); - - const filtersCount = AppsListPreferences.countEnabledFilters(pref); - - return ( -
{ - if (window.innerWidth < 1440) { - this.setState({expanded: !this.state.expanded}); - } - }}> -
- - - -
-
- {filtersCount} Filter{filtersCount === 1 ? '' : 's'} - - { - AppsListPreferences.clearFilters(this.props.pref); - this.props.onChange(this.props.pref); - }} - /> - -
- - this.setState({expanded: !this.state.expanded})} - /> - -
-
-
-
Sync
- onChange({...pref, syncFilter: selected})} - items={Array.from(sync.keys()).map(status => ({name: status, count: sync.get(status) || 0}))} - type='sync' - /> -
-
-
Health
- onChange({...pref, healthFilter: selected})} - items={Array.from(health.keys()).map(status => ({name: status, count: health.get(status) || 0}))} - type='health' - /> -
-
-
-
Labels
-
    -
  • - onChange({...pref, labelsFilter: selected})} - /> -
  • -
-
Projects
-
    -
  • - services.projects.list('items.metadata.name')}> - {projects => { - const projAppCount = new Map(); - projects.forEach(proj => projAppCount.set(proj.metadata.name, 0)); - applications.forEach(app => projAppCount.set(app.spec.project, (projAppCount.get(app.spec.project) || 0) + 1)); - return ( - proj.metadata.name)} - tags={pref.projectsFilter} - onChange={selected => onChange({...pref, projectsFilter: selected})} - /> - ); - }} - -
  • -
-
Clusters
-
    -
  • - this.getClusterDetail(app.spec.destination)).filter(item => !!item))).filter( - ns => pref.clustersFilter.indexOf(ns) === -1 - )} - tags={pref.clustersFilter} - onChange={selected => onChange({...pref, clustersFilter: selected})} - /> -
  • -
-
Namespaces
-
    -
  • - app.spec.destination.namespace).filter(item => !!item))).filter( - ns => pref.namespacesFilter.indexOf(ns) === -1 - )} - tags={pref.namespacesFilter} - onChange={selected => onChange({...pref, namespacesFilter: selected})} - /> -
  • -
-
-
-
-
- ); - } +const ProjectFilter = (props: AppFilterProps) => { + const [projects, loading, error] = useData(() => services.projects.list('items.metadata.name'), null, () => null); + const projectOptions = (projects || []).map(proj => { + return {label: proj.metadata.name}; + }); + return ( + props.onChange({...props.pref, projectsFilter: s})} + field={true} + options={projectOptions} + error={error.state} + loading={loading} + /> + ); +}; - private getClusterDetail(dest: models.ApplicationDestination): string { - const cluster = this.props.clusters.find(target => target.name === dest.name || target.server === dest.server); +const ClusterFilter = (props: AppFilterProps) => { + const getClusterDetail = (dest: ApplicationDestination, clusterList: Cluster[]): string => { + const cluster = (clusterList || []).find(target => target.name === dest.name || target.server === dest.server); if (!cluster) { return dest.server || dest.name; } @@ -234,5 +115,69 @@ export class ApplicationsFilter extends React.Component services.clusters.list()); + const clusterOptions = optionsFrom( + Array.from(new Set(props.apps.map(app => getClusterDetail(app.spec.destination, clusters)).filter(item => !!item))), + props.pref.clustersFilter + ); + + return ( + props.onChange({...props.pref, clustersFilter: s})} field={true} options={clusterOptions} /> + ); +}; + +const NamespaceFilter = (props: AppFilterProps) => { + const namespaceOptions = optionsFrom(Array.from(new Set(props.apps.map(app => app.spec.destination.namespace).filter(item => !!item))), props.pref.namespacesFilter); + return ( + props.onChange({...props.pref, namespacesFilter: s})} + field={true} + options={namespaceOptions} + /> + ); +}; + +export const ApplicationsFilter = (props: AppFilterProps) => { + const [hidden, setHidden] = React.useState(false); + + React.useEffect(() => { + const handleResize = () => { + if (window.innerWidth >= 1440) { + setHidden(false); + } + }; + + window.addEventListener('resize', debounce(handleResize, 1000)); + return () => window.removeEventListener('resize', handleResize); + }); + return ( + +
+ FILTERS + setHidden(!hidden)} + style={{marginLeft: 'auto', fontSize: '12px', lineHeight: '5px', display: hidden && 'block'}} + /> +
+
+ {!hidden && ( + + + +
+ + + + +
+
+ )} +
+
+ ); +}; diff --git a/ui/src/app/applications/components/applications-list/applications-list.scss b/ui/src/app/applications/components/applications-list/applications-list.scss index 88f8d930b2559..b8ea7a759b4a2 100644 --- a/ui/src/app/applications/components/applications-list/applications-list.scss +++ b/ui/src/app/applications/components/applications-list/applications-list.scss @@ -67,77 +67,48 @@ } } - $filters-container-collapsed-height: 3em; - $filters-container-box-shadow: 1px 1px 3px $argo-color-gray-5; - - &__filters-container { - max-height: $filters-container-collapsed-height; - overflow: hidden; - position: relative; - border-radius: $border-radius; - box-shadow: $filters-container-box-shadow; - padding: 0 1em 0.75em 1em; - margin: 33px 0; - background-color: white; - transition: max-height 0.25s cubic-bezier(0, 1, 0, 1); - cursor: pointer; - - ul { - margin: 0; - } - - &--expanded { - max-height: calc(1.55em * 17); - transition: max-height 1s ease-in-out; - } - } - - $filters-title-border-bottom: 1px solid $argo-color-gray-3; - - &__filters-title { - height: $filters-container-collapsed-height; - padding: 0.25em 0; + &__filters { display: flex; - align-items: center; - - &--expanded { - border-bottom: $filters-title-border-bottom; + &__title { + margin-bottom: 1em; + font-size: 13px; + color: $argo-color-gray-6; + display: flex; + align-items: center; } - &__counter { - margin-right: 0; - width: 10ch; + .filter { + margin-right: 15px; + height: max-content; + min-width: 200px; + max-width: 200px; } - &__expander { - cursor: pointer; - margin-left: 1em; + &__text-filters { + align-self: start; + display: flex; + flex-wrap: wrap; } } @include breakpoint(xxlarge up) { - &__filters-container { - max-height: 100%; - transition: max-height 0.5s ease-in-out; - cursor: default; + .filter { + width: 100%; + margin-right: 0; } - &__filters-title { - border-bottom: $filters-title-border-bottom; - } + &__filters { + flex-wrap: wrap; + padding-bottom: 6em; - &__filters-title__expander { - display: none; - } - } + &__title .action-button { + display: none; + } - &__filter { - li { - list-style: none; + &__text-filters { + width: 100%; + } } - max-height: calc(1.55em * 14); - transition: max-height 0.25s cubic-bezier(0, 1, 0, 1); - overflow-y: auto; } &__view-type { @@ -156,22 +127,6 @@ } } - &__filter-title { - margin: 0.5em 0 0 0; - color: $argo-color-gray-7; - text-transform: uppercase; - } - - &__filter-label { - vertical-align: bottom; - width: calc(100% - 50px); - overflow: hidden; - text-overflow: ellipsis; - display: inline-block; - white-space: nowrap; - margin-right: 10px; - } - &__table-icon { display: inline-block; margin-right: 10px; diff --git a/ui/src/app/applications/components/applications-list/applications-list.tsx b/ui/src/app/applications/components/applications-list/applications-list.tsx index f20158041815b..ee8e49b4feb31 100644 --- a/ui/src/app/applications/components/applications-list/applications-list.tsx +++ b/ui/src/app/applications/components/applications-list/applications-list.tsx @@ -6,7 +6,6 @@ import {Key, KeybindingContext, KeybindingProvider} from 'react-keyhooks'; import {RouteComponentProps} from 'react-router'; import {combineLatest, from, merge, Observable} from 'rxjs'; import {bufferTime, delay, filter, map, mergeMap, repeat, retryWhen} from 'rxjs/operators'; - import {AddAuthToToolbar, ClusterCtx, DataLoader, EmptyState, ObservableQuery, Page, Paginate, Query, Spinner} from '../../../shared/components'; import {Consumer, Context, ContextApis} from '../../../shared/context'; import * as models from '../../../shared/models'; @@ -287,6 +286,7 @@ export const ApplicationsList = (props: RouteComponentProps<{}>) => { const clusters = React.useMemo(() => services.clusters.list(), []); const [isAppCreatePending, setAppCreatePending] = React.useState(false); const loaderRef = React.useRef(); + function refreshApp(appName: string) { // app refreshing might be done too quickly so that UI might miss it due to event batching // add refreshing annotation in the UI to improve user experience @@ -399,19 +399,7 @@ export const ApplicationsList = (props: RouteComponentProps<{}>) => { ) : (
- services.clusters.list()}> - {clusterList => { - return ( - onFilterPrefChanged(ctx, newPref)} - /> - ); - }} - - + onFilterPrefChanged(ctx, newPrefs)} pref={pref} /> {syncAppsInput && ( void; + options?: CheckboxOption[]; + label?: string; + field?: boolean; + error?: boolean; + loading?: boolean; +} + +export const Filter = (props: FilterProps) => { + const init = {} as FilterMap; + props.selected.forEach(s => (init[s] = true)); + + const [values, setValues] = React.useState(init); + const [tags, setTags] = React.useState([]); + const [input, setInput] = React.useState(''); + const [collapsed, setCollapsed] = React.useState(false); + + React.useEffect(() => { + const map: string[] = Object.keys(values).filter(s => values[s]); + props.setSelected(map); + if (props.field) { + setTags( + Object.keys(values).map(v => { + return {label: v} as CheckboxOption; + }) + ); + } + }, [values]); + + return ( +
+
+ {props.label || 'FILTER'} + {(props.selected || []).length > 0 || (props.field && Object.keys(values).length > 0) ? ( +
{ + setValues({} as FilterMap); + setInput(''); + }}> + CLEAR +
+ ) : ( + setCollapsed(!collapsed)} /> + )} +
+ {!collapsed && + (props.loading ? ( + + ) : props.error ? ( + + ) : ( + + {props.field && ( + { + return opt.label; + })} + value={input} + onChange={e => setInput(e.target.value)} + onItemClick={val => { + const update = {...values}; + update[val] = true; + setInput(''); + setValues(update); + }} + style={{width: '100%'}} + inputStyle={{marginBottom: '0.5em', backgroundColor: 'white'}} + /> + )} + {((props.field ? tags : props.options) || []).map((opt, i) => ( + { + const update = {...values}; + update[opt.label] = val; + setValues(update); + }} + option={opt} + /> + ))} + + ))} +
+ ); +}; + +const FilterError = () => ( +
+ ERROR LOADING FILTER +
+); + +const FilterLoading = () => ( +
+ LOADING +
+); diff --git a/ui/src/app/applications/components/utils.tsx b/ui/src/app/applications/components/utils.tsx index d97926e12893c..2263a45e71220 100644 --- a/ui/src/app/applications/components/utils.tsx +++ b/ui/src/app/applications/components/utils.tsx @@ -166,7 +166,17 @@ export const OperationPhaseIcon = ({app}: {app: appModels.Application}) => { return ; }; -export const ComparisonStatusIcon = ({status, resource, label}: {status: appModels.SyncStatusCode; resource?: {requiresPruning?: boolean}; label?: boolean}) => { +export const ComparisonStatusIcon = ({ + status, + resource, + label, + noSpin +}: { + status: appModels.SyncStatusCode; + resource?: {requiresPruning?: boolean}; + label?: boolean; + noSpin?: boolean; +}) => { let className = 'fas fa-question-circle'; let color = COLORS.sync.unknown; let title: string = 'Unknown'; @@ -187,7 +197,7 @@ export const ComparisonStatusIcon = ({status, resource, label}: {status: appMode color = COLORS.sync.out_of_sync; break; case appModels.SyncStatuses.Unknown: - className = 'fa fa-circle-notch fa-spin'; + className = `fa fa-circle-notch ${noSpin ? '' : 'fa-spin'}`; break; } return ( @@ -421,7 +431,7 @@ export function syncStatusMessage(app: appModels.Application) { } } -export const HealthStatusIcon = ({state}: {state: appModels.HealthStatus}) => { +export const HealthStatusIcon = ({state, noSpin}: {state: appModels.HealthStatus; noSpin?: boolean}) => { let color = COLORS.health.unknown; let icon = 'fa-question-circle'; @@ -440,7 +450,7 @@ export const HealthStatusIcon = ({state}: {state: appModels.HealthStatus}) => { break; case appModels.HealthStatuses.Progressing: color = COLORS.health.progressing; - icon = 'fa fa-circle-notch fa-spin'; + icon = `fa fa-circle-notch ${noSpin ? '' : 'fa-spin'}`; break; case appModels.HealthStatuses.Missing: color = COLORS.health.missing; diff --git a/ui/yarn.lock b/ui/yarn.lock index d19b752761db2..b03ed3543f445 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -9,6 +9,13 @@ dependencies: "@babel/highlight" "^7.0.0" +"@babel/code-frame@^7.10.4": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.13.tgz#dcfc826beef65e75c50e21d3837d7d95798dd658" + integrity sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g== + dependencies: + "@babel/highlight" "^7.12.13" + "@babel/core@^7.1.0": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.5.5.tgz#17b2686ef0d6bc58f963dddd68ab669755582c30" @@ -276,6 +283,11 @@ dependencies: "@babel/types" "^7.7.0" +"@babel/helper-validator-identifier@^7.14.0": + version "7.14.0" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz#d26cad8a47c65286b15df1547319a5d0bcf27288" + integrity sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A== + "@babel/helper-wrap-function@^7.7.0": version "7.7.0" resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.7.0.tgz#15af3d3e98f8417a60554acbb6c14e75e0b33b74" @@ -313,6 +325,15 @@ esutils "^2.0.2" js-tokens "^4.0.0" +"@babel/highlight@^7.12.13": + version "7.14.0" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.0.tgz#3197e375711ef6bf834e67d0daec88e4f46113cf" + integrity sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg== + dependencies: + "@babel/helper-validator-identifier" "^7.14.0" + chalk "^2.0.0" + js-tokens "^4.0.0" + "@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.4.4", "@babel/parser@^7.5.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.5.5.tgz#02f077ac8817d3df4a832ef59de67565e71cca4b" @@ -794,6 +815,14 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-typescript" "^7.7.2" +"@babel/runtime-corejs3@^7.10.2": + version "7.14.0" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.14.0.tgz#6bf5fbc0b961f8e3202888cb2cd0fb7a0a9a3f66" + integrity sha512-0R0HTZWHLk6G8jIk0FtoX+AatCtKnswS98VhXwGImFc759PJRp4Tru0PQYZofyijTFUr+gT8Mu7sgXVJLQ0ceg== + dependencies: + core-js-pure "^3.0.0" + regenerator-runtime "^0.13.4" + "@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.4.2": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.5.5.tgz#74fba56d35efbeca444091c7850ccd494fd2f132" @@ -801,6 +830,13 @@ dependencies: regenerator-runtime "^0.13.2" +"@babel/runtime@^7.10.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5": + version "7.14.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.14.0.tgz#46794bc20b612c5f75e62dd071e24dfd95f1cbe6" + integrity sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA== + dependencies: + regenerator-runtime "^0.13.4" + "@babel/runtime@^7.9.2": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.1.tgz#b4116a6b6711d010b2dad3b7b6e43bf1b9954740" @@ -922,6 +958,11 @@ resolved "https://registry.yarnpkg.com/@exodus/schemasafe/-/schemasafe-1.0.0-rc.3.tgz#dda2fbf3dafa5ad8c63dadff7e01d3fdf4736025" integrity sha512-GoXw0U2Qaa33m3eUcxuHnHpNvHjNlLo0gtV091XBpaRINaB4X6FGCG5XKxSFNFiPpugUDqNruHzaqpTdDm4AOg== +"@fortawesome/fontawesome-free@^5.15.2": + version "5.15.3" + resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.3.tgz#c36ffa64a2a239bf948541a97b6ae8d729e09a9a" + integrity sha512-rFnSUN/QOtnOAgqFRooTA3H57JLDm0QEG/jPdk+tLQNL/eWd+Aok8g3qCI+Q1xuDPWpGW/i9JySpJVsq8Q0s9w== + "@fortawesome/fontawesome-free@^5.8.1": version "5.9.0" resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-5.9.0.tgz#1aa5c59efb1b8c6eb6277d1e3e8c8f31998b8c8e" @@ -1102,6 +1143,17 @@ "@types/istanbul-reports" "^1.1.1" "@types/yargs" "^13.0.0" +"@jest/types@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" + integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + "@nodelib/fs.scandir@2.1.3": version "2.1.3" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" @@ -1130,11 +1182,47 @@ dependencies: mkdirp "^1.0.4" +"@reactivex/rxjs@^6.6.7": + version "6.6.7" + resolved "https://registry.yarnpkg.com/@reactivex/rxjs/-/rxjs-6.6.7.tgz#52ab48f989aba9cda2b995acc904a43e6e1b3b40" + integrity sha512-xZIV2JgHhWoVPm3uVcFbZDRVJfx2hgqmuTX7J4MuKaZ+j5jN29agniCPBwrlCmpA15/zLKcPi7/bogt0ZwOFyA== + dependencies: + tslib "^1.9.0" + "@redocly/react-dropdown-aria@^2.0.11": version "2.0.11" resolved "https://registry.yarnpkg.com/@redocly/react-dropdown-aria/-/react-dropdown-aria-2.0.11.tgz#532b864b329237e646abe45d0f8edc923e77370a" integrity sha512-rmuSC2JFFl4DkPDdGVrmffT9KcbG2AB5jvhxPIrOc1dO9mHRMUUftQY35KZlvWqqSSqVn+AM+J9dhiTo1ZqR8A== +"@testing-library/dom@^7.28.1": + version "7.30.4" + resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-7.30.4.tgz#c6a4a91557e92035fd565246bbbfb8107aa4634d" + integrity sha512-GObDVMaI4ARrZEXaRy4moolNAxWPKvEYNV/fa6Uc2eAzR/t4otS6A7EhrntPBIQLeehL9DbVhscvvv7gd6hWqA== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/runtime" "^7.12.5" + "@types/aria-query" "^4.2.0" + aria-query "^4.2.2" + chalk "^4.1.0" + dom-accessibility-api "^0.5.4" + lz-string "^1.4.4" + pretty-format "^26.6.2" + +"@testing-library/react@^11.1.0": + version "11.2.6" + resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-11.2.6.tgz#586a23adc63615985d85be0c903f374dab19200b" + integrity sha512-TXMCg0jT8xmuU8BkKMtp8l7Z50Ykew5WNX8UoIKTaLFwKkP2+1YDhOLA2Ga3wY4x29jyntk7EWfum0kjlYiSjQ== + dependencies: + "@babel/runtime" "^7.12.5" + "@testing-library/dom" "^7.28.1" + +"@testing-library/user-event@^12.1.10": + version "12.8.3" + resolved "https://registry.yarnpkg.com/@testing-library/user-event/-/user-event-12.8.3.tgz#1aa3ed4b9f79340a1e1836bc7f57c501e838704a" + integrity sha512-IR0iWbFkgd56Bu5ZI/ej8yQwrkCv8Qydx6RzwbKz9faXazR/+5tvYKsZQgyXJiwgpcva127YO6JcWy7YlCfofQ== + dependencies: + "@babel/runtime" "^7.12.5" + "@tippy.js/react@^2.1.2": version "2.2.2" resolved "https://registry.yarnpkg.com/@tippy.js/react/-/react-2.2.2.tgz#a0fbc646958cdb002d7d227f7b18dca346c76f2e" @@ -1153,6 +1241,11 @@ resolved "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a" integrity sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA== +"@types/aria-query@^4.2.0": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-4.2.1.tgz#78b5433344e2f92e8b306c06a5622c50c245bf6b" + integrity sha512-S6oPal772qJZHoRZLFc/XoZW2gFvwXusYUmXPXkgxJLuEk2vOt7jc4Yo6z/vtI0EBkbPBVrJJ0B+prLIKiWqHg== + "@types/babel__core@^7.1.0": version "7.1.2" resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.2.tgz#608c74f55928033fce18b99b213c16be4b3d114f" @@ -1251,6 +1344,13 @@ "@types/istanbul-lib-coverage" "*" "@types/istanbul-lib-report" "*" +"@types/istanbul-reports@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz#508b13aa344fa4976234e75dddcc34925737d821" + integrity sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA== + dependencies: + "@types/istanbul-lib-report" "*" + "@types/jest-diff@*": version "20.0.1" resolved "https://registry.yarnpkg.com/@types/jest-diff/-/jest-diff-20.0.1.tgz#35cc15b9c4f30a18ef21852e255fdb02f6d59b89" @@ -1263,6 +1363,14 @@ dependencies: "@types/jest-diff" "*" +"@types/jest@^26.0.15": + version "26.0.23" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.23.tgz#a1b7eab3c503b80451d019efb588ec63522ee4e7" + integrity sha512-ZHLmWMJ9jJ9PTiT58juykZpL7KjwJywFN3Rr2pTSkyQfydf/rk22yS7W8p5DaVUMQ2BQC7oYiU3FjbTM/mYrOA== + dependencies: + jest-diff "^26.0.0" + pretty-format "^26.0.0" + "@types/js-yaml@^3.11.2": version "3.12.1" resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-3.12.1.tgz#5c6f4a1eabca84792fbd916f0cb40847f123c656" @@ -1283,6 +1391,11 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.6.8.tgz#e469b4bf9d1c9832aee4907ba8a051494357c12c" integrity sha512-aX+gFgA5GHcDi89KG5keey2zf0WfZk/HAQotEamsK2kbey+8yGKcson0hbK8E+v0NArlCJQCqMP161YhV6ZXLg== +"@types/node@^12.0.0": + version "12.20.11" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.11.tgz#980832cd56efafff8c18aa148c4085eb02a483f4" + integrity sha512-gema+apZ6qLQK7k7F0dGkGCWQYsL0qqKORWOQO6tq46q+x+1C0vbOiOqOwRVlh4RAdbQwV/j/ryr3u5NOG1fPQ== + "@types/node@^13.11.1": version "13.13.26" resolved "https://registry.yarnpkg.com/@types/node/-/node-13.13.26.tgz#09b8326828d46b174d29086cdb6dcd2d0dcf67a3" @@ -1300,7 +1413,7 @@ dependencies: "@types/react" "*" -"@types/react-dom@16.9.3": +"@types/react-dom@16.9.3", "@types/react-dom@^16.9.3": version "16.9.3" resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.3.tgz#4006ff0e13958af91313869077c04cb20d9b9d04" integrity sha512-FUuZKXPr9qlzUT9lhuzrZgLjH63TvNn28Ch3MvKG4B+F52zQtO8DtE0Opbncy3xaucNZM2WIPfuNTgkbKx5Brg== @@ -1351,6 +1464,15 @@ "@types/react" "*" "@types/react-router" "*" +"@types/react-router-dom@^5.1.7": + version "5.1.7" + resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.1.7.tgz#a126d9ea76079ffbbdb0d9225073eb5797ab7271" + integrity sha512-D5mHD6TbdV/DNHYsnwBTv+y73ei+mMjrkGrla86HthE4/PVvL1J94Bu3qABU+COXzpL23T1EZapVVpwHuBXiUg== + dependencies: + "@types/history" "*" + "@types/react" "*" + "@types/react-router" "*" + "@types/react-router@*": version "5.0.3" resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.0.3.tgz#855a1606e62de3f4d69ea34fb3c0e50e98e964d5" @@ -1374,7 +1496,7 @@ dependencies: "@types/react" "*" -"@types/react@*", "@types/react@16.9.3", "@types/react@^17.0.2": +"@types/react@*", "@types/react@16.9.3", "@types/react@^16.9.3", "@types/react@^17.0.2": version "16.9.3" resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.3.tgz#6d13251e441a3e67fb60d719d1fc8785b984a2ec" integrity sha512-Ogb2nSn+2qQv5opoCv7Ls5yFxtyrdUYxp5G+SWTrlGk7dmFKw331GiezCgEZj9U7QeXJi1CDtws9pdXU1zUL4g== @@ -1453,6 +1575,13 @@ dependencies: "@types/yargs-parser" "*" +"@types/yargs@^15.0.0": + version "15.0.13" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.13.tgz#34f7fec8b389d7f3c1fd08026a5763e072d3c6dc" + integrity sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ== + dependencies: + "@types/yargs-parser" "*" + "@webassemblyjs/ast@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" @@ -1781,7 +1910,7 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" -ansi-styles@^4.0.0: +ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== @@ -1845,6 +1974,29 @@ are-we-there-yet@~1.1.2: typescript "^4.0.3" xterm "2.4.0" +argo-ux@^1.1.15: + version "1.1.15" + resolved "https://registry.yarnpkg.com/argo-ux/-/argo-ux-1.1.15.tgz#69d8e51f26da063fd7fa3baa7d382c197e80d662" + integrity sha512-rcvyuAccu2Fj2BdqmWS8uRqHIiFTdkRrg/bNiHdWqVk5bYVmjQ7hBhe8IDH/y1o/QtbUKLD6RTVD05qu/g0f3g== + dependencies: + "@fortawesome/fontawesome-free" "^5.15.2" + "@testing-library/react" "^11.1.0" + "@testing-library/user-event" "^12.1.10" + "@types/jest" "^26.0.15" + "@types/node" "^12.0.0" + "@types/react" "^16.9.3" + "@types/react-dom" "^16.9.3" + "@types/react-helmet" "^6.1.0" + "@types/react-router-dom" "^5.1.7" + moment-timezone "^0.5.33" + portable-fetch "^3.0.0" + react-helmet "^6.1.0" + react-hot-loader "^3.1.3" + react-router-dom "^5.2.0" + typescript "^4.1.2" + web-vitals "^1.0.1" + webpack-dev-server "^3.11.2" + argparse@^1.0.2, argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" @@ -1857,6 +2009,14 @@ argv@0.0.2: resolved "https://registry.yarnpkg.com/argv/-/argv-0.0.2.tgz#ecbd16f8949b157183711b1bda334f37840185ab" integrity sha1-7L0W+JSbFXGDcRsb2jNPN4QBhas= +aria-query@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b" + integrity sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA== + dependencies: + "@babel/runtime" "^7.10.2" + "@babel/runtime-corejs3" "^7.10.2" + arr-diff@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" @@ -2522,6 +2682,14 @@ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" +chalk@^4.0.0, chalk@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad" + integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + chalk@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" @@ -2644,6 +2812,15 @@ cli-table@~0.3.1: dependencies: colors "1.0.3" +clipboard@^2.0.0: + version "2.0.6" + resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-2.0.6.tgz#52921296eec0fdf77ead1749421b21c968647376" + integrity sha512-g5zbiixBRk/wyKakSwCKd7vQXDjFnAMGHoEyBogG/bw9kTD9GvdAvaoRR1ALcEzt3pVKxZR0pViekPMIS0QyGg== + dependencies: + good-listener "^1.2.2" + select "^1.1.2" + tiny-emitter "^2.0.0" + cliui@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" @@ -2736,9 +2913,9 @@ color-name@^1.0.0, color-name@~1.1.4: integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== color-string@^1.5.2: - version "1.5.5" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.5.tgz#65474a8f0e7439625f3d27a6a19d89fc45223014" - integrity sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg== + version "1.5.3" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc" + integrity sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw== dependencies: color-name "^1.0.0" simple-swizzle "^0.2.2" @@ -2965,6 +3142,11 @@ core-js-compat@^3.1.1: browserslist "^4.7.2" semver "^6.3.0" +core-js-pure@^3.0.0: + version "3.11.2" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.11.2.tgz#10e3b35788c00f431bc0d601d7551475ec3e792c" + integrity sha512-DQxdEKm+zFsnON7ZGOgUAQXBt1UJJ01tOzN/HgQ7cNf0oEHW1tcBLfCQQd1q6otdLu5gAdvKYxKHAoXGwE/kiQ== + core-js@^1.0.0: version "1.2.7" resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" @@ -3312,6 +3494,11 @@ delayed-stream@~1.0.0: resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= +delegate@^3.1.2: + version "3.2.0" + resolved "https://registry.yarnpkg.com/delegate/-/delegate-3.2.0.tgz#b66b71c3158522e8ab5744f720d8ca0c2af59166" + integrity sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw== + delegates@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" @@ -3365,6 +3552,11 @@ diff-sequences@^24.9.0: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" integrity sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew== +diff-sequences@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" + integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== + diff@^2.2.2: version "2.2.3" resolved "https://registry.yarnpkg.com/diff/-/diff-2.2.3.tgz#60eafd0d28ee906e4e8ff0a52c1229521033bf99" @@ -3411,6 +3603,11 @@ dns-txt@^2.0.2: dependencies: buffer-indexof "^1.0.0" +dom-accessibility-api@^0.5.4: + version "0.5.4" + resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.4.tgz#b06d059cdd4a4ad9a79275f9d414a5c126241166" + integrity sha512-TvrjBckDy2c6v6RLxPv5QXOnU+SmF9nBII5621Ve5fu6Z/BDrENurBEvlC1f44lKEUVqOpK4w9E5Idc5/EgkLQ== + dom-converter@^0.2: version "0.2.0" resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" @@ -3976,7 +4173,7 @@ faye-websocket@^0.10.0: dependencies: websocket-driver ">=0.5.1" -faye-websocket@~0.11.1: +faye-websocket@^0.11.3, faye-websocket@~0.11.1: version "0.11.3" resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e" integrity sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA== @@ -4442,6 +4639,13 @@ globule@^1.0.0: lodash "~4.17.10" minimatch "~3.0.2" +good-listener@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/good-listener/-/good-listener-1.2.2.tgz#d53b30cdf9313dffb7dc9a0d477096aa6d145c50" + integrity sha1-1TswzfkxPf+33JoNR3CWqm0UXFA= + dependencies: + delegate "^3.1.2" + graceful-fs@^4.1.11, graceful-fs@^4.1.2: version "4.2.3" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" @@ -4531,6 +4735,11 @@ has-flag@^3.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + has-symbols@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" @@ -4613,6 +4822,18 @@ history@^4.7.2: tiny-warning "^1.0.0" value-equal "^0.4.0" +history@^4.9.0: + version "4.10.1" + resolved "https://registry.yarnpkg.com/history/-/history-4.10.1.tgz#33371a65e3a83b267434e2b3f3b1b4c58aad4cf3" + integrity sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew== + dependencies: + "@babel/runtime" "^7.1.2" + loose-envify "^1.2.0" + resolve-pathname "^3.0.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + value-equal "^1.0.1" + hmac-drbg@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" @@ -5369,6 +5590,16 @@ jest-diff@^24.9.0: jest-get-type "^24.9.0" pretty-format "^24.9.0" +jest-diff@^26.0.0: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" + integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== + dependencies: + chalk "^4.0.0" + diff-sequences "^26.6.2" + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + jest-docblock@^21.0.0: version "21.2.0" resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-21.2.0.tgz#51529c3b30d5fd159da60c27ceedc195faf8d414" @@ -5425,6 +5656,11 @@ jest-get-type@^24.9.0: resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e" integrity sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q== +jest-get-type@^26.3.0: + version "26.3.0" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0" + integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== + jest-haste-map@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.9.0.tgz#b38a5d64274934e21fa417ae9a9fbeb77ceaac7d" @@ -5914,7 +6150,7 @@ json-to-ast@^2.0.3: code-error-fragment "0.0.230" grapheme-splitter "^1.0.4" -json3@^3.3.2: +json3@^3.3.2, json3@^3.3.3: version "3.3.3" resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA== @@ -6202,6 +6438,11 @@ lunr@2.3.8: resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.8.tgz#a8b89c31f30b5a044b97d2d28e2da191b6ba2072" integrity sha512-oxMeX/Y35PNFuZoHp+jUj5OSEmLCaIH4KTFJh7a93cHBoFmpw2IoPs22VIz7vyO2YUnx2Tn9dzIwO2P/4quIRg== +lz-string@^1.4.4: + version "1.4.4" + resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.4.4.tgz#c0d8eaf36059f705796e1e344811cf4c498d3a26" + integrity sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY= + make-dir@^2.0.0, make-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" @@ -6424,6 +6665,14 @@ min-document@^2.19.0: dependencies: dom-walk "^0.1.0" +mini-create-react-context@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz#072171561bfdc922da08a60c2197a497cc2d1d5e" + integrity sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ== + dependencies: + "@babel/runtime" "^7.12.1" + tiny-warning "^1.0.3" + minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" @@ -6553,6 +6802,18 @@ mobx-react@^6.2.2: dependencies: mobx-react-lite "^2.2.0" +moment-timezone@^0.5.33: + version "0.5.33" + resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.33.tgz#b252fd6bb57f341c9b59a5ab61a8e51a73bbd22c" + integrity sha512-PTc2vcT8K9J5/9rDEPe5czSIKgLoGsH8UNpA4qZTVw0Vd/Uz19geE9abbIOQKaAQFcnQ3v5YEXrbSc5BpshH+w== + dependencies: + moment ">= 2.9.0" + +"moment@>= 2.9.0": + version "2.29.1" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3" + integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ== + moment@^2.20.1, moment@^2.24.0: version "2.24.0" resolved "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b" @@ -7477,6 +7738,14 @@ popper.js@^1.14.7: resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.15.0.tgz#5560b99bbad7647e9faa475c6b8056621f5a4ff2" integrity sha512-w010cY1oCUmI+9KwwlWki+r5jxKfTFDVoadl7MSrIujHU5MJ5OR6HTDj6Xo8aoR/QsA56x8jKjA59qGH4ELtrA== +portable-fetch@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/portable-fetch/-/portable-fetch-3.0.0.tgz#3cbf4aa6dbc5a5734b41c0419c9273313bfd9ad8" + integrity sha1-PL9KptvFpXNLQcBBnJJzMTv9mtg= + dependencies: + node-fetch "^1.0.1" + whatwg-fetch ">=0.10.0" + portfinder@^1.0.26: version "1.0.28" resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" @@ -7615,10 +7884,22 @@ pretty-format@^24.9.0: ansi-styles "^3.2.0" react-is "^16.8.4" +pretty-format@^26.0.0, pretty-format@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" + integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== + dependencies: + "@jest/types" "^26.6.2" + ansi-regex "^5.0.0" + ansi-styles "^4.0.0" + react-is "^17.0.1" + prismjs@^1.20.0: - version "1.24.0" - resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.24.0.tgz#0409c30068a6c52c89ef7f1089b3ca4de56be2ac" - integrity sha512-SqV5GRsNqnzCL8k5dfAjCNhUrF3pR0A9lTDSCUZeh/LIshheXJEaP0hwLz2t4XHivd2J/v2HR+gRnigzeKe3cQ== + version "1.23.0" + resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.23.0.tgz#d3b3967f7d72440690497652a9d40ff046067f33" + integrity sha512-c29LVsqOaLbBHuIbsTxaKENh1N2EQBOHaWv7gkHN4dgRbxSREqDnDbtFJYdpPauS4YCplMSNCABQ6Eeor69bAA== + optionalDependencies: + clipboard "^2.0.0" private@^0.1.6: version "0.1.8" @@ -7943,6 +8224,11 @@ react-is@^16.8.3: resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.11.0.tgz#b85dfecd48ad1ce469ff558a882ca8e8313928fa" integrity sha512-gbBVYR2p8mnriqAwWx9LbuUrShnAuSCNnuPGyc7GJrMVQtPDAh8iLpv7FRuMPFb56KkaVZIYSz1PrjI9q0QPCw== +react-is@^17.0.1: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== + react-keyhooks@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/react-keyhooks/-/react-keyhooks-0.2.0.tgz#0cd4103aa2de8fc855e8b76420a2d96c11978d74" @@ -8000,6 +8286,35 @@ react-router-dom@^4.2.2: react-router "^4.3.1" warning "^4.0.1" +react-router-dom@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.2.0.tgz#9e65a4d0c45e13289e66c7b17c7e175d0ea15662" + integrity sha512-gxAmfylo2QUjcwxI63RhQ5G85Qqt4voZpUXSEqCwykV0baaOTQDR1f0PmY8AELqIyVc0NEZUj0Gov5lNGcXgsA== + dependencies: + "@babel/runtime" "^7.1.2" + history "^4.9.0" + loose-envify "^1.3.1" + prop-types "^15.6.2" + react-router "5.2.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + +react-router@5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.2.0.tgz#424e75641ca8747fbf76e5ecca69781aa37ea293" + integrity sha512-smz1DUuFHRKdcJC0jobGo8cVbhO3x50tCL4icacOlcwDOEQPq4TMqwx3sY1TP+DvtTgz4nm3thuo7A+BK2U0Dw== + dependencies: + "@babel/runtime" "^7.1.2" + history "^4.9.0" + hoist-non-react-statics "^3.1.0" + loose-envify "^1.3.1" + mini-create-react-context "^0.4.0" + path-to-regexp "^1.7.0" + prop-types "^15.6.2" + react-is "^16.6.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + react-router@^4.3.1: version "4.3.1" resolved "https://registry.yarnpkg.com/react-router/-/react-router-4.3.1.tgz#aada4aef14c809cb2e686b05cee4742234506c4e" @@ -8508,6 +8823,11 @@ resolve-pathname@^2.2.0: resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-2.2.0.tgz#7e9ae21ed815fd63ab189adeee64dc831eefa879" integrity sha512-bAFz9ld18RzJfddgrO2e/0S2O81710++chRMUxHjXOYKF6jTAMrUNZrEZ1PvV0zlhfjidm08iRPdTLPno1FuRg== +resolve-pathname@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" + integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== + resolve-url@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" @@ -8723,6 +9043,11 @@ select-hose@^2.0.0: resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= +select@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d" + integrity sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0= + selfsigned@^1.10.7: version "1.10.8" resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.8.tgz#0d17208b7d12c33f8eac85c41835f27fc3d81a30" @@ -8730,6 +9055,13 @@ selfsigned@^1.10.7: dependencies: node-forge "^0.10.0" +selfsigned@^1.10.8: + version "1.10.11" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.11.tgz#24929cd906fe0f44b6d01fb23999a739537acbe9" + integrity sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA== + dependencies: + node-forge "^0.10.0" + "semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.5: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" @@ -8998,6 +9330,18 @@ sockjs-client@1.4.0: json3 "^3.3.2" url-parse "^1.4.3" +sockjs-client@^1.5.0: + version "1.5.1" + resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.5.1.tgz#256908f6d5adfb94dabbdbd02c66362cca0f9ea6" + integrity sha512-VnVAb663fosipI/m6pqRXakEOw7nvd7TUgdr3PlR/8V2I95QIdwT8L4nMxhyU8SmDBHYXU1TOElaKOmKLfYzeQ== + dependencies: + debug "^3.2.6" + eventsource "^1.0.7" + faye-websocket "^0.11.3" + inherits "^2.0.4" + json3 "^3.3.3" + url-parse "^1.5.1" + sockjs@0.3.20: version "0.3.20" resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.20.tgz#b26a283ec562ef8b2687b44033a4eeceac75d855" @@ -9007,6 +9351,15 @@ sockjs@0.3.20: uuid "^3.4.0" websocket-driver "0.6.5" +sockjs@^0.3.21: + version "0.3.21" + resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.21.tgz#b34ffb98e796930b60a0cfa11904d6a339a7d417" + integrity sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw== + dependencies: + faye-websocket "^0.11.3" + uuid "^3.4.0" + websocket-driver "^0.7.4" + source-list-map@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" @@ -9476,6 +9829,13 @@ supports-color@^6.1.0: dependencies: has-flag "^3.0.0" +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + swagger2openapi@^6.2.1: version "6.2.3" resolved "https://registry.yarnpkg.com/swagger2openapi/-/swagger2openapi-6.2.3.tgz#4a8059f89d851aee4c9ab178f9b7190debd904e2" @@ -9612,12 +9972,17 @@ timers-browserify@^2.0.4: dependencies: setimmediate "^1.0.4" +tiny-emitter@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423" + integrity sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q== + tiny-invariant@^1.0.2: version "1.0.6" resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.0.6.tgz#b3f9b38835e36a41c843a3b0907a5a7b3755de73" integrity sha512-FOyLWWVjG+aC0UqG76V53yAWdXfH8bO6FNmyZOuUrzDzK8DI3/JRY25UD7+g49JWM1LXwymsKERB+DzI0dTEQA== -tiny-warning@^1.0.0: +tiny-warning@^1.0.0, tiny-warning@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== @@ -9893,6 +10258,11 @@ typescript@^4.0.3: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.3.tgz#153bbd468ef07725c1df9c77e8b453f8d36abba5" integrity sha512-tEu6DGxGgRJPb/mVPIZ48e69xCn2yRmCgYmDugAVwmJ6o+0u1RI18eO7E7WBTLYLaEVVOhwQmcdhQHweux/WPg== +typescript@^4.1.2: + version "4.2.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.4.tgz#8610b59747de028fda898a8aef0e103f156d0961" + integrity sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg== + ua-parser-js@^0.7.18: version "0.7.28" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.28.tgz#8ba04e653f35ce210239c64661685bf9121dec31" @@ -10005,7 +10375,7 @@ urix@^0.1.0: resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= -url-parse@^1.4.3: +url-parse@^1.4.3, url-parse@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.1.tgz#d5fa9890af8a5e1f274a2c98376510f6425f6e3b" integrity sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q== @@ -10125,6 +10495,11 @@ value-equal@^0.4.0: resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-0.4.0.tgz#c5bdd2f54ee093c04839d71ce2e4758a6890abc7" integrity sha512-x+cYdNnaA3CxvMaTX0INdTCN8m8aF2uY9BvEqmxuYp8bL09cs/kWVQPVGcA35fMktdOsP69IgU7wFj/61dJHEw== +value-equal@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" + integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw== + vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" @@ -10212,6 +10587,11 @@ wbuf@^1.1.0, wbuf@^1.7.3: dependencies: minimalistic-assert "^1.0.0" +web-vitals@^1.0.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/web-vitals/-/web-vitals-1.1.1.tgz#2df535e3355fb7fbe34787b44b736e270e539377" + integrity sha512-jYOaqu01Ny1NvMwJ3dBJDUOJ2PGWknZWH4AUnvFOscvbdHMERIKT2TlgiAey5rVyfOePG7so2JcXXZdSnBvioQ== + webidl-conversions@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" @@ -10284,6 +10664,45 @@ webpack-dev-server@^3.11.0: ws "^6.2.1" yargs "^13.3.2" +webpack-dev-server@^3.11.2: + version "3.11.2" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz#695ebced76a4929f0d5de7fd73fafe185fe33708" + integrity sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ== + dependencies: + ansi-html "0.0.7" + bonjour "^3.5.0" + chokidar "^2.1.8" + compression "^1.7.4" + connect-history-api-fallback "^1.6.0" + debug "^4.1.1" + del "^4.1.1" + express "^4.17.1" + html-entities "^1.3.1" + http-proxy-middleware "0.19.1" + import-local "^2.0.0" + internal-ip "^4.3.0" + ip "^1.1.5" + is-absolute-url "^3.0.3" + killable "^1.0.1" + loglevel "^1.6.8" + opn "^5.5.0" + p-retry "^3.0.1" + portfinder "^1.0.26" + schema-utils "^1.0.0" + selfsigned "^1.10.8" + semver "^6.3.0" + serve-index "^1.9.1" + sockjs "^0.3.21" + sockjs-client "^1.5.0" + spdy "^4.0.2" + strip-ansi "^3.0.1" + supports-color "^6.1.0" + url "^0.11.0" + webpack-dev-middleware "^3.7.2" + webpack-log "^2.0.0" + ws "^6.2.1" + yargs "^13.3.2" + webpack-log@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" @@ -10336,7 +10755,7 @@ websocket-driver@0.6.5: dependencies: websocket-extensions ">=0.1.1" -websocket-driver@>=0.5.1: +websocket-driver@>=0.5.1, websocket-driver@^0.7.4: version "0.7.4" resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== From 6d1b789b53ca454ec628a2f4b11bf77c05c5c49c Mon Sep 17 00:00:00 2001 From: Regina Scott <50851526+reginapizza@users.noreply.github.com> Date: Thu, 1 Jul 2021 11:54:44 -0400 Subject: [PATCH 07/93] fix: remove deprecated css function (#6607) Signed-off-by: Regina Scott --- .../applications/components/application-pod-view/pod-view.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/src/app/applications/components/application-pod-view/pod-view.scss b/ui/src/app/applications/components/application-pod-view/pod-view.scss index 74c2a5e86e909..7661533275aa3 100644 --- a/ui/src/app/applications/components/application-pod-view/pod-view.scss +++ b/ui/src/app/applications/components/application-pod-view/pod-view.scss @@ -120,7 +120,7 @@ $num-stats: 2; &--suspended { background-color: $argo-status-warning-color; &:hover { - background-color: $argo-status-warning-color - #111; + background-color: darken($argo-status-warning-color, 10%); } } &--running, From 8b40f96584a9775b563d0353c2d9e9a6b3510e27 Mon Sep 17 00:00:00 2001 From: Alexander Matyushentsev Date: Thu, 1 Jul 2021 08:55:07 -0700 Subject: [PATCH 08/93] docs: document Argo CD development process (#6546) docs: document Argo CD development process (#6546) Signed-off-by: Alexander Matyushentsev --- controller/OWNERS | 2 + .../release-process-and-cadence.md | 48 +++++++++++++++++++ mkdocs.yml | 1 + reposerver/OWNERS | 3 ++ ui/OWNERS | 3 ++ util/db/OWNERS | 2 + util/git/OWNERS | 3 ++ util/gpg/OWNERS | 2 + util/helm/OWNERS | 3 ++ 9 files changed, 67 insertions(+) create mode 100644 controller/OWNERS create mode 100644 docs/developer-guide/release-process-and-cadence.md create mode 100644 reposerver/OWNERS create mode 100644 ui/OWNERS create mode 100644 util/db/OWNERS create mode 100644 util/git/OWNERS create mode 100644 util/gpg/OWNERS create mode 100644 util/helm/OWNERS diff --git a/controller/OWNERS b/controller/OWNERS new file mode 100644 index 0000000000000..03538861101ae --- /dev/null +++ b/controller/OWNERS @@ -0,0 +1,2 @@ +owners: +- alexmt diff --git a/docs/developer-guide/release-process-and-cadence.md b/docs/developer-guide/release-process-and-cadence.md new file mode 100644 index 0000000000000..62c7e4a4874c1 --- /dev/null +++ b/docs/developer-guide/release-process-and-cadence.md @@ -0,0 +1,48 @@ +# Release Process And Cadence + +Argo CD is being developed using the following process: + +* Maintainers commit to work on set of features and enhancements and create GitHub milestone to track the work. +* We are trying to avoid delaying release and prefer moving the feature into the next release if we cannot complete it on time. +* The new release is published every **3 month**. +* Critical bug-fixes are cherry-picked into the release branch and delivered using patch releases as frequently as needed. + +## Release Planning + +We are using GitHub milestones to perform release planning and tracking. Each release milestone includes two type of issues: + +* Issues that maintainers committed to working on. Maintainers decide which features they are committing to work on during the next release based on + their availability. Typically issues added offline by each maintainer and finalized during the contributors' meeting. Each such issue should be + assigned to maintainer who plans to implement and test it. +* Nice to have improvements contributed by community contributors. Nice to have issues are typically not critical, smallish enhancements that could + be contributed by community contributors. Maintainers are not committing to implement them but committing to review PR from the community. + +The milestone should have a clear description of the most important features as well as the expected end date. This should provide clarity to end-users +about what to expect from the next release and when. + +In addition to the next milestone, we need to maintain a draft of the upcoming release milestone. + +## Community Contributions + +We receive a lot of contributions from our awesome community, and we're very grateful for that fact. However, reviewing and testing PRs is a lot of (unplanned) work and therefore, we cannot guarantee that contributions (especially large or complex ones) made by the community receive a timely review within a release's time frame. Maintainers may decide on their own to put work on a PR together with the contributor and in this case, the maintainer will self-assigned the PR and thereby committing to review, eventually merge and later test it on the release scope. + +## Release Testing + +We need to make sure that each change, both from maintainers and community contributors, is tested well and have someone who is going to fix last-minute +bugs. In order to ensure it, each merged pull request must have an assigned maintainer before it gets merged. The assigned maintainer will be working on +testing the introduced changes and fixing of any introduced bugs. + +We have a code freeze period two weeks before the release until the release branch is created. During code freeze no feature PR should be merged and it is ok +to merge bug fixes. + +Maintainers assigned to a PR that's been merged should drive testing and work on fixing last-minute issues. For tracking purposes after verifying PR the assigned +the maintainer should label it with a `verified` label. + +## Releasing + +The releasing procedure is described in [releasing](./releasing.md) document. Before closing the release milestone following should be verified: + +- [ ] All merged PRs have the `verified` label +- [ ] Roadmap is updated based one current release changes +- [ ] Next release milestone is created +- [ ] Upcoming release milestone is updated \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 303e646f4347f..d2d5d1f0bb754 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -110,6 +110,7 @@ nav: - Developer Guide: - developer-guide/index.md - developer-guide/contributing.md + - developer-guide/release-process-and-cadence.md - developer-guide/running-locally.md - developer-guide/debugging-remote-environment.md - developer-guide/use-gitpod.md diff --git a/reposerver/OWNERS b/reposerver/OWNERS new file mode 100644 index 0000000000000..0c9a4c7a4f476 --- /dev/null +++ b/reposerver/OWNERS @@ -0,0 +1,3 @@ +owners: +- jgwest +- mayzhang2000 diff --git a/ui/OWNERS b/ui/OWNERS new file mode 100644 index 0000000000000..dadbabefcb289 --- /dev/null +++ b/ui/OWNERS @@ -0,0 +1,3 @@ +owners: +- rbreeze +- reginapizza diff --git a/util/db/OWNERS b/util/db/OWNERS new file mode 100644 index 0000000000000..03538861101ae --- /dev/null +++ b/util/db/OWNERS @@ -0,0 +1,2 @@ +owners: +- alexmt diff --git a/util/git/OWNERS b/util/git/OWNERS new file mode 100644 index 0000000000000..4fb7a97c281fe --- /dev/null +++ b/util/git/OWNERS @@ -0,0 +1,3 @@ +owners: +- alexmt +- jannfis diff --git a/util/gpg/OWNERS b/util/gpg/OWNERS new file mode 100644 index 0000000000000..c33fbff67fb73 --- /dev/null +++ b/util/gpg/OWNERS @@ -0,0 +1,2 @@ +owners: +- jannfis diff --git a/util/helm/OWNERS b/util/helm/OWNERS new file mode 100644 index 0000000000000..4fb7a97c281fe --- /dev/null +++ b/util/helm/OWNERS @@ -0,0 +1,3 @@ +owners: +- alexmt +- jannfis From e59ed2208f96f170fe5e17407f0b046cff8131e6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 Jul 2021 08:57:54 -0700 Subject: [PATCH 09/93] chore(deps): bump color-string from 1.5.3 to 1.5.5 in /ui (#6610) Bumps [color-string](https://github.com/Qix-/color-string) from 1.5.3 to 1.5.5. - [Release notes](https://github.com/Qix-/color-string/releases) - [Changelog](https://github.com/Qix-/color-string/blob/master/CHANGELOG.md) - [Commits](https://github.com/Qix-/color-string/commits/1.5.5) --- updated-dependencies: - dependency-name: color-string dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- ui/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ui/yarn.lock b/ui/yarn.lock index b03ed3543f445..9ab6c822f5db7 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -2913,9 +2913,9 @@ color-name@^1.0.0, color-name@~1.1.4: integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== color-string@^1.5.2: - version "1.5.3" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc" - integrity sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw== + version "1.5.5" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.5.tgz#65474a8f0e7439625f3d27a6a19d89fc45223014" + integrity sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg== dependencies: color-name "^1.0.0" simple-swizzle "^0.2.2" From 7149e35822b7df3a01186c0413195a3f0a45fb86 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 Jul 2021 09:26:21 -0700 Subject: [PATCH 10/93] chore(deps): bump prismjs from 1.23.0 to 1.24.0 in /ui (#6609) Bumps [prismjs](https://github.com/PrismJS/prism) from 1.23.0 to 1.24.0. - [Release notes](https://github.com/PrismJS/prism/releases) - [Changelog](https://github.com/PrismJS/prism/blob/master/CHANGELOG.md) - [Commits](https://github.com/PrismJS/prism/compare/v1.23.0...v1.24.0) --- updated-dependencies: - dependency-name: prismjs dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- ui/yarn.lock | 39 +++------------------------------------ 1 file changed, 3 insertions(+), 36 deletions(-) diff --git a/ui/yarn.lock b/ui/yarn.lock index 9ab6c822f5db7..75f98fe0b323d 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -2812,15 +2812,6 @@ cli-table@~0.3.1: dependencies: colors "1.0.3" -clipboard@^2.0.0: - version "2.0.6" - resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-2.0.6.tgz#52921296eec0fdf77ead1749421b21c968647376" - integrity sha512-g5zbiixBRk/wyKakSwCKd7vQXDjFnAMGHoEyBogG/bw9kTD9GvdAvaoRR1ALcEzt3pVKxZR0pViekPMIS0QyGg== - dependencies: - good-listener "^1.2.2" - select "^1.1.2" - tiny-emitter "^2.0.0" - cliui@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" @@ -3494,11 +3485,6 @@ delayed-stream@~1.0.0: resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= -delegate@^3.1.2: - version "3.2.0" - resolved "https://registry.yarnpkg.com/delegate/-/delegate-3.2.0.tgz#b66b71c3158522e8ab5744f720d8ca0c2af59166" - integrity sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw== - delegates@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" @@ -4639,13 +4625,6 @@ globule@^1.0.0: lodash "~4.17.10" minimatch "~3.0.2" -good-listener@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/good-listener/-/good-listener-1.2.2.tgz#d53b30cdf9313dffb7dc9a0d477096aa6d145c50" - integrity sha1-1TswzfkxPf+33JoNR3CWqm0UXFA= - dependencies: - delegate "^3.1.2" - graceful-fs@^4.1.11, graceful-fs@^4.1.2: version "4.2.3" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" @@ -7895,11 +7874,9 @@ pretty-format@^26.0.0, pretty-format@^26.6.2: react-is "^17.0.1" prismjs@^1.20.0: - version "1.23.0" - resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.23.0.tgz#d3b3967f7d72440690497652a9d40ff046067f33" - integrity sha512-c29LVsqOaLbBHuIbsTxaKENh1N2EQBOHaWv7gkHN4dgRbxSREqDnDbtFJYdpPauS4YCplMSNCABQ6Eeor69bAA== - optionalDependencies: - clipboard "^2.0.0" + version "1.24.0" + resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.24.0.tgz#0409c30068a6c52c89ef7f1089b3ca4de56be2ac" + integrity sha512-SqV5GRsNqnzCL8k5dfAjCNhUrF3pR0A9lTDSCUZeh/LIshheXJEaP0hwLz2t4XHivd2J/v2HR+gRnigzeKe3cQ== private@^0.1.6: version "0.1.8" @@ -9043,11 +9020,6 @@ select-hose@^2.0.0: resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= -select@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d" - integrity sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0= - selfsigned@^1.10.7: version "1.10.8" resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.8.tgz#0d17208b7d12c33f8eac85c41835f27fc3d81a30" @@ -9972,11 +9944,6 @@ timers-browserify@^2.0.4: dependencies: setimmediate "^1.0.4" -tiny-emitter@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423" - integrity sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q== - tiny-invariant@^1.0.2: version "1.0.6" resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.0.6.tgz#b3f9b38835e36a41c843a3b0907a5a7b3755de73" From 2ab10516be326dae933329007b7d599dc9d3c010 Mon Sep 17 00:00:00 2001 From: Alexander Matyushentsev Date: Fri, 2 Jul 2021 14:00:37 -0700 Subject: [PATCH 11/93] refactor: use git+https://github.com/argoproj/argo-ui.git instead of argo-ux npm package (#6622) Signed-off-by: Alexander Matyushentsev --- ui/package.json | 1 - .../applications-list/applications-filter.tsx | 2 +- .../applications/components/filter/filter.tsx | 2 +- ui/yarn.lock | 397 +----------------- 4 files changed, 11 insertions(+), 391 deletions(-) diff --git a/ui/package.json b/ui/package.json index 3d30b377d2daa..71ec65a08ee3c 100644 --- a/ui/package.json +++ b/ui/package.json @@ -29,7 +29,6 @@ "@types/react-router-dom": "^4.2.3", "@types/superagent": "^3.5.7", "argo-ui": "git+https://github.com/argoproj/argo-ui.git", - "argo-ux": "^1.1.15", "classnames": "^2.2.5", "color": "^3.1.0", "cookie": "^0.3.1", diff --git a/ui/src/app/applications/components/applications-list/applications-filter.tsx b/ui/src/app/applications/components/applications-list/applications-filter.tsx index 07a68f4e9e798..0bdcfe33f2fda 100644 --- a/ui/src/app/applications/components/applications-list/applications-filter.tsx +++ b/ui/src/app/applications/components/applications-list/applications-filter.tsx @@ -1,4 +1,4 @@ -import {ActionButton, debounce, useData} from 'argo-ux'; +import {ActionButton, debounce, useData} from 'argo-ui/v2'; import * as React from 'react'; import {Application, ApplicationDestination, Cluster, HealthStatusCode, HealthStatuses, SyncStatusCode, SyncStatuses} from '../../../shared/models'; import {AppsListPreferences, services} from '../../../shared/services'; diff --git a/ui/src/app/applications/components/filter/filter.tsx b/ui/src/app/applications/components/filter/filter.tsx index 14a18a6273079..2575f3909646d 100644 --- a/ui/src/app/applications/components/filter/filter.tsx +++ b/ui/src/app/applications/components/filter/filter.tsx @@ -1,4 +1,4 @@ -import {Autocomplete, CheckboxOption, CheckboxRow} from 'argo-ux'; +import {Autocomplete, CheckboxOption, CheckboxRow} from 'argo-ui/v2'; import * as React from 'react'; import './filter.scss'; diff --git a/ui/yarn.lock b/ui/yarn.lock index 75f98fe0b323d..1e0f2a354f6d1 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -9,13 +9,6 @@ dependencies: "@babel/highlight" "^7.0.0" -"@babel/code-frame@^7.10.4": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.13.tgz#dcfc826beef65e75c50e21d3837d7d95798dd658" - integrity sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g== - dependencies: - "@babel/highlight" "^7.12.13" - "@babel/core@^7.1.0": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.5.5.tgz#17b2686ef0d6bc58f963dddd68ab669755582c30" @@ -283,11 +276,6 @@ dependencies: "@babel/types" "^7.7.0" -"@babel/helper-validator-identifier@^7.14.0": - version "7.14.0" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz#d26cad8a47c65286b15df1547319a5d0bcf27288" - integrity sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A== - "@babel/helper-wrap-function@^7.7.0": version "7.7.0" resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.7.0.tgz#15af3d3e98f8417a60554acbb6c14e75e0b33b74" @@ -325,15 +313,6 @@ esutils "^2.0.2" js-tokens "^4.0.0" -"@babel/highlight@^7.12.13": - version "7.14.0" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.0.tgz#3197e375711ef6bf834e67d0daec88e4f46113cf" - integrity sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg== - dependencies: - "@babel/helper-validator-identifier" "^7.14.0" - chalk "^2.0.0" - js-tokens "^4.0.0" - "@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.4.4", "@babel/parser@^7.5.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.5.5.tgz#02f077ac8817d3df4a832ef59de67565e71cca4b" @@ -815,14 +794,6 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-typescript" "^7.7.2" -"@babel/runtime-corejs3@^7.10.2": - version "7.14.0" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.14.0.tgz#6bf5fbc0b961f8e3202888cb2cd0fb7a0a9a3f66" - integrity sha512-0R0HTZWHLk6G8jIk0FtoX+AatCtKnswS98VhXwGImFc759PJRp4Tru0PQYZofyijTFUr+gT8Mu7sgXVJLQ0ceg== - dependencies: - core-js-pure "^3.0.0" - regenerator-runtime "^0.13.4" - "@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.4.2": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.5.5.tgz#74fba56d35efbeca444091c7850ccd494fd2f132" @@ -830,13 +801,6 @@ dependencies: regenerator-runtime "^0.13.2" -"@babel/runtime@^7.10.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5": - version "7.14.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.14.0.tgz#46794bc20b612c5f75e62dd071e24dfd95f1cbe6" - integrity sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA== - dependencies: - regenerator-runtime "^0.13.4" - "@babel/runtime@^7.9.2": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.1.tgz#b4116a6b6711d010b2dad3b7b6e43bf1b9954740" @@ -958,11 +922,6 @@ resolved "https://registry.yarnpkg.com/@exodus/schemasafe/-/schemasafe-1.0.0-rc.3.tgz#dda2fbf3dafa5ad8c63dadff7e01d3fdf4736025" integrity sha512-GoXw0U2Qaa33m3eUcxuHnHpNvHjNlLo0gtV091XBpaRINaB4X6FGCG5XKxSFNFiPpugUDqNruHzaqpTdDm4AOg== -"@fortawesome/fontawesome-free@^5.15.2": - version "5.15.3" - resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.3.tgz#c36ffa64a2a239bf948541a97b6ae8d729e09a9a" - integrity sha512-rFnSUN/QOtnOAgqFRooTA3H57JLDm0QEG/jPdk+tLQNL/eWd+Aok8g3qCI+Q1xuDPWpGW/i9JySpJVsq8Q0s9w== - "@fortawesome/fontawesome-free@^5.8.1": version "5.9.0" resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-5.9.0.tgz#1aa5c59efb1b8c6eb6277d1e3e8c8f31998b8c8e" @@ -1143,17 +1102,6 @@ "@types/istanbul-reports" "^1.1.1" "@types/yargs" "^13.0.0" -"@jest/types@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" - integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^15.0.0" - chalk "^4.0.0" - "@nodelib/fs.scandir@2.1.3": version "2.1.3" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" @@ -1194,35 +1142,6 @@ resolved "https://registry.yarnpkg.com/@redocly/react-dropdown-aria/-/react-dropdown-aria-2.0.11.tgz#532b864b329237e646abe45d0f8edc923e77370a" integrity sha512-rmuSC2JFFl4DkPDdGVrmffT9KcbG2AB5jvhxPIrOc1dO9mHRMUUftQY35KZlvWqqSSqVn+AM+J9dhiTo1ZqR8A== -"@testing-library/dom@^7.28.1": - version "7.30.4" - resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-7.30.4.tgz#c6a4a91557e92035fd565246bbbfb8107aa4634d" - integrity sha512-GObDVMaI4ARrZEXaRy4moolNAxWPKvEYNV/fa6Uc2eAzR/t4otS6A7EhrntPBIQLeehL9DbVhscvvv7gd6hWqA== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/runtime" "^7.12.5" - "@types/aria-query" "^4.2.0" - aria-query "^4.2.2" - chalk "^4.1.0" - dom-accessibility-api "^0.5.4" - lz-string "^1.4.4" - pretty-format "^26.6.2" - -"@testing-library/react@^11.1.0": - version "11.2.6" - resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-11.2.6.tgz#586a23adc63615985d85be0c903f374dab19200b" - integrity sha512-TXMCg0jT8xmuU8BkKMtp8l7Z50Ykew5WNX8UoIKTaLFwKkP2+1YDhOLA2Ga3wY4x29jyntk7EWfum0kjlYiSjQ== - dependencies: - "@babel/runtime" "^7.12.5" - "@testing-library/dom" "^7.28.1" - -"@testing-library/user-event@^12.1.10": - version "12.8.3" - resolved "https://registry.yarnpkg.com/@testing-library/user-event/-/user-event-12.8.3.tgz#1aa3ed4b9f79340a1e1836bc7f57c501e838704a" - integrity sha512-IR0iWbFkgd56Bu5ZI/ej8yQwrkCv8Qydx6RzwbKz9faXazR/+5tvYKsZQgyXJiwgpcva127YO6JcWy7YlCfofQ== - dependencies: - "@babel/runtime" "^7.12.5" - "@tippy.js/react@^2.1.2": version "2.2.2" resolved "https://registry.yarnpkg.com/@tippy.js/react/-/react-2.2.2.tgz#a0fbc646958cdb002d7d227f7b18dca346c76f2e" @@ -1241,11 +1160,6 @@ resolved "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a" integrity sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA== -"@types/aria-query@^4.2.0": - version "4.2.1" - resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-4.2.1.tgz#78b5433344e2f92e8b306c06a5622c50c245bf6b" - integrity sha512-S6oPal772qJZHoRZLFc/XoZW2gFvwXusYUmXPXkgxJLuEk2vOt7jc4Yo6z/vtI0EBkbPBVrJJ0B+prLIKiWqHg== - "@types/babel__core@^7.1.0": version "7.1.2" resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.2.tgz#608c74f55928033fce18b99b213c16be4b3d114f" @@ -1344,13 +1258,6 @@ "@types/istanbul-lib-coverage" "*" "@types/istanbul-lib-report" "*" -"@types/istanbul-reports@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz#508b13aa344fa4976234e75dddcc34925737d821" - integrity sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA== - dependencies: - "@types/istanbul-lib-report" "*" - "@types/jest-diff@*": version "20.0.1" resolved "https://registry.yarnpkg.com/@types/jest-diff/-/jest-diff-20.0.1.tgz#35cc15b9c4f30a18ef21852e255fdb02f6d59b89" @@ -1363,14 +1270,6 @@ dependencies: "@types/jest-diff" "*" -"@types/jest@^26.0.15": - version "26.0.23" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.23.tgz#a1b7eab3c503b80451d019efb588ec63522ee4e7" - integrity sha512-ZHLmWMJ9jJ9PTiT58juykZpL7KjwJywFN3Rr2pTSkyQfydf/rk22yS7W8p5DaVUMQ2BQC7oYiU3FjbTM/mYrOA== - dependencies: - jest-diff "^26.0.0" - pretty-format "^26.0.0" - "@types/js-yaml@^3.11.2": version "3.12.1" resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-3.12.1.tgz#5c6f4a1eabca84792fbd916f0cb40847f123c656" @@ -1391,11 +1290,6 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.6.8.tgz#e469b4bf9d1c9832aee4907ba8a051494357c12c" integrity sha512-aX+gFgA5GHcDi89KG5keey2zf0WfZk/HAQotEamsK2kbey+8yGKcson0hbK8E+v0NArlCJQCqMP161YhV6ZXLg== -"@types/node@^12.0.0": - version "12.20.11" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.11.tgz#980832cd56efafff8c18aa148c4085eb02a483f4" - integrity sha512-gema+apZ6qLQK7k7F0dGkGCWQYsL0qqKORWOQO6tq46q+x+1C0vbOiOqOwRVlh4RAdbQwV/j/ryr3u5NOG1fPQ== - "@types/node@^13.11.1": version "13.13.26" resolved "https://registry.yarnpkg.com/@types/node/-/node-13.13.26.tgz#09b8326828d46b174d29086cdb6dcd2d0dcf67a3" @@ -1413,7 +1307,7 @@ dependencies: "@types/react" "*" -"@types/react-dom@16.9.3", "@types/react-dom@^16.9.3": +"@types/react-dom@16.9.3": version "16.9.3" resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.3.tgz#4006ff0e13958af91313869077c04cb20d9b9d04" integrity sha512-FUuZKXPr9qlzUT9lhuzrZgLjH63TvNn28Ch3MvKG4B+F52zQtO8DtE0Opbncy3xaucNZM2WIPfuNTgkbKx5Brg== @@ -1464,15 +1358,6 @@ "@types/react" "*" "@types/react-router" "*" -"@types/react-router-dom@^5.1.7": - version "5.1.7" - resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.1.7.tgz#a126d9ea76079ffbbdb0d9225073eb5797ab7271" - integrity sha512-D5mHD6TbdV/DNHYsnwBTv+y73ei+mMjrkGrla86HthE4/PVvL1J94Bu3qABU+COXzpL23T1EZapVVpwHuBXiUg== - dependencies: - "@types/history" "*" - "@types/react" "*" - "@types/react-router" "*" - "@types/react-router@*": version "5.0.3" resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.0.3.tgz#855a1606e62de3f4d69ea34fb3c0e50e98e964d5" @@ -1496,7 +1381,7 @@ dependencies: "@types/react" "*" -"@types/react@*", "@types/react@16.9.3", "@types/react@^16.9.3", "@types/react@^17.0.2": +"@types/react@*", "@types/react@16.9.3", "@types/react@^17.0.2": version "16.9.3" resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.3.tgz#6d13251e441a3e67fb60d719d1fc8785b984a2ec" integrity sha512-Ogb2nSn+2qQv5opoCv7Ls5yFxtyrdUYxp5G+SWTrlGk7dmFKw331GiezCgEZj9U7QeXJi1CDtws9pdXU1zUL4g== @@ -1575,13 +1460,6 @@ dependencies: "@types/yargs-parser" "*" -"@types/yargs@^15.0.0": - version "15.0.13" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.13.tgz#34f7fec8b389d7f3c1fd08026a5763e072d3c6dc" - integrity sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ== - dependencies: - "@types/yargs-parser" "*" - "@webassemblyjs/ast@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" @@ -1910,7 +1788,7 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" -ansi-styles@^4.0.0, ansi-styles@^4.1.0: +ansi-styles@^4.0.0: version "4.3.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== @@ -1953,7 +1831,7 @@ are-we-there-yet@~1.1.2: "argo-ui@git+https://github.com/argoproj/argo-ui.git": version "1.0.0" - resolved "git+https://github.com/argoproj/argo-ui.git#74898366c30a1eb7f0efb2ebfbb6d3a9b0b9001a" + resolved "git+https://github.com/argoproj/argo-ui.git#fecc293fb19f4c00891d8470932fb4951e21834c" dependencies: "@fortawesome/fontawesome-free" "^5.8.1" "@tippy.js/react" "^2.1.2" @@ -1974,29 +1852,6 @@ are-we-there-yet@~1.1.2: typescript "^4.0.3" xterm "2.4.0" -argo-ux@^1.1.15: - version "1.1.15" - resolved "https://registry.yarnpkg.com/argo-ux/-/argo-ux-1.1.15.tgz#69d8e51f26da063fd7fa3baa7d382c197e80d662" - integrity sha512-rcvyuAccu2Fj2BdqmWS8uRqHIiFTdkRrg/bNiHdWqVk5bYVmjQ7hBhe8IDH/y1o/QtbUKLD6RTVD05qu/g0f3g== - dependencies: - "@fortawesome/fontawesome-free" "^5.15.2" - "@testing-library/react" "^11.1.0" - "@testing-library/user-event" "^12.1.10" - "@types/jest" "^26.0.15" - "@types/node" "^12.0.0" - "@types/react" "^16.9.3" - "@types/react-dom" "^16.9.3" - "@types/react-helmet" "^6.1.0" - "@types/react-router-dom" "^5.1.7" - moment-timezone "^0.5.33" - portable-fetch "^3.0.0" - react-helmet "^6.1.0" - react-hot-loader "^3.1.3" - react-router-dom "^5.2.0" - typescript "^4.1.2" - web-vitals "^1.0.1" - webpack-dev-server "^3.11.2" - argparse@^1.0.2, argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" @@ -2009,14 +1864,6 @@ argv@0.0.2: resolved "https://registry.yarnpkg.com/argv/-/argv-0.0.2.tgz#ecbd16f8949b157183711b1bda334f37840185ab" integrity sha1-7L0W+JSbFXGDcRsb2jNPN4QBhas= -aria-query@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b" - integrity sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA== - dependencies: - "@babel/runtime" "^7.10.2" - "@babel/runtime-corejs3" "^7.10.2" - arr-diff@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" @@ -2682,14 +2529,6 @@ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^4.0.0, chalk@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad" - integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - chalk@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" @@ -3133,11 +2972,6 @@ core-js-compat@^3.1.1: browserslist "^4.7.2" semver "^6.3.0" -core-js-pure@^3.0.0: - version "3.11.2" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.11.2.tgz#10e3b35788c00f431bc0d601d7551475ec3e792c" - integrity sha512-DQxdEKm+zFsnON7ZGOgUAQXBt1UJJ01tOzN/HgQ7cNf0oEHW1tcBLfCQQd1q6otdLu5gAdvKYxKHAoXGwE/kiQ== - core-js@^1.0.0: version "1.2.7" resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" @@ -3538,11 +3372,6 @@ diff-sequences@^24.9.0: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" integrity sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew== -diff-sequences@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" - integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== - diff@^2.2.2: version "2.2.3" resolved "https://registry.yarnpkg.com/diff/-/diff-2.2.3.tgz#60eafd0d28ee906e4e8ff0a52c1229521033bf99" @@ -3589,11 +3418,6 @@ dns-txt@^2.0.2: dependencies: buffer-indexof "^1.0.0" -dom-accessibility-api@^0.5.4: - version "0.5.4" - resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.4.tgz#b06d059cdd4a4ad9a79275f9d414a5c126241166" - integrity sha512-TvrjBckDy2c6v6RLxPv5QXOnU+SmF9nBII5621Ve5fu6Z/BDrENurBEvlC1f44lKEUVqOpK4w9E5Idc5/EgkLQ== - dom-converter@^0.2: version "0.2.0" resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" @@ -4159,7 +3983,7 @@ faye-websocket@^0.10.0: dependencies: websocket-driver ">=0.5.1" -faye-websocket@^0.11.3, faye-websocket@~0.11.1: +faye-websocket@~0.11.1: version "0.11.3" resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e" integrity sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA== @@ -4714,11 +4538,6 @@ has-flag@^3.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - has-symbols@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" @@ -4801,18 +4620,6 @@ history@^4.7.2: tiny-warning "^1.0.0" value-equal "^0.4.0" -history@^4.9.0: - version "4.10.1" - resolved "https://registry.yarnpkg.com/history/-/history-4.10.1.tgz#33371a65e3a83b267434e2b3f3b1b4c58aad4cf3" - integrity sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew== - dependencies: - "@babel/runtime" "^7.1.2" - loose-envify "^1.2.0" - resolve-pathname "^3.0.0" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" - value-equal "^1.0.1" - hmac-drbg@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" @@ -5569,16 +5376,6 @@ jest-diff@^24.9.0: jest-get-type "^24.9.0" pretty-format "^24.9.0" -jest-diff@^26.0.0: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" - integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== - dependencies: - chalk "^4.0.0" - diff-sequences "^26.6.2" - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - jest-docblock@^21.0.0: version "21.2.0" resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-21.2.0.tgz#51529c3b30d5fd159da60c27ceedc195faf8d414" @@ -5635,11 +5432,6 @@ jest-get-type@^24.9.0: resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e" integrity sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q== -jest-get-type@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0" - integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== - jest-haste-map@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.9.0.tgz#b38a5d64274934e21fa417ae9a9fbeb77ceaac7d" @@ -6129,7 +5921,7 @@ json-to-ast@^2.0.3: code-error-fragment "0.0.230" grapheme-splitter "^1.0.4" -json3@^3.3.2, json3@^3.3.3: +json3@^3.3.2: version "3.3.3" resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA== @@ -6417,11 +6209,6 @@ lunr@2.3.8: resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.8.tgz#a8b89c31f30b5a044b97d2d28e2da191b6ba2072" integrity sha512-oxMeX/Y35PNFuZoHp+jUj5OSEmLCaIH4KTFJh7a93cHBoFmpw2IoPs22VIz7vyO2YUnx2Tn9dzIwO2P/4quIRg== -lz-string@^1.4.4: - version "1.4.4" - resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.4.4.tgz#c0d8eaf36059f705796e1e344811cf4c498d3a26" - integrity sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY= - make-dir@^2.0.0, make-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" @@ -6644,14 +6431,6 @@ min-document@^2.19.0: dependencies: dom-walk "^0.1.0" -mini-create-react-context@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz#072171561bfdc922da08a60c2197a497cc2d1d5e" - integrity sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ== - dependencies: - "@babel/runtime" "^7.12.1" - tiny-warning "^1.0.3" - minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" @@ -6781,18 +6560,6 @@ mobx-react@^6.2.2: dependencies: mobx-react-lite "^2.2.0" -moment-timezone@^0.5.33: - version "0.5.33" - resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.33.tgz#b252fd6bb57f341c9b59a5ab61a8e51a73bbd22c" - integrity sha512-PTc2vcT8K9J5/9rDEPe5czSIKgLoGsH8UNpA4qZTVw0Vd/Uz19geE9abbIOQKaAQFcnQ3v5YEXrbSc5BpshH+w== - dependencies: - moment ">= 2.9.0" - -"moment@>= 2.9.0": - version "2.29.1" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3" - integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ== - moment@^2.20.1, moment@^2.24.0: version "2.24.0" resolved "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b" @@ -7717,14 +7484,6 @@ popper.js@^1.14.7: resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.15.0.tgz#5560b99bbad7647e9faa475c6b8056621f5a4ff2" integrity sha512-w010cY1oCUmI+9KwwlWki+r5jxKfTFDVoadl7MSrIujHU5MJ5OR6HTDj6Xo8aoR/QsA56x8jKjA59qGH4ELtrA== -portable-fetch@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/portable-fetch/-/portable-fetch-3.0.0.tgz#3cbf4aa6dbc5a5734b41c0419c9273313bfd9ad8" - integrity sha1-PL9KptvFpXNLQcBBnJJzMTv9mtg= - dependencies: - node-fetch "^1.0.1" - whatwg-fetch ">=0.10.0" - portfinder@^1.0.26: version "1.0.28" resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" @@ -7863,16 +7622,6 @@ pretty-format@^24.9.0: ansi-styles "^3.2.0" react-is "^16.8.4" -pretty-format@^26.0.0, pretty-format@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" - integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== - dependencies: - "@jest/types" "^26.6.2" - ansi-regex "^5.0.0" - ansi-styles "^4.0.0" - react-is "^17.0.1" - prismjs@^1.20.0: version "1.24.0" resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.24.0.tgz#0409c30068a6c52c89ef7f1089b3ca4de56be2ac" @@ -8201,11 +7950,6 @@ react-is@^16.8.3: resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.11.0.tgz#b85dfecd48ad1ce469ff558a882ca8e8313928fa" integrity sha512-gbBVYR2p8mnriqAwWx9LbuUrShnAuSCNnuPGyc7GJrMVQtPDAh8iLpv7FRuMPFb56KkaVZIYSz1PrjI9q0QPCw== -react-is@^17.0.1: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" - integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== - react-keyhooks@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/react-keyhooks/-/react-keyhooks-0.2.0.tgz#0cd4103aa2de8fc855e8b76420a2d96c11978d74" @@ -8263,35 +8007,6 @@ react-router-dom@^4.2.2: react-router "^4.3.1" warning "^4.0.1" -react-router-dom@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.2.0.tgz#9e65a4d0c45e13289e66c7b17c7e175d0ea15662" - integrity sha512-gxAmfylo2QUjcwxI63RhQ5G85Qqt4voZpUXSEqCwykV0baaOTQDR1f0PmY8AELqIyVc0NEZUj0Gov5lNGcXgsA== - dependencies: - "@babel/runtime" "^7.1.2" - history "^4.9.0" - loose-envify "^1.3.1" - prop-types "^15.6.2" - react-router "5.2.0" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" - -react-router@5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.2.0.tgz#424e75641ca8747fbf76e5ecca69781aa37ea293" - integrity sha512-smz1DUuFHRKdcJC0jobGo8cVbhO3x50tCL4icacOlcwDOEQPq4TMqwx3sY1TP+DvtTgz4nm3thuo7A+BK2U0Dw== - dependencies: - "@babel/runtime" "^7.1.2" - history "^4.9.0" - hoist-non-react-statics "^3.1.0" - loose-envify "^1.3.1" - mini-create-react-context "^0.4.0" - path-to-regexp "^1.7.0" - prop-types "^15.6.2" - react-is "^16.6.0" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" - react-router@^4.3.1: version "4.3.1" resolved "https://registry.yarnpkg.com/react-router/-/react-router-4.3.1.tgz#aada4aef14c809cb2e686b05cee4742234506c4e" @@ -8800,11 +8515,6 @@ resolve-pathname@^2.2.0: resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-2.2.0.tgz#7e9ae21ed815fd63ab189adeee64dc831eefa879" integrity sha512-bAFz9ld18RzJfddgrO2e/0S2O81710++chRMUxHjXOYKF6jTAMrUNZrEZ1PvV0zlhfjidm08iRPdTLPno1FuRg== -resolve-pathname@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" - integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== - resolve-url@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" @@ -9027,13 +8737,6 @@ selfsigned@^1.10.7: dependencies: node-forge "^0.10.0" -selfsigned@^1.10.8: - version "1.10.11" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.11.tgz#24929cd906fe0f44b6d01fb23999a739537acbe9" - integrity sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA== - dependencies: - node-forge "^0.10.0" - "semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.5: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" @@ -9302,18 +9005,6 @@ sockjs-client@1.4.0: json3 "^3.3.2" url-parse "^1.4.3" -sockjs-client@^1.5.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.5.1.tgz#256908f6d5adfb94dabbdbd02c66362cca0f9ea6" - integrity sha512-VnVAb663fosipI/m6pqRXakEOw7nvd7TUgdr3PlR/8V2I95QIdwT8L4nMxhyU8SmDBHYXU1TOElaKOmKLfYzeQ== - dependencies: - debug "^3.2.6" - eventsource "^1.0.7" - faye-websocket "^0.11.3" - inherits "^2.0.4" - json3 "^3.3.3" - url-parse "^1.5.1" - sockjs@0.3.20: version "0.3.20" resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.20.tgz#b26a283ec562ef8b2687b44033a4eeceac75d855" @@ -9323,15 +9014,6 @@ sockjs@0.3.20: uuid "^3.4.0" websocket-driver "0.6.5" -sockjs@^0.3.21: - version "0.3.21" - resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.21.tgz#b34ffb98e796930b60a0cfa11904d6a339a7d417" - integrity sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw== - dependencies: - faye-websocket "^0.11.3" - uuid "^3.4.0" - websocket-driver "^0.7.4" - source-list-map@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" @@ -9801,13 +9483,6 @@ supports-color@^6.1.0: dependencies: has-flag "^3.0.0" -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - swagger2openapi@^6.2.1: version "6.2.3" resolved "https://registry.yarnpkg.com/swagger2openapi/-/swagger2openapi-6.2.3.tgz#4a8059f89d851aee4c9ab178f9b7190debd904e2" @@ -9949,7 +9624,7 @@ tiny-invariant@^1.0.2: resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.0.6.tgz#b3f9b38835e36a41c843a3b0907a5a7b3755de73" integrity sha512-FOyLWWVjG+aC0UqG76V53yAWdXfH8bO6FNmyZOuUrzDzK8DI3/JRY25UD7+g49JWM1LXwymsKERB+DzI0dTEQA== -tiny-warning@^1.0.0, tiny-warning@^1.0.3: +tiny-warning@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== @@ -10225,11 +9900,6 @@ typescript@^4.0.3: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.3.tgz#153bbd468ef07725c1df9c77e8b453f8d36abba5" integrity sha512-tEu6DGxGgRJPb/mVPIZ48e69xCn2yRmCgYmDugAVwmJ6o+0u1RI18eO7E7WBTLYLaEVVOhwQmcdhQHweux/WPg== -typescript@^4.1.2: - version "4.2.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.4.tgz#8610b59747de028fda898a8aef0e103f156d0961" - integrity sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg== - ua-parser-js@^0.7.18: version "0.7.28" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.28.tgz#8ba04e653f35ce210239c64661685bf9121dec31" @@ -10342,7 +10012,7 @@ urix@^0.1.0: resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= -url-parse@^1.4.3, url-parse@^1.5.1: +url-parse@^1.4.3: version "1.5.1" resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.1.tgz#d5fa9890af8a5e1f274a2c98376510f6425f6e3b" integrity sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q== @@ -10462,11 +10132,6 @@ value-equal@^0.4.0: resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-0.4.0.tgz#c5bdd2f54ee093c04839d71ce2e4758a6890abc7" integrity sha512-x+cYdNnaA3CxvMaTX0INdTCN8m8aF2uY9BvEqmxuYp8bL09cs/kWVQPVGcA35fMktdOsP69IgU7wFj/61dJHEw== -value-equal@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" - integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw== - vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" @@ -10554,11 +10219,6 @@ wbuf@^1.1.0, wbuf@^1.7.3: dependencies: minimalistic-assert "^1.0.0" -web-vitals@^1.0.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/web-vitals/-/web-vitals-1.1.1.tgz#2df535e3355fb7fbe34787b44b736e270e539377" - integrity sha512-jYOaqu01Ny1NvMwJ3dBJDUOJ2PGWknZWH4AUnvFOscvbdHMERIKT2TlgiAey5rVyfOePG7so2JcXXZdSnBvioQ== - webidl-conversions@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" @@ -10631,45 +10291,6 @@ webpack-dev-server@^3.11.0: ws "^6.2.1" yargs "^13.3.2" -webpack-dev-server@^3.11.2: - version "3.11.2" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz#695ebced76a4929f0d5de7fd73fafe185fe33708" - integrity sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ== - dependencies: - ansi-html "0.0.7" - bonjour "^3.5.0" - chokidar "^2.1.8" - compression "^1.7.4" - connect-history-api-fallback "^1.6.0" - debug "^4.1.1" - del "^4.1.1" - express "^4.17.1" - html-entities "^1.3.1" - http-proxy-middleware "0.19.1" - import-local "^2.0.0" - internal-ip "^4.3.0" - ip "^1.1.5" - is-absolute-url "^3.0.3" - killable "^1.0.1" - loglevel "^1.6.8" - opn "^5.5.0" - p-retry "^3.0.1" - portfinder "^1.0.26" - schema-utils "^1.0.0" - selfsigned "^1.10.8" - semver "^6.3.0" - serve-index "^1.9.1" - sockjs "^0.3.21" - sockjs-client "^1.5.0" - spdy "^4.0.2" - strip-ansi "^3.0.1" - supports-color "^6.1.0" - url "^0.11.0" - webpack-dev-middleware "^3.7.2" - webpack-log "^2.0.0" - ws "^6.2.1" - yargs "^13.3.2" - webpack-log@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" @@ -10722,7 +10343,7 @@ websocket-driver@0.6.5: dependencies: websocket-extensions ">=0.1.1" -websocket-driver@>=0.5.1, websocket-driver@^0.7.4: +websocket-driver@>=0.5.1: version "0.7.4" resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== From ba4c65540b178f50078f138e171b2b282842b06d Mon Sep 17 00:00:00 2001 From: Saumeya Katyal Date: Sat, 3 Jul 2021 02:39:34 +0530 Subject: [PATCH 12/93] fix: Modify column size for Count field (#6611) Signed-off-by: saumeya --- .../components/events-list/events-list.tsx | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/ui/src/app/shared/components/events-list/events-list.tsx b/ui/src/app/shared/components/events-list/events-list.tsx index fe175e056e836..6b5d5fa245106 100644 --- a/ui/src/app/shared/components/events-list/events-list.tsx +++ b/ui/src/app/shared/components/events-list/events-list.tsx @@ -14,21 +14,21 @@ export const EventsList = (props: {events: models.Event[]}) => {
-
REASON
-
MESSAGE
-
COUNT
-
FIRST OCCURRED
-
LAST OCCURRED
+
REASON
+
MESSAGE
+
COUNT
+
FIRST OCCURRED
+
LAST OCCURRED
{events.map(event => (
-
{event.reason}
-
{event.message}
-
{event.count}
-
{event.firstTimestamp}
-
{event.lastTimestamp}
+
{event.reason}
+
{event.message}
+
{event.count}
+
{event.firstTimestamp}
+
{event.lastTimestamp}
))} From f12650c32bc6e3cfc169e80d75bcb1501cecb47a Mon Sep 17 00:00:00 2001 From: Alexander Matyushentsev Date: Fri, 2 Jul 2021 17:02:34 -0700 Subject: [PATCH 13/93] fix: Application list page filter counts are confusing (#6625) (#6626) Signed-off-by: Alexander Matyushentsev --- .../applications-list/applications-filter.tsx | 48 ++++++++++++++++--- .../applications-list/applications-list.tsx | 26 ++++------ 2 files changed, 50 insertions(+), 24 deletions(-) diff --git a/ui/src/app/applications/components/applications-list/applications-filter.tsx b/ui/src/app/applications/components/applications-list/applications-filter.tsx index 0bdcfe33f2fda..98e8342f77fdf 100644 --- a/ui/src/app/applications/components/applications-list/applications-filter.tsx +++ b/ui/src/app/applications/components/applications-list/applications-filter.tsx @@ -1,10 +1,41 @@ import {ActionButton, debounce, useData} from 'argo-ui/v2'; +import * as minimatch from 'minimatch'; import * as React from 'react'; import {Application, ApplicationDestination, Cluster, HealthStatusCode, HealthStatuses, SyncStatusCode, SyncStatuses} from '../../../shared/models'; import {AppsListPreferences, services} from '../../../shared/services'; import {Filter} from '../filter/filter'; +import * as LabelSelector from '../label-selector'; import {ComparisonStatusIcon, HealthStatusIcon} from '../utils'; +export interface FilterResult { + projects: boolean; + repos: boolean; + sync: boolean; + health: boolean; + namespaces: boolean; + clusters: boolean; + labels: boolean; +} + +export interface FilteredApp extends Application { + filterResult: FilterResult; +} + +export function getFilterResults(applications: Application[], pref: AppsListPreferences): FilteredApp[] { + return applications.map(app => ({ + ...app, + filterResult: { + projects: pref.projectsFilter.length === 0 || pref.projectsFilter.includes(app.spec.project), + repos: pref.reposFilter.length === 0 || pref.reposFilter.includes(app.spec.source.repoURL), + sync: pref.syncFilter.length === 0 || pref.syncFilter.includes(app.status.sync.status), + health: pref.healthFilter.length === 0 || pref.healthFilter.includes(app.status.health.status), + namespaces: pref.namespacesFilter.length === 0 || pref.namespacesFilter.some(ns => app.spec.destination.namespace && minimatch(app.spec.destination.namespace, ns)), + clusters: pref.clustersFilter.length === 0 || pref.clustersFilter.some(server => server === (app.spec.destination.server || app.spec.destination.name)), + labels: pref.labelsFilter.length === 0 || pref.labelsFilter.every(selector => LabelSelector.match(selector, app.metadata.labels)) + } + })); +} + const optionsFrom = (options: string[], filter: string[]) => { return options .filter(s => filter.indexOf(s) === -1) @@ -14,22 +45,25 @@ const optionsFrom = (options: string[], filter: string[]) => { }; interface AppFilterProps { - apps: Application[]; + apps: FilteredApp[]; pref: AppsListPreferences; onChange: (newPrefs: AppsListPreferences) => void; } -const getCounts = (apps: Application[], filter: (app: Application) => string, init?: string[]) => { +const getCounts = (apps: FilteredApp[], filterType: keyof FilterResult, filter: (app: Application) => string, init?: string[]) => { const map = new Map(); if (init) { init.forEach(key => map.set(key, 0)); } - apps.filter(filter).forEach(app => map.set(filter(app), (map.get(filter(app)) || 0) + 1)); + // filter out all apps that does not match other filters and ignore this filter result + apps.filter(app => filter(app) && Object.keys(app.filterResult).every((key: keyof FilterResult) => key === filterType || app.filterResult[key])).forEach(app => + map.set(filter(app), (map.get(filter(app)) || 0) + 1) + ); return map; }; -const getOptions = (apps: Application[], filter: (app: Application) => string, keys: string[], getIcon?: (k: string) => React.ReactNode) => { - const counts = getCounts(apps, filter, keys); +const getOptions = (apps: FilteredApp[], filterType: keyof FilterResult, filter: (app: Application) => string, keys: string[], getIcon?: (k: string) => React.ReactNode) => { + const counts = getCounts(apps, filterType, filter, keys); return keys.map(k => { return { label: k, @@ -44,7 +78,7 @@ const SyncFilter = (props: AppFilterProps) => ( label='SYNC STATUS' selected={props.pref.syncFilter} setSelected={s => props.onChange({...props.pref, syncFilter: s})} - options={getOptions(props.apps, app => app.status.sync.status, Object.keys(SyncStatuses), s => ( + options={getOptions(props.apps, 'sync', app => app.status.sync.status, Object.keys(SyncStatuses), s => ( ))} /> @@ -55,7 +89,7 @@ const HealthFilter = (props: AppFilterProps) => ( label='HEALTH STATUS' selected={props.pref.healthFilter} setSelected={s => props.onChange({...props.pref, healthFilter: s})} - options={getOptions(props.apps, app => app.status.health.status, Object.keys(HealthStatuses), s => ( + options={getOptions(props.apps, 'health', app => app.status.health.status, Object.keys(HealthStatuses), s => ( ))} /> diff --git a/ui/src/app/applications/components/applications-list/applications-list.tsx b/ui/src/app/applications/components/applications-list/applications-list.tsx index ee8e49b4feb31..6f71a2cf0dcc8 100644 --- a/ui/src/app/applications/components/applications-list/applications-list.tsx +++ b/ui/src/app/applications/components/applications-list/applications-list.tsx @@ -1,6 +1,5 @@ import {Autocomplete, ErrorNotification, MockupList, NotificationType, SlidingPanel, Toolbar} from 'argo-ui'; import * as classNames from 'classnames'; -import * as minimatch from 'minimatch'; import * as React from 'react'; import {Key, KeybindingContext, KeybindingProvider} from 'react-keyhooks'; import {RouteComponentProps} from 'react-router'; @@ -13,9 +12,8 @@ import {AppsListPreferences, AppsListViewType, services} from '../../../shared/s import {ApplicationCreatePanel} from '../application-create-panel/application-create-panel'; import {ApplicationSyncPanel} from '../application-sync-panel/application-sync-panel'; import {ApplicationsSyncPanel} from '../applications-sync-panel/applications-sync-panel'; -import * as LabelSelector from '../label-selector'; import * as AppUtils from '../utils'; -import {ApplicationsFilter} from './applications-filter'; +import {ApplicationsFilter, FilteredApp, getFilterResults} from './applications-filter'; import {ApplicationsSummary} from './applications-summary'; import {ApplicationsTable} from './applications-table'; import {ApplicationTiles} from './applications-tiles'; @@ -142,18 +140,12 @@ const ViewPref = ({children}: {children: (pref: AppsListPreferences & {page: num ); -function filterApps(applications: models.Application[], pref: AppsListPreferences, search: string) { - return applications.filter( - app => - (search === '' || app.metadata.name.includes(search)) && - (pref.projectsFilter.length === 0 || pref.projectsFilter.includes(app.spec.project)) && - (pref.reposFilter.length === 0 || pref.reposFilter.includes(app.spec.source.repoURL)) && - (pref.syncFilter.length === 0 || pref.syncFilter.includes(app.status.sync.status)) && - (pref.healthFilter.length === 0 || pref.healthFilter.includes(app.status.health.status)) && - (pref.namespacesFilter.length === 0 || pref.namespacesFilter.some(ns => app.spec.destination.namespace && minimatch(app.spec.destination.namespace, ns))) && - (pref.clustersFilter.length === 0 || pref.clustersFilter.some(server => server === (app.spec.destination.server || app.spec.destination.name))) && - (pref.labelsFilter.length === 0 || pref.labelsFilter.every(selector => LabelSelector.match(selector, app.metadata.labels))) - ); +function filterApps(applications: models.Application[], pref: AppsListPreferences, search: string): {filteredApps: models.Application[]; filterResults: FilteredApp[]} { + const filterResults = getFilterResults(applications, pref); + return { + filterResults, + filteredApps: filterResults.filter(app => (search === '' || app.metadata.name.includes(search)) && Object.values(app.filterResult).every(val => val)) + }; } function tryJsonParse(input: string) { @@ -384,7 +376,7 @@ export const ApplicationsList = (props: RouteComponentProps<{}>) => {
{pref => { - const filteredApps = filterApps(applications, pref, pref.search); + const {filteredApps, filterResults} = filterApps(applications, pref, pref.search); return applications.length === 0 && (pref.labelsFilter || []).length === 0 ? (

No applications yet

@@ -399,7 +391,7 @@ export const ApplicationsList = (props: RouteComponentProps<{}>) => { ) : (
- onFilterPrefChanged(ctx, newPrefs)} pref={pref} /> + onFilterPrefChanged(ctx, newPrefs)} pref={pref} /> {syncAppsInput && ( Date: Tue, 6 Jul 2021 10:37:46 +0300 Subject: [PATCH 14/93] docs: add MariaDB (#6638) Signed-off-by: Shyukri Shyukriev --- USERS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/USERS.md b/USERS.md index ad33df56088c7..9a732726c2109 100644 --- a/USERS.md +++ b/USERS.md @@ -145,3 +145,4 @@ Currently, the following organizations are **officially** using Argo CD: 1. [Kaltura](https://corp.kaltura.com/) 1. [Boticario](https://www.boticario.com.br/) 1. [Beleza Na Web](https://www.belezanaweb.com.br/) +1. [MariaDB](https://mariadb.com) From ef7ee088f54b3109722ef0ff93f4c79d5a5f9d28 Mon Sep 17 00:00:00 2001 From: Takuma Kume Date: Tue, 6 Jul 2021 19:11:48 +0900 Subject: [PATCH 15/93] feat: Supported set metadata annotations with `argocd-util app generate-spec` command (#6633) * feat: Supported set metadata annotations with `argocd-util appgenerate-spec` command Signed-off-by: takumakume * docs: Added `--annotations` option of `argocd-util app generate-spec` command Signed-off-by: takumakume * fix: `--annotations` option changes the `.metadata` section, so change it to the appropriate place Signed-off-by: takumakume * docs: Added `--annotations` option of `argocdapp create` command Signed-off-by: takumakume * fix: set an empty value if there is no `=` in `--annotations` Signed-off-by: takumakume * docs: added an example `--annotations` are `=` delimited Signed-off-by: takumakume --- cmd/argocd-util/commands/app.go | 4 +++- cmd/argocd/commands/app.go | 14 ++++++++------ cmd/util/app.go | 18 +++++++++++++++++- cmd/util/app_test.go | 18 ++++++++++++++++++ .../argocd-util_app_generate-spec.md | 1 + docs/user-guide/commands/argocd_app_create.md | 1 + 6 files changed, 48 insertions(+), 8 deletions(-) diff --git a/cmd/argocd-util/commands/app.go b/cmd/argocd-util/commands/app.go index 2a9ff5fe9994d..c02243e6a87db 100644 --- a/cmd/argocd-util/commands/app.go +++ b/cmd/argocd-util/commands/app.go @@ -61,6 +61,7 @@ func NewGenAppSpecCommand() *cobra.Command { appName string labels []string outputFormat string + annotations []string ) var command = &cobra.Command{ Use: "generate-spec APPNAME", @@ -85,7 +86,7 @@ func NewGenAppSpecCommand() *cobra.Command { argocd-util app generate-spec ksane --repo https://github.com/argoproj/argocd-example-apps.git --path plugins/kasane --dest-namespace default --dest-server https://kubernetes.default.svc --config-management-plugin kasane `, Run: func(c *cobra.Command, args []string) { - app, err := cmdutil.ConstructApp(fileURL, appName, labels, args, appOpts, c.Flags()) + app, err := cmdutil.ConstructApp(fileURL, appName, labels, annotations, args, appOpts, c.Flags()) errors.CheckError(err) if app.Name == "" { @@ -101,6 +102,7 @@ func NewGenAppSpecCommand() *cobra.Command { command.Flags().StringVar(&appName, "name", "", "A name for the app, ignored if a file is set (DEPRECATED)") command.Flags().StringVarP(&fileURL, "file", "f", "", "Filename or URL to Kubernetes manifests for the app") command.Flags().StringArrayVarP(&labels, "label", "l", []string{}, "Labels to apply to the app") + command.Flags().StringArrayVarP(&annotations, "annotations", "", []string{}, "Set metadata annotations (e.g. example=value)") command.Flags().StringVarP(&outputFormat, "output", "o", "yaml", "Output format. One of: json|yaml") // Only complete files with appropriate extension. diff --git a/cmd/argocd/commands/app.go b/cmd/argocd/commands/app.go index 6d0a33189c5f5..002a48b292e7e 100644 --- a/cmd/argocd/commands/app.go +++ b/cmd/argocd/commands/app.go @@ -101,11 +101,12 @@ func NewApplicationCommand(clientOpts *argocdclient.ClientOptions) *cobra.Comman // NewApplicationCreateCommand returns a new instance of an `argocd app create` command func NewApplicationCreateCommand(clientOpts *argocdclient.ClientOptions) *cobra.Command { var ( - appOpts cmdutil.AppOptions - fileURL string - appName string - upsert bool - labels []string + appOpts cmdutil.AppOptions + fileURL string + appName string + upsert bool + labels []string + annotations []string ) var command = &cobra.Command{ Use: "create APPNAME", @@ -132,7 +133,7 @@ func NewApplicationCreateCommand(clientOpts *argocdclient.ClientOptions) *cobra. Run: func(c *cobra.Command, args []string) { argocdClient := argocdclient.NewClientOrDie(clientOpts) - app, err := cmdutil.ConstructApp(fileURL, appName, labels, args, appOpts, c.Flags()) + app, err := cmdutil.ConstructApp(fileURL, appName, labels, annotations, args, appOpts, c.Flags()) errors.CheckError(err) if app.Name == "" { @@ -156,6 +157,7 @@ func NewApplicationCreateCommand(clientOpts *argocdclient.ClientOptions) *cobra. command.Flags().BoolVar(&upsert, "upsert", false, "Allows to override application with the same name even if supplied application spec is different from existing spec") command.Flags().StringVarP(&fileURL, "file", "f", "", "Filename or URL to Kubernetes manifests for the app") command.Flags().StringArrayVarP(&labels, "label", "l", []string{}, "Labels to apply to the app") + command.Flags().StringArrayVarP(&annotations, "annotations", "", []string{}, "Set metadata annotations (e.g. example=value)") // Only complete files with appropriate extension. err := command.Flags().SetAnnotation("file", cobra.BashCompFilenameExt, []string{"json", "yaml", "yml"}) if err != nil { diff --git a/cmd/util/app.go b/cmd/util/app.go index 505cf2176f72e..dbf99d49e57d3 100644 --- a/cmd/util/app.go +++ b/cmd/util/app.go @@ -537,7 +537,7 @@ func readAppFromURI(fileURL string, app *argoappv1.Application) error { return err } -func ConstructApp(fileURL, appName string, labels, args []string, appOpts AppOptions, flags *pflag.FlagSet) (*argoappv1.Application, error) { +func ConstructApp(fileURL, appName string, labels, annotations, args []string, appOpts AppOptions, flags *pflag.FlagSet) (*argoappv1.Application, error) { var app argoappv1.Application if fileURL == "-" { // read stdin @@ -563,6 +563,7 @@ func ConstructApp(fileURL, appName string, labels, args []string, appOpts AppOpt SetAppSpecOptions(flags, &app.Spec, &appOpts) SetParameterOverrides(&app, appOpts.Parameters) mergeLabels(&app, labels) + setAnnotations(&app, annotations) } else { // read arguments if len(args) == 1 { @@ -583,6 +584,7 @@ func ConstructApp(fileURL, appName string, labels, args []string, appOpts AppOpt SetAppSpecOptions(flags, &app.Spec, &appOpts) SetParameterOverrides(&app, appOpts.Parameters) mergeLabels(&app, labels) + setAnnotations(&app, annotations) } return &app, nil } @@ -603,3 +605,17 @@ func mergeLabels(app *argoappv1.Application, labels []string) { app.SetLabels(mergedLabels) } + +func setAnnotations(app *argoappv1.Application, annotations []string) { + if len(annotations) > 0 && app.Annotations == nil { + app.Annotations = map[string]string{} + } + for _, a := range annotations { + annotation := strings.SplitN(a, "=", 2) + if len(annotation) == 2 { + app.Annotations[annotation[0]] = annotation[1] + } else { + app.Annotations[annotation[0]] = "" + } + } +} diff --git a/cmd/util/app_test.go b/cmd/util/app_test.go index 211e836d2c3e5..3bdc839e14409 100644 --- a/cmd/util/app_test.go +++ b/cmd/util/app_test.go @@ -172,3 +172,21 @@ func Test_setAppSpecOptions(t *testing.T) { assert.Nil(t, f.spec.SyncPolicy.Retry) }) } + +func Test_setAnnotations(t *testing.T) { + t.Run("Annotations", func(t *testing.T) { + app := v1alpha1.Application{} + setAnnotations(&app, []string{"hoge=foo", "huga=bar"}) + assert.Equal(t, map[string]string{"hoge": "foo", "huga": "bar"}, app.Annotations) + }) + t.Run("Annotations value contains equal", func(t *testing.T) { + app := v1alpha1.Application{} + setAnnotations(&app, []string{"hoge=foo=bar"}) + assert.Equal(t, map[string]string{"hoge": "foo=bar"}, app.Annotations) + }) + t.Run("Annotations empty value", func(t *testing.T) { + app := v1alpha1.Application{} + setAnnotations(&app, []string{"hoge"}) + assert.Equal(t, map[string]string{"hoge": ""}, app.Annotations) + }) +} diff --git a/docs/operator-manual/server-commands/argocd-util_app_generate-spec.md b/docs/operator-manual/server-commands/argocd-util_app_generate-spec.md index 762b61af92e6a..c1d3cf8ffbfd2 100644 --- a/docs/operator-manual/server-commands/argocd-util_app_generate-spec.md +++ b/docs/operator-manual/server-commands/argocd-util_app_generate-spec.md @@ -34,6 +34,7 @@ argocd-util app generate-spec APPNAME [flags] ``` --allow-empty Set allow zero live resources when sync is automated + --annotations stringArray Set metadata annotations (e.g. example=value) --auto-prune Set automatic pruning when sync is automated --config-management-plugin string Config management plugin name --dest-name string K8s cluster Name (e.g. minikube) diff --git a/docs/user-guide/commands/argocd_app_create.md b/docs/user-guide/commands/argocd_app_create.md index 6039c991e516f..177d101a380a4 100644 --- a/docs/user-guide/commands/argocd_app_create.md +++ b/docs/user-guide/commands/argocd_app_create.md @@ -34,6 +34,7 @@ argocd app create APPNAME [flags] ``` --allow-empty Set allow zero live resources when sync is automated + --annotations stringArray Set metadata annotations (e.g. example=value) --auto-prune Set automatic pruning when sync is automated --config-management-plugin string Config management plugin name --dest-name string K8s cluster Name (e.g. minikube) From e0db23b63d0821afe42a240a760a80818b620618 Mon Sep 17 00:00:00 2001 From: Yujun Zhang Date: Tue, 6 Jul 2021 18:12:51 +0800 Subject: [PATCH 16/93] feat: make http client retryable (#6632) Signed-off-by: Yujun Zhang --- cmd/argocd/commands/root.go | 1 + docs/user-guide/commands/argocd.md | 1 + docs/user-guide/commands/argocd_account.md | 1 + docs/user-guide/commands/argocd_account_can-i.md | 1 + .../commands/argocd_account_delete-token.md | 1 + .../commands/argocd_account_generate-token.md | 1 + .../commands/argocd_account_get-user-info.md | 1 + docs/user-guide/commands/argocd_account_get.md | 1 + docs/user-guide/commands/argocd_account_list.md | 1 + .../commands/argocd_account_update-password.md | 1 + docs/user-guide/commands/argocd_app.md | 1 + docs/user-guide/commands/argocd_app_actions.md | 1 + docs/user-guide/commands/argocd_app_actions_list.md | 1 + docs/user-guide/commands/argocd_app_actions_run.md | 1 + docs/user-guide/commands/argocd_app_create.md | 1 + docs/user-guide/commands/argocd_app_delete.md | 1 + docs/user-guide/commands/argocd_app_diff.md | 1 + docs/user-guide/commands/argocd_app_edit.md | 1 + docs/user-guide/commands/argocd_app_get.md | 1 + docs/user-guide/commands/argocd_app_history.md | 1 + docs/user-guide/commands/argocd_app_list.md | 1 + docs/user-guide/commands/argocd_app_logs.md | 1 + docs/user-guide/commands/argocd_app_manifests.md | 1 + .../user-guide/commands/argocd_app_patch-resource.md | 1 + docs/user-guide/commands/argocd_app_patch.md | 1 + docs/user-guide/commands/argocd_app_resources.md | 1 + docs/user-guide/commands/argocd_app_rollback.md | 1 + docs/user-guide/commands/argocd_app_set.md | 1 + docs/user-guide/commands/argocd_app_sync.md | 1 + docs/user-guide/commands/argocd_app_terminate-op.md | 1 + docs/user-guide/commands/argocd_app_unset.md | 1 + docs/user-guide/commands/argocd_app_wait.md | 1 + docs/user-guide/commands/argocd_cert.md | 1 + docs/user-guide/commands/argocd_cert_add-ssh.md | 1 + docs/user-guide/commands/argocd_cert_add-tls.md | 1 + docs/user-guide/commands/argocd_cert_list.md | 1 + docs/user-guide/commands/argocd_cert_rm.md | 1 + docs/user-guide/commands/argocd_cluster.md | 1 + docs/user-guide/commands/argocd_cluster_add.md | 1 + docs/user-guide/commands/argocd_cluster_get.md | 1 + docs/user-guide/commands/argocd_cluster_list.md | 1 + docs/user-guide/commands/argocd_cluster_rm.md | 1 + .../commands/argocd_cluster_rotate-auth.md | 1 + docs/user-guide/commands/argocd_completion.md | 1 + docs/user-guide/commands/argocd_context.md | 1 + docs/user-guide/commands/argocd_gpg.md | 1 + docs/user-guide/commands/argocd_gpg_add.md | 1 + docs/user-guide/commands/argocd_gpg_get.md | 1 + docs/user-guide/commands/argocd_gpg_list.md | 1 + docs/user-guide/commands/argocd_gpg_rm.md | 1 + docs/user-guide/commands/argocd_login.md | 1 + docs/user-guide/commands/argocd_logout.md | 1 + docs/user-guide/commands/argocd_proj.md | 1 + .../commands/argocd_proj_add-destination.md | 1 + .../commands/argocd_proj_add-orphaned-ignore.md | 1 + .../commands/argocd_proj_add-signature-key.md | 1 + docs/user-guide/commands/argocd_proj_add-source.md | 1 + .../commands/argocd_proj_allow-cluster-resource.md | 1 + .../commands/argocd_proj_allow-namespace-resource.md | 1 + docs/user-guide/commands/argocd_proj_create.md | 1 + docs/user-guide/commands/argocd_proj_delete.md | 1 + .../commands/argocd_proj_deny-cluster-resource.md | 1 + .../commands/argocd_proj_deny-namespace-resource.md | 1 + docs/user-guide/commands/argocd_proj_edit.md | 1 + docs/user-guide/commands/argocd_proj_get.md | 1 + docs/user-guide/commands/argocd_proj_list.md | 1 + .../commands/argocd_proj_remove-destination.md | 1 + .../commands/argocd_proj_remove-orphaned-ignore.md | 1 + .../commands/argocd_proj_remove-signature-key.md | 1 + .../user-guide/commands/argocd_proj_remove-source.md | 1 + docs/user-guide/commands/argocd_proj_role.md | 1 + .../commands/argocd_proj_role_add-group.md | 1 + .../commands/argocd_proj_role_add-policy.md | 1 + .../commands/argocd_proj_role_create-token.md | 1 + docs/user-guide/commands/argocd_proj_role_create.md | 1 + .../commands/argocd_proj_role_delete-token.md | 1 + docs/user-guide/commands/argocd_proj_role_delete.md | 1 + docs/user-guide/commands/argocd_proj_role_get.md | 1 + .../commands/argocd_proj_role_list-tokens.md | 1 + docs/user-guide/commands/argocd_proj_role_list.md | 1 + .../commands/argocd_proj_role_remove-group.md | 1 + .../commands/argocd_proj_role_remove-policy.md | 1 + docs/user-guide/commands/argocd_proj_set.md | 1 + docs/user-guide/commands/argocd_proj_windows.md | 1 + docs/user-guide/commands/argocd_proj_windows_add.md | 1 + .../commands/argocd_proj_windows_delete.md | 1 + .../argocd_proj_windows_disable-manual-sync.md | 1 + .../argocd_proj_windows_enable-manual-sync.md | 1 + docs/user-guide/commands/argocd_proj_windows_list.md | 1 + .../commands/argocd_proj_windows_update.md | 1 + docs/user-guide/commands/argocd_relogin.md | 1 + docs/user-guide/commands/argocd_repo.md | 1 + docs/user-guide/commands/argocd_repo_add.md | 1 + docs/user-guide/commands/argocd_repo_get.md | 1 + docs/user-guide/commands/argocd_repo_list.md | 1 + docs/user-guide/commands/argocd_repo_rm.md | 1 + docs/user-guide/commands/argocd_repocreds.md | 1 + docs/user-guide/commands/argocd_repocreds_add.md | 1 + docs/user-guide/commands/argocd_repocreds_list.md | 1 + docs/user-guide/commands/argocd_repocreds_rm.md | 1 + docs/user-guide/commands/argocd_version.md | 1 + go.mod | 1 + go.sum | 5 +++++ pkg/apiclient/apiclient.go | 12 +++++++++++- 104 files changed, 118 insertions(+), 1 deletion(-) diff --git a/cmd/argocd/commands/root.go b/cmd/argocd/commands/root.go index 42c274090bbd1..34ea23ae5207d 100644 --- a/cmd/argocd/commands/root.go +++ b/cmd/argocd/commands/root.go @@ -69,5 +69,6 @@ func NewCommand() *cobra.Command { command.PersistentFlags().StringSliceVarP(&clientOpts.Headers, "header", "H", []string{}, "Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers)") command.PersistentFlags().BoolVar(&clientOpts.PortForward, "port-forward", config.GetBoolFlag("port-forward"), "Connect to a random argocd-server port using port forwarding") command.PersistentFlags().StringVar(&clientOpts.PortForwardNamespace, "port-forward-namespace", config.GetFlag("port-forward-namespace", ""), "Namespace name which should be used for port forwarding") + command.PersistentFlags().IntVar(&clientOpts.HttpRetryMax, "http-retry-max", 0, "Maximum number of retries to establish http connection to Argo CD server") return command } diff --git a/docs/user-guide/commands/argocd.md b/docs/user-guide/commands/argocd.md index 43fad143dc583..5f520853c4cc9 100644 --- a/docs/user-guide/commands/argocd.md +++ b/docs/user-guide/commands/argocd.md @@ -17,6 +17,7 @@ argocd [flags] --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) -h, --help help for argocd + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_account.md b/docs/user-guide/commands/argocd_account.md index 479066e737137..26b30904f92e7 100644 --- a/docs/user-guide/commands/argocd_account.md +++ b/docs/user-guide/commands/argocd_account.md @@ -22,6 +22,7 @@ argocd account [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_account_can-i.md b/docs/user-guide/commands/argocd_account_can-i.md index 88016188936db..396e4f23e730b 100644 --- a/docs/user-guide/commands/argocd_account_can-i.md +++ b/docs/user-guide/commands/argocd_account_can-i.md @@ -40,6 +40,7 @@ Resources: [clusters projects applications repositories certificates] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_account_delete-token.md b/docs/user-guide/commands/argocd_account_delete-token.md index 0002610705259..f879d719b802a 100644 --- a/docs/user-guide/commands/argocd_account_delete-token.md +++ b/docs/user-guide/commands/argocd_account_delete-token.md @@ -33,6 +33,7 @@ argocd account generate-token --account --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_account_generate-token.md b/docs/user-guide/commands/argocd_account_generate-token.md index 26840f4320caf..2962fce93772c 100644 --- a/docs/user-guide/commands/argocd_account_generate-token.md +++ b/docs/user-guide/commands/argocd_account_generate-token.md @@ -35,6 +35,7 @@ argocd account generate-token --account --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_account_get-user-info.md b/docs/user-guide/commands/argocd_account_get-user-info.md index 8620a0c6026ec..061c3ccf620b1 100644 --- a/docs/user-guide/commands/argocd_account_get-user-info.md +++ b/docs/user-guide/commands/argocd_account_get-user-info.md @@ -23,6 +23,7 @@ argocd account get-user-info [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_account_get.md b/docs/user-guide/commands/argocd_account_get.md index 1863a6de42d42..1a6a310a2bf18 100644 --- a/docs/user-guide/commands/argocd_account_get.md +++ b/docs/user-guide/commands/argocd_account_get.md @@ -34,6 +34,7 @@ argocd account get --account --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_account_list.md b/docs/user-guide/commands/argocd_account_list.md index 41ea0f9af34d2..6216b57011233 100644 --- a/docs/user-guide/commands/argocd_account_list.md +++ b/docs/user-guide/commands/argocd_account_list.md @@ -29,6 +29,7 @@ argocd account list --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_account_update-password.md b/docs/user-guide/commands/argocd_account_update-password.md index 6894d5bfaafd4..0083fd2828133 100644 --- a/docs/user-guide/commands/argocd_account_update-password.md +++ b/docs/user-guide/commands/argocd_account_update-password.md @@ -25,6 +25,7 @@ argocd account update-password [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_app.md b/docs/user-guide/commands/argocd_app.md index 99b534a73339f..17dc3fac88557 100644 --- a/docs/user-guide/commands/argocd_app.md +++ b/docs/user-guide/commands/argocd_app.md @@ -35,6 +35,7 @@ argocd app [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_app_actions.md b/docs/user-guide/commands/argocd_app_actions.md index e4db9993d861a..5cb30ff0021d1 100644 --- a/docs/user-guide/commands/argocd_app_actions.md +++ b/docs/user-guide/commands/argocd_app_actions.md @@ -22,6 +22,7 @@ argocd app actions [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_app_actions_list.md b/docs/user-guide/commands/argocd_app_actions_list.md index 5dd8c09bc881d..abbd51bd912df 100644 --- a/docs/user-guide/commands/argocd_app_actions_list.md +++ b/docs/user-guide/commands/argocd_app_actions_list.md @@ -27,6 +27,7 @@ argocd app actions list APPNAME [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_app_actions_run.md b/docs/user-guide/commands/argocd_app_actions_run.md index 6e491d38a8bc6..0222b103a9654 100644 --- a/docs/user-guide/commands/argocd_app_actions_run.md +++ b/docs/user-guide/commands/argocd_app_actions_run.md @@ -27,6 +27,7 @@ argocd app actions run APPNAME ACTION [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_app_create.md b/docs/user-guide/commands/argocd_app_create.md index 177d101a380a4..f27dd00747921 100644 --- a/docs/user-guide/commands/argocd_app_create.md +++ b/docs/user-guide/commands/argocd_app_create.md @@ -97,6 +97,7 @@ argocd app create APPNAME [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_app_delete.md b/docs/user-guide/commands/argocd_app_delete.md index 6e9be123ac6d1..808e63557a0cb 100644 --- a/docs/user-guide/commands/argocd_app_delete.md +++ b/docs/user-guide/commands/argocd_app_delete.md @@ -25,6 +25,7 @@ argocd app delete APPNAME [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_app_diff.md b/docs/user-guide/commands/argocd_app_diff.md index c1c2583ca9e33..16ea0eb6260b4 100644 --- a/docs/user-guide/commands/argocd_app_diff.md +++ b/docs/user-guide/commands/argocd_app_diff.md @@ -34,6 +34,7 @@ argocd app diff APPNAME [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_app_edit.md b/docs/user-guide/commands/argocd_app_edit.md index cdd660ea82ca4..2b9e721c48ce7 100644 --- a/docs/user-guide/commands/argocd_app_edit.md +++ b/docs/user-guide/commands/argocd_app_edit.md @@ -22,6 +22,7 @@ argocd app edit APPNAME [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_app_get.md b/docs/user-guide/commands/argocd_app_get.md index 2a61131731472..1773ba6a39163 100644 --- a/docs/user-guide/commands/argocd_app_get.md +++ b/docs/user-guide/commands/argocd_app_get.md @@ -27,6 +27,7 @@ argocd app get APPNAME [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_app_history.md b/docs/user-guide/commands/argocd_app_history.md index f17681549438b..0dd9ab7f4973c 100644 --- a/docs/user-guide/commands/argocd_app_history.md +++ b/docs/user-guide/commands/argocd_app_history.md @@ -23,6 +23,7 @@ argocd app history APPNAME [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_app_list.md b/docs/user-guide/commands/argocd_app_list.md index 4559d073a9d1c..7dd30e3d10aba 100644 --- a/docs/user-guide/commands/argocd_app_list.md +++ b/docs/user-guide/commands/argocd_app_list.md @@ -36,6 +36,7 @@ argocd app list [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_app_logs.md b/docs/user-guide/commands/argocd_app_logs.md index 88eaeb8beedc4..11e8900f7c99c 100644 --- a/docs/user-guide/commands/argocd_app_logs.md +++ b/docs/user-guide/commands/argocd_app_logs.md @@ -32,6 +32,7 @@ argocd app logs APPNAME [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_app_manifests.md b/docs/user-guide/commands/argocd_app_manifests.md index 6b79eea271f13..e57d00ec80a78 100644 --- a/docs/user-guide/commands/argocd_app_manifests.md +++ b/docs/user-guide/commands/argocd_app_manifests.md @@ -24,6 +24,7 @@ argocd app manifests APPNAME [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_app_patch-resource.md b/docs/user-guide/commands/argocd_app_patch-resource.md index 3e98d912d5937..03af5af0aabbf 100644 --- a/docs/user-guide/commands/argocd_app_patch-resource.md +++ b/docs/user-guide/commands/argocd_app_patch-resource.md @@ -29,6 +29,7 @@ argocd app patch-resource APPNAME [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_app_patch.md b/docs/user-guide/commands/argocd_app_patch.md index a2cf869cc99ce..0b975fd702008 100644 --- a/docs/user-guide/commands/argocd_app_patch.md +++ b/docs/user-guide/commands/argocd_app_patch.md @@ -33,6 +33,7 @@ argocd app patch APPNAME [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_app_resources.md b/docs/user-guide/commands/argocd_app_resources.md index 730084a9611dc..935beb4204b5d 100644 --- a/docs/user-guide/commands/argocd_app_resources.md +++ b/docs/user-guide/commands/argocd_app_resources.md @@ -23,6 +23,7 @@ argocd app resources APPNAME [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_app_rollback.md b/docs/user-guide/commands/argocd_app_rollback.md index 8a39389153c9d..de0e100218774 100644 --- a/docs/user-guide/commands/argocd_app_rollback.md +++ b/docs/user-guide/commands/argocd_app_rollback.md @@ -24,6 +24,7 @@ argocd app rollback APPNAME ID [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_app_set.md b/docs/user-guide/commands/argocd_app_set.md index 2d36deb6036a3..177ad2d5cf628 100644 --- a/docs/user-guide/commands/argocd_app_set.md +++ b/docs/user-guide/commands/argocd_app_set.md @@ -68,6 +68,7 @@ argocd app set APPNAME [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_app_sync.md b/docs/user-guide/commands/argocd_app_sync.md index 9ce3fca3b5e7a..08aae1d685b4a 100644 --- a/docs/user-guide/commands/argocd_app_sync.md +++ b/docs/user-guide/commands/argocd_app_sync.md @@ -59,6 +59,7 @@ argocd app sync [APPNAME... | -l selector] [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_app_terminate-op.md b/docs/user-guide/commands/argocd_app_terminate-op.md index 210d038aa08a1..a1fbb98e1798a 100644 --- a/docs/user-guide/commands/argocd_app_terminate-op.md +++ b/docs/user-guide/commands/argocd_app_terminate-op.md @@ -22,6 +22,7 @@ argocd app terminate-op APPNAME [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_app_unset.md b/docs/user-guide/commands/argocd_app_unset.md index 543bbf188ec87..678f19c328d2d 100644 --- a/docs/user-guide/commands/argocd_app_unset.md +++ b/docs/user-guide/commands/argocd_app_unset.md @@ -43,6 +43,7 @@ argocd app unset APPNAME parameters [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_app_wait.md b/docs/user-guide/commands/argocd_app_wait.md index 05bad83c62d7c..e9e2950e15872 100644 --- a/docs/user-guide/commands/argocd_app_wait.md +++ b/docs/user-guide/commands/argocd_app_wait.md @@ -42,6 +42,7 @@ argocd app wait [APPNAME.. | -l selector] [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_cert.md b/docs/user-guide/commands/argocd_cert.md index 9c3a81d21ea74..075a453049dd5 100644 --- a/docs/user-guide/commands/argocd_cert.md +++ b/docs/user-guide/commands/argocd_cert.md @@ -45,6 +45,7 @@ argocd cert [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_cert_add-ssh.md b/docs/user-guide/commands/argocd_cert_add-ssh.md index 4a15deada4b9c..339443114f8c5 100644 --- a/docs/user-guide/commands/argocd_cert_add-ssh.md +++ b/docs/user-guide/commands/argocd_cert_add-ssh.md @@ -25,6 +25,7 @@ argocd cert add-ssh --batch [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_cert_add-tls.md b/docs/user-guide/commands/argocd_cert_add-tls.md index d6019c9143f9e..2c81da22b1196 100644 --- a/docs/user-guide/commands/argocd_cert_add-tls.md +++ b/docs/user-guide/commands/argocd_cert_add-tls.md @@ -24,6 +24,7 @@ argocd cert add-tls SERVERNAME [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_cert_list.md b/docs/user-guide/commands/argocd_cert_list.md index db7747d6a8295..ad387e30e5808 100644 --- a/docs/user-guide/commands/argocd_cert_list.md +++ b/docs/user-guide/commands/argocd_cert_list.md @@ -26,6 +26,7 @@ argocd cert list [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_cert_rm.md b/docs/user-guide/commands/argocd_cert_rm.md index 0c825009964bd..a987b941edd59 100644 --- a/docs/user-guide/commands/argocd_cert_rm.md +++ b/docs/user-guide/commands/argocd_cert_rm.md @@ -24,6 +24,7 @@ argocd cert rm REPOSERVER [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_cluster.md b/docs/user-guide/commands/argocd_cluster.md index 72d50f2d07e22..7f31d1d413a0f 100644 --- a/docs/user-guide/commands/argocd_cluster.md +++ b/docs/user-guide/commands/argocd_cluster.md @@ -39,6 +39,7 @@ argocd cluster [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_cluster_add.md b/docs/user-guide/commands/argocd_cluster_add.md index 3886e6fd1503f..0497449e3c702 100644 --- a/docs/user-guide/commands/argocd_cluster_add.md +++ b/docs/user-guide/commands/argocd_cluster_add.md @@ -38,6 +38,7 @@ argocd cluster add CONTEXT [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_cluster_get.md b/docs/user-guide/commands/argocd_cluster_get.md index d78648a6aa936..68648e5321785 100644 --- a/docs/user-guide/commands/argocd_cluster_get.md +++ b/docs/user-guide/commands/argocd_cluster_get.md @@ -29,6 +29,7 @@ argocd cluster get https://12.34.567.89 --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_cluster_list.md b/docs/user-guide/commands/argocd_cluster_list.md index 42aced59035d7..1441c9f3b2960 100644 --- a/docs/user-guide/commands/argocd_cluster_list.md +++ b/docs/user-guide/commands/argocd_cluster_list.md @@ -23,6 +23,7 @@ argocd cluster list [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_cluster_rm.md b/docs/user-guide/commands/argocd_cluster_rm.md index ba147784d3ff1..5fb8387d7e513 100644 --- a/docs/user-guide/commands/argocd_cluster_rm.md +++ b/docs/user-guide/commands/argocd_cluster_rm.md @@ -28,6 +28,7 @@ argocd cluster rm https://12.34.567.89 --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_cluster_rotate-auth.md b/docs/user-guide/commands/argocd_cluster_rotate-auth.md index a072b336a91aa..e102b7ae439bc 100644 --- a/docs/user-guide/commands/argocd_cluster_rotate-auth.md +++ b/docs/user-guide/commands/argocd_cluster_rotate-auth.md @@ -28,6 +28,7 @@ argocd cluster rotate-auth https://12.34.567.89 --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_completion.md b/docs/user-guide/commands/argocd_completion.md index 28f87994330b5..2758d1dbf8f20 100644 --- a/docs/user-guide/commands/argocd_completion.md +++ b/docs/user-guide/commands/argocd_completion.md @@ -35,6 +35,7 @@ argocd completion SHELL [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_context.md b/docs/user-guide/commands/argocd_context.md index dbd1b57c25d22..34aca27044b86 100644 --- a/docs/user-guide/commands/argocd_context.md +++ b/docs/user-guide/commands/argocd_context.md @@ -23,6 +23,7 @@ argocd context [CONTEXT] [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_gpg.md b/docs/user-guide/commands/argocd_gpg.md index 7ee841c861fba..800db6c49b4d7 100644 --- a/docs/user-guide/commands/argocd_gpg.md +++ b/docs/user-guide/commands/argocd_gpg.md @@ -22,6 +22,7 @@ argocd gpg [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_gpg_add.md b/docs/user-guide/commands/argocd_gpg_add.md index a48de2d0d0eb0..9f0a4cfe8e2a1 100644 --- a/docs/user-guide/commands/argocd_gpg_add.md +++ b/docs/user-guide/commands/argocd_gpg_add.md @@ -23,6 +23,7 @@ argocd gpg add [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_gpg_get.md b/docs/user-guide/commands/argocd_gpg_get.md index 981de9ac89aab..855666bca4f11 100644 --- a/docs/user-guide/commands/argocd_gpg_get.md +++ b/docs/user-guide/commands/argocd_gpg_get.md @@ -23,6 +23,7 @@ argocd gpg get KEYID [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_gpg_list.md b/docs/user-guide/commands/argocd_gpg_list.md index a80120f97b8a2..bec370d61efa1 100644 --- a/docs/user-guide/commands/argocd_gpg_list.md +++ b/docs/user-guide/commands/argocd_gpg_list.md @@ -23,6 +23,7 @@ argocd gpg list [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_gpg_rm.md b/docs/user-guide/commands/argocd_gpg_rm.md index ff759077d37f9..2e7c4fa3fa9b6 100644 --- a/docs/user-guide/commands/argocd_gpg_rm.md +++ b/docs/user-guide/commands/argocd_gpg_rm.md @@ -22,6 +22,7 @@ argocd gpg rm KEYID [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_login.md b/docs/user-guide/commands/argocd_login.md index 9508214bf35d0..1327c605e6329 100644 --- a/docs/user-guide/commands/argocd_login.md +++ b/docs/user-guide/commands/argocd_login.md @@ -31,6 +31,7 @@ argocd login SERVER [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_logout.md b/docs/user-guide/commands/argocd_logout.md index f251ebadec32c..551e51754111b 100644 --- a/docs/user-guide/commands/argocd_logout.md +++ b/docs/user-guide/commands/argocd_logout.md @@ -26,6 +26,7 @@ argocd logout CONTEXT [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_proj.md b/docs/user-guide/commands/argocd_proj.md index c514e0dfc58b3..12b69f7c55c3d 100644 --- a/docs/user-guide/commands/argocd_proj.md +++ b/docs/user-guide/commands/argocd_proj.md @@ -22,6 +22,7 @@ argocd proj [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_proj_add-destination.md b/docs/user-guide/commands/argocd_proj_add-destination.md index 3330e66d7674f..2871bd207208f 100644 --- a/docs/user-guide/commands/argocd_proj_add-destination.md +++ b/docs/user-guide/commands/argocd_proj_add-destination.md @@ -22,6 +22,7 @@ argocd proj add-destination PROJECT SERVER NAMESPACE [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_proj_add-orphaned-ignore.md b/docs/user-guide/commands/argocd_proj_add-orphaned-ignore.md index 26c336cb1522f..716f23c169ac8 100644 --- a/docs/user-guide/commands/argocd_proj_add-orphaned-ignore.md +++ b/docs/user-guide/commands/argocd_proj_add-orphaned-ignore.md @@ -23,6 +23,7 @@ argocd proj add-orphaned-ignore PROJECT GROUP KIND [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_proj_add-signature-key.md b/docs/user-guide/commands/argocd_proj_add-signature-key.md index f9b35df557cc7..28ecb0bd4b766 100644 --- a/docs/user-guide/commands/argocd_proj_add-signature-key.md +++ b/docs/user-guide/commands/argocd_proj_add-signature-key.md @@ -22,6 +22,7 @@ argocd proj add-signature-key PROJECT KEY-ID [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_proj_add-source.md b/docs/user-guide/commands/argocd_proj_add-source.md index ee283122cbdc0..ffed41a5f1386 100644 --- a/docs/user-guide/commands/argocd_proj_add-source.md +++ b/docs/user-guide/commands/argocd_proj_add-source.md @@ -22,6 +22,7 @@ argocd proj add-source PROJECT URL [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_proj_allow-cluster-resource.md b/docs/user-guide/commands/argocd_proj_allow-cluster-resource.md index 3667d93e5af01..7cf6990b79c43 100644 --- a/docs/user-guide/commands/argocd_proj_allow-cluster-resource.md +++ b/docs/user-guide/commands/argocd_proj_allow-cluster-resource.md @@ -23,6 +23,7 @@ argocd proj allow-cluster-resource PROJECT GROUP KIND [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_proj_allow-namespace-resource.md b/docs/user-guide/commands/argocd_proj_allow-namespace-resource.md index 9d88307819b7d..1bef140bcd61b 100644 --- a/docs/user-guide/commands/argocd_proj_allow-namespace-resource.md +++ b/docs/user-guide/commands/argocd_proj_allow-namespace-resource.md @@ -23,6 +23,7 @@ argocd proj allow-namespace-resource PROJECT GROUP KIND [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_proj_create.md b/docs/user-guide/commands/argocd_proj_create.md index 56a7882c71ef0..4a3f104b9970f 100644 --- a/docs/user-guide/commands/argocd_proj_create.md +++ b/docs/user-guide/commands/argocd_proj_create.md @@ -34,6 +34,7 @@ argocd proj create PROJECT [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_proj_delete.md b/docs/user-guide/commands/argocd_proj_delete.md index 3e707c9e2fab5..875a6b0c4ae9e 100644 --- a/docs/user-guide/commands/argocd_proj_delete.md +++ b/docs/user-guide/commands/argocd_proj_delete.md @@ -22,6 +22,7 @@ argocd proj delete PROJECT [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_proj_deny-cluster-resource.md b/docs/user-guide/commands/argocd_proj_deny-cluster-resource.md index f2b3f9b46a14f..abe0cdd340bf2 100644 --- a/docs/user-guide/commands/argocd_proj_deny-cluster-resource.md +++ b/docs/user-guide/commands/argocd_proj_deny-cluster-resource.md @@ -23,6 +23,7 @@ argocd proj deny-cluster-resource PROJECT GROUP KIND [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_proj_deny-namespace-resource.md b/docs/user-guide/commands/argocd_proj_deny-namespace-resource.md index bbc438092c7a2..6a9c2d5ceb292 100644 --- a/docs/user-guide/commands/argocd_proj_deny-namespace-resource.md +++ b/docs/user-guide/commands/argocd_proj_deny-namespace-resource.md @@ -23,6 +23,7 @@ argocd proj deny-namespace-resource PROJECT GROUP KIND [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_proj_edit.md b/docs/user-guide/commands/argocd_proj_edit.md index 4b43b539f2c16..5822307d5909b 100644 --- a/docs/user-guide/commands/argocd_proj_edit.md +++ b/docs/user-guide/commands/argocd_proj_edit.md @@ -22,6 +22,7 @@ argocd proj edit PROJECT [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_proj_get.md b/docs/user-guide/commands/argocd_proj_get.md index 5b66cf9347083..654430ad396f9 100644 --- a/docs/user-guide/commands/argocd_proj_get.md +++ b/docs/user-guide/commands/argocd_proj_get.md @@ -23,6 +23,7 @@ argocd proj get PROJECT [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_proj_list.md b/docs/user-guide/commands/argocd_proj_list.md index 3eda716be3f04..fe59a37066765 100644 --- a/docs/user-guide/commands/argocd_proj_list.md +++ b/docs/user-guide/commands/argocd_proj_list.md @@ -23,6 +23,7 @@ argocd proj list [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_proj_remove-destination.md b/docs/user-guide/commands/argocd_proj_remove-destination.md index 09c1690e2ea39..9c7fd23a30c42 100644 --- a/docs/user-guide/commands/argocd_proj_remove-destination.md +++ b/docs/user-guide/commands/argocd_proj_remove-destination.md @@ -22,6 +22,7 @@ argocd proj remove-destination PROJECT SERVER NAMESPACE [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_proj_remove-orphaned-ignore.md b/docs/user-guide/commands/argocd_proj_remove-orphaned-ignore.md index f10697fe35249..32207a5672efb 100644 --- a/docs/user-guide/commands/argocd_proj_remove-orphaned-ignore.md +++ b/docs/user-guide/commands/argocd_proj_remove-orphaned-ignore.md @@ -23,6 +23,7 @@ argocd proj remove-orphaned-ignore PROJECT GROUP KIND NAME [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_proj_remove-signature-key.md b/docs/user-guide/commands/argocd_proj_remove-signature-key.md index d871886236ebd..c344aa1eb5ce2 100644 --- a/docs/user-guide/commands/argocd_proj_remove-signature-key.md +++ b/docs/user-guide/commands/argocd_proj_remove-signature-key.md @@ -22,6 +22,7 @@ argocd proj remove-signature-key PROJECT KEY-ID [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_proj_remove-source.md b/docs/user-guide/commands/argocd_proj_remove-source.md index d9b07799237a5..074aee9168e2b 100644 --- a/docs/user-guide/commands/argocd_proj_remove-source.md +++ b/docs/user-guide/commands/argocd_proj_remove-source.md @@ -22,6 +22,7 @@ argocd proj remove-source PROJECT URL [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_proj_role.md b/docs/user-guide/commands/argocd_proj_role.md index e8d0dfe4f72b4..6611b24628ebc 100644 --- a/docs/user-guide/commands/argocd_proj_role.md +++ b/docs/user-guide/commands/argocd_proj_role.md @@ -22,6 +22,7 @@ argocd proj role [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_proj_role_add-group.md b/docs/user-guide/commands/argocd_proj_role_add-group.md index 1b658d2236c7f..1b273f6a50c9b 100644 --- a/docs/user-guide/commands/argocd_proj_role_add-group.md +++ b/docs/user-guide/commands/argocd_proj_role_add-group.md @@ -22,6 +22,7 @@ argocd proj role add-group PROJECT ROLE-NAME GROUP-CLAIM [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_proj_role_add-policy.md b/docs/user-guide/commands/argocd_proj_role_add-policy.md index 07df0f82899c0..630f14d83fee9 100644 --- a/docs/user-guide/commands/argocd_proj_role_add-policy.md +++ b/docs/user-guide/commands/argocd_proj_role_add-policy.md @@ -25,6 +25,7 @@ argocd proj role add-policy PROJECT ROLE-NAME [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_proj_role_create-token.md b/docs/user-guide/commands/argocd_proj_role_create-token.md index 37db97835dda5..41b80364a4ad2 100644 --- a/docs/user-guide/commands/argocd_proj_role_create-token.md +++ b/docs/user-guide/commands/argocd_proj_role_create-token.md @@ -25,6 +25,7 @@ argocd proj role create-token PROJECT ROLE-NAME [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_proj_role_create.md b/docs/user-guide/commands/argocd_proj_role_create.md index 281657df4caed..44e3c4be67638 100644 --- a/docs/user-guide/commands/argocd_proj_role_create.md +++ b/docs/user-guide/commands/argocd_proj_role_create.md @@ -23,6 +23,7 @@ argocd proj role create PROJECT ROLE-NAME [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_proj_role_delete-token.md b/docs/user-guide/commands/argocd_proj_role_delete-token.md index fda7565d24d51..982ff3cf58c1b 100644 --- a/docs/user-guide/commands/argocd_proj_role_delete-token.md +++ b/docs/user-guide/commands/argocd_proj_role_delete-token.md @@ -22,6 +22,7 @@ argocd proj role delete-token PROJECT ROLE-NAME ISSUED-AT [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_proj_role_delete.md b/docs/user-guide/commands/argocd_proj_role_delete.md index 6f332f0cf30e3..3e98f66682163 100644 --- a/docs/user-guide/commands/argocd_proj_role_delete.md +++ b/docs/user-guide/commands/argocd_proj_role_delete.md @@ -22,6 +22,7 @@ argocd proj role delete PROJECT ROLE-NAME [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_proj_role_get.md b/docs/user-guide/commands/argocd_proj_role_get.md index 42a31ec78822c..dd01c397e20ff 100644 --- a/docs/user-guide/commands/argocd_proj_role_get.md +++ b/docs/user-guide/commands/argocd_proj_role_get.md @@ -22,6 +22,7 @@ argocd proj role get PROJECT ROLE-NAME [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_proj_role_list-tokens.md b/docs/user-guide/commands/argocd_proj_role_list-tokens.md index 73d9b25a4894d..dc1f124c4e6ca 100644 --- a/docs/user-guide/commands/argocd_proj_role_list-tokens.md +++ b/docs/user-guide/commands/argocd_proj_role_list-tokens.md @@ -23,6 +23,7 @@ argocd proj role list-tokens PROJECT ROLE-NAME [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_proj_role_list.md b/docs/user-guide/commands/argocd_proj_role_list.md index 76c793cdbe889..102bee7cd6f98 100644 --- a/docs/user-guide/commands/argocd_proj_role_list.md +++ b/docs/user-guide/commands/argocd_proj_role_list.md @@ -23,6 +23,7 @@ argocd proj role list PROJECT [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_proj_role_remove-group.md b/docs/user-guide/commands/argocd_proj_role_remove-group.md index 05c06a411985f..e2ed21e31cd13 100644 --- a/docs/user-guide/commands/argocd_proj_role_remove-group.md +++ b/docs/user-guide/commands/argocd_proj_role_remove-group.md @@ -22,6 +22,7 @@ argocd proj role remove-group PROJECT ROLE-NAME GROUP-CLAIM [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_proj_role_remove-policy.md b/docs/user-guide/commands/argocd_proj_role_remove-policy.md index dbd1d9fbee6be..614651afea2c2 100644 --- a/docs/user-guide/commands/argocd_proj_role_remove-policy.md +++ b/docs/user-guide/commands/argocd_proj_role_remove-policy.md @@ -25,6 +25,7 @@ argocd proj role remove-policy PROJECT ROLE-NAME [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_proj_set.md b/docs/user-guide/commands/argocd_proj_set.md index b7b578b755422..35185c0c74bbd 100644 --- a/docs/user-guide/commands/argocd_proj_set.md +++ b/docs/user-guide/commands/argocd_proj_set.md @@ -32,6 +32,7 @@ argocd proj set PROJECT [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_proj_windows.md b/docs/user-guide/commands/argocd_proj_windows.md index 79bbc46025e17..2a4b6524bf831 100644 --- a/docs/user-guide/commands/argocd_proj_windows.md +++ b/docs/user-guide/commands/argocd_proj_windows.md @@ -22,6 +22,7 @@ argocd proj windows [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_proj_windows_add.md b/docs/user-guide/commands/argocd_proj_windows_add.md index b4e7bb7433df5..af84a2f0ec914 100644 --- a/docs/user-guide/commands/argocd_proj_windows_add.md +++ b/docs/user-guide/commands/argocd_proj_windows_add.md @@ -29,6 +29,7 @@ argocd proj windows add PROJECT [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_proj_windows_delete.md b/docs/user-guide/commands/argocd_proj_windows_delete.md index 66073712f8f9c..860ebacf2a7d5 100644 --- a/docs/user-guide/commands/argocd_proj_windows_delete.md +++ b/docs/user-guide/commands/argocd_proj_windows_delete.md @@ -22,6 +22,7 @@ argocd proj windows delete PROJECT ID [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_proj_windows_disable-manual-sync.md b/docs/user-guide/commands/argocd_proj_windows_disable-manual-sync.md index b041cfc92e37f..5c2d253bb66a0 100644 --- a/docs/user-guide/commands/argocd_proj_windows_disable-manual-sync.md +++ b/docs/user-guide/commands/argocd_proj_windows_disable-manual-sync.md @@ -26,6 +26,7 @@ argocd proj windows disable-manual-sync PROJECT ID [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_proj_windows_enable-manual-sync.md b/docs/user-guide/commands/argocd_proj_windows_enable-manual-sync.md index e73b1f1e19a13..4ce939f15d83f 100644 --- a/docs/user-guide/commands/argocd_proj_windows_enable-manual-sync.md +++ b/docs/user-guide/commands/argocd_proj_windows_enable-manual-sync.md @@ -26,6 +26,7 @@ argocd proj windows enable-manual-sync PROJECT ID [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_proj_windows_list.md b/docs/user-guide/commands/argocd_proj_windows_list.md index 0e678f1957f30..1b83370a04b33 100644 --- a/docs/user-guide/commands/argocd_proj_windows_list.md +++ b/docs/user-guide/commands/argocd_proj_windows_list.md @@ -23,6 +23,7 @@ argocd proj windows list PROJECT [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_proj_windows_update.md b/docs/user-guide/commands/argocd_proj_windows_update.md index 91a05d86fcac4..b3ec2ebd50e65 100644 --- a/docs/user-guide/commands/argocd_proj_windows_update.md +++ b/docs/user-guide/commands/argocd_proj_windows_update.md @@ -31,6 +31,7 @@ argocd proj windows update PROJECT ID [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_relogin.md b/docs/user-guide/commands/argocd_relogin.md index 0f6cb80cc7208..6b2141f8173d0 100644 --- a/docs/user-guide/commands/argocd_relogin.md +++ b/docs/user-guide/commands/argocd_relogin.md @@ -28,6 +28,7 @@ argocd relogin [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_repo.md b/docs/user-guide/commands/argocd_repo.md index 43b47178043ad..8bb9defab71f7 100644 --- a/docs/user-guide/commands/argocd_repo.md +++ b/docs/user-guide/commands/argocd_repo.md @@ -22,6 +22,7 @@ argocd repo [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_repo_add.md b/docs/user-guide/commands/argocd_repo_add.md index 88a0844d97d11..6ad72661fc90b 100644 --- a/docs/user-guide/commands/argocd_repo_add.md +++ b/docs/user-guide/commands/argocd_repo_add.md @@ -71,6 +71,7 @@ argocd repo add REPOURL [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_repo_get.md b/docs/user-guide/commands/argocd_repo_get.md index 34d80f9515b05..962fa0a5c4d5f 100644 --- a/docs/user-guide/commands/argocd_repo_get.md +++ b/docs/user-guide/commands/argocd_repo_get.md @@ -24,6 +24,7 @@ argocd repo get [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_repo_list.md b/docs/user-guide/commands/argocd_repo_list.md index 09db6debb2fa2..2adadea6bff2c 100644 --- a/docs/user-guide/commands/argocd_repo_list.md +++ b/docs/user-guide/commands/argocd_repo_list.md @@ -24,6 +24,7 @@ argocd repo list [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_repo_rm.md b/docs/user-guide/commands/argocd_repo_rm.md index aaf276ef2aba3..2c5891ddcabec 100644 --- a/docs/user-guide/commands/argocd_repo_rm.md +++ b/docs/user-guide/commands/argocd_repo_rm.md @@ -22,6 +22,7 @@ argocd repo rm REPO [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_repocreds.md b/docs/user-guide/commands/argocd_repocreds.md index ce31bca402ef5..d4e0d54387a4d 100644 --- a/docs/user-guide/commands/argocd_repocreds.md +++ b/docs/user-guide/commands/argocd_repocreds.md @@ -22,6 +22,7 @@ argocd repocreds [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_repocreds_add.md b/docs/user-guide/commands/argocd_repocreds_add.md index 8b71da8f75367..c4b6a5d623573 100644 --- a/docs/user-guide/commands/argocd_repocreds_add.md +++ b/docs/user-guide/commands/argocd_repocreds_add.md @@ -51,6 +51,7 @@ argocd repocreds add REPOURL [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_repocreds_list.md b/docs/user-guide/commands/argocd_repocreds_list.md index bbb7c627ec452..e538dab9d6471 100644 --- a/docs/user-guide/commands/argocd_repocreds_list.md +++ b/docs/user-guide/commands/argocd_repocreds_list.md @@ -23,6 +23,7 @@ argocd repocreds list [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_repocreds_rm.md b/docs/user-guide/commands/argocd_repocreds_rm.md index 23efd77f15faf..f017bf33fcb8f 100644 --- a/docs/user-guide/commands/argocd_repocreds_rm.md +++ b/docs/user-guide/commands/argocd_repocreds_rm.md @@ -22,6 +22,7 @@ argocd repocreds rm CREDSURL [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/docs/user-guide/commands/argocd_version.md b/docs/user-guide/commands/argocd_version.md index 3d52ccd8a1ad4..c8debc2f3100d 100644 --- a/docs/user-guide/commands/argocd_version.md +++ b/docs/user-guide/commands/argocd_version.md @@ -42,6 +42,7 @@ argocd version [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") diff --git a/go.mod b/go.mod index 7491ddebada13..22cd46edbb39a 100644 --- a/go.mod +++ b/go.mod @@ -40,6 +40,7 @@ require ( github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4 github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 github.com/grpc-ecosystem/grpc-gateway v1.16.0 + github.com/hashicorp/go-retryablehttp v0.7.0 github.com/improbable-eng/grpc-web v0.0.0-20181111100011-16092bd1d58a github.com/itchyny/gojq v0.12.3 github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 diff --git a/go.sum b/go.sum index 0158e72116a3a..cc10d67e43967 100644 --- a/go.sum +++ b/go.sum @@ -424,10 +424,15 @@ github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFb github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-cleanhttp v0.5.1 h1:dH3aiDG9Jvb5r5+bYHsikaOUIpcM0xvgMXVoDkXMzJM= github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-hclog v0.9.2 h1:CG6TE5H9/JXsFWJCfoIVpKFIkFe6ysEuHirp4DxCsHI= +github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= +github.com/hashicorp/go-retryablehttp v0.7.0 h1:eu1EI/mbirUgP5C8hVsTNaGZreBDlYiwC1FZWkvQPQ4= +github.com/hashicorp/go-retryablehttp v0.7.0/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= diff --git a/pkg/apiclient/apiclient.go b/pkg/apiclient/apiclient.go index 5d5a7fe2e719a..7ad1feb77b9ce 100644 --- a/pkg/apiclient/apiclient.go +++ b/pkg/apiclient/apiclient.go @@ -21,6 +21,7 @@ import ( "github.com/golang/protobuf/ptypes/empty" grpc_middleware "github.com/grpc-ecosystem/go-grpc-middleware" grpc_retry "github.com/grpc-ecosystem/go-grpc-middleware/retry" + retryablehttp "github.com/hashicorp/go-retryablehttp" log "github.com/sirupsen/logrus" "golang.org/x/oauth2" "google.golang.org/grpc" @@ -115,6 +116,7 @@ type ClientOptions struct { PortForward bool PortForwardNamespace string Headers []string + HttpRetryMax int KubeOverrides *clientcmd.ConfigOverrides } @@ -255,7 +257,15 @@ func NewClient(opts *ClientOptions) (Client, error) { if opts.GRPCWebRootPath != "" { c.GRPCWebRootPath = opts.GRPCWebRootPath } - c.httpClient = &http.Client{} + + if opts.HttpRetryMax > 0 { + retryClient := retryablehttp.NewClient() + retryClient.RetryMax = opts.HttpRetryMax + c.httpClient = retryClient.StandardClient() + } else { + c.httpClient = &http.Client{} + } + if !c.PlainText { tlsConfig, err := c.tlsConfig() if err != nil { From b893eccea00ebbe4bda9a3ad3eb8dac8276e6e95 Mon Sep 17 00:00:00 2001 From: jannfis Date: Wed, 7 Jul 2021 21:08:21 +0200 Subject: [PATCH 17/93] chore: Update container base image to Ubuntu 21.04 (#6652) Signed-off-by: jannfis --- Dockerfile | 2 +- test/container/Dockerfile | 2 +- test/remote/Dockerfile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 33df8e45d2424..af40764fb6f2a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -ARG BASE_IMAGE=docker.io/library/ubuntu:20.10 +ARG BASE_IMAGE=docker.io/library/ubuntu:21.04 #################################################################################################### # Builder image # Initial stage which pulls prepares build dependencies and CLI tooling we need for our final image diff --git a/test/container/Dockerfile b/test/container/Dockerfile index 9fa2c64e0b625..107b36511e157 100644 --- a/test/container/Dockerfile +++ b/test/container/Dockerfile @@ -6,7 +6,7 @@ FROM golang:1.16.4 as golang FROM registry:2.7.1 as registry -FROM ubuntu:20.10 +FROM ubuntu:21.04 ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update && apt-get install --fix-missing -y \ diff --git a/test/remote/Dockerfile b/test/remote/Dockerfile index a7b16e2225408..9fa4a93e963d9 100644 --- a/test/remote/Dockerfile +++ b/test/remote/Dockerfile @@ -3,7 +3,7 @@ FROM golang:1.16.2 AS go RUN go get github.com/mattn/goreman && \ go get github.com/kisielk/godepgraph -FROM ubuntu:20.10 +FROM ubuntu:21.04 ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update && apt-get install -y \ From 8030f4202a6e643613e3c208486820723821a01f Mon Sep 17 00:00:00 2001 From: jannfis Date: Thu, 8 Jul 2021 12:35:06 +0200 Subject: [PATCH 18/93] chore: Update Golang builder to 1.16.5 (#6653) * chore: Update Golang builder to 1.16.5 Signed-off-by: jannfis * Use variables to refer to Go version in workflows Signed-off-by: jannfis --- .github/workflows/ci-build.yaml | 16 ++++++++++------ .github/workflows/image.yaml | 5 ++++- .github/workflows/release.yaml | 6 +++++- Dockerfile | 4 ++-- test/container/Dockerfile | 2 +- test/remote/Dockerfile | 2 +- 6 files changed, 23 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ci-build.yaml b/.github/workflows/ci-build.yaml index 512421364774b..9c23e1ee8ba7e 100644 --- a/.github/workflows/ci-build.yaml +++ b/.github/workflows/ci-build.yaml @@ -10,6 +10,10 @@ on: branches: - 'master' +env: + # Golang version to use across CI steps + GOLANG_VERSION: '1.16.5' + jobs: build-docker: name: Build Docker image @@ -30,7 +34,7 @@ jobs: - name: Setup Golang uses: actions/setup-go@v1 with: - go-version: '1.16.2' + go-version: ${{ env.GOLANG_VERSION }} - name: Download all Go modules run: | go mod download @@ -48,7 +52,7 @@ jobs: - name: Setup Golang uses: actions/setup-go@v1 with: - go-version: '1.16.2' + go-version: ${{ env.GOLANG_VERSION }} - name: Restore go build cache uses: actions/cache@v1 with: @@ -87,7 +91,7 @@ jobs: - name: Setup Golang uses: actions/setup-go@v1 with: - go-version: '1.16.2' + go-version: ${{ env.GOLANG_VERSION }} - name: Install required packages run: | sudo apt-get install git -y @@ -147,7 +151,7 @@ jobs: - name: Setup Golang uses: actions/setup-go@v1 with: - go-version: '1.16.2' + go-version: ${{ env.GOLANG_VERSION }} - name: Install required packages run: | sudo apt-get install git -y @@ -196,7 +200,7 @@ jobs: - name: Setup Golang uses: actions/setup-go@v1 with: - go-version: '1.16.2' + go-version: ${{ env.GOLANG_VERSION }} - name: Create symlink in GOPATH run: | mkdir -p ~/go/src/github.com/argoproj @@ -355,7 +359,7 @@ jobs: - name: Setup Golang uses: actions/setup-go@v1 with: - go-version: '1.16.2' + go-version: ${{ env.GOLANG_VERSION }} - name: GH actions workaround - Kill XSP4 process run: | sudo pkill mono || true diff --git a/.github/workflows/image.yaml b/.github/workflows/image.yaml index 4ec272fcebf63..e53530db7fbc4 100644 --- a/.github/workflows/image.yaml +++ b/.github/workflows/image.yaml @@ -5,6 +5,9 @@ on: branches: - master +env: + GOLANG_VERSION: '1.16.5' + jobs: publish: runs-on: ubuntu-latest @@ -13,7 +16,7 @@ jobs: steps: - uses: actions/setup-go@v1 with: - go-version: '1.16.4' + go-version: ${{ env.GOLANG_VERSION }} - uses: actions/checkout@master with: path: src/github.com/argoproj/argo-cd diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 42a88b65e6233..f6418a1743762 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -10,6 +10,10 @@ on: - '!release-v1.1*' - '!release-v1.0*' - '!release-v0*' + +env: + GOLANG_VERSION: '1.16.5' + jobs: prepare-release: name: Perform automatic release on trigger ${{ github.ref }} @@ -139,7 +143,7 @@ jobs: - name: Setup Golang uses: actions/setup-go@v1 with: - go-version: '1.16.4' + go-version: ${{ env.GOLANG_VERSION }} - name: Setup Git author information run: | diff --git a/Dockerfile b/Dockerfile index af40764fb6f2a..c395825692149 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,7 +4,7 @@ ARG BASE_IMAGE=docker.io/library/ubuntu:21.04 # Initial stage which pulls prepares build dependencies and CLI tooling we need for our final image # Also used as the image in CI jobs so needs all dependencies #################################################################################################### -FROM docker.io/library/golang:1.16.4 as builder +FROM docker.io/library/golang:1.16.5 as builder RUN echo 'deb http://deb.debian.org/debian buster-backports main' >> /etc/apt/sources.list @@ -102,7 +102,7 @@ RUN NODE_ENV='production' NODE_ONLINE_ENV='online' yarn build #################################################################################################### # Argo CD Build stage which performs the actual build of Argo CD binaries #################################################################################################### -FROM golang:1.16.0 as argocd-build +FROM golang:1.16.5 as argocd-build WORKDIR /go/src/github.com/argoproj/argo-cd diff --git a/test/container/Dockerfile b/test/container/Dockerfile index 107b36511e157..b9e5dbed34cdc 100644 --- a/test/container/Dockerfile +++ b/test/container/Dockerfile @@ -2,7 +2,7 @@ FROM redis:6.2.4 as redis FROM node:12.18.4 as node -FROM golang:1.16.4 as golang +FROM golang:1.16.5 as golang FROM registry:2.7.1 as registry diff --git a/test/remote/Dockerfile b/test/remote/Dockerfile index 9fa4a93e963d9..dce7312767dc2 100644 --- a/test/remote/Dockerfile +++ b/test/remote/Dockerfile @@ -1,4 +1,4 @@ -FROM golang:1.16.2 AS go +FROM golang:1.16.5 AS go RUN go get github.com/mattn/goreman && \ go get github.com/kisielk/godepgraph From 0ff1ec511ad25a59123a515a832673f7dcdcdfae Mon Sep 17 00:00:00 2001 From: Remington Breeze Date: Thu, 8 Jul 2021 18:10:50 -0700 Subject: [PATCH 19/93] fix(ui): Autocomplete menu did not change direction when not enough room (#6629) Signed-off-by: Remington Breeze --- ui/yarn.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/yarn.lock b/ui/yarn.lock index 1e0f2a354f6d1..ab4708f977874 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -1831,7 +1831,7 @@ are-we-there-yet@~1.1.2: "argo-ui@git+https://github.com/argoproj/argo-ui.git": version "1.0.0" - resolved "git+https://github.com/argoproj/argo-ui.git#fecc293fb19f4c00891d8470932fb4951e21834c" + resolved "git+https://github.com/argoproj/argo-ui.git#74cc589ed11a6b6d6779654878012b45a294c6d5" dependencies: "@fortawesome/fontawesome-free" "^5.8.1" "@tippy.js/react" "^2.1.2" From abdb4c0679dbe9b0955f730f92ac4badfff95713 Mon Sep 17 00:00:00 2001 From: Remington Breeze Date: Thu, 8 Jul 2021 18:11:26 -0700 Subject: [PATCH 20/93] fix(ui): Add retry button to filters that failed to load (#6630) Signed-off-by: Remington Breeze --- .../applications-list/applications-filter.tsx | 14 ++++++++++++-- .../applications/components/filter/filter.scss | 8 +++++++- .../app/applications/components/filter/filter.tsx | 15 ++++++++++----- 3 files changed, 29 insertions(+), 8 deletions(-) diff --git a/ui/src/app/applications/components/applications-list/applications-filter.tsx b/ui/src/app/applications/components/applications-list/applications-filter.tsx index 98e8342f77fdf..c86aed9f4168c 100644 --- a/ui/src/app/applications/components/applications-list/applications-filter.tsx +++ b/ui/src/app/applications/components/applications-list/applications-filter.tsx @@ -134,6 +134,7 @@ const ProjectFilter = (props: AppFilterProps) => { field={true} options={projectOptions} error={error.state} + retry={error.retry} loading={loading} /> ); @@ -151,14 +152,23 @@ const ClusterFilter = (props: AppFilterProps) => { return `${cluster.name} (${cluster.server})`; }; - const [clusters] = useData(() => services.clusters.list()); + const [clusters, loading, error] = useData(() => services.clusters.list()); const clusterOptions = optionsFrom( Array.from(new Set(props.apps.map(app => getClusterDetail(app.spec.destination, clusters)).filter(item => !!item))), props.pref.clustersFilter ); return ( - props.onChange({...props.pref, clustersFilter: s})} field={true} options={clusterOptions} /> + props.onChange({...props.pref, clustersFilter: s})} + field={true} + options={clusterOptions} + error={error.state} + retry={error.retry} + loading={loading} + /> ); }; diff --git a/ui/src/app/applications/components/filter/filter.scss b/ui/src/app/applications/components/filter/filter.scss index 3e0aa36a9a829..192ab851c2806 100644 --- a/ui/src/app/applications/components/filter/filter.scss +++ b/ui/src/app/applications/components/filter/filter.scss @@ -27,13 +27,19 @@ &__error { color: $argo-failed-color-dark; + + &__retry { + color: $argo-running-color; + cursor: pointer; + } } &__loading { color: $argo-running-color; } - &__error, &__loading { + &__error, + &__loading { text-align: center; } } diff --git a/ui/src/app/applications/components/filter/filter.tsx b/ui/src/app/applications/components/filter/filter.tsx index 2575f3909646d..304112a8ee579 100644 --- a/ui/src/app/applications/components/filter/filter.tsx +++ b/ui/src/app/applications/components/filter/filter.tsx @@ -12,8 +12,10 @@ interface FilterProps { setSelected: (items: string[]) => void; options?: CheckboxOption[]; label?: string; + labels?: string[]; field?: boolean; error?: boolean; + retry?: () => void; loading?: boolean; } @@ -26,6 +28,8 @@ export const Filter = (props: FilterProps) => { const [input, setInput] = React.useState(''); const [collapsed, setCollapsed] = React.useState(false); + const labels = props.labels || props.options.map(o => o.label); + React.useEffect(() => { const map: string[] = Object.keys(values).filter(s => values[s]); props.setSelected(map); @@ -60,15 +64,13 @@ export const Filter = (props: FilterProps) => { (props.loading ? ( ) : props.error ? ( - + ) : ( {props.field && ( { - return opt.label; - })} + items={labels} value={input} onChange={e => setInput(e.target.value)} onItemClick={val => { @@ -99,9 +101,12 @@ export const Filter = (props: FilterProps) => { ); }; -const FilterError = () => ( +const FilterError = (props: {retry: () => void}) => (
ERROR LOADING FILTER +
props.retry()} className='filter__error__retry'> + RETRY +
); From 7e68b1ef7157d88049754b4e16209badc5f9f2b0 Mon Sep 17 00:00:00 2001 From: Balazs Zachar Date: Fri, 9 Jul 2021 03:39:23 +0200 Subject: [PATCH 21/93] feat: add custom resource health checks for trident.netapp.io/TridentOrchestrator and trident.netapp.io/TridentBackendConfig (Closes [ISSUE #6550]) (#6552) * feat: add custom resource health checks for trident.netapp.io/TridentOrchestrator and trident.netapp.io/TridentBackendConfig Signed-off-by: Balazs Zachar * feat: extend TridentOrchestrator check with degraded state (based on official documentation) Signed-off-by: Balazs Zachar --- .../TridentBackendConfig/health.lua | 16 ++++ .../TridentBackendConfig/health_test.yaml | 13 +++ .../testdata/degraded.yaml | 95 +++++++++++++++++++ .../testdata/healthy.yaml | 94 ++++++++++++++++++ .../testdata/progressing.yaml | 91 ++++++++++++++++++ .../TridentOrchestrator/health.lua | 16 ++++ .../TridentOrchestrator/health_test.yaml | 13 +++ .../testdata/degraded.yaml | 91 ++++++++++++++++++ .../TridentOrchestrator/testdata/healthy.yaml | 91 ++++++++++++++++++ .../testdata/progressing.yaml | 91 ++++++++++++++++++ 10 files changed, 611 insertions(+) create mode 100644 resource_customizations/trident.netapp.io/TridentBackendConfig/health.lua create mode 100644 resource_customizations/trident.netapp.io/TridentBackendConfig/health_test.yaml create mode 100644 resource_customizations/trident.netapp.io/TridentBackendConfig/testdata/degraded.yaml create mode 100644 resource_customizations/trident.netapp.io/TridentBackendConfig/testdata/healthy.yaml create mode 100644 resource_customizations/trident.netapp.io/TridentBackendConfig/testdata/progressing.yaml create mode 100644 resource_customizations/trident.netapp.io/TridentOrchestrator/health.lua create mode 100644 resource_customizations/trident.netapp.io/TridentOrchestrator/health_test.yaml create mode 100644 resource_customizations/trident.netapp.io/TridentOrchestrator/testdata/degraded.yaml create mode 100644 resource_customizations/trident.netapp.io/TridentOrchestrator/testdata/healthy.yaml create mode 100644 resource_customizations/trident.netapp.io/TridentOrchestrator/testdata/progressing.yaml diff --git a/resource_customizations/trident.netapp.io/TridentBackendConfig/health.lua b/resource_customizations/trident.netapp.io/TridentBackendConfig/health.lua new file mode 100644 index 0000000000000..8f8b0ca9c5d83 --- /dev/null +++ b/resource_customizations/trident.netapp.io/TridentBackendConfig/health.lua @@ -0,0 +1,16 @@ +hs = {} +if obj.status ~= nil then + if obj.status.phase == "Bound" and obj.status.lastOperationStatus == "Success" then + hs.status = "Healthy" + hs.message = obj.status.message + return hs + end + if obj.status.lastOperationStatus == "Failed" then + hs.status = "Degraded" + hs.message = obj.status.message + return hs + end +end +hs.status = "Progressing" +hs.message = "Waiting for backend creation" +return hs diff --git a/resource_customizations/trident.netapp.io/TridentBackendConfig/health_test.yaml b/resource_customizations/trident.netapp.io/TridentBackendConfig/health_test.yaml new file mode 100644 index 0000000000000..d7cbc7f90382f --- /dev/null +++ b/resource_customizations/trident.netapp.io/TridentBackendConfig/health_test.yaml @@ -0,0 +1,13 @@ +tests: +- healthStatus: + status: Degraded + message: "Failed to create backend: backend tbc-ontap-nas already exists" + inputPath: testdata/degraded.yaml +- healthStatus: + status: Progressing + message: "Waiting for backend creation" + inputPath: testdata/progressing.yaml +- healthStatus: + status: Healthy + message: "Backend 'tbc-ontap-nas' created" + inputPath: testdata/healthy.yaml diff --git a/resource_customizations/trident.netapp.io/TridentBackendConfig/testdata/degraded.yaml b/resource_customizations/trident.netapp.io/TridentBackendConfig/testdata/degraded.yaml new file mode 100644 index 0000000000000..cfc367d15508c --- /dev/null +++ b/resource_customizations/trident.netapp.io/TridentBackendConfig/testdata/degraded.yaml @@ -0,0 +1,95 @@ +apiVersion: trident.netapp.io/v1 +kind: TridentBackendConfig +metadata: + annotations: + creationTimestamp: '2021-06-24T11:36:17Z' + finalizers: + - trident.netapp.io + generation: 1 + labels: + app.kubernetes.io/instance: trident-config + managedFields: + - apiVersion: trident.netapp.io/v1 + fieldsType: FieldsV1 + fieldsV1: + 'f:metadata': + 'f:annotations': + .: {} + 'f:kubectl.kubernetes.io/last-applied-configuration': {} + 'f:labels': + .: {} + 'f:app.kubernetes.io/instance': {} + 'f:spec': + .: {} + 'f:backendName': {} + 'f:credentials': + .: {} + 'f:name': {} + 'f:dataLIF': {} + 'f:defaults': + .: {} + 'f:exportPolicy': {} + 'f:snapshotPolicy': {} + 'f:snapshotReserve': {} + 'f:spaceReserve': {} + 'f:deletionPolicy': {} + 'f:limitVolumeSize': {} + 'f:managementLIF': {} + 'f:nfsMountOptions': {} + 'f:storageDriverName': {} + 'f:storagePrefix': {} + 'f:svm': {} + 'f:version': {} + manager: argocd-application-controller + operation: Update + time: '2021-06-24T11:36:17Z' + - apiVersion: trident.netapp.io/v1 + fieldsType: FieldsV1 + fieldsV1: + 'f:metadata': + 'f:finalizers': + .: {} + 'v:"trident.netapp.io"': {} + 'f:status': + .: {} + 'f:backendInfo': + .: {} + 'f:backendName': {} + 'f:backendUUID': {} + 'f:deletionPolicy': {} + 'f:lastOperationStatus': {} + 'f:message': {} + 'f:phase': {} + manager: trident_orchestrator + operation: Update + time: '2021-06-24T11:36:17Z' + name: backend-tbc-ontap-nas + namespace: trident + resourceVersion: '3430134' + uid: a5714401-d4f4-480d-a317-d85c630afe55 +spec: + backendName: tbc-ontap-nas + credentials: + name: backend-ontap-nas-secret-smv10 + dataLIF: 1.1.1.1 + defaults: + exportPolicy: ep_000 + snapshotPolicy: default + snapshotReserve: '10' + spaceReserve: volume + deletionPolicy: retain + limitVolumeSize: 100Gi + managementLIF: 1.1.1.1 + nfsMountOptions: nfsvers=4 + storageDriverName: ontap-nas + storagePrefix: trident-play01 + svm: svm-play01 + version: 1 +status: + backendInfo: + backendName: '' + backendUUID: '' + deletionPolicy: retain + lastOperationStatus: Failed + message: 'Failed to create backend: backend tbc-ontap-nas already exists' + phase: '' diff --git a/resource_customizations/trident.netapp.io/TridentBackendConfig/testdata/healthy.yaml b/resource_customizations/trident.netapp.io/TridentBackendConfig/testdata/healthy.yaml new file mode 100644 index 0000000000000..2f45144911b40 --- /dev/null +++ b/resource_customizations/trident.netapp.io/TridentBackendConfig/testdata/healthy.yaml @@ -0,0 +1,94 @@ +apiVersion: trident.netapp.io/v1 +kind: TridentBackendConfig +metadata: + creationTimestamp: '2021-06-24T11:30:12Z' + finalizers: + - trident.netapp.io + generation: 1 + labels: + app.kubernetes.io/instance: trident-config + managedFields: + - apiVersion: trident.netapp.io/v1 + fieldsType: FieldsV1 + fieldsV1: + 'f:metadata': + 'f:annotations': + .: {} + 'f:kubectl.kubernetes.io/last-applied-configuration': {} + 'f:labels': + .: {} + 'f:app.kubernetes.io/instance': {} + 'f:spec': + .: {} + 'f:backendName': {} + 'f:credentials': + .: {} + 'f:name': {} + 'f:dataLIF': {} + 'f:defaults': + .: {} + 'f:exportPolicy': {} + 'f:snapshotPolicy': {} + 'f:snapshotReserve': {} + 'f:spaceReserve': {} + 'f:deletionPolicy': {} + 'f:limitVolumeSize': {} + 'f:managementLIF': {} + 'f:nfsMountOptions': {} + 'f:storageDriverName': {} + 'f:storagePrefix': {} + 'f:svm': {} + 'f:version': {} + manager: argocd-application-controller + operation: Update + time: '2021-06-24T11:30:12Z' + - apiVersion: trident.netapp.io/v1 + fieldsType: FieldsV1 + fieldsV1: + 'f:metadata': + 'f:finalizers': + .: {} + 'v:"trident.netapp.io"': {} + 'f:status': + .: {} + 'f:backendInfo': + .: {} + 'f:backendName': {} + 'f:backendUUID': {} + 'f:deletionPolicy': {} + 'f:lastOperationStatus': {} + 'f:message': {} + 'f:phase': {} + manager: trident_orchestrator + operation: Update + time: '2021-06-24T11:30:12Z' + name: backend-tbc-ontap-nas + namespace: trident + resourceVersion: '3429076' + uid: 3de31983-aff9-4adb-a31c-1541d2cd86e6 +spec: + backendName: tbc-ontap-nas + credentials: + name: backend-ontap-nas-secret + dataLIF: 1.1.1.1 + defaults: + exportPolicy: ep_000 + snapshotPolicy: default + snapshotReserve: '10' + spaceReserve: volume + deletionPolicy: retain + limitVolumeSize: 100Gi + managementLIF: 1.1.1.1 + nfsMountOptions: nfsvers=4 + storageDriverName: ontap-nas + storagePrefix: trident-play01 + svm: svm-trident-play + version: 1 +status: + backendInfo: + backendName: tbc-ontap-nas + backendUUID: 00000000-0000-0000-0000-000000000000 + deletionPolicy: retain + lastOperationStatus: Success + message: Backend 'tbc-ontap-nas' created + phase: Bound diff --git a/resource_customizations/trident.netapp.io/TridentBackendConfig/testdata/progressing.yaml b/resource_customizations/trident.netapp.io/TridentBackendConfig/testdata/progressing.yaml new file mode 100644 index 0000000000000..bd8c60b46316c --- /dev/null +++ b/resource_customizations/trident.netapp.io/TridentBackendConfig/testdata/progressing.yaml @@ -0,0 +1,91 @@ +apiVersion: trident.netapp.io/v1 +kind: TridentBackendConfig +metadata: + creationTimestamp: '2021-06-24T11:30:12Z' + finalizers: + - trident.netapp.io + generation: 1 + labels: + app.kubernetes.io/instance: trident-config + managedFields: + - apiVersion: trident.netapp.io/v1 + fieldsType: FieldsV1 + fieldsV1: + 'f:metadata': + 'f:annotations': + .: {} + 'f:kubectl.kubernetes.io/last-applied-configuration': {} + 'f:labels': + .: {} + 'f:app.kubernetes.io/instance': {} + 'f:spec': + .: {} + 'f:backendName': {} + 'f:credentials': + .: {} + 'f:name': {} + 'f:dataLIF': {} + 'f:defaults': + .: {} + 'f:exportPolicy': {} + 'f:snapshotPolicy': {} + 'f:snapshotReserve': {} + 'f:spaceReserve': {} + 'f:deletionPolicy': {} + 'f:limitVolumeSize': {} + 'f:managementLIF': {} + 'f:nfsMountOptions': {} + 'f:storageDriverName': {} + 'f:storagePrefix': {} + 'f:svm': {} + 'f:version': {} + manager: argocd-application-controller + operation: Update + time: '2021-06-24T11:30:12Z' + - apiVersion: trident.netapp.io/v1 + fieldsType: FieldsV1 + fieldsV1: + 'f:metadata': + 'f:finalizers': + .: {} + 'v:"trident.netapp.io"': {} + 'f:status': + .: {} + 'f:backendInfo': + .: {} + 'f:backendName': {} + 'f:backendUUID': {} + 'f:deletionPolicy': {} + 'f:lastOperationStatus': {} + 'f:message': {} + 'f:phase': {} + manager: trident_orchestrator + operation: Update + time: '2021-06-24T11:30:12Z' + name: backend-tbc-ontap-nas + namespace: trident + resourceVersion: '3429076' + uid: 3de31983-aff9-4adb-a31c-1541d2cd86e6 +spec: + backendName: tbc-ontap-nas + credentials: + name: backend-ontap-nas-secret + dataLIF: 1.1.1.1 + defaults: + exportPolicy: ep_000 + snapshotPolicy: default + snapshotReserve: '10' + spaceReserve: volume + deletionPolicy: retain + limitVolumeSize: 100Gi + managementLIF: 1.1.1.1 + nfsMountOptions: nfsvers=4 + storageDriverName: ontap-nas + storagePrefix: trident-play01 + svm: svm-trident-play + version: 1 +status: + deletionPolicy: retain + lastOperationStatus: Progressing + message: Creating 'tbc-ontap-nas' backend + phase: Bound diff --git a/resource_customizations/trident.netapp.io/TridentOrchestrator/health.lua b/resource_customizations/trident.netapp.io/TridentOrchestrator/health.lua new file mode 100644 index 0000000000000..4ceecef2f0ec0 --- /dev/null +++ b/resource_customizations/trident.netapp.io/TridentOrchestrator/health.lua @@ -0,0 +1,16 @@ +hs = {} +if obj.status ~= nil then + if obj.status.status == "Installed" then + hs.status = "Healthy" + hs.message = obj.status.message + return hs + end + if obj.status.status == "Failed" or obj.status.status == "Error" then + hs.status = "Degraded" + hs.message = obj.status.message + return hs + end +end +hs.status = "Progressing" +hs.message = "Waiting for trident installation" +return hs diff --git a/resource_customizations/trident.netapp.io/TridentOrchestrator/health_test.yaml b/resource_customizations/trident.netapp.io/TridentOrchestrator/health_test.yaml new file mode 100644 index 0000000000000..86ee88fadda8d --- /dev/null +++ b/resource_customizations/trident.netapp.io/TridentOrchestrator/health_test.yaml @@ -0,0 +1,13 @@ +tests: +- healthStatus: + status: Degraded + message: "Trident is bound to another CR 'trident'" + inputPath: testdata/degraded.yaml +- healthStatus: + status: Progressing + message: "Waiting for trident installation" + inputPath: testdata/progressing.yaml +- healthStatus: + status: Healthy + message: "Trident installed" + inputPath: testdata/healthy.yaml diff --git a/resource_customizations/trident.netapp.io/TridentOrchestrator/testdata/degraded.yaml b/resource_customizations/trident.netapp.io/TridentOrchestrator/testdata/degraded.yaml new file mode 100644 index 0000000000000..deb2058d421de --- /dev/null +++ b/resource_customizations/trident.netapp.io/TridentOrchestrator/testdata/degraded.yaml @@ -0,0 +1,91 @@ +apiVersion: trident.netapp.io/v1 +kind: TridentOrchestrator +metadata: + creationTimestamp: '2021-06-24T11:27:54Z' + generation: 1 + labels: + app.kubernetes.io/instance: trident-operator + managedFields: + - apiVersion: trident.netapp.io/v1 + fieldsType: FieldsV1 + fieldsV1: + 'f:metadata': + 'f:annotations': + .: {} + 'f:kubectl.kubernetes.io/last-applied-configuration': {} + 'f:labels': + .: {} + 'f:app.kubernetes.io/instance': {} + 'f:spec': + .: {} + 'f:autosupportImage': {} + 'f:debug': {} + 'f:logFormat': {} + 'f:namespace': {} + 'f:tridentImage': {} + manager: argocd-application-controller + operation: Update + time: '2021-06-24T11:27:54Z' + - apiVersion: trident.netapp.io/v1 + fieldsType: FieldsV1 + fieldsV1: + 'f:status': + .: {} + 'f:currentInstallationParams': + .: {} + 'f:IPv6': {} + 'f:autosupportHostname': {} + 'f:autosupportImage': {} + 'f:autosupportProxy': {} + 'f:autosupportSerialNumber': {} + 'f:debug': {} + 'f:enableNodePrep': {} + 'f:imagePullSecrets': {} + 'f:imageRegistry': {} + 'f:k8sTimeout': {} + 'f:kubeletDir': {} + 'f:logFormat': {} + 'f:silenceAutosupport': {} + 'f:tridentImage': {} + 'f:message': {} + 'f:namespace': {} + 'f:status': {} + 'f:version': {} + manager: trident-operator + operation: Update + time: '2021-06-24T11:27:55Z' + name: trident + resourceVersion: '3428714' + uid: 4353204f-59f7-41be-a853-dcf114011222 +spec: + IPv6: false + autosupportImage: 'netapp/trident-autosupport:21.01' + autosupportProxy: null + debug: false + enableNodePrep: false + k8sTimeout: 0 + kubeletDir: null + logFormat: text + namespace: trident + silenceAutosupport: false + tridentImage: 'netapp/trident:21.04.0' +status: + currentInstallationParams: + IPv6: '' + autosupportHostname: '' + autosupportImage: '' + autosupportProxy: '' + autosupportSerialNumber: '' + debug: '' + enableNodePrep: '' + imagePullSecrets: null + imageRegistry: '' + k8sTimeout: '' + kubeletDir: '' + logFormat: '' + silenceAutosupport: '' + tridentImage: '' + message: "Trident is bound to another CR 'trident'" + namespace: trident + status: Error + version: '' diff --git a/resource_customizations/trident.netapp.io/TridentOrchestrator/testdata/healthy.yaml b/resource_customizations/trident.netapp.io/TridentOrchestrator/testdata/healthy.yaml new file mode 100644 index 0000000000000..211c7a27d26b6 --- /dev/null +++ b/resource_customizations/trident.netapp.io/TridentOrchestrator/testdata/healthy.yaml @@ -0,0 +1,91 @@ +apiVersion: trident.netapp.io/v1 +kind: TridentOrchestrator +metadata: + creationTimestamp: '2021-06-24T10:51:34Z' + generation: 1 + labels: + app.kubernetes.io/instance: trident-operator + managedFields: + - apiVersion: trident.netapp.io/v1 + fieldsType: FieldsV1 + fieldsV1: + 'f:metadata': + 'f:annotations': + .: {} + 'f:kubectl.kubernetes.io/last-applied-configuration': {} + 'f:labels': + .: {} + 'f:app.kubernetes.io/instance': {} + 'f:spec': + .: {} + 'f:autosupportImage': {} + 'f:debug': {} + 'f:logFormat': {} + 'f:namespace': {} + 'f:tridentImage': {} + manager: argocd-application-controller + operation: Update + time: '2021-06-24T10:51:34Z' + - apiVersion: trident.netapp.io/v1 + fieldsType: FieldsV1 + fieldsV1: + 'f:status': + .: {} + 'f:currentInstallationParams': + .: {} + 'f:IPv6': {} + 'f:autosupportHostname': {} + 'f:autosupportImage': {} + 'f:autosupportProxy': {} + 'f:autosupportSerialNumber': {} + 'f:debug': {} + 'f:enableNodePrep': {} + 'f:imagePullSecrets': {} + 'f:imageRegistry': {} + 'f:k8sTimeout': {} + 'f:kubeletDir': {} + 'f:logFormat': {} + 'f:silenceAutosupport': {} + 'f:tridentImage': {} + 'f:message': {} + 'f:namespace': {} + 'f:status': {} + 'f:version': {} + manager: trident-operator + operation: Update + time: '2021-06-24T10:51:35Z' + name: trident + resourceVersion: '3424514' + uid: eb768637-6b11-4e70-8646-43c2117bc202 +spec: + IPv6: false + autosupportImage: 'netapp/trident-autosupport:21.01' + autosupportProxy: null + debug: false + enableNodePrep: false + k8sTimeout: 0 + kubeletDir: null + logFormat: text + namespace: trident + silenceAutosupport: false + tridentImage: 'netapp/trident:21.04.0' +status: + currentInstallationParams: + IPv6: 'false' + autosupportHostname: '' + autosupportImage: 'netapp/trident-autosupport:21.01' + autosupportProxy: '' + autosupportSerialNumber: '' + debug: 'false' + enableNodePrep: 'false' + imagePullSecrets: [] + imageRegistry: '' + k8sTimeout: '30' + kubeletDir: /var/lib/kubelet + logFormat: text + silenceAutosupport: 'false' + tridentImage: 'netapp/trident:21.04.0' + message: Trident installed + namespace: trident + status: Installed + version: v21.04.0 diff --git a/resource_customizations/trident.netapp.io/TridentOrchestrator/testdata/progressing.yaml b/resource_customizations/trident.netapp.io/TridentOrchestrator/testdata/progressing.yaml new file mode 100644 index 0000000000000..6647b8dca7260 --- /dev/null +++ b/resource_customizations/trident.netapp.io/TridentOrchestrator/testdata/progressing.yaml @@ -0,0 +1,91 @@ +apiVersion: trident.netapp.io/v1 +kind: TridentOrchestrator +metadata: + creationTimestamp: '2021-06-24T11:27:54Z' + generation: 1 + labels: + app.kubernetes.io/instance: trident-operator + managedFields: + - apiVersion: trident.netapp.io/v1 + fieldsType: FieldsV1 + fieldsV1: + 'f:metadata': + 'f:annotations': + .: {} + 'f:kubectl.kubernetes.io/last-applied-configuration': {} + 'f:labels': + .: {} + 'f:app.kubernetes.io/instance': {} + 'f:spec': + .: {} + 'f:autosupportImage': {} + 'f:debug': {} + 'f:logFormat': {} + 'f:namespace': {} + 'f:tridentImage': {} + manager: argocd-application-controller + operation: Update + time: '2021-06-24T11:27:54Z' + - apiVersion: trident.netapp.io/v1 + fieldsType: FieldsV1 + fieldsV1: + 'f:status': + .: {} + 'f:currentInstallationParams': + .: {} + 'f:IPv6': {} + 'f:autosupportHostname': {} + 'f:autosupportImage': {} + 'f:autosupportProxy': {} + 'f:autosupportSerialNumber': {} + 'f:debug': {} + 'f:enableNodePrep': {} + 'f:imagePullSecrets': {} + 'f:imageRegistry': {} + 'f:k8sTimeout': {} + 'f:kubeletDir': {} + 'f:logFormat': {} + 'f:silenceAutosupport': {} + 'f:tridentImage': {} + 'f:message': {} + 'f:namespace': {} + 'f:status': {} + 'f:version': {} + manager: trident-operator + operation: Update + time: '2021-06-24T11:27:55Z' + name: trident + resourceVersion: '3428714' + uid: 4353204f-59f7-41be-a853-dcf114011222 +spec: + IPv6: false + autosupportImage: 'netapp/trident-autosupport:21.01' + autosupportProxy: null + debug: false + enableNodePrep: false + k8sTimeout: 0 + kubeletDir: null + logFormat: text + namespace: trident + silenceAutosupport: false + tridentImage: 'netapp/trident:21.04.0' +status: + currentInstallationParams: + IPv6: '' + autosupportHostname: '' + autosupportImage: '' + autosupportProxy: '' + autosupportSerialNumber: '' + debug: '' + enableNodePrep: '' + imagePullSecrets: null + imageRegistry: '' + k8sTimeout: '' + kubeletDir: '' + logFormat: '' + silenceAutosupport: '' + tridentImage: '' + message: Installing Trident + namespace: trident + status: Installing + version: '' From 040202e7d0429306cf0f17b491a8368e3eeceaee Mon Sep 17 00:00:00 2001 From: Yi Cai Date: Fri, 9 Jul 2021 17:02:48 -0400 Subject: [PATCH 22/93] fix: [#5462] ArgoCD UI External links dropdown caret positioned incorrectly in list view (#6668) * fix: #5462 ArgoCD UI External links dropdown caret positioned incorrectly in list view Signed-off-by: ciiay * fix: minor uddaptes to fix eslint error Signed-off-by: ciiay --- ui/src/app/applications/components/application-urls.tsx | 4 ++-- .../components/applications-list/applications-list.scss | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/ui/src/app/applications/components/application-urls.tsx b/ui/src/app/applications/components/application-urls.tsx index 24c1d88f1c286..ff743fc3d63f3 100644 --- a/ui/src/app/applications/components/application-urls.tsx +++ b/ui/src/app/applications/components/application-urls.tsx @@ -37,7 +37,7 @@ export const ApplicationURLs = ({urls}: {urls: string[]}) => { return ( ((externalLinks || []).length > 0 && ( - + )) || null ); diff --git a/ui/src/app/applications/components/applications-list/applications-list.scss b/ui/src/app/applications/components/applications-list/applications-list.scss index b8ea7a759b4a2..5ecf2faadfd0f 100644 --- a/ui/src/app/applications/components/applications-list/applications-list.scss +++ b/ui/src/app/applications/components/applications-list/applications-list.scss @@ -207,4 +207,10 @@ top: 1em; right: 1em; } + + &__external-links-icon-container { + position: relative; + display: inline-block; + width: 28px; + } } From 5f5b78820244fe6157cededfcec28fdd0d1c083f Mon Sep 17 00:00:00 2001 From: Yi Cai Date: Fri, 9 Jul 2021 18:55:01 -0400 Subject: [PATCH 23/93] fix: pods Tooltip runs offscreen #5481 (#6685) Signed-off-by: ciiay --- .../applications/components/application-pod-view/pod-view.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/src/app/applications/components/application-pod-view/pod-view.tsx b/ui/src/app/applications/components/application-pod-view/pod-view.tsx index 543c5decfd382..a1ff556969e1b 100644 --- a/ui/src/app/applications/components/application-pod-view/pod-view.tsx +++ b/ui/src/app/applications/components/application-pod-view/pod-view.tsx @@ -168,7 +168,7 @@ export class PodView extends React.Component { popperOptions={{ modifiers: { preventOverflow: { - enabled: false + enabled: true }, flip: { enabled: false From 17d698d77f38b800ce9583380ebb10a1b62f4f64 Mon Sep 17 00:00:00 2001 From: Alexander Matyushentsev Date: Sat, 10 Jul 2021 01:28:17 -0700 Subject: [PATCH 24/93] chore: stop publishing documentation to github pages (#6688) Signed-off-by: Alexander Matyushentsev --- .github/workflows/gh-pages.yaml | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/.github/workflows/gh-pages.yaml b/.github/workflows/gh-pages.yaml index 41d775ab6a0ce..bc4357d8257e1 100644 --- a/.github/workflows/gh-pages.yaml +++ b/.github/workflows/gh-pages.yaml @@ -20,11 +20,4 @@ jobs: - name: build run: | pip install -r docs/requirements.txt - mkdocs build - - name: deploy - if: ${{ github.event_name == 'push' }} - uses: peaceiris/actions-gh-pages@v2.5.0 - env: - PERSONAL_TOKEN: ${{ secrets.PERSONAL_TOKEN }} - PUBLISH_BRANCH: gh-pages - PUBLISH_DIR: ./site \ No newline at end of file + mkdocs build \ No newline at end of file From da3f21b62dee82b5fd51c6e82ff1df50cf7b70a1 Mon Sep 17 00:00:00 2001 From: Saumeya Katyal Date: Sun, 11 Jul 2021 13:53:28 +0530 Subject: [PATCH 25/93] fix: Version warning banner in docs (#6682) Signed-off-by: saumeya add side-bar media queries removed extra comments Signed-off-by: saumeya --- docs/assets/versions.css | 7 +++++-- docs/assets/versions.js | 14 ++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/docs/assets/versions.css b/docs/assets/versions.css index 49c3d830695d7..b8bb066929dd0 100644 --- a/docs/assets/versions.css +++ b/docs/assets/versions.css @@ -36,10 +36,13 @@ /* Version Warning */ div[data-md-component=announce] { - background-color: rgba(255,145,0,.1); + background-color: rgb(248, 243, 236); + position: sticky; + top: 0; + z-index: 2; } div[data-md-component=announce]>div#announce-msg{ - color: var(--md-admonition-fg-color); + color: var(--md-code-hl-number-color); font-size: .8rem; text-align: center; margin: 15px; diff --git a/docs/assets/versions.js b/docs/assets/versions.js index d67a39e72247c..d3befc5f91dea 100644 --- a/docs/assets/versions.js +++ b/docs/assets/versions.js @@ -35,10 +35,24 @@ setTimeout(function() { // VERSION WARNINGS window.addEventListener("DOMContentLoaded", function() { var rtdData = window['READTHEDOCS_DATA'] || { version: 'latest' }; + var margin = 30; + var headerHeight = document.getElementsByClassName("md-header")[0].offsetHeight; if (rtdData.version === "latest") { document.querySelector("div[data-md-component=announce]").innerHTML = "
You are viewing the docs for an unreleased version of Argo CD, click here to go to the latest stable version.
" + var bannerHeight = document.getElementById('announce-msg').offsetHeight + margin + document.querySelector("header.md-header").style.top = bannerHeight +"px"; + document.querySelector('style').textContent += + "@media screen and (min-width: 76.25em){ .md-sidebar { height: 0; top:"+ (bannerHeight+headerHeight)+"px !important; }}" + document.querySelector('style').textContent += + "@media screen and (min-width: 60em){ .md-sidebar--secondary { height: 0; top:"+ (bannerHeight+headerHeight)+"px !important; }}" } else if (rtdData.version !== "stable") { document.querySelector("div[data-md-component=announce]").innerHTML = "
You are viewing the docs for a previous version of Argo CD, click here to go to the latest stable version.
" + var bannerHeight = document.getElementById('announce-msg').offsetHeight + margin + document.querySelector("header.md-header").style.top = bannerHeight +"px"; + document.querySelector('style').textContent += + "@media screen and (min-width: 76.25em){ .md-sidebar { height: 0; top:"+ (bannerHeight+headerHeight)+"px !important; }}" + document.querySelector('style').textContent += + "@media screen and (min-width: 60em){ .md-sidebar--secondary { height: 0; top:"+ (bannerHeight+headerHeight)+"px !important; }}" } }); From 2693b5480e63e6ae9ee539478b361ddb099251da Mon Sep 17 00:00:00 2001 From: Denis Krivenko <36439732+dnskr@users.noreply.github.com> Date: Sun, 11 Jul 2021 23:18:33 +0200 Subject: [PATCH 26/93] feat: Implement MinIO Tenant CRD health check (#6509) * feat: Implement MinIO Tenant CRD health check Signed-off-by: dnskr * feat: Replace 'Unknown' and 'Missing' health check statuses with 'Progressing' for MinIO Tenant CRD Signed-off-by: dnskr Co-authored-by: Denis Krivenko --- .../minio.min.io/Tenant/health.lua | 46 +++++++++++++++++++ .../minio.min.io/Tenant/health_test.yaml | 37 +++++++++++++++ .../testdata/another_tenant_exists.yaml | 13 ++++++ .../Tenant/testdata/initialized.yaml | 13 ++++++ .../Tenant/testdata/no_status.yaml | 12 +++++ .../Tenant/testdata/out_of_control.yaml | 13 ++++++ .../Tenant/testdata/provisioning.yaml | 13 ++++++ .../testdata/unknown_status_message.yaml | 13 ++++++ .../Tenant/testdata/updating.yaml | 13 ++++++ .../Tenant/testdata/versions_mismatch.yaml | 13 ++++++ .../minio.min.io/Tenant/testdata/waiting.yaml | 13 ++++++ 11 files changed, 199 insertions(+) create mode 100644 resource_customizations/minio.min.io/Tenant/health.lua create mode 100644 resource_customizations/minio.min.io/Tenant/health_test.yaml create mode 100644 resource_customizations/minio.min.io/Tenant/testdata/another_tenant_exists.yaml create mode 100644 resource_customizations/minio.min.io/Tenant/testdata/initialized.yaml create mode 100644 resource_customizations/minio.min.io/Tenant/testdata/no_status.yaml create mode 100644 resource_customizations/minio.min.io/Tenant/testdata/out_of_control.yaml create mode 100644 resource_customizations/minio.min.io/Tenant/testdata/provisioning.yaml create mode 100644 resource_customizations/minio.min.io/Tenant/testdata/unknown_status_message.yaml create mode 100644 resource_customizations/minio.min.io/Tenant/testdata/updating.yaml create mode 100644 resource_customizations/minio.min.io/Tenant/testdata/versions_mismatch.yaml create mode 100644 resource_customizations/minio.min.io/Tenant/testdata/waiting.yaml diff --git a/resource_customizations/minio.min.io/Tenant/health.lua b/resource_customizations/minio.min.io/Tenant/health.lua new file mode 100644 index 0000000000000..5e205a555f89b --- /dev/null +++ b/resource_customizations/minio.min.io/Tenant/health.lua @@ -0,0 +1,46 @@ +health_status = {} +if obj.status ~= nil then + if obj.status.currentState ~= nil then + if obj.status.currentState == "Initialized" then + health_status.status = "Healthy" + health_status.message = obj.status.currentState + return health_status + end + if obj.status.currentState:find("^Provisioning") ~= nil then + health_status.status = "Progressing" + health_status.message = obj.status.currentState + return health_status + end + if obj.status.currentState:find("^Waiting") ~= nil then + health_status.status = "Progressing" + health_status.message = obj.status.currentState + return health_status + end + if obj.status.currentState:find("^Updating") ~= nil then + health_status.status = "Progressing" + health_status.message = obj.status.currentState + return health_status + end + if obj.status.currentState == "Statefulset not controlled by operator" then + health_status.status = "Degraded" + health_status.message = obj.status.currentState + return health_status + end + if obj.status.currentState == "Another MinIO Tenant already exists in the namespace" then + health_status.status = "Degraded" + health_status.message = obj.status.currentState + return health_status + end + if obj.status.currentState == "Different versions across MinIO Pools" then + health_status.status = "Degraded" + health_status.message = obj.status.currentState + return health_status + end + health_status.status = "Progressing" + health_status.message = obj.status.currentState + return health_status + end +end +health_status.status = "Progressing" +health_status.message = "No status info available" +return health_status diff --git a/resource_customizations/minio.min.io/Tenant/health_test.yaml b/resource_customizations/minio.min.io/Tenant/health_test.yaml new file mode 100644 index 0000000000000..525d7674b11bd --- /dev/null +++ b/resource_customizations/minio.min.io/Tenant/health_test.yaml @@ -0,0 +1,37 @@ +tests: +- healthStatus: + status: Healthy + message: "Initialized" + inputPath: testdata/initialized.yaml +- healthStatus: + status: Progressing + message: "Provisioning MinIO Cluster IP Service" + inputPath: testdata/provisioning.yaml +- healthStatus: + status: Progressing + message: "Waiting for Pods to be ready" + inputPath: testdata/waiting.yaml +- healthStatus: + status: Progressing + message: "Updating MinIO Version" + inputPath: testdata/updating.yaml +- healthStatus: + status: Degraded + message: "Statefulset not controlled by operator" + inputPath: testdata/out_of_control.yaml +- healthStatus: + status: Degraded + message: "Another MinIO Tenant already exists in the namespace" + inputPath: testdata/another_tenant_exists.yaml +- healthStatus: + status: Degraded + message: "Different versions across MinIO Pools" + inputPath: testdata/versions_mismatch.yaml +- healthStatus: + status: Progressing + message: "" + inputPath: testdata/unknown_status_message.yaml +- healthStatus: + status: Progressing + message: "No status info available" + inputPath: testdata/no_status.yaml diff --git a/resource_customizations/minio.min.io/Tenant/testdata/another_tenant_exists.yaml b/resource_customizations/minio.min.io/Tenant/testdata/another_tenant_exists.yaml new file mode 100644 index 0000000000000..5ca4d78d772bd --- /dev/null +++ b/resource_customizations/minio.min.io/Tenant/testdata/another_tenant_exists.yaml @@ -0,0 +1,13 @@ +apiVersion: minio.min.io/v2 +kind: Tenant +metadata: + name: minio-tenant +spec: + image: minio/minio:latest + pools: + - name: pool-0 + servers: 1 + volumesPerServer: 4 +status: + revision: 0 + currentState: Another MinIO Tenant already exists in the namespace diff --git a/resource_customizations/minio.min.io/Tenant/testdata/initialized.yaml b/resource_customizations/minio.min.io/Tenant/testdata/initialized.yaml new file mode 100644 index 0000000000000..74018d3321aec --- /dev/null +++ b/resource_customizations/minio.min.io/Tenant/testdata/initialized.yaml @@ -0,0 +1,13 @@ +apiVersion: minio.min.io/v2 +kind: Tenant +metadata: + name: minio-tenant +spec: + image: minio/minio:latest + pools: + - name: pool-0 + servers: 1 + volumesPerServer: 4 +status: + revision: 0 + currentState: Initialized diff --git a/resource_customizations/minio.min.io/Tenant/testdata/no_status.yaml b/resource_customizations/minio.min.io/Tenant/testdata/no_status.yaml new file mode 100644 index 0000000000000..3e58e86c20c10 --- /dev/null +++ b/resource_customizations/minio.min.io/Tenant/testdata/no_status.yaml @@ -0,0 +1,12 @@ +apiVersion: minio.min.io/v2 +kind: Tenant +metadata: + name: minio-tenant +spec: + image: minio/minio:latest + pools: + - name: pool-0 + servers: 1 + volumesPerServer: 4 +status: + revision: 0 diff --git a/resource_customizations/minio.min.io/Tenant/testdata/out_of_control.yaml b/resource_customizations/minio.min.io/Tenant/testdata/out_of_control.yaml new file mode 100644 index 0000000000000..ea25763a0c361 --- /dev/null +++ b/resource_customizations/minio.min.io/Tenant/testdata/out_of_control.yaml @@ -0,0 +1,13 @@ +apiVersion: minio.min.io/v2 +kind: Tenant +metadata: + name: minio-tenant +spec: + image: minio/minio:latest + pools: + - name: pool-0 + servers: 1 + volumesPerServer: 4 +status: + revision: 0 + currentState: Statefulset not controlled by operator diff --git a/resource_customizations/minio.min.io/Tenant/testdata/provisioning.yaml b/resource_customizations/minio.min.io/Tenant/testdata/provisioning.yaml new file mode 100644 index 0000000000000..05c9ba39a9ec9 --- /dev/null +++ b/resource_customizations/minio.min.io/Tenant/testdata/provisioning.yaml @@ -0,0 +1,13 @@ +apiVersion: minio.min.io/v2 +kind: Tenant +metadata: + name: minio-tenant +spec: + image: minio/minio:latest + pools: + - name: pool-0 + servers: 1 + volumesPerServer: 4 +status: + revision: 0 + currentState: Provisioning MinIO Cluster IP Service diff --git a/resource_customizations/minio.min.io/Tenant/testdata/unknown_status_message.yaml b/resource_customizations/minio.min.io/Tenant/testdata/unknown_status_message.yaml new file mode 100644 index 0000000000000..862560e2ecd4b --- /dev/null +++ b/resource_customizations/minio.min.io/Tenant/testdata/unknown_status_message.yaml @@ -0,0 +1,13 @@ +apiVersion: minio.min.io/v2 +kind: Tenant +metadata: + name: minio-tenant +spec: + image: minio/minio:latest + pools: + - name: pool-0 + servers: 1 + volumesPerServer: 4 +status: + revision: 0 + currentState: diff --git a/resource_customizations/minio.min.io/Tenant/testdata/updating.yaml b/resource_customizations/minio.min.io/Tenant/testdata/updating.yaml new file mode 100644 index 0000000000000..a32c18d5e7031 --- /dev/null +++ b/resource_customizations/minio.min.io/Tenant/testdata/updating.yaml @@ -0,0 +1,13 @@ +apiVersion: minio.min.io/v2 +kind: Tenant +metadata: + name: minio-tenant +spec: + image: minio/minio:latest + pools: + - name: pool-0 + servers: 1 + volumesPerServer: 4 +status: + revision: 0 + currentState: Updating MinIO Version diff --git a/resource_customizations/minio.min.io/Tenant/testdata/versions_mismatch.yaml b/resource_customizations/minio.min.io/Tenant/testdata/versions_mismatch.yaml new file mode 100644 index 0000000000000..31f79d73ad4d8 --- /dev/null +++ b/resource_customizations/minio.min.io/Tenant/testdata/versions_mismatch.yaml @@ -0,0 +1,13 @@ +apiVersion: minio.min.io/v2 +kind: Tenant +metadata: + name: minio-tenant +spec: + image: minio/minio:latest + pools: + - name: pool-0 + servers: 1 + volumesPerServer: 4 +status: + revision: 0 + currentState: Different versions across MinIO Pools diff --git a/resource_customizations/minio.min.io/Tenant/testdata/waiting.yaml b/resource_customizations/minio.min.io/Tenant/testdata/waiting.yaml new file mode 100644 index 0000000000000..3476622de6580 --- /dev/null +++ b/resource_customizations/minio.min.io/Tenant/testdata/waiting.yaml @@ -0,0 +1,13 @@ +apiVersion: minio.min.io/v2 +kind: Tenant +metadata: + name: minio-tenant +spec: + image: minio/minio:latest + pools: + - name: pool-0 + servers: 1 + volumesPerServer: 4 +status: + revision: 0 + currentState: Waiting for Pods to be ready From dec710e8cb6bbbbbffd12142e8ffdad256366fea Mon Sep 17 00:00:00 2001 From: Alexander Matyushentsev Date: Mon, 12 Jul 2021 09:09:31 -0700 Subject: [PATCH 27/93] fix: download Pod Logs button not honouring argocd-server rootpath (#6548) (#6627) Signed-off-by: Alexander Matyushentsev --- ui/src/app/shared/services/applications-service.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/src/app/shared/services/applications-service.ts b/ui/src/app/shared/services/applications-service.ts index 76d57b36a8921..9f1937070899c 100644 --- a/ui/src/app/shared/services/applications-service.ts +++ b/ui/src/app/shared/services/applications-service.ts @@ -183,7 +183,7 @@ export class ApplicationsService { public getDownloadLogsURL(applicationName: string, namespace: string, podName: string, resource: {group: string; kind: string; name: string}, containerName: string): string { const search = this.getLogsQuery(namespace, podName, resource, containerName, null, false); search.set('download', 'true'); - return `/api/v1/applications/${applicationName}/logs?${search.toString()}`; + return `api/v1/applications/${applicationName}/logs?${search.toString()}`; } public getContainerLogs( From 9a788c347037f545da91f744c97015c495416377 Mon Sep 17 00:00:00 2001 From: xuhrc <39309231@qq.com> Date: Tue, 13 Jul 2021 00:26:00 +0800 Subject: [PATCH 28/93] fix: label selector is useless when name variable is not set (#5975) when name variable is empty, the label selector is useless. Signed-off-by: stanhrxu --- server/application/application.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/application/application.go b/server/application/application.go index 80a7f15816fc3..2790b84db4f12 100644 --- a/server/application/application.go +++ b/server/application/application.go @@ -751,7 +751,7 @@ func (s *Server) Watch(q *application.ApplicationQuery, ws application.Applicati if appVersion, err := strconv.Atoi(a.ResourceVersion); err == nil && appVersion < minVersion { return } - matchedEvent := q.GetName() == "" || a.Name == q.GetName() && selector.Matches(labels.Set(a.Labels)) + matchedEvent := (q.GetName() == "" || a.Name == q.GetName()) && selector.Matches(labels.Set(a.Labels)) if !matchedEvent { return } From d6dd6afd05e512d7d22509bd7fb777fba4a78f91 Mon Sep 17 00:00:00 2001 From: Saumeya Katyal Date: Mon, 12 Jul 2021 22:24:18 +0530 Subject: [PATCH 29/93] build: Upgrade npm dependencies to remove vulnerablities (#6700) Signed-off-by: saumeya --- ui/package.json | 5 +- ui/yarn.lock | 4647 ++++++++++++++++++++--------------------------- 2 files changed, 1925 insertions(+), 2727 deletions(-) diff --git a/ui/package.json b/ui/package.json index 71ec65a08ee3c..2d32fe5ba5036 100644 --- a/ui/package.json +++ b/ui/package.json @@ -40,18 +40,17 @@ "html-webpack-plugin": "^3.2.0", "jest-junit": "^6.4.0", "js-yaml": "^3.13.1", - "jscs": "^3.0.7", "json-merge-patch": "^0.2.3", "minimatch": "^3.0.4", "moment": "^2.24.0", "monaco-editor": "^0.15.6", "monaco-editor-webpack-plugin": "^1.7.0", - "node-sass": "^4.14.1", + "node-sass": "^6.0.1", "prop-types": "^15.6.0", "raw-loader": "^0.5.1", "react": "^16.9.3", "react-autocomplete": "^1.8.1", - "react-diff-view": "^2.1.4", + "react-diff-view": "^2.4.7", "react-dom": "^16.9.3", "react-form": "2.16.0", "react-ga": "^2.6.0", diff --git a/ui/yarn.lock b/ui/yarn.lock index ab4708f977874..9940ad1934d5b 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -9,27 +9,19 @@ dependencies: "@babel/highlight" "^7.0.0" -"@babel/core@^7.1.0": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.5.5.tgz#17b2686ef0d6bc58f963dddd68ab669755582c30" - integrity sha512-i4qoSr2KTtce0DmkuuQBV4AuQgGPUcPXMr9L5MyYAtk06z068lQ10a4O009fe5OB/DfNV+h+qqT7ddNV8UnRjg== +"@babel/code-frame@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb" + integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw== dependencies: - "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.5.5" - "@babel/helpers" "^7.5.5" - "@babel/parser" "^7.5.5" - "@babel/template" "^7.4.4" - "@babel/traverse" "^7.5.5" - "@babel/types" "^7.5.5" - convert-source-map "^1.1.0" - debug "^4.1.0" - json5 "^2.1.0" - lodash "^4.17.13" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" + "@babel/highlight" "^7.14.5" -"@babel/core@^7.7.2": +"@babel/compat-data@^7.14.5", "@babel/compat-data@^7.14.7": + version "7.14.7" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.14.7.tgz#7b047d7a3a89a67d2258dc61f604f098f1bc7e08" + integrity sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw== + +"@babel/core@^7.1.0", "@babel/core@^7.7.2": version "7.7.2" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.7.2.tgz#ea5b99693bcfc058116f42fa1dd54da412b29d91" integrity sha512-eeD7VEZKfhK1KUXGiyPFettgF3m513f8FoBSWiQ1xTvl1RAopLs42Wp9+Ze911I6H0N9lNqJMDgoZT7gHsipeQ== @@ -49,674 +41,602 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/generator@^7.4.0", "@babel/generator@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.5.5.tgz#873a7f936a3c89491b43536d12245b626664e3cf" - integrity sha512-ETI/4vyTSxTzGnU2c49XHv2zhExkv9JHLTwDAFz85kmcwuShvYG2H08FwgIguQf4JC75CBnXAUM5PqeF4fj0nQ== - dependencies: - "@babel/types" "^7.5.5" - jsesc "^2.5.1" - lodash "^4.17.13" - source-map "^0.5.0" - trim-right "^1.0.1" - -"@babel/generator@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.7.0.tgz#c6d4d1f7a0d6e139cbd01aca73170b0bff5425b4" - integrity sha512-1wdJ6UxHyL1XoJQ119JmvuRX27LRih7iYStMPZOWAjQqeAabFg3dYXKMpgihma+to+0ADsTVVt6oRyUxWZw6Mw== +"@babel/generator@^7.14.5", "@babel/generator@^7.4.0", "@babel/generator@^7.7.2": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.14.5.tgz#848d7b9f031caca9d0cd0af01b063f226f52d785" + integrity sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA== dependencies: - "@babel/types" "^7.7.0" + "@babel/types" "^7.14.5" jsesc "^2.5.1" - lodash "^4.17.13" source-map "^0.5.0" -"@babel/generator@^7.7.2": - version "7.7.2" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.7.2.tgz#2f4852d04131a5e17ea4f6645488b5da66ebf3af" - integrity sha512-WthSArvAjYLz4TcbKOi88me+KmDJdKSlfwwN8CnUYn9jBkzhq0ZEPuBfkAWIvjJ3AdEV1Cf/+eSQTnp3IDJKlQ== - dependencies: - "@babel/types" "^7.7.2" - jsesc "^2.5.1" - lodash "^4.17.13" - source-map "^0.5.0" - -"@babel/helper-annotate-as-pure@^7.0.0", "@babel/helper-annotate-as-pure@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.7.0.tgz#efc54032d43891fe267679e63f6860aa7dbf4a5e" - integrity sha512-k50CQxMlYTYo+GGyUGFwpxKVtxVJi9yh61sXZji3zYHccK9RYliZGSTOgci85T+r+0VFN2nWbGM04PIqwfrpMg== - dependencies: - "@babel/types" "^7.7.0" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.1.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.7.0.tgz#32dd9551d6ed3a5fc2edc50d6912852aa18274d9" - integrity sha512-Cd8r8zs4RKDwMG/92lpZcnn5WPQ3LAMQbCw42oqUh4s7vsSN5ANUZjMel0OOnxDLq57hoDDbai+ryygYfCTOsw== - dependencies: - "@babel/helper-explode-assignable-expression" "^7.7.0" - "@babel/types" "^7.7.0" - -"@babel/helper-builder-react-jsx@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.7.0.tgz#c6b8254d305bacd62beb648e4dea7d3ed79f352d" - integrity sha512-LSln3cexwInTMYYoFeVLKnYPPMfWNJ8PubTBs3hkh7wCu9iBaqq1OOyW+xGmEdLxT1nhsl+9SJ+h2oUDYz0l2A== - dependencies: - "@babel/types" "^7.7.0" - esutils "^2.0.0" - -"@babel/helper-call-delegate@^7.4.4": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.7.0.tgz#df8942452c2c1a217335ca7e393b9afc67f668dc" - integrity sha512-Su0Mdq7uSSWGZayGMMQ+z6lnL00mMCnGAbO/R0ZO9odIdB/WNU/VfQKqMQU0fdIsxQYbRjDM4BixIa93SQIpvw== - dependencies: - "@babel/helper-hoist-variables" "^7.7.0" - "@babel/traverse" "^7.7.0" - "@babel/types" "^7.7.0" - -"@babel/helper-create-class-features-plugin@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.7.0.tgz#bcdc223abbfdd386f94196ae2544987f8df775e8" - integrity sha512-MZiB5qvTWoyiFOgootmRSDV1udjIqJW/8lmxgzKq6oDqxdmHUjeP2ZUOmgHdYjmUVNABqRrHjYAYRvj8Eox/UA== - dependencies: - "@babel/helper-function-name" "^7.7.0" - "@babel/helper-member-expression-to-functions" "^7.7.0" - "@babel/helper-optimise-call-expression" "^7.7.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.7.0" - "@babel/helper-split-export-declaration" "^7.7.0" - -"@babel/helper-create-regexp-features-plugin@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.7.0.tgz#2e8badfe201cfafb5d930f46cf1e0b6f1cdcab23" - integrity sha512-ZhagAAVGD3L6MPM9/zZi7RRteonfBFLVUz3kjsnYsMAtr9hOJCKI9BAKIMpqn3NyWicPieoX779UL+7/3BEAOA== - dependencies: - "@babel/helper-regex" "^7.4.4" - regexpu-core "^4.6.0" - -"@babel/helper-define-map@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.7.0.tgz#60b0e9fd60def9de5054c38afde8c8ee409c7529" - integrity sha512-kPKWPb0dMpZi+ov1hJiwse9dWweZsz3V9rP4KdytnX1E7z3cTNmFGglwklzFPuqIcHLIY3bgKSs4vkwXXdflQA== - dependencies: - "@babel/helper-function-name" "^7.7.0" - "@babel/types" "^7.7.0" - lodash "^4.17.13" - -"@babel/helper-explode-assignable-expression@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.7.0.tgz#db2a6705555ae1f9f33b4b8212a546bc7f9dc3ef" - integrity sha512-CDs26w2shdD1urNUAji2RJXyBFCaR+iBEGnFz3l7maizMkQe3saVw9WtjG1tz8CwbjvlFnaSLVhgnu1SWaherg== - dependencies: - "@babel/traverse" "^7.7.0" - "@babel/types" "^7.7.0" - -"@babel/helper-function-name@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53" - integrity sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw== - dependencies: - "@babel/helper-get-function-arity" "^7.0.0" - "@babel/template" "^7.1.0" - "@babel/types" "^7.0.0" - -"@babel/helper-function-name@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.7.0.tgz#44a5ad151cfff8ed2599c91682dda2ec2c8430a3" - integrity sha512-tDsJgMUAP00Ugv8O2aGEua5I2apkaQO7lBGUq1ocwN3G23JE5Dcq0uh3GvFTChPa4b40AWiAsLvCZOA2rdnQ7Q== - dependencies: - "@babel/helper-get-function-arity" "^7.7.0" - "@babel/template" "^7.7.0" - "@babel/types" "^7.7.0" - -"@babel/helper-get-function-arity@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3" - integrity sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ== - dependencies: - "@babel/types" "^7.0.0" - -"@babel/helper-get-function-arity@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.0.tgz#c604886bc97287a1d1398092bc666bc3d7d7aa2d" - integrity sha512-tLdojOTz4vWcEnHWHCuPN5P85JLZWbm5Fx5ZsMEMPhF3Uoe3O7awrbM2nQ04bDOUToH/2tH/ezKEOR8zEYzqyw== - dependencies: - "@babel/types" "^7.7.0" - -"@babel/helper-hoist-variables@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.7.0.tgz#b4552e4cfe5577d7de7b183e193e84e4ec538c81" - integrity sha512-LUe/92NqsDAkJjjCEWkNe+/PcpnisvnqdlRe19FahVapa4jndeuJ+FBiTX1rcAKWKcJGE+C3Q3tuEuxkSmCEiQ== - dependencies: - "@babel/types" "^7.7.0" - -"@babel/helper-member-expression-to-functions@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.7.0.tgz#472b93003a57071f95a541ea6c2b098398bcad8a" - integrity sha512-QaCZLO2RtBcmvO/ekOLp8p7R5X2JriKRizeDpm5ChATAFWrrYDcDxPuCIBXKyBjY+i1vYSdcUTMIb8psfxHDPA== - dependencies: - "@babel/types" "^7.7.0" - -"@babel/helper-module-imports@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.7.0.tgz#99c095889466e5f7b6d66d98dffc58baaf42654d" - integrity sha512-Dv3hLKIC1jyfTkClvyEkYP2OlkzNvWs5+Q8WgPbxM5LMeorons7iPP91JM+DU7tRbhqA1ZeooPaMFvQrn23RHw== - dependencies: - "@babel/types" "^7.7.0" - -"@babel/helper-module-transforms@^7.1.0", "@babel/helper-module-transforms@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.7.0.tgz#154a69f0c5b8fd4d39e49750ff7ac4faa3f36786" - integrity sha512-rXEefBuheUYQyX4WjV19tuknrJFwyKw0HgzRwbkyTbB+Dshlq7eqkWbyjzToLrMZk/5wKVKdWFluiAsVkHXvuQ== +"@babel/helper-annotate-as-pure@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz#7bf478ec3b71726d56a8ca5775b046fc29879e61" + integrity sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA== dependencies: - "@babel/helper-module-imports" "^7.7.0" - "@babel/helper-simple-access" "^7.7.0" - "@babel/helper-split-export-declaration" "^7.7.0" - "@babel/template" "^7.7.0" - "@babel/types" "^7.7.0" - lodash "^4.17.13" + "@babel/types" "^7.14.5" -"@babel/helper-optimise-call-expression@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.7.0.tgz#4f66a216116a66164135dc618c5d8b7a959f9365" - integrity sha512-48TeqmbazjNU/65niiiJIJRc5JozB8acui1OS7bSd6PgxfuovWsvjfWSzlgx+gPFdVveNzUdpdIg5l56Pl5jqg== +"@babel/helper-builder-binary-assignment-operator-visitor@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.14.5.tgz#b939b43f8c37765443a19ae74ad8b15978e0a191" + integrity sha512-YTA/Twn0vBXDVGJuAX6PwW7x5zQei1luDDo2Pl6q1qZ7hVNl0RZrhHCQG/ArGpR29Vl7ETiB8eJyrvpuRp300w== dependencies: - "@babel/types" "^7.7.0" - -"@babel/helper-plugin-utils@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250" - integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA== + "@babel/helper-explode-assignable-expression" "^7.14.5" + "@babel/types" "^7.14.5" -"@babel/helper-regex@^7.0.0", "@babel/helper-regex@^7.4.4": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.5.5.tgz#0aa6824f7100a2e0e89c1527c23936c152cab351" - integrity sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw== +"@babel/helper-compilation-targets@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz#7a99c5d0967911e972fe2c3411f7d5b498498ecf" + integrity sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw== dependencies: - lodash "^4.17.13" - -"@babel/helper-remap-async-to-generator@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.7.0.tgz#4d69ec653e8bff5bce62f5d33fc1508f223c75a7" - integrity sha512-pHx7RN8X0UNHPB/fnuDnRXVZ316ZigkO8y8D835JlZ2SSdFKb6yH9MIYRU4fy/KPe5sPHDFOPvf8QLdbAGGiyw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.7.0" - "@babel/helper-wrap-function" "^7.7.0" - "@babel/template" "^7.7.0" - "@babel/traverse" "^7.7.0" - "@babel/types" "^7.7.0" - -"@babel/helper-replace-supers@^7.5.5", "@babel/helper-replace-supers@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.7.0.tgz#d5365c8667fe7cbd13b8ddddceb9bd7f2b387512" - integrity sha512-5ALYEul5V8xNdxEeWvRsBzLMxQksT7MaStpxjJf9KsnLxpAKBtfw5NeMKZJSYDa0lKdOcy0g+JT/f5mPSulUgg== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.7.0" - "@babel/helper-optimise-call-expression" "^7.7.0" - "@babel/traverse" "^7.7.0" - "@babel/types" "^7.7.0" + "@babel/compat-data" "^7.14.5" + "@babel/helper-validator-option" "^7.14.5" + browserslist "^4.16.6" + semver "^6.3.0" -"@babel/helper-simple-access@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.7.0.tgz#97a8b6c52105d76031b86237dc1852b44837243d" - integrity sha512-AJ7IZD7Eem3zZRuj5JtzFAptBw7pMlS3y8Qv09vaBWoFsle0d1kAn5Wq6Q9MyBXITPOKnxwkZKoAm4bopmv26g== - dependencies: - "@babel/template" "^7.7.0" - "@babel/types" "^7.7.0" +"@babel/helper-create-class-features-plugin@^7.14.6": + version "7.14.6" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.6.tgz#f114469b6c06f8b5c59c6c4e74621f5085362542" + integrity sha512-Z6gsfGofTxH/+LQXqYEK45kxmcensbzmk/oi8DmaQytlQCgqNZt9XQF8iqlI/SeXWVjaMNxvYvzaYw+kh42mDg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.14.5" + "@babel/helper-function-name" "^7.14.5" + "@babel/helper-member-expression-to-functions" "^7.14.5" + "@babel/helper-optimise-call-expression" "^7.14.5" + "@babel/helper-replace-supers" "^7.14.5" + "@babel/helper-split-export-declaration" "^7.14.5" + +"@babel/helper-create-regexp-features-plugin@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz#c7d5ac5e9cf621c26057722fb7a8a4c5889358c4" + integrity sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A== + dependencies: + "@babel/helper-annotate-as-pure" "^7.14.5" + regexpu-core "^4.7.1" + +"@babel/helper-explode-assignable-expression@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.14.5.tgz#8aa72e708205c7bb643e45c73b4386cdf2a1f645" + integrity sha512-Htb24gnGJdIGT4vnRKMdoXiOIlqOLmdiUYpAQ0mYfgVT/GDm8GOYhgi4GL+hMKrkiPRohO4ts34ELFsGAPQLDQ== + dependencies: + "@babel/types" "^7.14.5" + +"@babel/helper-function-name@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz#89e2c474972f15d8e233b52ee8c480e2cfcd50c4" + integrity sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ== + dependencies: + "@babel/helper-get-function-arity" "^7.14.5" + "@babel/template" "^7.14.5" + "@babel/types" "^7.14.5" + +"@babel/helper-get-function-arity@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz#25fbfa579b0937eee1f3b805ece4ce398c431815" + integrity sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg== + dependencies: + "@babel/types" "^7.14.5" + +"@babel/helper-hoist-variables@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz#e0dd27c33a78e577d7c8884916a3e7ef1f7c7f8d" + integrity sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ== + dependencies: + "@babel/types" "^7.14.5" + +"@babel/helper-member-expression-to-functions@^7.14.5": + version "7.14.7" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.7.tgz#97e56244beb94211fe277bd818e3a329c66f7970" + integrity sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA== + dependencies: + "@babel/types" "^7.14.5" + +"@babel/helper-module-imports@^7.14.5", "@babel/helper-module-imports@^7.7.0": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz#6d1a44df6a38c957aa7c312da076429f11b422f3" + integrity sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ== + dependencies: + "@babel/types" "^7.14.5" + +"@babel/helper-module-transforms@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.14.5.tgz#7de42f10d789b423eb902ebd24031ca77cb1e10e" + integrity sha512-iXpX4KW8LVODuAieD7MzhNjmM6dzYY5tfRqT+R9HDXWl0jPn/djKmA+G9s/2C2T9zggw5tK1QNqZ70USfedOwA== + dependencies: + "@babel/helper-module-imports" "^7.14.5" + "@babel/helper-replace-supers" "^7.14.5" + "@babel/helper-simple-access" "^7.14.5" + "@babel/helper-split-export-declaration" "^7.14.5" + "@babel/helper-validator-identifier" "^7.14.5" + "@babel/template" "^7.14.5" + "@babel/traverse" "^7.14.5" + "@babel/types" "^7.14.5" + +"@babel/helper-optimise-call-expression@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz#f27395a8619e0665b3f0364cddb41c25d71b499c" + integrity sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA== + dependencies: + "@babel/types" "^7.14.5" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9" + integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ== + +"@babel/helper-remap-async-to-generator@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.14.5.tgz#51439c913612958f54a987a4ffc9ee587a2045d6" + integrity sha512-rLQKdQU+HYlxBwQIj8dk4/0ENOUEhA/Z0l4hN8BexpvmSMN9oA9EagjnhnDpNsRdWCfjwa4mn/HyBXO9yhQP6A== + dependencies: + "@babel/helper-annotate-as-pure" "^7.14.5" + "@babel/helper-wrap-function" "^7.14.5" + "@babel/types" "^7.14.5" + +"@babel/helper-replace-supers@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz#0ecc0b03c41cd567b4024ea016134c28414abb94" + integrity sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.14.5" + "@babel/helper-optimise-call-expression" "^7.14.5" + "@babel/traverse" "^7.14.5" + "@babel/types" "^7.14.5" + +"@babel/helper-simple-access@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.14.5.tgz#66ea85cf53ba0b4e588ba77fc813f53abcaa41c4" + integrity sha512-nfBN9xvmCt6nrMZjfhkl7i0oTV3yxR4/FztsbOASyTvVcoYd0TRHh7eMLdlEcCqobydC0LAF3LtC92Iwxo0wyw== + dependencies: + "@babel/types" "^7.14.5" -"@babel/helper-split-export-declaration@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz#ff94894a340be78f53f06af038b205c49d993677" - integrity sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q== - dependencies: - "@babel/types" "^7.4.4" +"@babel/helper-skip-transparent-expression-wrappers@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.14.5.tgz#96f486ac050ca9f44b009fbe5b7d394cab3a0ee4" + integrity sha512-dmqZB7mrb94PZSAOYtr+ZN5qt5owZIAgqtoTuqiFbHFtxgEcmQlRJVI+bO++fciBunXtB6MK7HrzrfcAzIz2NQ== + dependencies: + "@babel/types" "^7.14.5" + +"@babel/helper-split-export-declaration@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz#22b23a54ef51c2b7605d851930c1976dd0bc693a" + integrity sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA== + dependencies: + "@babel/types" "^7.14.5" + +"@babel/helper-validator-identifier@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz#d0f0e277c512e0c938277faa85a3968c9a44c0e8" + integrity sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg== + +"@babel/helper-validator-option@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" + integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== -"@babel/helper-split-export-declaration@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.0.tgz#1365e74ea6c614deeb56ebffabd71006a0eb2300" - integrity sha512-HgYSI8rH08neWlAH3CcdkFg9qX9YsZysZI5GD8LjhQib/mM0jGOZOVkoUiiV2Hu978fRtjtsGsW6w0pKHUWtqA== - dependencies: - "@babel/types" "^7.7.0" - -"@babel/helper-wrap-function@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.7.0.tgz#15af3d3e98f8417a60554acbb6c14e75e0b33b74" - integrity sha512-sd4QjeMgQqzshSjecZjOp8uKfUtnpmCyQhKQrVJBBgeHAB/0FPi33h3AbVlVp07qQtMD4QgYSzaMI7VwncNK/w== - dependencies: - "@babel/helper-function-name" "^7.7.0" - "@babel/template" "^7.7.0" - "@babel/traverse" "^7.7.0" - "@babel/types" "^7.7.0" - -"@babel/helpers@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.5.5.tgz#63908d2a73942229d1e6685bc2a0e730dde3b75e" - integrity sha512-nRq2BUhxZFnfEn/ciJuhklHvFOqjJUD5wpx+1bxUF2axL9C+v4DE/dmp5sT2dKnpOs4orZWzpAZqlCy8QqE/7g== - dependencies: - "@babel/template" "^7.4.4" - "@babel/traverse" "^7.5.5" - "@babel/types" "^7.5.5" +"@babel/helper-wrap-function@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.14.5.tgz#5919d115bf0fe328b8a5d63bcb610f51601f2bff" + integrity sha512-YEdjTCq+LNuNS1WfxsDCNpgXkJaIyqco6DAelTUjT4f2KIWC1nBcaCaSdHTBqQVLnTBexBcVcFhLSU1KnYuePQ== + dependencies: + "@babel/helper-function-name" "^7.14.5" + "@babel/template" "^7.14.5" + "@babel/traverse" "^7.14.5" + "@babel/types" "^7.14.5" "@babel/helpers@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.7.0.tgz#359bb5ac3b4726f7c1fde0ec75f64b3f4275d60b" - integrity sha512-VnNwL4YOhbejHb7x/b5F39Zdg5vIQpUUNzJwx0ww1EcVRt41bbGRZWhAURrfY32T5zTT3qwNOQFWpn+P0i0a2g== + version "7.14.6" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.14.6.tgz#5b58306b95f1b47e2a0199434fa8658fa6c21635" + integrity sha512-yesp1ENQBiLI+iYHSJdoZKUtRpfTlL1grDIX9NRlAVppljLw/4tTyYupIB7uIYmC3stW/imAv8EqaKaS/ibmeA== dependencies: - "@babel/template" "^7.7.0" - "@babel/traverse" "^7.7.0" - "@babel/types" "^7.7.0" + "@babel/template" "^7.14.5" + "@babel/traverse" "^7.14.5" + "@babel/types" "^7.14.5" -"@babel/highlight@^7.0.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540" - integrity sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ== +"@babel/highlight@^7.0.0", "@babel/highlight@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9" + integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== dependencies: + "@babel/helper-validator-identifier" "^7.14.5" chalk "^2.0.0" - esutils "^2.0.2" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.4.4", "@babel/parser@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.5.5.tgz#02f077ac8817d3df4a832ef59de67565e71cca4b" - integrity sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g== - -"@babel/parser@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.7.0.tgz#232618f6e8947bc54b407fa1f1c91a22758e7159" - integrity sha512-GqL+Z0d7B7ADlQBMXlJgvXEbtt5qlqd1YQ5fr12hTSfh7O/vgrEIvJxU2e7aSVrEUn75zTZ6Nd0s8tthrlZnrQ== - -"@babel/parser@^7.7.2": - version "7.7.3" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.7.3.tgz#5fad457c2529de476a248f75b0f090b3060af043" - integrity sha512-bqv+iCo9i+uLVbI0ILzKkvMorqxouI+GbV13ivcARXn9NNEabi2IEz912IgNpT/60BNXac5dgcfjb94NjsF33A== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.5", "@babel/parser@^7.14.7", "@babel/parser@^7.4.3", "@babel/parser@^7.7.2": + version "7.14.7" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.7.tgz#6099720c8839ca865a2637e6c85852ead0bdb595" + integrity sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA== "@babel/plugin-proposal-async-generator-functions@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.7.0.tgz#83ef2d6044496b4c15d8b4904e2219e6dccc6971" - integrity sha512-ot/EZVvf3mXtZq0Pd0+tSOfGWMizqmOohXmNZg6LNFjHOV+wOPv7BvVYh8oPR8LhpIP3ye8nNooKL50YRWxpYA== + version "7.14.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.7.tgz#784a48c3d8ed073f65adcf30b57bcbf6c8119ace" + integrity sha512-RK8Wj7lXLY3bqei69/cc25gwS5puEc3dknoFPFbqfy3XxYQBQFvu4ioWpafMBAB+L9NyptQK4nMOa5Xz16og8Q== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-remap-async-to-generator" "^7.7.0" - "@babel/plugin-syntax-async-generators" "^7.2.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-remap-async-to-generator" "^7.14.5" + "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-proposal-dynamic-import@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.7.0.tgz#dc02a8bad8d653fb59daf085516fa416edd2aa7f" - integrity sha512-7poL3Xi+QFPC7sGAzEIbXUyYzGJwbc2+gSD0AkiC5k52kH2cqHdqxm5hNFfLW3cRSTcx9bN0Fl7/6zWcLLnKAQ== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz#0c6617df461c0c1f8fff3b47cd59772360101d2c" + integrity sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-dynamic-import" "^7.2.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" "@babel/plugin-proposal-json-strings@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz#568ecc446c6148ae6b267f02551130891e29f317" - integrity sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz#38de60db362e83a3d8c944ac858ddf9f0c2239eb" + integrity sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-json-strings" "^7.2.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-json-strings" "^7.8.3" "@babel/plugin-proposal-object-rest-spread@^7.6.2": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.6.2.tgz#8ffccc8f3a6545e9f78988b6bf4fe881b88e8096" - integrity sha512-LDBXlmADCsMZV1Y9OQwMc0MyGZ8Ta/zlD9N67BfQT8uYwkRswiu2hU6nJKrjrt/58aH/vqfQlR/9yId/7A2gWw== + version "7.14.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.7.tgz#5920a2b3df7f7901df0205974c0641b13fd9d363" + integrity sha512-082hsZz+sVabfmDWo1Oct1u1AgbKbUAyVgmX4otIc7bdsRgHBXwTwb3DpDmD4Eyyx6DNiuz5UAATT655k+kL5g== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-object-rest-spread" "^7.2.0" + "@babel/compat-data" "^7.14.7" + "@babel/helper-compilation-targets" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.14.5" "@babel/plugin-proposal-optional-catch-binding@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz#135d81edb68a081e55e56ec48541ece8065c38f5" - integrity sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz#939dd6eddeff3a67fdf7b3f044b5347262598c3c" + integrity sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" "@babel/plugin-proposal-unicode-property-regex@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.7.0.tgz#549fe1717a1bd0a2a7e63163841cb37e78179d5d" - integrity sha512-mk34H+hp7kRBWJOOAR0ZMGCydgKMD4iN9TpDRp3IIcbunltxEY89XSimc6WbtSLCDrwcdy/EEw7h5CFCzxTchw== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz#0f95ee0e757a5d647f378daa0eca7e93faa8bbe8" + integrity sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.7.0" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-create-regexp-features-plugin" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-async-generators@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz#69e1f0db34c6f5a0cf7e2b3323bf159a76c8cb7f" - integrity sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg== +"@babel/plugin-syntax-async-generators@^7.2.0", "@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-dynamic-import@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz#69c159ffaf4998122161ad8ebc5e6d1f55df8612" - integrity sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w== +"@babel/plugin-syntax-dynamic-import@^7.2.0", "@babel/plugin-syntax-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-json-strings@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz#72bd13f6ffe1d25938129d2a186b11fd62951470" - integrity sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg== +"@babel/plugin-syntax-json-strings@^7.2.0", "@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz#0b85a3b4bc7cdf4cc4b8bf236335b907ca22e7c7" - integrity sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw== +"@babel/plugin-syntax-jsx@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz#000e2e25d8673cce49300517a3eda44c263e4201" + integrity sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz#3b7a3e733510c57e820b9142a6579ac8b0dfad2e" - integrity sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA== +"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.2.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-optional-catch-binding@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz#a94013d6eda8908dfe6a477e7f9eda85656ecf5c" - integrity sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w== +"@babel/plugin-syntax-optional-catch-binding@^7.2.0", "@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-top-level-await@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.7.0.tgz#f5699549f50bbe8d12b1843a4e82f0a37bb65f4d" - integrity sha512-hi8FUNiFIY1fnUI2n1ViB1DR0R4QeK4iHcTlW6aJkrPoTdb8Rf1EMQ6GT3f67DDkYyWgew9DFoOZ6gOoEsdzTA== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-typescript@^7.2.0": - version "7.3.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.3.3.tgz#a7cc3f66119a9f7ebe2de5383cce193473d65991" - integrity sha512-dGwbSMA1YhVS8+31CnPR7LB4pcbrzcV99wQzby4uAfrkZPYZlQ7ImwdpzLqi6Z6IL02b8IAL379CaMwo0x5Lag== +"@babel/plugin-syntax-typescript@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz#b82c6ce471b165b5ce420cf92914d6fb46225716" + integrity sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-arrow-functions@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz#9aeafbe4d6ffc6563bf8f8372091628f00779550" - integrity sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz#f7187d9588a768dd080bf4c9ffe117ea62f7862a" + integrity sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-async-to-generator@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.7.0.tgz#e2b84f11952cf5913fe3438b7d2585042772f492" - integrity sha512-vLI2EFLVvRBL3d8roAMqtVY0Bm9C1QzLkdS57hiKrjUBSqsQYrBsMCeOg/0KK7B0eK9V71J5mWcha9yyoI2tZw== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz#72c789084d8f2094acb945633943ef8443d39e67" + integrity sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA== dependencies: - "@babel/helper-module-imports" "^7.7.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-remap-async-to-generator" "^7.7.0" + "@babel/helper-module-imports" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-remap-async-to-generator" "^7.14.5" "@babel/plugin-transform-block-scoped-functions@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz#5d3cc11e8d5ddd752aa64c9148d0db6cb79fd190" - integrity sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz#e48641d999d4bc157a67ef336aeb54bc44fd3ad4" + integrity sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-block-scoping@^7.6.3": - version "7.6.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.3.tgz#6e854e51fbbaa84351b15d4ddafe342f3a5d542a" - integrity sha512-7hvrg75dubcO3ZI2rjYTzUrEuh1E9IyDEhhB6qfcooxhDA33xx2MasuLVgdxzcP6R/lipAC6n9ub9maNW6RKdw== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.5.tgz#8cc63e61e50f42e078e6f09be775a75f23ef9939" + integrity sha512-LBYm4ZocNgoCqyxMLoOnwpsmQ18HWTQvql64t3GvMUzLQrNoV1BDG0lNftC8QKYERkZgCCT/7J5xWGObGAyHDw== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - lodash "^4.17.13" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-classes@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.7.0.tgz#b411ecc1b8822d24b81e5d184f24149136eddd4a" - integrity sha512-/b3cKIZwGeUesZheU9jNYcwrEA7f/Bo4IdPmvp7oHgvks2majB5BoT5byAql44fiNQYOPzhk2w8DbgfuafkMoA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.7.0" - "@babel/helper-define-map" "^7.7.0" - "@babel/helper-function-name" "^7.7.0" - "@babel/helper-optimise-call-expression" "^7.7.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.7.0" - "@babel/helper-split-export-declaration" "^7.7.0" + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.5.tgz#0e98e82097b38550b03b483f9b51a78de0acb2cf" + integrity sha512-J4VxKAMykM06K/64z9rwiL6xnBHgB1+FVspqvlgCdwD1KUbQNfszeKVVOMh59w3sztHYIZDgnhOC4WbdEfHFDA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.14.5" + "@babel/helper-function-name" "^7.14.5" + "@babel/helper-optimise-call-expression" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-replace-supers" "^7.14.5" + "@babel/helper-split-export-declaration" "^7.14.5" globals "^11.1.0" "@babel/plugin-transform-computed-properties@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz#83a7df6a658865b1c8f641d510c6f3af220216da" - integrity sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz#1b9d78987420d11223d41195461cc43b974b204f" + integrity sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-destructuring@^7.6.0": - version "7.6.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.6.0.tgz#44bbe08b57f4480094d57d9ffbcd96d309075ba6" - integrity sha512-2bGIS5P1v4+sWTCnKNDZDxbGvEqi0ijeqM/YqHtVGrvG2y0ySgnEEhXErvE9dA0bnIzY9bIzdFK0jFA46ASIIQ== + version "7.14.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz#0ad58ed37e23e22084d109f185260835e5557576" + integrity sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-dotall-regex@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.7.0.tgz#c5c9ecacab3a5e0c11db6981610f0c32fd698b3b" - integrity sha512-3QQlF7hSBnSuM1hQ0pS3pmAbWLax/uGNCbPBND9y+oJ4Y776jsyujG2k0Sn2Aj2a0QwVOiOFL5QVPA7spjvzSA== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz#2f6bf76e46bdf8043b4e7e16cf24532629ba0c7a" + integrity sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.7.0" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-create-regexp-features-plugin" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-duplicate-keys@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz#c5dbf5106bf84cdf691222c0974c12b1df931853" - integrity sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz#365a4844881bdf1501e3a9f0270e7f0f91177954" + integrity sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-exponentiation-operator@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz#a63868289e5b4007f7054d46491af51435766008" - integrity sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz#5154b8dd6a3dfe6d90923d61724bd3deeb90b493" + integrity sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA== dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.1.0" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-for-of@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz#0267fc735e24c808ba173866c6c4d1440fc3c556" - integrity sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.14.5.tgz#dae384613de8f77c196a8869cbf602a44f7fc0eb" + integrity sha512-CfmqxSUZzBl0rSjpoQSFoR9UEj3HzbGuGNL21/iFTmjb5gFggJp3ph0xR1YBhexmLoKRHzgxuFvty2xdSt6gTA== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-function-name@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.7.0.tgz#0fa786f1eef52e3b7d4fc02e54b2129de8a04c2a" - integrity sha512-P5HKu0d9+CzZxP5jcrWdpe7ZlFDe24bmqP6a6X8BHEBl/eizAsY8K6LX8LASZL0Jxdjm5eEfzp+FIrxCm/p8bA== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz#e81c65ecb900746d7f31802f6bed1f52d915d6f2" + integrity sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ== dependencies: - "@babel/helper-function-name" "^7.7.0" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-function-name" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-literals@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz#690353e81f9267dad4fd8cfd77eafa86aba53ea1" - integrity sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz#41d06c7ff5d4d09e3cf4587bd3ecf3930c730f78" + integrity sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-member-expression-literals@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz#fa10aa5c58a2cb6afcf2c9ffa8cb4d8b3d489a2d" - integrity sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz#b39cd5212a2bf235a617d320ec2b48bcc091b8a7" + integrity sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-modules-amd@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz#ef00435d46da0a5961aa728a1d2ecff063e4fb91" - integrity sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz#4fd9ce7e3411cb8b83848480b7041d83004858f7" + integrity sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g== dependencies: - "@babel/helper-module-transforms" "^7.1.0" - "@babel/helper-plugin-utils" "^7.0.0" - babel-plugin-dynamic-import-node "^2.3.0" + "@babel/helper-module-transforms" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + babel-plugin-dynamic-import-node "^2.3.3" "@babel/plugin-transform-modules-commonjs@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.7.0.tgz#3e5ffb4fd8c947feede69cbe24c9554ab4113fe3" - integrity sha512-KEMyWNNWnjOom8vR/1+d+Ocz/mILZG/eyHHO06OuBQ2aNhxT62fr4y6fGOplRx+CxCSp3IFwesL8WdINfY/3kg== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.14.5.tgz#7aaee0ea98283de94da98b28f8c35701429dad97" + integrity sha512-en8GfBtgnydoao2PS+87mKyw62k02k7kJ9ltbKe0fXTHrQmG6QZZflYuGI1VVG7sVpx4E1n7KBpNlPb8m78J+A== dependencies: - "@babel/helper-module-transforms" "^7.7.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-simple-access" "^7.7.0" - babel-plugin-dynamic-import-node "^2.3.0" + "@babel/helper-module-transforms" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-simple-access" "^7.14.5" + babel-plugin-dynamic-import-node "^2.3.3" "@babel/plugin-transform-modules-systemjs@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.7.0.tgz#9baf471213af9761c1617bb12fd278e629041417" - integrity sha512-ZAuFgYjJzDNv77AjXRqzQGlQl4HdUM6j296ee4fwKVZfhDR9LAGxfvXjBkb06gNETPnN0sLqRm9Gxg4wZH6dXg== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.14.5.tgz#c75342ef8b30dcde4295d3401aae24e65638ed29" + integrity sha512-mNMQdvBEE5DcMQaL5LbzXFMANrQjd2W7FPzg34Y4yEz7dBgdaC+9B84dSO+/1Wba98zoDbInctCDo4JGxz1VYA== dependencies: - "@babel/helper-hoist-variables" "^7.7.0" - "@babel/helper-plugin-utils" "^7.0.0" - babel-plugin-dynamic-import-node "^2.3.0" + "@babel/helper-hoist-variables" "^7.14.5" + "@babel/helper-module-transforms" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-validator-identifier" "^7.14.5" + babel-plugin-dynamic-import-node "^2.3.3" "@babel/plugin-transform-modules-umd@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.7.0.tgz#d62c7da16670908e1d8c68ca0b5d4c0097b69966" - integrity sha512-u7eBA03zmUswQ9LQ7Qw0/ieC1pcAkbp5OQatbWUzY1PaBccvuJXUkYzoN1g7cqp7dbTu6Dp9bXyalBvD04AANA== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz#fb662dfee697cce274a7cda525190a79096aa6e0" + integrity sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA== dependencies: - "@babel/helper-module-transforms" "^7.7.0" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-module-transforms" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-named-capturing-groups-regex@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.7.0.tgz#358e6fd869b9a4d8f5cbc79e4ed4fc340e60dcaf" - integrity sha512-+SicSJoKouPctL+j1pqktRVCgy+xAch1hWWTMy13j0IflnyNjaoskj+DwRQFimHbLqO3sq2oN2CXMvXq3Bgapg== + version "7.14.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.7.tgz#60c06892acf9df231e256c24464bfecb0908fd4e" + integrity sha512-DTNOTaS7TkW97xsDMrp7nycUVh6sn/eq22VaxWfEdzuEbRsiaOU0pqU7DlyUGHVsbQbSghvjKRpEl+nUCKGQSg== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.7.0" + "@babel/helper-create-regexp-features-plugin" "^7.14.5" "@babel/plugin-transform-new-target@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz#18d120438b0cc9ee95a47f2c72bc9768fbed60a5" - integrity sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz#31bdae8b925dc84076ebfcd2a9940143aed7dbf8" + integrity sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-object-super@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz#c70021df834073c65eb613b8679cc4a381d1a9f9" - integrity sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz#d0b5faeac9e98597a161a9cf78c527ed934cdc45" + integrity sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.5.5" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-replace-supers" "^7.14.5" -"@babel/plugin-transform-parameters@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz#7556cf03f318bd2719fe4c922d2d808be5571e16" - integrity sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw== +"@babel/plugin-transform-parameters@^7.14.5", "@babel/plugin-transform-parameters@^7.4.4": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.5.tgz#49662e86a1f3ddccac6363a7dfb1ff0a158afeb3" + integrity sha512-Tl7LWdr6HUxTmzQtzuU14SqbgrSKmaR77M0OKyq4njZLQTPfOvzblNKyNkGwOfEFCEx7KeYHQHDI0P3F02IVkA== dependencies: - "@babel/helper-call-delegate" "^7.4.4" - "@babel/helper-get-function-arity" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-property-literals@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz#03e33f653f5b25c4eb572c98b9485055b389e905" - integrity sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz#0ddbaa1f83db3606f1cdf4846fa1dfb473458b34" + integrity sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-react-display-name@^7.0.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz#ebfaed87834ce8dc4279609a4f0c324c156e3eb0" - integrity sha512-Htf/tPa5haZvRMiNSQSFifK12gtr/8vwfr+A9y69uF0QcU77AVu4K7MiHEkTxF7lQoHOL0F9ErqgfNEAKgXj7A== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.14.5.tgz#baa92d15c4570411301a85a74c13534873885b65" + integrity sha512-07aqY1ChoPgIxsuDviptRpVkWCSbXWmzQqcgy65C6YSFOfPFvb/DX3bBRHh7pCd/PMEEYHYWUTSVkCbkVainYQ== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-react-jsx-self@^7.0.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.2.0.tgz#461e21ad9478f1031dd5e276108d027f1b5240ba" - integrity sha512-v6S5L/myicZEy+jr6ielB0OR8h+EH/1QFx/YJ7c7Ua+7lqsjj/vW6fD5FR9hB/6y7mGbfT4vAURn3xqBxsUcdg== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.14.5.tgz#703b5d1edccd342179c2a99ee8c7065c2b4403cc" + integrity sha512-M/fmDX6n0cfHK/NLTcPmrfVAORKDhK8tyjDhyxlUjYyPYYO8FRWwuxBA3WBx8kWN/uBUuwGa3s/0+hQ9JIN3Tg== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-jsx" "^7.2.0" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-react-jsx-source@^7.0.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.5.0.tgz#583b10c49cf057e237085bcbd8cc960bd83bd96b" - integrity sha512-58Q+Jsy4IDCZx7kqEZuSDdam/1oW8OdDX8f+Loo6xyxdfg1yF0GE2XNJQSTZCaMol93+FBzpWiPEwtbMloAcPg== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.14.5.tgz#79f728e60e6dbd31a2b860b0bf6c9765918acf1d" + integrity sha512-1TpSDnD9XR/rQ2tzunBVPThF5poaYT9GqP+of8fAtguYuI/dm2RkrMBDemsxtY0XBzvW7nXjYM0hRyKX9QYj7Q== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-jsx" "^7.2.0" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-react-jsx@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.7.0.tgz#834b0723ba78cd4d24d7d629300c2270f516d0b7" - integrity sha512-mXhBtyVB1Ujfy+0L6934jeJcSXj/VCg6whZzEcgiiZHNS0PGC7vUCsZDQCxxztkpIdF+dY1fUMcjAgEOC3ZOMQ== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.14.5.tgz#39749f0ee1efd8a1bd729152cf5f78f1d247a44a" + integrity sha512-7RylxNeDnxc1OleDm0F5Q/BSL+whYRbOAR+bwgCxIr0L32v7UFh/pz1DLMZideAUxKT6eMoS2zQH6fyODLEi8Q== dependencies: - "@babel/helper-builder-react-jsx" "^7.7.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-jsx" "^7.2.0" + "@babel/helper-annotate-as-pure" "^7.14.5" + "@babel/helper-module-imports" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-jsx" "^7.14.5" + "@babel/types" "^7.14.5" "@babel/plugin-transform-regenerator@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.7.0.tgz#f1b20b535e7716b622c99e989259d7dd942dd9cc" - integrity sha512-AXmvnC+0wuj/cFkkS/HFHIojxH3ffSXE+ttulrqWjZZRaUOonfJc60e1wSNT4rV8tIunvu/R3wCp71/tLAa9xg== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz#9676fd5707ed28f522727c5b3c0aa8544440b04f" + integrity sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg== dependencies: - regenerator-transform "^0.14.0" + regenerator-transform "^0.14.2" "@babel/plugin-transform-reserved-words@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz#4792af87c998a49367597d07fedf02636d2e1634" - integrity sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz#c44589b661cfdbef8d4300dcc7469dffa92f8304" + integrity sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-shorthand-properties@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz#6333aee2f8d6ee7e28615457298934a3b46198f0" - integrity sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz#97f13855f1409338d8cadcbaca670ad79e091a58" + integrity sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-spread@^7.6.2": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.6.2.tgz#fc77cf798b24b10c46e1b51b1b88c2bf661bb8dd" - integrity sha512-DpSvPFryKdK1x+EDJYCy28nmAaIMdxmhot62jAXF/o99iA33Zj2Lmcp3vDmz+MUh0LNYVPvfj5iC3feb3/+PFg== + version "7.14.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.6.tgz#6bd40e57fe7de94aa904851963b5616652f73144" + integrity sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5" "@babel/plugin-transform-sticky-regex@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz#a1e454b5995560a9c1e0d537dfc15061fd2687e1" - integrity sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz#5b617542675e8b7761294381f3c28c633f40aeb9" + integrity sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.0.0" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-template-literals@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz#9d28fea7bbce637fb7612a0750989d8321d4bcb0" - integrity sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz#a5f2bc233937d8453885dc736bdd8d9ffabf3d93" + integrity sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg== dependencies: - "@babel/helper-annotate-as-pure" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-typeof-symbol@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz#117d2bcec2fbf64b4b59d1f9819894682d29f2b2" - integrity sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz#39af2739e989a2bd291bf6b53f16981423d457d4" + integrity sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-typescript@^7.7.2": - version "7.7.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.7.2.tgz#eb9f14c516b5d36f4d6f3a9d7badae6d0fc313d4" - integrity sha512-UWhDaJRqdPUtdK1s0sKYdoRuqK0NepjZto2UZltvuCgMoMZmdjhgz5hcRokie/3aYEaSz3xvusyoayVaq4PjRg== + version "7.14.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.14.6.tgz#6e9c2d98da2507ebe0a883b100cde3c7279df36c" + integrity sha512-XlTdBq7Awr4FYIzqhmYY80WN0V0azF74DMPyFqVHBvf81ZUgc4X7ZOpx6O8eLDK6iM5cCQzeyJw0ynTaefixRA== dependencies: - "@babel/helper-create-class-features-plugin" "^7.7.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-typescript" "^7.2.0" + "@babel/helper-create-class-features-plugin" "^7.14.6" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-typescript" "^7.14.5" "@babel/plugin-transform-unicode-regex@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.7.0.tgz#743d9bcc44080e3cc7d49259a066efa30f9187a3" - integrity sha512-RrThb0gdrNwFAqEAAx9OWgtx6ICK69x7i9tCnMdVrxQwSDp/Abu9DXFU5Hh16VP33Rmxh04+NGW28NsIkFvFKA== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz#4cd09b6c8425dd81255c7ceb3fb1836e7414382e" + integrity sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.7.0" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-create-regexp-features-plugin" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/preset-env@^7.7.1": version "7.7.1" @@ -794,108 +714,43 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-typescript" "^7.7.2" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.4.2": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.5.5.tgz#74fba56d35efbeca444091c7850ccd494fd2f132" - integrity sha512-28QvEGyQyNkB0/m2B4FU7IEZGK2NUrcMtT6BZEFALTguLk+AUT6ofsHtPk5QyjAdUkpMJ+/Em+quwz4HOt30AQ== - dependencies: - regenerator-runtime "^0.13.2" - -"@babel/runtime@^7.9.2": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.1.tgz#b4116a6b6711d010b2dad3b7b6e43bf1b9954740" - integrity sha512-J5AIf3vPj3UwXaAzb5j1xM4WAQDX3EMgemF8rjCP3SoW09LfRKAXQKt6CoVYl230P6iWdRcBbnLDDdnqWxZSCA== +"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.4.2", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7": + version "7.14.6" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.14.6.tgz#535203bc0892efc7dec60bdc27b2ecf6e409062d" + integrity sha512-/PCB2uJ7oM44tz8YhC4Z/6PeOKXp4K588f+5M3clr1M4zbqztlo0XEfJ2LEzj/FgwfgGcIdl8n7YYjTCI0BYwg== dependencies: regenerator-runtime "^0.13.4" -"@babel/template@^7.1.0", "@babel/template@^7.4.0", "@babel/template@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.4.4.tgz#f4b88d1225689a08f5bc3a17483545be9e4ed237" - integrity sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.4.4" - "@babel/types" "^7.4.4" - -"@babel/template@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.7.0.tgz#4fadc1b8e734d97f56de39c77de76f2562e597d0" - integrity sha512-OKcwSYOW1mhWbnTBgQY5lvg1Fxg+VyfQGjcBduZFljfc044J5iDlnDSfhQ867O17XHiSCxYHUxHg2b7ryitbUQ== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.7.0" - "@babel/types" "^7.7.0" - -"@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.5.5.tgz#f664f8f368ed32988cd648da9f72d5ca70f165bb" - integrity sha512-MqB0782whsfffYfSjH4TM+LMjrJnhCNEDMDIjeTpl+ASaUvxcjoiVCo/sM1GhS1pHOXYfWVCYneLjMckuUxDaQ== - dependencies: - "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.5.5" - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-split-export-declaration" "^7.4.4" - "@babel/parser" "^7.5.5" - "@babel/types" "^7.5.5" +"@babel/template@^7.14.5", "@babel/template@^7.4.0", "@babel/template@^7.7.0": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.14.5.tgz#a9bc9d8b33354ff6e55a9c60d1109200a68974f4" + integrity sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g== + dependencies: + "@babel/code-frame" "^7.14.5" + "@babel/parser" "^7.14.5" + "@babel/types" "^7.14.5" + +"@babel/traverse@^7.1.0", "@babel/traverse@^7.14.5", "@babel/traverse@^7.4.3", "@babel/traverse@^7.7.2": + version "7.14.7" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.7.tgz#64007c9774cfdc3abd23b0780bc18a3ce3631753" + integrity sha512-9vDr5NzHu27wgwejuKL7kIOm4bwEtaPQ4Z6cpCmjSuaRqpH/7xc4qcGEscwMqlkwgcXl6MvqoAjZkQ24uSdIZQ== + dependencies: + "@babel/code-frame" "^7.14.5" + "@babel/generator" "^7.14.5" + "@babel/helper-function-name" "^7.14.5" + "@babel/helper-hoist-variables" "^7.14.5" + "@babel/helper-split-export-declaration" "^7.14.5" + "@babel/parser" "^7.14.7" + "@babel/types" "^7.14.5" debug "^4.1.0" globals "^11.1.0" - lodash "^4.17.13" -"@babel/traverse@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.7.0.tgz#9f5744346b8d10097fd2ec2eeffcaf19813cbfaf" - integrity sha512-ea/3wRZc//e/uwCpuBX2itrhI0U9l7+FsrKWyKGNyvWbuMcCG7ATKY2VI4wlg2b2TA39HHwIxnvmXvtiKsyn7w== +"@babel/types@^7.0.0", "@babel/types@^7.14.5", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.7.1", "@babel/types@^7.7.2": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.14.5.tgz#3bb997ba829a2104cedb20689c4a5b8121d383ff" + integrity sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg== dependencies: - "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.7.0" - "@babel/helper-function-name" "^7.7.0" - "@babel/helper-split-export-declaration" "^7.7.0" - "@babel/parser" "^7.7.0" - "@babel/types" "^7.7.0" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.13" - -"@babel/traverse@^7.7.2": - version "7.7.2" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.7.2.tgz#ef0a65e07a2f3c550967366b3d9b62a2dcbeae09" - integrity sha512-TM01cXib2+rgIZrGJOLaHV/iZUAxf4A0dt5auY6KNZ+cm6aschuJGqKJM3ROTt3raPUdIDk9siAufIFEleRwtw== - dependencies: - "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.7.2" - "@babel/helper-function-name" "^7.7.0" - "@babel/helper-split-export-declaration" "^7.7.0" - "@babel/parser" "^7.7.2" - "@babel/types" "^7.7.2" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.13" - -"@babel/types@^7.0.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.5.5.tgz#97b9f728e182785909aa4ab56264f090a028d18a" - integrity sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw== - dependencies: - esutils "^2.0.2" - lodash "^4.17.13" - to-fast-properties "^2.0.0" - -"@babel/types@^7.7.0", "@babel/types@^7.7.1": - version "7.7.1" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.7.1.tgz#8b08ea368f2baff236613512cf67109e76285827" - integrity sha512-kN/XdANDab9x1z5gcjDc9ePpxexkt+1EQ2MQUiM4XnMvQfvp87/+6kY4Ko2maLXH+tei/DgJ/ybFITeqqRwDiA== - dependencies: - esutils "^2.0.2" - lodash "^4.17.13" - to-fast-properties "^2.0.0" - -"@babel/types@^7.7.2": - version "7.7.2" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.7.2.tgz#550b82e5571dcd174af576e23f0adba7ffc683f7" - integrity sha512-YTf6PXoh3+eZgRCBzzP25Bugd2ngmpQVrk7kXX0i5N9BO7TFBtIgZYs7WtxtOGs8e6A4ZI7ECkbBCEHeXocvOA== - dependencies: - esutils "^2.0.2" - lodash "^4.17.13" + "@babel/helper-validator-identifier" "^7.14.5" to-fast-properties "^2.0.0" "@beyonk/google-fonts-webpack-plugin@^1.5.0": @@ -910,9 +765,9 @@ yauzl "^2.8.0" "@cnakazawa/watch@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.3.tgz#099139eaec7ebf07a27c1786a3ff64f39464d2ef" - integrity sha512-r5160ogAvGyHsal38Kux7YYtodEKOj89RGb28ht1jh3SJb08VwRwAKKJL0bGb04Zd/3r9FL3BFIc3bBidYffCA== + version "1.0.4" + resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" + integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== dependencies: exec-sh "^0.3.2" minimist "^1.2.0" @@ -923,20 +778,11 @@ integrity sha512-GoXw0U2Qaa33m3eUcxuHnHpNvHjNlLo0gtV091XBpaRINaB4X6FGCG5XKxSFNFiPpugUDqNruHzaqpTdDm4AOg== "@fortawesome/fontawesome-free@^5.8.1": - version "5.9.0" - resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-5.9.0.tgz#1aa5c59efb1b8c6eb6277d1e3e8c8f31998b8c8e" - integrity sha512-g795BBEzM/Hq2SYNPm/NQTIp3IWd4eXSH0ds87Na2jnrAUFX3wkyZAI4Gwj9DOaWMuz2/01i8oWI7P7T/XLkhg== + version "5.15.3" + resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.3.tgz#c36ffa64a2a239bf948541a97b6ae8d729e09a9a" + integrity sha512-rFnSUN/QOtnOAgqFRooTA3H57JLDm0QEG/jPdk+tLQNL/eWd+Aok8g3qCI+Q1xuDPWpGW/i9JySpJVsq8Q0s9w== -"@jest/console@^24.7.1": - version "24.7.1" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-24.7.1.tgz#32a9e42535a97aedfe037e725bd67e954b459545" - integrity sha512-iNhtIy2M8bXlAOULWVTUxmnelTLFneTNEkHCgPmgd+zNwy9zVddJ6oS5rZ9iwoscNdT5mMwUd0C51v/fSlzItg== - dependencies: - "@jest/source-map" "^24.3.0" - chalk "^2.0.1" - slash "^2.0.0" - -"@jest/console@^24.9.0": +"@jest/console@^24.7.1", "@jest/console@^24.9.0": version "24.9.0" resolved "https://registry.yarnpkg.com/@jest/console/-/console-24.9.0.tgz#79b1bc06fb74a8cfb01cbdedf945584b1b9707f0" integrity sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ== @@ -1025,16 +871,7 @@ source-map "^0.6.0" string-length "^2.0.0" -"@jest/source-map@^24.3.0": - version "24.3.0" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-24.3.0.tgz#563be3aa4d224caf65ff77edc95cd1ca4da67f28" - integrity sha512-zALZt1t2ou8le/crCeeiRYzvdnTzaIlpOWaet45lNSqNJUnXbppUUFR4ZUAlzgDmKee4Q5P/tKXypI1RiHwgag== - dependencies: - callsites "^3.0.0" - graceful-fs "^4.1.15" - source-map "^0.6.0" - -"@jest/source-map@^24.9.0": +"@jest/source-map@^24.3.0", "@jest/source-map@^24.9.0": version "24.9.0" resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-24.9.0.tgz#0e263a94430be4b41da683ccc1e6bffe2a191714" integrity sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg== @@ -1084,15 +921,6 @@ source-map "^0.6.1" write-file-atomic "2.4.1" -"@jest/types@^24.8.0": - version "24.8.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.8.0.tgz#f31e25948c58f0abd8c845ae26fcea1491dea7ad" - integrity sha512-g17UxVr2YfBtaMUxn9u/4+siG1ptg9IGYAYwvpwn61nBg779RXnjE/m7CxYcIzEt0AbHZZAHSEZNhkE2WxURVg== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^1.1.1" - "@types/yargs" "^12.0.9" - "@jest/types@^24.9.0": version "24.9.0" resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.9.0.tgz#63cb26cb7500d069e5a389441a7c6ab5e909fc59" @@ -1102,33 +930,45 @@ "@types/istanbul-reports" "^1.1.1" "@types/yargs" "^13.0.0" -"@nodelib/fs.scandir@2.1.3": - version "2.1.3" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" - integrity sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw== +"@jest/types@^27.0.6": + version "27.0.6" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.0.6.tgz#9a992bc517e0c49f035938b8549719c2de40706b" + integrity sha512-aSquT1qa9Pik26JK5/3rvnYb4bGtm1VFNesHKmNTwmPIgOrixvhL2ghIvFRNEpzy3gU+rUgjIF/KodbkFAl++g== dependencies: - "@nodelib/fs.stat" "2.0.3" + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^16.0.0" + chalk "^4.0.0" + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" run-parallel "^1.1.9" -"@nodelib/fs.stat@2.0.3", "@nodelib/fs.stat@^2.0.2": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz#34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3" - integrity sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA== +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== "@nodelib/fs.walk@^1.2.3": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz#011b9202a70a6366e436ca5c065844528ab04976" - integrity sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ== + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== dependencies: - "@nodelib/fs.scandir" "2.1.3" + "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" "@npmcli/move-file@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.0.1.tgz#de103070dac0f48ce49cf6693c23af59c0f70464" - integrity sha512-Uv6h1sT+0DrblvIrolFtbvM1FgWm+/sy4B3pvLp67Zys+thcukzS5ekn7HsZFGpWP4Q3fYJCljbWQE/XivMRLw== + version "1.1.2" + resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674" + integrity sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg== dependencies: mkdirp "^1.0.4" + rimraf "^3.0.2" "@reactivex/rxjs@^6.6.7": version "6.6.7" @@ -1138,14 +978,14 @@ tslib "^1.9.0" "@redocly/react-dropdown-aria@^2.0.11": - version "2.0.11" - resolved "https://registry.yarnpkg.com/@redocly/react-dropdown-aria/-/react-dropdown-aria-2.0.11.tgz#532b864b329237e646abe45d0f8edc923e77370a" - integrity sha512-rmuSC2JFFl4DkPDdGVrmffT9KcbG2AB5jvhxPIrOc1dO9mHRMUUftQY35KZlvWqqSSqVn+AM+J9dhiTo1ZqR8A== + version "2.0.12" + resolved "https://registry.yarnpkg.com/@redocly/react-dropdown-aria/-/react-dropdown-aria-2.0.12.tgz#2e3af2b1b8e9123487109400d6117f0d4a8445a6" + integrity sha512-feQEZlyBvQsbT/fvpJ4jJ5OLGaUPpnskHYDsY8DGpPymN+HUeDQrqkBEbbKRwMKidFTI2cxk2kJNNTnvdS9jyw== "@tippy.js/react@^2.1.2": - version "2.2.2" - resolved "https://registry.yarnpkg.com/@tippy.js/react/-/react-2.2.2.tgz#a0fbc646958cdb002d7d227f7b18dca346c76f2e" - integrity sha512-ex6IEy1cFC1a1MqbRaNZqo/MRK/GQOfa/VO5jydYeBrxnxJ3I/3gCX098dUHRLZmB6aFKVY39TwgnQRCbLUG4Q== + version "2.2.3" + resolved "https://registry.yarnpkg.com/@tippy.js/react/-/react-2.2.3.tgz#2ffb0af6693055be7db4b329b2d3cc7f2356f68e" + integrity sha512-5XYvbQujzDj9r00JYEz/cBtm6DutjOdv2azdco53B+eWF7FDBCQfkLVn87wimfEpmGK0vqRQv/cwFxFcoOP98Q== dependencies: prop-types "^15.6.2" tippy.js "^4.3.4" @@ -1155,15 +995,10 @@ resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== -"@types/anymatch@*": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a" - integrity sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA== - "@types/babel__core@^7.1.0": - version "7.1.2" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.2.tgz#608c74f55928033fce18b99b213c16be4b3d114f" - integrity sha512-cfCCrFmiGY/yq0NuKNxIQvZFy9kY/1immpSpTngOnyIbD4+eJOG5mxphhHDv3CHL9GltO4GcKr54kGBg3RNdbg== + version "7.1.15" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.15.tgz#2ccfb1ad55a02c83f8e0ad327cbc332f55eb1024" + integrity sha512-bxlMKPDbY8x5h6HBwVzEOk2C8fb6SLfYQ5Jw3uBYuYF1lfWk/kbLd81la82vrIkBb0l+JdmrZaDikPrNxpS/Ew== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" @@ -1172,24 +1007,24 @@ "@types/babel__traverse" "*" "@types/babel__generator@*": - version "7.0.2" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.0.2.tgz#d2112a6b21fad600d7674274293c85dce0cb47fc" - integrity sha512-NHcOfab3Zw4q5sEE2COkpfXjoE7o+PmqD9DQW4koUT3roNxwziUdXGnRndMat/LJNUtePwn1TlP4do3uoe3KZQ== + version "7.6.3" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.3.tgz#f456b4b2ce79137f768aa130d2423d2f0ccfaba5" + integrity sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA== dependencies: "@babel/types" "^7.0.0" "@types/babel__template@*": - version "7.0.2" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.0.2.tgz#4ff63d6b52eddac1de7b975a5223ed32ecea9307" - integrity sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg== + version "7.4.1" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" + integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.0.7" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.7.tgz#2496e9ff56196cc1429c72034e07eab6121b6f3f" - integrity sha512-CeBpmX1J8kWLcDEnI3Cl2Eo6RfbGvzUctA+CjZUhOKDFbLfcr7fc4usEqLNWetrlJd7RhAkyYe2czXop4fICpw== + version "7.14.2" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.14.2.tgz#ffcd470bbb3f8bf30481678fb5502278ca833a43" + integrity sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA== dependencies: "@babel/types" "^7.3.0" @@ -1204,9 +1039,9 @@ integrity sha512-LKVP3cgXBT9RYj+t+9FDKwS5tdI+rPBXaNSkma7hvqy35lc7mAokC2zsqWJH0LaqIt3B962nuYI77hsJoT1gow== "@types/cookiejar@*": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@types/cookiejar/-/cookiejar-2.1.1.tgz#90b68446364baf9efd8e8349bb36bd3852b75b80" - integrity sha512-aRnpPa7ysx3aNW60hTiCtLHlQaIFsXFCgQlpakNgDNVFzbtusSY8PwjAQgRWfSk0ekNoBjO51eQRB6upA9uuyw== + version "2.1.2" + resolved "https://registry.yarnpkg.com/@types/cookiejar/-/cookiejar-2.1.2.tgz#66ad9331f63fe8a3d3d9d8c6e3906dd10f6446e8" + integrity sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog== "@types/dagre@^0.7.40": version "0.7.42" @@ -1226,17 +1061,17 @@ integrity sha512-kA2RxBT/r/ZuDDKwMl+vFWn1Z0lfm1/Ik6Qb91wnSzyzCDa/fkM8gIOq6ruB7xfr37n6Mj5dyivileUVKsidlg== "@types/glob@^7.1.1": - version "7.1.3" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" - integrity sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w== + version "7.1.4" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.4.tgz#ea59e21d2ee5c517914cb4bc8e4153b99e566672" + integrity sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA== dependencies: "@types/minimatch" "*" "@types/node" "*" "@types/history@*": - version "4.7.2" - resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.2.tgz#0e670ea254d559241b6eeb3894f8754991e73220" - integrity sha512-ui3WwXmjTaY73fOQ3/m3nnajU/Orhi6cEu5rzX+BrAAJxa3eITXZ5ch9suPqtM03OWhAHhPSyBGCN4UKoxO20Q== + version "4.7.9" + resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.9.tgz#1cfb6d60ef3822c589f18e70f8b12f9a28ce8724" + integrity sha512-MUc6zSmU3tEVnkQ78q0peeEjKWPUADMlC/t++2bI8WnAG2tvYRPIgHG8lWkXwqc8MsUF6Z2MOf+Mh5sazOmhiQ== "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": version "2.0.1" @@ -1244,24 +1079,33 @@ integrity sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg== "@types/istanbul-lib-report@*": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz#e5471e7fa33c61358dd38426189c037a58433b8c" - integrity sha512-3BUTyMzbZa2DtDI2BkERNC6jJw2Mr2Y0oGI7mRxYNBPxppbtEK1F66u3bKwU2g+wxwWI7PAoRpJnOY1grJqzHg== + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== dependencies: "@types/istanbul-lib-coverage" "*" "@types/istanbul-reports@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz#7a8cbf6a406f36c8add871625b278eaf0b0d255a" - integrity sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA== + version "1.1.2" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz#e875cc689e47bce549ec81f3df5e6f6f11cfaeb2" + integrity sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw== dependencies: "@types/istanbul-lib-coverage" "*" "@types/istanbul-lib-report" "*" +"@types/istanbul-reports@^3.0.0": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" + integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== + dependencies: + "@types/istanbul-lib-report" "*" + "@types/jest-diff@*": - version "20.0.1" - resolved "https://registry.yarnpkg.com/@types/jest-diff/-/jest-diff-20.0.1.tgz#35cc15b9c4f30a18ef21852e255fdb02f6d59b89" - integrity sha512-yALhelO3i0hqZwhjtcr6dYyaLoCHbAMshwtj6cGxTvHZAKXHsYGdff6E8EPw3xLKY0ELUTQ69Q1rQiJENnccMA== + version "24.3.0" + resolved "https://registry.yarnpkg.com/@types/jest-diff/-/jest-diff-24.3.0.tgz#29e237a3d954babfe6e23cc59b57ecd8ca8d858d" + integrity sha512-vx1CRDeDUwQ0Pc7v+hS61O1ETA81kD04IMEC0hS1kPyVtHDdZrokAvpF7MT9VI/fVSzicelUZNCepDvhRV1PeA== + dependencies: + jest-diff "*" "@types/jest@^24.0.13": version "24.0.15" @@ -1275,25 +1119,35 @@ resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-3.12.1.tgz#5c6f4a1eabca84792fbd916f0cb40847f123c656" integrity sha512-SGGAhXLHDx+PK4YLNcNGa6goPf9XRWQNAUUbffkwVGGXIxmDKWyGGL4inzq2sPmExu431Ekb9aEMn9BkPqEYFA== -"@types/json-schema@^7.0.5": - version "7.0.6" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0" - integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw== +"@types/json-schema@^7.0.5", "@types/json-schema@^7.0.7": + version "7.0.8" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.8.tgz#edf1bf1dbf4e04413ca8e5b17b3b7d7d54b59818" + integrity sha512-YSBPTLTVm2e2OoQIDYx8HaeWJ5tTToLH67kXR7zYNGupXMEHa2++G8k+DczX2cFVgalypqtyZIcU19AFcmOpmg== "@types/minimatch@*", "@types/minimatch@^3.0.3": version "3.0.3" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== +"@types/minimist@^1.2.0": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" + integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== + "@types/node@*": - version "12.6.8" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.6.8.tgz#e469b4bf9d1c9832aee4907ba8a051494357c12c" - integrity sha512-aX+gFgA5GHcDi89KG5keey2zf0WfZk/HAQotEamsK2kbey+8yGKcson0hbK8E+v0NArlCJQCqMP161YhV6ZXLg== + version "16.3.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.3.1.tgz#24691fa2b0c3ec8c0d34bfcfd495edac5593ebb4" + integrity sha512-N87VuQi7HEeRJkhzovao/JviiqKjDKMVKxKMfUvSKw+MbkbW8R0nA3fi/MQhhlxV2fQ+2ReM+/Nt4efdrJx3zA== "@types/node@^13.11.1": - version "13.13.26" - resolved "https://registry.yarnpkg.com/@types/node/-/node-13.13.26.tgz#09b8326828d46b174d29086cdb6dcd2d0dcf67a3" - integrity sha512-+48LLqolaKj/WnIY1crfLseaGQMIDISBy3PTXVOZ7w/PBaRUv+H8t94++atzfoBAvorbUYz6Xq9vh1fHrg33ig== + version "13.13.52" + resolved "https://registry.yarnpkg.com/@types/node/-/node-13.13.52.tgz#03c13be70b9031baaed79481c0c0cfb0045e53f7" + integrity sha512-s3nugnZumCC//n4moGGe6tkNMyYEdaDBitVjwPxXmR5lnMG5dHePinH2EdxkG3Rh1ghFHHixAG4NJhpJW1rthQ== + +"@types/normalize-package-data@^2.4.0": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" + integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== "@types/prop-types@*", "@types/prop-types@^15.5.2": version "15.7.1" @@ -1336,9 +1190,9 @@ "@types/react" "*" "@types/react-helmet@^6.1.0": - version "6.1.0" - resolved "https://registry.yarnpkg.com/@types/react-helmet/-/react-helmet-6.1.0.tgz#af586ed685f4905e2adc7462d1d65ace52beee7a" - integrity sha512-PYRoU1XJFOzQ3BHvWL1T8iDNbRjdMDJMT5hFmZKGbsq09kbSqJy61uwEpTrbTNWDopVphUT34zUSVLK9pjsgYQ== + version "6.1.2" + resolved "https://registry.yarnpkg.com/@types/react-helmet/-/react-helmet-6.1.2.tgz#e9d7d16b29e4ec5716711c52c35c3cec45819eac" + integrity sha512-dcfAZNlWb5JYFbO9CGfrPWLJAyFcT6UeR3u35eBbv8liY2Rg4K7fM1G5+HnwVgot+C+kVwXAZ8pLEn2jsMfTDg== dependencies: "@types/react" "*" @@ -1358,15 +1212,7 @@ "@types/react" "*" "@types/react-router" "*" -"@types/react-router@*": - version "5.0.3" - resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.0.3.tgz#855a1606e62de3f4d69ea34fb3c0e50e98e964d5" - integrity sha512-j2Gge5cvxca+5lK9wxovmGPgpVJMwjyu5lTA/Cd6fLGoPq7FXcUE1jFkEdxeyqGGz8VfHYSHCn5Lcn24BzaNKA== - dependencies: - "@types/history" "*" - "@types/react" "*" - -"@types/react-router@^4.0.27": +"@types/react-router@*", "@types/react-router@^4.0.27": version "4.4.5" resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-4.4.5.tgz#1166997dc7eef2917b5ebce890ebecb32ee5c1b3" integrity sha512-12+VOu1+xiC8RPc9yrgHCyLI79VswjtuqeS2gPrMcywH6tkc8rGIUhs4LaL3AJPqo5d+RPnfRpNKiJ7MK2Qhcg== @@ -1397,6 +1243,11 @@ "@types/prop-types" "*" csstype "^2.2.0" +"@types/source-list-map@*": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" + integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== + "@types/stack-utils@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" @@ -1420,38 +1271,43 @@ "@types/cookiejar" "*" "@types/node" "*" -"@types/tapable@*": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.4.tgz#b4ffc7dc97b498c969b360a41eee247f82616370" - integrity sha512-78AdXtlhpCHT0K3EytMpn4JNxaf5tbqbLcbIRoQIHzpTIyjpxLQKRoxU55ujBXAtg3Nl2h/XWvfDa9dsMOd0pQ== +"@types/tapable@^1": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.8.tgz#b94a4391c85666c7b73299fd3ad79d4faa435310" + integrity sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ== "@types/uglify-js@*": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.0.4.tgz#96beae23df6f561862a830b4288a49e86baac082" - integrity sha512-SudIN9TRJ+v8g5pTG8RRCqfqTMNqgWCKKd3vtynhGzkIIjxaicNAMuY5TRadJ6tzDu3Dotf3ngaMILtmOdmWEQ== + version "3.13.1" + resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.13.1.tgz#5e889e9e81e94245c75b6450600e1c5ea2878aea" + integrity sha512-O3MmRAk6ZuAKa9CHgg0Pr0+lUOqoMLpc9AS4R8ano2auvsg7IE8syF3Xh/NPr26TWklxYcqoEEFdzLLs1fV9PQ== dependencies: source-map "^0.6.1" +"@types/webpack-sources@*": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-2.1.1.tgz#6af17e3a3ded71eec2b98008d7c12f498a0a4506" + integrity sha512-MjM1R6iuw8XaVbtkCBz0N349cyqBjJHCbQiOeppe3VBeFvxqs74RKHAVt9LkxTnUWc7YLZOEsUfPUnmK6SBPKQ== + dependencies: + "@types/node" "*" + "@types/source-list-map" "*" + source-map "^0.7.3" + "@types/webpack@^4.4.19": - version "4.32.1" - resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.32.1.tgz#6e95010e806f808abd6551c112097ac09035aacf" - integrity sha512-9n38CBx9uga1FEAdTipnt0EkbKpsCJFh7xJb1LE65FFb/A6OOLFX022vYsGC1IyVCZ/GroNg9u/RMmlDxGcLIw== + version "4.41.30" + resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.30.tgz#fd3db6d0d41e145a8eeeafcd3c4a7ccde9068ddc" + integrity sha512-GUHyY+pfuQ6haAfzu4S14F+R5iGRwN6b2FRNJY7U0NilmFAqbsOfK6j1HwuLBAqwRIT+pVdNDJGJ6e8rpp0KHA== dependencies: - "@types/anymatch" "*" "@types/node" "*" - "@types/tapable" "*" + "@types/tapable" "^1" "@types/uglify-js" "*" + "@types/webpack-sources" "*" + anymatch "^3.0.0" source-map "^0.6.0" "@types/yargs-parser@*": - version "13.1.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-13.1.0.tgz#c563aa192f39350a1d18da36c5a8da382bbd8228" - integrity sha512-gCubfBUZ6KxzoibJ+SCUc/57Ms1jz5NjHe4+dI2krNmU5zCPAphyLJYyTOg06ueIyfj+SaCUqmzun7ImlxDcKg== - -"@types/yargs@^12.0.9": - version "12.0.12" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-12.0.12.tgz#45dd1d0638e8c8f153e87d296907659296873916" - integrity sha512-SOhuU4wNBxhhTHxYaiG5NY4HBhDIDnJF60GU+2LqHAdKKer86//e4yg69aENCtQ04n0ovz+tq2YPME5t5yp4pw== + version "20.2.1" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129" + integrity sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw== "@types/yargs@^13.0.0": version "13.0.3" @@ -1460,6 +1316,13 @@ dependencies: "@types/yargs-parser" "*" +"@types/yargs@^16.0.0": + version "16.0.4" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.4.tgz#26aad98dd2c2a38e421086ea9ad42b9e51642977" + integrity sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw== + dependencies: + "@types/yargs-parser" "*" + "@webassemblyjs/ast@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" @@ -1615,15 +1478,10 @@ resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== -JSV@^4.0.x: - version "4.0.2" - resolved "https://registry.yarnpkg.com/JSV/-/JSV-4.0.2.tgz#d077f6825571f82132f9dffaed587b4029feff57" - integrity sha1-0Hf2glVx+CEy+d/67Vh7QCn+/1c= - abab@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.2.tgz#a2fba1b122c69a85caa02d10f9270c7219709a9d" - integrity sha512-2scffjvioEmNz0OyDSLGWDfKCVwaKc6l9Pm9kOIREU13ClXZvHpg/nRL5xyjSSSLhOnXqft2HpsAzNEEA8cFFg== + version "2.0.5" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" + integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== abbrev@1: version "1.1.1" @@ -1652,19 +1510,14 @@ acorn-walk@^6.0.1: integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA== acorn@^5.5.3: - version "5.7.3" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" - integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== + version "5.7.4" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e" + integrity sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg== -acorn@^6.0.1: - version "6.3.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.3.0.tgz#0087509119ffa4fc0a0041d1e93a417e68cb856e" - integrity sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA== - -acorn@^6.4.1: - version "6.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474" - integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA== +acorn@^6.0.1, acorn@^6.4.1: + version "6.4.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" + integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== add@^2.0.6: version "2.0.6" @@ -1677,9 +1530,9 @@ agent-base@5: integrity sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g== agent-base@6: - version "6.0.1" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.1.tgz#808007e4e5867decb0ab6ab2f928fbdb5a596db4" - integrity sha512-01q25QQDwLSsyfhrKbn8yuur+JNw0H+0Y4JiGIKd3z9aYk/w/2kxD/Upc+t2ZBBSUNff50VjPsSW2YxM8QYKVg== + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== dependencies: debug "4" @@ -1696,12 +1549,7 @@ ajv-errors@^1.0.0: resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== -ajv-keywords@^3.1.0: - version "3.4.1" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da" - integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ== - -ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: +ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: version "3.5.2" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== @@ -1716,20 +1564,10 @@ ajv@^5.5.2: fast-json-stable-stringify "^2.0.0" json-schema-traverse "^0.3.0" -ajv@^6.1.0, ajv@^6.5.5: - version "6.10.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52" - integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw== - dependencies: - fast-deep-equal "^2.0.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^6.10.2, ajv@^6.12.4: - version "6.12.5" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.5.tgz#19b0e8bae8f476e5ba666300387775fb1a00a4da" - integrity sha512-lRF8RORchjpKG50/WFf8xmg7sgCLFiYNNnqdKflk63whMQcWR5ngGjiSXkL9bjxy6B2npOK2HSMN49jEBMSkag== +ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== dependencies: fast-deep-equal "^3.1.1" fast-json-stable-stringify "^2.0.0" @@ -1788,17 +1626,17 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" -ansi-styles@^4.0.0: +ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: color-convert "^2.0.1" -ansi-styles@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178" - integrity sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg= +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" + integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== anymatch@^2.0.0: version "2.0.0" @@ -1808,10 +1646,10 @@ anymatch@^2.0.0: micromatch "^3.1.4" normalize-path "^2.1.1" -anymatch@~3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" - integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== +anymatch@^3.0.0, anymatch@~3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== dependencies: normalize-path "^3.0.0" picomatch "^2.0.4" @@ -1852,7 +1690,7 @@ are-we-there-yet@~1.1.2: typescript "^4.0.3" xterm "2.4.0" -argparse@^1.0.2, argparse@^1.0.7: +argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== @@ -1884,11 +1722,6 @@ array-equal@^1.0.0: resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= -array-find-index@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" - integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= - array-flatten@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" @@ -1921,16 +1754,11 @@ array-unique@^0.3.2: resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= -arrify@^1.0.0: +arrify@^1.0.0, arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= -asap@~2.0.3: - version "2.0.6" - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" - integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= - asn1.js@^5.2.0: version "5.4.1" resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" @@ -1986,11 +1814,6 @@ async-limiter@~1.0.0: resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== -async@0.2.x, async@~0.2.9: - version "0.2.10" - resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1" - integrity sha1-trvgsGdLnXGXCMo43owjfLUmw9E= - async@^2.5.0, async@^2.6.2: version "2.6.3" resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" @@ -2003,7 +1826,7 @@ asynckit@^0.4.0: resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= -atob@^2.1.1: +atob@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== @@ -2014,9 +1837,9 @@ aws-sign2@~0.7.0: integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= aws4@^1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" - integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== + version "1.11.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" + integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== babel-jest@^24.9.0: version "24.9.0" @@ -2041,10 +1864,10 @@ babel-loader@^8.0.6: mkdirp "^0.5.1" pify "^4.0.1" -babel-plugin-dynamic-import-node@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz#f00f507bdaa3c3e3ff6e7e5e98d90a7acab96f7f" - integrity sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ== +babel-plugin-dynamic-import-node@^2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" + integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== dependencies: object.assign "^4.1.0" @@ -2073,7 +1896,7 @@ babel-preset-jest@^24.9.0: "@babel/plugin-syntax-object-rest-spread" "^7.0.0" babel-plugin-jest-hoist "^24.9.0" -babel-runtime@^6.26.0, babel-runtime@^6.9.2: +babel-runtime@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= @@ -2081,20 +1904,15 @@ babel-runtime@^6.26.0, babel-runtime@^6.9.2: core-js "^2.4.0" regenerator-runtime "^0.11.0" -babylon@^6.8.1: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" - integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== - balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== base64-js@^1.0.2: - version "1.3.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" - integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== base@^0.11.1: version "0.11.2" @@ -2150,16 +1968,16 @@ binary-extensions@^1.0.0: integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== binary-extensions@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9" - integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ== + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== -block-stream@*: - version "0.0.9" - resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" - integrity sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo= +bindings@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== dependencies: - inherits "~2.0.0" + file-uri-to-path "1.0.0" bluebird@^3.5.5: version "3.7.2" @@ -2171,10 +1989,10 @@ bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== -bn.js@^5.1.1: - version "5.1.3" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.3.tgz#beca005408f642ebebea80b042b4d18d2ac0ee6b" - integrity sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ== +bn.js@^5.0.0, bn.js@^5.1.1: + version "5.2.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" + integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== body-parser@1.19.0: version "1.19.0" @@ -2204,7 +2022,7 @@ bonjour@^3.5.0: multicast-dns "^6.0.1" multicast-dns-service-types "^1.1.0" -boolbase@~1.0.0: +boolbase@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= @@ -2245,10 +2063,10 @@ brorand@^1.0.1, brorand@^1.1.0: resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= -browser-process-hrtime@^0.1.2: - version "0.1.3" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz#616f00faef1df7ec1b5bf9cfe2bdc3170f26c7b4" - integrity sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw== +browser-process-hrtime@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" + integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== browser-resolve@^1.11.3: version "1.11.3" @@ -2289,11 +2107,11 @@ browserify-des@^1.0.0: safe-buffer "^5.1.2" browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" - integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= + version "4.1.0" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" + integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== dependencies: - bn.js "^4.1.0" + bn.js "^5.0.0" randombytes "^2.0.1" browserify-sign@^4.0.0: @@ -2318,7 +2136,7 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@^4.6.0, browserslist@^4.7.2: +browserslist@^4.16.6, browserslist@^4.6.0: version "4.16.6" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2" integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ== @@ -2336,10 +2154,10 @@ bs-logger@0.x: dependencies: fast-json-stable-stringify "2.x" -bser@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.0.tgz#65fc784bf7f87c009b973c12db6546902fa9c7b5" - integrity sha512-8zsjWrQkkBoLK6uxASk1nJ2SKv97ltiGDo6A3wA0/yRPz+CwmEyDo0hUrhIuukG2JHpAl3bvFIixw2/3Hi0DOg== +bser@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== dependencies: node-int64 "^0.4.0" @@ -2414,9 +2232,9 @@ cacache@^12.0.2: y18n "^4.0.0" cacache@^15.0.5: - version "15.0.5" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.0.5.tgz#69162833da29170d6732334643c60e005f5f17d0" - integrity sha512-lloiL22n7sOjEEXdL8NAjTgv9a1u43xICE9/203qonkZUCj5X1UEWIdf2/Y0d6QcCtMzbKQyhrcDbdvlZTs/+A== + version "15.2.0" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.2.0.tgz#73af75f77c58e72d8c630a7a2858cb18ef523389" + integrity sha512-uKoJSHmnrqXgthDFx/IU6ED/5xd+NNGe+Bb+kLZy7Ku4P+BaiWEUflAKPZ7eAzsYGcsAGASJZsybXp+quEcHTw== dependencies: "@npmcli/move-file" "^1.0.1" chownr "^2.0.0" @@ -2432,7 +2250,7 @@ cacache@^15.0.5: p-map "^4.0.0" promise-inflight "^1.0.1" rimraf "^3.0.2" - ssri "^8.0.0" + ssri "^8.0.1" tar "^6.0.2" unique-filename "^1.1.1" @@ -2451,6 +2269,14 @@ cache-base@^1.0.1: union-value "^1.0.0" unset-value "^1.0.0" +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + call-me-maybe@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" @@ -2469,18 +2295,14 @@ camel-case@3.0.x: no-case "^2.2.0" upper-case "^1.1.1" -camelcase-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" - integrity sha1-MIvur/3ygRkFHvodkyITyRuPkuc= +camelcase-keys@^6.2.2: + version "6.2.2" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" + integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== dependencies: - camelcase "^2.0.0" - map-obj "^1.0.0" - -camelcase@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" - integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= + camelcase "^5.3.1" + map-obj "^4.0.0" + quick-lru "^4.0.1" camelcase@^4.1.0: version "4.1.0" @@ -2493,9 +2315,9 @@ camelcase@^5.0.0, camelcase@^5.3.1: integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== caniuse-lite@^1.0.30001219: - version "1.0.30001228" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001228.tgz#bfdc5942cd3326fa51ee0b42fbef4da9d492a7fa" - integrity sha512-QQmLOGJ3DEgokHbMSA8cj2a+geXqmnpyOFT0lhQV6P3/YOJvGDEwoedcwxEQ30gJIwIIunHIicunJ2rzK5gB2A== + version "1.0.30001243" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001243.tgz#d9250155c91e872186671c523f3ae50cfc94a3aa" + integrity sha512-vNxw9mkTBtkmLFnJRv/2rhs1yufpDfCkBZexG3Y0xdOH2Z/eE/85E4Dl5j1YUN34nZVsSp6vVRFQRrez9wJMRA== capture-exit@^2.0.0: version "2.0.0" @@ -2509,7 +2331,7 @@ caseless@~0.12.0: resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= -chalk@^1.1.1, chalk@^1.1.3, chalk@~1.1.0: +chalk@^1.1.1, chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= @@ -2529,19 +2351,13 @@ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" - integrity sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8= +chalk@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad" + integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg== dependencies: - ansi-styles "~1.0.0" - has-color "~0.1.0" - strip-ansi "~0.1.0" - -change-emitter@^0.1.2: - version "0.1.6" - resolved "https://registry.yarnpkg.com/change-emitter/-/change-emitter-0.1.6.tgz#e8b2fe3d7f1ab7d69a32199aff91ea6931409515" - integrity sha1-6LL+PX8at9aaMhma/5HqaTFAlRU= + ansi-styles "^4.1.0" + supports-color "^7.1.0" charenc@0.0.2: version "0.0.2" @@ -2568,24 +2384,24 @@ chokidar@^2.1.8: fsevents "^1.2.7" chokidar@^3.4.1: - version "3.4.2" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.2.tgz#38dc8e658dec3809741eb3ef7bb0a47fe424232d" - integrity sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A== + version "3.5.2" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" + integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== dependencies: - anymatch "~3.1.1" + anymatch "~3.1.2" braces "~3.0.2" - glob-parent "~5.1.0" + glob-parent "~5.1.2" is-binary-path "~2.1.0" is-glob "~4.0.1" normalize-path "~3.0.0" - readdirp "~3.4.0" + readdirp "~3.6.0" optionalDependencies: - fsevents "~2.1.2" + fsevents "~2.3.2" chownr@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.3.tgz#42d837d5239688d55f303003a508230fa6727142" - integrity sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw== + version "1.1.4" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== chownr@^2.0.0: version "2.0.0" @@ -2593,11 +2409,9 @@ chownr@^2.0.0: integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== chrome-trace-event@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" - integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ== - dependencies: - tslib "^1.9.0" + version "1.0.3" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" + integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== ci-info@^2.0.0: version "2.0.0" @@ -2633,9 +2447,9 @@ classnames@^2.2.5, classnames@^2.2.6: integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q== clean-css@4.2.x: - version "4.2.1" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.1.tgz#2d411ef76b8569b6d0c84068dabe85b0aa5e5c17" - integrity sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g== + version "4.2.3" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" + integrity sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA== dependencies: source-map "~0.6.0" @@ -2644,13 +2458,6 @@ clean-stack@^2.0.0: resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== -cli-table@~0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/cli-table/-/cli-table-0.3.1.tgz#f53b05266a8b1a0b934b3d0821e6e2dc5914ae23" - integrity sha1-9TsFJmqLGguTSz0IIebi3FkUriM= - dependencies: - colors "1.0.3" - cliui@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" @@ -2669,6 +2476,15 @@ cliui@^6.0.0: strip-ansi "^6.0.0" wrap-ansi "^6.2.0" +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + clone-deep@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-2.0.2.tgz#00db3a1e173656730d1188c3d6aced6d7ea97713" @@ -2732,12 +2548,12 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" -color-name@1.1.3: +color-name@1.1.3, color-name@^1.0.0: version "1.1.3" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= -color-name@^1.0.0, color-name@~1.1.4: +color-name@~1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== @@ -2763,16 +2579,6 @@ colorette@^1.2.2: resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== -colors@0.6.x: - version "0.6.2" - resolved "https://registry.yarnpkg.com/colors/-/colors-0.6.2.tgz#2423fe6678ac0c5dae8852e5d0e5be08c997abcc" - integrity sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w= - -colors@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" - integrity sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs= - combined-stream@^1.0.6, combined-stream@~1.0.6: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" @@ -2780,16 +2586,11 @@ combined-stream@^1.0.6, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -commander@2.17.x: +commander@2.17.x, commander@^2.12.1: version "2.17.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== -commander@^2.12.1: - version "2.20.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422" - integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ== - commander@^2.20.0: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" @@ -2800,20 +2601,6 @@ commander@~2.19.0: resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== -commander@~2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" - integrity sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q= - dependencies: - graceful-readlink ">= 1.0.0" - -comment-parser@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/comment-parser/-/comment-parser-0.3.2.tgz#3c03f0776b86a36dfd9a0a2c97c6307f332082fe" - integrity sha1-PAPwd2uGo239mgosl8YwfzMggv4= - dependencies: - readable-stream "^2.0.4" - common-tags@1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937" @@ -2896,17 +2683,10 @@ content-type@~1.0.4: resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== -convert-source-map@^1.1.0, convert-source-map@^1.4.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" - integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== - dependencies: - safe-buffer "~5.1.1" - -convert-source-map@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" - integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== +convert-source-map@^1.4.0, convert-source-map@^1.7.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" + integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== dependencies: safe-buffer "~5.1.1" @@ -2965,27 +2745,22 @@ copy-webpack-plugin@^6.1.1: webpack-sources "^1.4.3" core-js-compat@^3.1.1: - version "3.4.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.4.0.tgz#2a47c51d3dc026d290018cacd987495f68a47c75" - integrity sha512-pgQUcgT2+v9/yxHgMynYjNj7nmxLRXv3UC39rjCjDwpe63ev2rioQTju1PKLYUBbPCQQvZNWvQC8tBJd65q11g== + version "3.15.2" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.15.2.tgz#47272fbb479880de14b4e6081f71f3492f5bd3cb" + integrity sha512-Wp+BJVvwopjI+A1EFqm2dwUmWYXrvucmtIB2LgXn/Rb+gWPKYxtmb4GKHGKG/KGF1eK9jfjzT38DITbTOCX/SQ== dependencies: - browserslist "^4.7.2" - semver "^6.3.0" - -core-js@^1.0.0: - version "1.2.7" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" - integrity sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY= + browserslist "^4.16.6" + semver "7.0.0" core-js@^2.4.0: - version "2.6.10" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.10.tgz#8a5b8391f8cc7013da703411ce5b585706300d7f" - integrity sha512-I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA== + version "2.6.12" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" + integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== core-js@^3.2.1: - version "3.6.5" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.5.tgz#7395dc273af37fb2e50e9bd3d9fe841285231d1a" - integrity sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA== + version "3.15.2" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.15.2.tgz#740660d2ff55ef34ce664d7e2455119c5bdd3d61" + integrity sha512-tKs41J7NJVuaya8DxIOCnl8QuPHx5/ZVbFo1oKgVl1qHFBBrDctzQGtuLjPpRdNTWmKPH6oEvgN/MUID+l485Q== core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" @@ -3053,13 +2828,14 @@ cross-spawn@6.0.5, cross-spawn@^6.0.0, cross-spawn@^6.0.5: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982" - integrity sha1-ElYDfsufDF9549bvE14wdwGEuYI= +cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== dependencies: - lru-cache "^4.0.1" - which "^1.2.9" + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" crypt@0.0.2: version "0.0.2" @@ -3095,34 +2871,34 @@ css-modules-loader-core@^1.1.0: postcss-modules-scope "1.1.0" postcss-modules-values "1.3.0" -css-select@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" - integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg= +css-select@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.1.3.tgz#a70440f70317f2669118ad74ff105e65849c7067" + integrity sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA== dependencies: - boolbase "~1.0.0" - css-what "2.1" - domutils "1.5.1" - nth-check "~1.0.1" + boolbase "^1.0.0" + css-what "^5.0.0" + domhandler "^4.2.0" + domutils "^2.6.0" + nth-check "^2.0.0" css-selector-tokenizer@^0.7.0: - version "0.7.1" - resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz#a177271a8bca5019172f4f891fc6eed9cbf68d5d" - integrity sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA== + version "0.7.3" + resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz#735f26186e67c749aaf275783405cf0661fae8f1" + integrity sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg== dependencies: - cssesc "^0.1.0" - fastparse "^1.1.1" - regexpu-core "^1.0.0" + cssesc "^3.0.0" + fastparse "^1.1.2" -css-what@2.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" - integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg== +css-what@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.0.1.tgz#3efa820131f4669a8ac2408f9c32e7c7de9f4cad" + integrity sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg== -cssesc@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" - integrity sha1-yBSQPkViM3GgR3tAEJqq++6t27Q= +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": version "0.3.8" @@ -3141,31 +2917,15 @@ csstype@^2.2.0: resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.6.tgz#c34f8226a94bbb10c32cc0d714afdf942291fc41" integrity sha512-RpFbQGUE74iyPgvr46U9t1xoQBM8T4BL8SxrN66Le2xYAPSaDJJKeztV3awugusb3g3G9iL8StmkBBXhcbbXhg== -cst@^0.4.3: - version "0.4.10" - resolved "https://registry.yarnpkg.com/cst/-/cst-0.4.10.tgz#9c05c825290a762f0a85c0aabb8c0fe035ae8516" - integrity sha512-U5ETe1IOjq2h56ZcBE3oe9rT7XryCH6IKgPMv0L7sSk6w29yR3p5egCK0T3BDNHHV95OoUBgXsqiVG+3a900Ag== - dependencies: - babel-runtime "^6.9.2" - babylon "^6.8.1" - source-map-support "^0.4.0" - -currently-unhandled@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" - integrity sha1-mI3zP+qxke95mmE2nddsF635V+o= - dependencies: - array-find-index "^1.0.1" +csstype@^3.0.2: + version "3.0.8" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.8.tgz#d2266a792729fb227cd216fb572f43728e1ad340" + integrity sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw== -cycle@1.0.x: - version "1.0.3" - resolved "https://registry.yarnpkg.com/cycle/-/cycle-1.0.3.tgz#21e80b2be8580f98b468f379430662b046c34ad2" - integrity sha1-IegLK+hYD5i0aPN5QwZisEbDStI= - -cyclist@~0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" - integrity sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA= +cyclist@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" + integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= dagre@^0.8.2: version "0.8.4" @@ -3198,28 +2958,29 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3: dependencies: ms "2.0.0" -debug@4: - version "4.2.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1" - integrity sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg== +debug@4, debug@^4.1.0, debug@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" + integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== dependencies: - ms "2.1.2" + ms "^2.1.1" -debug@^3.1.0, debug@^3.1.1, debug@^3.2.5, debug@^3.2.6: - version "3.2.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" - integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== +debug@^3.1.0, debug@^3.1.1, debug@^3.2.5: + version "3.2.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== dependencies: ms "^2.1.1" -debug@^4.1.0, debug@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" - integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== +decamelize-keys@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" + integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= dependencies: - ms "^2.1.1" + decamelize "^1.1.0" + map-obj "^1.0.0" -decamelize@^1.1.2, decamelize@^1.2.0: +decamelize@^1.1.0, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= @@ -3239,27 +3000,24 @@ deep-diff@^0.3.5: resolved "https://registry.yarnpkg.com/deep-diff/-/deep-diff-0.3.8.tgz#c01de63efb0eec9798801d40c7e0dae25b582c84" integrity sha1-wB3mPvsO7JeYgB1Ax+Da4ltYLIQ= -deep-equal@*, deep-equal@^1.0.0, deep-equal@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" - integrity sha1-9dJgKStmDghO/0zbyfCK0yR0SLU= - -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== +deep-equal@^1.0.0, deep-equal@^1.0.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" + integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g== + dependencies: + is-arguments "^1.0.4" + is-date-object "^1.0.1" + is-regex "^1.0.4" + object-is "^1.0.1" + object-keys "^1.1.1" + regexp.prototype.flags "^1.2.0" deep-is@~0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= -deepmerge@*: - version "4.0.0" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.0.0.tgz#3e3110ca29205f120d7cb064960a39c3d2087c09" - integrity sha512-YZ1rOP5+kHor4hMAH+HRQnBQHg+wvS1un1hAOuIcxcBy0hzcUf6Jg2a1w65kpoOUnurOfZbERwjI1TfZxNjcww== - -deepmerge@^3.2.0: +deepmerge@*, deepmerge@^3.2.0: version "3.3.0" resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-3.3.0.tgz#d3c47fd6f3a93d517b14426b0628a17b0125f5f7" integrity sha512-GRQOafGHwMHpjPx9iCvTgpu9NojZ49q794EEL94JVEw6VaeA8XTUyBKvAkOOjBX9oJNiV6G3P+T+tihFjo2TqA== @@ -3272,7 +3030,7 @@ default-gateway@^4.2.0: execa "^1.0.0" ip-regex "^2.1.0" -define-properties@^1.1.2: +define-properties@^1.1.2, define-properties@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== @@ -3347,31 +3105,26 @@ detect-file@^1.0.0: resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= -detect-libc@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" - integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= - detect-newline@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I= detect-node@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" - integrity sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw== - -diff-match-patch@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/diff-match-patch/-/diff-match-patch-1.0.4.tgz#6ac4b55237463761c4daf0dc603eb869124744b1" - integrity sha512-Uv3SW8bmH9nAtHKaKSanOQmj2DnlH65fUpcrMdfdaOxUG02QQ4YGZ8AE7kKOMisF7UqvOlGKVYWRvezdncW9lg== + version "2.1.0" + resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" + integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== diff-sequences@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" integrity sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew== +diff-sequences@^27.0.6: + version "27.0.6" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.0.6.tgz#3305cb2e55a033924054695cc66019fd7f8e5723" + integrity sha512-ag6wfpBFyNXZ0p8pcuIDS//D8H062ZQJ3fzYxjpmeKjnz8W4pekL3AI8VohmyZmsWW2PWaHgjsmqR6L13101VQ== + diff@^2.2.2: version "2.2.3" resolved "https://registry.yarnpkg.com/diff/-/diff-2.2.3.tgz#60eafd0d28ee906e4e8ff0a52c1229521033bf99" @@ -3418,47 +3171,49 @@ dns-txt@^2.0.2: dependencies: buffer-indexof "^1.0.0" -dom-converter@^0.2: +dom-converter@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== dependencies: utila "~0.4" -dom-helpers@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.4.0.tgz#e9b369700f959f62ecde5a6babde4bccd9169af8" - integrity sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA== +dom-helpers@^5.0.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902" + integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== dependencies: - "@babel/runtime" "^7.1.2" + "@babel/runtime" "^7.8.7" + csstype "^3.0.2" dom-scroll-into-view@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/dom-scroll-into-view/-/dom-scroll-into-view-1.0.1.tgz#32abb92f0d8feca6215162aef43e4b449ab8d99c" integrity sha1-Mqu5Lw2P7KYhUWKu9D5LRJq42Zw= -dom-serializer@0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.1.tgz#1ec4059e284babed36eec2941d4a970a189ce7c0" - integrity sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA== +dom-serializer@^1.0.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.2.tgz#6206437d32ceefaec7161803230c7a20bc1b4d91" + integrity sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig== dependencies: - domelementtype "^1.3.0" - entities "^1.1.1" + domelementtype "^2.0.1" + domhandler "^4.2.0" + entities "^2.0.0" dom-walk@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018" - integrity sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg= + version "0.1.2" + resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84" + integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w== domain-browser@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== -domelementtype@1, domelementtype@^1.3.0, domelementtype@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" - integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== +domelementtype@^2.0.1, domelementtype@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" + integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== domexception@^1.0.1: version "1.0.1" @@ -3467,40 +3222,26 @@ domexception@^1.0.1: dependencies: webidl-conversions "^4.0.2" -domhandler@2.3: - version "2.3.0" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.3.0.tgz#2de59a0822d5027fabff6f032c2b25a2a8abe738" - integrity sha1-LeWaCCLVAn+r/28DLCsloqir5zg= - dependencies: - domelementtype "1" - -domhandler@^2.3.0: - version "2.4.2" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" - integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== +domhandler@^4.0.0, domhandler@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.2.0.tgz#f9768a5f034be60a89a27c2e4d0f74eba0d8b059" + integrity sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA== dependencies: - domelementtype "1" + domelementtype "^2.2.0" dompurify@^2.0.12: - version "2.1.1" - resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.1.1.tgz#b5aa988676b093a9c836d8b855680a8598af25fe" - integrity sha512-NijiNVkS/OL8mdQL1hUbCD6uty/cgFpmNiuFxrmJ5YPH2cXrPKIewoixoji56rbZ6XBPmtM8GA8/sf9unlSuwg== - -domutils@1.5, domutils@1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" - integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8= - dependencies: - dom-serializer "0" - domelementtype "1" + version "2.3.0" + resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.3.0.tgz#07bb39515e491588e5756b1d3e8375b5964814e2" + integrity sha512-VV5C6Kr53YVHGOBKO/F86OYX6/iLTw2yVSI721gKetxpHCK/V5TaLEf9ODjRgl1KLSWRMY6cUhAbv/c+IUnwQw== -domutils@^1.5.1: - version "1.7.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" - integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== +domutils@^2.5.2, domutils@^2.6.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.7.0.tgz#8ebaf0c41ebafcf55b0b72ec31c56323712c5442" + integrity sha512-8eaHa17IwJUPAiB+SoTYBo5mCdeMgdcAoXJ59m6DT1vw+5iLS3gNoqYaRowaBKtGVrOF1Jz4yDTgYKLK2kvfJg== dependencies: - dom-serializer "0" - domelementtype "1" + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" duplexify@^3.4.2, duplexify@^3.6.0: version "3.7.1" @@ -3526,9 +3267,9 @@ ee-first@1.1.1: integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= electron-to-chromium@^1.3.723: - version "1.3.737" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.737.tgz#196f2e9656f4f3c31930750e1899c091b72d36b5" - integrity sha512-P/B84AgUSQXaum7a8m11HUsYL8tj9h/Pt5f7Hg7Ty6bm5DxlFq+e5+ouHUoNQMsKDJ7u4yGfI8mOErCmSH9wyg== + version "1.3.772" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.772.tgz#fd1ed39f9f3149f62f581734e4f026e600369479" + integrity sha512-X/6VRCXWALzdX+RjCtBU6cyg8WZgoxm9YA02COmDOiNJEZ59WkQggDbWZ4t/giHi/3GS+cvdrP6gbLISANAGYA== elliptic@^6.5.3: version "6.5.4" @@ -3568,13 +3309,6 @@ encodeurl@~1.0.2: resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= -encoding@^0.1.11: - version "0.1.12" - resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" - integrity sha1-U4tm8+5izRq1HsMjgp0flIDHS+s= - dependencies: - iconv-lite "~0.4.13" - end-of-stream@^1.0.0, end-of-stream@^1.1.0: version "1.4.1" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" @@ -3582,42 +3316,33 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0: dependencies: once "^1.4.0" -enhanced-resolve@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz#41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f" - integrity sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng== - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.4.0" - tapable "^1.0.0" - -enhanced-resolve@^4.1.1, enhanced-resolve@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz#3b806f3bfafc1ec7de69551ef93cca46c1704126" - integrity sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ== +enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.1, enhanced-resolve@^4.3.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" + integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== dependencies: graceful-fs "^4.1.2" memory-fs "^0.5.0" tapable "^1.0.0" -entities@1.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-1.0.0.tgz#b2987aa3821347fcde642b24fdfc9e4fb712bf26" - integrity sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY= +entities@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== -entities@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" - integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== +env-paths@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" + integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== errno@^0.1.3, errno@~0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" - integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== + version "0.1.8" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" + integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== dependencies: prr "~1.0.1" -error-ex@^1.2.0, error-ex@^1.3.1: +error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== @@ -3631,22 +3356,32 @@ error-stack-parser@^1.3.6: dependencies: stackframe "^0.3.1" -es-abstract@^1.5.1: - version "1.13.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" - integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg== +es-abstract@^1.18.0-next.2: + version "1.18.3" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.3.tgz#25c4c3380a27aa203c44b2b685bba94da31b63e0" + integrity sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw== dependencies: - es-to-primitive "^1.2.0" + call-bind "^1.0.2" + es-to-primitive "^1.2.1" function-bind "^1.1.1" + get-intrinsic "^1.1.1" has "^1.0.3" - is-callable "^1.1.4" - is-regex "^1.0.4" - object-keys "^1.0.12" - -es-to-primitive@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" - integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== + has-symbols "^1.0.2" + is-callable "^1.2.3" + is-negative-zero "^2.0.1" + is-regex "^1.1.3" + is-string "^1.0.6" + object-inspect "^1.10.3" + object-keys "^1.1.1" + object.assign "^4.1.2" + string.prototype.trimend "^1.0.4" + string.prototype.trimstart "^1.0.4" + unbox-primitive "^1.0.1" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== dependencies: is-callable "^1.1.4" is-date-object "^1.0.1" @@ -3672,12 +3407,17 @@ escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + escodegen@^1.9.1: - version "1.12.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.12.0.tgz#f763daf840af172bb3a2b6dd7219c0e17f7ff541" - integrity sha512-TuA+EhsanGcme5T3R0L80u4t8CpbXQjegRmf7+FPTJrtCTErXFeelblRgHQa1FofEzqYYJmJ/OqjTwREp9qgmg== + version "1.14.3" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" + integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== dependencies: - esprima "^3.1.3" + esprima "^4.0.1" estraverse "^4.2.0" esutils "^2.0.2" optionator "^0.8.1" @@ -3700,17 +3440,7 @@ eslint-scope@^4.0.3: esrecurse "^4.1.0" estraverse "^4.1.1" -esprima@^2.6.0: - version "2.7.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" - integrity sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE= - -esprima@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" - integrity sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM= - -esprima@^4.0.0: +esprima@^4.0.0, esprima@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== @@ -3722,11 +3452,6 @@ esrecurse@^4.1.0: dependencies: estraverse "^5.2.0" -estraverse@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" - integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM= - estraverse@^4.1.1, estraverse@^4.2.0: version "4.3.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" @@ -3737,7 +3462,7 @@ estraverse@^5.2.0: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== -esutils@^2.0.0, esutils@^2.0.2: +esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== @@ -3753,14 +3478,14 @@ eventemitter3@^4.0.0, eventemitter3@^4.0.4: integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== events@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.2.0.tgz#93b87c18f8efcd4202a461aec4dfc0556b639379" - integrity sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg== + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== eventsource@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.0.7.tgz#8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0" - integrity sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ== + version "1.1.0" + resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.1.0.tgz#00e8ca7c92109e94b0ddf32dac677d841028cfaf" + integrity sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg== dependencies: original "^1.0.0" @@ -3773,9 +3498,9 @@ evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: safe-buffer "^5.1.1" exec-sh@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.2.tgz#6738de2eb7c8e671d0366aea0b0db8c6f7d7391b" - integrity sha512-9sLAvzhI5nc8TpuQUh4ahMdCrWT00wPWz7j47/emR5+2qEfoZP5zzUXvx+vdx+H6ohhnsYC31iX04QLYJK8zTg== + version "0.3.6" + resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.6.tgz#ff264f9e325519a60cb5e273692943483cca63bc" + integrity sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w== execa@^1.0.0: version "1.0.0" @@ -3790,12 +3515,7 @@ execa@^1.0.0: signal-exit "^3.0.0" strip-eof "^1.0.0" -exenv@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/exenv/-/exenv-1.2.2.tgz#2ae78e85d9894158670b03d47bec1f03bd91bb9d" - integrity sha1-KueOhdmJQVhnCwPUe+wfA72Ru50= - -exit@^0.1.2, exit@~0.1.2: +exit@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= @@ -3902,31 +3622,16 @@ extglob@^2.0.4: snapdragon "^0.8.1" to-regex "^3.0.1" -extsprintf@1.3.0: +extsprintf@1.3.0, extsprintf@^1.2.0: version "1.3.0" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= - -eyes@0.1.x: - version "0.1.8" - resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0" - integrity sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A= - fast-deep-equal@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614" integrity sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ= -fast-deep-equal@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" - integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= - fast-deep-equal@^3.1.1: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -3938,16 +3643,15 @@ fast-diff@^1.1.1: integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== fast-glob@^3.1.1, fast-glob@^3.2.4: - version "3.2.4" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.4.tgz#d20aefbf99579383e7f3cc66529158c9b98554d3" - integrity sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ== + version "3.2.7" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" + integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.0" + glob-parent "^5.1.2" merge2 "^1.3.0" - micromatch "^4.0.2" - picomatch "^2.2.1" + micromatch "^4.0.4" fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: version "2.0.0" @@ -3960,19 +3664,19 @@ fast-levenshtein@~2.0.6: integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= fast-safe-stringify@^2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz#124aa885899261f68aedb42a7c080de9da608743" - integrity sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA== + version "2.0.8" + resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.0.8.tgz#dc2af48c46cf712b683e849b2bbd446b32de936f" + integrity sha512-lXatBjf3WPjmWD6DpIZxkeSsCOwqI0maYMpgDlx8g4U2qi4lbjA9oH/HD2a87G+KfsUmo5WbJFmqBZlPxtptag== -fastparse@^1.1.1: +fastparse@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9" integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ== fastq@^1.6.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.8.0.tgz#550e1f9f59bbc65fe185cb6a9b4d95357107f481" - integrity sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q== + version "1.11.1" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.11.1.tgz#5d8175aae17db61947f8b162cfc7f63264d22807" + integrity sha512-HOnr8Mc60eNYl1gzwp6r5RoUyAn5/glBolUzP/Ez6IFVPMPirxn/9phgL6zhOtaTy7ISwPvQ+wT+hfcRZh/bzw== dependencies: reusify "^1.0.4" @@ -3984,31 +3688,18 @@ faye-websocket@^0.10.0: websocket-driver ">=0.5.1" faye-websocket@~0.11.1: - version "0.11.3" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e" - integrity sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA== + version "0.11.4" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" + integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== dependencies: websocket-driver ">=0.5.1" fb-watchman@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58" - integrity sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg= - dependencies: - bser "^2.0.0" - -fbjs@^0.8.1: - version "0.8.17" - resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd" - integrity sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90= + version "2.0.1" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" + integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== dependencies: - core-js "^1.0.0" - isomorphic-fetch "^2.1.1" - loose-envify "^1.0.0" - object-assign "^4.1.0" - promise "^7.1.1" - setimmediate "^1.0.5" - ua-parser-js "^0.7.18" + bser "2.1.1" fd-slicer@~1.1.0: version "1.1.0" @@ -4022,6 +3713,11 @@ figgy-pudding@^3.5.1: resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== + fill-range@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" @@ -4039,6 +3735,11 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" +filter-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b" + integrity sha1-mzERErxsYSehbgFsbF1/GeCAXFs= + finalhandler@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" @@ -4070,14 +3771,6 @@ find-cache-dir@^3.3.1: make-dir "^3.0.2" pkg-dir "^4.1.0" -find-up@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" - find-up@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" @@ -4112,9 +3805,9 @@ flush-write-stream@^1.0.0: readable-stream "^2.3.6" follow-redirects@^1.0.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.0.tgz#b42e8d93a2a7eea5ed88633676d6597bc8e384db" - integrity sha512-aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA== + version "1.14.1" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.1.tgz#d9114ded0a1cfdd334e164e6662ad02bfd91ff43" + integrity sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg== for-in@^0.1.3: version "0.1.8" @@ -4143,16 +3836,7 @@ forever-agent@~0.6.1: resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= -form-data@^2.3.1: - version "2.5.0" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.5.0.tgz#094ec359dc4b55e7d62e0db4acd76e89fe874d37" - integrity sha512-WXieX3G/8side6VIqx44ablyULoGruSde5PNTxoUyo5CeyAMX6nVWUd0rgist/EuX655cjhUhTo1Fo3tRYqbcA== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -form-data@~2.3.2: +form-data@^2.3.1, form-data@~2.3.2: version "2.3.3" resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== @@ -4167,14 +3851,14 @@ format-util@^1.0.3: integrity sha512-varLbTj0e0yVyRpqQhuWV+8hlePAgaoFRhNFj50BNjEIrw1/DphHSObtqwskVCPWNgzwPoQrZAbfa/SBiicNeg== formidable@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/formidable/-/formidable-1.2.1.tgz#70fb7ca0290ee6ff961090415f4b3df3d2082659" - integrity sha512-Fs9VRguL0gqGHkXS5GQiMCr1VhZBxz0JnJs4JmMp/2jL18Fmbzvv7vOFRU+U8TBkHEE/CX1qDXzJplVULgsLeg== + version "1.2.2" + resolved "https://registry.yarnpkg.com/formidable/-/formidable-1.2.2.tgz#bf69aea2972982675f00865342b982986f6b8dd9" + integrity sha512-V8gLm+41I/8kguQ4/o1D3RIHRmhYFG4pnNyonvua+40rqcEmT4+V71yaZ3B457xbbgCsCfjSPi65u/W6vK1U5Q== -forwarded@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" - integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== foundation-sites@^6.4.3: version "6.5.3" @@ -4201,13 +3885,6 @@ from2@^2.1.0: inherits "^2.0.1" readable-stream "^2.0.0" -fs-minipass@^1.2.5: - version "1.2.7" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" - integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA== - dependencies: - minipass "^2.6.0" - fs-minipass@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" @@ -4231,27 +3908,17 @@ fs.realpath@^1.0.0: integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= fsevents@^1.2.7: - version "1.2.9" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.9.tgz#3f5ed66583ccd6f400b5a00db6f7e861363e388f" - integrity sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw== + version "1.2.13" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" + integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== dependencies: + bindings "^1.5.0" nan "^2.12.1" - node-pre-gyp "^0.12.0" - -fsevents@~2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" - integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== -fstream@^1.0.0, fstream@^1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" - integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg== - dependencies: - graceful-fs "^4.1.2" - inherits "~2.0.0" - mkdirp ">=0.5 0" - rimraf "2" +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== function-bind@^1.1.1: version "1.1.1" @@ -4286,11 +3953,20 @@ generic-names@^1.0.3: dependencies: loader-utils "^0.2.16" -get-caller-file@^2.0.1: +get-caller-file@^2.0.1, get-caller-file@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== +get-intrinsic@^1.0.2, get-intrinsic@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" + integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + get-stdin@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" @@ -4316,12 +3992,12 @@ getpass@^0.1.1: assert-plus "^1.0.0" git-up@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/git-up/-/git-up-4.0.1.tgz#cb2ef086653640e721d2042fe3104857d89007c0" - integrity sha512-LFTZZrBlrCrGCG07/dm1aCjjpL1z9L3+5aEeI9SBhAqSc+kiA9Or1bgZhQFNppJX6h/f5McrvJt1mQXTFm6Qrw== + version "4.0.5" + resolved "https://registry.yarnpkg.com/git-up/-/git-up-4.0.5.tgz#e7bb70981a37ea2fb8fe049669800a1f9a01d759" + integrity sha512-YUvVDg/vX3d0syBsk/CKUTib0srcQME0JyHkL5BaYdwLsiCslPWmDSi8PUMo9pXYjrryMcmsCoCgsTpSCJEQaA== dependencies: is-ssh "^1.3.0" - parse-url "^5.0.0" + parse-url "^6.0.0" git-url-parse@^11.1.2: version "11.1.2" @@ -4338,25 +4014,14 @@ glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" -glob-parent@^5.1.0, glob-parent@^5.1.1, glob-parent@~5.1.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" - integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== +glob-parent@^5.1.1, glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" -glob@^5.0.1: - version "5.0.15" - resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" - integrity sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E= - dependencies: - inflight "^1.0.4" - inherits "2" - minimatch "2 || 3" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@~7.1.1: +glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@~7.1.1: version "7.1.6" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== @@ -4418,9 +4083,9 @@ globals@^11.1.0: integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globby@^11.0.1: - version "11.0.1" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357" - integrity sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ== + version "11.0.4" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" + integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== dependencies: array-union "^2.1.0" dir-glob "^3.0.1" @@ -4441,28 +4106,23 @@ globby@^6.1.0: pinkie-promise "^2.0.0" globule@^1.0.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/globule/-/globule-1.2.1.tgz#5dffb1b191f22d20797a9369b49eab4e9839696d" - integrity sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ== + version "1.3.2" + resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.2.tgz#d8bdd9e9e4eef8f96e245999a5dee7eb5d8529c4" + integrity sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA== dependencies: glob "~7.1.1" lodash "~4.17.10" minimatch "~3.0.2" -graceful-fs@^4.1.11, graceful-fs@^4.1.2: - version "4.2.3" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" - integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== - -graceful-fs@^4.1.15: +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2: version "4.2.0" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.0.tgz#8d8fdc73977cb04104721cb53666c1ca64cd328b" integrity sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg== -"graceful-readlink@>= 1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" - integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU= +graceful-fs@^4.2.3: + version "4.2.6" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" + integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== grapheme-splitter@^1.0.4: version "1.0.4" @@ -4470,11 +4130,11 @@ grapheme-splitter@^1.0.4: integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== graphlib@^2.1.7: - version "2.1.7" - resolved "https://registry.yarnpkg.com/graphlib/-/graphlib-2.1.7.tgz#b6a69f9f44bd9de3963ce6804a2fc9e73d86aecc" - integrity sha512-TyI9jIy2J4j0qgPmOOrHTCtpPqJGN/aurBwc6ZT+bRii+di1I+Wv3obRhVrmBEXet+qkMaEX67dXrwsd3QQM6w== + version "2.1.8" + resolved "https://registry.yarnpkg.com/graphlib/-/graphlib-2.1.8.tgz#5761d414737870084c92ec7b5dbcb0592c9d35da" + integrity sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A== dependencies: - lodash "^4.17.5" + lodash "^4.17.15" growly@^1.3.0: version "1.3.0" @@ -4486,35 +4146,28 @@ handle-thing@^2.0.0: resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== -handlebars@^4.1.2: - version "4.7.7" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" - integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== - dependencies: - minimist "^1.2.5" - neo-async "^2.6.0" - source-map "^0.6.1" - wordwrap "^1.0.0" - optionalDependencies: - uglify-js "^3.1.4" - har-schema@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= -har-validator@~5.1.0: - version "5.1.3" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" - integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== +har-validator@~5.1.0, har-validator@~5.1.3: + version "5.1.5" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== dependencies: - ajv "^6.5.5" + ajv "^6.12.3" har-schema "^2.0.0" +hard-rejection@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" + integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== + harmony-reflect@^1.4.6: - version "1.6.1" - resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.1.tgz#c108d4f2bb451efef7a37861fdbdae72c9bdefa9" - integrity sha512-WJTeyp0JzGtHcuMsi7rw2VwtkvLa+JyfEKJCFyfcS0+CDkjQ5lHPu7zEhFZP+PDSRrEgXa5Ah0l1MbgbE41XjA== + version "1.6.2" + resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.2.tgz#31ecbd32e648a34d030d86adb67d4d47547fe710" + integrity sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g== has-ansi@^2.0.0: version "2.0.0" @@ -4523,10 +4176,10 @@ has-ansi@^2.0.0: dependencies: ansi-regex "^2.0.0" -has-color@~0.1.0: - version "0.1.7" - resolved "https://registry.yarnpkg.com/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f" - integrity sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8= +has-bigints@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" + integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== has-flag@^1.0.0: version "1.0.0" @@ -4538,10 +4191,15 @@ has-flag@^3.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= -has-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" - integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-symbols@^1.0.1, has-symbols@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" + integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== has-unicode@^2.0.0: version "2.0.1" @@ -4579,7 +4237,7 @@ has-values@^1.0.0: is-number "^3.0.0" kind-of "^4.0.0" -has@^1.0.1, has@^1.0.3: +has@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== @@ -4609,16 +4267,16 @@ he@1.2.x: integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== history@^4.7.2: - version "4.9.0" - resolved "https://registry.yarnpkg.com/history/-/history-4.9.0.tgz#84587c2068039ead8af769e9d6a6860a14fa1bca" - integrity sha512-H2DkjCjXf0Op9OAr6nJ56fcRkTSNrUiv41vNJ6IswJjif6wlpZK0BTfFbi7qK9dXLSYZxkq5lBsj3vUjlYBYZA== + version "4.10.1" + resolved "https://registry.yarnpkg.com/history/-/history-4.10.1.tgz#33371a65e3a83b267434e2b3f3b1b4c58aad4cf3" + integrity sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew== dependencies: "@babel/runtime" "^7.1.2" loose-envify "^1.2.0" - resolve-pathname "^2.2.0" + resolve-pathname "^3.0.0" tiny-invariant "^1.0.2" tiny-warning "^1.0.0" - value-equal "^0.4.0" + value-equal "^1.0.1" hmac-drbg@^1.0.1: version "1.0.1" @@ -4629,15 +4287,15 @@ hmac-drbg@^1.0.1: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" -hoist-non-react-statics@^2.3.1, hoist-non-react-statics@^2.5.0: +hoist-non-react-statics@^2.5.0: version "2.5.5" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz#c5903cf409c0dfd908f388e619d86b9c1174cb47" integrity sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw== -hoist-non-react-statics@^3.1.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz#b09178f0122184fb95acf525daaecb4d8f45958b" - integrity sha512-0XsbTXxgiaCDYDIWFcwkmerZPSwywfUqYmwT4jzewKTQSWoE6FCMoUVOeBJWK3E/CrWbxRG3m5GzY4lnIwGRBA== +hoist-non-react-statics@^3.3.0: + version "3.3.2" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" + integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== dependencies: react-is "^16.7.0" @@ -4653,6 +4311,13 @@ hosted-git-info@^2.1.4: resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== +hosted-git-info@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.0.2.tgz#5e425507eede4fea846b7262f0838456c4209961" + integrity sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg== + dependencies: + lru-cache "^6.0.0" + hpack.js@^2.1.6: version "2.1.6" resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" @@ -4671,9 +4336,14 @@ html-encoding-sniffer@^1.0.2: whatwg-encoding "^1.0.1" html-entities@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.3.1.tgz#fb9a1a4b5b14c5daba82d3e34c6ae4fe701a0e44" - integrity sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA== + version "1.4.0" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.4.0.tgz#cfbd1b01d2afaf9adca1b10ae7dffab98c71d2dc" + integrity sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA== + +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== html-minifier@^3.2.3: version "3.5.21" @@ -4701,35 +4371,22 @@ html-webpack-plugin@^3.2.0: toposort "^1.0.0" util.promisify "1.0.0" -htmlparser2@3.8.3: - version "3.8.3" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.8.3.tgz#996c28b191516a8be86501a7d79757e5c70c1068" - integrity sha1-mWwosZFRaovoZQGn15dX5ccMEGg= - dependencies: - domelementtype "1" - domhandler "2.3" - domutils "1.5" - entities "1.0" - readable-stream "1.1" - -htmlparser2@^3.3.0: - version "3.10.1" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" - integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== - dependencies: - domelementtype "^1.3.1" - domhandler "^2.3.0" - domutils "^1.5.1" - entities "^1.1.1" - inherits "^2.0.1" - readable-stream "^3.1.1" +htmlparser2@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" + integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.0.0" + domutils "^2.5.2" + entities "^2.0.0" http-deceiver@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= -http-errors@1.7.2: +http-errors@1.7.2, http-errors@~1.7.2: version "1.7.2" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== @@ -4750,22 +4407,6 @@ http-errors@~1.6.2: setprototypeof "1.1.0" statuses ">= 1.4.0 < 2" -http-errors@~1.7.2: - version "1.7.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" - integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== - dependencies: - depd "~1.1.2" - inherits "2.0.4" - setprototypeof "1.1.1" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" - -http-parser-js@>=0.5.1: - version "0.5.2" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.2.tgz#da2e31d237b393aae72ace43882dd7e270a8ff77" - integrity sha512-opCO9ASqg5Wy2FNo7A0sxy71yGbbkJJXLdgMK04Tcypw9jr2MgWbyubb0+WdmDmGnFflO7fRbqbaihh/ENDlRQ== - http-proxy-agent@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" @@ -4821,12 +4462,7 @@ https-proxy-agent@^4.0.0: agent-base "5" debug "4" -i@0.3.x: - version "0.3.6" - resolved "https://registry.yarnpkg.com/i/-/i-0.3.6.tgz#d96c92732076f072711b6b10fd7d4f65ad8ee23d" - integrity sha1-2WyScyB28HJxG2sQ/X1PZa2O4j0= - -iconv-lite@0.4.24, iconv-lite@^0.4.4, iconv-lite@~0.4.13: +iconv-lite@0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== @@ -4846,16 +4482,16 @@ identity-obj-proxy@^3.0.0: harmony-reflect "^1.4.6" ieee754@^1.1.4: - version "1.1.13" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" - integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== iferr@^0.1.5: version "0.1.5" resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= -ignore-walk@3.0.3, ignore-walk@^3.0.1: +ignore-walk@3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37" integrity sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw== @@ -4894,18 +4530,6 @@ imurmurhash@^0.1.4: resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= -in-publish@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.0.tgz#e20ff5e3a2afc2690320b6dc552682a9c7fadf51" - integrity sha1-4g/146KvwmkDILbcVSaCqcf631E= - -indent-string@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" - integrity sha1-ji1INIdCEhtKghi3oTfppSBJ3IA= - dependencies: - repeating "^2.0.0" - indent-string@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" @@ -4924,12 +4548,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherit@^2.2.2: - version "2.2.7" - resolved "https://registry.yarnpkg.com/inherit/-/inherit-2.2.7.tgz#4e238e289bc7adddf8ff5053d0f26a2fcda94b9f" - integrity sha512-dxJmC1j0Q32NFAjvbd6g3lXYLZ49HgzotgbSMwMkoiTXGhC9412Oc24g7A7M9cPPkw/vDsF2cSII+2zJwocUtQ== - -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -4944,10 +4563,10 @@ inherits@2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= -ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: - version "1.3.7" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.7.tgz#a09363e1911972ea16d7a8851005d84cf09a9a84" - integrity sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ== +ini@^1.3.4, ini@^1.3.5: + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== internal-ip@^4.3.0: version "4.3.0" @@ -5003,6 +4622,13 @@ is-accessor-descriptor@^1.0.0: dependencies: kind-of "^6.0.0" +is-arguments@^1.0.4: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.0.tgz#62353031dfbee07ceb34656a6bde59efecae8dd9" + integrity sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg== + dependencies: + call-bind "^1.0.0" + is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" @@ -5013,6 +4639,11 @@ is-arrayish@^0.3.1: resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== +is-bigint@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.2.tgz#ffb381442503235ad245ea89e45b3dbff040ee5a" + integrity sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA== + is-binary-path@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" @@ -5027,15 +4658,22 @@ is-binary-path@~2.1.0: dependencies: binary-extensions "^2.0.0" +is-boolean-object@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.1.tgz#3c0878f035cb821228d350d2e1e36719716a3de8" + integrity sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng== + dependencies: + call-bind "^1.0.2" + is-buffer@^1.1.5, is-buffer@~1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== -is-callable@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" - integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== +is-callable@^1.1.4, is-callable@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e" + integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ== is-ci@^2.0.0: version "2.0.0" @@ -5044,6 +4682,13 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" +is-core-module@^2.2.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.4.0.tgz#8e9fc8e15027b011418026e98f0e6f4d86305cc1" + integrity sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A== + dependencies: + has "^1.0.3" + is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" @@ -5059,9 +4704,9 @@ is-data-descriptor@^1.0.0: kind-of "^6.0.0" is-date-object@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" - integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.4.tgz#550cfcc03afada05eea3dd30981c7b09551f73e5" + integrity sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A== is-descriptor@^0.1.0: version "0.1.6" @@ -5103,13 +4748,6 @@ is-extglob@^2.1.0, is-extglob@^2.1.1: resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= -is-finite@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" - integrity sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko= - dependencies: - number-is-nan "^1.0.0" - is-fullwidth-code-point@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" @@ -5146,6 +4784,16 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: dependencies: is-extglob "^2.1.1" +is-negative-zero@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" + integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== + +is-number-object@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.5.tgz#6edfaeed7950cff19afedce9fbfca9ee6dd289eb" + integrity sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw== + is-number@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" @@ -5177,6 +4825,11 @@ is-path-inside@^2.1.0: dependencies: path-is-inside "^1.0.2" +is-plain-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= + is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" @@ -5184,42 +4837,43 @@ is-plain-object@^2.0.3, is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" -is-regex@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" - integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= +is-regex@^1.0.4, is-regex@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.3.tgz#d029f9aff6448b93ebbe3f33dac71511fdcbef9f" + integrity sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ== dependencies: - has "^1.0.1" + call-bind "^1.0.2" + has-symbols "^1.0.2" is-ssh@^1.3.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.3.1.tgz#f349a8cadd24e65298037a522cf7520f2e81a0f3" - integrity sha512-0eRIASHZt1E68/ixClI8bp2YK2wmBPVWEismTs6M+M099jKgrzl/3E976zIbImSIob48N2/XGe9y7ZiYdImSlg== + version "1.3.3" + resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.3.3.tgz#7f133285ccd7f2c2c7fc897b771b53d95a2b2c7e" + integrity sha512-NKzJmQzJfEEma3w5cJNcUMxoXfDjz0Zj0eyCalHn2E6VOwlzjZo0yuO2fcBSf8zhFuVCL/82/r5gRcoi6aEPVQ== dependencies: protocols "^1.1.0" -is-stream@^1.0.1, is-stream@^1.1.0: +is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= -is-symbol@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" - integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== +is-string@^1.0.5, is-string@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.6.tgz#3fe5d5992fb0d93404f32584d4b0179a71b54a5f" + integrity sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w== + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== dependencies: - has-symbols "^1.0.0" + has-symbols "^1.0.2" is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= -is-utf8@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= - is-windows@^1.0.1, is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" @@ -5257,15 +4911,7 @@ isobject@^3.0.0, isobject@^3.0.1: resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= -isomorphic-fetch@^2.1.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" - integrity sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk= - dependencies: - node-fetch "^1.0.1" - whatwg-fetch ">=0.10.0" - -isstream@0.1.x, isstream@~0.1.2: +isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= @@ -5309,11 +4955,11 @@ istanbul-lib-source-maps@^3.0.1: source-map "^0.6.1" istanbul-reports@^2.2.6: - version "2.2.6" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.6.tgz#7b4f2660d82b29303a8fe6091f8ca4bf058da1af" - integrity sha512-SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA== + version "2.2.7" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.7.tgz#5d939f6237d7b48393cc0959eab40cd4fd056931" + integrity sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg== dependencies: - handlebars "^4.1.2" + html-escaper "^2.0.0" jest-changed-files@^24.9.0: version "24.9.0" @@ -5366,6 +5012,16 @@ jest-config@^24.9.0: pretty-format "^24.9.0" realpath-native "^1.1.0" +jest-diff@*: + version "27.0.6" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.0.6.tgz#4a7a19ee6f04ad70e0e3388f35829394a44c7b5e" + integrity sha512-Z1mqgkTCSYaFgwTlP/NUiRzdqgxmmhzHY1Tq17zL94morOHfHu3K4bgSgl+CR4GLhpV8VxkuOYuIWnQ9LnFqmg== + dependencies: + chalk "^4.0.0" + diff-sequences "^27.0.6" + jest-get-type "^27.0.6" + pretty-format "^27.0.6" + jest-diff@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.9.0.tgz#931b7d0d5778a1baf7452cb816e325e3724055da" @@ -5382,9 +5038,9 @@ jest-docblock@^21.0.0: integrity sha512-5IZ7sY9dBAYSV+YjQ0Ovb540Ku7AO9Z5o2Cg789xj167iQuZ2cG+z0f3Uct6WeYLbU6aQiM2pCs7sZ+4dotydw== jest-docblock@^24.3.0: - version "24.3.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.3.0.tgz#b9c32dac70f72e4464520d2ba4aec02ab14db5dd" - integrity sha512-nlANmF9Yq1dufhFlKG9rasfQlrY7wINJbo3q01tu56Jv5eBU5jirylhF2O5ZBnLxzOVBGRDz/9NAwNyBtG4Nyg== + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.9.0.tgz#7970201802ba560e1c4092cc25cbedf5af5a8ce2" + integrity sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA== dependencies: detect-newline "^2.1.0" @@ -5422,16 +5078,16 @@ jest-environment-node@^24.9.0: jest-mock "^24.9.0" jest-util "^24.9.0" -jest-get-type@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.8.0.tgz#a7440de30b651f5a70ea3ed7ff073a32dfe646fc" - integrity sha512-RR4fo8jEmMD9zSz2nLbs2j0zvPpk/KCEz3a62jJWbd2ayNo0cb+KFRxPHVhE4ZmgGJEQp0fosmNz84IfqM8cMQ== - jest-get-type@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e" integrity sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q== +jest-get-type@^27.0.6: + version "27.0.6" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.0.6.tgz#0eb5c7f755854279ce9b68a9f1a4122f69047cfe" + integrity sha512-XTkK5exIeUbbveehcSR8w0bhH+c0yloW/Wpl+9vZrjzztCPWrxhHwkIFpZzCt71oRBsgxmuUfxEqOYoZI2macg== + jest-haste-map@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.9.0.tgz#b38a5d64274934e21fa417ae9a9fbeb77ceaac7d" @@ -5523,16 +5179,11 @@ jest-mock@^24.9.0: "@jest/types" "^24.9.0" jest-pnp-resolver@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz#ecdae604c077a7fbc70defb6d517c3c1c898923a" - integrity sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ== - -jest-regex-util@^24.3.0: - version "24.3.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.3.0.tgz#d5a65f60be1ae3e310d5214a0307581995227b36" - integrity sha512-tXQR1NEOyGlfylyEjg1ImtScwMq8Oh3iJbGTjN7p0J23EuVX1MA8rwU69K4sLbCmwzgCUbVkm0FkSF9TdzOhtg== + version "1.2.2" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" + integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== -jest-regex-util@^24.9.0: +jest-regex-util@^24.3.0, jest-regex-util@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.9.0.tgz#c13fb3380bde22bf6575432c493ea8fe37965636" integrity sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA== @@ -5665,19 +5316,7 @@ jest-util@^24.9.0: slash "^2.0.0" source-map "^0.6.0" -jest-validate@^24.0.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-24.8.0.tgz#624c41533e6dfe356ffadc6e2423a35c2d3b4849" - integrity sha512-+/N7VOEMW1Vzsrk3UWBDYTExTPwf68tavEPKDnJzrC6UlHtUDU/fuEdXqFoHzv9XnQ+zW6X3qMZhJ3YexfeLDA== - dependencies: - "@jest/types" "^24.8.0" - camelcase "^5.0.0" - chalk "^2.0.1" - jest-get-type "^24.8.0" - leven "^2.1.0" - pretty-format "^24.8.0" - -jest-validate@^24.9.0: +jest-validate@^24.0.0, jest-validate@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-24.9.0.tgz#0775c55360d173cd854e40180756d4ff52def8ab" integrity sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ== @@ -5702,15 +5341,7 @@ jest-watcher@^24.9.0: jest-util "^24.9.0" string-length "^2.0.0" -jest-worker@^24.6.0: - version "24.6.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.6.0.tgz#7f81ceae34b7cde0c9827a6980c35b7cdc0161b3" - integrity sha512-jDwgW5W9qGNvpI1tNnvajh0a5IE/PuGLFmHk6aR/BZFz8tSgGw17GsDPXAJ6p91IvYDjOw8GpFbvvZGAK+DPQQ== - dependencies: - merge-stream "^1.0.1" - supports-color "^6.1.0" - -jest-worker@^24.9.0: +jest-worker@^24.6.0, jest-worker@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== @@ -5727,9 +5358,9 @@ jest@^24.9.0: jest-cli "^24.9.0" js-base64@^2.1.8: - version "2.5.1" - resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.1.tgz#1efa39ef2c5f7980bb1784ade4a8af2de3291121" - integrity sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw== + version "2.6.4" + resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4" + integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ== js-levenshtein@^1.1.3: version "1.1.6" @@ -5741,7 +5372,7 @@ js-levenshtein@^1.1.3: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@3.13.1, js-yaml@^3.13.1, js-yaml@^3.9.0: +js-yaml@3.13.1, js-yaml@^3.12.1, js-yaml@^3.13.1, js-yaml@^3.9.0: version "3.13.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== @@ -5749,80 +5380,11 @@ js-yaml@3.13.1, js-yaml@^3.13.1, js-yaml@^3.9.0: argparse "^1.0.7" esprima "^4.0.0" -js-yaml@^3.12.1: - version "3.14.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" - integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -js-yaml@~3.4.0: - version "3.4.6" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.4.6.tgz#6be1b23f6249f53d293370fd4d1aaa63ce1b4eb0" - integrity sha1-a+GyP2JJ9T0pM3D9TRqqY84bTrA= - dependencies: - argparse "^1.0.2" - esprima "^2.6.0" - inherit "^2.2.2" - jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= -jscs-jsdoc@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/jscs-jsdoc/-/jscs-jsdoc-2.0.0.tgz#f53ebce029aa3125bd88290ba50d64d4510a4871" - integrity sha1-9T684CmqMSW9iCkLpQ1k1FEKSHE= - dependencies: - comment-parser "^0.3.1" - jsdoctypeparser "~1.2.0" - -jscs-preset-wikimedia@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/jscs-preset-wikimedia/-/jscs-preset-wikimedia-1.0.1.tgz#a6a5fa5967fd67a5d609038e1c794eaf41d4233d" - integrity sha512-RWqu6IYSUlnYuCRCF0obCOHjJV0vhpLcvKbauwxmLQoZ0PiXDTWBYlfpsEfdhg7pmREAEwrARfDRz5qWD6qknA== - -jscs@^3.0.7: - version "3.0.7" - resolved "https://registry.yarnpkg.com/jscs/-/jscs-3.0.7.tgz#7141b4dff5b86e32d0e99d764b836767c30d201a" - integrity sha1-cUG03/W4bjLQ6Z12S4NnZ8MNIBo= - dependencies: - chalk "~1.1.0" - cli-table "~0.3.1" - commander "~2.9.0" - cst "^0.4.3" - estraverse "^4.1.0" - exit "~0.1.2" - glob "^5.0.1" - htmlparser2 "3.8.3" - js-yaml "~3.4.0" - jscs-jsdoc "^2.0.0" - jscs-preset-wikimedia "~1.0.0" - jsonlint "~1.6.2" - lodash "~3.10.0" - minimatch "~3.0.0" - natural-compare "~1.2.2" - pathval "~0.1.1" - prompt "~0.2.14" - reserved-words "^0.1.1" - resolve "^1.1.6" - strip-bom "^2.0.0" - strip-json-comments "~1.0.2" - to-double-quotes "^2.0.0" - to-single-quotes "^2.0.0" - vow "~0.4.8" - vow-fs "~0.3.4" - xmlbuilder "^3.1.0" - -jsdoctypeparser@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/jsdoctypeparser/-/jsdoctypeparser-1.2.0.tgz#e7dedc153a11849ffc5141144ae86a7ef0c25392" - integrity sha1-597cFToRhJ/8UUEUSuhqfvDCU5I= - dependencies: - lodash "^3.7.0" - jsdom@^11.5.1: version "11.12.0" resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8" @@ -5877,7 +5439,12 @@ json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== -json-pointer@^0.6.0: +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-pointer@^0.6.0, json-pointer@^0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/json-pointer/-/json-pointer-0.6.1.tgz#3c6caa6ac139e2599f5a1659d39852154015054d" integrity sha512-3OvjqKdCBvH41DLpV4iSt6v2XhZXV1bPB4OROuknvUXI7ZQNofieCPkmE26stEJ9zdQuvIxDHCuYhfgxFAAs+Q== @@ -5926,12 +5493,12 @@ json3@^3.3.2: resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA== -json5@2.x: - version "2.1.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.1.tgz#81b6cb04e9ba496f1c7005d07b4368a2638f90b6" - integrity sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ== +json5@2.x, json5@^2.1.0, json5@^2.1.2: + version "2.2.0" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" + integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== dependencies: - minimist "^1.2.0" + minimist "^1.2.5" json5@^0.5.0: version "0.5.1" @@ -5945,28 +5512,6 @@ json5@^1.0.1: dependencies: minimist "^1.2.0" -json5@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz#e7a0c62c48285c628d20a10b85c89bb807c32850" - integrity sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ== - dependencies: - minimist "^1.2.0" - -json5@^2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" - integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== - dependencies: - minimist "^1.2.5" - -jsonlint@~1.6.2: - version "1.6.3" - resolved "https://registry.yarnpkg.com/jsonlint/-/jsonlint-1.6.3.tgz#cb5e31efc0b78291d0d862fbef05900adf212988" - integrity sha512-jMVTMzP+7gU/IyC6hvKyWpUU8tmTkK5b3BPNuMI9U8Sit+YAWLlZwB6Y6YrdCxfg2kNz05p3XY3Bmm4m26Nv3A== - dependencies: - JSV "^4.0.x" - nomnom "^1.5.x" - jsonpointer@^4.0.1: version "4.1.0" resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.1.0.tgz#501fb89986a2389765ba09e6053299ceb4f2c2cc" @@ -6006,12 +5551,12 @@ kind-of@^5.0.0: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== -kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" - integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== +kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== -kleur@^3.0.2: +kleur@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== @@ -6021,11 +5566,6 @@ left-pad@^1.3.0: resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" integrity sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA== -leven@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" - integrity sha1-wuep93IJTe6dNCAq6KzORoeHVYA= - leven@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" @@ -6042,18 +5582,7 @@ levn@~0.3.0: lines-and-columns@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" - integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= - -load-json-file@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" - integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA= - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= load-json-file@^4.0.0: version "4.0.0" @@ -6080,7 +5609,7 @@ loader-utils@^0.2.16: json5 "^0.5.0" object-assign "^4.0.1" -loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1.0: +loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA== @@ -6089,7 +5618,7 @@ loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1.0: emojis-list "^2.0.0" json5 "^1.0.1" -loader-utils@^1.2.3, loader-utils@^1.4.0: +loader-utils@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== @@ -6123,9 +5652,9 @@ locate-path@^5.0.0: p-locate "^4.1.0" lodash-es@^4.2.1: - version "4.17.15" - resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.15.tgz#21bd96839354412f23d7a10340e5eac6ee455d78" - integrity sha512-rlrc3yU3+JNOpZ9zj5pQtxnx2THmvRykwL4Xlxoa8I9lHBlVbbyPhgyPMioxVZ4NqyxaVVtaJnzsyOidQIhyyQ== + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" + integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== lodash.camelcase@^4.3.0: version "4.3.0" @@ -6147,20 +5676,15 @@ lodash.tail@^4.1.1: resolved "https://registry.yarnpkg.com/lodash.tail/-/lodash.tail-4.1.1.tgz#d2333a36d9e7717c8ad2f7cacafec7c32b444664" integrity sha1-0jM6NtnncXyK0vfKyv7HwytERmQ= -lodash@^3.5.0, lodash@^3.7.0, lodash@~3.10.0: - version "3.10.1" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" - integrity sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y= - -lodash@^4.0.0, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1, lodash@^4.6.1, lodash@~4.17.10: - version "4.17.15" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" - integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== +lodash@^4.0.0, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.2.1, lodash@^4.6.1, lodash@~4.17.10: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== loglevel@^1.6.8: - version "1.7.0" - resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.7.0.tgz#728166855a740d59d38db01cf46f042caa041bb0" - integrity sha512-i2sY04nal5jDcagM3FMfG++T69GEEM8CYuOfeOIvmXzOIcwE9a/CJPR0MFM97pYMj/u10lzz7/zd7+qwhrBTqQ== + version "1.7.1" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.7.1.tgz#005fde2f5e6e47068f935ff28573e125ef72f197" + integrity sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw== loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0: version "1.4.0" @@ -6169,27 +5693,11 @@ loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3 dependencies: js-tokens "^3.0.0 || ^4.0.0" -loud-rejection@^1.0.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" - integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8= - dependencies: - currently-unhandled "^0.4.1" - signal-exit "^3.0.0" - lower-case@^1.1.1: version "1.1.4" resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw= -lru-cache@^4.0.1: - version "4.1.5" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" - integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" - lru-cache@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" @@ -6241,11 +5749,16 @@ map-cache@^0.2.2: resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= -map-obj@^1.0.0, map-obj@^1.0.1: +map-obj@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= +map-obj@^4.0.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.2.1.tgz#e4ea399dbc979ae735c83c863dd31bdf364277b7" + integrity sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ== + map-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" @@ -6291,7 +5804,7 @@ memoize-one@~5.1.1: resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.1.1.tgz#047b6e3199b508eaec03504de71229b8eb1d75c0" integrity sha512-HKeeBpWvqiVJD57ZUAsJNm71eHTykffzcLZVYWiVfQeI1rJtuEaS7hQiEpWfVVk18donPwJEcFKIkCmPJNOhHA== -memory-fs@^0.4.0, memory-fs@^0.4.1: +memory-fs@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= @@ -6307,34 +5820,29 @@ memory-fs@^0.5.0: errno "^0.1.3" readable-stream "^2.0.1" -meow@^3.7.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" - integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs= - dependencies: - camelcase-keys "^2.0.0" - decamelize "^1.1.2" - loud-rejection "^1.0.0" - map-obj "^1.0.1" - minimist "^1.1.3" - normalize-package-data "^2.3.4" - object-assign "^4.0.1" - read-pkg-up "^1.0.1" - redent "^1.0.0" - trim-newlines "^1.0.0" +meow@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-9.0.0.tgz#cd9510bc5cac9dee7d03c73ee1f9ad959f4ea364" + integrity sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ== + dependencies: + "@types/minimist" "^1.2.0" + camelcase-keys "^6.2.2" + decamelize "^1.2.0" + decamelize-keys "^1.1.0" + hard-rejection "^2.1.0" + minimist-options "4.1.0" + normalize-package-data "^3.0.0" + read-pkg-up "^7.0.1" + redent "^3.0.0" + trim-newlines "^3.0.0" + type-fest "^0.18.0" + yargs-parser "^20.2.3" merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= -merge-stream@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" - integrity sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE= - dependencies: - readable-stream "^2.0.1" - merge-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" @@ -6369,13 +5877,13 @@ micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: snapdragon "^0.8.1" to-regex "^3.0.2" -micromatch@^4.0.0, micromatch@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" - integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== +micromatch@^4.0.0, micromatch@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" + integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== dependencies: braces "^3.0.1" - picomatch "^2.0.5" + picomatch "^2.2.3" miller-rabin@^4.0.0: version "4.0.1" @@ -6385,34 +5893,17 @@ miller-rabin@^4.0.0: bn.js "^4.0.0" brorand "^1.0.1" -mime-db@1.40.0: - version "1.40.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" - integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA== - -mime-db@1.44.0: - version "1.44.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" - integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== - -"mime-db@>= 1.43.0 < 2": - version "1.45.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.45.0.tgz#cceeda21ccd7c3a745eba2decd55d4b73e7879ea" - integrity sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w== - -mime-types@^2.1.12, mime-types@~2.1.19: - version "2.1.24" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81" - integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ== - dependencies: - mime-db "1.40.0" +mime-db@1.48.0, "mime-db@>= 1.43.0 < 2": + version "1.48.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.48.0.tgz#e35b31045dd7eada3aaad537ed88a33afbef2d1d" + integrity sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ== -mime-types@~2.1.17, mime-types@~2.1.24: - version "2.1.27" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" - integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== +mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: + version "2.1.31" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.31.tgz#a00d76b74317c61f9c2db2218b8e9f8e9c5c9e6b" + integrity sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg== dependencies: - mime-db "1.44.0" + mime-db "1.48.0" mime@1.6.0, mime@^1.4.1: version "1.6.0" @@ -6420,9 +5911,9 @@ mime@1.6.0, mime@^1.4.1: integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== mime@^2.4.4: - version "2.4.6" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.6.tgz#e5b407c90db442f2beb5b162373d07b69affa4d1" - integrity sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA== + version "2.5.2" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe" + integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg== min-document@^2.19.0: version "2.19.0" @@ -6431,6 +5922,11 @@ min-document@^2.19.0: dependencies: dom-walk "^0.1.0" +min-indent@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" + integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== + minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" @@ -6441,14 +5937,23 @@ minimalistic-crypto-utils@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= -"minimatch@2 || 3", minimatch@^3.0.4, minimatch@~3.0.0, minimatch@~3.0.2: +minimatch@^3.0.4, minimatch@~3.0.2: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== dependencies: brace-expansion "^1.1.7" -minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5: +minimist-options@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" + integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== + dependencies: + arrify "^1.0.1" + is-plain-obj "^1.1.0" + kind-of "^6.0.3" + +minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== @@ -6474,14 +5979,6 @@ minipass-pipeline@^1.2.2: dependencies: minipass "^3.0.0" -minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" - integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== - dependencies: - safe-buffer "^5.1.2" - yallist "^3.0.0" - minipass@^3.0.0, minipass@^3.1.1: version "3.1.3" resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.3.tgz#7d42ff1f39635482e15f9cdb53184deebd5815fd" @@ -6489,13 +5986,6 @@ minipass@^3.0.0, minipass@^3.1.1: dependencies: yallist "^4.0.0" -minizlib@^1.2.1: - version "1.3.3" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" - integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== - dependencies: - minipass "^2.9.0" - minizlib@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" @@ -6536,7 +6026,7 @@ mixin-object@^2.0.1: for-in "^0.1.3" is-extendable "^0.1.1" -mkdirp@0.x, mkdirp@0.x.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5: +mkdirp@0.x, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== @@ -6599,7 +6089,7 @@ ms@2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== -ms@2.1.2, ms@^2.1.1: +ms@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== @@ -6617,15 +6107,10 @@ multicast-dns@^6.0.1: dns-packet "^1.3.1" thunky "^1.0.2" -mute-stream@~0.0.4: - version "0.0.8" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" - integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== - nan@^2.12.1, nan@^2.13.2: - version "2.14.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" - integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== + version "2.14.2" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" + integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ== nanoid@^3.1.22: version "3.1.23" @@ -6654,31 +6139,12 @@ natural-compare@^1.4.0: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= -natural-compare@~1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.2.2.tgz#1f96d60e3141cac1b6d05653ce0daeac763af6aa" - integrity sha1-H5bWDjFBysG20FZTzg2urHY69qo= - -ncp@0.4.x: - version "0.4.2" - resolved "https://registry.yarnpkg.com/ncp/-/ncp-0.4.2.tgz#abcc6cbd3ec2ed2a729ff6e7c1fa8f01784a8574" - integrity sha1-q8xsvT7C7Spyn/bnwfqPAXhKhXQ= - -needle@^2.2.1: - version "2.4.0" - resolved "https://registry.yarnpkg.com/needle/-/needle-2.4.0.tgz#6833e74975c444642590e15a750288c5f939b57c" - integrity sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg== - dependencies: - debug "^3.2.6" - iconv-lite "^0.4.4" - sax "^1.2.4" - negotiator@0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== -neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1: +neo-async@^2.5.0, neo-async@^2.6.1: version "2.6.2" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== @@ -6702,14 +6168,6 @@ node-fetch-h2@^2.3.0: dependencies: http2-client "^1.2.5" -node-fetch@^1.0.1: - version "1.7.3" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" - integrity sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ== - dependencies: - encoding "^0.1.11" - is-stream "^1.0.1" - node-fetch@^2.1.2, node-fetch@^2.2.0: version "2.6.1" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" @@ -6720,23 +6178,21 @@ node-forge@^0.10.0: resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== -node-gyp@^3.8.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.8.0.tgz#540304261c330e80d0d5edce253a68cb3964218c" - integrity sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA== +node-gyp@^7.1.0: + version "7.1.2" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-7.1.2.tgz#21a810aebb187120251c3bcec979af1587b188ae" + integrity sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ== dependencies: - fstream "^1.0.0" - glob "^7.0.3" - graceful-fs "^4.1.2" - mkdirp "^0.5.0" - nopt "2 || 3" - npmlog "0 || 1 || 2 || 3 || 4" - osenv "0" - request "^2.87.0" - rimraf "2" - semver "~5.3.0" - tar "^2.0.0" - which "1" + env-paths "^2.2.0" + glob "^7.1.4" + graceful-fs "^4.2.3" + nopt "^5.0.0" + npmlog "^4.1.2" + request "^2.88.2" + rimraf "^3.0.2" + semver "^7.3.2" + tar "^6.0.2" + which "^2.0.2" node-int64@^0.4.0: version "0.4.0" @@ -6778,9 +6234,9 @@ node-modules-regexp@^1.0.0: integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= node-notifier@^5.4.2: - version "5.4.3" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.3.tgz#cb72daf94c93904098e28b9c590fd866e464bd50" - integrity sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q== + version "5.4.5" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.5.tgz#0cbc1a2b0f658493b4025775a13ad938e96091ef" + integrity sha512-tVbHs7DyTLtzOiN78izLA85zRqB9NvEXkAf014Vx3jtSvn/xBl6bR8ZYifj+dFcFrKI21huSQgJZ6ZtL3B4HfQ== dependencies: growly "^1.3.0" is-wsl "^1.1.0" @@ -6788,22 +6244,6 @@ node-notifier@^5.4.2: shellwords "^0.1.1" which "^1.3.0" -node-pre-gyp@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz#39ba4bb1439da030295f899e3b520b7785766149" - integrity sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A== - dependencies: - detect-libc "^1.0.2" - mkdirp "^0.5.1" - needle "^2.2.1" - nopt "^4.0.1" - npm-packlist "^1.1.6" - npmlog "^4.0.2" - rc "^1.2.7" - rimraf "^2.6.1" - semver "^5.3.0" - tar "^4" - node-readfiles@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/node-readfiles/-/node-readfiles-0.2.0.tgz#dbbd4af12134e2e635c245ef93ffcf6f60673a5d" @@ -6812,57 +6252,39 @@ node-readfiles@^0.2.0: es6-promise "^3.2.1" node-releases@^1.1.71: - version "1.1.72" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.72.tgz#14802ab6b1039a79a0c7d662b610a5bbd76eacbe" - integrity sha512-LLUo+PpH3dU6XizX3iVoubUNheF/owjXCZZ5yACDxNnPtgFuludV1ZL3ayK1kVep42Rmm0+R9/Y60NQbZ2bifw== + version "1.1.73" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.73.tgz#dd4e81ddd5277ff846b80b52bb40c49edf7a7b20" + integrity sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg== -node-sass@^4.14.1: - version "4.14.1" - resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.14.1.tgz#99c87ec2efb7047ed638fb4c9db7f3a42e2217b5" - integrity sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g== +node-sass@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-6.0.1.tgz#cad1ccd0ce63e35c7181f545d8b986f3a9a887fe" + integrity sha512-f+Rbqt92Ful9gX0cGtdYwjTrWAaGURgaK5rZCWOgCNyGWusFYHhbqCCBoFBeat+HKETOU02AyTxNhJV0YZf2jQ== dependencies: async-foreach "^0.1.3" chalk "^1.1.1" - cross-spawn "^3.0.0" + cross-spawn "^7.0.3" gaze "^1.0.0" get-stdin "^4.0.1" glob "^7.0.3" - in-publish "^2.0.0" lodash "^4.17.15" - meow "^3.7.0" - mkdirp "^0.5.1" + meow "^9.0.0" nan "^2.13.2" - node-gyp "^3.8.0" + node-gyp "^7.1.0" npmlog "^4.0.0" request "^2.88.0" sass-graph "2.2.5" stdout-stream "^1.4.0" "true-case-path" "^1.0.2" -nomnom@^1.5.x: - version "1.8.1" - resolved "https://registry.yarnpkg.com/nomnom/-/nomnom-1.8.1.tgz#2151f722472ba79e50a76fc125bb8c8f2e4dc2a7" - integrity sha1-IVH3Ikcrp55Qp2/BJbuMjy5Nwqc= - dependencies: - chalk "~0.4.0" - underscore "~1.6.0" - -"nopt@2 || 3": - version "3.0.6" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" - integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k= - dependencies: - abbrev "1" - -nopt@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" - integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00= +nopt@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" + integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== dependencies: abbrev "1" - osenv "^0.1.4" -normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: +normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== @@ -6872,6 +6294,16 @@ normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" +normalize-package-data@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.2.tgz#cae5c410ae2434f9a6c1baa65d5bc3b9366c8699" + integrity sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg== + dependencies: + hosted-git-info "^4.0.1" + resolve "^1.20.0" + semver "^7.3.4" + validate-npm-package-license "^3.0.1" + normalize-path@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" @@ -6884,23 +6316,10 @@ normalize-path@^3.0.0, normalize-path@~3.0.0: resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== -normalize-url@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" - integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== - -npm-bundled@^1.0.1: - version "1.0.6" - resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd" - integrity sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g== - -npm-packlist@^1.1.6: - version "1.4.6" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.6.tgz#53ba3ed11f8523079f1457376dd379ee4ea42ff4" - integrity sha512-u65uQdb+qwtGvEJh/DgQgW1Xg7sqeNbmxYyrvlNznaVTjV3E5P6F/EFjM+BVHXl7JJlsdG8A64M0XI8FI/IOlg== - dependencies: - ignore-walk "^3.0.1" - npm-bundled "^1.0.1" +normalize-url@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" + integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== npm-run-path@^2.0.0: version "2.0.2" @@ -6909,7 +6328,7 @@ npm-run-path@^2.0.0: dependencies: path-key "^2.0.0" -"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.2: +npmlog@^4.0.0, npmlog@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== @@ -6919,12 +6338,12 @@ npm-run-path@^2.0.0: gauge "~2.7.3" set-blocking "~2.0.0" -nth-check@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" - integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== +nth-check@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.0.tgz#1bb4f6dac70072fc313e8c9cd1417b5074c0a125" + integrity sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q== dependencies: - boolbase "~1.0.0" + boolbase "^1.0.0" number-is-nan@^1.0.0: version "1.0.1" @@ -6944,24 +6363,24 @@ oas-kit-common@^1.0.8: fast-safe-stringify "^2.0.7" oas-linter@^3.1.3: - version "3.2.1" - resolved "https://registry.yarnpkg.com/oas-linter/-/oas-linter-3.2.1.tgz#1a6d9117d146805b58e56df479861de0293b6e5b" - integrity sha512-e5G6bbq3Nrfxm+SDPR5AiZ6n2smVUmhLA1OgI2/Bl8e2ywfWsKw/yuqrwiXXiNHb1wdM/GyPMX6QjCGJODlaaA== + version "3.2.2" + resolved "https://registry.yarnpkg.com/oas-linter/-/oas-linter-3.2.2.tgz#ab6a33736313490659035ca6802dc4b35d48aa1e" + integrity sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ== dependencies: "@exodus/schemasafe" "^1.0.0-rc.2" should "^13.2.1" yaml "^1.10.0" oas-resolver@^2.4.3: - version "2.5.2" - resolved "https://registry.yarnpkg.com/oas-resolver/-/oas-resolver-2.5.2.tgz#62d26f8db7a4afd697f27ae9b283e79300dd2366" - integrity sha512-dEuG5nE9IMl0FQNQuROsoriP4/944PajSBKAoZMyp9b2eXfmPv9ZKeHRCKjf5RWLm0GezaPKcdCLbB0/Xiqtdw== + version "2.5.6" + resolved "https://registry.yarnpkg.com/oas-resolver/-/oas-resolver-2.5.6.tgz#10430569cb7daca56115c915e611ebc5515c561b" + integrity sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ== dependencies: node-fetch-h2 "^2.3.0" oas-kit-common "^1.0.8" - reftools "^1.1.6" + reftools "^1.1.9" yaml "^1.10.0" - yargs "^15.3.1" + yargs "^17.0.1" oas-schema-walker@^1.1.5: version "1.1.5" @@ -7003,7 +6422,20 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" -object-keys@^1.0.11, object-keys@^1.0.12: +object-inspect@^1.10.3, object-inspect@^1.9.0: + version "1.10.3" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.10.3.tgz#c2aa7d2d09f50c99375704f7a0adf24c5782d369" + integrity sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw== + +object-is@^1.0.1: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" + integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== @@ -7015,23 +6447,24 @@ object-visit@^1.0.0: dependencies: isobject "^3.0.0" -object.assign@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" - integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== +object.assign@^4.1.0, object.assign@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" + integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== dependencies: - define-properties "^1.1.2" - function-bind "^1.1.1" - has-symbols "^1.0.0" - object-keys "^1.0.11" + call-bind "^1.0.0" + define-properties "^1.1.3" + has-symbols "^1.0.1" + object-keys "^1.1.1" object.getownpropertydescriptors@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" - integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY= + version "2.1.2" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz#1bd63aeacf0d5d2d2f31b5e393b03a7c601a23f7" + integrity sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ== dependencies: - define-properties "^1.1.2" - es-abstract "^1.5.1" + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.2" object.pick@^1.3.0: version "1.3.0" @@ -7072,11 +6505,12 @@ ono@^4.0.11: format-util "^1.0.3" openapi-sampler@^1.0.0-beta.16: - version "1.0.0-beta.18" - resolved "https://registry.yarnpkg.com/openapi-sampler/-/openapi-sampler-1.0.0-beta.18.tgz#9e0845616a669e048860625ea5c10d0f554f1b53" - integrity sha512-nG/0kvvSY5FbrU5A+Dbp1xTQN++7pKIh87/atryZlxrzDuok5Y6TCbpxO1jYqpUKLycE4ReKGHCywezngG6xtQ== + version "1.1.0" + resolved "https://registry.yarnpkg.com/openapi-sampler/-/openapi-sampler-1.1.0.tgz#73e45a599e8f7892be5a728ff21e784b8d2284bd" + integrity sha512-/LhZYKNBWphLEpbAG5BdpBZbIbmLgC4vTiTj8N/MV0LF9ptmKOiJ2nETVlacNjXHt7iqDgZDELJCIoZ3q5ZG6A== dependencies: - json-pointer "^0.6.0" + "@types/json-schema" "^7.0.7" + json-pointer "^0.6.1" opn@^5.5.0: version "5.5.0" @@ -7109,24 +6543,6 @@ os-browserify@^0.3.0: resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= -os-homedir@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= - -os-tmpdir@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= - -osenv@0, osenv@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" - integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.0" - p-each-series@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-1.0.0.tgz#930f3d12dd1f50e7434457a22cd6f04ac6ad7f71" @@ -7139,14 +6555,7 @@ p-finally@^1.0.0: resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= -p-limit@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.0.tgz#417c9941e6027a9abcba5092dd2904e255b5fbc2" - integrity sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ== - dependencies: - p-try "^2.0.0" - -p-limit@^2.2.0: +p-limit@^2.0.0, p-limit@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== @@ -7154,11 +6563,11 @@ p-limit@^2.2.0: p-try "^2.0.0" p-limit@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.0.2.tgz#1664e010af3cadc681baafd3e2a437be7b0fb5fe" - integrity sha512-iwqZSOoWIW+Ew4kAGUlN16J4M7OB3ysMLSZtnhmqx7njIHFPlxWBX8xo3lVTyFVq6mI/lL9qt2IsN1sHwaxJkg== + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== dependencies: - p-try "^2.0.0" + yocto-queue "^0.1.0" p-locate@^3.0.0: version "3.0.0" @@ -7209,11 +6618,11 @@ pako@~1.0.5: integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== parallel-transform@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.1.0.tgz#d410f065b05da23081fcd10f28854c29bda33b06" - integrity sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY= + version "1.2.0" + resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" + integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== dependencies: - cyclist "~0.2.2" + cyclist "^1.0.1" inherits "^2.0.3" readable-stream "^2.1.5" @@ -7235,13 +6644,6 @@ parse-asn1@^5.0.0, parse-asn1@^5.1.5: pbkdf2 "^3.0.3" safe-buffer "^5.1.1" -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= - dependencies: - error-ex "^1.2.0" - parse-json@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" @@ -7250,26 +6652,38 @@ parse-json@^4.0.0: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + parse-passwd@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= parse-path@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/parse-path/-/parse-path-4.0.1.tgz#0ec769704949778cb3b8eda5e994c32073a1adff" - integrity sha512-d7yhga0Oc+PwNXDvQ0Jv1BuWkLVPXcAoQ/WREgd6vNNoKYaW52KI+RdOFjI63wjkmps9yUE8VS4veP+AgpQ/hA== + version "4.0.3" + resolved "https://registry.yarnpkg.com/parse-path/-/parse-path-4.0.3.tgz#82d81ec3e071dcc4ab49aa9f2c9c0b8966bb22bf" + integrity sha512-9Cepbp2asKnWTJ9x2kpw6Fe8y9JDbqwahGCTvklzd/cEq5C5JC59x2Xb0Kx+x0QZ8bvNquGO8/BWP0cwBHzSAA== dependencies: is-ssh "^1.3.0" protocols "^1.4.0" + qs "^6.9.4" + query-string "^6.13.8" -parse-url@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-5.0.1.tgz#99c4084fc11be14141efa41b3d117a96fcb9527f" - integrity sha512-flNUPP27r3vJpROi0/R3/2efgKkyXqnXwyP1KQ2U0SfFRgdizOdWfvrrvJg1LuOoxs7GQhmxJlq23IpQ/BkByg== +parse-url@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-6.0.0.tgz#f5dd262a7de9ec00914939220410b66cff09107d" + integrity sha512-cYyojeX7yIIwuJzledIHeLUBVJ6COVLeT4eF+2P6aKVzwvgKQPndCBv3+yQ7pcWjqToYwaligxzSYNNmGoMAvw== dependencies: is-ssh "^1.3.0" - normalize-url "^3.3.0" + normalize-url "^6.1.0" parse-path "^4.0.0" protocols "^1.4.0" @@ -7298,13 +6712,6 @@ path-dirname@^1.0.0: resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= -path-exists@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" - integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= - dependencies: - pinkie-promise "^2.0.0" - path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" @@ -7330,6 +6737,11 @@ path-key@^2.0.0, path-key@^2.0.1: resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + path-parse@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" @@ -7341,21 +6753,12 @@ path-to-regexp@0.1.7: integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= path-to-regexp@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d" - integrity sha1-Wf3g9DW62suhA6hOnTvGTpa5k30= + version "1.8.0" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" + integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== dependencies: isarray "0.0.1" -path-type@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" - integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE= - dependencies: - graceful-fs "^4.1.2" - pify "^2.0.0" - pinkie-promise "^2.0.0" - path-type@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" @@ -7368,15 +6771,10 @@ path-type@^4.0.0: resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -pathval@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pathval/-/pathval-0.1.1.tgz#08f911cdca9cce5942880da7817bc0b723b66d82" - integrity sha1-CPkRzcqczllCiA2ngXvAtyO2bYI= - pbkdf2@^3.0.3: - version "3.1.1" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94" - integrity sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg== + version "3.1.2" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" + integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== dependencies: create-hash "^1.1.2" create-hmac "^1.1.4" @@ -7390,24 +6788,19 @@ pend@~1.2.0: integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= perfect-scrollbar@^1.4.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/perfect-scrollbar/-/perfect-scrollbar-1.5.0.tgz#821d224ed8ff61990c23f26db63048cdc75b6b83" - integrity sha512-NrNHJn5mUGupSiheBTy6x+6SXCFbLlm8fVZh9moIzw/LgqElN5q4ncR4pbCBCYuCJ8Kcl9mYM0NgDxvW+b4LxA== + version "1.5.1" + resolved "https://registry.yarnpkg.com/perfect-scrollbar/-/perfect-scrollbar-1.5.1.tgz#8ee5b3ca06ce9c3f7338fd4ab67a55248a6cf3be" + integrity sha512-MrSImINnIh3Tm1hdPT6bji6fmIeRorVEegQvyUnhqko2hDGTHhmjPefHXfxG/Jb8xVbfCwgmUIlIajERGXjVXQ== performance-now@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= -picomatch@^2.0.4, picomatch@^2.2.1: - version "2.2.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" - integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== - -picomatch@^2.0.5: - version "2.0.7" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.0.7.tgz#514169d8c7cd0bdbeecc8a2609e34a7163de69f6" - integrity sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA== +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: + version "2.3.0" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" + integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== pify@^2.0.0: version "2.3.0" @@ -7457,32 +6850,22 @@ pkg-dir@^4.1.0: dependencies: find-up "^4.0.0" -pkginfo@0.3.x: - version "0.3.1" - resolved "https://registry.yarnpkg.com/pkginfo/-/pkginfo-0.3.1.tgz#5b29f6a81f70717142e09e765bbeab97b4f81e21" - integrity sha1-Wyn2qB9wcXFC4J52W76rl7T4HiE= - -pkginfo@0.x.x: - version "0.4.1" - resolved "https://registry.yarnpkg.com/pkginfo/-/pkginfo-0.4.1.tgz#b5418ef0439de5425fc4995042dced14fb2a84ff" - integrity sha1-tUGO8EOd5UJfxJlQQtztFPsqhP8= - pn@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== polished@^3.6.5: - version "3.6.7" - resolved "https://registry.yarnpkg.com/polished/-/polished-3.6.7.tgz#44cbd0047f3187d83db0c479ef0c7d5583af5fb6" - integrity sha512-b4OViUOihwV0icb9PHmWbR+vPqaSzSAEbgLskvb7ANPATVXGiYv/TQFHQo65S53WU9i5EQ1I03YDOJW7K0bmYg== + version "3.7.2" + resolved "https://registry.yarnpkg.com/polished/-/polished-3.7.2.tgz#ec5ddc17a7d322a574d5e10ddd2a6f01d3e767d1" + integrity sha512-pQKtpZGmsZrW8UUpQMAnR7s3ppHeMQVNyMDKtUyKwuvDmklzcEyM5Kllb3JyE/sE/x7arDmyd35i+4vp99H6sQ== dependencies: - "@babel/runtime" "^7.9.2" + "@babel/runtime" "^7.12.5" popper.js@^1.14.7: - version "1.15.0" - resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.15.0.tgz#5560b99bbad7647e9faa475c6b8056621f5a4ff2" - integrity sha512-w010cY1oCUmI+9KwwlWki+r5jxKfTFDVoadl7MSrIujHU5MJ5OR6HTDj6Xo8aoR/QsA56x8jKjA59qGH4ELtrA== + version "1.16.1" + resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.16.1.tgz#2a223cb3dc7b6213d740e40372be40de43e65b1b" + integrity sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ== portfinder@^1.0.26: version "1.0.28" @@ -7567,9 +6950,9 @@ postcss@^6.0.1: supports-color "^5.4.0" postcss@^7.0.1: - version "7.0.21" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.21.tgz#06bb07824c19c2021c5d056d5b10c35b989f7e17" - integrity sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ== + version "7.0.36" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.36.tgz#056f8cffa939662a8f5905950c07d5285644dfcb" + integrity sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw== dependencies: chalk "^2.4.2" source-map "^0.6.1" @@ -7595,22 +6978,12 @@ prettier@^1.18.2: integrity sha512-OeHeMc0JhFE9idD4ZdtNibzY0+TPHSpSSb9h8FqtP+YnoZZ1sl8Vc9b1sasjfymH3SonAF4QcA2+mzHPhMvIiw== pretty-error@^2.0.2: - version "2.1.1" - resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" - integrity sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM= - dependencies: - renderkid "^2.0.1" - utila "~0.4" - -pretty-format@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.8.0.tgz#8dae7044f58db7cb8be245383b565a963e3c27f2" - integrity sha512-P952T7dkrDEplsR+TuY7q3VXDae5Sr7zmQb12JU/NDQa/3CH7/QW0yvqLcGN6jL+zQFKaoJcPc+yJxMTGmosqw== + version "2.1.2" + resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.2.tgz#be89f82d81b1c86ec8fdfbc385045882727f93b6" + integrity sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw== dependencies: - "@jest/types" "^24.8.0" - ansi-regex "^4.0.0" - ansi-styles "^3.2.0" - react-is "^16.8.4" + lodash "^4.17.20" + renderkid "^2.0.4" pretty-format@^24.9.0: version "24.9.0" @@ -7622,15 +6995,20 @@ pretty-format@^24.9.0: ansi-styles "^3.2.0" react-is "^16.8.4" -prismjs@^1.20.0: - version "1.24.0" - resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.24.0.tgz#0409c30068a6c52c89ef7f1089b3ca4de56be2ac" - integrity sha512-SqV5GRsNqnzCL8k5dfAjCNhUrF3pR0A9lTDSCUZeh/LIshheXJEaP0hwLz2t4XHivd2J/v2HR+gRnigzeKe3cQ== +pretty-format@^27.0.6: + version "27.0.6" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.0.6.tgz#ab770c47b2c6f893a21aefc57b75da63ef49a11f" + integrity sha512-8tGD7gBIENgzqA+UBzObyWqQ5B778VIFZA/S66cclyd5YkFLYs2Js7gxDKf0MXtTc9zcS7t1xhdfcElJ3YIvkQ== + dependencies: + "@jest/types" "^27.0.6" + ansi-regex "^5.0.0" + ansi-styles "^5.0.0" + react-is "^17.0.1" -private@^0.1.6: - version "0.1.8" - resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" - integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== +prismjs@^1.20.0: + version "1.24.1" + resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.24.1.tgz#c4d7895c4d6500289482fa8936d9cdd192684036" + integrity sha512-mNPsedLuk90RVJioIky8ANZEwYm5w9LcvCXrxHlwf4fNVSn8jEipMybMkWUyyF0JhnC+C4VcOVSBuHRKs1L5Ow== process-nextick-args@~2.0.0: version "2.0.1" @@ -7647,31 +7025,13 @@ promise-inflight@^1.0.1: resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= -promise@^7.1.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" - integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== - dependencies: - asap "~2.0.3" - -prompt@~0.2.14: - version "0.2.14" - resolved "https://registry.yarnpkg.com/prompt/-/prompt-0.2.14.tgz#57754f64f543fd7b0845707c818ece618f05ffdc" - integrity sha1-V3VPZPVD/XsIRXB8gY7OYY8F/9w= - dependencies: - pkginfo "0.x.x" - read "1.0.x" - revalidator "0.1.x" - utile "0.2.x" - winston "0.8.x" - prompts@^2.0.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.1.0.tgz#bf90bc71f6065d255ea2bdc0fe6520485c1b45db" - integrity sha512-+x5TozgqYdOwWsQFZizE/Tra3fKvAoy037kOyU6cgz84n8f6zxngLOV4O32kTwt9FcLCxAqw0P/c8rOr9y+Gfg== + version "2.4.1" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.1.tgz#befd3b1195ba052f9fd2fde8a486c4e82ee77f61" + integrity sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ== dependencies: - kleur "^3.0.2" - sisteransi "^1.0.0" + kleur "^3.0.3" + sisteransi "^1.0.5" prop-types@^15.5.0, prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2: version "15.7.2" @@ -7683,16 +7043,16 @@ prop-types@^15.5.0, prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.6.0, react-is "^16.8.1" protocols@^1.1.0, protocols@^1.4.0: - version "1.4.7" - resolved "https://registry.yarnpkg.com/protocols/-/protocols-1.4.7.tgz#95f788a4f0e979b291ffefcf5636ad113d037d32" - integrity sha512-Fx65lf9/YDn3hUX08XUc0J8rSux36rEsyiv21ZGUC1mOyeM3lTRpZLcrm8aAolzS4itwVfm7TAPyxC2E5zd6xg== + version "1.4.8" + resolved "https://registry.yarnpkg.com/protocols/-/protocols-1.4.8.tgz#48eea2d8f58d9644a4a32caae5d5db290a075ce8" + integrity sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg== proxy-addr@~2.0.5: - version "2.0.6" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf" - integrity sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw== + version "2.0.7" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== dependencies: - forwarded "~0.1.2" + forwarded "0.2.0" ipaddr.js "1.9.1" prr@~1.0.1: @@ -7700,11 +7060,6 @@ prr@~1.0.1: resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= -pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= - psl@^1.1.24, psl@^1.1.28: version "1.4.0" resolved "https://registry.yarnpkg.com/psl/-/psl-1.4.0.tgz#5dd26156cdb69fa1fdb8ab1991667d3f80ced7c2" @@ -7762,16 +7117,33 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -qs@6.7.0, qs@^6.5.1: +qs@6.7.0: version "6.7.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== +qs@^6.5.1, qs@^6.9.4: + version "6.10.1" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.1.tgz#4931482fa8d647a5aab799c5271d2133b981fb6a" + integrity sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg== + dependencies: + side-channel "^1.0.4" + qs@~6.5.2: version "6.5.2" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== +query-string@^6.13.8: + version "6.14.1" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.14.1.tgz#7ac2dca46da7f309449ba0f86b1fd28255b0c86a" + integrity sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw== + dependencies: + decode-uri-component "^0.2.0" + filter-obj "^1.1.0" + split-on-first "^1.0.0" + strict-uri-encode "^2.0.0" + querystring-es3@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" @@ -7787,6 +7159,16 @@ querystringify@^2.1.1: resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +quick-lru@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" + integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== + randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" @@ -7822,16 +7204,6 @@ raw-loader@^0.5.1: resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-0.5.1.tgz#0c3d0beaed8a01c966d9787bf778281252a979aa" integrity sha1-DD0L6u2KAclm2Xh793goElKpeao= -rc@^1.2.7: - version "1.2.8" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - react-autocomplete@^1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/react-autocomplete/-/react-autocomplete-1.8.1.tgz#ebbbc400006aa91ad538b2d14727b9e7e5d06310" @@ -7845,16 +7217,10 @@ react-deep-force-update@^2.1.1: resolved "https://registry.yarnpkg.com/react-deep-force-update/-/react-deep-force-update-2.1.3.tgz#740612322e617bcced38f61794a4af75dc3d98e7" integrity sha512-lqD4eHKVuB65RyO/hGbEST53E2/GPbcIPcFYyeW/p4vNngtH4G7jnKGlU6u1OqrFo0uNfIvwuBOg98IbLHlNEA== -react-diff-view@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/react-diff-view/-/react-diff-view-2.1.4.tgz#556926eab30f6d47cbd074f23f7e9a81b11c6326" - integrity sha512-l1e9SPQdf8BgzRZQOzfeR14t0RScwstGArA/GF6vriRi0ip4+Aia0XZdg5qDb28mx57VnFgPHbkgCfyaeIOvPQ== - dependencies: - classnames "^2.2.6" - diff-match-patch "^1.0.4" - recompose "^0.30.0" - shallow-equal "^1.0.0" - warning "^4.0.2" +react-diff-view@^2.4.7: + version "2.4.7" + resolved "https://registry.yarnpkg.com/react-diff-view/-/react-diff-view-2.4.7.tgz#b0583ed85d61db300872014b08a289b2f363ac7e" + integrity sha512-M8NrVffIOPLqnQGfbv8VVnUVi80GefATRtneMQKo+uuqTx3IORO1mjrPUe3L0rmW/0xJucINjLWuLhSd1JX/tg== react-dom@^16.9.3: version "16.14.0" @@ -7876,7 +7242,7 @@ react-fast-compare@^3.1.1: resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.0.tgz#641a9da81b6a6320f270e89724fb45a0b39e43bb" integrity sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA== -react-form@2.16.0: +react-form@2.16.0, react-form@^2.16.0: version "2.16.0" resolved "https://registry.yarnpkg.com/react-form/-/react-form-2.16.0.tgz#db7c4d1145a0daa0056010c12bbc5a2f0d749f5f" integrity sha512-Y2MAqOTplvmw34THQmXhfzus6IMW5w/7xr7t3RQ0Zfb7YCOfT/hP8YeRDU8QWhyGatSunpc3e/CA3rgfWN8i0A== @@ -7890,20 +7256,6 @@ react-form@2.16.0: redux-logger "^3.0.6" redux-thunk "^2.2.0" -react-form@^2.16.0: - version "2.16.3" - resolved "https://registry.yarnpkg.com/react-form/-/react-form-2.16.3.tgz#c45a575483696ea3f99cf271984fcabcf470f1b2" - integrity sha512-Pp0XFvEUkIWUImEsyi8DQ7j3Ls6h8J7BCXPwIzBOv5ZgOynLFwJX+/gYqQRNtSZbjPP4+3FVA4zW3Qktq7H+lw== - dependencies: - babel-runtime "^6.26.0" - circular-json "^0.4.0" - classnames "^2.2.5" - prop-types "^15.5.10" - react-redux "^5.0.6" - redux "^3.7.2" - redux-logger "^3.0.6" - redux-thunk "^2.2.0" - react-ga@^2.6.0: version "2.6.0" resolved "https://registry.yarnpkg.com/react-ga/-/react-ga-2.6.0.tgz#c3fe830ead2ad25117e1d33280d9698de9b28496" @@ -7940,15 +7292,15 @@ react-hot-loader@^3.1.3: redbox-react "^1.3.6" source-map "^0.6.1" -react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4: +react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.3, react-is@^16.8.4: version "16.8.6" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.8.6.tgz#5bbc1e2d29141c9fbdfed456343fe2bc430a6a16" integrity sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA== -react-is@^16.8.3: - version "16.11.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.11.0.tgz#b85dfecd48ad1ce469ff558a882ca8e8313928fa" - integrity sha512-gbBVYR2p8mnriqAwWx9LbuUrShnAuSCNnuPGyc7GJrMVQtPDAh8iLpv7FRuMPFb56KkaVZIYSz1PrjI9q0QPCw== +react-is@^17.0.1: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== react-keyhooks@^0.2.0: version "0.2.0" @@ -7958,7 +7310,7 @@ react-keyhooks@^0.2.0: "@types/react" "^17.0.2" react "^17.0.1" -react-lifecycles-compat@^3.0.0, react-lifecycles-compat@^3.0.2, react-lifecycles-compat@^3.0.4: +react-lifecycles-compat@^3.0.0: version "3.0.4" resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== @@ -7983,12 +7335,12 @@ react-proxy@^3.0.0-alpha.0: lodash "^4.6.1" react-redux@^5.0.6: - version "5.1.1" - resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-5.1.1.tgz#88e368682c7fa80e34e055cd7ac56f5936b0f52f" - integrity sha512-LE7Ned+cv5qe7tMV5BPYkGQ5Lpg8gzgItK07c67yHvJ8t0iaD9kPFPAli/mYkiyJYrs2pJgExR2ZgsGqlrOApg== + version "5.1.2" + resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-5.1.2.tgz#b19cf9e21d694422727bf798e934a916c4080f57" + integrity sha512-Ns1G0XXc8hDyH/OcBHOxNgQx9ayH3SPxBnFCOidGKSle8pKihysQw2rG/PmciUQRoclhVBO8HMhiRmGXnDja9Q== dependencies: "@babel/runtime" "^7.1.2" - hoist-non-react-statics "^3.1.0" + hoist-non-react-statics "^3.3.0" invariant "^2.2.4" loose-envify "^1.1.0" prop-types "^15.6.1" @@ -8021,17 +7373,16 @@ react-router@^4.3.1: warning "^4.0.1" react-side-effect@^1.1.0: - version "1.1.5" - resolved "https://registry.yarnpkg.com/react-side-effect/-/react-side-effect-1.1.5.tgz#f26059e50ed9c626d91d661b9f3c8bb38cd0ff2d" - integrity sha512-Z2ZJE4p/jIfvUpiUMRydEVpQRf2f8GMHczT6qLcARmX7QRb28JDBTpnM2g/i5y/p7ZDEXYGHWg0RbhikE+hJRw== + version "1.2.0" + resolved "https://registry.yarnpkg.com/react-side-effect/-/react-side-effect-1.2.0.tgz#0e940c78faba0c73b9b0eba9cd3dda8dfb7e7dae" + integrity sha512-v1ht1aHg5k/thv56DRcjw+WtojuuDHFUgGfc+bFHOWsF4ZK6C2V57DO0Or0GPsg6+LSTE0M6Ry/gfzhzSwbc5w== dependencies: - exenv "^1.2.1" shallowequal "^1.0.1" react-side-effect@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/react-side-effect/-/react-side-effect-2.1.0.tgz#1ce4a8b4445168c487ed24dab886421f74d380d3" - integrity sha512-IgmcegOSi5SNX+2Snh1vqmF0Vg/CbkycU9XZbOHJlZ6kMzTmi3yc254oB1WCkgA7OQtIAoLmcSFuHTc/tlcqXg== + version "2.1.1" + resolved "https://registry.yarnpkg.com/react-side-effect/-/react-side-effect-2.1.1.tgz#66c5701c3e7560ab4822a4ee2742dee215d72eb3" + integrity sha512-2FoTQzRNTncBVtnzxFOk2mCpcfxQpenBMbk5kSVBg5UcPqV9fRbgY2zhb7GTWWOlpFmAxhClBDlIq8Rsubz1yQ== react-svg-piechart@^2.1.1: version "2.4.0" @@ -8039,9 +7390,9 @@ react-svg-piechart@^2.1.1: integrity sha512-IXqvZCxTuiipwPgROyHi6TihR9PVaGDSnqd14Q2NUXx2PzbNnNcW2nVwLOPLUZm3xEVPzaQhBwxrwrsGLh1uDQ== react-tabs@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/react-tabs/-/react-tabs-3.1.1.tgz#b363a239f76046bb2158875a1e5921b11064052f" - integrity sha512-HpySC29NN1BkzBAnOC+ajfzPbTaVZcSWzMSjk56uAhPC/rBGtli8lTysR4CfPAyEE/hfweIzagOIoJ7nu80yng== + version "3.2.2" + resolved "https://registry.yarnpkg.com/react-tabs/-/react-tabs-3.2.2.tgz#07bdc3cdb17bdffedd02627f32a93cd4b3d6e4d0" + integrity sha512-/o52eGKxFHRa+ssuTEgSM8qORnV4+k7ibW+aNQzKe+5gifeVz8nLxCrsI9xdRhfb0wCLdgIambIpb1qCxaMN+A== dependencies: clsx "^1.1.0" prop-types "^15.5.0" @@ -8057,24 +7408,24 @@ react-test-renderer@16.8.3: scheduler "^0.13.3" react-toastify@^5.0.1: - version "5.3.2" - resolved "https://registry.yarnpkg.com/react-toastify/-/react-toastify-5.3.2.tgz#9de4b426656587722f7e2f99f5f90e974ba5fee6" - integrity sha512-YHTTey7JWqXVkkBIeJ34PAvQELmGfLEGCx9bu68aIZYd+kRU2u9k/nG3AydgbX/uevIb4QNpeeE98DjkooMs5w== + version "5.5.0" + resolved "https://registry.yarnpkg.com/react-toastify/-/react-toastify-5.5.0.tgz#f55de44f6b5e3ce3b13b69e5bb4427f2c9404822" + integrity sha512-jsVme7jALIFGRyQsri/g4YTsRuaaGI70T6/ikjwZMB4mwTZaCWqj5NqxhGrRStKlJc5npXKKvKeqTiRGQl78LQ== dependencies: "@babel/runtime" "^7.4.2" classnames "^2.2.6" prop-types "^15.7.2" - react-transition-group "^2.6.1" + react-transition-group "^4" -react-transition-group@^2.6.1: - version "2.9.0" - resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.9.0.tgz#df9cdb025796211151a436c69a8f3b97b5b07c8d" - integrity sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg== +react-transition-group@^4: + version "4.4.2" + resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.2.tgz#8b59a56f09ced7b55cbd53c36768b922890d5470" + integrity sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg== dependencies: - dom-helpers "^3.4.0" + "@babel/runtime" "^7.5.5" + dom-helpers "^5.0.1" loose-envify "^1.4.0" prop-types "^15.6.2" - react-lifecycles-compat "^3.0.4" react@^16.9.3: version "16.14.0" @@ -8093,14 +7444,6 @@ react@^17.0.1: loose-envify "^1.1.0" object-assign "^4.1.1" -read-pkg-up@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" - integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI= - dependencies: - find-up "^1.0.0" - read-pkg "^1.0.0" - read-pkg-up@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978" @@ -8109,14 +7452,14 @@ read-pkg-up@^4.0.0: find-up "^3.0.0" read-pkg "^3.0.0" -read-pkg@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" - integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg= +read-pkg-up@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" + integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== dependencies: - load-json-file "^1.0.0" - normalize-package-data "^2.3.2" - path-type "^1.0.0" + find-up "^4.1.0" + read-pkg "^5.2.0" + type-fest "^0.8.1" read-pkg@^3.0.0: version "3.0.0" @@ -8127,14 +7470,17 @@ read-pkg@^3.0.0: normalize-package-data "^2.3.2" path-type "^3.0.0" -read@1.0.x: - version "1.0.7" - resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" - integrity sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ= +read-pkg@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== dependencies: - mute-stream "~0.0.4" + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== @@ -8147,29 +7493,6 @@ read@1.0.x: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@1.1: - version "1.1.13" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.13.tgz#f6eef764f514c89e2b9e23146a75ba106756d23e" - integrity sha1-9u73ZPUUyJ4rniMUanW6EGdW0j4= - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -readable-stream@^2.3.3: - version "2.3.7" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" - integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - readable-stream@^3.0.6, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" @@ -8179,15 +7502,6 @@ readable-stream@^3.0.6, readable-stream@^3.6.0: string_decoder "^1.1.1" util-deprecate "^1.0.1" -readable-stream@^3.1.1: - version "3.4.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.4.0.tgz#a51c26754658e0a3c21dbf59163bd45ba6f447fc" - integrity sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - readdirp@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" @@ -8197,10 +7511,10 @@ readdirp@^2.2.1: micromatch "^3.1.10" readable-stream "^2.0.2" -readdirp@~3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.4.0.tgz#9fdccdf9e9155805449221ac645e8303ab5b9ada" - integrity sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ== +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== dependencies: picomatch "^2.2.1" @@ -8211,18 +7525,6 @@ realpath-native@^1.1.0: dependencies: util.promisify "^1.0.0" -recompose@^0.30.0: - version "0.30.0" - resolved "https://registry.yarnpkg.com/recompose/-/recompose-0.30.0.tgz#82773641b3927e8c7d24a0d87d65aeeba18aabd0" - integrity sha512-ZTrzzUDa9AqUIhRk4KmVFihH0rapdCSMFXjhHbNrjAWxBuUD/guYlyysMnuHjlZC/KRiOKRtB4jf96yYSkKE8w== - dependencies: - "@babel/runtime" "^7.0.0" - change-emitter "^0.1.2" - fbjs "^0.8.1" - hoist-non-react-statics "^2.3.1" - react-lifecycles-compat "^3.0.2" - symbol-observable "^1.0.4" - redbox-react@^1.3.6: version "1.6.0" resolved "https://registry.yarnpkg.com/redbox-react/-/redbox-react-1.6.0.tgz#e753ac02595bc1bf695b3935889a4f5b1b5a21a1" @@ -8233,13 +7535,13 @@ redbox-react@^1.3.6: prop-types "^15.5.4" sourcemapped-stacktrace "^1.1.6" -redent@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" - integrity sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94= +redent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" + integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== dependencies: - indent-string "^2.1.0" - strip-indent "^1.0.1" + indent-string "^4.0.0" + strip-indent "^3.0.0" redoc@^2.0.0-rc.40: version "2.0.0-rc.40" @@ -8293,44 +7595,39 @@ redux@^3.7.2: loose-envify "^1.1.0" symbol-observable "^1.0.3" -reftools@^1.1.5, reftools@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/reftools/-/reftools-1.1.6.tgz#841b1ac241259632d63167bf708eccfbfbbba5b5" - integrity sha512-rQfJ025lvPjw9qyQuNPqE+cRs5qVs7BMrZwgRJnmuMcX/8r/eJE8f5/RCunJWViXKHmN5K2DFafYzglLOHE/tw== +reftools@^1.1.5, reftools@^1.1.9: + version "1.1.9" + resolved "https://registry.yarnpkg.com/reftools/-/reftools-1.1.9.tgz#e16e19f662ccd4648605312c06d34e5da3a2b77e" + integrity sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w== -regenerate-unicode-properties@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz#ef51e0f0ea4ad424b77bf7cb41f3e015c70a3f0e" - integrity sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA== +regenerate-unicode-properties@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" + integrity sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA== dependencies: regenerate "^1.4.0" -regenerate@^1.2.1, regenerate@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" - integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== +regenerate@^1.4.0: + version "1.4.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== regenerator-runtime@^0.11.0: version "0.11.1" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== -regenerator-runtime@^0.13.2: - version "0.13.3" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz#7cf6a77d8f5c6f60eb73c5fc1955b2ceb01e6bf5" - integrity sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw== - regenerator-runtime@^0.13.4: version "0.13.7" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== -regenerator-transform@^0.14.0: - version "0.14.1" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.1.tgz#3b2fce4e1ab7732c08f665dfdb314749c7ddd2fb" - integrity sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ== +regenerator-transform@^0.14.2: + version "0.14.5" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" + integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== dependencies: - private "^0.1.6" + "@babel/runtime" "^7.8.4" regex-not@^1.0.0, regex-not@^1.0.2: version "1.0.2" @@ -8340,48 +7637,35 @@ regex-not@^1.0.0, regex-not@^1.0.2: extend-shallow "^3.0.2" safe-regex "^1.1.0" -regexpu-core@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b" - integrity sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs= +regexp.prototype.flags@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26" + integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA== dependencies: - regenerate "^1.2.1" - regjsgen "^0.2.0" - regjsparser "^0.1.4" + call-bind "^1.0.2" + define-properties "^1.1.3" -regexpu-core@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.6.0.tgz#2037c18b327cfce8a6fea2a4ec441f2432afb8b6" - integrity sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg== +regexpu-core@^4.7.1: + version "4.7.1" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.1.tgz#2dea5a9a07233298fbf0db91fa9abc4c6e0f8ad6" + integrity sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ== dependencies: regenerate "^1.4.0" - regenerate-unicode-properties "^8.1.0" - regjsgen "^0.5.0" - regjsparser "^0.6.0" + regenerate-unicode-properties "^8.2.0" + regjsgen "^0.5.1" + regjsparser "^0.6.4" unicode-match-property-ecmascript "^1.0.4" - unicode-match-property-value-ecmascript "^1.1.0" - -regjsgen@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" - integrity sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc= - -regjsgen@^0.5.0: - version "0.5.1" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.1.tgz#48f0bf1a5ea205196929c0d9798b42d1ed98443c" - integrity sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg== + unicode-match-property-value-ecmascript "^1.2.0" -regjsparser@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" - integrity sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw= - dependencies: - jsesc "~0.5.0" +regjsgen@^0.5.1: + version "0.5.2" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" + integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== -regjsparser@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.0.tgz#f1e6ae8b7da2bae96c99399b868cd6c933a2ba9c" - integrity sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ== +regjsparser@^0.6.4: + version "0.6.9" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.9.tgz#b489eef7c9a2ce43727627011429cf833a7183e6" + integrity sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ== dependencies: jsesc "~0.5.0" @@ -8395,47 +7679,40 @@ remove-trailing-separator@^1.0.1: resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= -renderkid@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.3.tgz#380179c2ff5ae1365c522bf2fcfcff01c5b74149" - integrity sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA== +renderkid@^2.0.4: + version "2.0.7" + resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.7.tgz#464f276a6bdcee606f4a15993f9b29fc74ca8609" + integrity sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ== dependencies: - css-select "^1.1.0" - dom-converter "^0.2" - htmlparser2 "^3.3.0" - strip-ansi "^3.0.0" - utila "^0.4.0" + css-select "^4.1.3" + dom-converter "^0.2.0" + htmlparser2 "^6.1.0" + lodash "^4.17.21" + strip-ansi "^3.0.1" repeat-element@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" - integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== + version "1.1.4" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" + integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== repeat-string@^1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= -repeating@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" - integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo= - dependencies: - is-finite "^1.0.0" - -request-promise-core@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.3.tgz#e9a3c081b51380dfea677336061fea879a829ee9" - integrity sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ== +request-promise-core@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" + integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== dependencies: - lodash "^4.17.15" + lodash "^4.17.19" request-promise-native@^1.0.5: - version "1.0.8" - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.8.tgz#a455b960b826e44e2bf8999af64dff2bfe58cb36" - integrity sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ== + version "1.0.9" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" + integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== dependencies: - request-promise-core "1.1.3" + request-promise-core "1.1.4" stealthy-require "^1.1.1" tough-cookie "^2.3.3" @@ -8465,6 +7742,32 @@ request@^2.87.0, request@^2.88.0: tunnel-agent "^0.6.0" uuid "^3.3.2" +request@^2.88.2: + version "2.88.2" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.3" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.5.0" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -8485,11 +7788,6 @@ requires-port@^1.0.0: resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= -reserved-words@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/reserved-words/-/reserved-words-0.1.2.tgz#00a0940f98cd501aeaaac316411d9adc52b31ab1" - integrity sha1-AKCUD5jNUBrqqsMWQR2a3FKzGrE= - resolve-cwd@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" @@ -8510,10 +7808,10 @@ resolve-from@^3.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" integrity sha1-six699nWiBvItuZTM17rywoYh0g= -resolve-pathname@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-2.2.0.tgz#7e9ae21ed815fd63ab189adeee64dc831eefa879" - integrity sha512-bAFz9ld18RzJfddgrO2e/0S2O81710++chRMUxHjXOYKF6jTAMrUNZrEZ1PvV0zlhfjidm08iRPdTLPno1FuRg== +resolve-pathname@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" + integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== resolve-url@^0.2.1: version "0.2.1" @@ -8525,20 +7823,21 @@ resolve@1.1.7: resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -resolve@1.x, resolve@^1.10.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" - integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== - dependencies: - path-parse "^1.0.6" - -resolve@^1.1.6, resolve@^1.3.2: +resolve@1.x, resolve@^1.10.0, resolve@^1.3.2: version "1.11.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.11.1.tgz#ea10d8110376982fef578df8fc30b9ac30a07a3e" integrity sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw== dependencies: path-parse "^1.0.6" +resolve@^1.20.0: + version "1.20.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" + integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + ret@~0.1.10: version "0.1.15" resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" @@ -8554,25 +7853,13 @@ reusify@^1.0.4: resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -revalidator@0.1.x: - version "0.1.8" - resolved "https://registry.yarnpkg.com/revalidator/-/revalidator-0.1.8.tgz#fece61bfa0c1b52a206bd6b18198184bdd523a3b" - integrity sha1-/s5hv6DBtSoga9axgZgYS91SOjs= - -rimraf@2, rimraf@2.x.x, rimraf@^2.5.4, rimraf@^2.6.3: +rimraf@^2.5.4, rimraf@^2.6.3: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== dependencies: glob "^7.1.3" -rimraf@^2.6.1: - version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - rimraf@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" @@ -8594,9 +7881,11 @@ rsvp@^4.8.4: integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== run-parallel@^1.1.9: - version "1.1.9" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679" - integrity sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q== + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" run-queue@^1.0.0, run-queue@^1.0.3: version "1.0.3" @@ -8617,7 +7906,7 @@ safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -8731,31 +8020,33 @@ select-hose@^2.0.0: integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= selfsigned@^1.10.7: - version "1.10.8" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.8.tgz#0d17208b7d12c33f8eac85c41835f27fc3d81a30" - integrity sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w== + version "1.10.11" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.11.tgz#24929cd906fe0f44b6d01fb23999a739537acbe9" + integrity sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA== dependencies: node-forge "^0.10.0" -"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.5: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@^5.4.1, semver@^5.5.0, semver@^5.6.0: +"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5, semver@^5.5.0, semver@^5.6.0: version "5.7.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b" integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA== +semver@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" + integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== + semver@^6.0.0, semver@^6.2.0, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@~5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" - integrity sha1-myzl094C0XxgEq0yaqa00M9U+U8= +semver@^7.3.2, semver@^7.3.4: + version "7.3.5" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + dependencies: + lru-cache "^6.0.0" send@0.17.1: version "0.17.1" @@ -8828,7 +8119,7 @@ set-value@^2.0.0, set-value@^2.0.1: is-plain-object "^2.0.3" split-string "^3.0.1" -setimmediate@^1.0.4, setimmediate@^1.0.5: +setimmediate@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= @@ -8860,11 +8151,6 @@ shallow-clone@^1.0.0: kind-of "^5.0.0" mixin-object "^2.0.1" -shallow-equal@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shallow-equal/-/shallow-equal-1.2.0.tgz#fd828d2029ff4e19569db7e19e535e94e2d1f5cc" - integrity sha512-Z21pVxR4cXsfwpMKMhCEIO1PCi5sp7KEp+CmOpBQ+E8GpHwKOw2sEzk7sgblM3d/j4z4gakoWEoPcjK0VJQogA== - shallowequal@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" @@ -8877,11 +8163,23 @@ shebang-command@^1.2.0: dependencies: shebang-regex "^1.0.0" +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + shellwords@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" @@ -8931,6 +8229,15 @@ should@^13.2.1: should-type-adaptors "^1.0.1" should-util "^1.0.0" +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" @@ -8943,10 +8250,10 @@ simple-swizzle@^0.2.2: dependencies: is-arrayish "^0.3.1" -sisteransi@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.2.tgz#ec57d64b6f25c4f26c0e2c7dd23f2d7f12f7e418" - integrity sha512-ZcYcZcT69nSLAR2oLN2JwNmLkJEKGooFMCdvOkFrToUt/WfcRWqhIg4P4KwY4dmLbuyXIx4o4YmPsvMRJYJd/w== +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== slash@^2.0.0: version "2.0.0" @@ -8959,9 +8266,9 @@ slash@^3.0.0: integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== slugify@^1.4.4: - version "1.4.5" - resolved "https://registry.yarnpkg.com/slugify/-/slugify-1.4.5.tgz#a7517acf5f4c02a4df41e735354b660a4ed1efcf" - integrity sha512-WpECLAgYaxHoEAJ8Q1Lo8HOs1ngn7LN7QjXgOLbmmfkcWvosyk4ZTXkTzKyhngK640USTZUlgoQJfED1kz5fnQ== + version "1.5.3" + resolved "https://registry.yarnpkg.com/slugify/-/slugify-1.5.3.tgz#36e009864f5476bfd5db681222643d92339c890d" + integrity sha512-/HkjRdwPY3yHJReXu38NiusZw2+LLE2SrhkWJtmlPDB1fqFSvioYj62NkPcrKiNCgRLeGcGK7QBvr1iQwybeXw== snapdragon-node@^2.0.1: version "2.1.1" @@ -9028,40 +8335,17 @@ source-map-loader@^0.2.3: loader-utils "^1.1.0" source-map-resolve@^0.5.0: - version "0.5.2" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" - integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA== + version "0.5.3" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== dependencies: - atob "^2.1.1" + atob "^2.1.2" decode-uri-component "^0.2.0" resolve-url "^0.2.1" source-map-url "^0.4.0" urix "^0.1.0" -source-map-support@^0.4.0: - version "0.4.18" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" - integrity sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA== - dependencies: - source-map "^0.5.6" - -source-map-support@^0.5.0: - version "0.5.16" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042" - integrity sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-support@^0.5.6: - version "0.5.12" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.12.tgz#b4f3b10d51857a5af0138d3ce8003b201613d599" - integrity sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-support@~0.5.12: +source-map-support@^0.5.0, source-map-support@^0.5.6, source-map-support@~0.5.12: version "0.5.19" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== @@ -9070,9 +8354,9 @@ source-map-support@~0.5.12: source-map "^0.6.0" source-map-url@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" - integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= + version "0.4.1" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== source-map@0.5.6: version "0.5.6" @@ -9096,38 +8380,43 @@ source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== +source-map@^0.7.3: + version "0.7.3" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + sourcemapped-stacktrace@^1.1.6: - version "1.1.9" - resolved "https://registry.yarnpkg.com/sourcemapped-stacktrace/-/sourcemapped-stacktrace-1.1.9.tgz#c744a99936b33b6891409f4d45c3d2b28ecded4a" - integrity sha512-N6SLOT+9OQZdoSpu1PkSjyrxx/B2SGom9LuxjbwZFNNz7+FpMEUpwb3JV+UpaxWvoGM/8k7guuOJxcB6BWEU9Q== + version "1.1.11" + resolved "https://registry.yarnpkg.com/sourcemapped-stacktrace/-/sourcemapped-stacktrace-1.1.11.tgz#e2dede7fc148599c52a4f883276e527f8452657d" + integrity sha512-O0pcWjJqzQFVsisPlPXuNawJHHg9N9UgpJ/aDmvi9+vnS3x1C0NhwkVFzzZ1VN0Xo+bekyweoqYvBw5ZBKiNnQ== dependencies: source-map "0.5.6" spdx-correct@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" - integrity sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q== + version "3.1.1" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== dependencies: spdx-expression-parse "^3.0.0" spdx-license-ids "^3.0.0" spdx-exceptions@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" - integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA== + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== spdx-expression-parse@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" - integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== dependencies: spdx-exceptions "^2.1.0" spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.5" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" - integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q== + version "3.0.9" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz#8a595135def9592bda69709474f1cbeea7c2467f" + integrity sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ== spdy-transport@^3.0.0: version "3.0.0" @@ -9152,6 +8441,11 @@ spdy@^4.0.2: select-hose "^2.0.0" spdy-transport "^3.0.0" +split-on-first@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" + integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== + split-string@^3.0.1, split-string@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" @@ -9186,22 +8480,19 @@ ssri@^6.0.1: dependencies: figgy-pudding "^3.5.1" -ssri@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.0.tgz#79ca74e21f8ceaeddfcb4b90143c458b8d988808" - integrity sha512-aq/pz989nxVYwn16Tsbj1TqFpD5LLrQxHf5zaHuieFV+R0Bbr4y8qUsOA45hXT/N4/9UNXTarBjnjVmjSOVaAA== +ssri@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" + integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== dependencies: minipass "^3.1.1" -stack-trace@0.0.x: - version "0.0.10" - resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" - integrity sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA= - stack-utils@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8" - integrity sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA== + version "1.0.5" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.5.tgz#a19b0b01947e0029c8e451d5d61a498f5bb1471b" + integrity sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ== + dependencies: + escape-string-regexp "^2.0.0" stackframe@^0.3.1: version "0.3.1" @@ -9273,9 +8564,14 @@ stream-http@^2.7.2: xtend "^4.0.0" stream-shift@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" - integrity sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI= + version "1.0.1" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" + integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== + +strict-uri-encode@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" + integrity sha1-ucczDHBChi9rFC3CdLvMWGbONUY= string-hash@^1.1.1: version "1.1.3" @@ -9317,34 +8613,31 @@ string-width@^3.0.0, string-width@^3.1.0: strip-ansi "^5.1.0" string-width@^4.1.0, string-width@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" - integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== + version "4.2.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" + integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== dependencies: emoji-regex "^8.0.0" is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" -string_decoder@^1.0.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== +string.prototype.trimend@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" + integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== dependencies: - safe-buffer "~5.2.0" + call-bind "^1.0.2" + define-properties "^1.1.3" -string_decoder@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d" - integrity sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w== +string.prototype.trimstart@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" + integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== dependencies: - safe-buffer "~5.1.0" + call-bind "^1.0.2" + define-properties "^1.1.3" -string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= - -string_decoder@~1.1.1: +string_decoder@^1.0.0, string_decoder@^1.1.1, string_decoder@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== @@ -9379,18 +8672,6 @@ strip-ansi@^6.0.0: dependencies: ansi-regex "^5.0.0" -strip-ansi@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991" - integrity sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE= - -strip-bom@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" - integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= - dependencies: - is-utf8 "^0.2.0" - strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" @@ -9401,23 +8682,18 @@ strip-eof@^1.0.0: resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= -strip-indent@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" - integrity sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI= +strip-indent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" + integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== dependencies: - get-stdin "^4.0.1" + min-indent "^1.0.0" -strip-json-comments@^2.0.0, strip-json-comments@~2.0.1: +strip-json-comments@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= -strip-json-comments@~1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91" - integrity sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E= - stubs@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/stubs/-/stubs-3.0.0.tgz#e8d2ba1fa9c90570303c030b6900f7d5f89abe5b" @@ -9483,6 +8759,13 @@ supports-color@^6.1.0: dependencies: has-flag "^3.0.0" +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + swagger2openapi@^6.2.1: version "6.2.3" resolved "https://registry.yarnpkg.com/swagger2openapi/-/swagger2openapi-6.2.3.tgz#4a8059f89d851aee4c9ab178f9b7190debd904e2" @@ -9500,7 +8783,7 @@ swagger2openapi@^6.2.1: yaml "^1.8.3" yargs "^15.3.1" -symbol-observable@^1.0.3, symbol-observable@^1.0.4: +symbol-observable@^1.0.3: version "1.2.0" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== @@ -9515,32 +8798,10 @@ tapable@^1.0.0, tapable@^1.1.3: resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== -tar@^2.0.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.2.tgz#0ca8848562c7299b8b446ff6a4d60cdbb23edc40" - integrity sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA== - dependencies: - block-stream "*" - fstream "^1.0.12" - inherits "2" - -tar@^4: - version "4.4.13" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525" - integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA== - dependencies: - chownr "^1.1.1" - fs-minipass "^1.2.5" - minipass "^2.8.6" - minizlib "^1.2.1" - mkdirp "^0.5.0" - safe-buffer "^5.1.2" - yallist "^3.0.3" - tar@^6.0.2: - version "6.0.5" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.0.5.tgz#bde815086e10b39f1dcd298e89d596e1535e200f" - integrity sha512-0b4HOimQHj9nXNEAA7zWwMM91Zhhba3pspja6sQbgTpynOJf+bkjBnfybNYzbpLbnwXnbyB4LOREvlyXLkCHSg== + version "6.1.0" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.0.tgz#d1724e9bcc04b977b18d5c573b333a2207229a83" + integrity sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA== dependencies: chownr "^2.0.0" fs-minipass "^2.0.0" @@ -9613,16 +8874,16 @@ thunky@^1.0.2: integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== timers-browserify@^2.0.4: - version "2.0.11" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f" - integrity sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ== + version "2.0.12" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" + integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== dependencies: setimmediate "^1.0.4" tiny-invariant@^1.0.2: - version "1.0.6" - resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.0.6.tgz#b3f9b38835e36a41c843a3b0907a5a7b3755de73" - integrity sha512-FOyLWWVjG+aC0UqG76V53yAWdXfH8bO6FNmyZOuUrzDzK8DI3/JRY25UD7+g49JWM1LXwymsKERB+DzI0dTEQA== + version "1.1.0" + resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.1.0.tgz#634c5f8efdc27714b7f386c35e6760991d230875" + integrity sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw== tiny-warning@^1.0.0: version "1.0.3" @@ -9630,9 +8891,9 @@ tiny-warning@^1.0.0: integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== tippy.js@^4.3.4: - version "4.3.4" - resolved "https://registry.yarnpkg.com/tippy.js/-/tippy.js-4.3.4.tgz#9a91fd5ce8c401f181b7adaa6b2c27f3d105f3ba" - integrity sha512-O2ukxHOJTLVYZ/TfHjNd8WgAWoefX9uk5QiWRdHfX2PR2lBpUU4BJQLl7U2Ykc8K7o16gTeHEElpuRfgD5b0aA== + version "4.3.5" + resolved "https://registry.yarnpkg.com/tippy.js/-/tippy.js-4.3.5.tgz#882bff8d92f09bb0546d2826d5668c0560006f54" + integrity sha512-NDq3efte8nGK6BOJ1dDN1/WelAwfmh3UtIYXXck6+SxLzbIQNZE/cmRSnwScZ/FyiKdIcvFHvYUgqmoGx8CcyA== dependencies: popper.js "^1.14.7" @@ -9646,11 +8907,6 @@ to-arraybuffer@^1.0.0: resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= -to-double-quotes@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-double-quotes/-/to-double-quotes-2.0.0.tgz#aaf231d6fa948949f819301bbab4484d8588e4a7" - integrity sha1-qvIx1vqUiUn4GTAburRITYWI5Kc= - to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" @@ -9688,11 +8944,6 @@ to-regex@^3.0.1, to-regex@^3.0.2: regex-not "^1.0.2" safe-regex "^1.1.0" -to-single-quotes@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/to-single-quotes/-/to-single-quotes-2.0.1.tgz#7cc29151f0f5f2c41946f119f5932fe554170125" - integrity sha1-fMKRUfD18sQZRvEZ9ZMv5VQXASU= - toidentifier@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" @@ -9703,7 +8954,7 @@ toposort@^1.0.0: resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029" integrity sha1-LmhELZ9k7HILjMieZEOsbKqVACk= -tough-cookie@^2.3.3, tough-cookie@^2.3.4: +tough-cookie@^2.3.3, tough-cookie@^2.3.4, tough-cookie@~2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== @@ -9726,15 +8977,10 @@ tr46@^1.0.1: dependencies: punycode "^2.1.0" -trim-newlines@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" - integrity sha1-WIeWa7WCpFA6QetST301ARgVphM= - -trim-right@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" - integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= +trim-newlines@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" + integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== "true-case-path@^1.0.2": version "1.0.3" @@ -9796,20 +9042,15 @@ tsconfig@^7.0.0: strip-bom "^3.0.0" strip-json-comments "^2.0.0" -tslib@^1.7.1, tslib@^1.8.0, tslib@^1.8.1: +tslib@^1.7.1, tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0: version "1.10.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== -tslib@^1.9.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" - integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== - tslib@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.3.tgz#8e0741ac45fc0c226e58a17bfc3e64b9bc6ca61c" - integrity sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ== + version "2.3.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.0.tgz#803b8cdab3e12ba581a4ca41c8839bbb0dacb09e" + integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg== tslint-config-prettier@^1.18.0: version "1.18.0" @@ -9882,6 +9123,21 @@ type-check@~0.3.2: dependencies: prelude-ls "~1.1.2" +type-fest@^0.18.0: + version "0.18.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" + integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== + +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + type-is@~1.6.17, type-is@~1.6.18: version "1.6.18" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" @@ -9900,11 +9156,6 @@ typescript@^4.0.3: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.3.tgz#153bbd468ef07725c1df9c77e8b453f8d36abba5" integrity sha512-tEu6DGxGgRJPb/mVPIZ48e69xCn2yRmCgYmDugAVwmJ6o+0u1RI18eO7E7WBTLYLaEVVOhwQmcdhQHweux/WPg== -ua-parser-js@^0.7.18: - version "0.7.28" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.28.tgz#8ba04e653f35ce210239c64661685bf9121dec31" - integrity sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g== - uglify-js@3.4.x: version "3.4.10" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.10.tgz#9ad9563d8eb3acdfb8d38597d2af1d815f6a755f" @@ -9913,15 +9164,15 @@ uglify-js@3.4.x: commander "~2.19.0" source-map "~0.6.1" -uglify-js@^3.1.4: - version "3.13.5" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.13.5.tgz#5d71d6dbba64cf441f32929b1efce7365bb4f113" - integrity sha512-xtB8yEqIkn7zmOyS2zUNBsYCBRhDkvlNxMMY2smuJ/qA8NCHeQvKCF3i9Z4k8FJH4+PJvZRtMrPynfZ75+CSZw== - -underscore@~1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.6.0.tgz#8b38b10cacdef63337b8b24e4ff86d45aea529a8" - integrity sha1-izixDKze9jM3uLJOT/htRa6lKag= +unbox-primitive@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" + integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== + dependencies: + function-bind "^1.1.1" + has-bigints "^1.0.1" + has-symbols "^1.0.2" + which-boxed-primitive "^1.0.2" unicode-canonical-property-names-ecmascript@^1.0.4: version "1.0.4" @@ -9936,15 +9187,15 @@ unicode-match-property-ecmascript@^1.0.4: unicode-canonical-property-names-ecmascript "^1.0.4" unicode-property-aliases-ecmascript "^1.0.4" -unicode-match-property-value-ecmascript@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz#5b4b426e08d13a80365e0d657ac7a6c1ec46a277" - integrity sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g== +unicode-match-property-value-ecmascript@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531" + integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ== unicode-property-aliases-ecmascript@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57" - integrity sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw== + version "1.1.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4" + integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg== unidiff@^1.0.2: version "1.0.2" @@ -9991,9 +9242,9 @@ unset-value@^1.0.0: isobject "^3.0.0" upath@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.2.tgz#3db658600edaeeccbe6db5e684d67ee8c2acd068" - integrity sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q== + version "1.2.0" + resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" + integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== upper-case@^1.1.1: version "1.1.3" @@ -10070,33 +9321,16 @@ util@^0.11.0: dependencies: inherits "2.0.3" -utila@^0.4.0, utila@~0.4: +utila@~0.4: version "0.4.0" resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= -utile@0.2.x: - version "0.2.1" - resolved "https://registry.yarnpkg.com/utile/-/utile-0.2.1.tgz#930c88e99098d6220834c356cbd9a770522d90d7" - integrity sha1-kwyI6ZCY1iIINMNWy9mncFItkNc= - dependencies: - async "~0.2.9" - deep-equal "*" - i "0.3.x" - mkdirp "0.x.x" - ncp "0.4.x" - rimraf "2.x.x" - utils-merge@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= -uuid@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" - integrity sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho= - uuid@^3.3.2: version "3.3.3" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" @@ -10108,14 +9342,14 @@ uuid@^3.4.0: integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== v8-compile-cache@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745" - integrity sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ== + version "2.3.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" + integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== v8flags@^3.0.0: - version "3.1.3" - resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.1.3.tgz#fc9dc23521ca20c5433f81cc4eb9b3033bb105d8" - integrity sha512-amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w== + version "3.2.0" + resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.2.0.tgz#b243e3b4dfd731fa774e7492128109a0fe66d656" + integrity sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg== dependencies: homedir-polyfill "^1.0.1" @@ -10127,10 +9361,10 @@ validate-npm-package-license@^3.0.1: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" -value-equal@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-0.4.0.tgz#c5bdd2f54ee093c04839d71ce2e4758a6890abc7" - integrity sha512-x+cYdNnaA3CxvMaTX0INdTCN8m8aF2uY9BvEqmxuYp8bL09cs/kWVQPVGcA35fMktdOsP69IgU7wFj/61dJHEw== +value-equal@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" + integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw== vary@~1.1.2: version "1.1.2" @@ -10151,34 +9385,12 @@ vm-browserify@^1.0.1: resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== -vow-fs@~0.3.4: - version "0.3.6" - resolved "https://registry.yarnpkg.com/vow-fs/-/vow-fs-0.3.6.tgz#2d4c59be22e2bf2618ddf597ab4baa923be7200d" - integrity sha1-LUxZviLivyYY3fWXq0uqkjvnIA0= - dependencies: - glob "^7.0.5" - uuid "^2.0.2" - vow "^0.4.7" - vow-queue "^0.4.1" - -vow-queue@^0.4.1: - version "0.4.3" - resolved "https://registry.yarnpkg.com/vow-queue/-/vow-queue-0.4.3.tgz#4ba8f64b56e9212c0dbe57f1405aeebd54cce78d" - integrity sha512-/poAKDTFL3zYbeQg7cl4BGcfP4sGgXKrHnRFSKj97dteUFu8oyXMwIcdwu8NSx/RmPGIuYx1Bik/y5vU4H/VKw== - dependencies: - vow "^0.4.17" - -vow@^0.4.17, vow@^0.4.7, vow@~0.4.8: - version "0.4.20" - resolved "https://registry.yarnpkg.com/vow/-/vow-0.4.20.tgz#77ca6ef0828e0043a93e55dc37030226519ce711" - integrity sha512-YYoSYXUYABqY08D/WrjcWJxJSErcILRRTQpcPyUc0SFfgIPKSUFzVt7u1HC3TXGJZM/qhsSjCLNQstxqf7asgQ== - w3c-hr-time@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz#82ac2bff63d950ea9e3189a58a65625fedf19045" - integrity sha1-gqwr/2PZUOqeMYmlimViX+3xkEU= + version "1.0.2" + resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" + integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== dependencies: - browser-process-hrtime "^0.1.2" + browser-process-hrtime "^1.0.0" walker@^1.0.7, walker@~1.0.5: version "1.0.7" @@ -10187,30 +9399,30 @@ walker@^1.0.7, walker@~1.0.5: dependencies: makeerror "1.0.x" -warning@^4.0.1, warning@^4.0.2: +warning@^4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w== dependencies: loose-envify "^1.0.0" -watchpack-chokidar2@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz#9948a1866cbbd6cb824dea13a7ed691f6c8ddff0" - integrity sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA== +watchpack-chokidar2@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957" + integrity sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww== dependencies: chokidar "^2.1.8" watchpack@^1.7.4: - version "1.7.4" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.4.tgz#6e9da53b3c80bb2d6508188f5b200410866cd30b" - integrity sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg== + version "1.7.5" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.5.tgz#1267e6c55e0b9b5be44c2023aed5437a2c26c453" + integrity sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ== dependencies: graceful-fs "^4.1.2" neo-async "^2.5.0" optionalDependencies: chokidar "^3.4.1" - watchpack-chokidar2 "^2.0.0" + watchpack-chokidar2 "^2.0.1" wbuf@^1.1.0, wbuf@^1.7.3: version "1.7.3" @@ -10242,9 +9454,9 @@ webpack-cli@^3.3.12: yargs "^13.3.2" webpack-dev-middleware@^3.7.2: - version "3.7.2" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz#0019c3db716e3fa5cecbf64f2ab88a74bab331f3" - integrity sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw== + version "3.7.3" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz#0639372b143262e2b84ab95d3b91a7597061c2c5" + integrity sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ== dependencies: memory-fs "^0.4.1" mime "^2.4.4" @@ -10336,22 +9548,13 @@ webpack@^4.44.2: watchpack "^1.7.4" webpack-sources "^1.4.1" -websocket-driver@0.6.5: +websocket-driver@0.6.5, websocket-driver@>=0.5.1: version "0.6.5" resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.6.5.tgz#5cb2556ceb85f4373c6d8238aa691c8454e13a36" integrity sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY= dependencies: websocket-extensions ">=0.1.1" -websocket-driver@>=0.5.1: - version "0.7.4" - resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" - integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== - dependencies: - http-parser-js ">=0.5.1" - safe-buffer ">=5.1.0" - websocket-extensions ">=0.1.1" - websocket-extensions@>=0.1.1: version "0.1.4" resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" @@ -10364,11 +9567,6 @@ whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3: dependencies: iconv-lite "0.4.24" -whatwg-fetch@>=0.10.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz#fc804e458cc460009b1a2b966bc8817d2578aefb" - integrity sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q== - whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" @@ -10392,18 +9590,36 @@ whatwg-url@^7.0.0: tr46 "^1.0.1" webidl-conversions "^4.0.2" +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= -which@1, which@^1.2.14, which@^1.2.9, which@^1.3.0, which@^1.3.1: +which@^1.2.14, which@^1.2.9, which@^1.3.0, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== dependencies: isexe "^2.0.0" +which@^2.0.1, which@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + wide-align@^1.1.0: version "1.1.3" resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" @@ -10411,29 +9627,11 @@ wide-align@^1.1.0: dependencies: string-width "^1.0.2 || 2" -winston@0.8.x: - version "0.8.3" - resolved "https://registry.yarnpkg.com/winston/-/winston-0.8.3.tgz#64b6abf4cd01adcaefd5009393b1d8e8bec19db0" - integrity sha1-ZLar9M0Brcrv1QCTk7HY6L7BnbA= - dependencies: - async "0.2.x" - colors "0.6.x" - cycle "1.0.x" - eyes "0.1.x" - isstream "0.1.x" - pkginfo "0.3.x" - stack-trace "0.0.x" - word-wrap@~1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== -wordwrap@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" - integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= - worker-farm@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" @@ -10459,6 +9657,15 @@ wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" @@ -10481,9 +9688,9 @@ ws@^5.2.0: async-limiter "~1.0.0" ws@^6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" - integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA== + version "6.2.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.2.tgz#dd5cdbd57a9979916097652d78f1cc5faea0c32e" + integrity sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw== dependencies: async-limiter "~1.0.0" @@ -10497,13 +9704,6 @@ xml@^1.0.1: resolved "https://registry.yarnpkg.com/xml/-/xml-1.0.1.tgz#78ba72020029c5bc87b8a81a3cfcd74b4a2fc1e5" integrity sha1-eLpyAgApxbyHuKgaPPzXS0ovweU= -xmlbuilder@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-3.1.0.tgz#2c86888f2d4eade850fa38ca7f7223f7209516e1" - integrity sha1-LIaIjy1OrehQ+jjKf3Ij9yCVFuE= - dependencies: - lodash "^3.5.0" - xtend@^4.0.0, xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" @@ -10519,12 +9719,12 @@ y18n@^4.0.0: resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.1.tgz#8db2b83c31c5d75099bb890b23f3094891e247d4" integrity sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ== -yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== -yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3: +yallist@^3.0.2: version "3.1.1" resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== @@ -10535,9 +9735,9 @@ yallist@^4.0.0: integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== yaml@^1.10.0, yaml@^1.8.3: - version "1.10.0" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" - integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== yargs-parser@10.x: version "10.1.0" @@ -10546,14 +9746,6 @@ yargs-parser@10.x: dependencies: camelcase "^4.1.0" -yargs-parser@^13.1.1: - version "13.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0" - integrity sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - yargs-parser@^13.1.2: version "13.1.2" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" @@ -10570,23 +9762,12 @@ yargs-parser@^18.1.2: camelcase "^5.0.0" decamelize "^1.2.0" -yargs@^13.3.0: - version "13.3.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.0.tgz#4c657a55e07e5f2cf947f8a366567c04a0dedc83" - integrity sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA== - dependencies: - cliui "^5.0.0" - find-up "^3.0.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^3.0.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^13.1.1" +yargs-parser@^20.2.2, yargs-parser@^20.2.3: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== -yargs@^13.3.2: +yargs@^13.3.0, yargs@^13.3.2: version "13.3.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== @@ -10619,6 +9800,19 @@ yargs@^15.3.1: y18n "^4.0.0" yargs-parser "^18.1.2" +yargs@^17.0.1: + version "17.0.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.0.1.tgz#6a1ced4ed5ee0b388010ba9fd67af83b9362e0bb" + integrity sha512-xBBulfCc8Y6gLFcrPvtqKz9hz8SO0l1Ni8GgDekvBX2ro0HRQImDGnikfc33cgzcYUSncapnNcZDjVFIH3f6KQ== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + yarn@^1.22.10: version "1.22.10" resolved "https://registry.yarnpkg.com/yarn/-/yarn-1.22.10.tgz#c99daa06257c80f8fa2c3f1490724e394c26b18c" @@ -10636,3 +9830,8 @@ yn@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/yn/-/yn-2.0.0.tgz#e5adabc8acf408f6385fc76495684c88e6af689a" integrity sha1-5a2ryKz0CPY4X8dklWhMiOavaJo= + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== From 083390ef87c23e9200e04a0f7ab2eefc54b80181 Mon Sep 17 00:00:00 2001 From: Alexander Matyushentsev Date: Mon, 12 Jul 2021 13:51:01 -0700 Subject: [PATCH 30/93] fix: downgrade normalize-url to avoid crash in safari (#6703) Signed-off-by: Alexander Matyushentsev --- ui/package.json | 3 ++- ui/yarn.lock | 8 ++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/ui/package.json b/ui/package.json index 2d32fe5ba5036..25ed4760f8bcd 100644 --- a/ui/package.json +++ b/ui/package.json @@ -80,7 +80,8 @@ }, "resolutions": { "@types/react": "16.9.3", - "@types/react-dom": "16.9.3" + "@types/react-dom": "16.9.3", + "normalize-url": "4.3.0" }, "devDependencies": { "@babel/core": "^7.7.2", diff --git a/ui/yarn.lock b/ui/yarn.lock index 9940ad1934d5b..5daa278574dae 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -6316,10 +6316,10 @@ normalize-path@^3.0.0, normalize-path@~3.0.0: resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== -normalize-url@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" - integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== +normalize-url@4.3.0, normalize-url@^6.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.3.0.tgz#9c49e10fc1876aeb76dba88bf1b2b5d9fa57b2ee" + integrity sha512-0NLtR71o4k6GLP+mr6Ty34c5GA6CMoEsncKJxvQd8NzPxaHRJNnb5gZE8R1XF4CPIS7QPHLJ74IFszwtNVAHVQ== npm-run-path@^2.0.0: version "2.0.2" From c8eab2c15d5aea0cac637fb4de9e5a1bcd61a925 Mon Sep 17 00:00:00 2001 From: Nico Ring Date: Tue, 13 Jul 2021 08:56:06 +0200 Subject: [PATCH 31/93] fix: correct type of Service for AWS ALB ingress (#6511) Signed-off-by: Nico Ring --- docs/operator-manual/ingress.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/operator-manual/ingress.md b/docs/operator-manual/ingress.md index 8cc6a3ccb7d9c..a4a893e7a7c17 100644 --- a/docs/operator-manual/ingress.md +++ b/docs/operator-manual/ingress.md @@ -377,7 +377,7 @@ spec: selector: app.kubernetes.io/name: argocd-server sessionAffinity: None - type: ClusterIP + type: NodePort ``` Once we create this service, we can configure the Ingress to conditionally route all `application/grpc` traffic to the new HTTP2 backend, using the `alb.ingress.kubernetes.io/conditions` annotation, as seen below. Note: The value after the . in the condition annotation _must_ be the same name as the service that you want traffic to route to - and will be applied on any path with a matching serviceName. From 45fbca510bf5d8673f6497bf562e6ea55f11a8e7 Mon Sep 17 00:00:00 2001 From: Alexander Matyushentsev Date: Mon, 12 Jul 2021 23:56:52 -0700 Subject: [PATCH 32/93] docs: document health statuses in custom health checks (#6692) Signed-off-by: Alexander Matyushentsev --- docs/operator-manual/health.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/operator-manual/health.md b/docs/operator-manual/health.md index b16208bf41ef6..fcc4e34730856 100644 --- a/docs/operator-manual/health.md +++ b/docs/operator-manual/health.md @@ -93,6 +93,14 @@ data: ``` The `obj` is a global variable which contains the resource. The script must return an object with status and optional message field. +The custom health check might return one of the following health statuses: + + * `Healthy` - the resource is healthy + * `Progressing` - the resource is not healthy yet but still making progress and might be healthy soon + * `Degraded` - the resource is degraded + * `Suspended` - the resource is suspended and waiting for some external event to resume (e.g. suspended CronJob or paused Deployment) + +By default health typically returns `Progressing` status. NOTE: As a security measure, access to the standard Lua libraries will be disabled by default. Admins can control access by setting `resource.customizations.useOpenLibs.`. In the following example, standard libraries are enabled for health check of `cert-manager.io/Certificate`. From 1602ec992dc8d57faae177fad76b95963c50f2c5 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Tue, 13 Jul 2021 13:02:03 -0400 Subject: [PATCH 33/93] chore: Spelling (#5373) * spelling: across Signed-off-by: Josh Soref * spelling: anyway Signed-off-by: Josh Soref * spelling: assessment Signed-off-by: Josh Soref * spelling: attribute Signed-off-by: Josh Soref * spelling: crlf Signed-off-by: Josh Soref * spelling: cmux Signed-off-by: Josh Soref * spelling: committed Signed-off-by: Josh Soref * spelling: convenience Signed-off-by: Josh Soref * spelling: does-not Signed-off-by: Josh Soref * spelling: e.g. Signed-off-by: Josh Soref * spelling: fall back Signed-off-by: Josh Soref * spelling: fall back to Signed-off-by: Josh Soref * spelling: then ... falls back Signed-off-by: Josh Soref * spelling: formatted Signed-off-by: Josh Soref * spelling: github Signed-off-by: Josh Soref * spelling: gitlab Signed-off-by: Josh Soref * spelling: gitops Signed-off-by: Josh Soref * spelling: health checks Signed-off-by: Josh Soref * spelling: located Signed-off-by: Josh Soref * spelling: logging Signed-off-by: Josh Soref * spelling: oidc Signed-off-by: Josh Soref * spelling: openshift Signed-off-by: Josh Soref * spelling: os Signed-off-by: Josh Soref * spelling: powershell Signed-off-by: Josh Soref * spelling: preferred Signed-off-by: Josh Soref * spelling: redact Signed-off-by: Josh Soref * spelling: repo Signed-off-by: Josh Soref * spelling: similarly Signed-off-by: Josh Soref * spelling: staging Signed-off-by: Josh Soref * spelling: statefulset Signed-off-by: Josh Soref * spelling: stopped Signed-off-by: Josh Soref * spelling: superseded Signed-off-by: Josh Soref * spelling: synchronization Signed-off-by: Josh Soref * spelling: to Signed-off-by: Josh Soref * spelling: unified Signed-off-by: Josh Soref * spelling: verification Signed-off-by: Josh Soref * spelling: zookeeper Signed-off-by: Josh Soref Co-authored-by: Josh Soref --- .github/workflows/image.yaml | 2 +- CHANGELOG.md | 26 +++++++++---------- assets/swagger.json | 4 +-- .../commands/project_allowlist_test.go | 6 ++--- cmd/argocd/commands/account.go | 2 +- cmd/argocd/commands/project_role.go | 2 +- common/common.go | 2 +- controller/appcontroller.go | 2 +- controller/metrics/metrics.go | 4 +-- docs/cli_installation.md | 2 +- docs/developer-guide/ci.md | 4 +-- docs/operator-manual/application.yaml | 2 +- docs/operator-manual/cluster-bootstrapping.md | 2 +- docs/operator-manual/high_availability.md | 2 +- docs/operator-manual/rbac.md | 4 +-- docs/operator-manual/upgrading/1.7-1.8.md | 6 ++--- .../operator-manual/user-management/google.md | 6 ++--- .../user-management/microsoft.md | 4 +-- docs/operator-manual/webhook.md | 2 +- docs/roadmap.md | 2 +- docs/user-guide/best_practices.md | 2 +- .../commands/argocd_account_generate-token.md | 2 +- .../commands/argocd_proj_role_create-token.md | 2 +- docs/user-guide/gpg-verification.md | 2 +- docs/user-guide/parameters.md | 2 +- docs/user-guide/private-repositories.md | 4 +-- manifests/crds/appproject-crd.yaml | 2 +- manifests/ha/install.yaml | 2 +- manifests/install.yaml | 2 +- pkg/apiclient/repository/repository.pb.go | 4 +-- .../application/v1alpha1/app_project_types.go | 2 +- pkg/apis/application/v1alpha1/generated.proto | 2 +- .../application/v1alpha1/openapi_generated.go | 2 +- pkg/apis/application/v1alpha1/types.go | 2 +- reposerver/apiclient/repository.pb.go | 4 +-- reposerver/cache/cache.go | 4 +-- reposerver/repository/repository.go | 12 ++++----- reposerver/repository/repository.proto | 2 +- server/application/application.go | 2 +- server/repository/repository.proto | 2 +- server/server.go | 4 +-- test/e2e/fixture/fixture.go | 2 +- .../always-outofsync/always-outofsync.yaml | 2 +- util/git/git_test.go | 2 +- util/lua/lua.go | 4 +-- util/lua/oslib_safe.go | 4 +-- util/oidc/oidc.go | 2 +- util/webhook/webhook.go | 6 ++--- 48 files changed, 85 insertions(+), 85 deletions(-) diff --git a/.github/workflows/image.yaml b/.github/workflows/image.yaml index e53530db7fbc4..076550ac6f4a8 100644 --- a/.github/workflows/image.yaml +++ b/.github/workflows/image.yaml @@ -56,4 +56,4 @@ jobs: git config --global user.name 'CI' git diff --exit-code && echo 'Already deployed' || (git commit -am 'Upgrade argocd to ${{ steps.image.outputs.tag }}' && git push) working-directory: argoproj-deployments/argocd - # TODO: clean up old images once github supports it: https://github.community/t5/How-to-use-Git-and-GitHub/Deleting-images-from-Github-Package-Registry/m-p/41202/thread-id/9811 + # TODO: clean up old images once github supports it: https://github.community/t5/How-to-use-Git-and-GitHub/Deleting-images-from-GitHub-Package-Registry/m-p/41202/thread-id/9811 diff --git a/CHANGELOG.md b/CHANGELOG.md index be4ab11294851..d05907df7b393 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -206,7 +206,7 @@ In addition to new features and enhancements, we’ve fixed more than 50 bugs an ## v1.7.5 (2020-09-15) - fix: app create with -f should not ignore other options (#4322) -- fix: limit concurrent list requests accross all clusters (#4328) +- fix: limit concurrent list requests across all clusters (#4328) - fix: fix possible deadlock in /v1/api/stream/applications and /v1/api/application APIs (#4315) - fix: WatchResourceTree does not enforce RBAC (#4311) - fix: app refresh API should use app resource version (#4303) @@ -340,7 +340,7 @@ use cases, such as bootstrapping a Kubernetes cluster, or decentralized manageme #### Other -- refactoring: Gitops engine (#3066) +- refactoring: GitOps engine (#3066) ## v1.5.8 (2020-06-16) @@ -403,7 +403,7 @@ customizations, custom resource health checks, and more. ### Other * New Project and Application CRD settings ([#2900](https://github.com/argoproj/argo-cd/issues/2900), [#2873](https://github.com/argoproj/argo-cd/issues/2873)) that allows customizing Argo CD behavior. -* Upgraded Dex (v2.22.0) enables seamless [SSO integration](https://www.openshift.com/blog/openshift-authentication-integration-with-argocd) with Openshift. +* Upgraded Dex (v2.22.0) enables seamless [SSO integration](https://www.openshift.com/blog/openshift-authentication-integration-with-argocd) with OpenShift. #### Enhancements @@ -435,7 +435,7 @@ customizations, custom resource health checks, and more. * fix for helm repo add with flag --insecure-skip-server-verification (#3420) * fix: app diff --local support for helm repo. #3151 (#3407) * fix: Syncing apps incorrectly states "app synced", but this is not true (#3286) -* fix: for jsonnet when it is localed in nested subdirectory and uses import (#3372) +* fix: for jsonnet when it is located in nested subdirectory and uses import (#3372) * fix: Update 4.5.3 redis-ha helm manifest (#3370) * fix: return 401 error code if username does not exist (#3369) * fix: Do not panic while running hooks with short revision (#3368) @@ -551,7 +551,7 @@ Last-minute bugs that will be addressed in 1.5.1 shortly: - fix: argocd-util backup produced truncated backups. import app status (#3096) - fix: upgrade redis-ha chart and enable haproxy (#3147) - fix: make dex server deployment init container resilient to restarts (#3136) -- fix: reduct secret values of manifests stored in git (#3088) +- fix: redact secret values of manifests stored in git (#3088) - fix: labels not being deleted via UI (#3081) - fix: HTTP|HTTPS|NO_PROXY env variable reading #3055 (#3063) - fix: Correct usage text for repo add command regarding insecure repos (#3068) @@ -661,7 +661,7 @@ an in-flight state for all Kubernetes resources including `Deployment`, `PVC`, ` [Sync Waves](https://argoproj.github.io/argo-cd/user-guide/sync-waves/) instead. #### Enhancements -* feat: Add custom healthchecks for cert-manager v0.11.0 (#2689) +* feat: Add custom health checks for cert-manager v0.11.0 (#2689) * feat: add git submodule support (#2495) * feat: Add repository credential management API and CLI (addresses #2136) (#2207) * feat: add support for --additional-headers cli flag (#2467) @@ -846,7 +846,7 @@ There may be instances when you want to control the times during which an Argo C #### Bug Fixes - failed parsing on parameters with comma (#1660) -- Statefulset with OnDelete Update Strategy stuck progressing (#1881) +- StatefulSet with OnDelete Update Strategy stuck progressing (#1881) - Warning during secret diffing (#1923) - Error message "Unable to load data: key is missing" is confusing (#1944) - OIDC group bindings are truncated (#2006) @@ -928,7 +928,7 @@ There may be instances when you want to control the times during which an Argo C ## v1.2.3 (2019-10-1) * Make argo-cd docker images openshift friendly (#2362) (@duboisf) * Add dest-server and dest-namespace field to reconciliation logs (#2354) -- Stop loggin /repository.RepositoryService/ValidateAccess parameters (#2386) +- Stop logging /repository.RepositoryService/ValidateAccess parameters (#2386) ## v1.2.2 (2019-09-26) + Resource action equivalent to `kubectl rollout restart` (#2177) @@ -1013,7 +1013,7 @@ Support for Git LFS enabled repositories - now you can store Helm charts as tar - Wait for CRD creation during sync process (#1940) - Added a button to select out of sync items in the sync panel (#1902) - Proper handling of an excluded resource in an application (#1621) -- Stop repeating logs on stoped container (#1614) +- Stop repeating logs on stopped container (#1614) - Fix git repo url parsing on application list view (#2174) - Fix nil pointer dereference error during app reconciliation (#2146) - Fix history api fallback implementation to support app names with dots (#2114) @@ -1069,7 +1069,7 @@ optimized which significantly reduced the number of Git requests. With v1.1 rele #### User Defined Application Metadata User-defined Application metadata enables the user to define a list of useful URLs for their specific application and expose those links on the UI -(e.g. reference tp a CI pipeline or an application-specific management tool). These links should provide helpful shortcuts that make easier to integrate Argo CD into existing +(e.g. reference to a CI pipeline or an application-specific management tool). These links should provide helpful shortcuts that make easier to integrate Argo CD into existing systems by making it easier to find other components inside and outside Argo CD. ### Deprecation Notice @@ -1433,7 +1433,7 @@ has a minimum client version of v0.12.0. Older CLI clients will be rejected. * Deprecate componentParameterOverrides in favor of source specific config (#1207) * Support talking to Dex using local cluster address instead of public address (#1211) * Use Recreate deployment strategy for controller (#1315) -* Honor os environment variables for helm commands (#1306) (@1337andre) +* Honor OS environment variables for helm commands (#1306) (@1337andre) * Disable CGO_ENABLED for server/controller binaries (#1286) * Documentation fixes and improvements (@twz123, @yann-soubeyrand, @OmerKahani, @dulltz) - Fix CRD creation/deletion handling (#1249) @@ -1925,8 +1925,8 @@ RBAC policy rules, need to be rewritten to include one extra column with the eff + Override parameters ## v0.1.0 (2018-03-12) -+ Define app in Github with dev and preprod environment using KSonnet ++ Define app in GitHub with dev and preprod environment using KSonnet + Add cluster Diff App with a cluster Deploy app in a cluster + Deploy a new version of the app in the cluster -+ App sync based on Github app config change - polling only ++ App sync based on GitHub app config change - polling only + Basic UI: App diff between Git and k8s cluster for all environments Basic GUI diff --git a/assets/swagger.json b/assets/swagger.json index cd28c12b13875..1be636f2813c3 100644 --- a/assets/swagger.json +++ b/assets/swagger.json @@ -2648,7 +2648,7 @@ "tags": [ "RepositoryService" ], - "summary": "ListApps returns list of apps in the repe", + "summary": "ListApps returns list of apps in the repo", "operationId": "RepositoryService_ListApps", "parameters": [ { @@ -5711,7 +5711,7 @@ }, "policies": { "type": "array", - "title": "Policies Stores a list of casbin formated strings that define access policies for the role in the project", + "title": "Policies Stores a list of casbin formatted strings that define access policies for the role in the project", "items": { "type": "string" } diff --git a/cmd/argocd-util/commands/project_allowlist_test.go b/cmd/argocd-util/commands/project_allowlist_test.go index ab81f8e61d7e9..5db55f0b0ebc0 100644 --- a/cmd/argocd-util/commands/project_allowlist_test.go +++ b/cmd/argocd-util/commands/project_allowlist_test.go @@ -30,9 +30,9 @@ func TestProjectAllowListGen(t *testing.T) { }) assert.NoError(t, err) - var patchSeverPreferedResources *mpatch.Patch + var patchSeverPreferredResources *mpatch.Patch discoClient := &discovery.DiscoveryClient{} - patchSeverPreferedResources, err = mpatch.PatchInstanceMethodByName(reflect.TypeOf(discoClient), "ServerPreferredResources", func(*discovery.DiscoveryClient) ([]*metav1.APIResourceList, error) { + patchSeverPreferredResources, err = mpatch.PatchInstanceMethodByName(reflect.TypeOf(discoClient), "ServerPreferredResources", func(*discovery.DiscoveryClient) ([]*metav1.APIResourceList, error) { res := metav1.APIResource{ Name: "services", Kind: "Service", @@ -47,7 +47,7 @@ func TestProjectAllowListGen(t *testing.T) { assert.NoError(t, err) err = patch.Unpatch() assert.NoError(t, err) - err = patchSeverPreferedResources.Unpatch() + err = patchSeverPreferredResources.Unpatch() err = patch.Unpatch() }() } diff --git a/cmd/argocd/commands/account.go b/cmd/argocd/commands/account.go index 31bb69245b352..3a9e2ca656a86 100644 --- a/cmd/argocd/commands/account.go +++ b/cmd/argocd/commands/account.go @@ -362,7 +362,7 @@ argocd account generate-token --account `, } cmd.Flags().StringVarP(&account, "account", "a", "", "Account name. Defaults to the current account.") cmd.Flags().StringVarP(&expiresIn, "expires-in", "e", "0s", "Duration before the token will expire. (Default: No expiration)") - cmd.Flags().StringVar(&id, "id", "", "Optional token id. Fallback to uuid if not value specified.") + cmd.Flags().StringVar(&id, "id", "", "Optional token id. Fall back to uuid if not value specified.") return cmd } diff --git a/cmd/argocd/commands/project_role.go b/cmd/argocd/commands/project_role.go index 5442c0d8833d8..efaa60032e40e 100644 --- a/cmd/argocd/commands/project_role.go +++ b/cmd/argocd/commands/project_role.go @@ -265,7 +265,7 @@ func NewProjectRoleCreateTokenCommand(clientOpts *argocdclient.ClientOptions) *c }, } command.Flags().StringVarP(&expiresIn, "expires-in", "e", "", - "Duration before the token will expire, eg \"12h\", \"7d\". (Default: No expiration)", + "Duration before the token will expire, e.g. \"12h\", \"7d\". (Default: No expiration)", ) command.Flags().StringVarP(&tokenID, "id", "i", "", "Token unique identifier. (Default: Random UUID)") command.Flags().BoolVarP(&outputTokenOnly, "token-only", "t", false, "Output token only - for use in scripts.") diff --git a/common/common.go b/common/common.go index 60d755b4c233c..8cfa93a65326b 100644 --- a/common/common.go +++ b/common/common.go @@ -99,7 +99,7 @@ const ( // LabelKeyAppInstance is the label key to use to uniquely identify the instance of an application // The Argo CD application name is used as the instance name LabelKeyAppInstance = "app.kubernetes.io/instance" - // LabelKeyLegacyApplicationName is the legacy label (v0.10 and below) and is superceded by 'app.kubernetes.io/instance' + // LabelKeyLegacyApplicationName is the legacy label (v0.10 and below) and is superseded by 'app.kubernetes.io/instance' LabelKeyLegacyApplicationName = "applications.argoproj.io/app-name" // LabelKeySecretType contains the type of argocd secret (currently: 'cluster', 'repository', 'repo-config' or 'repo-creds') LabelKeySecretType = "argocd.argoproj.io/secret-type" diff --git a/controller/appcontroller.go b/controller/appcontroller.go index b5850e2049db2..eb253619d507a 100644 --- a/controller/appcontroller.go +++ b/controller/appcontroller.go @@ -1176,7 +1176,7 @@ func (ctrl *ApplicationController) processAppRefreshQueueItem() (processNext boo if comparisonLevel == ComparisonWithNothing { managedResources := make([]*appv1.ResourceDiff, 0) if err := ctrl.cache.GetAppManagedResources(app.Name, &managedResources); err != nil { - logCtx.Warnf("Failed to get cached managed resources for tree reconciliation, fallback to full reconciliation") + logCtx.Warnf("Failed to get cached managed resources for tree reconciliation, fall back to full reconciliation") } else { var tree *appv1.ApplicationTree if tree, err = ctrl.getResourceTree(app, managedResources); err == nil { diff --git a/controller/metrics/metrics.go b/controller/metrics/metrics.go index d6d95de5bed0d..f5ae0d60f2dfb 100644 --- a/controller/metrics/metrics.go +++ b/controller/metrics/metrics.go @@ -62,14 +62,14 @@ var ( descAppDefaultLabels, nil, ) - // DEPRECATED: superceded by sync_status label in argocd_app_info + // DEPRECATED: superseded by sync_status label in argocd_app_info descAppSyncStatusCode = prometheus.NewDesc( "argocd_app_sync_status", "The application current sync status.", append(descAppDefaultLabels, "sync_status"), nil, ) - // DEPRECATED: superceded by health_status label in argocd_app_info + // DEPRECATED: superseded by health_status label in argocd_app_info descAppHealthStatus = prometheus.NewDesc( "argocd_app_health_status", "The application current health status.", diff --git a/docs/cli_installation.md b/docs/cli_installation.md index a3a56a8801ad8..e47f296c1bb63 100644 --- a/docs/cli_installation.md +++ b/docs/cli_installation.md @@ -64,7 +64,7 @@ After finishing either of the instructions above, you should now be able to run ## Windows -### Download With Powershell: Invoke-WebRequest +### Download With PowerShell: Invoke-WebRequest You can view the latest version of Argo CD at the link above or run the following command to grab the version: diff --git a/docs/developer-guide/ci.md b/docs/developer-guide/ci.md index 4d830332a911d..e7a0e6a242935 100644 --- a/docs/developer-guide/ci.md +++ b/docs/developer-guide/ci.md @@ -12,7 +12,7 @@ To read more about The GitHub actions are configured in [`ci-build.yaml`](https: Since the CI pipeline is triggered on Git commits, there is currently no (known) way on how to retrigger the CI checks without pushing a new commit to your branch. -If you are absolutely sure that the failure was due to a failure in the pipeline, and not an error within the changes you commited, you can push an empty commit to your branch, thus retriggering the pipeline without any code changes. To do so, issue +If you are absolutely sure that the failure was due to a failure in the pipeline, and not an error within the changes you committed, you can push an empty commit to your branch, thus retriggering the pipeline without any code changes. To do so, issue ```bash git commit --allow-empty -m "Retrigger CI pipeline" @@ -67,7 +67,7 @@ Every commit to master is built and published to `ghcr.io/argoproj/argocd: `Enterprise applications` menu, choose `+ New application` 2. Select `Non-gallery application` -3. Enter a `Name` for the application (eg. `Argo CD`), then choose `Add` +3. Enter a `Name` for the application (e.g. `Argo CD`), then choose `Add` 4. Once the application is created, open it from the `Enterprise applications` menu. 5. From the `Users and groups` menu of the app, add any users or groups requiring access to the service. @@ -55,7 +55,7 @@ data: name: saml config: entityIssuer: https://my-argo-cd-url/api/dex/callback - ssoURL: https://my-login-url (eg. https://login.microsoftonline.com/xxxxx/a/saml2) + ssoURL: https://my-login-url (e.g. https://login.microsoftonline.com/xxxxx/a/saml2) caData: | MY-BASE64-ENCODED-CERTIFICATE-DATA redirectURI: https://my-argo-cd-url/api/dex/callback diff --git a/docs/operator-manual/webhook.md b/docs/operator-manual/webhook.md index d870c0d8ea8b7..00a019020414a 100644 --- a/docs/operator-manual/webhook.md +++ b/docs/operator-manual/webhook.md @@ -17,7 +17,7 @@ arbitrary value in the secret. This value will be used when configuring the webh ![Add Webhook](../assets/webhook-config.png "Add Webhook") !!! note - When creating the webhook in Github, the "Content type" needs to be set to "application/json". The default value "application/x-www-form-urlencoded" is not supported by the library used to handle the hooks + When creating the webhook in GitHub, the "Content type" needs to be set to "application/json". The default value "application/x-www-form-urlencoded" is not supported by the library used to handle the hooks ### 2. Configure Argo CD With The WebHook Secret (Optional) diff --git a/docs/roadmap.md b/docs/roadmap.md index e649a4d950f11..2a41a09c251eb 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -116,7 +116,7 @@ That includes more metrics, out of the box alerts and a cluster management user ### Argo CD Notifications [Argo CD Notifications](https://github.com/argoproj-labs/argocd-notifications) provides the ability to notify users about Argo CD Application -changes as well as implement integrations such as update Github commit status, trigger Jenkins job, set Grafana label, etc. +changes as well as implement integrations such as update GitHub commit status, trigger Jenkins job, set Grafana label, etc. ### Automated Registry Monitoring diff --git a/docs/user-guide/best_practices.md b/docs/user-guide/best_practices.md index 7c44c554da116..61a2005b590f0 100644 --- a/docs/user-guide/best_practices.md +++ b/docs/user-guide/best_practices.md @@ -16,7 +16,7 @@ from your application source code, is highly recommended for the following reaso 3. Your application may be comprised of services built from multiple Git repositories, but is deployed as a single unit. Oftentimes, microservices applications are comprised of services - with different versioning schemes, and release cycles (e.g. ELK, Kafka + Zookeeper). It may not + with different versioning schemes, and release cycles (e.g. ELK, Kafka + ZooKeeper). It may not make sense to store the manifests in one of the source code repositories of a single component. 4. Separation of access. The developers who are developing the application, may not necessarily be diff --git a/docs/user-guide/commands/argocd_account_generate-token.md b/docs/user-guide/commands/argocd_account_generate-token.md index 2962fce93772c..6a8e3d975f74f 100644 --- a/docs/user-guide/commands/argocd_account_generate-token.md +++ b/docs/user-guide/commands/argocd_account_generate-token.md @@ -22,7 +22,7 @@ argocd account generate-token --account -a, --account string Account name. Defaults to the current account. -e, --expires-in string Duration before the token will expire. (Default: No expiration) (default "0s") -h, --help help for generate-token - --id string Optional token id. Fallback to uuid if not value specified. + --id string Optional token id. Fall back to uuid if not value specified. ``` ### Options inherited from parent commands diff --git a/docs/user-guide/commands/argocd_proj_role_create-token.md b/docs/user-guide/commands/argocd_proj_role_create-token.md index 41b80364a4ad2..727517d548cb3 100644 --- a/docs/user-guide/commands/argocd_proj_role_create-token.md +++ b/docs/user-guide/commands/argocd_proj_role_create-token.md @@ -9,7 +9,7 @@ argocd proj role create-token PROJECT ROLE-NAME [flags] ### Options ``` - -e, --expires-in string Duration before the token will expire, eg "12h", "7d". (Default: No expiration) + -e, --expires-in string Duration before the token will expire, e.g. "12h", "7d". (Default: No expiration) -h, --help help for create-token -i, --id string Token unique identifier. (Default: Random UUID) -t, --token-only Output token only - for use in scripts. diff --git a/docs/user-guide/gpg-verification.md b/docs/user-guide/gpg-verification.md index 946118de6bb3e..07f9f474647b3 100644 --- a/docs/user-guide/gpg-verification.md +++ b/docs/user-guide/gpg-verification.md @@ -195,7 +195,7 @@ argocd proj add-signature-key myproj 4AEE18F83AFDEB23 #### Removing a key ID from the list of allowed keys -Similarily, you can remove a key ID from the list of allowed GnuPG keys for a +Similarly, you can remove a key ID from the list of allowed GnuPG keys for a project using the `argocd proj remove-signature-key` command, i.e. to remove the key added above from project `myproj`, use the command: diff --git a/docs/user-guide/parameters.md b/docs/user-guide/parameters.md index d055a9233b14c..897ed36df3778 100644 --- a/docs/user-guide/parameters.md +++ b/docs/user-guide/parameters.md @@ -75,7 +75,7 @@ kustomize: The `.argocd-source` is trying to solve two following main use cases: -- Provide the unifed way to "override" application parameters in Git and enable the "write back" feature +- Provide the unified way to "override" application parameters in Git and enable the "write back" feature for projects like [argocd-image-updater](https://github.com/argoproj-labs/argocd-image-updater). - Support "discovering" applications in the Git repository by projects like [applicationset](https://github.com/argoproj-labs/applicationset) (see [git files generator](https://github.com/argoproj-labs/applicationset/blob/master/examples/git-files-discovery.yaml)) diff --git a/docs/user-guide/private-repositories.md b/docs/user-guide/private-repositories.md index 73f0288d1bf6d..ef9aada5fc6dd 100644 --- a/docs/user-guide/private-repositories.md +++ b/docs/user-guide/private-repositories.md @@ -47,8 +47,8 @@ or UI: Instead of using username and password you might use access token. Following instructions of your Git hosting service to generate the token: -* [Github](https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line) -* [Gitlab](https://docs.gitlab.com/ee/user/project/deploy_tokens/) +* [GitHub](https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line) +* [GitLab](https://docs.gitlab.com/ee/user/project/deploy_tokens/) * [Bitbucket](https://confluence.atlassian.com/bitbucketserver/personal-access-tokens-939515499.html) Then, connect the repository using any non-empty string as username and the access token value as a password. diff --git a/manifests/crds/appproject-crd.yaml b/manifests/crds/appproject-crd.yaml index a048c656238d6..cb8307d9fcffd 100644 --- a/manifests/crds/appproject-crd.yaml +++ b/manifests/crds/appproject-crd.yaml @@ -198,7 +198,7 @@ spec: description: Name is a name for this role type: string policies: - description: Policies Stores a list of casbin formated strings + description: Policies Stores a list of casbin formatted strings that define access policies for the role in the project items: type: string diff --git a/manifests/ha/install.yaml b/manifests/ha/install.yaml index 5149d6d887300..2d74a96977c2e 100644 --- a/manifests/ha/install.yaml +++ b/manifests/ha/install.yaml @@ -2418,7 +2418,7 @@ spec: description: Name is a name for this role type: string policies: - description: Policies Stores a list of casbin formated strings + description: Policies Stores a list of casbin formatted strings that define access policies for the role in the project items: type: string diff --git a/manifests/install.yaml b/manifests/install.yaml index 110e582ceb414..db06b9bb4f5e2 100644 --- a/manifests/install.yaml +++ b/manifests/install.yaml @@ -2418,7 +2418,7 @@ spec: description: Name is a name for this role type: string policies: - description: Policies Stores a list of casbin formated strings + description: Policies Stores a list of casbin formatted strings that define access policies for the role in the project items: type: string diff --git a/pkg/apiclient/repository/repository.pb.go b/pkg/apiclient/repository/repository.pb.go index 6f1489c28776d..1d78c363e2a53 100644 --- a/pkg/apiclient/repository/repository.pb.go +++ b/pkg/apiclient/repository/repository.pb.go @@ -745,7 +745,7 @@ type RepositoryServiceClient interface { // ListRepositories gets a list of all configured repositories ListRepositories(ctx context.Context, in *RepoQuery, opts ...grpc.CallOption) (*v1alpha1.RepositoryList, error) ListRefs(ctx context.Context, in *RepoQuery, opts ...grpc.CallOption) (*apiclient.Refs, error) - // ListApps returns list of apps in the repe + // ListApps returns list of apps in the repo ListApps(ctx context.Context, in *RepoAppsQuery, opts ...grpc.CallOption) (*RepoAppsResponse, error) // GetAppDetails returns application details by given path GetAppDetails(ctx context.Context, in *RepoAppDetailsQuery, opts ...grpc.CallOption) (*apiclient.RepoAppDetailsResponse, error) @@ -914,7 +914,7 @@ type RepositoryServiceServer interface { // ListRepositories gets a list of all configured repositories ListRepositories(context.Context, *RepoQuery) (*v1alpha1.RepositoryList, error) ListRefs(context.Context, *RepoQuery) (*apiclient.Refs, error) - // ListApps returns list of apps in the repe + // ListApps returns list of apps in the repo ListApps(context.Context, *RepoAppsQuery) (*RepoAppsResponse, error) // GetAppDetails returns application details by given path GetAppDetails(context.Context, *RepoAppDetailsQuery) (*apiclient.RepoAppDetailsResponse, error) diff --git a/pkg/apis/application/v1alpha1/app_project_types.go b/pkg/apis/application/v1alpha1/app_project_types.go index 3eefef42cf4ff..8986ace4cbe3f 100644 --- a/pkg/apis/application/v1alpha1/app_project_types.go +++ b/pkg/apis/application/v1alpha1/app_project_types.go @@ -275,7 +275,7 @@ func (p *AppProject) normalizePolicy(policy string) string { return normalizedPolicy } -// ProjectPoliciesString returns a Casbin formated string of a project's policies for each role +// ProjectPoliciesString returns a Casbin formatted string of a project's policies for each role func (proj *AppProject) ProjectPoliciesString() string { var policies []string for _, role := range proj.Spec.Roles { diff --git a/pkg/apis/application/v1alpha1/generated.proto b/pkg/apis/application/v1alpha1/generated.proto index ebcd2a405ea02..65bec61c05a0d 100644 --- a/pkg/apis/application/v1alpha1/generated.proto +++ b/pkg/apis/application/v1alpha1/generated.proto @@ -765,7 +765,7 @@ message ProjectRole { // Description is a description of the role optional string description = 2; - // Policies Stores a list of casbin formated strings that define access policies for the role in the project + // Policies Stores a list of casbin formatted strings that define access policies for the role in the project repeated string policies = 3; // JWTTokens are a list of generated JWT tokens bound to this role diff --git a/pkg/apis/application/v1alpha1/openapi_generated.go b/pkg/apis/application/v1alpha1/openapi_generated.go index 3c011f91f6f57..cffff9bf5bff4 100644 --- a/pkg/apis/application/v1alpha1/openapi_generated.go +++ b/pkg/apis/application/v1alpha1/openapi_generated.go @@ -2664,7 +2664,7 @@ func schema_pkg_apis_application_v1alpha1_ProjectRole(ref common.ReferenceCallba }, "policies": { SchemaProps: spec.SchemaProps{ - Description: "Policies Stores a list of casbin formated strings that define access policies for the role in the project", + Description: "Policies Stores a list of casbin formatted strings that define access policies for the role in the project", Type: []string{"array"}, Items: &spec.SchemaOrArray{ Schema: &spec.Schema{ diff --git a/pkg/apis/application/v1alpha1/types.go b/pkg/apis/application/v1alpha1/types.go index 17cb7c57e7a90..d29d421adc0ac 100644 --- a/pkg/apis/application/v1alpha1/types.go +++ b/pkg/apis/application/v1alpha1/types.go @@ -1963,7 +1963,7 @@ type ProjectRole struct { Name string `json:"name" protobuf:"bytes,1,opt,name=name"` // Description is a description of the role Description string `json:"description,omitempty" protobuf:"bytes,2,opt,name=description"` - // Policies Stores a list of casbin formated strings that define access policies for the role in the project + // Policies Stores a list of casbin formatted strings that define access policies for the role in the project Policies []string `json:"policies,omitempty" protobuf:"bytes,3,rep,name=policies"` // JWTTokens are a list of generated JWT tokens bound to this role JWTTokens []JWTToken `json:"jwtTokens,omitempty" protobuf:"bytes,4,rep,name=jwtTokens"` diff --git a/reposerver/apiclient/repository.pb.go b/reposerver/apiclient/repository.pb.go index 129e6f6d99b61..d8b0f1e182584 100644 --- a/reposerver/apiclient/repository.pb.go +++ b/reposerver/apiclient/repository.pb.go @@ -1465,7 +1465,7 @@ type RepoServerServiceClient interface { GenerateManifest(ctx context.Context, in *ManifestRequest, opts ...grpc.CallOption) (*ManifestResponse, error) // Returns a bool val if the repository is valid and has proper access TestRepository(ctx context.Context, in *TestRepositoryRequest, opts ...grpc.CallOption) (*TestRepositoryResponse, error) - // Returns a list of refs (eg. branches and tags) in the repo + // Returns a list of refs (e.g. branches and tags) in the repo ListRefs(ctx context.Context, in *ListRefsRequest, opts ...grpc.CallOption) (*Refs, error) // ListApps returns a list of apps in the repo ListApps(ctx context.Context, in *ListAppsRequest, opts ...grpc.CallOption) (*AppList, error) @@ -1554,7 +1554,7 @@ type RepoServerServiceServer interface { GenerateManifest(context.Context, *ManifestRequest) (*ManifestResponse, error) // Returns a bool val if the repository is valid and has proper access TestRepository(context.Context, *TestRepositoryRequest) (*TestRepositoryResponse, error) - // Returns a list of refs (eg. branches and tags) in the repo + // Returns a list of refs (e.g. branches and tags) in the repo ListRefs(context.Context, *ListRefsRequest) (*Refs, error) // ListApps returns a list of apps in the repo ListApps(context.Context, *ListAppsRequest) (*AppList, error) diff --git a/reposerver/cache/cache.go b/reposerver/cache/cache.go index 71192ec05701a..9c9f1c3f37448 100644 --- a/reposerver/cache/cache.go +++ b/reposerver/cache/cache.go @@ -63,8 +63,8 @@ func AddCacheFlagsToCmd(cmd *cobra.Command, opts ...func(client *redis.Client)) func appSourceKey(appSrc *appv1.ApplicationSource) uint32 { appSrc = appSrc.DeepCopy() if !appSrc.IsHelm() { - appSrc.RepoURL = "" // superceded by commitSHA - appSrc.TargetRevision = "" // superceded by commitSHA + appSrc.RepoURL = "" // superseded by commitSHA + appSrc.TargetRevision = "" // superseded by commitSHA } appSrcStr, _ := json.Marshal(appSrc) return hash.FNVa(string(appSrcStr)) diff --git a/reposerver/repository/repository.go b/reposerver/repository/repository.go index 549961afa1304..6f84981dd2949 100644 --- a/reposerver/repository/repository.go +++ b/reposerver/repository/repository.go @@ -175,7 +175,7 @@ type operationContext struct { // application path or helm chart path appPath string - // output of 'git verify-(tag/commit)', if signature verifiction is enabled (otherwise "") + // output of 'git verify-(tag/commit)', if signature verification is enabled (otherwise "") verificationResult string } @@ -370,9 +370,9 @@ func (s *Service) runManifestGen(repoRoot, commitSHA, cacheKey string, ctxSrc op return manifestGenCacheEntry.ManifestResponse, nil } -// getManifestCacheEntry returns false if the 'generate manifests' operation should be run by runRepoOperation, eg: +// getManifestCacheEntry returns false if the 'generate manifests' operation should be run by runRepoOperation, e.g.: // - If the cache result is empty for the requested key -// - If the cache is not empty, but the cached value is a manifest generation error AND we have not yet met the failure threshold (eg res.NumberOfConsecutiveFailures > 0 && res.NumberOfConsecutiveFailures < s.initConstants.PauseGenerationAfterFailedGenerationAttempts) +// - If the cache is not empty, but the cached value is a manifest generation error AND we have not yet met the failure threshold (e.g. res.NumberOfConsecutiveFailures > 0 && res.NumberOfConsecutiveFailures < s.initConstants.PauseGenerationAfterFailedGenerationAttempts) // - If the cache is not empty, but the cache value is an error AND that generation error has expired // and returns true otherwise. // If true is returned, either the second or third parameter (but not both) will contain a value from the cache (a ManifestResponse, or error, respectively) @@ -389,12 +389,12 @@ func (s *Service) getManifestCacheEntry(cacheKey string, q *apiclient.ManifestRe // If we are already in the 'manifest generation caching' state, due to too many consecutive failures... if res.NumberOfConsecutiveFailures >= s.initConstants.PauseGenerationAfterFailedGenerationAttempts { - // Check if enough time has passed to try generation again (eg to exit the 'manifest generation caching' state) + // Check if enough time has passed to try generation again (e.g. to exit the 'manifest generation caching' state) if s.initConstants.PauseGenerationOnFailureForMinutes > 0 { elapsedTimeInMinutes := int((s.now().Unix() - res.FirstFailureTimestamp) / 60) - // After X minutes, reset the cache and retry the operation (eg perhaps the error is ephemeral and has passed) + // After X minutes, reset the cache and retry the operation (e.g. perhaps the error is ephemeral and has passed) if elapsedTimeInMinutes >= s.initConstants.PauseGenerationOnFailureForMinutes { // We can now try again, so reset the cache state and run the operation below err = s.cache.DeleteManifests(cacheKey, q.ApplicationSource, q, q.Namespace, q.AppLabelKey, q.AppName) @@ -406,7 +406,7 @@ func (s *Service) getManifestCacheEntry(cacheKey string, q *apiclient.ManifestRe } } - // Check if enough cached responses have been returned to try generation again (eg to exit the 'manifest generation caching' state) + // Check if enough cached responses have been returned to try generation again (e.g. to exit the 'manifest generation caching' state) if s.initConstants.PauseGenerationOnFailureForRequests > 0 && res.NumberOfCachedResponsesReturned > 0 { if res.NumberOfCachedResponsesReturned >= s.initConstants.PauseGenerationOnFailureForRequests { diff --git a/reposerver/repository/repository.proto b/reposerver/repository/repository.proto index a8db80e5ce856..ff98ccb68d05b 100644 --- a/reposerver/repository/repository.proto +++ b/reposerver/repository/repository.proto @@ -172,7 +172,7 @@ service RepoServerService { rpc TestRepository(TestRepositoryRequest) returns (TestRepositoryResponse) { } - // Returns a list of refs (eg. branches and tags) in the repo + // Returns a list of refs (e.g. branches and tags) in the repo rpc ListRefs(ListRefsRequest) returns (Refs) { } diff --git a/server/application/application.go b/server/application/application.go index 2790b84db4f12..640d8eaf11ded 100644 --- a/server/application/application.go +++ b/server/application/application.go @@ -537,7 +537,7 @@ func (s *Server) waitSync(app *appv1.Application) { minVersion, err := strconv.Atoi(app.ResourceVersion) if err != nil { logCtx.Warnf("waitSync failed: could not parse resource version %s", app.ResourceVersion) - time.Sleep(50 * time.Millisecond) // sleep anyways + time.Sleep(50 * time.Millisecond) // sleep anyway return } for { diff --git a/server/repository/repository.proto b/server/repository/repository.proto index c6d86fa341ffc..537030ceecefe 100644 --- a/server/repository/repository.proto +++ b/server/repository/repository.proto @@ -117,7 +117,7 @@ service RepositoryService { option (google.api.http).get = "/api/v1/repositories/{repo}/refs"; } - // ListApps returns list of apps in the repe + // ListApps returns list of apps in the repo rpc ListApps(RepoAppsQuery) returns (RepoAppsResponse) { option (google.api.http).get = "/api/v1/repositories/{repo}/apps"; } diff --git a/server/server.go b/server/server.go index 66ced4419e775..3aab936f11a77 100644 --- a/server/server.go +++ b/server/server.go @@ -308,7 +308,7 @@ func (a *ArgoCDServer) Run(ctx context.Context, port int, metricsPort int) { }) errors.CheckError(realErr) - // Cmux is used to support servicing gRPC and HTTP1.1+JSON on the same port + // CMux is used to support servicing gRPC and HTTP1.1+JSON on the same port tcpm := cmux.New(conn) var tlsm cmux.CMux var grpcL net.Listener @@ -417,7 +417,7 @@ func (a *ArgoCDServer) watchSettings() { break } if prevOIDCConfig != a.settings.OIDCConfigRAW { - log.Infof("odic config modified. restarting") + log.Infof("oidc config modified. restarting") break } if prevURL != a.settings.URL { diff --git a/test/e2e/fixture/fixture.go b/test/e2e/fixture/fixture.go index 69667e6a3d86a..62254b5d6f76a 100644 --- a/test/e2e/fixture/fixture.go +++ b/test/e2e/fixture/fixture.go @@ -272,7 +272,7 @@ func CreateSecret(username, password string) string { return secretName } -// Convinience wrapper for updating argocd-cm +// Convenience wrapper for updating argocd-cm func updateSettingConfigMap(updater func(cm *corev1.ConfigMap) error) { updateGenericConfigMap(common.ArgoCDConfigMapName, updater) } diff --git a/test/e2e/testdata/always-outofsync/always-outofsync.yaml b/test/e2e/testdata/always-outofsync/always-outofsync.yaml index 8f9a9eb9c2e85..cf1bcc3e703f5 100644 --- a/test/e2e/testdata/always-outofsync/always-outofsync.yaml +++ b/test/e2e/testdata/always-outofsync/always-outofsync.yaml @@ -12,4 +12,4 @@ subjects: roleRef: apiGroup: "" kind: Role - name: doesnt-matter + name: does-not-matter diff --git a/util/git/git_test.go b/util/git/git_test.go index 1af0baf592bb0..e340fbbe45b4d 100644 --- a/util/git/git_test.go +++ b/util/git/git_test.go @@ -336,7 +336,7 @@ func TestNewFactory(t *testing.T) { name string args args }{ - {"Github", args{url: "https://github.com/argoproj/argocd-example-apps"}}, + {"GitHub", args{url: "https://github.com/argoproj/argocd-example-apps"}}, {"Azure", args{url: "https://jsuen0437@dev.azure.com/jsuen0437/jsuen/_git/jsuen"}}, } for _, tt := range tests { diff --git a/util/lua/lua.go b/util/lua/lua.go index 7b51c9acee7ad..34d1caf0ca56a 100644 --- a/util/lua/lua.go +++ b/util/lua/lua.go @@ -68,7 +68,7 @@ func (vm VM) runLua(obj *unstructured.Unstructured, script string) (*lua.LState, {lua.LoadLibName, lua.OpenPackage}, {lua.BaseLibName, lua.OpenBase}, {lua.TabLibName, lua.OpenTable}, - // load our 'safe' version of the os library + // load our 'safe' version of the OS library {lua.OsLibName, OpenSafeOs}, } { if err := l.CallByParam(lua.P{ @@ -79,7 +79,7 @@ func (vm VM) runLua(obj *unstructured.Unstructured, script string) (*lua.LState, panic(err) } } - // preload our 'safe' version of the os library. Allows the 'local os = require("os")' to work + // preload our 'safe' version of the OS library. Allows the 'local os = require("os")' to work l.PreloadModule(lua.OsLibName, SafeOsLoader) ctx, cancel := context.WithTimeout(context.Background(), 1*time.Second) diff --git a/util/lua/oslib_safe.go b/util/lua/oslib_safe.go index e871ecc0c15a2..bbe659dbe303b 100644 --- a/util/lua/oslib_safe.go +++ b/util/lua/oslib_safe.go @@ -1,7 +1,7 @@ package lua -// oslib_safe contains a subset of the lua os library. For security reasons, we do not expose -// the entirety of lua os library to custom actions, such as ones which can exit, read files, etc. +// oslib_safe contains a subset of the lua OS library. For security reasons, we do not expose +// the entirety of lua OS library to custom actions, such as ones which can exit, read files, etc. // Only the safe functions like os.time(), os.date() are exposed. Implementation was copied from // github.com/yuin/gopher-lua. diff --git a/util/oidc/oidc.go b/util/oidc/oidc.go index 610abac6e6d52..50b42dd1b6333 100644 --- a/util/oidc/oidc.go +++ b/util/oidc/oidc.go @@ -197,7 +197,7 @@ func isValidRedirectURL(redirectURL string, allowedURLs []string) bool { if r.Path == "" { r.Path = "/" } - // Prevent CLRF in the redirectURL + // Prevent CRLF in the redirectURL if strings.ContainsAny(r.Path, "\r\n") { return false } diff --git a/util/webhook/webhook.go b/util/webhook/webhook.go index 8ecafc7b0a5be..70e711c517102 100644 --- a/util/webhook/webhook.go +++ b/util/webhook/webhook.go @@ -52,11 +52,11 @@ type ArgoCDWebhookHandler struct { func NewHandler(namespace string, appClientset appclientset.Interface, set *settings.ArgoCDSettings, settingsSrc settingsSource, repoCache *cache.Cache, serverCache *servercache.Cache, argoDB db.ArgoDB) *ArgoCDWebhookHandler { githubWebhook, err := github.New(github.Options.Secret(set.WebhookGitHubSecret)) if err != nil { - log.Warnf("Unable to init the Github webhook") + log.Warnf("Unable to init the GitHub webhook") } gitlabWebhook, err := gitlab.New(gitlab.Options.Secret(set.WebhookGitLabSecret)) if err != nil { - log.Warnf("Unable to init the Gitlab webhook") + log.Warnf("Unable to init the GitLab webhook") } bitbucketWebhook, err := bitbucket.New(bitbucket.Options.UUID(set.WebhookBitbucketUUID)) if err != nil { @@ -356,7 +356,7 @@ func (a *ArgoCDWebhookHandler) Handler(w http.ResponseWriter, r *http.Request) { var err error switch { - //Gogs needs to be checked before Github since it carries both Gogs and (incompatible) Github headers + //Gogs needs to be checked before GitHub since it carries both Gogs and (incompatible) GitHub headers case r.Header.Get("X-Gogs-Event") != "": payload, err = a.gogs.Parse(r, gogs.PushEvent) case r.Header.Get("X-GitHub-Event") != "": From 3bba77c36fd2518c02e8757e502b786624f41c2e Mon Sep 17 00:00:00 2001 From: jannfis Date: Tue, 13 Jul 2021 19:19:48 +0200 Subject: [PATCH 34/93] chore: Skip cluster e2e tests if already run (#6705) * chore: Skip cluster e2e tests if already run Signed-off-by: jannfis * Use defer to record test run Signed-off-by: jannfis --- test/e2e/cluster_test.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/e2e/cluster_test.go b/test/e2e/cluster_test.go index d67b642827ca5..56c147021c300 100644 --- a/test/e2e/cluster_test.go +++ b/test/e2e/cluster_test.go @@ -11,12 +11,16 @@ import ( ) func TestClusterList(t *testing.T) { + SkipIfAlreadyRun(t) + defer RecordTestRun(t) output := FailOnErr(RunCli("cluster", "list")).(string) assert.Equal(t, fmt.Sprintf(`SERVER NAME VERSION STATUS MESSAGE https://kubernetes.default.svc in-cluster %v Successful `, GetVersions().ServerVersion), output) } func TestClusterGet(t *testing.T) { + SkipIfAlreadyRun(t) + defer RecordTestRun(t) output := FailOnErr(RunCli("cluster", "get", "https://kubernetes.default.svc")).(string) assert.Contains(t, output, fmt.Sprintf(` From 1b46143d0777698dd0e9751e80bd713aeb79a72f Mon Sep 17 00:00:00 2001 From: Yi Cai Date: Wed, 14 Jul 2021 15:00:19 -0400 Subject: [PATCH 35/93] fix: Cluster filter is broken on applications list page #6616 (#6715) Signed-off-by: ciiay --- .../components/applications-list/applications-filter.tsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ui/src/app/applications/components/applications-list/applications-filter.tsx b/ui/src/app/applications/components/applications-list/applications-filter.tsx index c86aed9f4168c..6d701663cdf9a 100644 --- a/ui/src/app/applications/components/applications-list/applications-filter.tsx +++ b/ui/src/app/applications/components/applications-list/applications-filter.tsx @@ -30,7 +30,13 @@ export function getFilterResults(applications: Application[], pref: AppsListPref sync: pref.syncFilter.length === 0 || pref.syncFilter.includes(app.status.sync.status), health: pref.healthFilter.length === 0 || pref.healthFilter.includes(app.status.health.status), namespaces: pref.namespacesFilter.length === 0 || pref.namespacesFilter.some(ns => app.spec.destination.namespace && minimatch(app.spec.destination.namespace, ns)), - clusters: pref.clustersFilter.length === 0 || pref.clustersFilter.some(server => server === (app.spec.destination.server || app.spec.destination.name)), + clusters: + pref.clustersFilter.length === 0 || + pref.clustersFilter.some( + selector => + (app.spec.destination.server && selector.includes(app.spec.destination.server)) || + (app.spec.destination.name && selector.includes(app.spec.destination.name)) + ), labels: pref.labelsFilter.length === 0 || pref.labelsFilter.every(selector => LabelSelector.match(selector, app.metadata.labels)) } })); From 2b3601cfa3782e7a37c1b5c5a8ca4e576325d2f1 Mon Sep 17 00:00:00 2001 From: Alex Collins Date: Wed, 14 Jul 2021 16:01:12 -0700 Subject: [PATCH 36/93] feat(ui): Adds resource filter panel. Fixes #6379 #6331 #6081 (#6717) Signed-off-by: Alex Collins --- Makefile | 4 +- .../application-details.tsx | 122 ++++++++------- .../application-details/filters.tsx | 147 ++++++++++++++++++ .../services/view-preferences-service.ts | 2 +- 4 files changed, 220 insertions(+), 55 deletions(-) create mode 100644 ui/src/app/applications/components/application-details/filters.tsx diff --git a/Makefile b/Makefile index 13f39574c577e..ed4b22eda3252 100644 --- a/Makefile +++ b/Makefile @@ -430,7 +430,7 @@ start-e2e-local: ARGOCD_TLS_DATA_PATH=/tmp/argo-e2e/app/config/tls \ ARGOCD_GPG_DATA_PATH=/tmp/argo-e2e/app/config/gpg/source \ ARGOCD_GNUPGHOME=/tmp/argo-e2e/app/config/gpg/keys \ - ARGOCD_GPG_ENABLED=true \ + ARGOCD_GPG_ENABLED=$(ARGOCD_GPG_ENABLED) \ ARGOCD_E2E_DISABLE_AUTH=false \ ARGOCD_ZJWT_FEATURE_FLAG=always \ ARGOCD_IN_CI=$(ARGOCD_IN_CI) \ @@ -463,7 +463,7 @@ start-local: mod-vendor-local dep-ui-local mkdir -p /tmp/argocd-local/gpg/source ARGOCD_ZJWT_FEATURE_FLAG=always \ ARGOCD_IN_CI=false \ - ARGOCD_GPG_ENABLED=true \ + ARGOCD_GPG_ENABLED=$(ARGOCD_GPG_ENABLED) \ ARGOCD_E2E_TEST=false \ goreman -f $(ARGOCD_PROCFILE) start ${ARGOCD_START} diff --git a/ui/src/app/applications/components/application-details/application-details.tsx b/ui/src/app/applications/components/application-details/application-details.tsx index 3ef166993b1cd..41624b5db8849 100644 --- a/ui/src/app/applications/components/application-details/application-details.tsx +++ b/ui/src/app/applications/components/application-details/application-details.tsx @@ -1,4 +1,4 @@ -import {Checkbox as ArgoCheckbox, DropDownMenu, NotificationType, SlidingPanel, TopBarFilter} from 'argo-ui'; +import {Checkbox as ArgoCheckbox, DropDownMenu, NotificationType, SlidingPanel} from 'argo-ui'; import * as classNames from 'classnames'; import * as PropTypes from 'prop-types'; import * as React from 'react'; @@ -9,6 +9,7 @@ import {delay, filter, map, mergeMap, repeat, retryWhen} from 'rxjs/operators'; import {DataLoader, EmptyState, ErrorNotification, ObservableQuery, Page, Paginate, Revision, Timestamp} from '../../../shared/components'; import {AppContext, ContextApis} from '../../../shared/context'; import * as appModels from '../../../shared/models'; +import {ApplicationTree} from '../../../shared/models'; import {AppDetailsPreferences, AppsDetailsViewType, services} from '../../../shared/services'; import {ApplicationConditions} from '../application-conditions/application-conditions'; @@ -21,6 +22,7 @@ import {ApplicationSyncPanel} from '../application-sync-panel/application-sync-p import {ResourceDetails} from '../resource-details/resource-details'; import * as AppUtils from '../utils'; import {ApplicationResourceList} from './application-resource-list'; +import {Filters} from './filters'; require('./application-details.scss'); @@ -29,6 +31,15 @@ interface ApplicationDetailsState { revision?: string; } +interface FilterInput { + kind: string[]; + health: string[]; + sync: string[]; + namespace: string[]; + createdWithin: number[]; // number of minutes the resource must be created within + ownership: string[]; +} + export const NodeInfo = (node?: string): {key: string; container: number} => { const nodeContainer = {key: '', container: 0}; if (node) { @@ -108,44 +119,13 @@ export class ApplicationDetails extends React.Component {({application, tree, pref}: {application: appModels.Application; tree: appModels.ApplicationTree; pref: AppDetailsPreferences}) => { tree.nodes = tree.nodes || []; - const kindsSet = new Set(tree.nodes.map(item => item.kind)); const treeFilter = this.getTreeFilter(pref.resourceFilter); - treeFilter.kind.forEach(kind => { - kindsSet.add(kind); - }); - const kinds = Array.from(kindsSet); - const noKindsFilter = pref.resourceFilter.filter(item => item.indexOf('kind:') !== 0); - const refreshing = application.metadata.annotations && application.metadata.annotations[appModels.AnnotationRefreshKey]; - - const filterTopBar: TopBarFilter = { - items: [ - {content: () => Sync}, - {value: 'sync:Synced', label: 'Synced'}, - // Unhealthy includes 'Unknown' and 'OutOfSync' - {value: 'sync:OutOfSync', label: 'OutOfSync'}, - {content: () => Health}, - {value: 'health:Healthy', label: 'Healthy'}, - {value: 'health:Progressing', label: 'Progressing'}, - {value: 'health:Degraded', label: 'Degraded'}, - {value: 'health:Missing', label: 'Missing'}, - {value: 'health:Unknown', label: 'Unknown'}, - { - content: setSelection => ( - - ) - }, - ...kinds.sort().map(kind => ({value: `kind:${kind}`, label: kind})) - ], - selectedValues: pref.resourceFilter, - selectionChanged: items => { - this.appContext.apis.navigation.goto('.', {resource: `${items.join(',')}`}); - services.viewPreferences.updatePreferences({appDetails: {...pref, resourceFilter: items}}); - } + const setFilter = (items: string[]) => { + this.appContext.apis.navigation.goto('.', {resource: items.join(',')}); + services.viewPreferences.updatePreferences({appDetails: {...pref, resourceFilter: items}}); }; - + const clearFilter = () => setFilter([]); + const refreshing = application.metadata.annotations && application.metadata.annotations[appModels.AnnotationRefreshKey]; const appNodesByName = this.groupAppNodesByKey(application, tree); const selectedItem = (this.selectedNodeKey && appNodesByName.get(this.selectedNodeKey)) || null; const isAppSelected = selectedItem === application; @@ -166,7 +146,7 @@ export class ApplicationDetails extends React.Component { const resNode: ResourceTreeNode = {...res, root: null, info: null, parentRefs: [], resourceVersion: '', uid: ''}; resNode.root = resNode; - return this.filterTreeNode(resNode, treeFilter); + return this.filterTreeNode(tree, resNode, treeFilter); }) .concat(orphans); @@ -175,7 +155,6 @@ export class ApplicationDetails extends React.Component
{refreshing &&

Refreshing

} + {(tree.orphanedNodes || []).length > 0 && (
this.filterTreeNode(node, treeFilter)} + nodeFilter={node => this.filterTreeNode(tree, node, treeFilter)} selectedNodeFullName={this.selectedNodeKey} onNodeClick={fullName => this.selectNode(fullName)} nodeMenu={node => @@ -254,10 +234,7 @@ export class ApplicationDetails extends React.Component { - this.appContext.apis.navigation.goto('.', {resource: ''}); - services.viewPreferences.updatePreferences({appDetails: {...pref, resourceFilter: []}}); - }} + onClearFilter={clearFilter} /> )) || (pref.view === 'pods' && ( @@ -459,14 +436,43 @@ export class ApplicationDetails extends React.Component (item === 'OutOfSync' ? ['OutOfSync', 'Unknown'] : [item])).reduce((first, second) => first.concat(second), []); - return ( + const minutesAgo = (m: number) => { + const d = new Date(); + d.setTime(d.getTime() - m * 60000); + return d; + }; + const createdAt = new Date(node.createdAt); // will be falsely if the node has not been created, and so will not appear + const createdWithin = (n: number) => createdAt.getTime() > minutesAgo(n).getTime(); + + const root = node.root || ({} as ResourceTreeNode); + const hook = root && root.hook; + if ( (filterInput.kind.length === 0 || filterInput.kind.indexOf(node.kind) > -1) && - (syncStatuses.length === 0 || node.root.hook || (node.root.status && syncStatuses.indexOf(node.root.status) > -1)) && - (filterInput.health.length === 0 || node.root.hook || (node.root.health && filterInput.health.indexOf(node.root.health.status) > -1)) - ); + (syncStatuses.length === 0 || hook || (root.status && syncStatuses.indexOf(root.status) > -1)) && + (filterInput.health.length === 0 || hook || (root.health && filterInput.health.indexOf(root.health.status) > -1)) && + (filterInput.namespace.length === 0 || filterInput.namespace.includes(node.namespace)) && + (filterInput.createdWithin.length === 0 || !!filterInput.createdWithin.find(v => createdWithin(v))) + ) { + return true; + } + + if (filterInput.ownership.includes('Owned') && ownership !== 'Owners') { + const owned = tree.nodes.filter(n => (node.parentRefs || []).find(r => r.uid === n.uid)); + if (owned.find(n => this.filterTreeNode(tree, n, filterInput, 'Owned'))) { + return true; + } + } + if (filterInput.ownership.includes('Owners') && ownership !== 'Owned') { + const owners = tree.nodes.filter(n => (n.parentRefs || []).find(r => r.uid === node.uid)); + if (owners.find(n => this.filterTreeNode(tree, n, filterInput, 'Owners'))) { + return true; + } + } + + return false; } private loadAppInfo(name: string): Observable<{application: appModels.Application; tree: appModels.ApplicationTree}> { @@ -535,11 +541,14 @@ export class ApplicationDetails extends React.Component(); const health = new Array(); const sync = new Array(); - for (const item of filterInput) { + const namespace = new Array(); + const createdWithin = new Array(); + const ownership = new Array(); + for (const item of filterInput || []) { const [type, val] = item.split(':'); switch (type) { case 'kind': @@ -551,9 +560,18 @@ export class ApplicationDetails extends React.Component self.indexOf(value) === index; + +export const Filters = ({ + pref, + tree, + onSetFilter, + onClearFilter +}: { + pref: AppDetailsPreferences; + tree: ApplicationTree; + onSetFilter: (items: string[]) => void; + onClearFilter: () => void; +}) => { + const {history, navigation} = useContext(Context); + + const shown = new URLSearchParams(history.location.search).get('showFilters') === 'true'; + const setShown = (showFilters: boolean) => navigation.goto('.', {showFilters}); + + const resourceFilter = pref.resourceFilter || []; + const hasPrefix = (prefix: string) => (v: string) => v.startsWith(prefix + ':'); + const removePrefix = (prefix: string) => (v: string) => v.replace(prefix + ':', ''); + + const anyFiltered = pref.resourceFilter.length > 0; + const isFiltered = (prefix: string, suffix: string) => resourceFilter.includes(`${prefix}:${suffix}`); + const anyPrefixFiltered = (prefix: string) => resourceFilter.find(hasPrefix(prefix)); + const setFilters = (prefix: string, suffixes: string[], v: boolean) => { + const filters = suffixes.map(suffix => `${prefix}:${suffix}`); + const items = resourceFilter.filter(y => !filters.includes(y)); + if (v) { + items.push(...filters); + } + onSetFilter(items); + }; + const enableFilter = (prefix: string, suffix: string) => { + const items = resourceFilter.filter(v => !hasPrefix(prefix)(v)).concat([`${prefix}:${suffix}`]); + onSetFilter(items); + }; + // this is smarter than it looks at first glance, rather than just un-checked known items, + // it instead finds out what is enabled, and then removes them, which will be tolerant to weird or unknown items + const clearFilters = (prefix: string) => { + return setFilters(prefix, resourceFilter.filter(hasPrefix(prefix)).map(removePrefix(prefix)), false); + }; + + // we need to include ones that might have been filter in other apps that do not apply to the current app, + // otherwise the user will not be able to clear them from this panel + const alreadyFilteredOn = (prefix: string) => resourceFilter.filter(hasPrefix(prefix)).map(removePrefix(prefix)); + + const kinds = tree.nodes + .map(x => x.kind) + .concat(alreadyFilteredOn('kind')) + .filter(uniq) + .sort(); + const namespaces = tree.nodes + .map(x => x.namespace) + .concat(alreadyFilteredOn('namespace')) + .filter(uniq) + .sort(); + + const checkbox = (prefix: string, suffix: string, label: string = null) => ( + + ); + const checkboxes = (prefix: string, suffixes: string[]) => suffixes.map(suffix => checkbox(prefix, suffix)); + + const radiobox = (prefix: string, suffix: string, label: string) => ( + + ); + + const clearFilterLink = (prefix: string) => + anyPrefixFiltered(prefix) && ( + + clearFilters(prefix)}>clear + + ); + + return ( + <> + + {shown && ( +
+
+
+ OWNERSHIP + + {clearFilterLink('ownership')} +
+
{checkboxes('ownership', ['Owners', 'Owned'])}
+
+
+
SYNC STATUS {clearFilterLink('sync')}
+
{checkboxes('sync', ['Synced', 'OutOfSync'])}
+
+
+
HEALTH STATUS {clearFilterLink('health')}
+
{checkboxes('health', ['Healthy', 'Progressing', 'Degraded', 'Suspended', 'Missing', 'Unknown'])}
+
+
+
+ KINDS + + setFilters('kind', kinds, true)}>all {anyPrefixFiltered('kind') && clearFilters('kind')}>clear} + +
+
{checkboxes('kind', kinds)}
+
+ {namespaces.length > 1 && ( +
+
NAMESPACE {clearFilterLink('namespace')}
+
{checkboxes('namespace', namespaces)}
+
+ )} +
+
+ CREATED WITHIN + + {clearFilterLink('createdWithin')} +
+
{[1, 3, 5, 15, 60].map(m => radiobox('createdWithin', String(m), m + 'm'))}
+
+
+ )} + + ); +}; diff --git a/ui/src/app/shared/services/view-preferences-service.ts b/ui/src/app/shared/services/view-preferences-service.ts index 38081ad9eb2a8..2c2f837af4c66 100644 --- a/ui/src/app/shared/services/view-preferences-service.ts +++ b/ui/src/app/shared/services/view-preferences-service.ts @@ -71,7 +71,7 @@ const DEFAULT_PREFERENCES: ViewPreferences = { version: 1, appDetails: { view: 'tree', - resourceFilter: ['kind:Deployment', 'kind:Service', 'kind:Pod', 'kind:StatefulSet', 'kind:Ingress', 'kind:ConfigMap', 'kind:Job', 'kind:DaemonSet', 'kind:Workflow'], + resourceFilter: [], inlineDiff: false, compactDiff: false, resourceView: 'manifest', From 30d2ba1f1c282b46d6bfc0e813937a760b13cfef Mon Sep 17 00:00:00 2001 From: rohanmathure <85972001+rohanmathure@users.noreply.github.com> Date: Wed, 14 Jul 2021 21:01:55 -0700 Subject: [PATCH 37/93] docs: Add chime as a user (#6725) Signed-off-by: Rohan Mathure --- USERS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/USERS.md b/USERS.md index 9a732726c2109..5650dd5c92184 100644 --- a/USERS.md +++ b/USERS.md @@ -24,6 +24,7 @@ Currently, the following organizations are **officially** using Argo CD: 1. [Camptocamp](https://camptocamp.com) 1. [CARFAX](https://www.carfax.com) 1. [Celonis](https://www.celonis.com/) +1. [Chime](https://www.chime.com) 1. [Codefresh](https://www.codefresh.io/) 1. [Codility](https://www.codility.com/) 1. [Commonbond](https://commonbond.co/) From af7f3fbd482f2b554a2c5b802656307ab6fe7352 Mon Sep 17 00:00:00 2001 From: Yuan Tang Date: Fri, 16 Jul 2021 12:15:35 -0400 Subject: [PATCH 38/93] docs: Add Alibaba Group to USERS.md (#6740) * docs: Add Alibaba Group to USERS.md Signed-off-by: Yuan Tang --- USERS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/USERS.md b/USERS.md index 5650dd5c92184..227797df30bbc 100644 --- a/USERS.md +++ b/USERS.md @@ -9,6 +9,7 @@ Currently, the following organizations are **officially** using Argo CD: 1. [7shifts](https://www.7shifts.com/) 1. [Adevinta](https://www.adevinta.com/) 1. [Adventure](https://jp.adventurekk.com/) +1. [Alibaba Group](https://www.alibabagroup.com/) 1. [Ambassador Labs](https://www.getambassador.io/) 1. [Ant Group](https://www.antgroup.com/) 1. [ANSTO - Australian Synchrotron](https://www.synchrotron.org.au/) From 2ca14c631003f4dc3ad313d1faa32572256e5e8c Mon Sep 17 00:00:00 2001 From: Viktor Farcic Date: Fri, 16 Jul 2021 18:17:44 +0200 Subject: [PATCH 39/93] docs: Yet another ArgoCD-related video (#6730) Signed-off-by: Viktor Farcic --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 881e6233370ec..17826ab7a36cf 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,7 @@ Participation in the Argo CD project is governed by the [CNCF Code of Conduct](h ### Blogs and Presentations +1. [Combining Argo CD (GitOps), Crossplane (Control Plane), And KubeVela (OAM)](https://youtu.be/eEcgn_gU3SM) 1. [How to Apply GitOps to Everything - Combining Argo CD and Crossplane](https://youtu.be/yrj4lmScKHQ) 1. [Couchbase - How To Run a Database Cluster in Kubernetes Using Argo CD](https://youtu.be/nkPoPaVzExY) 1. [Automation of Everything - How To Combine Argo Events, Workflows & Pipelines, CD, and Rollouts](https://youtu.be/XNXJtxkUKeY) From 90bacef5bb2d371f4ecbd87d2eb359fca14484fb Mon Sep 17 00:00:00 2001 From: Nabil BENDAFI Date: Fri, 16 Jul 2021 18:40:16 +0200 Subject: [PATCH 40/93] feat: allow argocd-cm to reference K8S Secrets (#4188) (#4342) * feat: allow argocd-cm to reference K8S Secrets Signed-off-by: Nabil BENDAFI --- docs/operator-manual/user-management/index.md | 58 ++++++++++++++++++- util/settings/settings.go | 22 ++++++- util/settings/settings_test.go | 53 +++++++++++++++++ 3 files changed, 128 insertions(+), 5 deletions(-) diff --git a/docs/operator-manual/user-management/index.md b/docs/operator-manual/user-management/index.md index 3fd067f54f4ce..8ed40e7871cb1 100644 --- a/docs/operator-manual/user-management/index.md +++ b/docs/operator-manual/user-management/index.md @@ -172,7 +172,7 @@ data: name: GitHub config: clientID: aabbccddeeff00112233 - clientSecret: $dex.github.clientSecret + clientSecret: $dex.github.clientSecret # Alternatively $:dex.github.clientSecret orgs: - name: your-github-org @@ -183,7 +183,7 @@ data: config: hostName: github.acme.com clientID: abcdefghijklmnopqrst - clientSecret: $dex.acme.clientSecret + clientSecret: $dex.acme.clientSecret # Alternatively $:dex.acme.clientSecret orgs: - name: your-github-org ``` @@ -293,6 +293,12 @@ You are not required to specify a logoutRedirectURL as this is automatically gen ### Sensitive Data and SSO Client Secrets You can use the `argocd-secret` to store any sensitive data. ArgoCD knows to check the keys under `data` in the `argocd-secret` secret for a corresponding key whenever a value in a configmap starts with `$`. This can be used to store things such as your `clientSecret`. +* Any values which start with `$` will : + - If value is in form of `$:a.key.in.k8s.secret`, look to a key in K8S `` of the same name (minus the `$`), and reads it value. + - Otherwise, look to a key in `argocd-secret` of the same name (minus the `$`), + to obtain the actual value. This allows you to store the `clientSecret` as a kubernetes secret. + Kubernetes secrets must be base64 encoded. To base64 encode your secret, you can run + `printf RAW_STRING | base64`. Data should be base64 encoded before it is added to `argocd-secret`. You can do so by running `printf RAW_SECRET_STRING | base64`. @@ -336,3 +342,51 @@ data: clientSecret: $oidc.auth0.clientSecret ... ``` + +#### Alternative + +If you want to store sensitive data in **another** Kubernetes `Secret`, instead of `argocd-secret`. ArgoCD knows to check the keys under `data` in your Kubernetes `Secret` for a corresponding key whenever a value in a configmap starts with `$`, then your Kubernetes `Secret` name and `:` (colon). + +Syntax: `$:` + +> NOTE: Secret must have label `app.kubernetes.io/part-of: argocd` + +##### Example + +`another-secret`: +```yaml +apiVersion: v1 +kind: Secret +metadata: + name: another-secret + namespace: argocd + labels: + app.kubernetes.io/part-of: argocd +type: Opaque +data: + ... + # Store client secret like below. + # Ensure the secret is base64 encoded + oidc.auth0.clientSecret: + ... +``` + +`argocd-cm`: +```yaml +apiVersion: v1 +kind: ConfigMap +metadata: + name: argocd-cm + namespace: argocd + labels: + app.kubernetes.io/name: argocd-cm + app.kubernetes.io/part-of: argocd +data: + ... + oidc.config: | + name: Auth0 + clientID: aabbccddeeff00112233 + # Reference key in another-secret (and not argocd-secret) + clientSecret: $another-secret:oidc.auth0.clientSecret # Mind the ':' + ... +``` diff --git a/util/settings/settings.go b/util/settings/settings.go index f5d2e97261015..9cd11b7fd2c80 100644 --- a/util/settings/settings.go +++ b/util/settings/settings.go @@ -23,6 +23,7 @@ import ( apierrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" + "k8s.io/apimachinery/pkg/labels" v1 "k8s.io/client-go/informers/core/v1" "k8s.io/client-go/kubernetes" v1listers "k8s.io/client-go/listers/core/v1" @@ -305,6 +306,8 @@ const ( initialPasswordLength = 16 // externalServerTLSSecretName defines the name of the external secret holding the server's TLS certificate externalServerTLSSecretName = "argocd-server-tls" + // partOfArgoCDSelector holds label selector that should be applied to config maps and secrets used to manage Argo CD + partOfArgoCDSelector = "app.kubernetes.io/part-of=argocd" ) // SettingsManager holds config info for a new manager with which to access Kubernetes ConfigMaps. @@ -895,10 +898,18 @@ func (mgr *SettingsManager) GetSettings() (*ArgoCDSettings, error) { if err != nil { return nil, err } + selector, err := labels.Parse(partOfArgoCDSelector) + if err != nil { + return nil, err + } + secrets, err := mgr.secrets.Secrets(mgr.namespace).List(selector) + if err != nil { + return nil, err + } var settings ArgoCDSettings var errs []error updateSettingsFromConfigMap(&settings, argoCDCM) - if err := mgr.updateSettingsFromSecret(&settings, argoCDSecret); err != nil { + if err := mgr.updateSettingsFromSecret(&settings, argoCDSecret, secrets); err != nil { errs = append(errs, err) } if len(errs) > 0 { @@ -919,7 +930,7 @@ func (mgr *SettingsManager) invalidateCache() { func (mgr *SettingsManager) initialize(ctx context.Context) error { tweakConfigMap := func(options *metav1.ListOptions) { - cmLabelSelector := fields.ParseSelectorOrDie("app.kubernetes.io/part-of=argocd") + cmLabelSelector := fields.ParseSelectorOrDie(partOfArgoCDSelector) options.LabelSelector = cmLabelSelector.String() } @@ -1041,7 +1052,7 @@ func validateExternalURL(u string) error { } // updateSettingsFromSecret transfers settings from a Kubernetes secret into an ArgoCDSettings struct. -func (mgr *SettingsManager) updateSettingsFromSecret(settings *ArgoCDSettings, argoCDSecret *apiv1.Secret) error { +func (mgr *SettingsManager) updateSettingsFromSecret(settings *ArgoCDSettings, argoCDSecret *apiv1.Secret, secrets []*apiv1.Secret) error { var errs []error secretKey, ok := argoCDSecret.Data[settingServerSignatureKey] if ok { @@ -1091,6 +1102,11 @@ func (mgr *SettingsManager) updateSettingsFromSecret(settings *ArgoCDSettings, a } } secretValues := make(map[string]string, len(argoCDSecret.Data)) + for _, s := range secrets { + for k, v := range s.Data { + secretValues[fmt.Sprintf("%s:%s", s.Name, k)] = string(v) + } + } for k, v := range argoCDSecret.Data { secretValues[k] = string(v) } diff --git a/util/settings/settings_test.go b/util/settings/settings_test.go index 115557948ee9c..9f23a72fbd8f5 100644 --- a/util/settings/settings_test.go +++ b/util/settings/settings_test.go @@ -894,3 +894,56 @@ func Test_GetTLSConfiguration(t *testing.T) { assert.Contains(t, getCNFromCertificate(settings.Certificate), "Argo CD E2E") }) } + +func TestSecretKeyRef(t *testing.T) { + data := map[string]string{ + "oidc.config": `name: Okta +issuer: https://dev-123456.oktapreview.com +clientID: aaaabbbbccccddddeee +clientSecret: $acme:clientSecret +# Optional set of OIDC scopes to request. If omitted, defaults to: ["openid", "profile", "email", "groups"] +requestedScopes: ["openid", "profile", "email"] +# Optional set of OIDC claims to request on the ID token. +requestedIDTokenClaims: {"groups": {"essential": true}}`, + } + cm := &v1.ConfigMap{ + ObjectMeta: metav1.ObjectMeta{ + Name: common.ArgoCDConfigMapName, + Namespace: "default", + Labels: map[string]string{ + "app.kubernetes.io/part-of": "argocd", + }, + }, + Data: data, + } + argocdSecret := &v1.Secret{ + ObjectMeta: metav1.ObjectMeta{ + Name: common.ArgoCDSecretName, + Namespace: "default", + }, + Data: map[string][]byte{ + "admin.password": nil, + "server.secretkey": nil, + }, + } + secret := &v1.Secret{ + ObjectMeta: metav1.ObjectMeta{ + Name: "acme", + Namespace: "default", + Labels: map[string]string{ + "app.kubernetes.io/part-of": "argocd", + }, + }, + Data: map[string][]byte{ + "clientSecret": []byte("deadbeef"), + }, + } + kubeClient := fake.NewSimpleClientset(cm, secret, argocdSecret) + settingsManager := NewSettingsManager(context.Background(), kubeClient, "default") + + settings, err := settingsManager.GetSettings() + assert.NoError(t, err) + + oidcConfig := settings.OIDCConfig() + assert.Equal(t, oidcConfig.ClientSecret, "deadbeef") +} From 1838fc05879ce8791d85d1ced0fa96c9713195d5 Mon Sep 17 00:00:00 2001 From: jannfis Date: Fri, 16 Jul 2021 18:43:08 +0200 Subject: [PATCH 41/93] chore: Include k8s v1.21 in e2e test, drop v1.16 (#6716) Signed-off-by: jannfis --- .github/workflows/ci-build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-build.yaml b/.github/workflows/ci-build.yaml index 9c23e1ee8ba7e..a72f453ba513c 100644 --- a/.github/workflows/ci-build.yaml +++ b/.github/workflows/ci-build.yaml @@ -340,7 +340,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - k3s-version: [v1.20.2, v1.19.2, v1.18.9, v1.17.11, v1.16.15] + k3s-version: [v1.21.2, v1.20.2, v1.19.2, v1.18.9, v1.17.11] needs: - build-go env: From e17565ae8124706feb7c17b23195885d8173a26b Mon Sep 17 00:00:00 2001 From: ZymoticB Date: Fri, 16 Jul 2021 16:59:30 -0400 Subject: [PATCH 42/93] fix: allow argocd-notification ingress to repo-server (#6746) * Allow argocd-notification ingress to repo-server This change allows an argocd-notification installation using the provided manifests to ingress to the repo-server. I am not sure if there is a prevailing opinion about how to manage a cross project network policy for these related components so I thought I would put up a PR to spark that discussion. This could live in a separate NetworkPolicy object managed by the argocd-notifications manifests but I thought it wuold be better for the possible ingresses for the argocd project to all live in the argo-cd manifests. I know that notifications are an optional component, so maybe this is better provided as a separate manifest that can be strategic merged in? (I am a kustomize user). Regardless, I think this policy is something that be maintained by argoproj in some form to reduce release burden of users trying to hand maintain network policies. Signed-off-by: Tyler Dixon * make manifests Signed-off-by: Tyler Dixon --- .../base/repo-server/argocd-repo-server-network-policy.yaml | 3 +++ manifests/ha/install.yaml | 3 +++ manifests/ha/namespace-install.yaml | 3 +++ manifests/install.yaml | 3 +++ manifests/namespace-install.yaml | 3 +++ 5 files changed, 15 insertions(+) diff --git a/manifests/base/repo-server/argocd-repo-server-network-policy.yaml b/manifests/base/repo-server/argocd-repo-server-network-policy.yaml index ea0d841388f77..2b3fb72b557b5 100644 --- a/manifests/base/repo-server/argocd-repo-server-network-policy.yaml +++ b/manifests/base/repo-server/argocd-repo-server-network-policy.yaml @@ -16,6 +16,9 @@ spec: - podSelector: matchLabels: app.kubernetes.io/name: argocd-application-controller + - podSelector: + matchLabels: + app.kubernetes.io/name: argocd-notifications-controller ports: - protocol: TCP port: 8081 diff --git a/manifests/ha/install.yaml b/manifests/ha/install.yaml index 2d74a96977c2e..fe91dc808e9d2 100644 --- a/manifests/ha/install.yaml +++ b/manifests/ha/install.yaml @@ -4629,6 +4629,9 @@ spec: - podSelector: matchLabels: app.kubernetes.io/name: argocd-application-controller + - podSelector: + matchLabels: + app.kubernetes.io/name: argocd-notifications-controller ports: - port: 8081 protocol: TCP diff --git a/manifests/ha/namespace-install.yaml b/manifests/ha/namespace-install.yaml index 726e3f868c7c2..a61ab34a83861 100644 --- a/manifests/ha/namespace-install.yaml +++ b/manifests/ha/namespace-install.yaml @@ -2016,6 +2016,9 @@ spec: - podSelector: matchLabels: app.kubernetes.io/name: argocd-application-controller + - podSelector: + matchLabels: + app.kubernetes.io/name: argocd-notifications-controller ports: - port: 8081 protocol: TCP diff --git a/manifests/install.yaml b/manifests/install.yaml index db06b9bb4f5e2..496237a5f38ff 100644 --- a/manifests/install.yaml +++ b/manifests/install.yaml @@ -3781,6 +3781,9 @@ spec: - podSelector: matchLabels: app.kubernetes.io/name: argocd-application-controller + - podSelector: + matchLabels: + app.kubernetes.io/name: argocd-notifications-controller ports: - port: 8081 protocol: TCP diff --git a/manifests/namespace-install.yaml b/manifests/namespace-install.yaml index 364f5cc937b30..3b4741b1a916e 100644 --- a/manifests/namespace-install.yaml +++ b/manifests/namespace-install.yaml @@ -1168,6 +1168,9 @@ spec: - podSelector: matchLabels: app.kubernetes.io/name: argocd-application-controller + - podSelector: + matchLabels: + app.kubernetes.io/name: argocd-notifications-controller ports: - port: 8081 protocol: TCP From a9a69b74c9b5d49f775694df50eda4473e72bbae Mon Sep 17 00:00:00 2001 From: Alexander Matyushentsev Date: Mon, 19 Jul 2021 10:39:09 -0700 Subject: [PATCH 43/93] docs: Argo CD Headless proposal (aka GitOps Agent) (#6385) * docs: Argo CD Headless proposal (aka GitOps Agent) Signed-off-by: Alexander Matyushentsev --- docs/proposals/headless-argocd.md | 132 ++++++++++++++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 docs/proposals/headless-argocd.md diff --git a/docs/proposals/headless-argocd.md b/docs/proposals/headless-argocd.md new file mode 100644 index 0000000000000..51bee5ce85bcb --- /dev/null +++ b/docs/proposals/headless-argocd.md @@ -0,0 +1,132 @@ +--- +title: Neat-enhancement-idea +authors: +- "@alexmt" + sponsors: +- TBD + reviewers: +- "@jessesuen" +- TBD + approvers: +- "@jessesuen" +- TBD + +creation-date: 2020-05-01 +last-updated: 2020-05-01 +--- + +# Neat Enhancement Idea + +Support "disabling" multi-tenancy features by introducing Headless Argo CD. + +## Summary + +There are two main group of GitOps users: + +* Application developers - engineers who leverages Kubernetes to run applications. +* Cluster administrators - engineers who manage and support Kubernetes clusters for the organization. + +Argo CD is a perfect fit for application developers thanks to its multi-tenancy features. Instead of running a separate Argo CD instance for +each team, it is possible to run on the instance and leverage features like SSO, RBAC, and Web user interface. However, this is not the case +for cluster administrators. Administrators prefer to rely on Kubernetes RBAC and view SSO and Argo CD RBAC as an obstacle and security threat. +SSO, RBAC, and UI/API are totally optional and can be disabled but it requires additional configuration and learning. + +## Motivation + +It is proposed to introduce officially supported **Headless Argo CD** that encapsulates changes required to disable multi-tenancy features +and provide a seamless experience for cluster administrators (or any other user who don't need multi-tenancy). + +### Goals + +The goals of "Headless Argo CD" are: + +#### Provide an easy way to deploy Argo CD without API/UI + +The end-user should be able to install required components using a single `kubectl apply` command without following any additional instructions. + +#### Provide an easy way to use and manage Headless Argo CD + +The `Headless Argo CD` should provide a simple way to view and manage Argo CD applications using CLI/UI. The access control should be enforced by +Kubernetes RBAC only. + +#### Easy transition from Headless to non-Headless Argo CD + +It is a common case when the Argo CD adopter wants to start small and then expand Argo CD to the whole organization. It should be easy +to "upgrade" headless to full Argo CD installation. + +### Non-Goals + +#### Not modified Argo CD + +The `Headless Argo CD` is not modified Argo CD. It is Argo CD distribution that missing UI/API and CLI that provides commands for Argo CD admin. + +#### Not deprecating existing operational methods + +The `Headless Argo CD` is not intended to deprecate any of the existing operational methods. + +## Proposal + +#### Headless Installation Manifests + +In order to simplify installation of Argo CD without API we need introduce `headless/install.yaml` in [manifests](../../manifests) directory. +The installation manifests should include only non HA controller, repo-server, Redis components, and RBAC. + +#### Headless CLI + +Without the API server, users won't be able to take advantage of Argo CD UI and `argocd` CLI so the user experience won't be complete. To fill that gap +we need to change the `argocd` CLI that and support talking directly to Kubernetes without requiring Argo CD API Server. The [argo-cd#6361](https://github.com/argoproj/argo-cd/pull/6361) +demonstrates required changes: + +* Adds `--headless` flag to `argocd` commands +* If the `--headless` flag is set to true then pre-run function that starts "local" Argo CD API server and points CLI to locally running instance +* Finally on-demand port-forwards to Redis and repo server. + +The user should be able to store `--headless` flag in config in order to avoid specifying the flag for every command. It is proposed to use `argocd login --headless` to generate +"headless" config. + +#### Local UI + +In addition to exposing CLI commands the PR introduces `argocd admin dashboard` command. The new command starts API server locally and exposes Argo CD UI locally. +In order to make this possible the static assets have been embedded into Argo CD binary. + +### Merge Argo CD Util + +The potential users of "headless" mode will benefit from `argocd-util` commands. The experience won't be smooth since they will need to switch back and forth +between `argocd` and `argocd-util`. Given that we still have not finalized how users are supposed to get `argocd-util` binary (https://github.com/argoproj/argo-cd/issues/5307) +it is proposed to deprecate `argocd-util` and merge in into `argocd` CLI under admin subcommand: + +``` +argocd admin app generate-spec guestbook --repo https://github.com/argoproj/argocd-example-apps +``` + +### Use cases + +Add a list of detailed use cases this enhancement intends to take care of. + +## Use case 1: + +As an Argo CD administrator, I would like to manage cluster resources using Argo CD without exposing API/UI outside of the cluster. + +## Use case 2: + +As an Argo CD administrator, I would like to use Argo CD CLI commands and user interface to manage Argo CD applications/settings using only `kubeconf` file and without Argo CD API access. + +### Security Considerations + +The Headless CLI/UI disables built-in Argo CD authentication and relies only on Kubernetes RBAC. So if the user will be able to make the same change using Headless CLI as using kubectl. + +### Risks and Mitigations + +TBD + +### Upgrade / Downgrade Strategy + +Switching to and from Argo CD Headless does not modify any persistent data or settings. So upgrade/downgrade should be seamless by just applying the right manifest file. + +## Drawbacks + +* Embedding static resources into the binary increases it's size by ~20 mb. The image size is the same. + +## Alternatives + +* Re-invent GitOps Agent CLI experience and don't re-use Argo CD. \ No newline at end of file From ef744e3c1588e7ac3e33d22b560969b056af4265 Mon Sep 17 00:00:00 2001 From: Remington Breeze Date: Mon, 19 Jul 2021 11:00:51 -0700 Subject: [PATCH 44/93] feat(ui): Persist visibility of apps list filters in local storage (#6748) Signed-off-by: Remington Breeze --- .../components/applications-list/applications-filter.tsx | 5 ++++- ui/src/app/shared/services/view-preferences-service.ts | 4 +++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/ui/src/app/applications/components/applications-list/applications-filter.tsx b/ui/src/app/applications/components/applications-list/applications-filter.tsx index 6d701663cdf9a..5b3906ad240c8 100644 --- a/ui/src/app/applications/components/applications-list/applications-filter.tsx +++ b/ui/src/app/applications/components/applications-list/applications-filter.tsx @@ -192,7 +192,10 @@ const NamespaceFilter = (props: AppFilterProps) => { }; export const ApplicationsFilter = (props: AppFilterProps) => { - const [hidden, setHidden] = React.useState(false); + const hidden = props.pref.hideFilters; + const setHidden = (val: boolean) => { + services.viewPreferences.updatePreferences({appList: {...props.pref, hideFilters: val}}); + }; React.useEffect(() => { const handleResize = () => { diff --git a/ui/src/app/shared/services/view-preferences-service.ts b/ui/src/app/shared/services/view-preferences-service.ts index 2c2f837af4c66..0adbf1051fc7f 100644 --- a/ui/src/app/shared/services/view-preferences-service.ts +++ b/ui/src/app/shared/services/view-preferences-service.ts @@ -53,6 +53,7 @@ export class AppsListPreferences { public namespacesFilter: string[]; public clustersFilter: string[]; public view: AppsListViewType; + public hideFilters: boolean; } export interface ViewPreferences { @@ -91,7 +92,8 @@ const DEFAULT_PREFERENCES: ViewPreferences = { clustersFilter: new Array(), reposFilter: new Array(), syncFilter: new Array(), - healthFilter: new Array() + healthFilter: new Array(), + hideFilters: false }, pageSizes: {}, hideBannerContent: '' From 58ac345f2bd4054a12b4991a8909c56a035867d9 Mon Sep 17 00:00:00 2001 From: Alexander Matyushentsev Date: Mon, 19 Jul 2021 11:58:58 -0700 Subject: [PATCH 45/93] feat: support managing cluster resources in a namespaced mode (#6581) Signed-off-by: Alexander Matyushentsev --- assets/swagger.json | 4 + cmd/argocd-util/commands/cluster.go | 261 +++++- cmd/argocd/commands/cluster.go | 2 +- cmd/util/cluster.go | 11 +- cmd/util/cluster_test.go | 6 +- controller/cache/cache.go | 4 + .../server-commands/argocd-util_cluster.md | 1 + .../argocd-util_cluster_generate-spec.md | 1 + .../argocd-util_cluster_namespaces.md | 37 + ...ster_namespaces_disable-namespaced-mode.md | 41 + ...uster_namespaces_enable-namespaced-mode.md | 43 + .../user-guide/commands/argocd_cluster_add.md | 1 + go.mod | 2 +- go.sum | 4 +- pkg/apis/application/v1alpha1/generated.pb.go | 862 +++++++++--------- pkg/apis/application/v1alpha1/generated.proto | 3 + .../application/v1alpha1/openapi_generated.go | 7 + pkg/apis/application/v1alpha1/types.go | 6 + server/cluster/cluster.go | 3 + util/db/cluster.go | 4 + 20 files changed, 869 insertions(+), 434 deletions(-) create mode 100644 docs/operator-manual/server-commands/argocd-util_cluster_namespaces.md create mode 100644 docs/operator-manual/server-commands/argocd-util_cluster_namespaces_disable-namespaced-mode.md create mode 100644 docs/operator-manual/server-commands/argocd-util_cluster_namespaces_enable-namespaced-mode.md diff --git a/assets/swagger.json b/assets/swagger.json index 1be636f2813c3..9e9ff5407713e 100644 --- a/assets/swagger.json +++ b/assets/swagger.json @@ -5106,6 +5106,10 @@ "type": "object", "title": "Cluster is the definition of a cluster resource", "properties": { + "clusterResources": { + "description": "Indicates if cluster level resources should be managed. This setting is used only if cluster is connected in a namespaced mode.", + "type": "boolean" + }, "config": { "$ref": "#/definitions/v1alpha1ClusterConfig" }, diff --git a/cmd/argocd-util/commands/cluster.go b/cmd/argocd-util/commands/cluster.go index f168967609372..0ce7f3857dbde 100644 --- a/cmd/argocd-util/commands/cluster.go +++ b/cmd/argocd-util/commands/cluster.go @@ -5,6 +5,8 @@ import ( "fmt" "math" "os" + "sort" + "strings" "text/tabwriter" "time" @@ -22,12 +24,15 @@ import ( "github.com/argoproj/argo-cd/v2/common" "github.com/argoproj/argo-cd/v2/controller/sharding" argoappv1 "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1" + "github.com/argoproj/argo-cd/v2/pkg/client/clientset/versioned" + "github.com/argoproj/argo-cd/v2/util/argo" cacheutil "github.com/argoproj/argo-cd/v2/util/cache" appstatecache "github.com/argoproj/argo-cd/v2/util/cache/appstate" "github.com/argoproj/argo-cd/v2/util/cli" "github.com/argoproj/argo-cd/v2/util/clusterauth" "github.com/argoproj/argo-cd/v2/util/db" "github.com/argoproj/argo-cd/v2/util/errors" + "github.com/argoproj/argo-cd/v2/util/glob" kubeutil "github.com/argoproj/argo-cd/v2/util/kube" "github.com/argoproj/argo-cd/v2/util/settings" ) @@ -45,16 +50,23 @@ func NewClusterCommand(pathOpts *clientcmd.PathOptions) *cobra.Command { command.AddCommand(NewGenClusterConfigCommand(pathOpts)) command.AddCommand(NewClusterStatsCommand()) command.AddCommand(NewClusterShardsCommand()) + namespacesCommand := NewClusterNamespacesCommand() + namespacesCommand.AddCommand(NewClusterEnableNamespacedMode()) + namespacesCommand.AddCommand(NewClusterDisableNamespacedMode()) + command.AddCommand(namespacesCommand) return command } type ClusterWithInfo struct { argoappv1.Cluster + // Shard holds controller shard number that handles the cluster Shard int + // Namespaces holds list of namespaces managed by Argo CD in the cluster + Namespaces []string } -func loadClusters(kubeClient *kubernetes.Clientset, replicas int, namespace string, portForwardRedis bool, cacheSrc func() (*appstatecache.Cache, error), shard int) ([]ClusterWithInfo, error) { +func loadClusters(kubeClient *kubernetes.Clientset, appClient *versioned.Clientset, replicas int, namespace string, portForwardRedis bool, cacheSrc func() (*appstatecache.Cache, error), shard int) ([]ClusterWithInfo, error) { settingsMgr := settings.NewSettingsManager(context.Background(), kubeClient, namespace) argoDB := db.NewDB(namespace, settingsMgr, kubeClient) @@ -78,6 +90,18 @@ func loadClusters(kubeClient *kubernetes.Clientset, replicas int, namespace stri } } + appItems, err := appClient.ArgoprojV1alpha1().Applications(namespace).List(context.Background(), v1.ListOptions{}) + if err != nil { + return nil, err + } + apps := appItems.Items + for i, app := range apps { + err := argo.ValidateDestination(context.Background(), &app.Spec.Destination, argoDB) + if err != nil { + return nil, err + } + apps[i] = app + } clusters := make([]ClusterWithInfo, len(clustersList.Items)) batchSize := 10 batchesCount := int(math.Ceil(float64(len(clusters)) / float64(batchSize))) @@ -98,9 +122,18 @@ func loadClusters(kubeClient *kubernetes.Clientset, replicas int, namespace stri if shard != -1 && clusterShard != shard { return nil } - + nsSet := map[string]bool{} + for _, app := range apps { + if app.Spec.Destination.Server == cluster.Server { + nsSet[app.Spec.Destination.Namespace] = true + } + } + var namespaces []string + for ns := range nsSet { + namespaces = append(namespaces, ns) + } _ = cache.GetClusterInfo(cluster.Server, &cluster.Info) - clusters[batchStart+i] = ClusterWithInfo{cluster, clusterShard} + clusters[batchStart+i] = ClusterWithInfo{cluster, clusterShard, namespaces} return nil }) } @@ -135,6 +168,7 @@ func NewClusterShardsCommand() *cobra.Command { namespace, _, err := clientConfig.Namespace() errors.CheckError(err) kubeClient := kubernetes.NewForConfigOrDie(clientCfg) + appClient := versioned.NewForConfigOrDie(clientCfg) if replicas == 0 { replicas, err = getControllerReplicas(kubeClient, namespace) @@ -144,7 +178,7 @@ func NewClusterShardsCommand() *cobra.Command { return } - clusters, err := loadClusters(kubeClient, replicas, namespace, portForwardRedis, cacheSrc, shard) + clusters, err := loadClusters(kubeClient, appClient, replicas, namespace, portForwardRedis, cacheSrc, shard) errors.CheckError(err) if len(clusters) == 0 { return @@ -180,6 +214,216 @@ func printStatsSummary(clusters []ClusterWithInfo) { _ = w.Flush() } +func runClusterNamespacesCommand(clientConfig clientcmd.ClientConfig, action func(appClient *versioned.Clientset, argoDB db.ArgoDB, clusters map[string][]string) error) error { + clientCfg, err := clientConfig.ClientConfig() + if err != nil { + return err + } + namespace, _, err := clientConfig.Namespace() + if err != nil { + return err + } + + kubeClient := kubernetes.NewForConfigOrDie(clientCfg) + appClient := versioned.NewForConfigOrDie(clientCfg) + + settingsMgr := settings.NewSettingsManager(context.Background(), kubeClient, namespace) + argoDB := db.NewDB(namespace, settingsMgr, kubeClient) + clustersList, err := argoDB.ListClusters(context.Background()) + if err != nil { + return err + } + appItems, err := appClient.ArgoprojV1alpha1().Applications(namespace).List(context.Background(), v1.ListOptions{}) + if err != nil { + return err + } + apps := appItems.Items + for i, app := range apps { + err := argo.ValidateDestination(context.Background(), &app.Spec.Destination, argoDB) + if err != nil { + return err + } + apps[i] = app + } + + clusters := map[string][]string{} + for _, cluster := range clustersList.Items { + nsSet := map[string]bool{} + for _, app := range apps { + if app.Spec.Destination.Server != cluster.Server { + continue + } + // Use namespaces of actually deployed resources, since some application use dummy target namespace + // If resources list is empty then use target namespace + if len(app.Status.Resources) != 0 { + for _, res := range app.Status.Resources { + if res.Namespace != "" { + nsSet[res.Namespace] = true + } + } + } else { + if app.Spec.Destination.Server == cluster.Server { + nsSet[app.Spec.Destination.Namespace] = true + } + } + } + var namespaces []string + for ns := range nsSet { + namespaces = append(namespaces, ns) + } + clusters[cluster.Server] = namespaces + } + return action(appClient, argoDB, clusters) +} + +func NewClusterNamespacesCommand() *cobra.Command { + var ( + clientConfig clientcmd.ClientConfig + ) + var command = cobra.Command{ + Use: "namespaces", + Short: "Print information namespaces which Argo CD manages in each cluster.", + Run: func(cmd *cobra.Command, args []string) { + log.SetLevel(log.WarnLevel) + + err := runClusterNamespacesCommand(clientConfig, func(appClient *versioned.Clientset, _ db.ArgoDB, clusters map[string][]string) error { + w := tabwriter.NewWriter(os.Stdout, 0, 0, 2, ' ', 0) + _, _ = fmt.Fprintf(w, "CLUSTER\tNAMESPACES\n") + + for cluster, namespaces := range clusters { + // print shortest namespace names first + sort.Slice(namespaces, func(i, j int) bool { + return len(namespaces[j]) > len(namespaces[i]) + }) + namespacesStr := "" + if len(namespaces) > 4 { + namespacesStr = fmt.Sprintf("%s (total %d)", strings.Join(namespaces[:4], ","), len(namespaces)) + } else { + namespacesStr = strings.Join(namespaces, ",") + } + + _, _ = fmt.Fprintf(w, "%s\t%s\n", cluster, namespacesStr) + } + _ = w.Flush() + return nil + }) + errors.CheckError(err) + }, + } + clientConfig = cli.AddKubectlFlagsToCmd(&command) + return &command +} + +func NewClusterEnableNamespacedMode() *cobra.Command { + var ( + clientConfig clientcmd.ClientConfig + dryRun bool + clusterResources bool + namespacesCount int + ) + var command = cobra.Command{ + Use: "enable-namespaced-mode PATTERN", + Short: "Enable namespaced mode for clusters which name matches to the specified pattern.", + Run: func(cmd *cobra.Command, args []string) { + log.SetLevel(log.WarnLevel) + + if len(args) == 0 { + cmd.HelpFunc()(cmd, args) + os.Exit(1) + } + pattern := args[0] + + errors.CheckError(runClusterNamespacesCommand(clientConfig, func(_ *versioned.Clientset, argoDB db.ArgoDB, clusters map[string][]string) error { + for server, namespaces := range clusters { + if len(namespaces) == 0 || len(namespaces) > namespacesCount || !glob.Match(pattern, server) { + continue + } + + cluster, err := argoDB.GetCluster(context.Background(), server) + if err != nil { + return err + } + cluster.Namespaces = namespaces + cluster.ClusterResources = clusterResources + fmt.Printf("Setting cluster %s namespaces to %v...", server, namespaces) + if !dryRun { + _, err = argoDB.UpdateCluster(context.Background(), cluster) + if err != nil { + return err + } + fmt.Println("done") + } else { + fmt.Println("done (dry run)") + } + + } + return nil + })) + }, + } + clientConfig = cli.AddKubectlFlagsToCmd(&command) + command.Flags().BoolVar(&dryRun, "dry-run", true, "Print what will be performed") + command.Flags().BoolVar(&clusterResources, "cluster-resources", false, "Indicates if cluster level resources should be managed.") + command.Flags().IntVar(&namespacesCount, "max-namespace-count", 0, "Max number of namespaces that cluster should managed managed namespaces is less or equal to specified count") + + return &command +} + +func NewClusterDisableNamespacedMode() *cobra.Command { + var ( + clientConfig clientcmd.ClientConfig + dryRun bool + ) + var command = cobra.Command{ + Use: "disable-namespaced-mode PATTERN", + Short: "Disable namespaced mode for clusters which name matches to the specified pattern.", + Run: func(cmd *cobra.Command, args []string) { + log.SetLevel(log.WarnLevel) + + if len(args) == 0 { + cmd.HelpFunc()(cmd, args) + os.Exit(1) + } + + pattern := args[0] + + errors.CheckError(runClusterNamespacesCommand(clientConfig, func(_ *versioned.Clientset, argoDB db.ArgoDB, clusters map[string][]string) error { + for server := range clusters { + if !glob.Match(pattern, server) { + continue + } + + cluster, err := argoDB.GetCluster(context.Background(), server) + if err != nil { + return err + } + + if len(cluster.Namespaces) == 0 { + continue + } + + cluster.Namespaces = nil + fmt.Printf("Disabling namespaced mode for cluster %s...", server) + if !dryRun { + _, err = argoDB.UpdateCluster(context.Background(), cluster) + if err != nil { + return err + } + fmt.Println("done") + } else { + fmt.Println("done (dry run)") + } + + } + return nil + })) + }, + } + clientConfig = cli.AddKubectlFlagsToCmd(&command) + command.Flags().BoolVar(&dryRun, "dry-run", true, "Print what will be performed") + return &command +} + func NewClusterStatsCommand() *cobra.Command { var ( shard int @@ -200,17 +444,18 @@ func NewClusterStatsCommand() *cobra.Command { errors.CheckError(err) kubeClient := kubernetes.NewForConfigOrDie(clientCfg) + appClient := versioned.NewForConfigOrDie(clientCfg) if replicas == 0 { replicas, err = getControllerReplicas(kubeClient, namespace) errors.CheckError(err) } - clusters, err := loadClusters(kubeClient, replicas, namespace, portForwardRedis, cacheSrc, shard) + clusters, err := loadClusters(kubeClient, appClient, replicas, namespace, portForwardRedis, cacheSrc, shard) errors.CheckError(err) w := tabwriter.NewWriter(os.Stdout, 0, 0, 2, ' ', 0) - _, _ = fmt.Fprintf(w, "SERVER\tSHARD\tCONNECTION\tAPPS COUNT\tRESOURCES COUNT\n") + _, _ = fmt.Fprintf(w, "SERVER\tSHARD\tCONNECTION\tNAMESPACES COUNT\tAPPS COUNT\tRESOURCES COUNT\n") for _, cluster := range clusters { - _, _ = fmt.Fprintf(w, "%s\t%d\t%s\t%d\t%d\n", cluster.Server, cluster.Shard, cluster.Info.ConnectionState.Status, cluster.Info.ApplicationsCount, cluster.Info.CacheInfo.ResourcesCount) + _, _ = fmt.Fprintf(w, "%s\t%d\t%s\t%d\t%d\t%d\n", cluster.Server, cluster.Shard, cluster.Info.ConnectionState.Status, len(cluster.Namespaces), cluster.Info.ApplicationsCount, cluster.Info.CacheInfo.ResourcesCount) } _ = w.Flush() }, @@ -315,7 +560,7 @@ func NewGenClusterConfigCommand(pathOpts *clientcmd.PathOptions) *cobra.Command if clusterOpts.Name != "" { contextName = clusterOpts.Name } - clst := cmdutil.NewCluster(contextName, clusterOpts.Namespaces, conf, bearerToken, awsAuthConf, execProviderConf) + clst := cmdutil.NewCluster(contextName, clusterOpts.Namespaces, clusterOpts.ClusterResources, conf, bearerToken, awsAuthConf, execProviderConf) if clusterOpts.InCluster { clst.Server = argoappv1.KubernetesInternalAPIServerAddr } diff --git a/cmd/argocd/commands/cluster.go b/cmd/argocd/commands/cluster.go index 6f05638120782..44d631865dc7b 100644 --- a/cmd/argocd/commands/cluster.go +++ b/cmd/argocd/commands/cluster.go @@ -127,7 +127,7 @@ func NewClusterAddCommand(clientOpts *argocdclient.ClientOptions, pathOpts *clie if clusterOpts.Name != "" { contextName = clusterOpts.Name } - clst := cmdutil.NewCluster(contextName, clusterOpts.Namespaces, conf, managerBearerToken, awsAuthConf, execProviderConf) + clst := cmdutil.NewCluster(contextName, clusterOpts.Namespaces, clusterOpts.ClusterResources, conf, managerBearerToken, awsAuthConf, execProviderConf) if clusterOpts.InCluster { clst.Server = argoappv1.KubernetesInternalAPIServerAddr } diff --git a/cmd/util/cluster.go b/cmd/util/cluster.go index 4b2687cf4f4bd..196e6a07debdd 100644 --- a/cmd/util/cluster.go +++ b/cmd/util/cluster.go @@ -55,7 +55,7 @@ func PrintKubeContexts(ca clientcmd.ConfigAccess) { } } -func NewCluster(name string, namespaces []string, conf *rest.Config, managerBearerToken string, awsAuthConf *argoappv1.AWSAuthConfig, execProviderConf *argoappv1.ExecProviderConfig) *argoappv1.Cluster { +func NewCluster(name string, namespaces []string, clusterResources bool, conf *rest.Config, managerBearerToken string, awsAuthConf *argoappv1.AWSAuthConfig, execProviderConf *argoappv1.ExecProviderConfig) *argoappv1.Cluster { tlsClientConfig := argoappv1.TLSClientConfig{ Insecure: conf.TLSClientConfig.Insecure, ServerName: conf.TLSClientConfig.ServerName, @@ -80,9 +80,10 @@ func NewCluster(name string, namespaces []string, conf *rest.Config, managerBear } clst := argoappv1.Cluster{ - Server: conf.Host, - Name: name, - Namespaces: namespaces, + Server: conf.Host, + Name: name, + Namespaces: namespaces, + ClusterResources: clusterResources, Config: argoappv1.ClusterConfig{ TLSClientConfig: tlsClientConfig, AWSAuthConfig: awsAuthConf, @@ -108,6 +109,7 @@ type ClusterOptions struct { AwsClusterName string SystemNamespace string Namespaces []string + ClusterResources bool Name string Shard int64 ExecProviderCommand string @@ -122,6 +124,7 @@ func AddClusterFlags(command *cobra.Command, opts *ClusterOptions) { command.Flags().StringVar(&opts.AwsClusterName, "aws-cluster-name", "", "AWS Cluster name if set then aws cli eks token command will be used to access cluster") command.Flags().StringVar(&opts.AwsRoleArn, "aws-role-arn", "", "Optional AWS role arn. If set then AWS IAM Authenticator assumes a role to perform cluster operations instead of the default AWS credential provider chain.") command.Flags().StringArrayVar(&opts.Namespaces, "namespace", nil, "List of namespaces which are allowed to manage") + command.Flags().BoolVar(&opts.ClusterResources, "cluster-resources", false, "Indicates if cluster level resources should be managed. The setting is used only if list of managed namespaces is not empty.") command.Flags().StringVar(&opts.Name, "name", "", "Overwrite the cluster name") command.Flags().Int64Var(&opts.Shard, "shard", -1, "Cluster shard number; inferred from hostname if not set") command.Flags().StringVar(&opts.ExecProviderCommand, "exec-command", "", "Command to run to provide client credentials to the cluster. You may need to build a custom ArgoCD image to ensure the command is available at runtime.") diff --git a/cmd/util/cluster_test.go b/cmd/util/cluster_test.go index 80cbbe60c2948..865ea74967450 100644 --- a/cmd/util/cluster_test.go +++ b/cmd/util/cluster_test.go @@ -11,7 +11,7 @@ import ( ) func Test_newCluster(t *testing.T) { - clusterWithData := NewCluster("test-cluster", []string{"test-namespace"}, &rest.Config{ + clusterWithData := NewCluster("test-cluster", []string{"test-namespace"}, false, &rest.Config{ TLSClientConfig: rest.TLSClientConfig{ Insecure: false, ServerName: "test-endpoint.example.com", @@ -29,7 +29,7 @@ func Test_newCluster(t *testing.T) { assert.Equal(t, "test-key-data", string(clusterWithData.Config.KeyData)) assert.Equal(t, "", clusterWithData.Config.BearerToken) - clusterWithFiles := NewCluster("test-cluster", []string{"test-namespace"}, &rest.Config{ + clusterWithFiles := NewCluster("test-cluster", []string{"test-namespace"}, false, &rest.Config{ TLSClientConfig: rest.TLSClientConfig{ Insecure: false, ServerName: "test-endpoint.example.com", @@ -47,7 +47,7 @@ func Test_newCluster(t *testing.T) { assert.True(t, strings.Contains(string(clusterWithFiles.Config.KeyData), "test-key-data")) assert.Equal(t, "", clusterWithFiles.Config.BearerToken) - clusterWithBearerToken := NewCluster("test-cluster", []string{"test-namespace"}, &rest.Config{ + clusterWithBearerToken := NewCluster("test-cluster", []string{"test-namespace"}, false, &rest.Config{ TLSClientConfig: rest.TLSClientConfig{ Insecure: false, ServerName: "test-endpoint.example.com", diff --git a/controller/cache/cache.go b/controller/cache/cache.go index 1650d163fb8fd..781eaea7c1d7a 100644 --- a/controller/cache/cache.go +++ b/controller/cache/cache.go @@ -290,6 +290,7 @@ func (c *liveStateCache) getCluster(server string) (clustercache.ClusterCache, e clustercache.SetResyncTimeout(K8SClusterResyncDuration), clustercache.SetSettings(cacheSettings.clusterSettings), clustercache.SetNamespaces(cluster.Namespaces), + clustercache.SetClusterResources(cluster.ClusterResources), clustercache.SetPopulateResourceInfoHandler(func(un *unstructured.Unstructured, isRoot bool) (interface{}, bool) { res := &ResourceInfo{} populateNodeInfo(un, res) @@ -544,6 +545,9 @@ func (c *liveStateCache) handleModEvent(oldCluster *appv1.Cluster, newCluster *a if !reflect.DeepEqual(oldCluster.Namespaces, newCluster.Namespaces) { updateSettings = append(updateSettings, clustercache.SetNamespaces(newCluster.Namespaces)) } + if !reflect.DeepEqual(oldCluster.ClusterResources, newCluster.ClusterResources) { + updateSettings = append(updateSettings, clustercache.SetClusterResources(newCluster.ClusterResources)) + } forceInvalidate := false if newCluster.RefreshRequestedAt != nil && cluster.GetClusterInfo().LastCacheSyncTime != nil && diff --git a/docs/operator-manual/server-commands/argocd-util_cluster.md b/docs/operator-manual/server-commands/argocd-util_cluster.md index 2d39ebae9e1f2..39acbf995a16b 100644 --- a/docs/operator-manual/server-commands/argocd-util_cluster.md +++ b/docs/operator-manual/server-commands/argocd-util_cluster.md @@ -17,6 +17,7 @@ argocd-util cluster [flags] * [argocd-util](argocd-util.md) - argocd-util tools used by Argo CD * [argocd-util cluster generate-spec](argocd-util_cluster_generate-spec.md) - Generate declarative config for a cluster * [argocd-util cluster kubeconfig](argocd-util_cluster_kubeconfig.md) - Generates kubeconfig for the specified cluster +* [argocd-util cluster namespaces](argocd-util_cluster_namespaces.md) - Print information namespaces which Argo CD manages in each cluster. * [argocd-util cluster shards](argocd-util_cluster_shards.md) - Print information about each controller shard and portion of Kubernetes resources it is responsible for. * [argocd-util cluster stats](argocd-util_cluster_stats.md) - Prints information cluster statistics and inferred shard number diff --git a/docs/operator-manual/server-commands/argocd-util_cluster_generate-spec.md b/docs/operator-manual/server-commands/argocd-util_cluster_generate-spec.md index 77c7d70ebfb2c..47601f26a3421 100644 --- a/docs/operator-manual/server-commands/argocd-util_cluster_generate-spec.md +++ b/docs/operator-manual/server-commands/argocd-util_cluster_generate-spec.md @@ -12,6 +12,7 @@ argocd-util cluster generate-spec CONTEXT [flags] --aws-cluster-name string AWS Cluster name if set then aws cli eks token command will be used to access cluster --aws-role-arn string Optional AWS role arn. If set then AWS IAM Authenticator assumes a role to perform cluster operations instead of the default AWS credential provider chain. --bearer-token string Authentication token that should be used to access K8S API server + --cluster-resources Indicates if cluster level resources should be managed. The setting is used only if list of managed namespaces is not empty. --exec-command string Command to run to provide client credentials to the cluster. You may need to build a custom ArgoCD image to ensure the command is available at runtime. --exec-command-api-version string Preferred input version of the ExecInfo for the --exec-command executable --exec-command-args stringArray Arguments to supply to the --exec-command executable diff --git a/docs/operator-manual/server-commands/argocd-util_cluster_namespaces.md b/docs/operator-manual/server-commands/argocd-util_cluster_namespaces.md new file mode 100644 index 0000000000000..3104dd4013497 --- /dev/null +++ b/docs/operator-manual/server-commands/argocd-util_cluster_namespaces.md @@ -0,0 +1,37 @@ +## argocd-util cluster namespaces + +Print information namespaces which Argo CD manages in each cluster. + +``` +argocd-util cluster namespaces [flags] +``` + +### Options + +``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use + --context string The name of the kubeconfig context to use + -h, --help help for namespaces + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure + --kubeconfig string Path to a kube config. Only required if out-of-cluster + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server +``` + +### SEE ALSO + +* [argocd-util cluster](argocd-util_cluster.md) - Manage clusters configuration +* [argocd-util cluster namespaces disable-namespaced-mode](argocd-util_cluster_namespaces_disable-namespaced-mode.md) - Disable namespaced mode for clusters which name matches to the specified pattern. +* [argocd-util cluster namespaces enable-namespaced-mode](argocd-util_cluster_namespaces_enable-namespaced-mode.md) - Enable namespaced mode for clusters which name matches to the specified pattern. + diff --git a/docs/operator-manual/server-commands/argocd-util_cluster_namespaces_disable-namespaced-mode.md b/docs/operator-manual/server-commands/argocd-util_cluster_namespaces_disable-namespaced-mode.md new file mode 100644 index 0000000000000..17cabd3d83668 --- /dev/null +++ b/docs/operator-manual/server-commands/argocd-util_cluster_namespaces_disable-namespaced-mode.md @@ -0,0 +1,41 @@ +## argocd-util cluster namespaces disable-namespaced-mode + +Disable namespaced mode for clusters which name matches to the specified pattern. + +``` +argocd-util cluster namespaces disable-namespaced-mode PATTERN [flags] +``` + +### Options + +``` + --dry-run Print what will be performed (default true) + -h, --help help for disable-namespaced-mode +``` + +### Options inherited from parent commands + +``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use + --context string The name of the kubeconfig context to use + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure + --kubeconfig string Path to a kube config. Only required if out-of-cluster + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server +``` + +### SEE ALSO + +* [argocd-util cluster namespaces](argocd-util_cluster_namespaces.md) - Print information namespaces which Argo CD manages in each cluster. + diff --git a/docs/operator-manual/server-commands/argocd-util_cluster_namespaces_enable-namespaced-mode.md b/docs/operator-manual/server-commands/argocd-util_cluster_namespaces_enable-namespaced-mode.md new file mode 100644 index 0000000000000..0e7983ba4163b --- /dev/null +++ b/docs/operator-manual/server-commands/argocd-util_cluster_namespaces_enable-namespaced-mode.md @@ -0,0 +1,43 @@ +## argocd-util cluster namespaces enable-namespaced-mode + +Enable namespaced mode for clusters which name matches to the specified pattern. + +``` +argocd-util cluster namespaces enable-namespaced-mode PATTERN [flags] +``` + +### Options + +``` + --cluster-resources Indicates if cluster level resources should be managed. + --dry-run Print what will be performed (default true) + -h, --help help for enable-namespaced-mode + --max-namespace-count int Max number of namespaces that cluster should managed managed namespaces is less or equal to specified count +``` + +### Options inherited from parent commands + +``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use + --context string The name of the kubeconfig context to use + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure + --kubeconfig string Path to a kube config. Only required if out-of-cluster + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server +``` + +### SEE ALSO + +* [argocd-util cluster namespaces](argocd-util_cluster_namespaces.md) - Print information namespaces which Argo CD manages in each cluster. + diff --git a/docs/user-guide/commands/argocd_cluster_add.md b/docs/user-guide/commands/argocd_cluster_add.md index 0497449e3c702..b3802bee28a29 100644 --- a/docs/user-guide/commands/argocd_cluster_add.md +++ b/docs/user-guide/commands/argocd_cluster_add.md @@ -11,6 +11,7 @@ argocd cluster add CONTEXT [flags] ``` --aws-cluster-name string AWS Cluster name if set then aws cli eks token command will be used to access cluster --aws-role-arn string Optional AWS role arn. If set then AWS IAM Authenticator assumes a role to perform cluster operations instead of the default AWS credential provider chain. + --cluster-resources Indicates if cluster level resources should be managed. The setting is used only if list of managed namespaces is not empty. --exec-command string Command to run to provide client credentials to the cluster. You may need to build a custom ArgoCD image to ensure the command is available at runtime. --exec-command-api-version string Preferred input version of the ExecInfo for the --exec-command executable --exec-command-args stringArray Arguments to supply to the --exec-command executable diff --git a/go.mod b/go.mod index 22cd46edbb39a..3da2d73aa14fc 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ require ( github.com/TomOnTime/utfutil v0.0.0-20180511104225-09c41003ee1d github.com/alicebob/miniredis v2.5.0+incompatible github.com/alicebob/miniredis/v2 v2.14.2 - github.com/argoproj/gitops-engine v0.3.1-0.20210630192200-2c97a96cab1b + github.com/argoproj/gitops-engine v0.3.1-0.20210709004906-a4c77d5c70fb github.com/argoproj/pkg v0.9.1-0.20210512035321-be5ba22dca5b github.com/bombsimon/logrusr v1.0.0 github.com/bradleyfalzon/ghinstallation v1.1.1 diff --git a/go.sum b/go.sum index cc10d67e43967..15b4a1e457dc8 100644 --- a/go.sum +++ b/go.sum @@ -96,8 +96,8 @@ github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/argoproj/gitops-engine v0.3.1-0.20210630192200-2c97a96cab1b h1:VkznBAx+KwLn6FLZHpgk1i8oQqwrcGe9nWYXTJSpICc= -github.com/argoproj/gitops-engine v0.3.1-0.20210630192200-2c97a96cab1b/go.mod h1:EdFe8qIOqsmbyxRhtIydU4BUeyZ4VTsY6R3XVQhU9LA= +github.com/argoproj/gitops-engine v0.3.1-0.20210709004906-a4c77d5c70fb h1:zwnkwh45K57emwKikePwtK4BLc3IuplxYxqMzZ4XTNY= +github.com/argoproj/gitops-engine v0.3.1-0.20210709004906-a4c77d5c70fb/go.mod h1:EdFe8qIOqsmbyxRhtIydU4BUeyZ4VTsY6R3XVQhU9LA= github.com/argoproj/pkg v0.9.1-0.20210512035321-be5ba22dca5b h1:qtlM7ioAFP40LPN7A5ZqquVmAtv08LLSZTcCNYUQx8s= github.com/argoproj/pkg v0.9.1-0.20210512035321-be5ba22dca5b/go.mod h1:ra+bQPmbVAoEL+gYSKesuigt4m49i3Qa3mE/xQcjCiA= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= diff --git a/pkg/apis/application/v1alpha1/generated.pb.go b/pkg/apis/application/v1alpha1/generated.pb.go index 5000c20a1a256..056068c382db2 100644 --- a/pkg/apis/application/v1alpha1/generated.pb.go +++ b/pkg/apis/application/v1alpha1/generated.pb.go @@ -2631,421 +2631,423 @@ func init() { } var fileDescriptor_030104ce3b95bcac = []byte{ - // 6622 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x3d, 0x5b, 0x6c, 0x24, 0xd9, - 0x55, 0x5b, 0xdd, 0x7e, 0x74, 0x1f, 0x3f, 0x66, 0x7c, 0xe7, 0xb1, 0xce, 0xb0, 0x19, 0x8f, 0x6a, - 0x95, 0x64, 0x21, 0x89, 0xcd, 0x0e, 0x4b, 0x58, 0xb2, 0x21, 0xc1, 0x6d, 0xcf, 0xc3, 0x33, 0x9e, - 0x19, 0xef, 0xb1, 0x67, 0x86, 0x3c, 0x08, 0x5b, 0xae, 0xbe, 0xdd, 0xae, 0x71, 0x77, 0x55, 0x6f, - 0x55, 0xb5, 0xc7, 0x9d, 0x90, 0x17, 0x0a, 0x64, 0x45, 0x1e, 0x1b, 0x25, 0xf9, 0x48, 0x24, 0x04, - 0xe1, 0x21, 0x24, 0x3e, 0x22, 0xe0, 0x0b, 0x10, 0xf0, 0x93, 0xaf, 0x00, 0x12, 0x44, 0x02, 0x25, - 0x81, 0x08, 0x93, 0x0c, 0x41, 0x3c, 0x24, 0x40, 0x40, 0x7e, 0x98, 0x2f, 0x74, 0xdf, 0xb7, 0xaa, - 0xbb, 0xc7, 0xf6, 0xb8, 0x66, 0x12, 0x45, 0xfc, 0x75, 0x9d, 0x73, 0xee, 0x39, 0xe7, 0xbe, 0xce, - 0x3d, 0xf7, 0xdc, 0x73, 0x6f, 0xc3, 0x6a, 0x33, 0x48, 0xb7, 0xba, 0x9b, 0xf3, 0x7e, 0xd4, 0x5e, - 0xf0, 0xe2, 0x66, 0xd4, 0x89, 0xa3, 0x3b, 0xfc, 0xc7, 0x9b, 0xfd, 0xfa, 0xc2, 0xce, 0xf9, 0x85, - 0xce, 0x76, 0x73, 0xc1, 0xeb, 0x04, 0xc9, 0x82, 0xd7, 0xe9, 0xb4, 0x02, 0xdf, 0x4b, 0x83, 0x28, - 0x5c, 0xd8, 0x79, 0xd6, 0x6b, 0x75, 0xb6, 0xbc, 0x67, 0x17, 0x9a, 0x34, 0xa4, 0xb1, 0x97, 0xd2, - 0xfa, 0x7c, 0x27, 0x8e, 0xd2, 0x88, 0xbc, 0xcd, 0x70, 0x9b, 0x57, 0xdc, 0xf8, 0x8f, 0x9f, 0xf3, - 0xeb, 0xf3, 0x3b, 0xe7, 0xe7, 0x3b, 0xdb, 0xcd, 0x79, 0xc6, 0x6d, 0xde, 0xe2, 0x36, 0xaf, 0xb8, - 0x9d, 0x79, 0xb3, 0xa5, 0x4b, 0x33, 0x6a, 0x46, 0x0b, 0x9c, 0xe9, 0x66, 0xb7, 0xc1, 0xbf, 0xf8, - 0x07, 0xff, 0x25, 0x84, 0x9d, 0x71, 0xb7, 0x9f, 0x4f, 0xe6, 0x83, 0x88, 0xa9, 0xb7, 0xe0, 0x47, - 0x31, 0x5d, 0xd8, 0xe9, 0x53, 0xe8, 0xcc, 0x73, 0x86, 0xa6, 0xed, 0xf9, 0x5b, 0x41, 0x48, 0xe3, - 0x9e, 0xa9, 0x53, 0x9b, 0xa6, 0xde, 0xa0, 0x52, 0x0b, 0xc3, 0x4a, 0xc5, 0xdd, 0x30, 0x0d, 0xda, - 0xb4, 0xaf, 0xc0, 0x5b, 0xf6, 0x2b, 0x90, 0xf8, 0x5b, 0xb4, 0xed, 0xe5, 0xcb, 0xb9, 0x2f, 0xc3, - 0xd4, 0xe2, 0xed, 0xf5, 0xc5, 0x6e, 0xba, 0xb5, 0x14, 0x85, 0x8d, 0xa0, 0x49, 0x7e, 0x1c, 0x26, - 0xfc, 0x56, 0x37, 0x49, 0x69, 0x7c, 0xdd, 0x6b, 0xd3, 0x59, 0xe7, 0x9c, 0xf3, 0x4c, 0xb5, 0x76, - 0xe2, 0x2b, 0x7b, 0x73, 0x4f, 0xdc, 0xdb, 0x9b, 0x9b, 0x58, 0x32, 0x28, 0xb4, 0xe9, 0xc8, 0x0f, - 0xc3, 0x78, 0x1c, 0xb5, 0xe8, 0x22, 0x5e, 0x9f, 0x2d, 0xf1, 0x22, 0xc7, 0x64, 0x91, 0x71, 0x14, - 0x60, 0x54, 0x78, 0xf7, 0x6b, 0x25, 0x80, 0xc5, 0x4e, 0x67, 0x2d, 0x8e, 0xee, 0x50, 0x3f, 0x25, - 0x2f, 0x41, 0x85, 0xb5, 0x42, 0xdd, 0x4b, 0x3d, 0x2e, 0x6d, 0xe2, 0xfc, 0x8f, 0xce, 0x8b, 0xca, - 0xcc, 0xdb, 0x95, 0x31, 0x3d, 0xc7, 0xa8, 0xe7, 0x77, 0x9e, 0x9d, 0xbf, 0xb1, 0xc9, 0xca, 0x5f, - 0xa3, 0xa9, 0x57, 0x23, 0x52, 0x18, 0x18, 0x18, 0x6a, 0xae, 0x24, 0x84, 0x91, 0xa4, 0x43, 0x7d, - 0xae, 0xd8, 0xc4, 0xf9, 0xd5, 0xf9, 0xa3, 0x0c, 0x91, 0x79, 0xa3, 0xf9, 0x7a, 0x87, 0xfa, 0xb5, - 0x49, 0x29, 0x79, 0x84, 0x7d, 0x21, 0x97, 0x43, 0x76, 0x60, 0x2c, 0x49, 0xbd, 0xb4, 0x9b, 0xcc, - 0x96, 0xb9, 0xc4, 0xeb, 0x85, 0x49, 0xe4, 0x5c, 0x6b, 0xd3, 0x52, 0xe6, 0x98, 0xf8, 0x46, 0x29, - 0xcd, 0xfd, 0x7b, 0x07, 0xa6, 0x0d, 0xf1, 0x6a, 0x90, 0xa4, 0xe4, 0x3d, 0x7d, 0x8d, 0x3b, 0x7f, - 0xb0, 0xc6, 0x65, 0xa5, 0x79, 0xd3, 0x1e, 0x97, 0xc2, 0x2a, 0x0a, 0x62, 0x35, 0x6c, 0x1b, 0x46, - 0x83, 0x94, 0xb6, 0x93, 0xd9, 0xd2, 0xb9, 0xf2, 0x33, 0x13, 0xe7, 0x2f, 0x17, 0x55, 0xcf, 0xda, - 0x94, 0x14, 0x3a, 0xba, 0xc2, 0xd8, 0xa3, 0x90, 0xe2, 0x7e, 0x17, 0xec, 0xfa, 0xb1, 0x06, 0x27, - 0xcf, 0xc2, 0x44, 0x12, 0x75, 0x63, 0x9f, 0x22, 0xed, 0x44, 0xc9, 0xac, 0x73, 0xae, 0xcc, 0x86, - 0x1e, 0x1b, 0xa9, 0xeb, 0x06, 0x8c, 0x36, 0x0d, 0xf9, 0x94, 0x03, 0x93, 0x75, 0x9a, 0xa4, 0x41, - 0xc8, 0xe5, 0x2b, 0xe5, 0x37, 0x8e, 0xac, 0xbc, 0x02, 0x2e, 0x1b, 0xe6, 0xb5, 0x93, 0xb2, 0x22, - 0x93, 0x16, 0x30, 0xc1, 0x8c, 0x7c, 0x36, 0xe3, 0xea, 0x34, 0xf1, 0xe3, 0xa0, 0xc3, 0xbe, 0xf9, - 0x98, 0xb1, 0x66, 0xdc, 0xb2, 0x41, 0xa1, 0x4d, 0x47, 0x42, 0x18, 0x65, 0x33, 0x2a, 0x99, 0x1d, - 0xe1, 0xfa, 0xaf, 0x1c, 0x4d, 0x7f, 0xd9, 0xa8, 0x6c, 0xb2, 0x9a, 0xd6, 0x67, 0x5f, 0x09, 0x0a, - 0x31, 0xe4, 0x93, 0x0e, 0xcc, 0xca, 0x19, 0x8f, 0x54, 0x34, 0xe8, 0xed, 0xad, 0x20, 0xa5, 0xad, - 0x20, 0x49, 0x67, 0x47, 0xb9, 0x0e, 0x0b, 0x07, 0x1b, 0x5b, 0x97, 0xe2, 0xa8, 0xdb, 0xb9, 0x1a, - 0x84, 0xf5, 0xda, 0x39, 0x29, 0x69, 0x76, 0x69, 0x08, 0x63, 0x1c, 0x2a, 0x92, 0x7c, 0xd6, 0x81, - 0x33, 0xa1, 0xd7, 0xa6, 0x49, 0xc7, 0x63, 0x5d, 0x2b, 0xd0, 0xb5, 0x96, 0xe7, 0x6f, 0x73, 0x8d, - 0xc6, 0x1e, 0x4e, 0x23, 0x57, 0x6a, 0x74, 0xe6, 0xfa, 0x50, 0xd6, 0xf8, 0x00, 0xb1, 0xe4, 0x37, - 0x1d, 0x98, 0x89, 0xe2, 0xce, 0x96, 0x17, 0xd2, 0xba, 0xc2, 0x26, 0xb3, 0xe3, 0x7c, 0xea, 0xbd, - 0xf7, 0x68, 0x5d, 0x74, 0x23, 0xcf, 0xf6, 0x5a, 0x14, 0x06, 0x69, 0x14, 0xaf, 0xd3, 0x34, 0x0d, - 0xc2, 0x66, 0x52, 0x3b, 0x75, 0x6f, 0x6f, 0x6e, 0xa6, 0x8f, 0x0a, 0xfb, 0xf5, 0x21, 0xef, 0x87, - 0x89, 0xa4, 0x17, 0xfa, 0xb7, 0x83, 0xb0, 0x1e, 0xdd, 0x4d, 0x66, 0x2b, 0x45, 0x4c, 0xdf, 0x75, - 0xcd, 0x50, 0x4e, 0x40, 0x23, 0x00, 0x6d, 0x69, 0x83, 0x3b, 0xce, 0x0c, 0xa5, 0x6a, 0xd1, 0x1d, - 0x67, 0x06, 0xd3, 0x03, 0xc4, 0x92, 0x8f, 0x39, 0x30, 0x95, 0x04, 0xcd, 0xd0, 0x4b, 0xbb, 0x31, - 0xbd, 0x4a, 0x7b, 0xc9, 0x2c, 0x70, 0x45, 0xae, 0x1c, 0xb1, 0x55, 0x2c, 0x96, 0xb5, 0x53, 0x52, - 0xc7, 0x29, 0x1b, 0x9a, 0x60, 0x56, 0xee, 0xa0, 0x89, 0x66, 0x86, 0xf5, 0x44, 0xb1, 0x13, 0xcd, - 0x0c, 0xea, 0xa1, 0x22, 0xdd, 0x3f, 0x2b, 0xc1, 0xf1, 0xfc, 0x1a, 0x44, 0x7e, 0xdb, 0x81, 0x63, - 0x77, 0xee, 0xa6, 0x1b, 0xd1, 0x36, 0x0d, 0x93, 0x5a, 0x8f, 0x59, 0x0a, 0x6e, 0x7d, 0x27, 0xce, - 0xfb, 0xc5, 0xae, 0x76, 0xf3, 0x57, 0xb2, 0x52, 0x2e, 0x84, 0x69, 0xdc, 0xab, 0x3d, 0x29, 0xeb, - 0x73, 0xec, 0xca, 0xed, 0x0d, 0x1b, 0x8b, 0x79, 0xa5, 0xce, 0x7c, 0xdc, 0x81, 0x93, 0x83, 0x58, - 0x90, 0xe3, 0x50, 0xde, 0xa6, 0x3d, 0xe1, 0xe0, 0x20, 0xfb, 0x49, 0x7e, 0x16, 0x46, 0x77, 0xbc, - 0x56, 0x97, 0x4a, 0x47, 0xe1, 0xd2, 0xd1, 0x2a, 0xa2, 0x35, 0x43, 0xc1, 0xf5, 0xad, 0xa5, 0xe7, - 0x1d, 0xf7, 0xaf, 0xca, 0x30, 0x61, 0x2d, 0x15, 0x8f, 0xc1, 0xf9, 0x89, 0x32, 0xce, 0xcf, 0xb5, - 0xc2, 0x56, 0xb9, 0xa1, 0xde, 0xcf, 0xdd, 0x9c, 0xf7, 0x73, 0xa3, 0x38, 0x91, 0x0f, 0x74, 0x7f, - 0x48, 0x0a, 0xd5, 0xa8, 0xc3, 0x9c, 0x5b, 0xb6, 0x8a, 0x8e, 0x14, 0xd1, 0x85, 0x37, 0x14, 0xbb, - 0xda, 0xd4, 0xbd, 0xbd, 0xb9, 0xaa, 0xfe, 0x44, 0x23, 0xc8, 0xfd, 0xba, 0x03, 0x27, 0x2d, 0x1d, - 0x97, 0xa2, 0xb0, 0x1e, 0xf0, 0xae, 0x3d, 0x07, 0x23, 0x69, 0xaf, 0xa3, 0x3c, 0x68, 0xdd, 0x52, - 0x1b, 0xbd, 0x0e, 0x45, 0x8e, 0x61, 0x3e, 0x73, 0x9b, 0x26, 0x89, 0xd7, 0xa4, 0x79, 0x9f, 0xf9, - 0x9a, 0x00, 0xa3, 0xc2, 0x93, 0x18, 0x48, 0xcb, 0x4b, 0xd2, 0x8d, 0xd8, 0x0b, 0x13, 0xce, 0x7e, - 0x23, 0x68, 0x53, 0xd9, 0xc0, 0x3f, 0x72, 0xb0, 0x11, 0xc3, 0x4a, 0xd4, 0x4e, 0xdf, 0xdb, 0x9b, - 0x23, 0xab, 0x7d, 0x9c, 0x70, 0x00, 0x77, 0xf7, 0xb3, 0x0e, 0x9c, 0x1e, 0xec, 0xd6, 0x90, 0xd7, - 0xc3, 0x58, 0x42, 0xe3, 0x1d, 0x1a, 0xcb, 0xda, 0x99, 0x2e, 0xe1, 0x50, 0x94, 0x58, 0xb2, 0x00, - 0x55, 0x6d, 0x72, 0x65, 0x1d, 0x67, 0x24, 0x69, 0xd5, 0xd8, 0x69, 0x43, 0xc3, 0x1a, 0x8d, 0x7d, - 0x48, 0x27, 0x48, 0x37, 0x1a, 0xdf, 0x6f, 0x70, 0x8c, 0xfb, 0x0f, 0x0e, 0x1c, 0xb3, 0xb4, 0x7a, - 0x0c, 0x5e, 0x6e, 0x98, 0xf5, 0x72, 0x57, 0x0a, 0x1b, 0xcf, 0x43, 0xdc, 0xdc, 0x2f, 0x8f, 0xc1, - 0x8c, 0x3d, 0xea, 0xb9, 0x39, 0xe6, 0x1b, 0x2c, 0xda, 0x89, 0x6e, 0xe2, 0xaa, 0x6c, 0x73, 0xb3, - 0xc1, 0x12, 0x60, 0x54, 0x78, 0xd6, 0x88, 0x1d, 0x2f, 0xdd, 0x92, 0x0d, 0xae, 0x1b, 0x71, 0xcd, - 0x4b, 0xb7, 0x90, 0x63, 0xc8, 0xdb, 0x61, 0x3a, 0xf5, 0xe2, 0x26, 0x4d, 0x91, 0xee, 0x04, 0x89, - 0x9a, 0x2f, 0xd5, 0xda, 0x69, 0x49, 0x3b, 0xbd, 0x91, 0xc1, 0x62, 0x8e, 0x9a, 0xbc, 0x0c, 0x23, - 0x5b, 0xb4, 0xd5, 0x96, 0x7e, 0xcd, 0x7a, 0x71, 0x33, 0x9c, 0xd7, 0xf5, 0x32, 0x6d, 0xb5, 0x6b, - 0x15, 0xa6, 0x32, 0xfb, 0x85, 0x5c, 0x14, 0xf9, 0x45, 0x07, 0xaa, 0xdb, 0xdd, 0x24, 0x8d, 0xda, - 0xc1, 0xfb, 0xe8, 0x6c, 0x85, 0x0b, 0xfe, 0x99, 0x82, 0x05, 0x5f, 0x55, 0xfc, 0xc5, 0x7c, 0xd7, - 0x9f, 0x68, 0x24, 0x93, 0x0f, 0xc0, 0xf8, 0x76, 0x12, 0x85, 0x21, 0x65, 0x9e, 0x0a, 0x53, 0xe2, - 0x56, 0xd1, 0x4a, 0x08, 0xee, 0xb5, 0x09, 0xd6, 0xb7, 0xf2, 0x03, 0x95, 0x4c, 0xde, 0x0c, 0xf5, - 0x20, 0xa6, 0x7e, 0x1a, 0xc5, 0xbd, 0x59, 0x78, 0x24, 0xcd, 0xb0, 0xac, 0xf8, 0x8b, 0x66, 0xd0, - 0x9f, 0x68, 0x24, 0x93, 0x1e, 0x8c, 0x75, 0x5a, 0xdd, 0x66, 0x10, 0xce, 0x4e, 0x70, 0x1d, 0x6e, - 0x16, 0xac, 0xc3, 0x1a, 0x67, 0x5e, 0x03, 0x66, 0x54, 0xc4, 0x6f, 0x94, 0x02, 0xc9, 0xd3, 0x30, - 0xea, 0x6f, 0x79, 0x71, 0x3a, 0x3b, 0xc9, 0xc7, 0xac, 0x9e, 0x44, 0x4b, 0x0c, 0x88, 0x02, 0xe7, - 0xfe, 0x7a, 0x09, 0xce, 0x0c, 0xaf, 0x98, 0x98, 0x4d, 0x7e, 0x37, 0x4e, 0x84, 0x7d, 0xae, 0xd8, - 0xb3, 0x89, 0x83, 0x51, 0xe1, 0xc9, 0x47, 0x1c, 0x18, 0xbf, 0x23, 0x7b, 0xbc, 0xf4, 0x48, 0x7a, - 0xfc, 0x8a, 0xec, 0x71, 0xad, 0xc3, 0x15, 0xd5, 0xeb, 0x52, 0x2e, 0x53, 0x97, 0xee, 0xfa, 0xad, - 0x6e, 0x5d, 0x59, 0x46, 0x4d, 0x7a, 0x41, 0x80, 0x51, 0xe1, 0x19, 0x69, 0x10, 0x0a, 0xd2, 0x91, - 0x2c, 0xe9, 0x4a, 0x28, 0x49, 0x25, 0xde, 0xfd, 0x4e, 0x19, 0x4e, 0x0d, 0x9c, 0x7c, 0x64, 0x1e, - 0x80, 0xfb, 0x2c, 0x17, 0x03, 0xb6, 0xc1, 0x14, 0xbb, 0xea, 0x69, 0xe6, 0x62, 0xdc, 0xd2, 0x50, - 0xb4, 0x28, 0xc8, 0x87, 0x00, 0x3a, 0x5e, 0xec, 0xb5, 0x69, 0x4a, 0x63, 0x65, 0x27, 0xaf, 0x1e, - 0xad, 0x95, 0x98, 0x1e, 0x6b, 0x8a, 0xa7, 0xf1, 0x71, 0x34, 0x28, 0x41, 0x4b, 0x24, 0xdb, 0x43, - 0xc7, 0xb4, 0x45, 0xbd, 0x84, 0x5e, 0x37, 0xcb, 0x87, 0xde, 0x43, 0xa3, 0x41, 0xa1, 0x4d, 0xc7, - 0xd6, 0x31, 0x5e, 0x8b, 0x44, 0xb6, 0x95, 0x5e, 0xc7, 0x78, 0x3d, 0x13, 0x94, 0x58, 0xf2, 0xaa, - 0x03, 0xd3, 0x8d, 0xa0, 0x45, 0x8d, 0x74, 0xb9, 0xe3, 0xbd, 0x71, 0xf4, 0x4a, 0x5e, 0xb4, 0xf9, - 0x1a, 0x0b, 0x9c, 0x01, 0x27, 0x98, 0x13, 0xcf, 0xba, 0x79, 0x87, 0xc6, 0xdc, 0x74, 0x8f, 0x65, - 0xbb, 0xf9, 0x96, 0x00, 0xa3, 0xc2, 0xbb, 0x5f, 0x28, 0xc1, 0xec, 0xb0, 0x31, 0x47, 0x12, 0x36, - 0xb2, 0xd2, 0x5b, 0x5e, 0x9c, 0x48, 0xf7, 0xfd, 0x88, 0xbb, 0x40, 0xc9, 0xf7, 0x96, 0x17, 0xdb, - 0x63, 0x94, 0x0b, 0x40, 0x25, 0x89, 0xdc, 0x81, 0x91, 0xb4, 0xe5, 0x15, 0x14, 0x36, 0xb2, 0x24, - 0x1a, 0x27, 0x6b, 0x75, 0x31, 0x41, 0x2e, 0x83, 0x3c, 0x05, 0x23, 0xad, 0x60, 0x93, 0x39, 0xa3, - 0x6c, 0x10, 0xf3, 0x55, 0x65, 0x35, 0xd8, 0x4c, 0x90, 0x43, 0xdd, 0xaf, 0x39, 0x03, 0xda, 0x46, - 0x1a, 0x5d, 0x36, 0xa8, 0x68, 0xb8, 0x13, 0xc4, 0x51, 0xd8, 0xa6, 0x61, 0x9a, 0x0f, 0x85, 0x5e, - 0x30, 0x28, 0xb4, 0xe9, 0xc8, 0x2f, 0x38, 0x03, 0x66, 0xc3, 0x11, 0x63, 0x80, 0x52, 0xa5, 0x03, - 0x4f, 0x08, 0xf7, 0x3f, 0xc7, 0x06, 0xd8, 0x3f, 0xbd, 0xa0, 0x91, 0xf3, 0x00, 0xcc, 0x9b, 0x5a, - 0x8b, 0x69, 0x23, 0xd8, 0x95, 0x35, 0xd3, 0x2c, 0xaf, 0x6b, 0x0c, 0x5a, 0x54, 0xaa, 0xcc, 0x7a, - 0xb7, 0xc1, 0xca, 0x94, 0xfa, 0xcb, 0x08, 0x0c, 0x5a, 0x54, 0xe4, 0x39, 0x18, 0x0b, 0xda, 0x5e, - 0x93, 0xaa, 0xf6, 0x7f, 0x8a, 0x4d, 0xae, 0x15, 0x0e, 0xb9, 0xbf, 0x37, 0x37, 0xad, 0x15, 0xe2, - 0x20, 0x94, 0xb4, 0xe4, 0xb7, 0x1c, 0x98, 0xf4, 0xa3, 0x76, 0x3b, 0x0a, 0x57, 0xbd, 0x4d, 0xda, - 0x52, 0x21, 0xae, 0x3b, 0x8f, 0x6a, 0xb9, 0x9f, 0x5f, 0xb2, 0x84, 0x89, 0x0d, 0xa6, 0x0e, 0xdc, - 0xd9, 0x28, 0xcc, 0x68, 0x65, 0xcf, 0xc1, 0xd1, 0x07, 0xcf, 0x41, 0xf2, 0x87, 0x0e, 0xcc, 0x88, - 0xb2, 0x8b, 0x61, 0x18, 0xa5, 0x32, 0xf2, 0x28, 0x62, 0x54, 0xd1, 0x23, 0xae, 0x96, 0x25, 0x51, - 0xd4, 0xed, 0x35, 0x52, 0xcd, 0x99, 0x3e, 0x3c, 0xf6, 0x2b, 0x49, 0x2e, 0xc1, 0x4c, 0x23, 0x8a, - 0x7d, 0x6a, 0x37, 0x04, 0x77, 0xfc, 0x2a, 0x86, 0xd1, 0xc5, 0x3c, 0x01, 0xf6, 0x97, 0x21, 0xb7, - 0xe0, 0xb4, 0x05, 0xb4, 0xdb, 0xa1, 0xc2, 0xb9, 0x9d, 0x95, 0xdc, 0x4e, 0x5f, 0x1c, 0x48, 0x85, - 0x43, 0x4a, 0x9f, 0x79, 0x07, 0xcc, 0xf4, 0xf5, 0xdf, 0x80, 0xdd, 0xfd, 0x49, 0x7b, 0x77, 0x5f, - 0xb5, 0x36, 0xe5, 0x67, 0x96, 0xe1, 0xf4, 0xe0, 0x96, 0x3a, 0x0c, 0x17, 0xf7, 0x57, 0x1d, 0x78, - 0x72, 0x88, 0x1b, 0xa3, 0xb7, 0x35, 0xce, 0xb0, 0x6d, 0x0d, 0xf1, 0xa0, 0x4c, 0xc3, 0x1d, 0x69, - 0x2c, 0x2e, 0x1e, 0x6d, 0x44, 0x5c, 0x08, 0x77, 0x44, 0x47, 0x8f, 0xdf, 0xdb, 0x9b, 0x2b, 0x5f, - 0x08, 0x77, 0x90, 0xf1, 0x76, 0x3f, 0x37, 0x96, 0xd9, 0x39, 0xad, 0xab, 0xcd, 0x3a, 0x57, 0x54, - 0xee, 0x9b, 0x6e, 0x14, 0x3c, 0x16, 0xad, 0x9d, 0xa1, 0x08, 0xc1, 0x4b, 0x71, 0xe4, 0xe3, 0x0e, - 0x8f, 0x7a, 0xab, 0x1d, 0xa5, 0xf4, 0xac, 0x1e, 0x4d, 0x10, 0xde, 0x8e, 0xa5, 0x2b, 0x20, 0xda, - 0xd2, 0xd9, 0x4c, 0xee, 0x88, 0xa0, 0x53, 0xde, 0xbf, 0x52, 0x71, 0x71, 0x85, 0x27, 0xbb, 0x00, - 0x49, 0x2f, 0xf4, 0xd7, 0xa2, 0x56, 0xe0, 0xf7, 0x64, 0x98, 0xa1, 0x80, 0xc8, 0xa9, 0xe0, 0x27, - 0x9c, 0x2c, 0xf3, 0x8d, 0x96, 0x2c, 0xf2, 0x45, 0x07, 0x66, 0x82, 0x66, 0x18, 0xc5, 0x74, 0x39, - 0x68, 0x34, 0x68, 0x4c, 0x43, 0x9f, 0x2a, 0x3f, 0xe4, 0xf6, 0xd1, 0x34, 0x50, 0x41, 0xbf, 0x95, - 0x3c, 0x7b, 0x33, 0xc5, 0xfb, 0x50, 0xd8, 0xaf, 0x0c, 0xa9, 0xc3, 0x48, 0x10, 0x36, 0x22, 0x69, - 0xd8, 0x6a, 0x47, 0x53, 0x6a, 0x25, 0x6c, 0x44, 0x66, 0xae, 0xb0, 0x2f, 0xe4, 0xdc, 0xc9, 0x2a, - 0x9c, 0x8c, 0xe5, 0x4e, 0xf4, 0x72, 0x90, 0x30, 0x7f, 0x7e, 0x35, 0x68, 0x07, 0x29, 0x37, 0x4a, - 0xe5, 0xda, 0xec, 0xbd, 0xbd, 0xb9, 0x93, 0x38, 0x00, 0x8f, 0x03, 0x4b, 0xb9, 0xaf, 0x54, 0xb3, - 0xdb, 0x6d, 0x11, 0x4c, 0xfa, 0x00, 0x54, 0x63, 0x1d, 0xbe, 0x17, 0x9e, 0xd1, 0x6a, 0x31, 0x6d, - 0x2c, 0xa3, 0x58, 0x3a, 0x0e, 0x62, 0x02, 0xf5, 0x46, 0x22, 0xf3, 0x90, 0x58, 0xcf, 0xcb, 0x69, - 0x51, 0xc0, 0xf8, 0x92, 0x52, 0x4d, 0xc0, 0xae, 0x17, 0xfa, 0xc8, 0x65, 0x90, 0x18, 0xc6, 0xb6, - 0xa8, 0xd7, 0x4a, 0xb7, 0x64, 0x3c, 0xe9, 0xca, 0x51, 0x7d, 0x5a, 0xc6, 0x2b, 0x1f, 0xab, 0x13, - 0x50, 0x94, 0x92, 0xc8, 0x2e, 0x8c, 0x6f, 0x89, 0x4e, 0x90, 0x6b, 0xfb, 0xb5, 0xa3, 0x36, 0x6e, - 0xa6, 0x67, 0xcd, 0xfc, 0x95, 0x00, 0x54, 0xe2, 0xc8, 0x2f, 0x39, 0x00, 0xbe, 0x0a, 0xd2, 0xa9, - 0xe9, 0x83, 0x85, 0xd9, 0x1d, 0x1d, 0xff, 0x33, 0xae, 0x91, 0x06, 0x25, 0x68, 0x49, 0x26, 0x2f, - 0xc1, 0x64, 0x4c, 0xfd, 0x28, 0xf4, 0x83, 0x16, 0xad, 0x2f, 0xa6, 0xdc, 0x8d, 0x3f, 0x5c, 0x30, - 0xef, 0x38, 0xf3, 0x4f, 0xd0, 0xe2, 0x81, 0x19, 0x8e, 0xe4, 0x15, 0x07, 0xa6, 0x75, 0xa0, 0x92, - 0x75, 0x08, 0x95, 0x01, 0x9b, 0xd5, 0x82, 0xc2, 0xa2, 0x9c, 0x67, 0x8d, 0xb0, 0xed, 0x4a, 0x16, - 0x86, 0x39, 0xb9, 0xe4, 0x5d, 0x00, 0xd1, 0x26, 0x0f, 0x0a, 0xb2, 0xaa, 0x56, 0x0e, 0x5d, 0xd5, - 0x69, 0x11, 0xdf, 0x56, 0x1c, 0xd0, 0xe2, 0x46, 0xae, 0x02, 0x88, 0x69, 0xb3, 0xd1, 0xeb, 0x50, - 0x1e, 0x94, 0xa9, 0xd6, 0xde, 0xa8, 0x1a, 0x7f, 0x5d, 0x63, 0xee, 0xef, 0xcd, 0xf5, 0xef, 0x76, - 0x79, 0x34, 0xd6, 0x2a, 0x4e, 0xde, 0x0f, 0xe3, 0x49, 0xb7, 0xdd, 0xf6, 0x74, 0x70, 0x65, 0xad, - 0xb8, 0x15, 0x51, 0xf0, 0x35, 0x63, 0x53, 0x02, 0x50, 0x49, 0x74, 0x43, 0x20, 0xfd, 0xf4, 0xe4, - 0x39, 0x98, 0xa4, 0xbb, 0x29, 0x8d, 0x43, 0xaf, 0x75, 0x13, 0x57, 0xd5, 0x76, 0x9c, 0x77, 0xfe, - 0x05, 0x0b, 0x8e, 0x19, 0x2a, 0xe2, 0x6a, 0xcf, 0xbb, 0xc4, 0xe9, 0xc1, 0x78, 0xde, 0xca, 0xcf, - 0x76, 0xff, 0xb7, 0x94, 0xf1, 0x08, 0x36, 0x62, 0x4a, 0x49, 0x04, 0xa3, 0x61, 0x54, 0xd7, 0x46, - 0xef, 0x4a, 0x31, 0x46, 0xef, 0x7a, 0x54, 0xb7, 0xce, 0x95, 0xd9, 0x57, 0x82, 0x42, 0x0e, 0x3f, - 0x78, 0x53, 0x27, 0x94, 0x1c, 0x21, 0x9d, 0xa0, 0x22, 0x25, 0xeb, 0x83, 0xb7, 0x1b, 0xb6, 0x20, - 0xcc, 0xca, 0x25, 0xdb, 0x30, 0xba, 0x15, 0x25, 0xa9, 0xd8, 0xab, 0x1c, 0xd9, 0x0b, 0xbb, 0x1c, - 0x25, 0x29, 0x5f, 0xc2, 0x74, 0xb5, 0x19, 0x24, 0x41, 0x21, 0xc3, 0xfd, 0x67, 0x27, 0x13, 0x7c, - 0xb9, 0xed, 0xa5, 0xfe, 0xd6, 0x85, 0x1d, 0xb6, 0x7f, 0xbc, 0x9a, 0x39, 0x38, 0xf8, 0x09, 0xfb, - 0xe0, 0xe0, 0xfe, 0xde, 0xdc, 0x1b, 0x86, 0x25, 0xfa, 0xdc, 0x65, 0x1c, 0xe6, 0x39, 0x0b, 0xeb, - 0x8c, 0xe1, 0xc3, 0x0e, 0x4c, 0x58, 0xea, 0xc9, 0x05, 0xa5, 0xc0, 0x18, 0xb6, 0x76, 0xae, 0x2c, - 0x20, 0xda, 0x22, 0xdd, 0xcf, 0x38, 0x30, 0x5e, 0xf3, 0xfc, 0xed, 0xa8, 0xd1, 0x20, 0x6f, 0x82, - 0x4a, 0xbd, 0x2b, 0x8f, 0x68, 0x44, 0xfd, 0x74, 0xe4, 0x7d, 0x59, 0xc2, 0x51, 0x53, 0xb0, 0x31, - 0xdc, 0xf0, 0xfc, 0x34, 0x8a, 0xb9, 0xda, 0x65, 0x31, 0x86, 0x2f, 0x72, 0x08, 0x4a, 0x0c, 0xdb, - 0xa4, 0xb7, 0xbd, 0x5d, 0x55, 0x38, 0x1f, 0xf9, 0xb9, 0x66, 0x50, 0x68, 0xd3, 0xb9, 0x7f, 0x3e, - 0x0a, 0xe3, 0xf2, 0x2c, 0xf4, 0xc0, 0xa7, 0x19, 0xca, 0x8b, 0x2f, 0x0d, 0xf5, 0xe2, 0x13, 0x18, - 0xf3, 0x79, 0x1a, 0x95, 0x5c, 0x4a, 0x8f, 0x18, 0x03, 0x93, 0x0a, 0x8a, 0xcc, 0x2c, 0xa3, 0x96, - 0xf8, 0x46, 0x29, 0x8a, 0x7c, 0xda, 0x81, 0x63, 0x7e, 0x14, 0x86, 0xd4, 0x37, 0x76, 0x7e, 0xa4, - 0x88, 0xd3, 0xbe, 0xa5, 0x2c, 0x53, 0x73, 0xe8, 0x9a, 0x43, 0x60, 0x5e, 0x3c, 0x79, 0x01, 0xa6, - 0x44, 0x9b, 0xdd, 0xca, 0xec, 0x8f, 0xcd, 0xf9, 0xb7, 0x8d, 0xc4, 0x2c, 0x2d, 0x99, 0x17, 0x71, - 0x06, 0x7e, 0x20, 0x24, 0xf6, 0xc8, 0x32, 0xf8, 0xa8, 0x4f, 0x8c, 0x12, 0xb4, 0x28, 0x48, 0x0c, - 0x24, 0xa6, 0x8d, 0x98, 0x26, 0x5b, 0x48, 0x5f, 0xee, 0xd2, 0x24, 0xe5, 0x6b, 0xcc, 0xf8, 0xc3, - 0x9d, 0x8d, 0x61, 0x1f, 0x27, 0x1c, 0xc0, 0x9d, 0x6c, 0x4b, 0x47, 0xb7, 0x52, 0xc4, 0x74, 0x92, - 0xdd, 0x3c, 0xd4, 0xdf, 0x9d, 0x83, 0xd1, 0x64, 0xcb, 0x8b, 0xeb, 0x7c, 0x6d, 0x2b, 0xd7, 0xaa, - 0xcc, 0x96, 0xac, 0x33, 0x00, 0x0a, 0xb8, 0xfb, 0x5d, 0x07, 0x8e, 0xab, 0xb1, 0xe2, 0xf9, 0x5b, - 0x94, 0x95, 0x25, 0x6f, 0x87, 0x69, 0xed, 0x4f, 0x2e, 0x45, 0x5d, 0x19, 0xc0, 0x2a, 0x9b, 0x08, - 0x23, 0x66, 0xb0, 0x98, 0xa3, 0x26, 0x0b, 0x50, 0x65, 0x2a, 0x8b, 0xa2, 0x62, 0xfe, 0x69, 0x9f, - 0x75, 0x71, 0x6d, 0x45, 0x96, 0x32, 0x34, 0x24, 0x82, 0x99, 0x96, 0x97, 0xa4, 0x5c, 0x03, 0xe6, - 0x5e, 0x3e, 0xe4, 0x11, 0x25, 0xcf, 0x62, 0x59, 0xcd, 0x33, 0xc2, 0x7e, 0xde, 0xee, 0xd7, 0x47, - 0x60, 0x2a, 0x33, 0x45, 0x98, 0x79, 0xe9, 0x26, 0x6c, 0x0d, 0xd4, 0x7b, 0x6d, 0x6d, 0x5e, 0x6e, - 0x4a, 0x38, 0x6a, 0x0a, 0x46, 0xdd, 0xf1, 0x92, 0xe4, 0x6e, 0x14, 0xd7, 0xe5, 0x9c, 0xd6, 0xd4, - 0x6b, 0x12, 0x8e, 0x9a, 0x82, 0x19, 0x9a, 0x4d, 0xea, 0xc5, 0x34, 0xe6, 0xa7, 0xfa, 0x79, 0x43, - 0x53, 0x33, 0x28, 0xb4, 0xe9, 0xf8, 0xec, 0x4c, 0x5b, 0xc9, 0x52, 0x2b, 0xa0, 0x61, 0x2a, 0xd4, - 0x2c, 0x66, 0x76, 0x6e, 0xac, 0xae, 0xdb, 0x4c, 0xcd, 0xec, 0xcc, 0x21, 0x30, 0x2f, 0x9e, 0x7c, - 0xd4, 0x81, 0x29, 0xef, 0x6e, 0x62, 0x92, 0x3e, 0xf9, 0xf4, 0x3c, 0xb2, 0xb5, 0xca, 0xe4, 0x91, - 0xd6, 0x66, 0xd8, 0x3c, 0xcf, 0x80, 0x30, 0x2b, 0x94, 0x7c, 0xde, 0x01, 0x42, 0x77, 0xa9, 0xbf, - 0x16, 0x47, 0x3b, 0x41, 0x5d, 0xf5, 0xa1, 0xf4, 0x83, 0x8f, 0xe8, 0x76, 0x5d, 0xe8, 0xe3, 0x2b, - 0xa6, 0x77, 0x3f, 0x1c, 0x07, 0xe8, 0xe0, 0xfe, 0x5d, 0x19, 0x26, 0xac, 0x59, 0x39, 0xd0, 0xc4, - 0x3a, 0xdf, 0x67, 0x26, 0xb6, 0x74, 0x08, 0x13, 0xfb, 0x21, 0xa8, 0xfa, 0xca, 0x50, 0x14, 0x93, - 0xa4, 0x9a, 0x37, 0x3f, 0xc6, 0x56, 0x68, 0x10, 0x1a, 0x99, 0xe4, 0x12, 0xcc, 0x58, 0x6c, 0xa4, - 0x91, 0x19, 0xe1, 0x46, 0x46, 0x47, 0x1c, 0x16, 0xf3, 0x04, 0xd8, 0x5f, 0x86, 0x3c, 0xcb, 0xdc, - 0x9b, 0x40, 0xd6, 0x4b, 0x6c, 0xe7, 0x64, 0x02, 0xe8, 0xe2, 0xda, 0x8a, 0x02, 0xa3, 0x4d, 0xe3, - 0x7e, 0xdd, 0xd1, 0x9d, 0xfb, 0x18, 0xb2, 0x07, 0xee, 0x64, 0xb3, 0x07, 0x2e, 0x14, 0xd2, 0xcc, - 0x43, 0x32, 0x07, 0xae, 0xc3, 0xf8, 0x52, 0xd4, 0x6e, 0x7b, 0x61, 0x9d, 0xbc, 0x0e, 0xc6, 0x7d, - 0xf1, 0x53, 0xee, 0x17, 0xf8, 0x71, 0xb2, 0xc4, 0xa2, 0xc2, 0x91, 0xa7, 0x60, 0xc4, 0x8b, 0x9b, - 0x6a, 0x8f, 0xc0, 0x4f, 0x47, 0x16, 0xe3, 0x66, 0x82, 0x1c, 0xea, 0x7e, 0xb6, 0x04, 0xb0, 0x14, - 0xb5, 0x3b, 0x5e, 0x4c, 0xeb, 0x1b, 0xd1, 0xff, 0x07, 0x0b, 0x85, 0xeb, 0xf8, 0x09, 0x07, 0x08, - 0x6b, 0x95, 0x28, 0xa4, 0xa1, 0x39, 0x91, 0x61, 0xeb, 0xa5, 0xaf, 0xa0, 0x72, 0xf1, 0x31, 0x73, - 0x40, 0x21, 0xd0, 0xd0, 0x1c, 0xc0, 0x9d, 0x7c, 0x5a, 0x05, 0x9b, 0xcb, 0xd9, 0x93, 0x6e, 0x7e, - 0x3a, 0x29, 0x63, 0xcf, 0xee, 0xe7, 0x4a, 0x70, 0x5a, 0x98, 0xad, 0x6b, 0x5e, 0xe8, 0x35, 0x69, - 0x9b, 0x69, 0x75, 0xd0, 0xb0, 0xb3, 0xcf, 0xfc, 0x98, 0x40, 0x1d, 0x6c, 0x1f, 0x75, 0x70, 0x8a, - 0x41, 0x25, 0x86, 0xd1, 0x4a, 0x18, 0xa4, 0xc8, 0x99, 0x93, 0x04, 0x2a, 0xea, 0xda, 0x81, 0x34, - 0x36, 0x05, 0x09, 0xd2, 0xf3, 0xee, 0x92, 0x64, 0x8f, 0x5a, 0x90, 0xfb, 0x65, 0x07, 0xf2, 0x46, - 0x94, 0x3b, 0xfa, 0x22, 0x35, 0x2d, 0xef, 0xe8, 0x67, 0x33, 0xc9, 0x0e, 0x91, 0x98, 0xf5, 0x1e, - 0x98, 0xf0, 0xd2, 0x94, 0xb6, 0x3b, 0xc2, 0xeb, 0x2c, 0x3f, 0x5c, 0x64, 0xe3, 0x5a, 0x54, 0x0f, - 0x1a, 0x01, 0xf7, 0x36, 0x6d, 0x76, 0xee, 0x8b, 0x50, 0x51, 0xc1, 0xfc, 0x03, 0x74, 0xe6, 0xd3, - 0x99, 0xb3, 0x89, 0x21, 0xc3, 0xe5, 0x7e, 0x09, 0x06, 0xac, 0x82, 0xac, 0xca, 0xc6, 0x5e, 0x64, - 0xaa, 0x7c, 0x38, 0x9b, 0x41, 0x76, 0xc5, 0x41, 0x86, 0xd8, 0x42, 0xbf, 0xb3, 0xe8, 0x55, 0xdc, - 0x9c, 0x6d, 0x4c, 0x48, 0xfd, 0xf4, 0xf9, 0x06, 0x39, 0x0f, 0x60, 0xcc, 0xbc, 0x3c, 0xd0, 0xd7, - 0x41, 0x38, 0xb3, 0x1a, 0xa0, 0x45, 0xc5, 0x9c, 0xba, 0x20, 0x4c, 0x52, 0xaf, 0xd5, 0xba, 0x1c, - 0x84, 0xa9, 0xdc, 0xa6, 0x68, 0x13, 0xb0, 0x62, 0x50, 0x68, 0xd3, 0x9d, 0x79, 0x8b, 0xd5, 0x2f, - 0x87, 0x39, 0x23, 0xfa, 0x44, 0x09, 0xa6, 0x2f, 0x85, 0xdd, 0xb5, 0x4b, 0x6b, 0xdd, 0xcd, 0x56, - 0xe0, 0x5f, 0xa5, 0x3d, 0xd6, 0x69, 0xdb, 0xb4, 0xb7, 0xb2, 0x2c, 0x9b, 0x5d, 0x77, 0xda, 0x55, - 0x06, 0x44, 0x81, 0x63, 0x6a, 0x36, 0x82, 0xb0, 0x49, 0xe3, 0x4e, 0x1c, 0x48, 0x6f, 0xdc, 0x52, - 0xf3, 0xa2, 0x41, 0xa1, 0x4d, 0xc7, 0x78, 0x47, 0x77, 0x43, 0x1a, 0xe7, 0xed, 0xc7, 0x0d, 0x06, - 0x44, 0x81, 0x63, 0x44, 0x69, 0xdc, 0x4d, 0x52, 0xd9, 0x62, 0x9a, 0x68, 0x83, 0x01, 0x51, 0xe0, - 0xd8, 0xf0, 0x48, 0xba, 0x9b, 0x3c, 0xc0, 0x96, 0x3b, 0xea, 0x5c, 0x17, 0x60, 0x54, 0x78, 0x46, - 0xba, 0x4d, 0x7b, 0xcb, 0x6c, 0x35, 0xcd, 0x65, 0x26, 0x5c, 0x15, 0x60, 0x54, 0x78, 0xf7, 0x9f, - 0x1c, 0x20, 0xd9, 0xe6, 0x78, 0x0c, 0x0b, 0xf2, 0xcb, 0xd9, 0x05, 0xf9, 0x88, 0xb1, 0xd0, 0xac, - 0xfa, 0x43, 0xd6, 0xe5, 0xdf, 0x70, 0x60, 0xd2, 0x0e, 0x8b, 0x93, 0x66, 0xce, 0x10, 0xdd, 0xc8, - 0x1a, 0xa2, 0xfb, 0x7b, 0x73, 0x3f, 0x35, 0xe8, 0x56, 0x5c, 0x33, 0x48, 0xa3, 0x4e, 0xf2, 0x66, - 0x1a, 0x36, 0x83, 0x90, 0xf2, 0xa0, 0x8f, 0x08, 0xa7, 0x67, 0x62, 0xee, 0x4b, 0x51, 0x9d, 0x3e, - 0x84, 0x25, 0x73, 0x6f, 0xc3, 0x4c, 0x5f, 0x3a, 0xca, 0x01, 0x8c, 0xce, 0xbe, 0xc9, 0x86, 0xee, - 0x27, 0x1d, 0x98, 0xca, 0x64, 0xf3, 0x14, 0x64, 0xca, 0xf8, 0xac, 0x88, 0xf8, 0x89, 0x4a, 0x1c, - 0x84, 0x22, 0xe4, 0x52, 0xb1, 0x66, 0x85, 0x41, 0xa1, 0x4d, 0xe7, 0x7e, 0xa6, 0x04, 0x15, 0x15, - 0x9c, 0x3b, 0x80, 0x2a, 0x1f, 0x77, 0x60, 0x4a, 0x6f, 0x8d, 0xb9, 0xc3, 0x5c, 0x48, 0x46, 0x07, - 0xd3, 0x40, 0x1f, 0xbb, 0x31, 0x87, 0x59, 0x7b, 0xee, 0x68, 0x0b, 0xc3, 0xac, 0x6c, 0x72, 0x0b, - 0x20, 0xe9, 0x25, 0x29, 0x6d, 0x5b, 0xae, 0xbb, 0x6b, 0xcd, 0x8e, 0x79, 0x3f, 0x8a, 0x29, 0x9b, - 0x0b, 0xd7, 0xa3, 0x3a, 0x5d, 0xd7, 0x94, 0xc6, 0x10, 0x1a, 0x18, 0x5a, 0x9c, 0xdc, 0xdf, 0x2d, - 0xc1, 0xf1, 0xbc, 0x4a, 0xe4, 0xdd, 0x30, 0xa9, 0xa4, 0x5b, 0x97, 0x01, 0x55, 0x44, 0x72, 0x12, - 0x2d, 0xdc, 0xfd, 0xbd, 0xb9, 0xb9, 0xfe, 0xdb, 0x90, 0xf3, 0x36, 0x09, 0x66, 0x98, 0x89, 0xf8, - 0x84, 0x8c, 0xa8, 0xd4, 0x7a, 0x8b, 0x9d, 0x8e, 0x0c, 0x32, 0x58, 0xf1, 0x09, 0x1b, 0x8b, 0x39, - 0x6a, 0xb2, 0x06, 0x27, 0x2d, 0xc8, 0x75, 0x1a, 0x34, 0xb7, 0x36, 0xa3, 0x58, 0x64, 0x9d, 0x97, - 0x6b, 0x4f, 0x49, 0x2e, 0x27, 0x71, 0x00, 0x0d, 0x0e, 0x2c, 0x49, 0xde, 0x04, 0x15, 0xdf, 0xeb, - 0x78, 0x7e, 0x90, 0xf6, 0xe4, 0x5e, 0x44, 0xdb, 0x91, 0x25, 0x09, 0x47, 0x4d, 0xe1, 0x5e, 0x83, - 0x91, 0x03, 0x8e, 0xa0, 0x03, 0xad, 0xcb, 0x2f, 0x42, 0x85, 0xb1, 0x63, 0x76, 0xa3, 0x28, 0x96, - 0x11, 0x54, 0xd4, 0x25, 0x04, 0xe2, 0x42, 0x39, 0xf0, 0x54, 0x08, 0x48, 0x57, 0x6b, 0x25, 0x49, - 0xba, 0xdc, 0xeb, 0x60, 0x48, 0xf2, 0x34, 0x94, 0xe9, 0x6e, 0x27, 0x1f, 0xeb, 0xb9, 0xb0, 0xdb, - 0x09, 0x62, 0x9a, 0x30, 0x22, 0xba, 0xdb, 0x21, 0x67, 0xa0, 0x14, 0xd4, 0xe5, 0x82, 0x02, 0x92, - 0xa6, 0xb4, 0xb2, 0x8c, 0xa5, 0xa0, 0xee, 0xee, 0x42, 0x55, 0xdf, 0x7a, 0x20, 0xdb, 0xca, 0xce, - 0x3a, 0x45, 0x44, 0xd3, 0x15, 0xdf, 0x21, 0x16, 0xb6, 0x0b, 0x60, 0xf2, 0xc0, 0x8a, 0xb2, 0x2f, - 0xe7, 0x60, 0xc4, 0x8f, 0x64, 0xca, 0x65, 0xc5, 0xb0, 0xe1, 0x06, 0x96, 0x63, 0xdc, 0xdb, 0x30, - 0x7d, 0x35, 0x8c, 0xee, 0x86, 0x6c, 0xe1, 0xbb, 0x18, 0xd0, 0x56, 0x9d, 0x31, 0x6e, 0xb0, 0x1f, - 0xf9, 0xe5, 0x9c, 0x63, 0x51, 0xe0, 0xf4, 0xd5, 0x80, 0xd2, 0xb0, 0xab, 0x01, 0xee, 0x2f, 0x3b, - 0x70, 0x3c, 0x9f, 0xf3, 0xf5, 0x3d, 0xdb, 0x61, 0x7c, 0x98, 0x29, 0xa3, 0x92, 0x8a, 0x6e, 0x74, - 0xc4, 0xf1, 0xe5, 0xf3, 0x30, 0xb9, 0xd9, 0x0d, 0x5a, 0x75, 0xf9, 0x2d, 0xf5, 0xd1, 0x69, 0x53, - 0x35, 0x0b, 0x87, 0x19, 0x4a, 0xe6, 0xa7, 0x6d, 0x06, 0xa1, 0x17, 0xf7, 0xd6, 0xcc, 0xba, 0xa1, - 0xcd, 0x53, 0x4d, 0x63, 0xd0, 0xa2, 0x72, 0xff, 0xa6, 0x0c, 0xe6, 0xfa, 0x05, 0x09, 0xe4, 0xe9, - 0xb8, 0x53, 0x44, 0xd8, 0x6a, 0xbd, 0x17, 0xfa, 0xe6, 0xa2, 0x47, 0x25, 0x77, 0x38, 0xfe, 0x31, - 0x87, 0x79, 0x88, 0x41, 0x1a, 0x78, 0xdc, 0x58, 0xc8, 0x8d, 0xd2, 0x5a, 0x41, 0x07, 0xa8, 0x2b, - 0x82, 0x73, 0x14, 0xdb, 0x3e, 0xa7, 0x16, 0x86, 0xb6, 0x64, 0xf2, 0x92, 0x0c, 0x39, 0x97, 0x0b, - 0xcb, 0xad, 0xa8, 0xe4, 0xe2, 0xcc, 0x1d, 0x18, 0x8d, 0x69, 0x1a, 0xab, 0xac, 0x96, 0xab, 0x47, - 0x3d, 0x80, 0x4b, 0xe3, 0xde, 0x7a, 0xca, 0x36, 0x63, 0x4d, 0xcb, 0x31, 0xe2, 0x60, 0x14, 0x82, - 0xdc, 0x04, 0x48, 0x7f, 0x5b, 0x1c, 0x32, 0x8a, 0xbb, 0x00, 0x55, 0xaf, 0x9b, 0x46, 0x6d, 0xd6, - 0x4c, 0xbc, 0x7b, 0x2a, 0x56, 0x9c, 0x5a, 0x21, 0xd0, 0xd0, 0xb8, 0xaf, 0x8e, 0x42, 0xee, 0xb8, - 0x9a, 0xec, 0xda, 0x57, 0x87, 0x9c, 0x62, 0xaf, 0x0e, 0x69, 0x65, 0x06, 0x5d, 0x1f, 0x22, 0x4d, - 0x18, 0xed, 0x6c, 0x79, 0x89, 0x9a, 0xa3, 0x2f, 0xaa, 0x66, 0x5a, 0x63, 0xc0, 0xfb, 0x7b, 0x73, - 0x3f, 0x7d, 0x30, 0x3f, 0x90, 0x8d, 0xd5, 0x05, 0x91, 0xbb, 0x67, 0x44, 0x73, 0x1e, 0x28, 0xf8, - 0xdb, 0x9e, 0x60, 0x79, 0x9f, 0x3d, 0xed, 0x47, 0x1c, 0x91, 0xe3, 0x84, 0x34, 0xe9, 0xb6, 0x52, - 0x39, 0x1a, 0x5e, 0x2c, 0x70, 0x96, 0x09, 0xc6, 0x26, 0xd9, 0x49, 0x7c, 0xa3, 0x25, 0x94, 0xbc, - 0x1b, 0xaa, 0x49, 0xea, 0xc5, 0xe9, 0x43, 0xa6, 0x46, 0xe8, 0x46, 0x5f, 0x57, 0x4c, 0xd0, 0xf0, - 0x23, 0xef, 0x02, 0x68, 0x04, 0x61, 0x90, 0x6c, 0x3d, 0xe4, 0x49, 0x11, 0x57, 0xfc, 0xa2, 0xe6, - 0x80, 0x16, 0x37, 0x66, 0xdd, 0xf8, 0xd8, 0x16, 0x21, 0xcd, 0x0a, 0x5f, 0x4b, 0xb5, 0x75, 0x43, - 0x8d, 0x41, 0x8b, 0xca, 0xfd, 0x20, 0x9c, 0xc8, 0x5f, 0xdb, 0x95, 0x5b, 0xc3, 0x66, 0x1c, 0x75, - 0x3b, 0xf9, 0xb5, 0x84, 0x5f, 0xeb, 0x44, 0x81, 0x63, 0x36, 0x7e, 0x3b, 0x08, 0xeb, 0x79, 0x1b, - 0x7f, 0x35, 0x08, 0xeb, 0xc8, 0x31, 0x07, 0xb8, 0x53, 0xf5, 0xc7, 0x0e, 0x9c, 0xdb, 0xef, 0x76, - 0x31, 0xdb, 0xf6, 0xdf, 0xf5, 0xe2, 0x50, 0xde, 0x97, 0xe0, 0xb6, 0xe3, 0xb6, 0x17, 0x87, 0xc8, - 0xa1, 0xa4, 0x07, 0x63, 0x22, 0x1d, 0x4c, 0x7a, 0xc7, 0x2f, 0x16, 0x7b, 0xd7, 0x99, 0xed, 0xad, - 0x74, 0xb4, 0x46, 0xa4, 0xa2, 0xa1, 0x14, 0xe8, 0xbe, 0xea, 0x00, 0xb9, 0xb1, 0x43, 0xe3, 0x38, - 0xa8, 0x5b, 0x09, 0x6c, 0xe4, 0x39, 0x98, 0xbc, 0xb3, 0x7e, 0xe3, 0xfa, 0x5a, 0x14, 0x84, 0x3c, - 0x0f, 0xdb, 0x4a, 0x9b, 0xb8, 0x62, 0xc1, 0x31, 0x43, 0x45, 0x96, 0x60, 0xe6, 0xce, 0xcb, 0x6c, - 0xc9, 0xb9, 0xb0, 0xdb, 0x89, 0x69, 0x92, 0xe8, 0x17, 0x02, 0xaa, 0xe2, 0x60, 0xea, 0xca, 0x8b, - 0x39, 0x24, 0xf6, 0xd3, 0xbb, 0x5f, 0x2a, 0xc1, 0x84, 0x75, 0xa1, 0xfe, 0x00, 0xfe, 0x48, 0xee, - 0x0d, 0x80, 0xd2, 0x01, 0xdf, 0x00, 0x78, 0x06, 0x2a, 0x9d, 0xa8, 0x15, 0xf8, 0x81, 0x4e, 0xb0, - 0x9e, 0xe4, 0xa7, 0x57, 0x12, 0x86, 0x1a, 0x4b, 0xee, 0x42, 0x55, 0xdf, 0x8c, 0x95, 0x29, 0x57, - 0x45, 0x79, 0x64, 0x7a, 0xae, 0x99, 0x1b, 0xaf, 0x46, 0x16, 0x71, 0x61, 0x8c, 0x0f, 0x54, 0x15, - 0x9b, 0xe7, 0x67, 0xf8, 0x7c, 0x04, 0x27, 0x28, 0x31, 0xee, 0xbf, 0x8d, 0x42, 0x15, 0x69, 0x27, - 0x5a, 0x8a, 0x69, 0x3d, 0x21, 0xaf, 0x85, 0x72, 0x37, 0x6e, 0xc9, 0xc6, 0xd2, 0x61, 0x9e, 0x9b, - 0xb8, 0x8a, 0x0c, 0x9e, 0x59, 0x1d, 0x4a, 0x87, 0x3a, 0xe3, 0x2b, 0xef, 0x7b, 0xc6, 0xf7, 0x02, - 0x4c, 0x25, 0xc9, 0xd6, 0x5a, 0x1c, 0xec, 0x78, 0x29, 0x1b, 0x73, 0x32, 0x26, 0x62, 0x0e, 0x55, - 0xd6, 0x2f, 0x1b, 0x24, 0x66, 0x69, 0xc9, 0x25, 0x98, 0x31, 0x27, 0x6d, 0x34, 0x4e, 0x79, 0x08, - 0x44, 0x44, 0x4b, 0xf4, 0x99, 0x86, 0x39, 0x9b, 0x93, 0x04, 0xd8, 0x5f, 0x86, 0x2c, 0xc3, 0xf1, - 0x0c, 0x90, 0x29, 0x22, 0x42, 0x29, 0xb3, 0x92, 0xcf, 0xf1, 0x0c, 0x1f, 0xa6, 0x4b, 0x5f, 0x09, - 0x72, 0x0d, 0x4e, 0x88, 0xfe, 0xe5, 0x37, 0xaa, 0x75, 0x8d, 0xc6, 0x39, 0xa3, 0x1f, 0x92, 0x8c, - 0x4e, 0x5c, 0xea, 0x27, 0xc1, 0x41, 0xe5, 0xd8, 0x08, 0xd5, 0xe0, 0x95, 0x65, 0x69, 0xd8, 0xf4, - 0x08, 0xd5, 0x6c, 0x56, 0xea, 0x68, 0xd3, 0x91, 0x77, 0xc2, 0x93, 0xe6, 0x53, 0x44, 0xd0, 0xc4, - 0x6a, 0xbf, 0x2c, 0x4f, 0xb3, 0xe7, 0x24, 0x8b, 0x27, 0x2f, 0x0d, 0x24, 0xab, 0xe3, 0xb0, 0xf2, - 0x64, 0x13, 0xce, 0x68, 0xd4, 0x05, 0x36, 0x7b, 0x3b, 0x71, 0x90, 0xd0, 0x9a, 0x97, 0xd0, 0x9b, - 0x71, 0x8b, 0x67, 0x6f, 0x55, 0xcd, 0xab, 0x00, 0x97, 0x82, 0xf4, 0xf2, 0x20, 0x4a, 0x5c, 0xc5, - 0x07, 0x70, 0x61, 0xce, 0x05, 0x0d, 0xbd, 0xcd, 0x16, 0xbd, 0xb1, 0xb4, 0xc2, 0x6f, 0xba, 0x59, - 0xce, 0xc5, 0x05, 0x85, 0x40, 0x43, 0xa3, 0x5d, 0xfb, 0xc9, 0xa1, 0xae, 0xfd, 0x37, 0x1d, 0x98, - 0xd2, 0x83, 0xfd, 0x31, 0xc4, 0xbb, 0x5a, 0xd9, 0x78, 0xd7, 0xa5, 0xa3, 0x7a, 0x75, 0x52, 0xf3, - 0x21, 0x1b, 0xb1, 0x3f, 0xa9, 0x02, 0xf0, 0x77, 0x56, 0x02, 0x9e, 0x6d, 0x79, 0x0e, 0x46, 0x62, - 0xda, 0x89, 0xf2, 0x96, 0x8f, 0x51, 0x20, 0xc7, 0x7c, 0xff, 0x4e, 0xe7, 0x41, 0x67, 0xbe, 0xa3, - 0xdf, 0xdb, 0x33, 0xdf, 0x75, 0x38, 0x15, 0x84, 0x09, 0xf5, 0xbb, 0xb1, 0x5c, 0xe8, 0x2e, 0x47, - 0x89, 0xb6, 0x0e, 0x95, 0xda, 0x6b, 0x25, 0xa3, 0x53, 0x2b, 0x83, 0x88, 0x70, 0x70, 0x59, 0xd6, - 0xa4, 0x0a, 0x21, 0xaf, 0x75, 0x98, 0xf0, 0x80, 0x84, 0xa3, 0xa6, 0x30, 0x13, 0x62, 0xb5, 0xa1, - 0xee, 0x6d, 0xe4, 0x26, 0xc4, 0xea, 0xc5, 0x75, 0x34, 0x34, 0x83, 0xad, 0x62, 0xb5, 0x20, 0xab, - 0x08, 0x87, 0xb6, 0x8a, 0x6a, 0x7e, 0x4e, 0x0c, 0xbd, 0x95, 0xaf, 0x16, 0xeb, 0xc9, 0xa1, 0x8b, - 0xf5, 0xdb, 0x61, 0x3a, 0x08, 0xb7, 0x68, 0x1c, 0xa4, 0xb4, 0xce, 0xe7, 0xc2, 0xec, 0x14, 0x6f, - 0x08, 0x1d, 0xb9, 0x5a, 0xc9, 0x60, 0x31, 0x47, 0x9d, 0x35, 0x2a, 0xd3, 0x07, 0x30, 0x2a, 0x43, - 0x4c, 0xf9, 0xb1, 0x62, 0x4c, 0xf9, 0xf1, 0xa3, 0x9b, 0xf2, 0x99, 0x47, 0x6a, 0xca, 0x49, 0x21, - 0xa6, 0xfc, 0x69, 0x18, 0xed, 0xc4, 0xd1, 0x6e, 0x6f, 0xf6, 0x44, 0xd6, 0x9b, 0x5e, 0x63, 0x40, - 0x14, 0x38, 0xf7, 0x95, 0x12, 0x9c, 0x32, 0xe6, 0x8b, 0x0d, 0x9a, 0xa0, 0xc1, 0x26, 0x30, 0xbf, - 0x31, 0x27, 0x72, 0x28, 0xac, 0x48, 0xa8, 0x09, 0xaa, 0x6a, 0x0c, 0x5a, 0x54, 0x3c, 0xa0, 0x48, - 0x63, 0x9e, 0x8e, 0x99, 0xb7, 0x6d, 0x4b, 0x12, 0x8e, 0x9a, 0x82, 0xbf, 0xbc, 0x46, 0xe3, 0x54, - 0x1e, 0xa8, 0xe4, 0x13, 0x8c, 0x96, 0x0c, 0x0a, 0x6d, 0x3a, 0xe6, 0x03, 0xfa, 0x6a, 0x5e, 0x31, - 0xfb, 0x36, 0x29, 0x7c, 0x40, 0x3d, 0x95, 0x34, 0x56, 0xa9, 0xc3, 0x23, 0xc7, 0xa3, 0xfd, 0xea, - 0xf0, 0x48, 0x80, 0xa6, 0x70, 0xff, 0xc7, 0x81, 0xd7, 0x0c, 0x6c, 0x8a, 0xc7, 0xb0, 0x66, 0xed, - 0x66, 0xd7, 0xac, 0xf5, 0xa3, 0xaf, 0x59, 0x7d, 0xb5, 0x18, 0xb2, 0x7e, 0xfd, 0xad, 0x03, 0xd3, - 0x86, 0xfe, 0x31, 0x54, 0x35, 0x28, 0xf4, 0x0d, 0x35, 0xa3, 0xba, 0x48, 0x13, 0xcc, 0xd4, 0xed, - 0x9b, 0xbc, 0x6e, 0x62, 0x43, 0xb5, 0xe8, 0xab, 0x47, 0x4a, 0xf6, 0xd9, 0x99, 0xf4, 0x60, 0x8c, - 0x5f, 0x2b, 0x4d, 0x8a, 0xd9, 0xd8, 0x65, 0xe5, 0xf3, 0xd8, 0xa6, 0xd9, 0xd8, 0xf1, 0xcf, 0x04, - 0xa5, 0x40, 0x9e, 0x2c, 0x1c, 0x24, 0xcc, 0x08, 0xd6, 0x65, 0x0c, 0xd6, 0x24, 0x0b, 0x4b, 0x38, - 0x6a, 0x0a, 0xb7, 0x0d, 0xb3, 0x59, 0xe6, 0xcb, 0xb4, 0xc1, 0xe3, 0x67, 0x07, 0xaa, 0xe6, 0x02, - 0x54, 0x3d, 0x5e, 0x6a, 0xb5, 0xeb, 0xe5, 0x5f, 0x2a, 0x59, 0x54, 0x08, 0x34, 0x34, 0xee, 0xef, - 0x38, 0x70, 0x62, 0x40, 0x65, 0x0a, 0x8c, 0x3d, 0xa7, 0xc6, 0x0a, 0x0c, 0x79, 0x3d, 0xa6, 0x4e, - 0x1b, 0x9e, 0x8a, 0xd0, 0x58, 0x01, 0x9d, 0x65, 0x01, 0x46, 0x85, 0x77, 0xff, 0xdd, 0x81, 0x63, - 0x59, 0x5d, 0x13, 0x72, 0x05, 0x88, 0xa8, 0xcc, 0x72, 0x90, 0xf8, 0xd1, 0x0e, 0x8d, 0x7b, 0xac, - 0xe6, 0x42, 0xeb, 0x33, 0x92, 0x13, 0x59, 0xec, 0xa3, 0xc0, 0x01, 0xa5, 0xc8, 0x27, 0x79, 0x7e, - 0x8e, 0x6a, 0x6d, 0x35, 0x52, 0x6e, 0x15, 0x39, 0x52, 0x4c, 0x67, 0xda, 0xdb, 0x62, 0x2d, 0x12, - 0x6d, 0xf9, 0xee, 0xb7, 0x46, 0x40, 0x1f, 0x4e, 0xf1, 0x58, 0x40, 0x41, 0x91, 0x94, 0xcc, 0x73, - 0x36, 0xe5, 0x43, 0x3c, 0x67, 0x33, 0xf2, 0xa0, 0x8d, 0xbf, 0x78, 0x5b, 0xc5, 0x38, 0x98, 0x96, - 0xd1, 0xdf, 0x30, 0x28, 0xb4, 0xe9, 0x98, 0x26, 0xad, 0x60, 0x87, 0x8a, 0x42, 0x63, 0x59, 0x4d, - 0x56, 0x15, 0x02, 0x0d, 0x0d, 0xd3, 0xa4, 0x1e, 0x34, 0x1a, 0x72, 0xfb, 0xa7, 0x35, 0x61, 0xad, - 0x83, 0x1c, 0xc3, 0x28, 0xb6, 0xa2, 0x68, 0x5b, 0x3a, 0x75, 0x9a, 0xe2, 0x72, 0x14, 0x6d, 0x23, - 0xc7, 0x30, 0x37, 0x24, 0x8c, 0xe2, 0xb6, 0xd7, 0x0a, 0xde, 0x47, 0xeb, 0x5a, 0x8a, 0x74, 0xe6, - 0xb4, 0x1b, 0x72, 0xbd, 0x9f, 0x04, 0x07, 0x95, 0x63, 0x23, 0xb0, 0x13, 0xd3, 0x7a, 0xe0, 0xa7, - 0x36, 0x37, 0xc8, 0x8e, 0xc0, 0xb5, 0x3e, 0x0a, 0x1c, 0x50, 0x8a, 0x2c, 0xc2, 0x31, 0x75, 0xb8, - 0xa8, 0x12, 0x40, 0x84, 0x87, 0xa7, 0x9d, 0x6b, 0xcc, 0xa2, 0x31, 0x4f, 0xcf, 0xac, 0x4d, 0x5b, - 0xa6, 0xe1, 0x70, 0xdf, 0xcf, 0xb2, 0x36, 0x2a, 0x3d, 0x07, 0x35, 0x85, 0xfb, 0x7b, 0x25, 0xb6, - 0x3a, 0x0e, 0xb9, 0x35, 0xf9, 0xd8, 0x22, 0x77, 0xd9, 0x11, 0x39, 0x72, 0x80, 0x11, 0xf9, 0x1c, - 0x4c, 0xde, 0x49, 0xa2, 0x50, 0x47, 0xc5, 0x46, 0x87, 0x46, 0xc5, 0x2c, 0xaa, 0xc1, 0x51, 0xb1, - 0xb1, 0x43, 0x46, 0xc5, 0xfe, 0x62, 0x14, 0x4e, 0xeb, 0xf3, 0x60, 0x9a, 0xde, 0x8d, 0xe2, 0xed, - 0x20, 0x6c, 0xf2, 0x33, 0xd4, 0x2f, 0x3a, 0x30, 0x29, 0x86, 0xb7, 0xbc, 0x5f, 0x2e, 0xce, 0x0c, - 0x1b, 0x05, 0x5d, 0x01, 0xca, 0x08, 0x9b, 0xdf, 0xb0, 0x04, 0xe5, 0x2e, 0xfb, 0xdb, 0x28, 0xcc, - 0x68, 0x44, 0x3e, 0x00, 0xa0, 0x1e, 0x41, 0x6a, 0x14, 0xf4, 0x14, 0x94, 0xd2, 0x0f, 0x69, 0xc3, - 0xb8, 0x92, 0x1b, 0x5a, 0x08, 0x5a, 0x02, 0xc9, 0x2b, 0x0e, 0x8c, 0xb5, 0x44, 0xdb, 0x88, 0x03, - 0xa0, 0x97, 0x1e, 0x49, 0xdb, 0xd8, 0xad, 0xa2, 0x97, 0x65, 0xd9, 0x1e, 0x52, 0x3e, 0x41, 0x18, - 0x0f, 0xc2, 0x26, 0xeb, 0x56, 0x19, 0x48, 0x7c, 0xc3, 0xa0, 0xfc, 0x83, 0xd5, 0xc8, 0xab, 0xd7, - 0xbc, 0x96, 0x17, 0xfa, 0x34, 0x5e, 0x11, 0xe4, 0xf6, 0x53, 0x34, 0x1c, 0x80, 0x8a, 0x51, 0xdf, - 0x1d, 0xb7, 0xd1, 0x83, 0xdc, 0x71, 0x3b, 0xf3, 0x0e, 0x98, 0xe9, 0xeb, 0xcc, 0x43, 0xdd, 0xfc, - 0xff, 0x49, 0x98, 0x78, 0xc8, 0xa2, 0xee, 0x9f, 0x8e, 0x99, 0x35, 0xe6, 0x7a, 0x54, 0x17, 0x37, - 0xad, 0x62, 0xd3, 0xa3, 0xd2, 0x55, 0x2c, 0x70, 0x88, 0x58, 0xcf, 0xd9, 0x68, 0x20, 0xda, 0x22, - 0xd9, 0x18, 0xed, 0x78, 0x31, 0x0d, 0x1f, 0xf5, 0x18, 0x5d, 0xd3, 0x42, 0xd0, 0x12, 0x48, 0xb6, - 0x32, 0x27, 0x94, 0x17, 0x8f, 0x7e, 0x42, 0xc9, 0xbc, 0xd7, 0x81, 0x37, 0x62, 0x3e, 0xed, 0xc0, - 0x74, 0x98, 0x19, 0xb9, 0xf2, 0x94, 0x6a, 0xe3, 0x51, 0xcc, 0x0a, 0x71, 0xc3, 0x35, 0x0b, 0xc3, - 0x9c, 0xfc, 0x41, 0x2b, 0xd0, 0xe8, 0x21, 0x57, 0x20, 0x73, 0x65, 0x73, 0x6c, 0xd8, 0x95, 0x4d, - 0x12, 0xea, 0xcb, 0xda, 0xe3, 0x85, 0x5f, 0xd6, 0x86, 0x01, 0x17, 0xb5, 0x6f, 0x43, 0xd5, 0x8f, - 0xa9, 0x97, 0x3e, 0xe4, 0xbd, 0x5d, 0xfe, 0x80, 0xd8, 0x92, 0x62, 0x80, 0x86, 0x97, 0xfb, 0xd7, - 0x65, 0x38, 0xae, 0x5a, 0x44, 0x9d, 0xde, 0xb0, 0xe5, 0x4c, 0xc8, 0x35, 0xbe, 0xa8, 0x5e, 0xce, - 0x2e, 0x2b, 0x04, 0x1a, 0x1a, 0xe6, 0x3e, 0x75, 0x13, 0x7a, 0xa3, 0x43, 0xc3, 0xd5, 0x60, 0x33, - 0xe1, 0x2d, 0x6e, 0xa5, 0x80, 0xdd, 0x34, 0x28, 0xb4, 0xe9, 0x98, 0xef, 0x2c, 0xdc, 0xd8, 0x24, - 0x7f, 0x18, 0x2a, 0xdd, 0x63, 0x54, 0x78, 0xf2, 0x85, 0x81, 0xaf, 0x2e, 0x14, 0x93, 0x06, 0xd0, - 0x77, 0x68, 0x75, 0xc8, 0xe7, 0x16, 0x5e, 0x75, 0xe0, 0xd8, 0x76, 0x26, 0xff, 0x44, 0x99, 0xe4, - 0x23, 0x66, 0x35, 0x66, 0x93, 0x5a, 0xcc, 0x10, 0xce, 0xc2, 0x13, 0xcc, 0x4b, 0x77, 0xff, 0xcb, - 0x01, 0xdb, 0x3c, 0x1d, 0xcc, 0x11, 0xb2, 0xde, 0xd1, 0x29, 0xed, 0xf3, 0x8e, 0x8e, 0xf2, 0x99, - 0xca, 0x07, 0xf3, 0xd1, 0x47, 0x0e, 0xe1, 0xa3, 0x8f, 0x0e, 0x75, 0xb2, 0x5e, 0x0b, 0xe5, 0x6e, - 0x50, 0x97, 0x6e, 0xb6, 0x39, 0x90, 0x5a, 0x59, 0x46, 0x06, 0x77, 0xff, 0x68, 0xd4, 0x6c, 0xab, - 0xe5, 0xe9, 0xf5, 0x0f, 0x44, 0xb5, 0x1b, 0x3a, 0x49, 0x55, 0xd4, 0xfc, 0x7a, 0x5f, 0x92, 0xea, - 0xdb, 0x0e, 0x9f, 0x9c, 0x20, 0x1a, 0x68, 0x58, 0x8e, 0xea, 0xf8, 0x3e, 0x99, 0x09, 0x77, 0xa0, - 0xc2, 0x76, 0x22, 0x3c, 0x3e, 0x56, 0xc9, 0x28, 0x55, 0xb9, 0x2c, 0xe1, 0xf7, 0xf7, 0xe6, 0xde, - 0x7a, 0x78, 0xb5, 0x54, 0x69, 0xd4, 0xfc, 0x49, 0x02, 0x55, 0xf6, 0x9b, 0x27, 0x51, 0xc8, 0x3d, - 0xce, 0x4d, 0x6d, 0x8b, 0x14, 0xa2, 0x90, 0x0c, 0x0d, 0x23, 0x87, 0x84, 0x50, 0xe5, 0x2f, 0xbe, - 0x70, 0xa1, 0x62, 0x2b, 0xb4, 0xa6, 0x53, 0x19, 0x14, 0xe2, 0xfe, 0xde, 0xdc, 0x0b, 0x87, 0x17, - 0xaa, 0x8b, 0xa3, 0x11, 0xe1, 0x7e, 0xa7, 0x6c, 0xc6, 0xae, 0xcc, 0x4d, 0xfe, 0x81, 0x18, 0xbb, - 0xcf, 0xe7, 0xc6, 0xee, 0xb9, 0xbe, 0xb1, 0x3b, 0x6d, 0x5e, 0x45, 0xc9, 0x8c, 0xc6, 0xc7, 0xbd, - 0xc0, 0xee, 0xbf, 0xed, 0xe6, 0x9e, 0xc5, 0xcb, 0xdd, 0x20, 0xa6, 0xc9, 0x5a, 0xdc, 0x0d, 0x83, - 0xb0, 0xc9, 0x87, 0x63, 0xc5, 0xf6, 0x2c, 0x32, 0x68, 0xcc, 0xd3, 0xbb, 0x5f, 0xe2, 0x67, 0x8e, - 0x56, 0x3e, 0x16, 0xeb, 0xe5, 0x16, 0x7f, 0x34, 0x47, 0x64, 0x84, 0xea, 0x5e, 0x16, 0x2f, 0xe5, - 0x08, 0x1c, 0xb9, 0x0b, 0xe3, 0x9b, 0xe2, 0xe2, 0x7e, 0x31, 0x17, 0x84, 0xe4, 0x2b, 0x00, 0xfc, - 0x2a, 0xa6, 0x7a, 0x12, 0xe0, 0xbe, 0xf9, 0x89, 0x4a, 0x9a, 0xfb, 0x6b, 0x65, 0x38, 0x96, 0x7b, - 0xd2, 0x85, 0xed, 0xcf, 0xd5, 0xfb, 0x3d, 0xf9, 0x60, 0xba, 0x7e, 0xa7, 0x56, 0x53, 0x90, 0xf7, - 0x02, 0xd4, 0x69, 0xa7, 0x15, 0xf5, 0xb8, 0xe3, 0x32, 0x72, 0x68, 0xc7, 0x45, 0xfb, 0xba, 0xcb, - 0x9a, 0x0b, 0x5a, 0x1c, 0x65, 0x1a, 0xec, 0xa8, 0x78, 0x96, 0x20, 0x9b, 0x06, 0x6b, 0xdd, 0x93, - 0x1b, 0x7b, 0xbc, 0xf7, 0xe4, 0x02, 0x38, 0x26, 0x54, 0xd4, 0x59, 0x4f, 0x0f, 0x91, 0xdc, 0x74, - 0x82, 0x8d, 0xa8, 0xe5, 0x2c, 0x1b, 0xcc, 0xf3, 0x75, 0x3f, 0x55, 0x62, 0xee, 0x9b, 0x68, 0xec, - 0x6b, 0x2a, 0x96, 0xfd, 0x7a, 0x18, 0xf3, 0xba, 0xe9, 0x56, 0xd4, 0xf7, 0x90, 0xc2, 0x22, 0x87, - 0xa2, 0xc4, 0x92, 0x55, 0x18, 0xa9, 0x7b, 0xa9, 0x7a, 0x67, 0xfd, 0x30, 0xca, 0x99, 0xc0, 0x95, - 0x97, 0x52, 0xe4, 0x5c, 0xc8, 0x53, 0x30, 0x92, 0x7a, 0xcd, 0xcc, 0x0b, 0x8f, 0x1b, 0x5e, 0x33, - 0x41, 0x0e, 0xb5, 0x57, 0x97, 0x91, 0x7d, 0x56, 0x97, 0x17, 0xac, 0x7f, 0x00, 0xb0, 0x0e, 0x49, - 0xfa, 0x5f, 0xed, 0x17, 0x89, 0xf9, 0x19, 0x5a, 0xf7, 0xc7, 0x60, 0xd2, 0x7e, 0xd5, 0xff, 0x40, - 0xf7, 0x7a, 0xdc, 0x7f, 0x1d, 0x81, 0xa9, 0x4c, 0x66, 0x5c, 0x66, 0x94, 0x3b, 0xfb, 0x8e, 0x72, - 0x7e, 0xa6, 0xd5, 0x0d, 0xa9, 0xcc, 0x7b, 0xb4, 0xce, 0xb4, 0xba, 0x21, 0x45, 0x81, 0x63, 0xbd, - 0x52, 0x8f, 0x7b, 0xd8, 0x0d, 0x65, 0x10, 0x5d, 0xf7, 0xca, 0x32, 0x87, 0xa2, 0xc4, 0xb2, 0x0d, - 0xec, 0x64, 0xc2, 0x8d, 0xa2, 0xb0, 0x11, 0x72, 0xd6, 0x5c, 0x29, 0xe2, 0xf1, 0x29, 0x99, 0x05, - 0xca, 0x37, 0xf4, 0x36, 0x04, 0x33, 0x12, 0xc9, 0x47, 0x1d, 0xfb, 0xd9, 0xad, 0xb1, 0x22, 0x0e, - 0x7f, 0xf2, 0x89, 0x87, 0x62, 0x06, 0x3d, 0xf8, 0xf5, 0xad, 0x44, 0x4f, 0xe0, 0xf1, 0x47, 0x33, - 0x81, 0x61, 0xc0, 0xe4, 0x7d, 0x23, 0x54, 0xdb, 0x5e, 0x18, 0x34, 0x68, 0x92, 0x8a, 0x7f, 0xe4, - 0xa8, 0x8a, 0xdd, 0xd3, 0x35, 0x05, 0x44, 0x83, 0xe7, 0xff, 0x7b, 0xc3, 0x2b, 0x26, 0x36, 0x31, - 0x55, 0xeb, 0x7f, 0x6f, 0x0c, 0x18, 0x6d, 0x1a, 0xf7, 0xf7, 0x1d, 0x38, 0x35, 0xb0, 0x31, 0xbe, - 0x7f, 0xa3, 0x95, 0xee, 0x1f, 0x94, 0xe0, 0xc4, 0x80, 0xcc, 0x51, 0xd2, 0x7b, 0x64, 0xaf, 0xb3, - 0xc9, 0xd4, 0xd4, 0xa9, 0xa1, 0x63, 0xe3, 0x70, 0xcb, 0x90, 0x59, 0x0a, 0xca, 0x8f, 0x75, 0x29, - 0x70, 0xbf, 0x54, 0x02, 0xeb, 0x1d, 0x41, 0xf2, 0x41, 0x3b, 0x49, 0xda, 0x29, 0x2a, 0xa1, 0x57, - 0x30, 0xd7, 0x49, 0xd6, 0xa2, 0xd5, 0x06, 0xe5, 0x5c, 0xe7, 0xc7, 0x6b, 0x69, 0xff, 0xf1, 0x4a, - 0x5a, 0x2a, 0x1b, 0xbd, 0x5c, 0x7c, 0x36, 0x7a, 0xb5, 0x2f, 0x13, 0xfd, 0x57, 0x1c, 0x31, 0xd2, - 0x72, 0x55, 0x32, 0x16, 0xd6, 0x79, 0x80, 0x85, 0x7d, 0x13, 0x54, 0x12, 0xda, 0x6a, 0x30, 0xcf, - 0x4e, 0x5a, 0x62, 0x3d, 0x26, 0xd6, 0x25, 0x1c, 0x35, 0x05, 0xbf, 0xa7, 0xda, 0x6a, 0x45, 0x77, - 0x2f, 0xb4, 0x3b, 0x69, 0x4f, 0xda, 0x64, 0x73, 0x4f, 0x55, 0x63, 0xd0, 0xa2, 0x72, 0xff, 0xdb, - 0x11, 0xdd, 0x29, 0x7d, 0xf4, 0xe7, 0x73, 0xf7, 0x07, 0x0f, 0xee, 0xde, 0xfe, 0x3c, 0x80, 0xaf, - 0x6f, 0xf4, 0x17, 0xf3, 0xbc, 0xa0, 0x79, 0x21, 0xc0, 0x7e, 0xf3, 0x4e, 0xc1, 0xd0, 0x92, 0x97, - 0x99, 0x3c, 0xe5, 0xfd, 0x26, 0x8f, 0xfb, 0x1f, 0x0e, 0x64, 0x16, 0x0b, 0xd2, 0x81, 0x51, 0xa6, - 0x41, 0xaf, 0x98, 0xf7, 0x07, 0x6c, 0xd6, 0x6c, 0x62, 0xc9, 0x61, 0xc1, 0x7f, 0xa2, 0x10, 0x44, - 0x5a, 0xd2, 0x3b, 0x2f, 0x15, 0xf1, 0x46, 0x86, 0x2d, 0x90, 0xf9, 0xf7, 0xf2, 0x3f, 0x0e, 0xb4, - 0xa7, 0xef, 0x3e, 0x0f, 0x33, 0x7d, 0x4a, 0xf1, 0x1b, 0x45, 0x91, 0x7a, 0x74, 0xc1, 0x1a, 0x81, - 0xfc, 0x7e, 0x23, 0x0a, 0x1c, 0x73, 0xf0, 0x8f, 0xe7, 0xd9, 0x93, 0xcf, 0x3b, 0x30, 0x93, 0xe4, - 0xf9, 0x3d, 0xaa, 0xb6, 0xd3, 0x91, 0xab, 0x3e, 0x14, 0xf6, 0x2b, 0xe1, 0xfe, 0xa5, 0x34, 0x4f, - 0xe2, 0x3f, 0xa1, 0xf4, 0xe2, 0xe2, 0x0c, 0x5d, 0x5c, 0xd8, 0x14, 0xf3, 0xb7, 0x68, 0xbd, 0xdb, - 0xea, 0x4b, 0xa5, 0x59, 0x97, 0x70, 0xd4, 0x14, 0x99, 0x67, 0xc6, 0xca, 0xfb, 0x3e, 0x33, 0xf6, - 0x1c, 0x4c, 0xda, 0x0f, 0x8b, 0xf0, 0x10, 0x9a, 0x3c, 0x7c, 0xb0, 0xdf, 0x20, 0xc1, 0x0c, 0x55, - 0xee, 0x99, 0xaa, 0xd1, 0x7d, 0x9f, 0xa9, 0x7a, 0x06, 0x2a, 0xf2, 0x2f, 0x96, 0x54, 0x7c, 0x57, - 0xe4, 0xe9, 0x48, 0x18, 0x6a, 0x2c, 0x33, 0x10, 0x6d, 0x2f, 0xec, 0x7a, 0x2d, 0xd6, 0x42, 0x32, - 0x27, 0x4f, 0xcf, 0xac, 0x6b, 0x1a, 0x83, 0x16, 0x95, 0xfb, 0x2f, 0x0e, 0xe4, 0x1f, 0xfe, 0xc9, - 0x64, 0xf6, 0x39, 0xfb, 0x66, 0xf6, 0x65, 0x13, 0x9c, 0x4a, 0x07, 0x4a, 0x70, 0xb2, 0x73, 0x8f, - 0xca, 0x0f, 0xcc, 0x3d, 0x7a, 0x9d, 0xb9, 0x15, 0x2e, 0x92, 0x94, 0x26, 0x06, 0xdd, 0x08, 0x27, - 0x2e, 0x8c, 0xf9, 0x9e, 0x4e, 0x9c, 0x9e, 0x14, 0x8e, 0xd2, 0xd2, 0x22, 0x27, 0x92, 0x98, 0xda, - 0xfc, 0x57, 0xbe, 0x7d, 0xf6, 0x89, 0xaf, 0x7e, 0xfb, 0xec, 0x13, 0xdf, 0xf8, 0xf6, 0xd9, 0x27, - 0x3e, 0x7c, 0xef, 0xac, 0xf3, 0x95, 0x7b, 0x67, 0x9d, 0xaf, 0xde, 0x3b, 0xeb, 0x7c, 0xe3, 0xde, - 0x59, 0xe7, 0x5b, 0xf7, 0xce, 0x3a, 0x9f, 0xfe, 0xc7, 0xb3, 0x4f, 0xbc, 0xab, 0xa2, 0xc6, 0xea, - 0xff, 0x05, 0x00, 0x00, 0xff, 0xff, 0xf7, 0x6e, 0xec, 0x2c, 0x61, 0x74, 0x00, 0x00, + // 6644 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7d, 0x6b, 0x6c, 0x24, 0xd9, + 0x55, 0xf0, 0x56, 0xb7, 0x1f, 0xdd, 0xc7, 0x8f, 0x19, 0xdf, 0x79, 0xac, 0x33, 0xdf, 0x66, 0x3c, + 0xaa, 0x55, 0x92, 0xfd, 0x48, 0x62, 0xb3, 0xc3, 0x12, 0x96, 0x6c, 0x48, 0x70, 0xdb, 0xf3, 0xf0, + 0x8c, 0x67, 0xc6, 0x7b, 0xec, 0x99, 0x21, 0x0f, 0xc2, 0x96, 0xab, 0x6f, 0xb7, 0x6b, 0xdc, 0x5d, + 0xd5, 0x5b, 0x55, 0xed, 0x71, 0x27, 0xe4, 0x85, 0x02, 0x59, 0x91, 0xc7, 0xae, 0x92, 0xfc, 0x48, + 0x24, 0x04, 0xe1, 0x21, 0x24, 0x7e, 0x44, 0xc0, 0x2f, 0x40, 0xc0, 0x9f, 0xfc, 0x0a, 0x42, 0x82, + 0x48, 0xa0, 0x24, 0x10, 0x61, 0x92, 0x21, 0x88, 0x87, 0x04, 0x08, 0xc8, 0x1f, 0xe6, 0x17, 0xba, + 0xef, 0x5b, 0xd5, 0xdd, 0x63, 0x7b, 0x5c, 0x33, 0x89, 0x22, 0xfe, 0xb9, 0xcf, 0x39, 0x75, 0xce, + 0xb9, 0xaf, 0x73, 0xcf, 0x3d, 0xe7, 0xdc, 0x6b, 0x58, 0x6d, 0x06, 0xe9, 0x56, 0x77, 0x73, 0xde, + 0x8f, 0xda, 0x0b, 0x5e, 0xdc, 0x8c, 0x3a, 0x71, 0x74, 0x87, 0xff, 0xf1, 0x56, 0xbf, 0xbe, 0xb0, + 0x73, 0x7e, 0xa1, 0xb3, 0xdd, 0x5c, 0xf0, 0x3a, 0x41, 0xb2, 0xe0, 0x75, 0x3a, 0xad, 0xc0, 0xf7, + 0xd2, 0x20, 0x0a, 0x17, 0x76, 0x9e, 0xf5, 0x5a, 0x9d, 0x2d, 0xef, 0xd9, 0x85, 0x26, 0x0d, 0x69, + 0xec, 0xa5, 0xb4, 0x3e, 0xdf, 0x89, 0xa3, 0x34, 0x22, 0xef, 0x30, 0xdc, 0xe6, 0x15, 0x37, 0xfe, + 0xc7, 0xcf, 0xf9, 0xf5, 0xf9, 0x9d, 0xf3, 0xf3, 0x9d, 0xed, 0xe6, 0x3c, 0xe3, 0x36, 0x6f, 0x71, + 0x9b, 0x57, 0xdc, 0xce, 0xbc, 0xd5, 0xd2, 0xa5, 0x19, 0x35, 0xa3, 0x05, 0xce, 0x74, 0xb3, 0xdb, + 0xe0, 0xbf, 0xf8, 0x0f, 0xfe, 0x97, 0x10, 0x76, 0xc6, 0xdd, 0x7e, 0x3e, 0x99, 0x0f, 0x22, 0xa6, + 0xde, 0x82, 0x1f, 0xc5, 0x74, 0x61, 0xa7, 0x4f, 0xa1, 0x33, 0xcf, 0x19, 0x9a, 0xb6, 0xe7, 0x6f, + 0x05, 0x21, 0x8d, 0x7b, 0xa6, 0x4d, 0x6d, 0x9a, 0x7a, 0x83, 0xbe, 0x5a, 0x18, 0xf6, 0x55, 0xdc, + 0x0d, 0xd3, 0xa0, 0x4d, 0xfb, 0x3e, 0x78, 0xdb, 0x7e, 0x1f, 0x24, 0xfe, 0x16, 0x6d, 0x7b, 0xf9, + 0xef, 0xdc, 0x97, 0x61, 0x6a, 0xf1, 0xf6, 0xfa, 0x62, 0x37, 0xdd, 0x5a, 0x8a, 0xc2, 0x46, 0xd0, + 0x24, 0x3f, 0x0e, 0x13, 0x7e, 0xab, 0x9b, 0xa4, 0x34, 0xbe, 0xee, 0xb5, 0xe9, 0xac, 0x73, 0xce, + 0x79, 0xa6, 0x5a, 0x3b, 0xf1, 0xd5, 0xbd, 0xb9, 0x27, 0xee, 0xed, 0xcd, 0x4d, 0x2c, 0x19, 0x14, + 0xda, 0x74, 0xe4, 0xff, 0xc3, 0x78, 0x1c, 0xb5, 0xe8, 0x22, 0x5e, 0x9f, 0x2d, 0xf1, 0x4f, 0x8e, + 0xc9, 0x4f, 0xc6, 0x51, 0x80, 0x51, 0xe1, 0xdd, 0xaf, 0x97, 0x00, 0x16, 0x3b, 0x9d, 0xb5, 0x38, + 0xba, 0x43, 0xfd, 0x94, 0xbc, 0x04, 0x15, 0xd6, 0x0b, 0x75, 0x2f, 0xf5, 0xb8, 0xb4, 0x89, 0xf3, + 0x3f, 0x3a, 0x2f, 0x1a, 0x33, 0x6f, 0x37, 0xc6, 0x8c, 0x1c, 0xa3, 0x9e, 0xdf, 0x79, 0x76, 0xfe, + 0xc6, 0x26, 0xfb, 0xfe, 0x1a, 0x4d, 0xbd, 0x1a, 0x91, 0xc2, 0xc0, 0xc0, 0x50, 0x73, 0x25, 0x21, + 0x8c, 0x24, 0x1d, 0xea, 0x73, 0xc5, 0x26, 0xce, 0xaf, 0xce, 0x1f, 0x65, 0x8a, 0xcc, 0x1b, 0xcd, + 0xd7, 0x3b, 0xd4, 0xaf, 0x4d, 0x4a, 0xc9, 0x23, 0xec, 0x17, 0x72, 0x39, 0x64, 0x07, 0xc6, 0x92, + 0xd4, 0x4b, 0xbb, 0xc9, 0x6c, 0x99, 0x4b, 0xbc, 0x5e, 0x98, 0x44, 0xce, 0xb5, 0x36, 0x2d, 0x65, + 0x8e, 0x89, 0xdf, 0x28, 0xa5, 0xb9, 0x7f, 0xe7, 0xc0, 0xb4, 0x21, 0x5e, 0x0d, 0x92, 0x94, 0xbc, + 0xaf, 0xaf, 0x73, 0xe7, 0x0f, 0xd6, 0xb9, 0xec, 0x6b, 0xde, 0xb5, 0xc7, 0xa5, 0xb0, 0x8a, 0x82, + 0x58, 0x1d, 0xdb, 0x86, 0xd1, 0x20, 0xa5, 0xed, 0x64, 0xb6, 0x74, 0xae, 0xfc, 0xcc, 0xc4, 0xf9, + 0xcb, 0x45, 0xb5, 0xb3, 0x36, 0x25, 0x85, 0x8e, 0xae, 0x30, 0xf6, 0x28, 0xa4, 0xb8, 0xdf, 0x03, + 0xbb, 0x7d, 0xac, 0xc3, 0xc9, 0xb3, 0x30, 0x91, 0x44, 0xdd, 0xd8, 0xa7, 0x48, 0x3b, 0x51, 0x32, + 0xeb, 0x9c, 0x2b, 0xb3, 0xa9, 0xc7, 0x66, 0xea, 0xba, 0x01, 0xa3, 0x4d, 0x43, 0x3e, 0xe3, 0xc0, + 0x64, 0x9d, 0x26, 0x69, 0x10, 0x72, 0xf9, 0x4a, 0xf9, 0x8d, 0x23, 0x2b, 0xaf, 0x80, 0xcb, 0x86, + 0x79, 0xed, 0xa4, 0x6c, 0xc8, 0xa4, 0x05, 0x4c, 0x30, 0x23, 0x9f, 0xad, 0xb8, 0x3a, 0x4d, 0xfc, + 0x38, 0xe8, 0xb0, 0xdf, 0x7c, 0xce, 0x58, 0x2b, 0x6e, 0xd9, 0xa0, 0xd0, 0xa6, 0x23, 0x21, 0x8c, + 0xb2, 0x15, 0x95, 0xcc, 0x8e, 0x70, 0xfd, 0x57, 0x8e, 0xa6, 0xbf, 0xec, 0x54, 0xb6, 0x58, 0x4d, + 0xef, 0xb3, 0x5f, 0x09, 0x0a, 0x31, 0xe4, 0xd3, 0x0e, 0xcc, 0xca, 0x15, 0x8f, 0x54, 0x74, 0xe8, + 0xed, 0xad, 0x20, 0xa5, 0xad, 0x20, 0x49, 0x67, 0x47, 0xb9, 0x0e, 0x0b, 0x07, 0x9b, 0x5b, 0x97, + 0xe2, 0xa8, 0xdb, 0xb9, 0x1a, 0x84, 0xf5, 0xda, 0x39, 0x29, 0x69, 0x76, 0x69, 0x08, 0x63, 0x1c, + 0x2a, 0x92, 0x7c, 0xce, 0x81, 0x33, 0xa1, 0xd7, 0xa6, 0x49, 0xc7, 0x63, 0x43, 0x2b, 0xd0, 0xb5, + 0x96, 0xe7, 0x6f, 0x73, 0x8d, 0xc6, 0x1e, 0x4e, 0x23, 0x57, 0x6a, 0x74, 0xe6, 0xfa, 0x50, 0xd6, + 0xf8, 0x00, 0xb1, 0xe4, 0x37, 0x1d, 0x98, 0x89, 0xe2, 0xce, 0x96, 0x17, 0xd2, 0xba, 0xc2, 0x26, + 0xb3, 0xe3, 0x7c, 0xe9, 0xbd, 0xff, 0x68, 0x43, 0x74, 0x23, 0xcf, 0xf6, 0x5a, 0x14, 0x06, 0x69, + 0x14, 0xaf, 0xd3, 0x34, 0x0d, 0xc2, 0x66, 0x52, 0x3b, 0x75, 0x6f, 0x6f, 0x6e, 0xa6, 0x8f, 0x0a, + 0xfb, 0xf5, 0x21, 0x1f, 0x84, 0x89, 0xa4, 0x17, 0xfa, 0xb7, 0x83, 0xb0, 0x1e, 0xdd, 0x4d, 0x66, + 0x2b, 0x45, 0x2c, 0xdf, 0x75, 0xcd, 0x50, 0x2e, 0x40, 0x23, 0x00, 0x6d, 0x69, 0x83, 0x07, 0xce, + 0x4c, 0xa5, 0x6a, 0xd1, 0x03, 0x67, 0x26, 0xd3, 0x03, 0xc4, 0x92, 0x4f, 0x38, 0x30, 0x95, 0x04, + 0xcd, 0xd0, 0x4b, 0xbb, 0x31, 0xbd, 0x4a, 0x7b, 0xc9, 0x2c, 0x70, 0x45, 0xae, 0x1c, 0xb1, 0x57, + 0x2c, 0x96, 0xb5, 0x53, 0x52, 0xc7, 0x29, 0x1b, 0x9a, 0x60, 0x56, 0xee, 0xa0, 0x85, 0x66, 0xa6, + 0xf5, 0x44, 0xb1, 0x0b, 0xcd, 0x4c, 0xea, 0xa1, 0x22, 0xdd, 0x3f, 0x2b, 0xc1, 0xf1, 0xfc, 0x1e, + 0x44, 0x7e, 0xdb, 0x81, 0x63, 0x77, 0xee, 0xa6, 0x1b, 0xd1, 0x36, 0x0d, 0x93, 0x5a, 0x8f, 0x59, + 0x0a, 0x6e, 0x7d, 0x27, 0xce, 0xfb, 0xc5, 0xee, 0x76, 0xf3, 0x57, 0xb2, 0x52, 0x2e, 0x84, 0x69, + 0xdc, 0xab, 0x3d, 0x29, 0xdb, 0x73, 0xec, 0xca, 0xed, 0x0d, 0x1b, 0x8b, 0x79, 0xa5, 0xce, 0x7c, + 0xd2, 0x81, 0x93, 0x83, 0x58, 0x90, 0xe3, 0x50, 0xde, 0xa6, 0x3d, 0xe1, 0xe0, 0x20, 0xfb, 0x93, + 0xfc, 0x2c, 0x8c, 0xee, 0x78, 0xad, 0x2e, 0x95, 0x8e, 0xc2, 0xa5, 0xa3, 0x35, 0x44, 0x6b, 0x86, + 0x82, 0xeb, 0xdb, 0x4b, 0xcf, 0x3b, 0xee, 0x5f, 0x96, 0x61, 0xc2, 0xda, 0x2a, 0x1e, 0x83, 0xf3, + 0x13, 0x65, 0x9c, 0x9f, 0x6b, 0x85, 0xed, 0x72, 0x43, 0xbd, 0x9f, 0xbb, 0x39, 0xef, 0xe7, 0x46, + 0x71, 0x22, 0x1f, 0xe8, 0xfe, 0x90, 0x14, 0xaa, 0x51, 0x87, 0x39, 0xb7, 0x6c, 0x17, 0x1d, 0x29, + 0x62, 0x08, 0x6f, 0x28, 0x76, 0xb5, 0xa9, 0x7b, 0x7b, 0x73, 0x55, 0xfd, 0x13, 0x8d, 0x20, 0xf7, + 0x1b, 0x0e, 0x9c, 0xb4, 0x74, 0x5c, 0x8a, 0xc2, 0x7a, 0xc0, 0x87, 0xf6, 0x1c, 0x8c, 0xa4, 0xbd, + 0x8e, 0xf2, 0xa0, 0x75, 0x4f, 0x6d, 0xf4, 0x3a, 0x14, 0x39, 0x86, 0xf9, 0xcc, 0x6d, 0x9a, 0x24, + 0x5e, 0x93, 0xe6, 0x7d, 0xe6, 0x6b, 0x02, 0x8c, 0x0a, 0x4f, 0x62, 0x20, 0x2d, 0x2f, 0x49, 0x37, + 0x62, 0x2f, 0x4c, 0x38, 0xfb, 0x8d, 0xa0, 0x4d, 0x65, 0x07, 0xff, 0xc8, 0xc1, 0x66, 0x0c, 0xfb, + 0xa2, 0x76, 0xfa, 0xde, 0xde, 0x1c, 0x59, 0xed, 0xe3, 0x84, 0x03, 0xb8, 0xbb, 0x9f, 0x73, 0xe0, + 0xf4, 0x60, 0xb7, 0x86, 0xbc, 0x11, 0xc6, 0x12, 0x1a, 0xef, 0xd0, 0x58, 0xb6, 0xce, 0x0c, 0x09, + 0x87, 0xa2, 0xc4, 0x92, 0x05, 0xa8, 0x6a, 0x93, 0x2b, 0xdb, 0x38, 0x23, 0x49, 0xab, 0xc6, 0x4e, + 0x1b, 0x1a, 0xd6, 0x69, 0xec, 0x87, 0x74, 0x82, 0x74, 0xa7, 0xf1, 0xf3, 0x06, 0xc7, 0xb8, 0x7f, + 0xef, 0xc0, 0x31, 0x4b, 0xab, 0xc7, 0xe0, 0xe5, 0x86, 0x59, 0x2f, 0x77, 0xa5, 0xb0, 0xf9, 0x3c, + 0xc4, 0xcd, 0xfd, 0xca, 0x18, 0xcc, 0xd8, 0xb3, 0x9e, 0x9b, 0x63, 0x7e, 0xc0, 0xa2, 0x9d, 0xe8, + 0x26, 0xae, 0xca, 0x3e, 0x37, 0x07, 0x2c, 0x01, 0x46, 0x85, 0x67, 0x9d, 0xd8, 0xf1, 0xd2, 0x2d, + 0xd9, 0xe1, 0xba, 0x13, 0xd7, 0xbc, 0x74, 0x0b, 0x39, 0x86, 0xbc, 0x13, 0xa6, 0x53, 0x2f, 0x6e, + 0xd2, 0x14, 0xe9, 0x4e, 0x90, 0xa8, 0xf5, 0x52, 0xad, 0x9d, 0x96, 0xb4, 0xd3, 0x1b, 0x19, 0x2c, + 0xe6, 0xa8, 0xc9, 0xcb, 0x30, 0xb2, 0x45, 0x5b, 0x6d, 0xe9, 0xd7, 0xac, 0x17, 0xb7, 0xc2, 0x79, + 0x5b, 0x2f, 0xd3, 0x56, 0xbb, 0x56, 0x61, 0x2a, 0xb3, 0xbf, 0x90, 0x8b, 0x22, 0xbf, 0xe8, 0x40, + 0x75, 0xbb, 0x9b, 0xa4, 0x51, 0x3b, 0xf8, 0x00, 0x9d, 0xad, 0x70, 0xc1, 0x3f, 0x53, 0xb0, 0xe0, + 0xab, 0x8a, 0xbf, 0x58, 0xef, 0xfa, 0x27, 0x1a, 0xc9, 0xe4, 0x43, 0x30, 0xbe, 0x9d, 0x44, 0x61, + 0x48, 0x99, 0xa7, 0xc2, 0x94, 0xb8, 0x55, 0xb4, 0x12, 0x82, 0x7b, 0x6d, 0x82, 0x8d, 0xad, 0xfc, + 0x81, 0x4a, 0x26, 0xef, 0x86, 0x7a, 0x10, 0x53, 0x3f, 0x8d, 0xe2, 0xde, 0x2c, 0x3c, 0x92, 0x6e, + 0x58, 0x56, 0xfc, 0x45, 0x37, 0xe8, 0x9f, 0x68, 0x24, 0x93, 0x1e, 0x8c, 0x75, 0x5a, 0xdd, 0x66, + 0x10, 0xce, 0x4e, 0x70, 0x1d, 0x6e, 0x16, 0xac, 0xc3, 0x1a, 0x67, 0x5e, 0x03, 0x66, 0x54, 0xc4, + 0xdf, 0x28, 0x05, 0x92, 0xa7, 0x61, 0xd4, 0xdf, 0xf2, 0xe2, 0x74, 0x76, 0x92, 0xcf, 0x59, 0xbd, + 0x88, 0x96, 0x18, 0x10, 0x05, 0xce, 0xfd, 0xf5, 0x12, 0x9c, 0x19, 0xde, 0x30, 0xb1, 0x9a, 0xfc, + 0x6e, 0x9c, 0x08, 0xfb, 0x5c, 0xb1, 0x57, 0x13, 0x07, 0xa3, 0xc2, 0x93, 0x8f, 0x39, 0x30, 0x7e, + 0x47, 0x8e, 0x78, 0xe9, 0x91, 0x8c, 0xf8, 0x15, 0x39, 0xe2, 0x5a, 0x87, 0x2b, 0x6a, 0xd4, 0xa5, + 0x5c, 0xa6, 0x2e, 0xdd, 0xf5, 0x5b, 0xdd, 0xba, 0xb2, 0x8c, 0x9a, 0xf4, 0x82, 0x00, 0xa3, 0xc2, + 0x33, 0xd2, 0x20, 0x14, 0xa4, 0x23, 0x59, 0xd2, 0x95, 0x50, 0x92, 0x4a, 0xbc, 0xfb, 0xdd, 0x32, + 0x9c, 0x1a, 0xb8, 0xf8, 0xc8, 0x3c, 0x00, 0xf7, 0x59, 0x2e, 0x06, 0xec, 0x80, 0x29, 0x4e, 0xd5, + 0xd3, 0xcc, 0xc5, 0xb8, 0xa5, 0xa1, 0x68, 0x51, 0x90, 0x8f, 0x00, 0x74, 0xbc, 0xd8, 0x6b, 0xd3, + 0x94, 0xc6, 0xca, 0x4e, 0x5e, 0x3d, 0x5a, 0x2f, 0x31, 0x3d, 0xd6, 0x14, 0x4f, 0xe3, 0xe3, 0x68, + 0x50, 0x82, 0x96, 0x48, 0x76, 0x86, 0x8e, 0x69, 0x8b, 0x7a, 0x09, 0xbd, 0x6e, 0xb6, 0x0f, 0x7d, + 0x86, 0x46, 0x83, 0x42, 0x9b, 0x8e, 0xed, 0x63, 0xbc, 0x15, 0x89, 0xec, 0x2b, 0xbd, 0x8f, 0xf1, + 0x76, 0x26, 0x28, 0xb1, 0xe4, 0x55, 0x07, 0xa6, 0x1b, 0x41, 0x8b, 0x1a, 0xe9, 0xf2, 0xc4, 0x7b, + 0xe3, 0xe8, 0x8d, 0xbc, 0x68, 0xf3, 0x35, 0x16, 0x38, 0x03, 0x4e, 0x30, 0x27, 0x9e, 0x0d, 0xf3, + 0x0e, 0x8d, 0xb9, 0xe9, 0x1e, 0xcb, 0x0e, 0xf3, 0x2d, 0x01, 0x46, 0x85, 0x77, 0xbf, 0x58, 0x82, + 0xd9, 0x61, 0x73, 0x8e, 0x24, 0x6c, 0x66, 0xa5, 0xb7, 0xbc, 0x38, 0x91, 0xee, 0xfb, 0x11, 0x4f, + 0x81, 0x92, 0xef, 0x2d, 0x2f, 0xb6, 0xe7, 0x28, 0x17, 0x80, 0x4a, 0x12, 0xb9, 0x03, 0x23, 0x69, + 0xcb, 0x2b, 0x28, 0x6c, 0x64, 0x49, 0x34, 0x4e, 0xd6, 0xea, 0x62, 0x82, 0x5c, 0x06, 0x79, 0x0a, + 0x46, 0x5a, 0xc1, 0x26, 0x73, 0x46, 0xd9, 0x24, 0xe6, 0xbb, 0xca, 0x6a, 0xb0, 0x99, 0x20, 0x87, + 0xba, 0x5f, 0x77, 0x06, 0xf4, 0x8d, 0x34, 0xba, 0x6c, 0x52, 0xd1, 0x70, 0x27, 0x88, 0xa3, 0xb0, + 0x4d, 0xc3, 0x34, 0x1f, 0x0a, 0xbd, 0x60, 0x50, 0x68, 0xd3, 0x91, 0x5f, 0x70, 0x06, 0xac, 0x86, + 0x23, 0xc6, 0x00, 0xa5, 0x4a, 0x07, 0x5e, 0x10, 0xee, 0x7f, 0x8c, 0x0d, 0xb0, 0x7f, 0x7a, 0x43, + 0x23, 0xe7, 0x01, 0x98, 0x37, 0xb5, 0x16, 0xd3, 0x46, 0xb0, 0x2b, 0x5b, 0xa6, 0x59, 0x5e, 0xd7, + 0x18, 0xb4, 0xa8, 0xd4, 0x37, 0xeb, 0xdd, 0x06, 0xfb, 0xa6, 0xd4, 0xff, 0x8d, 0xc0, 0xa0, 0x45, + 0x45, 0x9e, 0x83, 0xb1, 0xa0, 0xed, 0x35, 0xa9, 0xea, 0xff, 0xa7, 0xd8, 0xe2, 0x5a, 0xe1, 0x90, + 0xfb, 0x7b, 0x73, 0xd3, 0x5a, 0x21, 0x0e, 0x42, 0x49, 0x4b, 0x7e, 0xcb, 0x81, 0x49, 0x3f, 0x6a, + 0xb7, 0xa3, 0x70, 0xd5, 0xdb, 0xa4, 0x2d, 0x15, 0xe2, 0xba, 0xf3, 0xa8, 0xb6, 0xfb, 0xf9, 0x25, + 0x4b, 0x98, 0x38, 0x60, 0xea, 0xc0, 0x9d, 0x8d, 0xc2, 0x8c, 0x56, 0xf6, 0x1a, 0x1c, 0x7d, 0xf0, + 0x1a, 0x24, 0x7f, 0xe8, 0xc0, 0x8c, 0xf8, 0x76, 0x31, 0x0c, 0xa3, 0x54, 0x46, 0x1e, 0x45, 0x8c, + 0x2a, 0x7a, 0xc4, 0xcd, 0xb2, 0x24, 0x8a, 0xb6, 0xbd, 0x4e, 0xaa, 0x39, 0xd3, 0x87, 0xc7, 0x7e, + 0x25, 0xc9, 0x25, 0x98, 0x69, 0x44, 0xb1, 0x4f, 0xed, 0x8e, 0xe0, 0x8e, 0x5f, 0xc5, 0x30, 0xba, + 0x98, 0x27, 0xc0, 0xfe, 0x6f, 0xc8, 0x2d, 0x38, 0x6d, 0x01, 0xed, 0x7e, 0xa8, 0x70, 0x6e, 0x67, + 0x25, 0xb7, 0xd3, 0x17, 0x07, 0x52, 0xe1, 0x90, 0xaf, 0xcf, 0xbc, 0x0b, 0x66, 0xfa, 0xc6, 0x6f, + 0xc0, 0xe9, 0xfe, 0xa4, 0x7d, 0xba, 0xaf, 0x5a, 0x87, 0xf2, 0x33, 0xcb, 0x70, 0x7a, 0x70, 0x4f, + 0x1d, 0x86, 0x8b, 0xfb, 0xab, 0x0e, 0x3c, 0x39, 0xc4, 0x8d, 0xd1, 0xc7, 0x1a, 0x67, 0xd8, 0xb1, + 0x86, 0x78, 0x50, 0xa6, 0xe1, 0x8e, 0x34, 0x16, 0x17, 0x8f, 0x36, 0x23, 0x2e, 0x84, 0x3b, 0x62, + 0xa0, 0xc7, 0xef, 0xed, 0xcd, 0x95, 0x2f, 0x84, 0x3b, 0xc8, 0x78, 0xbb, 0x9f, 0x1f, 0xcb, 0x9c, + 0x9c, 0xd6, 0xd5, 0x61, 0x9d, 0x2b, 0x2a, 0xcf, 0x4d, 0x37, 0x0a, 0x9e, 0x8b, 0xd6, 0xc9, 0x50, + 0x84, 0xe0, 0xa5, 0x38, 0xf2, 0x49, 0x87, 0x47, 0xbd, 0xd5, 0x89, 0x52, 0x7a, 0x56, 0x8f, 0x26, + 0x08, 0x6f, 0xc7, 0xd2, 0x15, 0x10, 0x6d, 0xe9, 0x6c, 0x25, 0x77, 0x44, 0xd0, 0x29, 0xef, 0x5f, + 0xa9, 0xb8, 0xb8, 0xc2, 0x93, 0x5d, 0x80, 0xa4, 0x17, 0xfa, 0x6b, 0x51, 0x2b, 0xf0, 0x7b, 0x32, + 0xcc, 0x50, 0x40, 0xe4, 0x54, 0xf0, 0x13, 0x4e, 0x96, 0xf9, 0x8d, 0x96, 0x2c, 0xf2, 0x25, 0x07, + 0x66, 0x82, 0x66, 0x18, 0xc5, 0x74, 0x39, 0x68, 0x34, 0x68, 0x4c, 0x43, 0x9f, 0x2a, 0x3f, 0xe4, + 0xf6, 0xd1, 0x34, 0x50, 0x41, 0xbf, 0x95, 0x3c, 0x7b, 0xb3, 0xc4, 0xfb, 0x50, 0xd8, 0xaf, 0x0c, + 0xa9, 0xc3, 0x48, 0x10, 0x36, 0x22, 0x69, 0xd8, 0x6a, 0x47, 0x53, 0x6a, 0x25, 0x6c, 0x44, 0x66, + 0xad, 0xb0, 0x5f, 0xc8, 0xb9, 0x93, 0x55, 0x38, 0x19, 0xcb, 0x93, 0xe8, 0xe5, 0x20, 0x61, 0xfe, + 0xfc, 0x6a, 0xd0, 0x0e, 0x52, 0x6e, 0x94, 0xca, 0xb5, 0xd9, 0x7b, 0x7b, 0x73, 0x27, 0x71, 0x00, + 0x1e, 0x07, 0x7e, 0xe5, 0xbe, 0x52, 0xcd, 0x1e, 0xb7, 0x45, 0x30, 0xe9, 0x43, 0x50, 0x8d, 0x75, + 0xf8, 0x5e, 0x78, 0x46, 0xab, 0xc5, 0xf4, 0xb1, 0x8c, 0x62, 0xe9, 0x38, 0x88, 0x09, 0xd4, 0x1b, + 0x89, 0xcc, 0x43, 0x62, 0x23, 0x2f, 0x97, 0x45, 0x01, 0xf3, 0x4b, 0x4a, 0x35, 0x01, 0xbb, 0x5e, + 0xe8, 0x23, 0x97, 0x41, 0x62, 0x18, 0xdb, 0xa2, 0x5e, 0x2b, 0xdd, 0x92, 0xf1, 0xa4, 0x2b, 0x47, + 0xf5, 0x69, 0x19, 0xaf, 0x7c, 0xac, 0x4e, 0x40, 0x51, 0x4a, 0x22, 0xbb, 0x30, 0xbe, 0x25, 0x06, + 0x41, 0xee, 0xed, 0xd7, 0x8e, 0xda, 0xb9, 0x99, 0x91, 0x35, 0xeb, 0x57, 0x02, 0x50, 0x89, 0x23, + 0xbf, 0xe4, 0x00, 0xf8, 0x2a, 0x48, 0xa7, 0x96, 0x0f, 0x16, 0x66, 0x77, 0x74, 0xfc, 0xcf, 0xb8, + 0x46, 0x1a, 0x94, 0xa0, 0x25, 0x99, 0xbc, 0x04, 0x93, 0x31, 0xf5, 0xa3, 0xd0, 0x0f, 0x5a, 0xb4, + 0xbe, 0x98, 0x72, 0x37, 0xfe, 0x70, 0xc1, 0xbc, 0xe3, 0xcc, 0x3f, 0x41, 0x8b, 0x07, 0x66, 0x38, + 0x92, 0x57, 0x1c, 0x98, 0xd6, 0x81, 0x4a, 0x36, 0x20, 0x54, 0x06, 0x6c, 0x56, 0x0b, 0x0a, 0x8b, + 0x72, 0x9e, 0x35, 0xc2, 0x8e, 0x2b, 0x59, 0x18, 0xe6, 0xe4, 0x92, 0xf7, 0x00, 0x44, 0x9b, 0x3c, + 0x28, 0xc8, 0x9a, 0x5a, 0x39, 0x74, 0x53, 0xa7, 0x45, 0x7c, 0x5b, 0x71, 0x40, 0x8b, 0x1b, 0xb9, + 0x0a, 0x20, 0x96, 0xcd, 0x46, 0xaf, 0x43, 0x79, 0x50, 0xa6, 0x5a, 0x7b, 0xb3, 0xea, 0xfc, 0x75, + 0x8d, 0xb9, 0xbf, 0x37, 0xd7, 0x7f, 0xda, 0xe5, 0xd1, 0x58, 0xeb, 0x73, 0xf2, 0x41, 0x18, 0x4f, + 0xba, 0xed, 0xb6, 0xa7, 0x83, 0x2b, 0x6b, 0xc5, 0xed, 0x88, 0x82, 0xaf, 0x99, 0x9b, 0x12, 0x80, + 0x4a, 0xa2, 0x1b, 0x02, 0xe9, 0xa7, 0x27, 0xcf, 0xc1, 0x24, 0xdd, 0x4d, 0x69, 0x1c, 0x7a, 0xad, + 0x9b, 0xb8, 0xaa, 0x8e, 0xe3, 0x7c, 0xf0, 0x2f, 0x58, 0x70, 0xcc, 0x50, 0x11, 0x57, 0x7b, 0xde, + 0x25, 0x4e, 0x0f, 0xc6, 0xf3, 0x56, 0x7e, 0xb6, 0xfb, 0x3f, 0xa5, 0x8c, 0x47, 0xb0, 0x11, 0x53, + 0x4a, 0x22, 0x18, 0x0d, 0xa3, 0xba, 0x36, 0x7a, 0x57, 0x8a, 0x31, 0x7a, 0xd7, 0xa3, 0xba, 0x95, + 0x57, 0x66, 0xbf, 0x12, 0x14, 0x72, 0x78, 0xe2, 0x4d, 0x65, 0x28, 0x39, 0x42, 0x3a, 0x41, 0x45, + 0x4a, 0xd6, 0x89, 0xb7, 0x1b, 0xb6, 0x20, 0xcc, 0xca, 0x25, 0xdb, 0x30, 0xba, 0x15, 0x25, 0xa9, + 0x38, 0xab, 0x1c, 0xd9, 0x0b, 0xbb, 0x1c, 0x25, 0x29, 0xdf, 0xc2, 0x74, 0xb3, 0x19, 0x24, 0x41, + 0x21, 0xc3, 0xfd, 0x27, 0x27, 0x13, 0x7c, 0xb9, 0xed, 0xa5, 0xfe, 0xd6, 0x85, 0x1d, 0x76, 0x7e, + 0xbc, 0x9a, 0x49, 0x1c, 0xfc, 0x84, 0x9d, 0x38, 0xb8, 0xbf, 0x37, 0xf7, 0xa6, 0x61, 0x85, 0x3e, + 0x77, 0x19, 0x87, 0x79, 0xce, 0xc2, 0xca, 0x31, 0x7c, 0xd4, 0x81, 0x09, 0x4b, 0x3d, 0xb9, 0xa1, + 0x14, 0x18, 0xc3, 0xd6, 0xce, 0x95, 0x05, 0x44, 0x5b, 0xa4, 0xfb, 0x59, 0x07, 0xc6, 0x6b, 0x9e, + 0xbf, 0x1d, 0x35, 0x1a, 0xe4, 0x2d, 0x50, 0xa9, 0x77, 0x65, 0x8a, 0x46, 0xb4, 0x4f, 0x47, 0xde, + 0x97, 0x25, 0x1c, 0x35, 0x05, 0x9b, 0xc3, 0x0d, 0xcf, 0x4f, 0xa3, 0x98, 0xab, 0x5d, 0x16, 0x73, + 0xf8, 0x22, 0x87, 0xa0, 0xc4, 0xb0, 0x43, 0x7a, 0xdb, 0xdb, 0x55, 0x1f, 0xe7, 0x23, 0x3f, 0xd7, + 0x0c, 0x0a, 0x6d, 0x3a, 0xf7, 0xb5, 0x31, 0x18, 0x97, 0xb9, 0xd0, 0x03, 0x67, 0x33, 0x94, 0x17, + 0x5f, 0x1a, 0xea, 0xc5, 0x27, 0x30, 0xe6, 0xf3, 0x32, 0x2a, 0xb9, 0x95, 0x1e, 0x31, 0x06, 0x26, + 0x15, 0x14, 0x95, 0x59, 0x46, 0x2d, 0xf1, 0x1b, 0xa5, 0x28, 0xf2, 0x9a, 0x03, 0xc7, 0xfc, 0x28, + 0x0c, 0xa9, 0x6f, 0xec, 0xfc, 0x48, 0x11, 0xd9, 0xbe, 0xa5, 0x2c, 0x53, 0x93, 0x74, 0xcd, 0x21, + 0x30, 0x2f, 0x9e, 0xbc, 0x00, 0x53, 0xa2, 0xcf, 0x6e, 0x65, 0xce, 0xc7, 0x26, 0xff, 0x6d, 0x23, + 0x31, 0x4b, 0x4b, 0xe6, 0x45, 0x9c, 0x81, 0x27, 0x84, 0xc4, 0x19, 0x59, 0x06, 0x1f, 0x75, 0xc6, + 0x28, 0x41, 0x8b, 0x82, 0xc4, 0x40, 0x62, 0xda, 0x88, 0x69, 0xb2, 0x85, 0xf4, 0xe5, 0x2e, 0x4d, + 0x52, 0xbe, 0xc7, 0x8c, 0x3f, 0x5c, 0x6e, 0x0c, 0xfb, 0x38, 0xe1, 0x00, 0xee, 0x64, 0x5b, 0x3a, + 0xba, 0x95, 0x22, 0x96, 0x93, 0x1c, 0xe6, 0xa1, 0xfe, 0xee, 0x1c, 0x8c, 0x26, 0x5b, 0x5e, 0x5c, + 0xe7, 0x7b, 0x5b, 0xb9, 0x56, 0x65, 0xb6, 0x64, 0x9d, 0x01, 0x50, 0xc0, 0xc9, 0x32, 0x1c, 0xcf, + 0x65, 0xef, 0x13, 0xbe, 0x7b, 0x55, 0x6a, 0xb3, 0x92, 0xdd, 0xf1, 0x5c, 0xde, 0x3f, 0xc1, 0xbe, + 0x2f, 0xdc, 0xef, 0x39, 0xa0, 0xc8, 0x96, 0x3c, 0x7f, 0x8b, 0x32, 0x0d, 0xc8, 0x3b, 0x61, 0x5a, + 0x7b, 0xa5, 0x4b, 0x51, 0x57, 0x86, 0xc1, 0xca, 0x26, 0x4e, 0x89, 0x19, 0x2c, 0xe6, 0xa8, 0xc9, + 0x02, 0x54, 0x59, 0xc3, 0xc5, 0xa7, 0x62, 0x15, 0x6b, 0xcf, 0x77, 0x71, 0x6d, 0x45, 0x7e, 0x65, + 0x68, 0x48, 0x04, 0x33, 0x2d, 0x2f, 0x49, 0xb9, 0x06, 0xcc, 0x49, 0x7d, 0xc8, 0x44, 0x27, 0xaf, + 0x85, 0x59, 0xcd, 0x33, 0xc2, 0x7e, 0xde, 0xee, 0x37, 0x46, 0x60, 0x2a, 0xb3, 0xd0, 0x98, 0x91, + 0xea, 0x26, 0x6c, 0x27, 0xd5, 0x27, 0x76, 0x6d, 0xa4, 0x6e, 0x4a, 0x38, 0x6a, 0x0a, 0x46, 0xdd, + 0xf1, 0x92, 0xe4, 0x6e, 0x14, 0xd7, 0xa5, 0x65, 0xd0, 0xd4, 0x6b, 0x12, 0x8e, 0x9a, 0x82, 0x99, + 0xab, 0x4d, 0xea, 0xc5, 0x34, 0xe6, 0xb5, 0x01, 0x79, 0x73, 0x55, 0x33, 0x28, 0xb4, 0xe9, 0xf8, + 0x1a, 0x4f, 0x5b, 0xc9, 0x52, 0x2b, 0xa0, 0x61, 0x2a, 0xd4, 0x2c, 0x66, 0x8d, 0x6f, 0xac, 0xae, + 0xdb, 0x4c, 0xcd, 0x1a, 0xcf, 0x21, 0x30, 0x2f, 0x9e, 0x7c, 0xdc, 0x81, 0x29, 0xef, 0x6e, 0x62, + 0x4a, 0x47, 0xf9, 0x22, 0x3f, 0xb2, 0xcd, 0xcb, 0x54, 0xa3, 0xd6, 0x66, 0x98, 0xb5, 0xc8, 0x80, + 0x30, 0x2b, 0x94, 0x7c, 0xc1, 0x01, 0x42, 0x77, 0xa9, 0xbf, 0x16, 0x47, 0x3b, 0x41, 0x5d, 0x8d, + 0xa1, 0xf4, 0xa6, 0x8f, 0xe8, 0xbc, 0x5d, 0xe8, 0xe3, 0x2b, 0x8c, 0x44, 0x3f, 0x1c, 0x07, 0xe8, + 0xe0, 0xfe, 0x6d, 0x19, 0x26, 0xac, 0xb5, 0x3d, 0xd0, 0x50, 0x3b, 0x3f, 0x60, 0x86, 0xba, 0x74, + 0x08, 0x43, 0xfd, 0x11, 0xa8, 0xfa, 0xca, 0x50, 0x14, 0x53, 0xea, 0x9a, 0x37, 0x3f, 0xc6, 0x56, + 0x68, 0x10, 0x1a, 0x99, 0xe4, 0x12, 0xcc, 0x58, 0x6c, 0xa4, 0x91, 0x19, 0xe1, 0x46, 0x46, 0xc7, + 0x2d, 0x16, 0xf3, 0x04, 0xd8, 0xff, 0x0d, 0x79, 0x96, 0x39, 0x49, 0x81, 0x6c, 0x97, 0x38, 0x14, + 0xca, 0x32, 0xd2, 0xc5, 0xb5, 0x15, 0x05, 0x46, 0x9b, 0xc6, 0xfd, 0x86, 0xa3, 0x07, 0xf7, 0x31, + 0xd4, 0x20, 0xdc, 0xc9, 0xd6, 0x20, 0x5c, 0x28, 0xa4, 0x9b, 0x87, 0xd4, 0x1f, 0x5c, 0x87, 0xf1, + 0xa5, 0xa8, 0xdd, 0xf6, 0xc2, 0x3a, 0x79, 0x03, 0x8c, 0xfb, 0xe2, 0x4f, 0x79, 0xea, 0xe0, 0x49, + 0x69, 0x89, 0x45, 0x85, 0x23, 0x4f, 0xc1, 0x88, 0x17, 0x37, 0xd5, 0x49, 0x83, 0xe7, 0x58, 0x16, + 0xe3, 0x66, 0x82, 0x1c, 0xea, 0x7e, 0xae, 0x04, 0xb0, 0x14, 0xb5, 0x3b, 0x5e, 0x4c, 0xeb, 0x1b, + 0xd1, 0xff, 0x85, 0x1c, 0x85, 0x03, 0xfa, 0x29, 0x07, 0x08, 0xeb, 0x95, 0x28, 0xa4, 0xa1, 0xc9, + 0xeb, 0xb0, 0xfd, 0xd2, 0x57, 0x50, 0xb9, 0xf9, 0x98, 0x35, 0xa0, 0x10, 0x68, 0x68, 0x0e, 0xe0, + 0x94, 0x3e, 0xad, 0x42, 0xd6, 0xe5, 0x6c, 0xbe, 0x9c, 0xe7, 0x38, 0x65, 0x04, 0xdb, 0xfd, 0x7c, + 0x09, 0x4e, 0x0b, 0xb3, 0x75, 0xcd, 0x0b, 0xbd, 0x26, 0x6d, 0x33, 0xad, 0x0e, 0x1a, 0xbc, 0xf6, + 0x99, 0x37, 0x14, 0xa8, 0xf4, 0xf8, 0x51, 0x27, 0xa7, 0x98, 0x54, 0x62, 0x1a, 0xad, 0x84, 0x41, + 0x8a, 0x9c, 0x39, 0x49, 0xa0, 0xa2, 0x2e, 0x2f, 0x48, 0x63, 0x53, 0x90, 0x20, 0xbd, 0xee, 0x2e, + 0x49, 0xf6, 0xa8, 0x05, 0xb9, 0x5f, 0x71, 0x20, 0x6f, 0x44, 0xf9, 0x71, 0x41, 0x14, 0xb8, 0xe5, + 0x8f, 0x0b, 0xd9, 0x7a, 0xb4, 0x43, 0x94, 0x77, 0xbd, 0x0f, 0x26, 0xbc, 0x34, 0xa5, 0xed, 0x8e, + 0xf0, 0x5d, 0xcb, 0x0f, 0x17, 0x1f, 0xb9, 0x16, 0xd5, 0x83, 0x46, 0xc0, 0x7d, 0x56, 0x9b, 0x9d, + 0xfb, 0x22, 0x54, 0x54, 0x4a, 0xe0, 0x00, 0x83, 0xf9, 0x74, 0x26, 0xc3, 0x31, 0x64, 0xba, 0xdc, + 0x2f, 0xc1, 0x80, 0x5d, 0x90, 0x35, 0xd9, 0xd8, 0x8b, 0x4c, 0x93, 0x0f, 0x67, 0x33, 0xc8, 0xae, + 0x48, 0x87, 0x88, 0x83, 0xf8, 0xbb, 0x8b, 0xde, 0xc5, 0x4d, 0x86, 0x64, 0x42, 0xea, 0xa7, 0xb3, + 0x24, 0xe4, 0x3c, 0x80, 0x31, 0xf3, 0xb2, 0x2c, 0x40, 0x87, 0xf2, 0xcc, 0x6e, 0x80, 0x16, 0x15, + 0x73, 0xea, 0x82, 0x30, 0x49, 0xbd, 0x56, 0xeb, 0x72, 0x10, 0xa6, 0xf2, 0xb0, 0xa3, 0x4d, 0xc0, + 0x8a, 0x41, 0xa1, 0x4d, 0x77, 0xe6, 0x6d, 0xd6, 0xb8, 0x1c, 0x26, 0xd3, 0xf4, 0xa9, 0x12, 0x4c, + 0x5f, 0x0a, 0xbb, 0x6b, 0x97, 0xd6, 0xba, 0x9b, 0xad, 0xc0, 0xbf, 0x4a, 0x7b, 0x6c, 0xd0, 0xb6, + 0x69, 0x6f, 0x65, 0x59, 0x76, 0xbb, 0x1e, 0xb4, 0xab, 0x0c, 0x88, 0x02, 0xc7, 0xd4, 0x6c, 0x04, + 0x61, 0x93, 0xc6, 0x9d, 0x38, 0x90, 0xde, 0xb8, 0xa5, 0xe6, 0x45, 0x83, 0x42, 0x9b, 0x8e, 0xf1, + 0x8e, 0xee, 0x86, 0x34, 0xce, 0xdb, 0x8f, 0x1b, 0x0c, 0x88, 0x02, 0xc7, 0x88, 0xd2, 0xb8, 0x9b, + 0xa4, 0xb2, 0xc7, 0x34, 0xd1, 0x06, 0x03, 0xa2, 0xc0, 0xb1, 0xe9, 0x91, 0x74, 0x37, 0x79, 0x98, + 0x2e, 0x97, 0x30, 0x5d, 0x17, 0x60, 0x54, 0x78, 0x46, 0xba, 0x4d, 0x7b, 0xcb, 0x6c, 0x37, 0xcd, + 0xd5, 0x37, 0x5c, 0x15, 0x60, 0x54, 0x78, 0xf7, 0x1f, 0x1d, 0x20, 0xd9, 0xee, 0x78, 0x0c, 0x1b, + 0xf2, 0xcb, 0xd9, 0x0d, 0xf9, 0x88, 0x11, 0xd5, 0xac, 0xfa, 0x43, 0xf6, 0xe5, 0xdf, 0x70, 0x60, + 0xd2, 0x0e, 0xae, 0x93, 0x66, 0xce, 0x10, 0xdd, 0xc8, 0x1a, 0xa2, 0xfb, 0x7b, 0x73, 0x3f, 0x35, + 0xe8, 0x6e, 0x5d, 0x33, 0x48, 0xa3, 0x4e, 0xf2, 0x56, 0x1a, 0x36, 0x83, 0x90, 0xf2, 0xd0, 0x91, + 0x08, 0xca, 0x67, 0x22, 0xf7, 0x4b, 0x51, 0x9d, 0x3e, 0x84, 0x25, 0x73, 0x6f, 0xc3, 0x4c, 0x5f, + 0x51, 0xcb, 0x01, 0x8c, 0xce, 0xbe, 0x25, 0x8b, 0xee, 0xa7, 0x1d, 0x98, 0xca, 0xd4, 0x04, 0x15, + 0x64, 0xca, 0xf8, 0xaa, 0x88, 0x78, 0x5e, 0x26, 0x0e, 0x42, 0x11, 0xb8, 0xa9, 0x58, 0xab, 0xc2, + 0xa0, 0xd0, 0xa6, 0x73, 0x3f, 0x5b, 0x82, 0x8a, 0x0a, 0xf1, 0x1d, 0x40, 0x95, 0x4f, 0x3a, 0x30, + 0xa5, 0x8f, 0xc6, 0xdc, 0x61, 0x2e, 0xa4, 0x2e, 0x84, 0x69, 0xa0, 0x93, 0x77, 0xcc, 0x61, 0xd6, + 0x9e, 0x3b, 0xda, 0xc2, 0x30, 0x2b, 0x9b, 0xdc, 0x02, 0x48, 0x7a, 0x49, 0x4a, 0xdb, 0x96, 0xeb, + 0xee, 0x5a, 0xab, 0x63, 0xde, 0x8f, 0x62, 0xca, 0xd6, 0xc2, 0xf5, 0xa8, 0x4e, 0xd7, 0x35, 0xa5, + 0x31, 0x84, 0x06, 0x86, 0x16, 0x27, 0xf7, 0x77, 0x4b, 0x70, 0x3c, 0xaf, 0x12, 0x79, 0x2f, 0x4c, + 0x2a, 0xe9, 0xd6, 0x95, 0x42, 0x15, 0xd7, 0x9c, 0x44, 0x0b, 0x77, 0x7f, 0x6f, 0x6e, 0xae, 0xff, + 0x4e, 0xe5, 0xbc, 0x4d, 0x82, 0x19, 0x66, 0x22, 0x3e, 0x21, 0xe3, 0x32, 0xb5, 0xde, 0x62, 0xa7, + 0x23, 0x83, 0x0c, 0x56, 0x7c, 0xc2, 0xc6, 0x62, 0x8e, 0x9a, 0xac, 0xc1, 0x49, 0x0b, 0x72, 0x9d, + 0x06, 0xcd, 0xad, 0xcd, 0x28, 0x16, 0xb5, 0xeb, 0xe5, 0xda, 0x53, 0x92, 0xcb, 0x49, 0x1c, 0x40, + 0x83, 0x03, 0xbf, 0x24, 0x6f, 0x81, 0x8a, 0xef, 0x75, 0x3c, 0x3f, 0x48, 0x7b, 0xf2, 0x2c, 0xa2, + 0xed, 0xc8, 0x92, 0x84, 0xa3, 0xa6, 0x70, 0xaf, 0xc1, 0xc8, 0x01, 0x67, 0xd0, 0x81, 0xf6, 0xe5, + 0x17, 0xa1, 0xc2, 0xd8, 0x31, 0xbb, 0x51, 0x14, 0xcb, 0x08, 0x2a, 0xea, 0x2a, 0x03, 0x71, 0xa1, + 0x1c, 0x78, 0x2a, 0x04, 0xa4, 0x9b, 0xb5, 0x92, 0x24, 0x5d, 0xee, 0x75, 0x30, 0x24, 0x79, 0x1a, + 0xca, 0x74, 0xb7, 0x93, 0x8f, 0xf5, 0x5c, 0xd8, 0xed, 0x04, 0x31, 0x4d, 0x18, 0x11, 0xdd, 0xed, + 0x90, 0x33, 0x50, 0x0a, 0xea, 0x72, 0x43, 0x01, 0x49, 0x53, 0x5a, 0x59, 0xc6, 0x52, 0x50, 0x77, + 0x77, 0xa1, 0xaa, 0xef, 0x4e, 0x90, 0x6d, 0x65, 0x67, 0x9d, 0x22, 0x62, 0xf2, 0x8a, 0xef, 0x10, + 0x0b, 0xdb, 0x05, 0x30, 0xd5, 0x64, 0x45, 0xd9, 0x97, 0x73, 0x30, 0xe2, 0x47, 0xb2, 0x70, 0xb3, + 0x62, 0xd8, 0x70, 0x03, 0xcb, 0x31, 0xee, 0x6d, 0x98, 0xbe, 0x1a, 0x46, 0x77, 0x43, 0xb6, 0xf1, + 0x5d, 0x0c, 0x68, 0xab, 0xce, 0x18, 0x37, 0xd8, 0x1f, 0xf9, 0xed, 0x9c, 0x63, 0x51, 0xe0, 0xf4, + 0x05, 0x83, 0xd2, 0xb0, 0x0b, 0x06, 0xee, 0x2f, 0x3b, 0x70, 0x3c, 0x5f, 0x39, 0xf6, 0x7d, 0x3b, + 0x61, 0x7c, 0x94, 0x29, 0xa3, 0x4a, 0x93, 0x6e, 0x74, 0x44, 0x12, 0xf4, 0x79, 0x98, 0xdc, 0xec, + 0x06, 0xad, 0xba, 0xfc, 0x2d, 0xf5, 0xd1, 0xc5, 0x57, 0x35, 0x0b, 0x87, 0x19, 0x4a, 0xe6, 0xa7, + 0x6d, 0x06, 0xa1, 0x17, 0xf7, 0xd6, 0xcc, 0xbe, 0xa1, 0xcd, 0x53, 0x4d, 0x63, 0xd0, 0xa2, 0x72, + 0xff, 0xba, 0x0c, 0xe6, 0x12, 0x07, 0x09, 0x64, 0x8e, 0xdd, 0x29, 0x22, 0x6c, 0xb5, 0xde, 0x0b, + 0x7d, 0x73, 0x5d, 0xa4, 0x92, 0x4b, 0xb1, 0x7f, 0xc2, 0x61, 0x1e, 0x62, 0x90, 0x06, 0x1e, 0x37, + 0x16, 0xf2, 0xa0, 0xb4, 0x56, 0x50, 0x1a, 0x76, 0x45, 0x70, 0x8e, 0x62, 0xdb, 0xe7, 0xd4, 0xc2, + 0xd0, 0x96, 0x4c, 0x5e, 0x92, 0x81, 0xeb, 0x72, 0x61, 0x15, 0x1a, 0x95, 0x5c, 0xb4, 0xba, 0x03, + 0xa3, 0x31, 0x4d, 0x63, 0x55, 0x1b, 0x73, 0xf5, 0xa8, 0x69, 0xbc, 0x34, 0xee, 0xad, 0xa7, 0xec, + 0x30, 0xd6, 0xb4, 0x1c, 0x23, 0x0e, 0x46, 0x21, 0xc8, 0x4d, 0x80, 0xf4, 0xf7, 0xc5, 0x21, 0xa3, + 0xb8, 0x0b, 0x50, 0xf5, 0xba, 0x69, 0xd4, 0x66, 0xdd, 0xc4, 0x87, 0xa7, 0x62, 0xc5, 0xa9, 0x15, + 0x02, 0x0d, 0x8d, 0xfb, 0xea, 0x28, 0xe4, 0x92, 0xde, 0x64, 0xd7, 0xbe, 0x80, 0xe4, 0x14, 0x7b, + 0x01, 0x49, 0x2b, 0x33, 0xe8, 0x12, 0x12, 0x69, 0xc2, 0x68, 0x67, 0xcb, 0x4b, 0xd4, 0x1a, 0x7d, + 0x51, 0x75, 0xd3, 0x1a, 0x03, 0xde, 0xdf, 0x9b, 0xfb, 0xe9, 0x83, 0xf9, 0x81, 0x6c, 0xae, 0x2e, + 0x88, 0x0a, 0x40, 0x23, 0x9a, 0xf3, 0x40, 0xc1, 0xdf, 0xf6, 0x04, 0xcb, 0xfb, 0x9c, 0x69, 0x3f, + 0xe6, 0x88, 0x4a, 0x29, 0xa4, 0x49, 0xb7, 0x95, 0xca, 0xd9, 0xf0, 0x62, 0x81, 0xab, 0x4c, 0x30, + 0x36, 0x25, 0x53, 0xe2, 0x37, 0x5a, 0x42, 0xc9, 0x7b, 0xa1, 0x9a, 0xa4, 0x5e, 0x9c, 0x3e, 0x64, + 0x81, 0x85, 0xee, 0xf4, 0x75, 0xc5, 0x04, 0x0d, 0x3f, 0xf2, 0x1e, 0x80, 0x46, 0x10, 0x06, 0xc9, + 0xd6, 0x43, 0xe6, 0x9b, 0xb8, 0xe2, 0x17, 0x35, 0x07, 0xb4, 0xb8, 0x31, 0xeb, 0xc6, 0xe7, 0xb6, + 0x08, 0x69, 0x56, 0xf8, 0x5e, 0xaa, 0xad, 0x1b, 0x6a, 0x0c, 0x5a, 0x54, 0xee, 0x87, 0xe1, 0x44, + 0xfe, 0xf2, 0xaf, 0x3c, 0x1a, 0x36, 0xe3, 0xa8, 0xdb, 0xc9, 0xef, 0x25, 0xfc, 0x72, 0x28, 0x0a, + 0x1c, 0xb3, 0xf1, 0xdb, 0x41, 0x58, 0xcf, 0xdb, 0xf8, 0xab, 0x41, 0x58, 0x47, 0x8e, 0x39, 0xc0, + 0xcd, 0xac, 0x3f, 0x76, 0xe0, 0xdc, 0x7e, 0x77, 0x94, 0xd9, 0xb1, 0xff, 0xae, 0x17, 0x87, 0xf2, + 0xd6, 0x05, 0xb7, 0x1d, 0xb7, 0xbd, 0x38, 0x44, 0x0e, 0x25, 0x3d, 0x18, 0x13, 0x45, 0x65, 0xd2, + 0x3b, 0x7e, 0xb1, 0xd8, 0x1b, 0xd3, 0xec, 0x6c, 0xa5, 0xa3, 0x35, 0xa2, 0xa0, 0x0d, 0xa5, 0x40, + 0xf7, 0x55, 0x07, 0xc8, 0x8d, 0x1d, 0x1a, 0xc7, 0x41, 0xdd, 0x2a, 0x83, 0x23, 0xcf, 0xc1, 0xe4, + 0x9d, 0xf5, 0x1b, 0xd7, 0xd7, 0xa2, 0x20, 0xe4, 0xd5, 0xdc, 0x56, 0xf1, 0xc5, 0x15, 0x0b, 0x8e, + 0x19, 0x2a, 0xb2, 0x04, 0x33, 0x77, 0x5e, 0x66, 0x5b, 0xce, 0x85, 0xdd, 0x4e, 0x4c, 0x93, 0x44, + 0xbf, 0x33, 0x50, 0x15, 0x89, 0xa9, 0x2b, 0x2f, 0xe6, 0x90, 0xd8, 0x4f, 0xef, 0x7e, 0xb9, 0x04, + 0x13, 0xd6, 0xb5, 0xfc, 0x03, 0xf8, 0x23, 0xb9, 0x97, 0x04, 0x4a, 0x07, 0x7c, 0x49, 0xe0, 0x19, + 0xa8, 0x74, 0xa2, 0x56, 0xe0, 0x07, 0xba, 0x4c, 0x7b, 0x92, 0x67, 0xaf, 0x24, 0x0c, 0x35, 0x96, + 0xdc, 0x85, 0xaa, 0xbe, 0x5f, 0x2b, 0x0b, 0xb7, 0x8a, 0xf2, 0xc8, 0xf4, 0x5a, 0x33, 0xf7, 0x66, + 0x8d, 0x2c, 0xe2, 0xc2, 0x18, 0x9f, 0xa8, 0x2a, 0x36, 0xcf, 0x2b, 0x01, 0xf8, 0x0c, 0x4e, 0x50, + 0x62, 0xdc, 0x7f, 0x1d, 0x85, 0x2a, 0xd2, 0x4e, 0xb4, 0x14, 0xd3, 0x7a, 0x42, 0x5e, 0x0f, 0xe5, + 0x6e, 0xdc, 0x92, 0x9d, 0xa5, 0xc3, 0x3c, 0x37, 0x71, 0x15, 0x19, 0x3c, 0xb3, 0x3b, 0x94, 0x0e, + 0x95, 0xe3, 0x2b, 0xef, 0x9b, 0xe3, 0x7b, 0x01, 0xa6, 0x92, 0x64, 0x6b, 0x2d, 0x0e, 0x76, 0xbc, + 0x94, 0xcd, 0x39, 0x19, 0x13, 0x31, 0x49, 0x95, 0xf5, 0xcb, 0x06, 0x89, 0x59, 0x5a, 0x72, 0x09, + 0x66, 0x4c, 0xa6, 0x8d, 0xc6, 0x29, 0x0f, 0x81, 0x88, 0x68, 0x89, 0xce, 0x69, 0x98, 0xdc, 0x9c, + 0x24, 0xc0, 0xfe, 0x6f, 0xc8, 0x32, 0x1c, 0xcf, 0x00, 0x99, 0x22, 0x22, 0x94, 0xa2, 0x93, 0xc2, + 0x19, 0x3e, 0x4c, 0x97, 0xbe, 0x2f, 0xc8, 0x35, 0x38, 0x21, 0xc6, 0x97, 0xdf, 0xcb, 0xd6, 0x2d, + 0x1a, 0xe7, 0x8c, 0xfe, 0x9f, 0x64, 0x74, 0xe2, 0x52, 0x3f, 0x09, 0x0e, 0xfa, 0x8e, 0xcd, 0x50, + 0x0d, 0x5e, 0x59, 0x96, 0x86, 0x4d, 0xcf, 0x50, 0xcd, 0x66, 0xa5, 0x8e, 0x36, 0x1d, 0x79, 0x37, + 0x3c, 0x69, 0x7e, 0x8a, 0x08, 0x9a, 0xd8, 0xed, 0x97, 0x65, 0x4e, 0x7c, 0x4e, 0xb2, 0x78, 0xf2, + 0xd2, 0x40, 0xb2, 0x3a, 0x0e, 0xfb, 0x9e, 0x6c, 0xc2, 0x19, 0x8d, 0xba, 0xc0, 0x56, 0x6f, 0x27, + 0x0e, 0x12, 0x5a, 0xf3, 0x12, 0x7a, 0x33, 0x6e, 0xf1, 0x2c, 0x7a, 0xd5, 0xbc, 0x2d, 0x70, 0x29, + 0x48, 0x2f, 0x0f, 0xa2, 0xc4, 0x55, 0x7c, 0x00, 0x17, 0xe6, 0x5c, 0xd0, 0xd0, 0xdb, 0x6c, 0xd1, + 0x1b, 0x4b, 0x2b, 0xfc, 0xbe, 0x9c, 0xe5, 0x5c, 0x5c, 0x50, 0x08, 0x34, 0x34, 0xda, 0xb5, 0x9f, + 0x1c, 0xea, 0xda, 0x7f, 0xcb, 0x81, 0x29, 0x3d, 0xd9, 0x1f, 0x43, 0xbc, 0xab, 0x95, 0x8d, 0x77, + 0x5d, 0x3a, 0xaa, 0x57, 0x27, 0x35, 0x1f, 0x72, 0x10, 0xfb, 0x93, 0x2a, 0x00, 0x7f, 0xad, 0x25, + 0xe0, 0x35, 0x9b, 0xe7, 0x60, 0x24, 0xa6, 0x9d, 0x28, 0x6f, 0xf9, 0x18, 0x05, 0x72, 0xcc, 0x0f, + 0xee, 0x72, 0x1e, 0x94, 0xf3, 0x1d, 0xfd, 0xfe, 0xe6, 0x7c, 0xd7, 0xe1, 0x54, 0x10, 0x26, 0xd4, + 0xef, 0xc6, 0x72, 0xa3, 0xbb, 0x1c, 0x25, 0xda, 0x3a, 0x54, 0x6a, 0xaf, 0x97, 0x8c, 0x4e, 0xad, + 0x0c, 0x22, 0xc2, 0xc1, 0xdf, 0xb2, 0x2e, 0x55, 0x08, 0x79, 0x39, 0xc4, 0x84, 0x07, 0x24, 0x1c, + 0x35, 0x85, 0x59, 0x10, 0xab, 0x0d, 0x75, 0xfb, 0x23, 0xb7, 0x20, 0x56, 0x2f, 0xae, 0xa3, 0xa1, + 0x19, 0x6c, 0x15, 0xab, 0x05, 0x59, 0x45, 0x38, 0xb4, 0x55, 0x54, 0xeb, 0x73, 0x62, 0xe8, 0xdd, + 0x7e, 0xb5, 0x59, 0x4f, 0x0e, 0xdd, 0xac, 0xdf, 0x09, 0xd3, 0x41, 0xb8, 0x45, 0xe3, 0x20, 0xa5, + 0x75, 0xbe, 0x16, 0x66, 0xa7, 0x78, 0x47, 0xe8, 0xc8, 0xd5, 0x4a, 0x06, 0x8b, 0x39, 0xea, 0xac, + 0x51, 0x99, 0x3e, 0x80, 0x51, 0x19, 0x62, 0xca, 0x8f, 0x15, 0x63, 0xca, 0x8f, 0x1f, 0xdd, 0x94, + 0xcf, 0x3c, 0x52, 0x53, 0x4e, 0x0a, 0x31, 0xe5, 0x4f, 0xc3, 0x68, 0x27, 0x8e, 0x76, 0x7b, 0xb3, + 0x27, 0xb2, 0xde, 0xf4, 0x1a, 0x03, 0xa2, 0xc0, 0xb9, 0xaf, 0x94, 0xe0, 0x94, 0x31, 0x5f, 0x6c, + 0xd2, 0x04, 0x0d, 0xb6, 0x80, 0xf9, 0xbd, 0x3b, 0x51, 0x43, 0x61, 0x45, 0x42, 0x4d, 0x50, 0x55, + 0x63, 0xd0, 0xa2, 0xe2, 0x01, 0x45, 0x1a, 0xf3, 0xa2, 0xce, 0xbc, 0x6d, 0x5b, 0x92, 0x70, 0xd4, + 0x14, 0xfc, 0xfd, 0x36, 0x1a, 0xa7, 0x32, 0xa1, 0x92, 0x2f, 0x30, 0x5a, 0x32, 0x28, 0xb4, 0xe9, + 0x98, 0x0f, 0xe8, 0xab, 0x75, 0xc5, 0xec, 0xdb, 0xa4, 0xf0, 0x01, 0xf5, 0x52, 0xd2, 0x58, 0xa5, + 0x0e, 0x8f, 0x1c, 0x8f, 0xf6, 0xab, 0xc3, 0x23, 0x01, 0x9a, 0xc2, 0xfd, 0x6f, 0x07, 0x5e, 0x37, + 0xb0, 0x2b, 0x1e, 0xc3, 0x9e, 0xb5, 0x9b, 0xdd, 0xb3, 0xd6, 0x8f, 0xbe, 0x67, 0xf5, 0xb5, 0x62, + 0xc8, 0xfe, 0xf5, 0x37, 0x0e, 0x4c, 0x1b, 0xfa, 0xc7, 0xd0, 0xd4, 0xa0, 0xd0, 0x97, 0xd8, 0x8c, + 0xea, 0xa2, 0xd8, 0x30, 0xd3, 0xb6, 0x6f, 0xf1, 0xb6, 0x89, 0x03, 0xd5, 0xa2, 0xaf, 0x9e, 0x3a, + 0xd9, 0xe7, 0x64, 0xd2, 0x83, 0x31, 0x7e, 0x39, 0x35, 0x29, 0xe6, 0x60, 0x97, 0x95, 0xcf, 0x63, + 0x9b, 0xe6, 0x60, 0xc7, 0x7f, 0x26, 0x28, 0x05, 0xf2, 0x92, 0xe3, 0x20, 0x61, 0x46, 0xb0, 0x2e, + 0x63, 0xb0, 0xa6, 0xe4, 0x58, 0xc2, 0x51, 0x53, 0xb8, 0x6d, 0x98, 0xcd, 0x32, 0x5f, 0xa6, 0x0d, + 0x1e, 0x3f, 0x3b, 0x50, 0x33, 0x17, 0xa0, 0xea, 0xf1, 0xaf, 0x56, 0xbb, 0x5e, 0xfe, 0xbd, 0x93, + 0x45, 0x85, 0x40, 0x43, 0xe3, 0xfe, 0x8e, 0x03, 0x27, 0x06, 0x34, 0xa6, 0xc0, 0xd8, 0x73, 0x6a, + 0xac, 0xc0, 0x90, 0x37, 0x68, 0xea, 0xb4, 0xe1, 0xa9, 0x08, 0x8d, 0x15, 0xd0, 0x59, 0x16, 0x60, + 0x54, 0x78, 0xf7, 0xdf, 0x1c, 0x38, 0x96, 0xd5, 0x35, 0x21, 0x57, 0x80, 0x88, 0xc6, 0x2c, 0x07, + 0x89, 0x1f, 0xed, 0xd0, 0xb8, 0xc7, 0x5a, 0x2e, 0xb4, 0x3e, 0x23, 0x39, 0x91, 0xc5, 0x3e, 0x0a, + 0x1c, 0xf0, 0x15, 0xf9, 0x34, 0xaf, 0xcf, 0x51, 0xbd, 0xad, 0x66, 0xca, 0xad, 0x22, 0x67, 0x8a, + 0x19, 0x4c, 0xfb, 0x58, 0xac, 0x45, 0xa2, 0x2d, 0xdf, 0xfd, 0xf6, 0x08, 0xe8, 0xe4, 0x14, 0x8f, + 0x05, 0x14, 0x14, 0x49, 0xc9, 0x3c, 0x8a, 0x53, 0x3e, 0xc4, 0xa3, 0x38, 0x23, 0x0f, 0x3a, 0xf8, + 0x8b, 0x17, 0x5a, 0x8c, 0x83, 0x69, 0x19, 0xfd, 0x0d, 0x83, 0x42, 0x9b, 0x8e, 0x69, 0xd2, 0x0a, + 0x76, 0xa8, 0xf8, 0x68, 0x2c, 0xab, 0xc9, 0xaa, 0x42, 0xa0, 0xa1, 0x61, 0x9a, 0xd4, 0x83, 0x46, + 0x43, 0x1e, 0xff, 0xb4, 0x26, 0xac, 0x77, 0x90, 0x63, 0x18, 0xc5, 0x56, 0x14, 0x6d, 0x4b, 0xa7, + 0x4e, 0x53, 0x5c, 0x8e, 0xa2, 0x6d, 0xe4, 0x18, 0xe6, 0x86, 0x84, 0x51, 0xdc, 0xf6, 0x5a, 0xc1, + 0x07, 0x68, 0x5d, 0x4b, 0x91, 0xce, 0x9c, 0x76, 0x43, 0xae, 0xf7, 0x93, 0xe0, 0xa0, 0xef, 0xd8, + 0x0c, 0xec, 0xc4, 0xb4, 0x1e, 0xf8, 0xa9, 0xcd, 0x0d, 0xb2, 0x33, 0x70, 0xad, 0x8f, 0x02, 0x07, + 0x7c, 0x45, 0x16, 0xe1, 0x98, 0x4a, 0x2e, 0xaa, 0x02, 0x10, 0xe1, 0xe1, 0x69, 0xe7, 0x1a, 0xb3, + 0x68, 0xcc, 0xd3, 0x33, 0x6b, 0xd3, 0x96, 0x65, 0x38, 0xdc, 0xf7, 0xb3, 0xac, 0x8d, 0x2a, 0xcf, + 0x41, 0x4d, 0xe1, 0xfe, 0x5e, 0x89, 0xed, 0x8e, 0x43, 0xee, 0x5e, 0x3e, 0xb6, 0xc8, 0x5d, 0x76, + 0x46, 0x8e, 0x1c, 0x60, 0x46, 0x3e, 0x07, 0x93, 0x77, 0x92, 0x28, 0xd4, 0x51, 0xb1, 0xd1, 0xa1, + 0x51, 0x31, 0x8b, 0x6a, 0x70, 0x54, 0x6c, 0xec, 0x90, 0x51, 0xb1, 0x3f, 0x1f, 0x85, 0xd3, 0x3a, + 0x1f, 0x4c, 0xd3, 0xbb, 0x51, 0xbc, 0x1d, 0x84, 0x4d, 0x9e, 0x43, 0xfd, 0x92, 0x03, 0x93, 0x62, + 0x7a, 0xcb, 0x5b, 0xea, 0x22, 0x67, 0xd8, 0x28, 0xe8, 0x22, 0x51, 0x46, 0xd8, 0xfc, 0x86, 0x25, + 0x28, 0xf7, 0x64, 0x80, 0x8d, 0xc2, 0x8c, 0x46, 0xe4, 0x43, 0x00, 0xea, 0x29, 0xa5, 0x46, 0x41, + 0x0f, 0x4a, 0x29, 0xfd, 0x90, 0x36, 0x8c, 0x2b, 0xb9, 0xa1, 0x85, 0xa0, 0x25, 0x90, 0xbc, 0xe2, + 0xc0, 0x58, 0x4b, 0xf4, 0x8d, 0x48, 0x00, 0xbd, 0xf4, 0x48, 0xfa, 0xc6, 0xee, 0x15, 0xbd, 0x2d, + 0xcb, 0xfe, 0x90, 0xf2, 0x09, 0xc2, 0x78, 0x10, 0x36, 0xd9, 0xb0, 0xca, 0x40, 0xe2, 0x9b, 0x06, + 0xd5, 0x1f, 0xac, 0x46, 0x5e, 0xbd, 0xe6, 0xb5, 0xbc, 0xd0, 0xa7, 0xf1, 0x8a, 0x20, 0xb7, 0x1f, + 0xb4, 0xe1, 0x00, 0x54, 0x8c, 0xfa, 0x6e, 0xca, 0x8d, 0x1e, 0xe4, 0xa6, 0xdc, 0x99, 0x77, 0xc1, + 0x4c, 0xdf, 0x60, 0x1e, 0xea, 0xfd, 0x80, 0x9f, 0x84, 0x89, 0x87, 0xfc, 0xd4, 0xfd, 0xd3, 0x31, + 0xb3, 0xc7, 0x5c, 0x8f, 0xea, 0xe2, 0xbe, 0x56, 0x6c, 0x46, 0x54, 0xba, 0x8a, 0x05, 0x4e, 0x11, + 0xeb, 0x51, 0x1c, 0x0d, 0x44, 0x5b, 0x24, 0x9b, 0xa3, 0x1d, 0x2f, 0xa6, 0xe1, 0xa3, 0x9e, 0xa3, + 0x6b, 0x5a, 0x08, 0x5a, 0x02, 0xc9, 0x56, 0x26, 0x43, 0x79, 0xf1, 0xe8, 0x19, 0x4a, 0xe6, 0xbd, + 0x0e, 0xbc, 0x57, 0xf3, 0x9a, 0x03, 0xd3, 0x61, 0x66, 0xe6, 0xca, 0x2c, 0xd5, 0xc6, 0xa3, 0x58, + 0x15, 0xe2, 0x9e, 0x6c, 0x16, 0x86, 0x39, 0xf9, 0x83, 0x76, 0xa0, 0xd1, 0x43, 0xee, 0x40, 0xe6, + 0xe2, 0xe7, 0xd8, 0xb0, 0x8b, 0x9f, 0x24, 0xd4, 0x57, 0xbe, 0xc7, 0x0b, 0xbf, 0xf2, 0x0d, 0x03, + 0xae, 0x7b, 0xdf, 0x86, 0xaa, 0x1f, 0x53, 0x2f, 0x7d, 0xc8, 0xdb, 0xbf, 0xfc, 0x19, 0xb2, 0x25, + 0xc5, 0x00, 0x0d, 0x2f, 0xf7, 0xaf, 0xca, 0x70, 0x5c, 0xf5, 0x88, 0xca, 0xde, 0xb0, 0xed, 0x4c, + 0xc8, 0x35, 0xbe, 0xa8, 0xde, 0xce, 0x2e, 0x2b, 0x04, 0x1a, 0x1a, 0xe6, 0x3e, 0x75, 0x13, 0x7a, + 0xa3, 0x43, 0xc3, 0xd5, 0x60, 0x33, 0xe1, 0x3d, 0x6e, 0x95, 0x80, 0xdd, 0x34, 0x28, 0xb4, 0xe9, + 0x98, 0xef, 0x2c, 0xdc, 0xd8, 0x24, 0x9f, 0x0c, 0x95, 0xee, 0x31, 0x2a, 0x3c, 0xf9, 0xe2, 0xc0, + 0xb7, 0x1b, 0x8a, 0x29, 0x03, 0xe8, 0x4b, 0x5a, 0x1d, 0xf2, 0xd1, 0x86, 0x57, 0x1d, 0x38, 0xb6, + 0x9d, 0xa9, 0x3f, 0x51, 0x26, 0xf9, 0x88, 0x55, 0x8d, 0xd9, 0xa2, 0x16, 0x33, 0x85, 0xb3, 0xf0, + 0x04, 0xf3, 0xd2, 0xdd, 0xff, 0x74, 0xc0, 0x36, 0x4f, 0x07, 0x73, 0x84, 0xac, 0xd7, 0x78, 0x4a, + 0xfb, 0xbc, 0xc6, 0xa3, 0x7c, 0xa6, 0xf2, 0xc1, 0x7c, 0xf4, 0x91, 0x43, 0xf8, 0xe8, 0xa3, 0x43, + 0x9d, 0xac, 0xd7, 0x43, 0xb9, 0x1b, 0xd4, 0xa5, 0x9b, 0x6d, 0x12, 0x52, 0x2b, 0xcb, 0xc8, 0xe0, + 0xee, 0x1f, 0x8d, 0x9a, 0x63, 0xb5, 0xcc, 0x5e, 0xff, 0x50, 0x34, 0xbb, 0xa1, 0x8b, 0x54, 0x45, + 0xcb, 0xaf, 0xf7, 0x15, 0xa9, 0xbe, 0xe3, 0xf0, 0xc5, 0x09, 0xa2, 0x83, 0x86, 0xd5, 0xa8, 0x8e, + 0xef, 0x53, 0x99, 0x70, 0x07, 0x2a, 0xec, 0x24, 0xc2, 0xe3, 0x63, 0x95, 0x8c, 0x52, 0x95, 0xcb, + 0x12, 0x7e, 0x7f, 0x6f, 0xee, 0xed, 0x87, 0x57, 0x4b, 0x7d, 0x8d, 0x9a, 0x3f, 0x49, 0xa0, 0xca, + 0xfe, 0xe6, 0x45, 0x14, 0xf2, 0x8c, 0x73, 0x53, 0xdb, 0x22, 0x85, 0x28, 0xa4, 0x42, 0xc3, 0xc8, + 0x21, 0x21, 0x54, 0xf9, 0xbb, 0x31, 0x5c, 0xa8, 0x38, 0x0a, 0xad, 0xe9, 0x52, 0x06, 0x85, 0xb8, + 0xbf, 0x37, 0xf7, 0xc2, 0xe1, 0x85, 0xea, 0xcf, 0xd1, 0x88, 0x70, 0xbf, 0x5b, 0x36, 0x73, 0x57, + 0xd6, 0x26, 0xff, 0x50, 0xcc, 0xdd, 0xe7, 0x73, 0x73, 0xf7, 0x5c, 0xdf, 0xdc, 0x9d, 0x36, 0x6f, + 0xab, 0x64, 0x66, 0xe3, 0xe3, 0xde, 0x60, 0xf7, 0x3f, 0x76, 0x73, 0xcf, 0xe2, 0xe5, 0x6e, 0x10, + 0xd3, 0x64, 0x2d, 0xee, 0x86, 0x41, 0xd8, 0xe4, 0xd3, 0xb1, 0x62, 0x7b, 0x16, 0x19, 0x34, 0xe6, + 0xe9, 0xdd, 0x2f, 0xf3, 0x9c, 0xa3, 0x55, 0x8f, 0xc5, 0x46, 0xb9, 0xc5, 0x9f, 0xde, 0x11, 0x15, + 0xa1, 0x7a, 0x94, 0xc5, 0x7b, 0x3b, 0x02, 0x47, 0xee, 0xc2, 0xf8, 0xa6, 0xb8, 0xfe, 0x5f, 0xcc, + 0x05, 0x21, 0xf9, 0x96, 0x00, 0xbf, 0x8a, 0xa9, 0x1e, 0x16, 0xb8, 0x6f, 0xfe, 0x44, 0x25, 0xcd, + 0xfd, 0xb5, 0x32, 0x1c, 0xcb, 0x3d, 0x0c, 0xc3, 0xce, 0xe7, 0xea, 0x15, 0xa0, 0x7c, 0x30, 0x5d, + 0xbf, 0x76, 0xab, 0x29, 0xc8, 0xfb, 0x01, 0xea, 0xb4, 0xd3, 0x8a, 0x7a, 0xdc, 0x71, 0x19, 0x39, + 0xb4, 0xe3, 0xa2, 0x7d, 0xdd, 0x65, 0xcd, 0x05, 0x2d, 0x8e, 0xb2, 0x0c, 0x76, 0x54, 0x3c, 0x6e, + 0x90, 0x2d, 0x83, 0xb5, 0xee, 0xc9, 0x8d, 0x3d, 0xde, 0x7b, 0x72, 0x01, 0x1c, 0x13, 0x2a, 0xea, + 0xaa, 0xa7, 0x87, 0x28, 0x6e, 0x3a, 0xc1, 0x66, 0xd4, 0x72, 0x96, 0x0d, 0xe6, 0xf9, 0xba, 0x9f, + 0x29, 0x31, 0xf7, 0x4d, 0x74, 0xf6, 0x35, 0x15, 0xcb, 0x7e, 0x23, 0x8c, 0x79, 0xdd, 0x74, 0x2b, + 0xea, 0x7b, 0x8e, 0x61, 0x91, 0x43, 0x51, 0x62, 0xc9, 0x2a, 0x8c, 0xd4, 0xbd, 0x54, 0xbd, 0xd6, + 0x7e, 0x18, 0xe5, 0x4c, 0xe0, 0xca, 0x4b, 0x29, 0x72, 0x2e, 0xe4, 0x29, 0x18, 0x49, 0xbd, 0x66, + 0xe6, 0x9d, 0xc8, 0x0d, 0xaf, 0x99, 0x20, 0x87, 0xda, 0xbb, 0xcb, 0xc8, 0x3e, 0xbb, 0xcb, 0x0b, + 0xd6, 0xff, 0x11, 0xb0, 0x92, 0x24, 0xfd, 0x6f, 0xff, 0x8b, 0xc2, 0xfc, 0x0c, 0xad, 0xfb, 0x63, + 0x30, 0x69, 0xff, 0x6f, 0x80, 0x03, 0xdd, 0xeb, 0x71, 0xff, 0x65, 0x04, 0xa6, 0x32, 0x95, 0x71, + 0x99, 0x59, 0xee, 0xec, 0x3b, 0xcb, 0x79, 0x4e, 0xab, 0x1b, 0x52, 0x59, 0xf7, 0x68, 0xe5, 0xb4, + 0xba, 0x21, 0x45, 0x81, 0x63, 0xa3, 0x52, 0x8f, 0x7b, 0xd8, 0x0d, 0x65, 0x10, 0x5d, 0x8f, 0xca, + 0x32, 0x87, 0xa2, 0xc4, 0xb2, 0x03, 0xec, 0x64, 0xc2, 0x8d, 0xa2, 0xb0, 0x11, 0x72, 0xd5, 0x5c, + 0x29, 0xe2, 0x09, 0x2b, 0x59, 0x05, 0xca, 0x0f, 0xf4, 0x36, 0x04, 0x33, 0x12, 0xc9, 0xc7, 0x1d, + 0xfb, 0xf1, 0xae, 0xb1, 0x22, 0x92, 0x3f, 0xf9, 0xc2, 0x43, 0xb1, 0x82, 0x1e, 0xfc, 0x86, 0x57, + 0xa2, 0x17, 0xf0, 0xf8, 0xa3, 0x59, 0xc0, 0x30, 0x60, 0xf1, 0xbe, 0x19, 0xaa, 0x6d, 0x2f, 0x0c, + 0x1a, 0x34, 0x49, 0xc5, 0xff, 0xf5, 0xa8, 0x8a, 0xd3, 0xd3, 0x35, 0x05, 0x44, 0x83, 0xe7, 0xff, + 0x3d, 0x87, 0x37, 0x4c, 0x1c, 0x62, 0xaa, 0xd6, 0x7f, 0xcf, 0x31, 0x60, 0xb4, 0x69, 0xdc, 0xdf, + 0x77, 0xe0, 0xd4, 0xc0, 0xce, 0xf8, 0xc1, 0x8d, 0x56, 0xba, 0x7f, 0x50, 0x82, 0x13, 0x03, 0x2a, + 0x47, 0x49, 0xef, 0x91, 0xbd, 0xf1, 0x26, 0x4b, 0x53, 0xa7, 0x86, 0xce, 0x8d, 0xc3, 0x6d, 0x43, + 0x66, 0x2b, 0x28, 0x3f, 0xd6, 0xad, 0xc0, 0xfd, 0x72, 0x09, 0xac, 0xd7, 0x08, 0xc9, 0x87, 0xed, + 0x22, 0x69, 0xa7, 0xa8, 0x82, 0x5e, 0xc1, 0x5c, 0x17, 0x59, 0x8b, 0x5e, 0x1b, 0x54, 0x73, 0x9d, + 0x9f, 0xaf, 0xa5, 0xfd, 0xe7, 0x2b, 0x69, 0xa9, 0x6a, 0xf4, 0x72, 0xf1, 0xd5, 0xe8, 0xd5, 0xbe, + 0x4a, 0xf4, 0x5f, 0x71, 0xc4, 0x4c, 0xcb, 0x35, 0xc9, 0x58, 0x58, 0xe7, 0x01, 0x16, 0xf6, 0x2d, + 0x50, 0x49, 0x68, 0xab, 0xc1, 0x3c, 0x3b, 0x69, 0x89, 0xf5, 0x9c, 0x58, 0x97, 0x70, 0xd4, 0x14, + 0xfc, 0x9e, 0x6a, 0xab, 0x15, 0xdd, 0xbd, 0xd0, 0xee, 0xa4, 0x3d, 0x69, 0x93, 0xcd, 0x3d, 0x55, + 0x8d, 0x41, 0x8b, 0xca, 0xfd, 0x2f, 0x47, 0x0c, 0xa7, 0xf4, 0xd1, 0x9f, 0xcf, 0xdd, 0x1f, 0x3c, + 0xb8, 0x7b, 0xfb, 0xf3, 0x00, 0xbe, 0xbe, 0xd1, 0x5f, 0xcc, 0x23, 0x85, 0xe6, 0x85, 0x00, 0xfb, + 0xe5, 0x3c, 0x05, 0x43, 0x4b, 0x5e, 0x66, 0xf1, 0x94, 0xf7, 0x5b, 0x3c, 0xee, 0xbf, 0x3b, 0x90, + 0xd9, 0x2c, 0x48, 0x07, 0x46, 0x99, 0x06, 0xbd, 0x62, 0xde, 0x1f, 0xb0, 0x59, 0xb3, 0x85, 0x25, + 0xa7, 0x05, 0xff, 0x13, 0x85, 0x20, 0xd2, 0x92, 0xde, 0x79, 0xa9, 0x88, 0x37, 0x32, 0x6c, 0x81, + 0xcc, 0xbf, 0x97, 0xff, 0x29, 0x41, 0x7b, 0xfa, 0xee, 0xf3, 0x30, 0xd3, 0xa7, 0x14, 0xbf, 0x51, + 0x14, 0xa9, 0x47, 0x17, 0xac, 0x19, 0xc8, 0xef, 0x37, 0xa2, 0xc0, 0x31, 0x07, 0xff, 0x78, 0x9e, + 0x3d, 0xf9, 0x82, 0x03, 0x33, 0x49, 0x9e, 0xdf, 0xa3, 0xea, 0x3b, 0x1d, 0xb9, 0xea, 0x43, 0x61, + 0xbf, 0x12, 0xee, 0x5f, 0x48, 0xf3, 0x24, 0xfe, 0xb3, 0x94, 0xde, 0x5c, 0x9c, 0xa1, 0x9b, 0x0b, + 0x5b, 0x62, 0xfe, 0x16, 0xad, 0x77, 0x5b, 0x7d, 0xa5, 0x34, 0xeb, 0x12, 0x8e, 0x9a, 0x22, 0xf3, + 0x58, 0x59, 0x79, 0xdf, 0xc7, 0xca, 0x9e, 0x83, 0x49, 0xfb, 0x61, 0x11, 0x1e, 0x42, 0x93, 0xc9, + 0x07, 0xfb, 0x0d, 0x12, 0xcc, 0x50, 0xe5, 0x1e, 0xbb, 0x1a, 0xdd, 0xf7, 0xb1, 0xab, 0x67, 0xa0, + 0x22, 0x1f, 0x6e, 0x52, 0xf1, 0x5d, 0x51, 0xa7, 0x23, 0x61, 0xa8, 0xb1, 0xcc, 0x40, 0xb4, 0xbd, + 0xb0, 0xeb, 0xb5, 0x58, 0x0f, 0xc9, 0x9a, 0x3c, 0xbd, 0xb2, 0xae, 0x69, 0x0c, 0x5a, 0x54, 0xee, + 0x3f, 0x3b, 0x90, 0x7f, 0xf8, 0x27, 0x53, 0xd9, 0xe7, 0xec, 0x5b, 0xd9, 0x97, 0x2d, 0x70, 0x2a, + 0x1d, 0xa8, 0xc0, 0xc9, 0xae, 0x3d, 0x2a, 0x3f, 0xb0, 0xf6, 0xe8, 0x0d, 0xe6, 0x56, 0xb8, 0x28, + 0x52, 0x9a, 0x18, 0x74, 0x23, 0x9c, 0xb8, 0x30, 0xe6, 0x7b, 0xba, 0x70, 0x7a, 0x52, 0x38, 0x4a, + 0x4b, 0x8b, 0x9c, 0x48, 0x62, 0x6a, 0xf3, 0x5f, 0xfd, 0xce, 0xd9, 0x27, 0xbe, 0xf6, 0x9d, 0xb3, + 0x4f, 0x7c, 0xf3, 0x3b, 0x67, 0x9f, 0xf8, 0xe8, 0xbd, 0xb3, 0xce, 0x57, 0xef, 0x9d, 0x75, 0xbe, + 0x76, 0xef, 0xac, 0xf3, 0xcd, 0x7b, 0x67, 0x9d, 0x6f, 0xdf, 0x3b, 0xeb, 0xbc, 0xf6, 0x0f, 0x67, + 0x9f, 0x78, 0x4f, 0x45, 0xcd, 0xd5, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x86, 0x48, 0x26, 0x48, + 0xa7, 0x74, 0x00, 0x00, } func (m *AWSAuthConfig) Marshal() (dAtA []byte, err error) { @@ -4504,6 +4506,14 @@ func (m *Cluster) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + i-- + if m.ClusterResources { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x50 if m.Shard != nil { i = encodeVarintGenerated(dAtA, i, uint64(*m.Shard)) i-- @@ -8651,6 +8661,7 @@ func (m *Cluster) Size() (n int) { if m.Shard != nil { n += 1 + sovGenerated(uint64(*m.Shard)) } + n += 2 return n } @@ -10425,6 +10436,7 @@ func (this *Cluster) String() string { `RefreshRequestedAt:` + strings.Replace(fmt.Sprintf("%v", this.RefreshRequestedAt), "Time", "v1.Time", 1) + `,`, `Info:` + strings.Replace(strings.Replace(this.Info.String(), "ClusterInfo", "ClusterInfo", 1), `&`, ``, 1) + `,`, `Shard:` + valueToStringGenerated(this.Shard) + `,`, + `ClusterResources:` + fmt.Sprintf("%v", this.ClusterResources) + `,`, `}`, }, "") return s @@ -16118,6 +16130,26 @@ func (m *Cluster) Unmarshal(dAtA []byte) error { } } m.Shard = &v + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ClusterResources", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.ClusterResources = bool(v != 0) default: iNdEx = preIndex skippy, err := skipGenerated(dAtA[iNdEx:]) diff --git a/pkg/apis/application/v1alpha1/generated.proto b/pkg/apis/application/v1alpha1/generated.proto index 65bec61c05a0d..f6cf037815846 100644 --- a/pkg/apis/application/v1alpha1/generated.proto +++ b/pkg/apis/application/v1alpha1/generated.proto @@ -403,6 +403,9 @@ message Cluster { // Shard contains optional shard number. Calculated on the fly by the application controller if not specified. optional int64 shard = 9; + + // Indicates if cluster level resources should be managed. This setting is used only if cluster is connected in a namespaced mode. + optional bool clusterResources = 10; } // ClusterCacheInfo contains information about the cluster cache diff --git a/pkg/apis/application/v1alpha1/openapi_generated.go b/pkg/apis/application/v1alpha1/openapi_generated.go index cffff9bf5bff4..7f8d8d0f11012 100644 --- a/pkg/apis/application/v1alpha1/openapi_generated.go +++ b/pkg/apis/application/v1alpha1/openapi_generated.go @@ -1433,6 +1433,13 @@ func schema_pkg_apis_application_v1alpha1_Cluster(ref common.ReferenceCallback) Format: "int64", }, }, + "clusterResources": { + SchemaProps: spec.SchemaProps{ + Description: "Indicates if cluster level resources should be managed. This setting is used only if cluster is connected in a namespaced mode.", + Type: []string{"boolean"}, + Format: "", + }, + }, }, Required: []string{"server", "name", "config"}, }, diff --git a/pkg/apis/application/v1alpha1/types.go b/pkg/apis/application/v1alpha1/types.go index d29d421adc0ac..8abb52a6127ec 100644 --- a/pkg/apis/application/v1alpha1/types.go +++ b/pkg/apis/application/v1alpha1/types.go @@ -1271,6 +1271,8 @@ type Cluster struct { Info ClusterInfo `json:"info,omitempty" protobuf:"bytes,8,opt,name=info"` // Shard contains optional shard number. Calculated on the fly by the application controller if not specified. Shard *int64 `json:"shard,omitempty" protobuf:"bytes,9,opt,name=shard"` + // Indicates if cluster level resources should be managed. This setting is used only if cluster is connected in a namespaced mode. + ClusterResources bool `json:"clusterResources,omitempty" protobuf:"bytes,10,opt,name=clusterResources"` } // Equals returns true if two cluster objects are considered to be equal @@ -1295,6 +1297,10 @@ func (c *Cluster) Equals(other *Cluster) bool { if shard != otherShard { return false } + + if c.ClusterResources != other.ClusterResources { + return false + } return reflect.DeepEqual(c.Config, other.Config) } diff --git a/server/cluster/cluster.go b/server/cluster/cluster.go index e304149d0c48b..c5ef8a3bcdaf4 100644 --- a/server/cluster/cluster.go +++ b/server/cluster/cluster.go @@ -155,6 +155,9 @@ var clusterFieldsByPath = map[string]func(updated *appv1.Cluster, existing *appv "shard": func(updated *appv1.Cluster, existing *appv1.Cluster) { updated.Shard = existing.Shard }, + "clusterResources": func(updated *appv1.Cluster, existing *appv1.Cluster) { + updated.ClusterResources = existing.ClusterResources + }, } // Update updates a cluster diff --git a/util/db/cluster.go b/util/db/cluster.go index 684e6b7378f80..41cf740410c0e 100644 --- a/util/db/cluster.go +++ b/util/db/cluster.go @@ -261,6 +261,9 @@ func clusterToSecret(c *appv1.Cluster, secret *apiv1.Secret) error { if c.Shard != nil { data["shard"] = []byte(strconv.Itoa(int(*c.Shard))) } + if c.ClusterResources { + data["clusterResources"] = []byte("true") + } secret.Data = data if secret.Annotations == nil { @@ -312,6 +315,7 @@ func secretToCluster(s *apiv1.Secret) (*appv1.Cluster, error) { Server: strings.TrimRight(string(s.Data["server"]), "/"), Name: string(s.Data["name"]), Namespaces: namespaces, + ClusterResources: string(s.Data["clusterResources"]) == "true", Config: config, RefreshRequestedAt: refreshRequestedAt, Shard: shard, From e251b14d6bf7dc8656dacec4ac611e29906aa8ee Mon Sep 17 00:00:00 2001 From: Alexander Matyushentsev Date: Mon, 19 Jul 2021 16:51:18 -0700 Subject: [PATCH 46/93] fix: The UI crashes when trying to access some application with an empty commit message (#6756) Signed-off-by: Alexander Matyushentsev --- ui/.prettierrc | 3 +- ui/package.json | 4 +-- .../revision-metadata-rows.tsx | 2 +- .../application-pod-view/pod-view.tsx | 5 ++- .../application-resource-tree.tsx | 6 +++- .../revision-metadata-panel.tsx | 2 +- .../application-sync-panel.tsx | 22 ++++++++++-- .../applications-list/applications-filter.tsx | 30 ++++++++++++---- ui/src/app/applications/components/utils.tsx | 6 +++- ui/tslint.json | 3 +- ui/yarn.lock | 36 ++++++++++++------- 11 files changed, 88 insertions(+), 31 deletions(-) diff --git a/ui/.prettierrc b/ui/.prettierrc index 0abdae70b50de..9e18402b642d4 100644 --- a/ui/.prettierrc +++ b/ui/.prettierrc @@ -5,5 +5,6 @@ "singleQuote": true, "tabWidth": 4, "jsxBracketSameLine": true, - "quoteProps": "consistent" + "quoteProps": "consistent", + "arrowParens": "avoid" } diff --git a/ui/package.json b/ui/package.json index 25ed4760f8bcd..c001d0fbc0374 100644 --- a/ui/package.json +++ b/ui/package.json @@ -70,7 +70,7 @@ "superagent-promise": "^1.1.0", "ts-loader": "^6.0.4", "ts-node": "^4.1.0", - "tslint": "^5.16.0", + "tslint": "^6.1.3", "tslint-react": "^3.4.0", "typescript": "^4.0.3", "unidiff": "^1.0.2", @@ -99,7 +99,7 @@ "jest": "^24.9.0", "jest-transform-css": "^2.0.0", "postcss": "^8.2.10", - "prettier": "^1.18.2", + "prettier": "1.19", "react-test-renderer": "16.8.3", "ts-jest": "^24.1.0", "tslint-config-prettier": "^1.18.0", diff --git a/ui/src/app/applications/components/application-deployment-history/revision-metadata-rows.tsx b/ui/src/app/applications/components/application-deployment-history/revision-metadata-rows.tsx index 80eee7e654dbe..d92cd54a10cd1 100644 --- a/ui/src/app/applications/components/application-deployment-history/revision-metadata-rows.tsx +++ b/ui/src/app/applications/components/application-deployment-history/revision-metadata-rows.tsx @@ -34,7 +34,7 @@ export const RevisionMetadataRows = (props: {applicationName: string; source: Ap {m.message && (
-
{m.message.split('\n')[0].slice(0, 64)}
+
{m.message?.split('\n')[0].slice(0, 64)}
)}
diff --git a/ui/src/app/applications/components/application-pod-view/pod-view.tsx b/ui/src/app/applications/components/application-pod-view/pod-view.tsx index a1ff556969e1b..09e301129c7af 100644 --- a/ui/src/app/applications/components/application-pod-view/pod-view.tsx +++ b/ui/src/app/applications/components/application-pod-view/pod-view.tsx @@ -363,7 +363,10 @@ export class PodView extends React.Component { kind: 'node', name: 'Unschedulable', pods: [p], - info: [{name: 'Kernel Version', value: 'N/A'}, {name: 'OS/Arch', value: 'N/A'}], + info: [ + {name: 'Kernel Version', value: 'N/A'}, + {name: 'OS/Arch', value: 'N/A'} + ], hostResourcesInfo: [] }; } diff --git a/ui/src/app/applications/components/application-resource-tree/application-resource-tree.tsx b/ui/src/app/applications/components/application-resource-tree/application-resource-tree.tsx index 6de3b7232e5e5..f7d5e126bd170 100644 --- a/ui/src/app/applications/components/application-resource-tree/application-resource-tree.tsx +++ b/ui/src/app/applications/components/application-resource-tree/application-resource-tree.tsx @@ -399,7 +399,11 @@ export const ApplicationResourceTree = (props: ApplicationResourceTreeProps) => graph.setNode(EXTERNAL_TRAFFIC_NODE, {height: NODE_HEIGHT, width: 30, type: NODE_TYPES.externalTraffic}); externalRoots.sort(compareNodes).forEach(root => { const loadBalancers = root.networkingInfo.ingress.map(ingress => ingress.hostname || ingress.ip); - processNode(root, root, loadBalancers.map(lb => colorsBySource.get(lb))); + processNode( + root, + root, + loadBalancers.map(lb => colorsBySource.get(lb)) + ); loadBalancers.forEach(key => { const loadBalancerNodeKey = `${EXTERNAL_TRAFFIC_NODE}:${key}`; graph.setNode(loadBalancerNodeKey, { diff --git a/ui/src/app/applications/components/application-status-panel/revision-metadata-panel.tsx b/ui/src/app/applications/components/application-status-panel/revision-metadata-panel.tsx index 4c7a05856d315..5d8af7ccebea4 100644 --- a/ui/src/app/applications/components/application-status-panel/revision-metadata-panel.tsx +++ b/ui/src/app/applications/components/application-status-panel/revision-metadata-panel.tsx @@ -51,7 +51,7 @@ export const RevisionMetadataPanel = (props: {appName: string; type: string; rev )}
Comment:
-
{m.message.split('\n')[0].slice(0, 64)}
+
{m.message?.split('\n')[0].slice(0, 64)}
diff --git a/ui/src/app/applications/components/application-sync-panel/application-sync-panel.tsx b/ui/src/app/applications/components/application-sync-panel/application-sync-panel.tsx index 533423411f1d6..4a93f8b8541a4 100644 --- a/ui/src/app/applications/components/application-sync-panel/application-sync-panel.tsx +++ b/ui/src/app/applications/components/application-sync-panel/application-sync-panel.tsx @@ -114,7 +114,16 @@ export const ApplicationSyncPanel = ({application, selectedResource, hide}: {app
{!formApi.values.resources.every((item: boolean) => item) && (
WARNING: partial synchronization is not recorded in history
diff --git a/ui/src/app/applications/components/applications-list/applications-filter.tsx b/ui/src/app/applications/components/applications-list/applications-filter.tsx index 5b3906ad240c8..146c8e468fcbf 100644 --- a/ui/src/app/applications/components/applications-list/applications-filter.tsx +++ b/ui/src/app/applications/components/applications-list/applications-filter.tsx @@ -84,9 +84,15 @@ const SyncFilter = (props: AppFilterProps) => ( label='SYNC STATUS' selected={props.pref.syncFilter} setSelected={s => props.onChange({...props.pref, syncFilter: s})} - options={getOptions(props.apps, 'sync', app => app.status.sync.status, Object.keys(SyncStatuses), s => ( - - ))} + options={getOptions( + props.apps, + 'sync', + app => app.status.sync.status, + Object.keys(SyncStatuses), + s => ( + + ) + )} /> ); @@ -95,9 +101,15 @@ const HealthFilter = (props: AppFilterProps) => ( label='HEALTH STATUS' selected={props.pref.healthFilter} setSelected={s => props.onChange({...props.pref, healthFilter: s})} - options={getOptions(props.apps, 'health', app => app.status.health.status, Object.keys(HealthStatuses), s => ( - - ))} + options={getOptions( + props.apps, + 'health', + app => app.status.health.status, + Object.keys(HealthStatuses), + s => ( + + ) + )} /> ); @@ -128,7 +140,11 @@ const LabelsFilter = (props: AppFilterProps) => { }; const ProjectFilter = (props: AppFilterProps) => { - const [projects, loading, error] = useData(() => services.projects.list('items.metadata.name'), null, () => null); + const [projects, loading, error] = useData( + () => services.projects.list('items.metadata.name'), + null, + () => null + ); const projectOptions = (projects || []).map(proj => { return {label: proj.metadata.name}; }); diff --git a/ui/src/app/applications/components/utils.tsx b/ui/src/app/applications/components/utils.tsx index 2263a45e71220..66d6c0c80655e 100644 --- a/ui/src/app/applications/components/utils.tsx +++ b/ui/src/app/applications/components/utils.tsx @@ -860,7 +860,11 @@ export function handlePageVisibility(src: () => Observable): Observable }; const start = () => { ensureUnsubscribed(); - subscription = src().subscribe((item: T) => observer.next(item), err => observer.error(err), () => observer.complete()); + subscription = src().subscribe( + (item: T) => observer.next(item), + err => observer.error(err), + () => observer.complete() + ); }; if (!document.hidden) { diff --git a/ui/tslint.json b/ui/tslint.json index 5e3be99e3d6ec..be51507341d3d 100644 --- a/ui/tslint.json +++ b/ui/tslint.json @@ -14,7 +14,8 @@ "max-line-length": [true, 200], "jsx-no-lambda": false, "array-type": false, - "max-classes-per-file": false + "max-classes-per-file": false, + "newline-per-chained-call": false }, "rulesDirectory": [] } diff --git a/ui/yarn.lock b/ui/yarn.lock index 5daa278574dae..bbc10c2e52314 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -3130,11 +3130,16 @@ diff@^2.2.2: resolved "https://registry.yarnpkg.com/diff/-/diff-2.2.3.tgz#60eafd0d28ee906e4e8ff0a52c1229521033bf99" integrity sha1-YOr9DSjukG5Oj/ClLBIpUhAzv5k= -diff@^3.1.0, diff@^3.2.0: +diff@^3.1.0: version "3.5.0" resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + diffie-hellman@^5.0.0: version "5.0.3" resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" @@ -6972,10 +6977,10 @@ prelude-ls@~1.1.2: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= -prettier@^1.18.2: - version "1.18.2" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.18.2.tgz#6823e7c5900017b4bd3acf46fe9ac4b4d7bda9ea" - integrity sha512-OeHeMc0JhFE9idD4ZdtNibzY0+TPHSpSSb9h8FqtP+YnoZZ1sl8Vc9b1sasjfymH3SonAF4QcA2+mzHPhMvIiw== +prettier@1.19: + version "1.19.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" + integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== pretty-error@^2.0.2: version "2.1.2" @@ -9042,7 +9047,12 @@ tsconfig@^7.0.0: strip-bom "^3.0.0" strip-json-comments "^2.0.0" -tslib@^1.7.1, tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0: +tslib@^1.13.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^1.7.1, tslib@^1.8.1, tslib@^1.9.0: version "1.10.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== @@ -9073,23 +9083,23 @@ tslint-react@^3.4.0: dependencies: tsutils "^2.13.1" -tslint@^5.16.0: - version "5.18.0" - resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.18.0.tgz#f61a6ddcf372344ac5e41708095bbf043a147ac6" - integrity sha512-Q3kXkuDEijQ37nXZZLKErssQVnwCV/+23gFEMROi8IlbaBG6tXqLPQJ5Wjcyt/yHPKBC+hD5SzuGaMora+ZS6w== +tslint@^6.1.3: + version "6.1.3" + resolved "https://registry.yarnpkg.com/tslint/-/tslint-6.1.3.tgz#5c23b2eccc32487d5523bd3a470e9aa31789d904" + integrity sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg== dependencies: "@babel/code-frame" "^7.0.0" builtin-modules "^1.1.1" chalk "^2.3.0" commander "^2.12.1" - diff "^3.2.0" + diff "^4.0.1" glob "^7.1.1" js-yaml "^3.13.1" minimatch "^3.0.4" - mkdirp "^0.5.1" + mkdirp "^0.5.3" resolve "^1.3.2" semver "^5.3.0" - tslib "^1.8.0" + tslib "^1.13.0" tsutils "^2.29.0" tsutils@^2.13.1, tsutils@^2.29.0: From b6274359967449e0a7b0d6ca65adde45557454cd Mon Sep 17 00:00:00 2001 From: Alexander Matyushentsev Date: Mon, 19 Jul 2021 16:51:38 -0700 Subject: [PATCH 47/93] fix: TypeError: Cannot read property 'group' of undefined (#6755) Signed-off-by: Alexander Matyushentsev --- .../application-details.tsx | 26 +++++++++---------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/ui/src/app/applications/components/application-details/application-details.tsx b/ui/src/app/applications/components/application-details/application-details.tsx index 41624b5db8849..38fbe5b7f634d 100644 --- a/ui/src/app/applications/components/application-details/application-details.tsx +++ b/ui/src/app/applications/components/application-details/application-details.tsx @@ -135,20 +135,18 @@ export class ApplicationDetails extends React.Component(); - const visibleOrphans = (pref.orphanedResources && tree.orphanedNodes) || []; - if (visibleOrphans.length > 0) { - application.status.resources.forEach(res => statusByKey.set(AppUtils.nodeKey(res), res)); - } - const orphans = visibleOrphans.map(orphan => statusByKey.get(AppUtils.nodeKey(orphan))); - - const filteredRes = application.status.resources - .filter(res => { - const resNode: ResourceTreeNode = {...res, root: null, info: null, parentRefs: [], resourceVersion: '', uid: ''}; - resNode.root = resNode; - return this.filterTreeNode(tree, resNode, treeFilter); - }) - .concat(orphans); + const orphaned: appModels.ResourceStatus[] = pref.orphanedResources + ? (tree.orphanedNodes || []).map(node => ({ + ...node, + status: null, + health: null + })) + : []; + const filteredRes = application.status.resources.concat(orphaned).filter(res => { + const resNode: ResourceTreeNode = {...res, root: null, info: null, parentRefs: [], resourceVersion: '', uid: ''}; + resNode.root = resNode; + return this.filterTreeNode(tree, resNode, treeFilter); + }); return (
From c33e850d38f0b55770ad68af47cc4bdafab8e8de Mon Sep 17 00:00:00 2001 From: Alexander Matyushentsev Date: Mon, 19 Jul 2021 18:16:10 -0700 Subject: [PATCH 48/93] fix: argocd-server crashes due to nil pointer dereference (#6757) Signed-off-by: Alexander Matyushentsev --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 3da2d73aa14fc..6442e7ab66093 100644 --- a/go.mod +++ b/go.mod @@ -8,7 +8,7 @@ require ( github.com/alicebob/miniredis v2.5.0+incompatible github.com/alicebob/miniredis/v2 v2.14.2 github.com/argoproj/gitops-engine v0.3.1-0.20210709004906-a4c77d5c70fb - github.com/argoproj/pkg v0.9.1-0.20210512035321-be5ba22dca5b + github.com/argoproj/pkg v0.9.1 github.com/bombsimon/logrusr v1.0.0 github.com/bradleyfalzon/ghinstallation v1.1.1 github.com/casbin/casbin v1.9.1 diff --git a/go.sum b/go.sum index 15b4a1e457dc8..dfa6d5c428771 100644 --- a/go.sum +++ b/go.sum @@ -98,8 +98,8 @@ github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYU github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/argoproj/gitops-engine v0.3.1-0.20210709004906-a4c77d5c70fb h1:zwnkwh45K57emwKikePwtK4BLc3IuplxYxqMzZ4XTNY= github.com/argoproj/gitops-engine v0.3.1-0.20210709004906-a4c77d5c70fb/go.mod h1:EdFe8qIOqsmbyxRhtIydU4BUeyZ4VTsY6R3XVQhU9LA= -github.com/argoproj/pkg v0.9.1-0.20210512035321-be5ba22dca5b h1:qtlM7ioAFP40LPN7A5ZqquVmAtv08LLSZTcCNYUQx8s= -github.com/argoproj/pkg v0.9.1-0.20210512035321-be5ba22dca5b/go.mod h1:ra+bQPmbVAoEL+gYSKesuigt4m49i3Qa3mE/xQcjCiA= +github.com/argoproj/pkg v0.9.1 h1:osfOS3QkzfRf+W43lbCZb0o0bzrBweQhL+U3rgEg+5M= +github.com/argoproj/pkg v0.9.1/go.mod h1:ra+bQPmbVAoEL+gYSKesuigt4m49i3Qa3mE/xQcjCiA= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= From fbe2649857ea0ac8a8fe87a390dda3607720d74e Mon Sep 17 00:00:00 2001 From: Abhinav Sonkar Date: Tue, 20 Jul 2021 03:48:08 +0200 Subject: [PATCH 49/93] docs: Add Axual (#6714) * Add Axual Signed-off-by: Abhinav Sonkar * Add alphabetically Signed-off-by: Abhinav Sonkar Co-authored-by: Abhinav Sonkar --- USERS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/USERS.md b/USERS.md index 227797df30bbc..36041f5ba9cdf 100644 --- a/USERS.md +++ b/USERS.md @@ -16,6 +16,7 @@ Currently, the following organizations are **officially** using Argo CD: 1. [AppDirect](https://www.appdirect.com) 1. [Arctiq Inc.](https://www.arctiq.ca) 1. [ARZ Allgemeines Rechenzentrum GmbH ](https://www.arz.at/) +1. [Axual B.V.](https://axual.com) 1. [Baloise](https://www.baloise.com) 1. [BCDevExchange DevOps Platform](https://bcdevexchange.org/DevOpsPlatform) 1. [Beat](https://thebeat.co/en/) From 3220b7613dd16e0e443c65401abcd5bb04ef9183 Mon Sep 17 00:00:00 2001 From: Pieter van der Meer Date: Tue, 20 Jul 2021 18:37:07 +0200 Subject: [PATCH 50/93] fix: add insecure-skip-tls-verify on helm pull when Creds.InsecureSkipVerify is set to true (#6458) * add "--insecure-skip-tls-verify" on helm pull when Creds.InsecureSkipVerify is set to true * Requested change of alax Co-authored-by: Pieter van der Meer --- util/helm/client_test.go | 10 ++++++++++ util/helm/cmd.go | 3 +++ 2 files changed, 13 insertions(+) diff --git a/util/helm/client_test.go b/util/helm/client_test.go index 75a089548c765..4b96f3cb613e6 100644 --- a/util/helm/client_test.go +++ b/util/helm/client_test.go @@ -73,6 +73,16 @@ func Test_nativeHelmChart_ExtractChart(t *testing.T) { assert.True(t, info.IsDir()) } +func Test_nativeHelmChart_ExtractChart_insecure(t *testing.T) { + client := NewClient("https://argoproj.github.io/argo-helm", Creds{InsecureSkipVerify: true}, false) + path, closer, err := client.ExtractChart("argo-cd", "0.7.1") + assert.NoError(t, err) + defer io.Close(closer) + info, err := os.Stat(path) + assert.NoError(t, err) + assert.True(t, info.IsDir()) +} + func Test_normalizeChartName(t *testing.T) { t.Run("Test non-slashed name", func(t *testing.T) { n := normalizeChartName("mychart") diff --git a/util/helm/cmd.go b/util/helm/cmd.go index 57029a5916484..fb467e7d041b0 100644 --- a/util/helm/cmd.go +++ b/util/helm/cmd.go @@ -224,6 +224,9 @@ func (c *Cmd) Fetch(repo, chartName, version, destination string, creds Creds) ( if creds.Password != "" { args = append(args, "--password", creds.Password) } + if creds.InsecureSkipVerify && c.insecureSkipVerifySupported { + args = append(args, "--insecure-skip-tls-verify") + } args = append(args, "--repo", repo, chartName) From 03dcff66597c74ad38ec3c6dd07f3c12324baefd Mon Sep 17 00:00:00 2001 From: Alexander Matyushentsev Date: Tue, 20 Jul 2021 11:04:40 -0700 Subject: [PATCH 51/93] fix: fix broken Test_nativeHelmChart_ExtractChart_insecure test (#6765) Signed-off-by: Alexander Matyushentsev --- util/helm/client_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util/helm/client_test.go b/util/helm/client_test.go index 4b96f3cb613e6..849edd239ec2f 100644 --- a/util/helm/client_test.go +++ b/util/helm/client_test.go @@ -74,7 +74,7 @@ func Test_nativeHelmChart_ExtractChart(t *testing.T) { } func Test_nativeHelmChart_ExtractChart_insecure(t *testing.T) { - client := NewClient("https://argoproj.github.io/argo-helm", Creds{InsecureSkipVerify: true}, false) + client := NewClient("https://argoproj.github.io/argo-helm", Creds{InsecureSkipVerify: true}, false, "") path, closer, err := client.ExtractChart("argo-cd", "0.7.1") assert.NoError(t, err) defer io.Close(closer) From 9c690a10e20a22b60f9f3257f7a47f3222325e55 Mon Sep 17 00:00:00 2001 From: Regina Scott <50851526+reginapizza@users.noreply.github.com> Date: Tue, 20 Jul 2021 17:55:43 -0400 Subject: [PATCH 52/93] WIP: add status bar to applications list, issue #6275 (#6710) Signed-off-by: Remington Breeze Co-authored-by: Remington Breeze Co-authored-by: Regina Scott --- .../applications-list/applications-list.tsx | 2 + .../applications-status-bar.scss | 30 ++++++ .../applications-status-bar.tsx | 94 +++++++++++++++++++ .../shared/components/paginate/paginate.scss | 4 + .../shared/components/paginate/paginate.tsx | 5 +- 5 files changed, 134 insertions(+), 1 deletion(-) create mode 100644 ui/src/app/applications/components/applications-list/applications-status-bar.scss create mode 100644 ui/src/app/applications/components/applications-list/applications-status-bar.tsx diff --git a/ui/src/app/applications/components/applications-list/applications-list.tsx b/ui/src/app/applications/components/applications-list/applications-list.tsx index 6f71a2cf0dcc8..db672cbdb8612 100644 --- a/ui/src/app/applications/components/applications-list/applications-list.tsx +++ b/ui/src/app/applications/components/applications-list/applications-list.tsx @@ -14,6 +14,7 @@ import {ApplicationSyncPanel} from '../application-sync-panel/application-sync-p import {ApplicationsSyncPanel} from '../applications-sync-panel/applications-sync-panel'; import * as AppUtils from '../utils'; import {ApplicationsFilter, FilteredApp, getFilterResults} from './applications-filter'; +import {ApplicationsStatusBar} from './applications-status-bar'; import {ApplicationsSummary} from './applications-summary'; import {ApplicationsTable} from './applications-table'; import {ApplicationTiles} from './applications-tiles'; @@ -404,6 +405,7 @@ export const ApplicationsList = (props: RouteComponentProps<{}>) => {
{(pref.view === 'summary' && ) || ( 1 && } preferencesKey='applications-list' page={pref.page} emptyState={() => ( diff --git a/ui/src/app/applications/components/applications-list/applications-status-bar.scss b/ui/src/app/applications/components/applications-list/applications-status-bar.scss new file mode 100644 index 0000000000000..6b31cae5527a5 --- /dev/null +++ b/ui/src/app/applications/components/applications-list/applications-status-bar.scss @@ -0,0 +1,30 @@ +@import 'node_modules/argo-ui/src/styles/config'; + +.status-bar { + $height: 16px; + $border-width: 2px; + margin: 0px; + width: 80%; + height: $height; + display: flex; + border-radius: 25px; + border: $border-width solid white; + + &__segment { + &__fill { + height: $height - (2 * $border-width); + } + } + + &__segment:first-child { + border-radius: 25px 0 0 25px; + } + + &__segment:last-child { + border-radius: 0 25px 25px 0; + } + + &__segment:not(:first-child) { + border-left: 3px solid white; + } +} diff --git a/ui/src/app/applications/components/applications-list/applications-status-bar.tsx b/ui/src/app/applications/components/applications-list/applications-status-bar.tsx new file mode 100644 index 0000000000000..922a9649369d4 --- /dev/null +++ b/ui/src/app/applications/components/applications-list/applications-status-bar.tsx @@ -0,0 +1,94 @@ +import {Text, Tooltip} from 'argo-ui/v2'; +import * as React from 'react'; +import {COLORS} from '../../../shared/components'; +import {Consumer} from '../../../shared/context'; +import * as models from '../../../shared/models'; + +require('./applications-status-bar.scss'); + +export interface ApplicationsStatusBarProps { + applications: models.Application[]; +} + +export const ApplicationsStatusBar = ({applications}: ApplicationsStatusBarProps) => { + const readings = [ + { + name: 'Healthy', + value: applications.filter(app => app.status.health.status === 'Healthy').length, + color: COLORS.health.healthy + }, + { + name: 'Progressing', + value: applications.filter(app => app.status.health.status === 'Progressing').length, + color: COLORS.health.progressing + }, + { + name: 'Degraded', + value: applications.filter(app => app.status.health.status === 'Degraded').length, + color: COLORS.health.degraded + }, + { + name: 'Suspended', + value: applications.filter(app => app.status.health.status === 'Suspended').length, + color: COLORS.sync.out_of_sync + }, + { + name: 'Missing, Unknown', + value: applications.filter(app => app.status.health.status === 'Unknown' || app.status.health.status === 'Missing').length, + color: '#6D7F8B' // $argo-color-gray-6 + } + ]; + + // will sort readings by value greatest to lowest, then by name + readings.sort((a, b) => (a.value < b.value ? 1 : a.value === b.value ? (a.name > b.name ? 1 : -1) : -1)); + + const totalItems = readings.reduce((total, i) => { + return total + i.value; + }, 0); + + const getTooltipContent = (item: {name: string; value: number; color: string}) => { + if (item.name === 'Missing, Unknown') { + const missing = applications.filter(app => app.status.health.status === 'Missing').length; + const unknown = applications.filter(app => app.status.health.status === 'Unknown').length; + if (missing) { + if (unknown) { + return `${missing} Missing, ${unknown} Unknown`; + } + return `${missing} Missing`; + } + return {unknown} Unknown; + } else { + return ( + + {item.value} {item.name} + + ); + } + }; + + return ( + + {ctx => ( + <> + {totalItems > 1 && ( +
+ {readings && + readings.length > 1 && + readings.map((item, i) => { + if (item.value > 0) { + return ( +
+ +
+ +
+ ); + } + })} +
+ )} + + )} + + ); +}; diff --git a/ui/src/app/shared/components/paginate/paginate.scss b/ui/src/app/shared/components/paginate/paginate.scss index 053961e02c503..722c14e2da2b0 100644 --- a/ui/src/app/shared/components/paginate/paginate.scss +++ b/ui/src/app/shared/components/paginate/paginate.scss @@ -50,6 +50,10 @@ } &__size-menu { + display: flex; + width: 100%; + justify-content: space-between; + align-items: center; position: absolute; z-index: 1; right: 0; diff --git a/ui/src/app/shared/components/paginate/paginate.tsx b/ui/src/app/shared/components/paginate/paginate.tsx index 09ce8838ad2a0..52eaef8879f31 100644 --- a/ui/src/app/shared/components/paginate/paginate.tsx +++ b/ui/src/app/shared/components/paginate/paginate.tsx @@ -1,5 +1,6 @@ import {DataLoader, DropDownMenu} from 'argo-ui'; +// import {ApplicationStatusBar} from '../../../applications/components/applications-list/applications-status-bar'; import * as React from 'react'; import ReactPaginate from 'react-paginate'; import {services} from '../../services'; @@ -13,9 +14,10 @@ export interface PaginateProps { data: T[]; emptyState?: () => React.ReactNode; preferencesKey?: string; + header?: React.ReactNode; } -export function Paginate({page, onPageChange, children, data, emptyState, preferencesKey}: PaginateProps) { +export function Paginate({page, onPageChange, children, data, emptyState, preferencesKey, header}: PaginateProps) { return ( services.viewPreferences.getPreferences()}> {pref => { @@ -40,6 +42,7 @@ export function Paginate({page, onPageChange, children, data, emptyState, pre /> )}
+ {header ||
} ( From d7a8a877ada92dbd0bb80437f3e479c6535c0c1b Mon Sep 17 00:00:00 2001 From: Remington Breeze Date: Tue, 20 Jul 2021 16:50:00 -0700 Subject: [PATCH 53/93] feat: Add API server capability to serve UI extensions from shared dir (#6766) Signed-off-by: Remington Breeze --- server/server.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/server/server.go b/server/server.go index 3aab936f11a77..db2a263e8bf19 100644 --- a/server/server.go +++ b/server/server.go @@ -733,6 +733,13 @@ func (a *ArgoCDServer) newHTTPServer(ctx context.Context, port int, grpcWebHandl // Serve cli binaries directly from API server registerDownloadHandlers(mux, "/download") + // Serve extensions + var extensionsApiPath = "/extensions/" + var extensionsSharedPath = "/tmp/extensions/" + + extHandler := http.StripPrefix(extensionsApiPath, http.FileServer(http.Dir(extensionsSharedPath))) + mux.HandleFunc(extensionsApiPath, extHandler.ServeHTTP) + // Serve UI static assets if a.StaticAssetsDir != "" { var assetsHandler http.Handler = http.HandlerFunc(a.newStaticAssetsHandler(a.StaticAssetsDir, a.BaseHRef)) From 561452ac943a8f83e17c66eb72200f4a66ee3ae3 Mon Sep 17 00:00:00 2001 From: Alexander Matyushentsev Date: Tue, 20 Jul 2021 21:51:36 -0700 Subject: [PATCH 54/93] feat: Headless Argo CD (aka GitOps Agent) (#6361) * feat: add --headless flag to Argo CD CLI command Signed-off-by: Alexander Matyushentsev * docs: add headless installation manifests and documentation Signed-off-by: Alexander Matyushentsev * Apply reviewer notes Signed-off-by: Alexander Matyushentsev * Remove port forwarding logs Signed-off-by: Alexander Matyushentsev --- .gitignore | 4 +- Dockerfile | 2 +- Makefile | 16 +- Procfile | 2 +- cmd/argocd-server/commands/argocd_server.go | 4 +- cmd/argocd-util/commands/app.go | 2 +- cmd/argocd-util/commands/cluster.go | 3 +- cmd/argocd/commands/admin.go | 42 ++ cmd/argocd/commands/headless/forward.go | 97 +++ cmd/argocd/commands/headless/headless.go | 152 ++++ cmd/argocd/commands/login.go | 58 +- cmd/argocd/commands/root.go | 21 +- docs/getting_started.md | 14 +- docs/operator-manual/ingress.md | 8 - docs/operator-manual/installation.md | 77 ++ .../server-commands/argocd-server.md | 1 - .../server-commands/argocd-util_dashboard.md | 37 + docs/user-guide/commands/argocd.md | 2 + docs/user-guide/commands/argocd_account.md | 19 +- .../commands/argocd_account_can-i.md | 18 +- .../commands/argocd_account_delete-token.md | 18 +- .../commands/argocd_account_generate-token.md | 18 +- .../commands/argocd_account_get-user-info.md | 18 +- .../user-guide/commands/argocd_account_get.md | 18 +- .../commands/argocd_account_list.md | 18 +- .../argocd_account_update-password.md | 18 +- docs/user-guide/commands/argocd_admin.md | 41 ++ .../commands/argocd_admin_dashboard.md | 57 ++ docs/user-guide/commands/argocd_app.md | 19 +- .../user-guide/commands/argocd_app_actions.md | 18 +- .../commands/argocd_app_actions_list.md | 19 +- .../commands/argocd_app_actions_run.md | 19 +- docs/user-guide/commands/argocd_app_create.md | 18 +- docs/user-guide/commands/argocd_app_delete.md | 18 +- docs/user-guide/commands/argocd_app_diff.md | 18 +- docs/user-guide/commands/argocd_app_edit.md | 18 +- docs/user-guide/commands/argocd_app_get.md | 18 +- .../user-guide/commands/argocd_app_history.md | 18 +- docs/user-guide/commands/argocd_app_list.md | 18 +- docs/user-guide/commands/argocd_app_logs.md | 19 +- .../commands/argocd_app_manifests.md | 18 +- .../commands/argocd_app_patch-resource.md | 19 +- docs/user-guide/commands/argocd_app_patch.md | 18 +- .../commands/argocd_app_resources.md | 18 +- .../commands/argocd_app_rollback.md | 18 +- docs/user-guide/commands/argocd_app_set.md | 18 +- docs/user-guide/commands/argocd_app_sync.md | 18 +- .../commands/argocd_app_terminate-op.md | 18 +- docs/user-guide/commands/argocd_app_unset.md | 18 +- docs/user-guide/commands/argocd_app_wait.md | 18 +- docs/user-guide/commands/argocd_cert.md | 19 +- .../commands/argocd_cert_add-ssh.md | 18 +- .../commands/argocd_cert_add-tls.md | 18 +- docs/user-guide/commands/argocd_cert_list.md | 18 +- docs/user-guide/commands/argocd_cert_rm.md | 18 +- docs/user-guide/commands/argocd_cluster.md | 19 +- .../user-guide/commands/argocd_cluster_add.md | 19 +- .../user-guide/commands/argocd_cluster_get.md | 18 +- .../commands/argocd_cluster_list.md | 18 +- docs/user-guide/commands/argocd_cluster_rm.md | 18 +- .../commands/argocd_cluster_rotate-auth.md | 18 +- docs/user-guide/commands/argocd_completion.md | 1 + docs/user-guide/commands/argocd_context.md | 1 + docs/user-guide/commands/argocd_gpg.md | 19 +- docs/user-guide/commands/argocd_gpg_add.md | 18 +- docs/user-guide/commands/argocd_gpg_get.md | 18 +- docs/user-guide/commands/argocd_gpg_list.md | 18 +- docs/user-guide/commands/argocd_gpg_rm.md | 18 +- docs/user-guide/commands/argocd_login.md | 14 + docs/user-guide/commands/argocd_logout.md | 1 + docs/user-guide/commands/argocd_proj.md | 19 +- .../commands/argocd_proj_add-destination.md | 18 +- .../argocd_proj_add-orphaned-ignore.md | 18 +- .../commands/argocd_proj_add-signature-key.md | 18 +- .../commands/argocd_proj_add-source.md | 18 +- .../argocd_proj_allow-cluster-resource.md | 18 +- .../argocd_proj_allow-namespace-resource.md | 18 +- .../user-guide/commands/argocd_proj_create.md | 18 +- .../user-guide/commands/argocd_proj_delete.md | 18 +- .../argocd_proj_deny-cluster-resource.md | 18 +- .../argocd_proj_deny-namespace-resource.md | 18 +- docs/user-guide/commands/argocd_proj_edit.md | 18 +- docs/user-guide/commands/argocd_proj_get.md | 18 +- docs/user-guide/commands/argocd_proj_list.md | 18 +- .../argocd_proj_remove-destination.md | 18 +- .../argocd_proj_remove-orphaned-ignore.md | 18 +- .../argocd_proj_remove-signature-key.md | 18 +- .../commands/argocd_proj_remove-source.md | 18 +- docs/user-guide/commands/argocd_proj_role.md | 18 +- .../commands/argocd_proj_role_add-group.md | 18 +- .../commands/argocd_proj_role_add-policy.md | 18 +- .../commands/argocd_proj_role_create-token.md | 18 +- .../commands/argocd_proj_role_create.md | 18 +- .../commands/argocd_proj_role_delete-token.md | 18 +- .../commands/argocd_proj_role_delete.md | 18 +- .../commands/argocd_proj_role_get.md | 18 +- .../commands/argocd_proj_role_list-tokens.md | 18 +- .../commands/argocd_proj_role_list.md | 18 +- .../commands/argocd_proj_role_remove-group.md | 18 +- .../argocd_proj_role_remove-policy.md | 18 +- docs/user-guide/commands/argocd_proj_set.md | 18 +- .../commands/argocd_proj_windows.md | 18 +- .../commands/argocd_proj_windows_add.md | 18 +- .../commands/argocd_proj_windows_delete.md | 18 +- ...argocd_proj_windows_disable-manual-sync.md | 18 +- .../argocd_proj_windows_enable-manual-sync.md | 18 +- .../commands/argocd_proj_windows_list.md | 18 +- .../commands/argocd_proj_windows_update.md | 18 +- docs/user-guide/commands/argocd_relogin.md | 1 + docs/user-guide/commands/argocd_repo.md | 19 +- docs/user-guide/commands/argocd_repo_add.md | 20 +- docs/user-guide/commands/argocd_repo_get.md | 18 +- docs/user-guide/commands/argocd_repo_list.md | 18 +- docs/user-guide/commands/argocd_repo_rm.md | 18 +- docs/user-guide/commands/argocd_repocreds.md | 19 +- .../commands/argocd_repocreds_add.md | 20 +- .../commands/argocd_repocreds_list.md | 18 +- .../commands/argocd_repocreds_rm.md | 18 +- docs/user-guide/commands/argocd_version.md | 25 +- hack/update-manifests.sh | 2 + .../base/server/argocd-server-deployment.yaml | 5 +- .../overlays/argocd-server-deployment.yaml | 2 - manifests/ha/install.yaml | 2 - manifests/ha/namespace-install.yaml | 2 - manifests/headless-install.yaml | 679 ++++++++++++++++++ manifests/headless-install/kustomization.yaml | 8 + manifests/install.yaml | 2 - manifests/namespace-install.yaml | 2 - mkdocs.yml | 1 + pkg/apiclient/apiclient.go | 12 +- server/metrics/metrics.go | 4 +- server/server.go | 139 ++-- server/server_test.go | 34 +- test/container/Procfile | 2 +- ui/.gitignore | 3 +- ui/dist/app/gitkeep | 0 ui/embed.go | 7 + ui/package.json | 2 +- ui/src/app/webpack.config.js | 2 +- util/cli/cli.go | 5 +- util/kube/portforwarder.go | 39 +- util/localconfig/localconfig.go | 2 + util/settings/settings.go | 14 +- 143 files changed, 3036 insertions(+), 308 deletions(-) create mode 100644 cmd/argocd/commands/admin.go create mode 100644 cmd/argocd/commands/headless/forward.go create mode 100644 cmd/argocd/commands/headless/headless.go create mode 100644 docs/operator-manual/installation.md create mode 100644 docs/operator-manual/server-commands/argocd-util_dashboard.md create mode 100644 docs/user-guide/commands/argocd_admin.md create mode 100644 docs/user-guide/commands/argocd_admin_dashboard.md create mode 100644 manifests/headless-install.yaml create mode 100644 manifests/headless-install/kustomization.yaml create mode 100644 ui/dist/app/gitkeep create mode 100644 ui/embed.go diff --git a/.gitignore b/.gitignore index aed35e25f6d1e..7d0329e397709 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,9 @@ .idea/ .DS_Store vendor/ -dist/ +dist/* +ui/dist/app/* +!ui/dist/app/gitkeep site/ *.iml # delve debug binaries diff --git a/Dockerfile b/Dockerfile index c395825692149..8a6f814e75c62 100644 --- a/Dockerfile +++ b/Dockerfile @@ -113,6 +113,7 @@ RUN go mod download # Perform the build COPY . . +COPY --from=argocd-ui ./src/dist/app ./src/dist/app RUN make argocd-all ARG BUILD_ALL_CLIS=true @@ -126,7 +127,6 @@ RUN if [ "$BUILD_ALL_CLIS" = "true" ] ; then \ #################################################################################################### FROM argocd-base COPY --from=argocd-build /go/src/github.com/argoproj/argo-cd/dist/argocd* /usr/local/bin/ -COPY --from=argocd-ui ./src/dist/app /shared/app USER root RUN ln -s /usr/local/bin/argocd /usr/local/bin/argocd-util diff --git a/Makefile b/Makefile index ed4b22eda3252..a86fd5ac6017e 100644 --- a/Makefile +++ b/Makefile @@ -159,7 +159,7 @@ IMAGE_PREFIX=${IMAGE_NAMESPACE}/ endif .PHONY: all -all: cli image argocd-util +all: cli image # We have some legacy requirements for being checked out within $GOPATH. # The ensure-gopath target can be used as dependency to ensure we are running @@ -212,10 +212,6 @@ cli: test-tools-image cli-local: clean-debug CGO_ENABLED=0 go build -v -ldflags '${LDFLAGS}' -o ${DIST_DIR}/${CLI_NAME} ./cmd -.PHONY: cli-argocd -cli-argocd: - go build -v -ldflags '${LDFLAGS}' -o ${DIST_DIR}/${CLI_NAME} ./cmd - .PHONY: release-cli release-cli: clean-debug image docker create --name tmp-argocd-linux $(IMAGE_PREFIX)argocd:$(IMAGE_TAG) @@ -224,16 +220,6 @@ release-cli: clean-debug image docker cp tmp-argocd-linux:/usr/local/bin/argocd-windows-amd64.exe ${DIST_DIR}/argocd-windows-amd64.exe docker rm tmp-argocd-linux -.PHONY: argocd-util -argocd-util: clean-debug - # Build argocd-util as a statically linked binary, so it could run within the alpine-based dex container (argoproj/argo-cd#844) - CGO_ENABLED=0 go build -v -ldflags '${LDFLAGS}' -o ${DIST_DIR}/${UTIL_CLI_NAME} ./cmd - -# .PHONY: dev-tools-image -# dev-tools-image: -# docker build -t $(DEV_TOOLS_PREFIX)$(DEV_TOOLS_IMAGE) . -f hack/Dockerfile.dev-tools -# docker tag $(DEV_TOOLS_PREFIX)$(DEV_TOOLS_IMAGE) $(DEV_TOOLS_PREFIX)$(DEV_TOOLS_IMAGE):$(DEV_TOOLS_VERSION) - .PHONY: test-tools-image test-tools-image: docker build --build-arg UID=$(shell id -u) -t $(TEST_TOOLS_PREFIX)$(TEST_TOOLS_IMAGE) -f test/container/Dockerfile . diff --git a/Procfile b/Procfile index 3f108a1686f35..9121d9d77c999 100644 --- a/Procfile +++ b/Procfile @@ -1,5 +1,5 @@ controller: sh -c "FORCE_LOG_COLORS=1 ARGOCD_FAKE_IN_CLUSTER=true ARGOCD_TLS_DATA_PATH=${ARGOCD_TLS_DATA_PATH:-/tmp/argocd-local/tls} ARGOCD_SSH_DATA_PATH=${ARGOCD_SSH_DATA_PATH:-/tmp/argocd-local/ssh} ARGOCD_BINARY_NAME=argocd-application-controller go run ./cmd/main.go --loglevel debug --redis localhost:${ARGOCD_E2E_REDIS_PORT:-6379} --repo-server localhost:${ARGOCD_E2E_REPOSERVER_PORT:-8081}" -api-server: sh -c "FORCE_LOG_COLORS=1 ARGOCD_FAKE_IN_CLUSTER=true ARGOCD_TLS_DATA_PATH=${ARGOCD_TLS_DATA_PATH:-/tmp/argocd-local/tls} ARGOCD_SSH_DATA_PATH=${ARGOCD_SSH_DATA_PATH:-/tmp/argocd-local/ssh} ARGOCD_BINARY_NAME=argocd-server go run ./cmd/main.go --loglevel debug --redis localhost:${ARGOCD_E2E_REDIS_PORT:-6379} --disable-auth=${ARGOCD_E2E_DISABLE_AUTH:-'true'} --insecure --dex-server http://localhost:${ARGOCD_E2E_DEX_PORT:-5556} --repo-server localhost:${ARGOCD_E2E_REPOSERVER_PORT:-8081} --port ${ARGOCD_E2E_APISERVER_PORT:-8080} --staticassets ui/dist/app" +api-server: sh -c "FORCE_LOG_COLORS=1 ARGOCD_FAKE_IN_CLUSTER=true ARGOCD_TLS_DATA_PATH=${ARGOCD_TLS_DATA_PATH:-/tmp/argocd-local/tls} ARGOCD_SSH_DATA_PATH=${ARGOCD_SSH_DATA_PATH:-/tmp/argocd-local/ssh} ARGOCD_BINARY_NAME=argocd-server go run ./cmd/main.go --loglevel debug --redis localhost:${ARGOCD_E2E_REDIS_PORT:-6379} --disable-auth=${ARGOCD_E2E_DISABLE_AUTH:-'true'} --insecure --dex-server http://localhost:${ARGOCD_E2E_DEX_PORT:-5556} --repo-server localhost:${ARGOCD_E2E_REPOSERVER_PORT:-8081} --port ${ARGOCD_E2E_APISERVER_PORT:-8080} " dex: sh -c "ARGOCD_BINARY_NAME=argocd-dex go run github.com/argoproj/argo-cd/v2/cmd gendexcfg -o `pwd`/dist/dex.yaml && docker run --rm -p ${ARGOCD_E2E_DEX_PORT:-5556}:${ARGOCD_E2E_DEX_PORT:-5556} -v `pwd`/dist/dex.yaml:/dex.yaml ghcr.io/dexidp/dex:v2.27.0 serve /dex.yaml" redis: bash -c "if [ $ARGOCD_REDIS_LOCAL == 'true' ]; then redis-server --save '' --appendonly no --port ${ARGOCD_E2E_REDIS_PORT:-6379}; else docker run --rm --name argocd-redis -i -p ${ARGOCD_E2E_REDIS_PORT:-6379}:${ARGOCD_E2E_REDIS_PORT:-6379} redis:6.2.4-alpine --save '' --appendonly no --port ${ARGOCD_E2E_REDIS_PORT:-6379}; fi" repo-server: sh -c "FORCE_LOG_COLORS=1 ARGOCD_FAKE_IN_CLUSTER=true ARGOCD_GNUPGHOME=${ARGOCD_GNUPGHOME:-/tmp/argocd-local/gpg/keys} ARGOCD_GPG_DATA_PATH=${ARGOCD_GPG_DATA_PATH:-/tmp/argocd-local/gpg/source} ARGOCD_TLS_DATA_PATH=${ARGOCD_TLS_DATA_PATH:-/tmp/argocd-local/tls} ARGOCD_SSH_DATA_PATH=${ARGOCD_SSH_DATA_PATH:-/tmp/argocd-local/ssh} ARGOCD_BINARY_NAME=argocd-repo-server go run ./cmd/main.go --loglevel debug --port ${ARGOCD_E2E_REPOSERVER_PORT:-8081} --redis localhost:${ARGOCD_E2E_REDIS_PORT:-6379}" diff --git a/cmd/argocd-server/commands/argocd_server.go b/cmd/argocd-server/commands/argocd_server.go index f627788fa72de..a6e501aa00667 100644 --- a/cmd/argocd-server/commands/argocd_server.go +++ b/cmd/argocd-server/commands/argocd_server.go @@ -52,7 +52,6 @@ func NewCommand() *cobra.Command { glogLevel int clientConfig clientcmd.ClientConfig repoServerTimeoutSeconds int - staticAssetsDir string baseHRef string rootPath string repoServerAddress string @@ -128,7 +127,6 @@ func NewCommand() *cobra.Command { ListenPort: listenPort, MetricsPort: metricsPort, Namespace: namespace, - StaticAssetsDir: staticAssetsDir, BaseHRef: baseHRef, RootPath: rootPath, KubeClientset: kubeclientset, @@ -159,7 +157,7 @@ func NewCommand() *cobra.Command { clientConfig = cli.AddKubectlFlagsToCmd(command) command.Flags().BoolVar(&insecure, "insecure", env.ParseBoolFromEnv("ARGOCD_SERVER_INSECURE", false), "Run server without TLS") - command.Flags().StringVar(&staticAssetsDir, "staticassets", "", "Static assets directory path") + _ = command.Flags().MarkDeprecated("staticassets", "The --staticassets flag is not longer supported. Static assets are embedded into binary.") command.Flags().StringVar(&baseHRef, "basehref", env.StringFromEnv("ARGOCD_SERVER_BASEHREF", "/"), "Value for base href in index.html. Used if Argo CD is running behind reverse proxy under subpath different from /") command.Flags().StringVar(&rootPath, "rootpath", env.StringFromEnv("ARGOCD_SERVER_ROOTPATH", ""), "Used if Argo CD is running behind reverse proxy under subpath different from /") command.Flags().StringVar(&cmdutil.LogFormat, "logformat", env.StringFromEnv("ARGOCD_SERVER_LOGFORMAT", "text"), "Set the logging format. One of: text|json") diff --git a/cmd/argocd-util/commands/app.go b/cmd/argocd-util/commands/app.go index c02243e6a87db..16d4d95152897 100644 --- a/cmd/argocd-util/commands/app.go +++ b/cmd/argocd-util/commands/app.go @@ -249,7 +249,7 @@ func NewReconcileCommand() *cobra.Command { if repoServerAddress == "" { printLine("Repo server is not provided, trying to port-forward to argocd-repo-server pod.") overrides := clientcmd.ConfigOverrides{} - repoServerPort, err := kubeutil.PortForward("app.kubernetes.io/name=argocd-repo-server", 8081, namespace, &overrides) + repoServerPort, err := kubeutil.PortForward(8081, namespace, &overrides, "app.kubernetes.io/name=argocd-repo-server") errors.CheckError(err) repoServerAddress = fmt.Sprintf("localhost:%d", repoServerPort) } diff --git a/cmd/argocd-util/commands/cluster.go b/cmd/argocd-util/commands/cluster.go index 0ce7f3857dbde..85271367f5972 100644 --- a/cmd/argocd-util/commands/cluster.go +++ b/cmd/argocd-util/commands/cluster.go @@ -77,7 +77,8 @@ func loadClusters(kubeClient *kubernetes.Clientset, appClient *versioned.Clients var cache *appstatecache.Cache if portForwardRedis { overrides := clientcmd.ConfigOverrides{} - port, err := kubeutil.PortForward("app.kubernetes.io/name=argocd-redis-ha-haproxy", 6379, namespace, &overrides) + port, err := kubeutil.PortForward(6379, namespace, &overrides, + "app.kubernetes.io/name=argocd-redis-ha-haproxy", "app.kubernetes.io/name=argocd-redis") if err != nil { return nil, err } diff --git a/cmd/argocd/commands/admin.go b/cmd/argocd/commands/admin.go new file mode 100644 index 0000000000000..d93df296c1f12 --- /dev/null +++ b/cmd/argocd/commands/admin.go @@ -0,0 +1,42 @@ +package commands + +import ( + "context" + "fmt" + + "github.com/spf13/cobra" + + "github.com/argoproj/argo-cd/v2/cmd/argocd/commands/headless" + "github.com/argoproj/argo-cd/v2/common" + "github.com/argoproj/argo-cd/v2/pkg/apiclient" +) + +func NewAdminCommand() *cobra.Command { + cmd := &cobra.Command{ + Use: "admin", + Short: "Contains a set of commands useful for Argo CD administrators and requires direct Kubernetes access", + Run: func(c *cobra.Command, args []string) { + c.HelpFunc()(c, args) + }, + } + cmd.AddCommand(NewDashboardCommand()) + return cmd +} + +func NewDashboardCommand() *cobra.Command { + var ( + port int + ) + cmd := &cobra.Command{ + Use: "dashboard", + Short: "Starts Argo CD Web UI locally", + Run: func(cmd *cobra.Command, args []string) { + println(fmt.Sprintf("Argo CD UI is available at http://localhost:%d", port)) + <-context.Background().Done() + }, + } + clientOpts := &apiclient.ClientOptions{Headless: true} + headless.InitCommand(cmd, clientOpts, &port) + cmd.Flags().IntVar(&port, "port", common.DefaultPortAPIServer, "Listen on given port") + return cmd +} diff --git a/cmd/argocd/commands/headless/forward.go b/cmd/argocd/commands/headless/forward.go new file mode 100644 index 0000000000000..c5384be85bd99 --- /dev/null +++ b/cmd/argocd/commands/headless/forward.go @@ -0,0 +1,97 @@ +package headless + +import ( + "context" + "fmt" + "sync" + "time" + + "github.com/go-redis/redis/v8" + "k8s.io/client-go/tools/clientcmd" + + "github.com/argoproj/argo-cd/v2/reposerver/apiclient" + repoapiclient "github.com/argoproj/argo-cd/v2/reposerver/apiclient" + "github.com/argoproj/argo-cd/v2/util/cache" + "github.com/argoproj/argo-cd/v2/util/io" + kubeutil "github.com/argoproj/argo-cd/v2/util/kube" +) + +type forwardCacheClient struct { + namespace string + init sync.Once + client cache.CacheClient + err error +} + +func (c *forwardCacheClient) doLazy(action func(client cache.CacheClient) error) error { + c.init.Do(func() { + overrides := clientcmd.ConfigOverrides{} + redisPort, err := kubeutil.PortForward(6379, c.namespace, &overrides, + "app.kubernetes.io/name=argocd-redis-ha-haproxy", "app.kubernetes.io/name=argocd-redis") + if err != nil { + c.err = err + return + } + + redisClient := redis.NewClient(&redis.Options{Addr: fmt.Sprintf("localhost:%d", redisPort)}) + c.client = cache.NewRedisCache(redisClient, time.Hour) + }) + if c.err != nil { + return c.err + } + return action(c.client) +} + +func (c *forwardCacheClient) Set(item *cache.Item) error { + return c.doLazy(func(client cache.CacheClient) error { + return client.Set(item) + }) +} + +func (c *forwardCacheClient) Get(key string, obj interface{}) error { + return c.doLazy(func(client cache.CacheClient) error { + return client.Get(key, obj) + }) +} + +func (c *forwardCacheClient) Delete(key string) error { + return c.doLazy(func(client cache.CacheClient) error { + return client.Delete(key) + }) +} + +func (c *forwardCacheClient) OnUpdated(ctx context.Context, key string, callback func() error) error { + return c.doLazy(func(client cache.CacheClient) error { + return client.OnUpdated(ctx, key, callback) + }) +} + +func (c *forwardCacheClient) NotifyUpdated(key string) error { + return c.doLazy(func(client cache.CacheClient) error { + return client.NotifyUpdated(key) + }) +} + +type forwardRepoClientset struct { + namespace string + init sync.Once + repoClientset repoapiclient.Clientset + err error +} + +func (c *forwardRepoClientset) NewRepoServerClient() (io.Closer, repoapiclient.RepoServerServiceClient, error) { + c.init.Do(func() { + overrides := clientcmd.ConfigOverrides{} + repoServerPort, err := kubeutil.PortForward(8081, c.namespace, &overrides, "app.kubernetes.io/name=argocd-repo-server") + if err != nil { + c.err = err + return + } + c.repoClientset = apiclient.NewRepoServerClientset(fmt.Sprintf("localhost:%d", repoServerPort), 60, apiclient.TLSConfiguration{ + DisableTLS: false, StrictValidation: false}) + }) + if c.err != nil { + return nil, nil, c.err + } + return c.repoClientset.NewRepoServerClient() +} diff --git a/cmd/argocd/commands/headless/headless.go b/cmd/argocd/commands/headless/headless.go new file mode 100644 index 0000000000000..7cf0acf81bb3b --- /dev/null +++ b/cmd/argocd/commands/headless/headless.go @@ -0,0 +1,152 @@ +package headless + +import ( + "context" + "fmt" + "net" + "os" + "time" + + "github.com/alicebob/miniredis/v2" + "github.com/go-redis/redis/v8" + "github.com/golang/protobuf/ptypes/empty" + log "github.com/sirupsen/logrus" + "github.com/spf13/cobra" + "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/client-go/kubernetes" + "k8s.io/client-go/tools/cache" + "k8s.io/client-go/tools/clientcmd" + + argoapi "github.com/argoproj/argo-cd/v2/pkg/apiclient" + "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1" + appclientset "github.com/argoproj/argo-cd/v2/pkg/client/clientset/versioned" + "github.com/argoproj/argo-cd/v2/server" + servercache "github.com/argoproj/argo-cd/v2/server/cache" + cacheutil "github.com/argoproj/argo-cd/v2/util/cache" + appstatecache "github.com/argoproj/argo-cd/v2/util/cache/appstate" + "github.com/argoproj/argo-cd/v2/util/cli" + "github.com/argoproj/argo-cd/v2/util/io" + "github.com/argoproj/argo-cd/v2/util/localconfig" +) + +func testAPI(clientOpts *argoapi.ClientOptions) error { + apiClient, err := argoapi.NewClient(clientOpts) + if err != nil { + return err + } + closer, versionClient, err := apiClient.NewVersionClient() + if err != nil { + return err + } + defer io.Close(closer) + _, err = versionClient.Version(context.Background(), &empty.Empty{}) + return err +} + +func addKubectlFlagsToCmd(cmd *cobra.Command) clientcmd.ClientConfig { + loadingRules := clientcmd.NewDefaultClientConfigLoadingRules() + loadingRules.DefaultClientConfig = &clientcmd.DefaultClientConfig + overrides := clientcmd.ConfigOverrides{} + kflags := clientcmd.RecommendedConfigOverrideFlags("") + cmd.Flags().StringVar(&loadingRules.ExplicitPath, "kubeconfig", "", "Path to a kube config. Only required if out-of-cluster") + clientcmd.BindOverrideFlags(&overrides, cmd.PersistentFlags(), kflags) + return clientcmd.NewInteractiveDeferredLoadingClientConfig(loadingRules, &overrides, os.Stdin) +} + +// InitCommand allows executing command in a headless mode: on the fly starts Argo CD API server and +// changes provided client options to use started API server port +func InitCommand(cmd *cobra.Command, clientOpts *argoapi.ClientOptions, port *int) *cobra.Command { + ctx, cancel := context.WithCancel(context.Background()) + clientConfig := addKubectlFlagsToCmd(cmd) + cmd.PersistentPreRunE = func(cmd *cobra.Command, args []string) error { + headless := clientOpts.Headless + if !headless { + localCfg, err := localconfig.ReadLocalConfig(clientOpts.ConfigPath) + if err != nil { + return err + } + if localCfg != nil { + configCtx, err := localCfg.ResolveContext(clientOpts.Context) + if err != nil { + return err + } + headless = configCtx.Server.Headless + } + } + if !headless { + return nil + } + + // get rid of logging error handler + runtime.ErrorHandlers = runtime.ErrorHandlers[1:] + cli.SetLogLevel(log.ErrorLevel.String()) + log.SetLevel(log.ErrorLevel) + os.Setenv(v1alpha1.EnvVarFakeInClusterConfig, "true") + if port == nil || *port == 0 { + ln, err := net.Listen("tcp", "localhost:0") + if err != nil { + return err + } + port = &ln.Addr().(*net.TCPAddr).Port + io.Close(ln) + } + + restConfig, err := clientConfig.ClientConfig() + if err != nil { + return err + } + appClientset, err := appclientset.NewForConfig(restConfig) + if err != nil { + return err + } + kubeClientset, err := kubernetes.NewForConfig(restConfig) + if err != nil { + return err + } + + namespace, _, err := clientConfig.Namespace() + if err != nil { + return err + } + + mr, err := miniredis.Run() + if err != nil { + return err + } + + appstateCache := appstatecache.NewCache(cacheutil.NewCache(&forwardCacheClient{namespace: namespace}), time.Hour) + srv := server.NewServer(ctx, server.ArgoCDServerOpts{ + EnableGZip: false, + Namespace: namespace, + ListenPort: *port, + AppClientset: appClientset, + DisableAuth: true, + RedisClient: redis.NewClient(&redis.Options{Addr: mr.Addr()}), + Cache: servercache.NewCache(appstateCache, 0, 0, 0), + KubeClientset: kubeClientset, + Insecure: true, + ListenHost: "localhost", + RepoClientset: &forwardRepoClientset{namespace: namespace}, + }) + + go srv.Run(ctx, *port, 0) + clientOpts.ServerAddr = fmt.Sprintf("localhost:%d", *port) + clientOpts.PlainText = true + if !cache.WaitForCacheSync(ctx.Done(), srv.Initialized) { + log.Fatal("Timed out waiting for project cache to sync") + } + tries := 5 + for i := 0; i < tries; i++ { + err = testAPI(clientOpts) + if err == nil { + break + } + time.Sleep(time.Second) + } + return err + } + cmd.PostRun = func(cmd *cobra.Command, args []string) { + cancel() + } + return cmd +} diff --git a/cmd/argocd/commands/login.go b/cmd/argocd/commands/login.go index 8aa5e314be6af..83168027479cb 100644 --- a/cmd/argocd/commands/login.go +++ b/cmd/argocd/commands/login.go @@ -45,16 +45,26 @@ func NewLoginCommand(globalClientOpts *argocdclient.ClientOptions) *cobra.Comman Use: "login SERVER", Short: "Log in to Argo CD", Long: "Log in to Argo CD", + Example: `# Login to Argo CD using a username and password +argocd login cd.argoproj.io + +# Login to Argo CD using SSO +argocd login cd.argoproj.io --sso + +# Configure "headless" access using Kubernetes API server +argocd login cd.argoproj.io --headless`, Run: func(c *cobra.Command, args []string) { var server string - if len(args) != 1 && !globalClientOpts.PortForward { + if len(args) != 1 && !globalClientOpts.PortForward && !globalClientOpts.Headless { c.HelpFunc()(c, args) os.Exit(1) } if globalClientOpts.PortForward { server = "port-forward" + } else if globalClientOpts.Headless { + server = "headless" } else { server = args[0] tlsTestResult, err := grpc_util.TestTLS(server) @@ -86,9 +96,6 @@ func NewLoginCommand(globalClientOpts *argocdclient.ClientOptions) *cobra.Comman PortForwardNamespace: globalClientOpts.PortForwardNamespace, Headers: globalClientOpts.Headers, } - acdClient := argocdclient.NewClientOrDie(&clientOpts) - setConn, setIf := acdClient.NewSettingsClientOrDie() - defer io.Close(setConn) if ctxName == "" { ctxName = server @@ -101,28 +108,32 @@ func NewLoginCommand(globalClientOpts *argocdclient.ClientOptions) *cobra.Comman // Perform the login var tokenString string var refreshToken string - if !sso { - tokenString = passwordLogin(acdClient, username, password) - } else { - ctx := context.Background() - httpClient, err := acdClient.HTTPClient() - errors.CheckError(err) - ctx = oidc.ClientContext(ctx, httpClient) - acdSet, err := setIf.Get(ctx, &settingspkg.SettingsQuery{}) - errors.CheckError(err) - oauth2conf, provider, err := acdClient.OIDCConfig(ctx, acdSet) + if !globalClientOpts.Headless { + acdClient := argocdclient.NewClientOrDie(&clientOpts) + setConn, setIf := acdClient.NewSettingsClientOrDie() + defer io.Close(setConn) + if !sso { + tokenString = passwordLogin(acdClient, username, password) + } else { + ctx := context.Background() + httpClient, err := acdClient.HTTPClient() + errors.CheckError(err) + ctx = oidc.ClientContext(ctx, httpClient) + acdSet, err := setIf.Get(ctx, &settingspkg.SettingsQuery{}) + errors.CheckError(err) + oauth2conf, provider, err := acdClient.OIDCConfig(ctx, acdSet) + errors.CheckError(err) + tokenString, refreshToken = oauth2Login(ctx, ssoPort, acdSet.GetOIDCConfig(), oauth2conf, provider) + } + parser := &jwt.Parser{ + ValidationHelper: jwt.NewValidationHelper(jwt.WithoutClaimsValidation(), jwt.WithoutAudienceValidation()), + } + claims := jwt.MapClaims{} + _, _, err := parser.ParseUnverified(tokenString, &claims) errors.CheckError(err) - tokenString, refreshToken = oauth2Login(ctx, ssoPort, acdSet.GetOIDCConfig(), oauth2conf, provider) + fmt.Printf("'%s' logged in successfully\n", userDisplayName(claims)) } - parser := &jwt.Parser{ - ValidationHelper: jwt.NewValidationHelper(jwt.WithoutClaimsValidation(), jwt.WithoutAudienceValidation()), - } - claims := jwt.MapClaims{} - _, _, err := parser.ParseUnverified(tokenString, &claims) - errors.CheckError(err) - - fmt.Printf("'%s' logged in successfully\n", userDisplayName(claims)) // login successful. Persist the config localCfg, err := localconfig.ReadLocalConfig(globalClientOpts.ConfigPath) errors.CheckError(err) @@ -135,6 +146,7 @@ func NewLoginCommand(globalClientOpts *argocdclient.ClientOptions) *cobra.Comman Insecure: globalClientOpts.Insecure, GRPCWeb: globalClientOpts.GRPCWeb, GRPCWebRootPath: globalClientOpts.GRPCWebRootPath, + Headless: globalClientOpts.Headless, }) localCfg.UpsertUser(localconfig.User{ Name: ctxName, diff --git a/cmd/argocd/commands/root.go b/cmd/argocd/commands/root.go index 34ea23ae5207d..6413d0669cb07 100644 --- a/cmd/argocd/commands/root.go +++ b/cmd/argocd/commands/root.go @@ -4,6 +4,7 @@ import ( "github.com/spf13/cobra" "k8s.io/client-go/tools/clientcmd" + "github.com/argoproj/argo-cd/v2/cmd/argocd/commands/headless" cmdutil "github.com/argoproj/argo-cd/v2/cmd/util" argocdclient "github.com/argoproj/argo-cd/v2/pkg/apiclient" "github.com/argoproj/argo-cd/v2/util/cli" @@ -38,19 +39,20 @@ func NewCommand() *cobra.Command { } command.AddCommand(NewCompletionCommand()) - command.AddCommand(NewVersionCmd(&clientOpts)) - command.AddCommand(NewClusterCommand(&clientOpts, pathOpts)) - command.AddCommand(NewApplicationCommand(&clientOpts)) + command.AddCommand(headless.InitCommand(NewVersionCmd(&clientOpts), &clientOpts, nil)) + command.AddCommand(headless.InitCommand(NewClusterCommand(&clientOpts, pathOpts), &clientOpts, nil)) + command.AddCommand(headless.InitCommand(NewApplicationCommand(&clientOpts), &clientOpts, nil)) command.AddCommand(NewLoginCommand(&clientOpts)) command.AddCommand(NewReloginCommand(&clientOpts)) - command.AddCommand(NewRepoCommand(&clientOpts)) - command.AddCommand(NewRepoCredsCommand(&clientOpts)) + command.AddCommand(headless.InitCommand(NewRepoCommand(&clientOpts), &clientOpts, nil)) + command.AddCommand(headless.InitCommand(NewRepoCredsCommand(&clientOpts), &clientOpts, nil)) command.AddCommand(NewContextCommand(&clientOpts)) - command.AddCommand(NewProjectCommand(&clientOpts)) - command.AddCommand(NewAccountCommand(&clientOpts)) + command.AddCommand(headless.InitCommand(NewProjectCommand(&clientOpts), &clientOpts, nil)) + command.AddCommand(headless.InitCommand(NewAccountCommand(&clientOpts), &clientOpts, nil)) command.AddCommand(NewLogoutCommand(&clientOpts)) - command.AddCommand(NewCertCommand(&clientOpts)) - command.AddCommand(NewGPGCommand(&clientOpts)) + command.AddCommand(headless.InitCommand(NewCertCommand(&clientOpts), &clientOpts, nil)) + command.AddCommand(headless.InitCommand(NewGPGCommand(&clientOpts), &clientOpts, nil)) + command.AddCommand(NewAdminCommand()) defaultLocalConfigPath, err := localconfig.DefaultLocalConfigPath() errors.CheckError(err) @@ -70,5 +72,6 @@ func NewCommand() *cobra.Command { command.PersistentFlags().BoolVar(&clientOpts.PortForward, "port-forward", config.GetBoolFlag("port-forward"), "Connect to a random argocd-server port using port forwarding") command.PersistentFlags().StringVar(&clientOpts.PortForwardNamespace, "port-forward-namespace", config.GetFlag("port-forward-namespace", ""), "Namespace name which should be used for port forwarding") command.PersistentFlags().IntVar(&clientOpts.HttpRetryMax, "http-retry-max", 0, "Maximum number of retries to establish http connection to Argo CD server") + command.PersistentFlags().BoolVar(&clientOpts.Headless, "headless", false, "If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server") return command } diff --git a/docs/getting_started.md b/docs/getting_started.md index ae64f14874cc0..7b2a287dc1bac 100644 --- a/docs/getting_started.md +++ b/docs/getting_started.md @@ -21,12 +21,14 @@ This will create a new namespace, `argocd`, where Argo CD services and applicati The installation manifests include `ClusterRoleBinding` resources that reference `argocd` namespace. If you installing Argo CD into a different namespace then make sure to update the namespace reference. -!!! note - If you are not interested in UI, SSO, multi-cluster management and just want to pull changes into the cluster then you can disable - authentication using `--disable-auth` flag and access Argo CD via CLI using `--port-forward` or `--port-forward-namespace` flags - and proceed to step [#6](#6-create-an-application-from-a-git-repository): - - `kubectl patch deploy argocd-server -n argocd -p '[{"op": "add", "path": "/spec/template/spec/containers/0/command/-", "value": "--disable-auth"}]' --type json` +If you are not interested in UI, SSO, multi-cluster features then you can install [single-tennant](operator-manual/installation.md#single-tenant-aka-headless) Argo CD installation: + +```bash +kubectl create namespace argocd +kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/headless-install.yaml +``` + +Use `argocd login --headless` to [configure](./user-guide/commands/argocd_login.md) CLI access and skip steps 3-5. ## 2. Download Argo CD CLI diff --git a/docs/operator-manual/ingress.md b/docs/operator-manual/ingress.md index a4a893e7a7c17..0a14bdc5c8fd3 100644 --- a/docs/operator-manual/ingress.md +++ b/docs/operator-manual/ingress.md @@ -159,8 +159,6 @@ spec: - name: argocd-server command: - /argocd-server - - --staticassets - - /shared/app - --repo-server - argocd-repo-server:8081 - --insecure @@ -304,8 +302,6 @@ spec: - name: argocd-server command: - argocd-server - - --staticassets - - /shared/app - --repo-server - argocd-repo-server:8081 - --insecure @@ -433,8 +429,6 @@ spec: containers: - command: - /argocd-server - - --staticassets - - /shared/app - --repo-server - argocd-repo-server:8081 - --rootpath @@ -487,8 +481,6 @@ spec: containers: - command: - /argocd-server - - --staticassets - - /shared/app - --repo-server - argocd-repo-server:8081 - --basehref diff --git a/docs/operator-manual/installation.md b/docs/operator-manual/installation.md new file mode 100644 index 0000000000000..63d3d5780a555 --- /dev/null +++ b/docs/operator-manual/installation.md @@ -0,0 +1,77 @@ +# Installation + +Argo CD has two type of installations: multi-tennant and single-tenant. + +## Multi-Tenant + +The multi-tenant installation is the most common way to install Argo CD. This type of installation is typically used to service multiple application developer teams +in the organization and maintained by a platform team. + +The end-users can access Argo CD via API server using Web UI or `argocd` CLI. The `argocd` has to be configured using `argocd login ` command +(learn more [here](../user-guide/commands/argocd_login.md)). + +Two types of installation manifests are provided: + +### Non High Availability: + +Not recommended for production use. This type of installation is typically used during evaluation period for demonstrations and testing. + +* [install.yaml](https://github.com/argoproj/argo-cd/blob/master/manifests/install.yaml) - Standard Argo CD installation with cluster-admin access. Use this + manifest set if you plan to use Argo CD to deploy applications in the same cluster that Argo CD runs + in (i.e. kubernetes.svc.default). Will still be able to deploy to external clusters with inputted + credentials. + +* [namespace-install.yaml](https://github.com/argoproj/argo-cd/blob/master/manifests/namespace-install.yaml) - Installation of Argo CD which requires only + namespace level privileges (does not need cluster roles). Use this manifest set if you do not + need Argo CD to deploy applications in the same cluster that Argo CD runs in, and will rely solely + on inputted cluster credentials. An example of using this set of manifests is if you run several + Argo CD instances for different teams, where each instance will be deploying applications to + external clusters. Will still be possible to deploy to the same cluster (kubernetes.svc.default) + with inputted credentials (i.e. `argocd cluster add --in-cluster --namespace `). + + > Note: Argo CD CRDs are not included into [namespace-install.yaml](https://github.com/argoproj/argo-cd/blob/master/manifests/namespace-install.yaml). + > and have to be installed separately. The CRD manifests are located in [manifests/crds](https://github.com/argoproj/argo-cd/blob/master/manifests/crds) directory. + > Use the following command to install them: + > ```bash + > kubectl apply -k https://github.com/argoproj/argo-cd/manifests/crds\?ref\=stable + > ``` + +### High Availability: + +High Availability installation is recommended for production use. Bundle includes the same components but tunned for high availability and resiliency. + +* [ha/install.yaml](https://github.com/argoproj/argo-cd/blob/master/manifests/ha/install.yaml) - the same as install.yaml but with multiple replicas for + supported components. + +* [ha/namespace-install.yaml](https://github.com/argoproj/argo-cd/blob/master/manifests/ha/namespace-install.yaml) - the same as namespace-install.yaml but + with multiple replicas for supported components. + +## Single-Tenant (a.k.a. "Headless") + +The single-tenant installation is most suitable for cluster administrators who indepently use Argo CD and don't need multi-tennancy features. This installation +includes less components and easier to setup. The bundle does not include API server, UI as well as install non-HA light-weight version of each component. + +The end-users need Kubernetes access to manage Argo CD. The `argocd` CLI has to be configured using `argocd login --headless` command. The Web UI is also +available and can be started using `argocd admin dashboard` command. + +Installation manifests are available at [headless-install.yaml](https://github.com/argoproj/argo-cd/blob/master/manifests/headless-install.yaml). + +## Kustomize + +The Argo CD manifests can also be installed using Kustomize. It is recommended to include the manifest as a remote resource and apply additional customizations +using Kustomize patches. + + +```yaml +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +namespace: argocd +resources: +- https://raw.githubusercontent.com/argoproj/argo-cd/v2.0.4/manifests/ha/install.yaml +``` + +## Helm + +The Argo CD can be installed using [Helm](https://helm.sh/). The Helm chart is currently community maintained and available at +[argo-helm/charts/argo-cd](https://github.com/argoproj/argo-helm/tree/master/charts/argo-cd). \ No newline at end of file diff --git a/docs/operator-manual/server-commands/argocd-server.md b/docs/operator-manual/server-commands/argocd-server.md index ac294d1705bbf..ef7d70d1bf8e3 100644 --- a/docs/operator-manual/server-commands/argocd-server.md +++ b/docs/operator-manual/server-commands/argocd-server.md @@ -51,7 +51,6 @@ argocd-server [flags] --sentinel stringArray Redis sentinel hostname and port (e.g. argocd-redis-ha-announce-0:6379). --sentinelmaster string Redis sentinel master group name. (default "master") --server string The address and port of the Kubernetes API server - --staticassets string Static assets directory path --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. --tlsciphers string The list of acceptable ciphers to be used when establishing TLS connections. Use 'list' to list available ciphers. (default "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384:TLS_RSA_WITH_AES_256_GCM_SHA384") --tlsmaxversion string The maximum SSL/TLS version that is acceptable (one of: 1.0|1.1|1.2|1.3) (default "1.3") diff --git a/docs/operator-manual/server-commands/argocd-util_dashboard.md b/docs/operator-manual/server-commands/argocd-util_dashboard.md new file mode 100644 index 0000000000000..3226caf47d9e6 --- /dev/null +++ b/docs/operator-manual/server-commands/argocd-util_dashboard.md @@ -0,0 +1,37 @@ +## argocd-util dashboard + + + +``` +argocd-util dashboard [flags] +``` + +### Options + +``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use + --context string The name of the kubeconfig context to use + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server + -h, --help help for dashboard + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure + --kubeconfig string Path to a kube config. Only required if out-of-cluster + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server + --port int Listen on given port (default 8080) + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server +``` + +### SEE ALSO + +* [argocd-util](argocd-util.md) - argocd-util tools used by Argo CD + diff --git a/docs/user-guide/commands/argocd.md b/docs/user-guide/commands/argocd.md index 5f520853c4cc9..fc4e0f3a3c582 100644 --- a/docs/user-guide/commands/argocd.md +++ b/docs/user-guide/commands/argocd.md @@ -16,6 +16,7 @@ argocd [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server -h, --help help for argocd --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification @@ -31,6 +32,7 @@ argocd [flags] ### SEE ALSO * [argocd account](argocd_account.md) - Manage account settings +* [argocd admin](argocd_admin.md) - Contains a set of commands useful for Argo CD administrators and requires direct Kubernetes access * [argocd app](argocd_app.md) - Manage applications * [argocd cert](argocd_cert.md) - Manage repository certificates and SSH known hosts entries * [argocd cluster](argocd_cluster.md) - Manage cluster credentials diff --git a/docs/user-guide/commands/argocd_account.md b/docs/user-guide/commands/argocd_account.md index 26b30904f92e7..552e968f698ec 100644 --- a/docs/user-guide/commands/argocd_account.md +++ b/docs/user-guide/commands/argocd_account.md @@ -9,7 +9,23 @@ argocd account [flags] ### Options ``` - -h, --help help for account + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use + --context string The name of the kubeconfig context to use + -h, --help help for account + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure + --kubeconfig string Path to a kube config. Only required if out-of-cluster + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### Options inherited from parent commands @@ -22,6 +38,7 @@ argocd account [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_account_can-i.md b/docs/user-guide/commands/argocd_account_can-i.md index 396e4f23e730b..756593947f35b 100644 --- a/docs/user-guide/commands/argocd_account_can-i.md +++ b/docs/user-guide/commands/argocd_account_can-i.md @@ -33,22 +33,38 @@ Resources: [clusters projects applications repositories certificates] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_account_delete-token.md b/docs/user-guide/commands/argocd_account_delete-token.md index f879d719b802a..648ae5f9fd1ea 100644 --- a/docs/user-guide/commands/argocd_account_delete-token.md +++ b/docs/user-guide/commands/argocd_account_delete-token.md @@ -26,22 +26,38 @@ argocd account generate-token --account ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_account_generate-token.md b/docs/user-guide/commands/argocd_account_generate-token.md index 6a8e3d975f74f..c57d8bb88593d 100644 --- a/docs/user-guide/commands/argocd_account_generate-token.md +++ b/docs/user-guide/commands/argocd_account_generate-token.md @@ -28,22 +28,38 @@ argocd account generate-token --account ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_account_get-user-info.md b/docs/user-guide/commands/argocd_account_get-user-info.md index 061c3ccf620b1..7cfa7a99b3f49 100644 --- a/docs/user-guide/commands/argocd_account_get-user-info.md +++ b/docs/user-guide/commands/argocd_account_get-user-info.md @@ -16,22 +16,38 @@ argocd account get-user-info [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_account_get.md b/docs/user-guide/commands/argocd_account_get.md index 1a6a310a2bf18..14cc58b8e79b4 100644 --- a/docs/user-guide/commands/argocd_account_get.md +++ b/docs/user-guide/commands/argocd_account_get.md @@ -27,22 +27,38 @@ argocd account get --account ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_account_list.md b/docs/user-guide/commands/argocd_account_list.md index 6216b57011233..e0f3407b845c8 100644 --- a/docs/user-guide/commands/argocd_account_list.md +++ b/docs/user-guide/commands/argocd_account_list.md @@ -22,22 +22,38 @@ argocd account list ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_account_update-password.md b/docs/user-guide/commands/argocd_account_update-password.md index 0083fd2828133..ec54ee80efda8 100644 --- a/docs/user-guide/commands/argocd_account_update-password.md +++ b/docs/user-guide/commands/argocd_account_update-password.md @@ -18,22 +18,38 @@ argocd account update-password [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_admin.md b/docs/user-guide/commands/argocd_admin.md new file mode 100644 index 0000000000000..6fa69d58cdd9f --- /dev/null +++ b/docs/user-guide/commands/argocd_admin.md @@ -0,0 +1,41 @@ +## argocd admin + +Contains a set of commands useful for Argo CD administrators and requires direct Kubernetes access + +``` +argocd admin [flags] +``` + +### Options + +``` + -h, --help help for admin +``` + +### Options inherited from parent commands + +``` + --auth-token string Authentication token + --client-crt string Client certificate file + --client-crt-key string Client certificate key file + --config string Path to Argo CD config (default "/home/user/.argocd/config") + --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. + --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. + -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server + --insecure Skip server certificate and domain verification + --logformat string Set the logging format. One of: text|json (default "text") + --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + --plaintext Disable TLS + --port-forward Connect to a random argocd-server port using port forwarding + --port-forward-namespace string Namespace name which should be used for port forwarding + --server string Argo CD server address + --server-crt string Server certificate file +``` + +### SEE ALSO + +* [argocd](argocd.md) - argocd controls a Argo CD server +* [argocd admin dashboard](argocd_admin_dashboard.md) - Starts Argo CD Web UI locally + diff --git a/docs/user-guide/commands/argocd_admin_dashboard.md b/docs/user-guide/commands/argocd_admin_dashboard.md new file mode 100644 index 0000000000000..c4975697cb9c3 --- /dev/null +++ b/docs/user-guide/commands/argocd_admin_dashboard.md @@ -0,0 +1,57 @@ +## argocd admin dashboard + +Starts Argo CD Web UI locally + +``` +argocd admin dashboard [flags] +``` + +### Options + +``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use + --context string The name of the kubeconfig context to use + -h, --help help for dashboard + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure + --kubeconfig string Path to a kube config. Only required if out-of-cluster + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server + --port int Listen on given port (default 8080) + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server +``` + +### Options inherited from parent commands + +``` + --auth-token string Authentication token + --client-crt string Client certificate file + --client-crt-key string Client certificate key file + --config string Path to Argo CD config (default "/home/user/.argocd/config") + --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. + --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. + -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server + --insecure Skip server certificate and domain verification + --logformat string Set the logging format. One of: text|json (default "text") + --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + --plaintext Disable TLS + --port-forward Connect to a random argocd-server port using port forwarding + --port-forward-namespace string Namespace name which should be used for port forwarding + --server string Argo CD server address + --server-crt string Server certificate file +``` + +### SEE ALSO + +* [argocd admin](argocd_admin.md) - Contains a set of commands useful for Argo CD administrators and requires direct Kubernetes access + diff --git a/docs/user-guide/commands/argocd_app.md b/docs/user-guide/commands/argocd_app.md index 17dc3fac88557..449388e8286b3 100644 --- a/docs/user-guide/commands/argocd_app.md +++ b/docs/user-guide/commands/argocd_app.md @@ -22,7 +22,23 @@ argocd app [flags] ### Options ``` - -h, --help help for app + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use + --context string The name of the kubeconfig context to use + -h, --help help for app + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure + --kubeconfig string Path to a kube config. Only required if out-of-cluster + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### Options inherited from parent commands @@ -35,6 +51,7 @@ argocd app [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_app_actions.md b/docs/user-guide/commands/argocd_app_actions.md index 5cb30ff0021d1..df1bce54f4a36 100644 --- a/docs/user-guide/commands/argocd_app_actions.md +++ b/docs/user-guide/commands/argocd_app_actions.md @@ -15,22 +15,38 @@ argocd app actions [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_app_actions_list.md b/docs/user-guide/commands/argocd_app_actions_list.md index abbd51bd912df..c3c7418610f47 100644 --- a/docs/user-guide/commands/argocd_app_actions_list.md +++ b/docs/user-guide/commands/argocd_app_actions_list.md @@ -12,7 +12,6 @@ argocd app actions list APPNAME [flags] --group string Group -h, --help help for list --kind string Kind - --namespace string Namespace -o, --out string Output format. One of: yaml, json --resource-name string Name of resource ``` @@ -20,22 +19,38 @@ argocd app actions list APPNAME [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_app_actions_run.md b/docs/user-guide/commands/argocd_app_actions_run.md index 0222b103a9654..5bbb30bd6b382 100644 --- a/docs/user-guide/commands/argocd_app_actions_run.md +++ b/docs/user-guide/commands/argocd_app_actions_run.md @@ -13,29 +13,44 @@ argocd app actions run APPNAME ACTION [flags] --group string Group -h, --help help for run --kind string Kind - --namespace string Namespace --resource-name string Name of resource ``` ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_app_create.md b/docs/user-guide/commands/argocd_app_create.md index f27dd00747921..aca30231ab9ce 100644 --- a/docs/user-guide/commands/argocd_app_create.md +++ b/docs/user-guide/commands/argocd_app_create.md @@ -90,22 +90,38 @@ argocd app create APPNAME [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_app_delete.md b/docs/user-guide/commands/argocd_app_delete.md index 808e63557a0cb..9eb89b7f6abbc 100644 --- a/docs/user-guide/commands/argocd_app_delete.md +++ b/docs/user-guide/commands/argocd_app_delete.md @@ -18,22 +18,38 @@ argocd app delete APPNAME [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_app_diff.md b/docs/user-guide/commands/argocd_app_diff.md index 16ea0eb6260b4..18b46841139de 100644 --- a/docs/user-guide/commands/argocd_app_diff.md +++ b/docs/user-guide/commands/argocd_app_diff.md @@ -27,22 +27,38 @@ argocd app diff APPNAME [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_app_edit.md b/docs/user-guide/commands/argocd_app_edit.md index 2b9e721c48ce7..3b55c3d7620de 100644 --- a/docs/user-guide/commands/argocd_app_edit.md +++ b/docs/user-guide/commands/argocd_app_edit.md @@ -15,22 +15,38 @@ argocd app edit APPNAME [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_app_get.md b/docs/user-guide/commands/argocd_app_get.md index 1773ba6a39163..95a16ecd4f3d2 100644 --- a/docs/user-guide/commands/argocd_app_get.md +++ b/docs/user-guide/commands/argocd_app_get.md @@ -20,22 +20,38 @@ argocd app get APPNAME [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_app_history.md b/docs/user-guide/commands/argocd_app_history.md index 0dd9ab7f4973c..060bd0a74bf13 100644 --- a/docs/user-guide/commands/argocd_app_history.md +++ b/docs/user-guide/commands/argocd_app_history.md @@ -16,22 +16,38 @@ argocd app history APPNAME [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_app_list.md b/docs/user-guide/commands/argocd_app_list.md index 7dd30e3d10aba..1731e1608be9f 100644 --- a/docs/user-guide/commands/argocd_app_list.md +++ b/docs/user-guide/commands/argocd_app_list.md @@ -29,22 +29,38 @@ argocd app list [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_app_logs.md b/docs/user-guide/commands/argocd_app_logs.md index 11e8900f7c99c..736463e5b67bb 100644 --- a/docs/user-guide/commands/argocd_app_logs.md +++ b/docs/user-guide/commands/argocd_app_logs.md @@ -16,7 +16,6 @@ argocd app logs APPNAME [flags] -h, --help help for logs --kind string Resource kind --name string Resource name - --namespace string Resource namespace --since-seconds int A relative time in seconds before the current time from which to show logs --tail int The number of lines from the end of the logs to show --until-time string Show logs until this time @@ -25,22 +24,38 @@ argocd app logs APPNAME [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_app_manifests.md b/docs/user-guide/commands/argocd_app_manifests.md index e57d00ec80a78..77cd4c0b02636 100644 --- a/docs/user-guide/commands/argocd_app_manifests.md +++ b/docs/user-guide/commands/argocd_app_manifests.md @@ -17,22 +17,38 @@ argocd app manifests APPNAME [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_app_patch-resource.md b/docs/user-guide/commands/argocd_app_patch-resource.md index 03af5af0aabbf..8c70e4da6ac71 100644 --- a/docs/user-guide/commands/argocd_app_patch-resource.md +++ b/docs/user-guide/commands/argocd_app_patch-resource.md @@ -13,7 +13,6 @@ argocd app patch-resource APPNAME [flags] --group string Group -h, --help help for patch-resource --kind string Kind - --namespace string Namespace --patch string Patch --patch-type string Which Patching strategy to use: 'application/json-patch+json', 'application/merge-patch+json', or 'application/strategic-merge-patch+json'. Defaults to 'application/merge-patch+json' (default "application/merge-patch+json") --resource-name string Name of resource @@ -22,22 +21,38 @@ argocd app patch-resource APPNAME [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_app_patch.md b/docs/user-guide/commands/argocd_app_patch.md index 0b975fd702008..34b9a8aef5515 100644 --- a/docs/user-guide/commands/argocd_app_patch.md +++ b/docs/user-guide/commands/argocd_app_patch.md @@ -26,22 +26,38 @@ argocd app patch APPNAME [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_app_resources.md b/docs/user-guide/commands/argocd_app_resources.md index 935beb4204b5d..6f9487bd64074 100644 --- a/docs/user-guide/commands/argocd_app_resources.md +++ b/docs/user-guide/commands/argocd_app_resources.md @@ -16,22 +16,38 @@ argocd app resources APPNAME [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_app_rollback.md b/docs/user-guide/commands/argocd_app_rollback.md index de0e100218774..2f3a67dd30bb1 100644 --- a/docs/user-guide/commands/argocd_app_rollback.md +++ b/docs/user-guide/commands/argocd_app_rollback.md @@ -17,22 +17,38 @@ argocd app rollback APPNAME ID [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_app_set.md b/docs/user-guide/commands/argocd_app_set.md index 177ad2d5cf628..ea4ed36ccb5e1 100644 --- a/docs/user-guide/commands/argocd_app_set.md +++ b/docs/user-guide/commands/argocd_app_set.md @@ -61,22 +61,38 @@ argocd app set APPNAME [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_app_sync.md b/docs/user-guide/commands/argocd_app_sync.md index 08aae1d685b4a..a68a0ab357f09 100644 --- a/docs/user-guide/commands/argocd_app_sync.md +++ b/docs/user-guide/commands/argocd_app_sync.md @@ -52,22 +52,38 @@ argocd app sync [APPNAME... | -l selector] [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_app_terminate-op.md b/docs/user-guide/commands/argocd_app_terminate-op.md index a1fbb98e1798a..e407d8e1ca6b6 100644 --- a/docs/user-guide/commands/argocd_app_terminate-op.md +++ b/docs/user-guide/commands/argocd_app_terminate-op.md @@ -15,22 +15,38 @@ argocd app terminate-op APPNAME [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_app_unset.md b/docs/user-guide/commands/argocd_app_unset.md index 678f19c328d2d..2e3499fb0bc7b 100644 --- a/docs/user-guide/commands/argocd_app_unset.md +++ b/docs/user-guide/commands/argocd_app_unset.md @@ -36,22 +36,38 @@ argocd app unset APPNAME parameters [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_app_wait.md b/docs/user-guide/commands/argocd_app_wait.md index e9e2950e15872..587ef38989385 100644 --- a/docs/user-guide/commands/argocd_app_wait.md +++ b/docs/user-guide/commands/argocd_app_wait.md @@ -35,22 +35,38 @@ argocd app wait [APPNAME.. | -l selector] [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_cert.md b/docs/user-guide/commands/argocd_cert.md index 075a453049dd5..83e3b46bbb8d5 100644 --- a/docs/user-guide/commands/argocd_cert.md +++ b/docs/user-guide/commands/argocd_cert.md @@ -32,7 +32,23 @@ argocd cert [flags] ### Options ``` - -h, --help help for cert + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use + --context string The name of the kubeconfig context to use + -h, --help help for cert + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure + --kubeconfig string Path to a kube config. Only required if out-of-cluster + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### Options inherited from parent commands @@ -45,6 +61,7 @@ argocd cert [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_cert_add-ssh.md b/docs/user-guide/commands/argocd_cert_add-ssh.md index 339443114f8c5..35e17543cf0d1 100644 --- a/docs/user-guide/commands/argocd_cert_add-ssh.md +++ b/docs/user-guide/commands/argocd_cert_add-ssh.md @@ -18,22 +18,38 @@ argocd cert add-ssh --batch [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_cert_add-tls.md b/docs/user-guide/commands/argocd_cert_add-tls.md index 2c81da22b1196..e8114d3073c9d 100644 --- a/docs/user-guide/commands/argocd_cert_add-tls.md +++ b/docs/user-guide/commands/argocd_cert_add-tls.md @@ -17,22 +17,38 @@ argocd cert add-tls SERVERNAME [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_cert_list.md b/docs/user-guide/commands/argocd_cert_list.md index ad387e30e5808..25afc8c8d500c 100644 --- a/docs/user-guide/commands/argocd_cert_list.md +++ b/docs/user-guide/commands/argocd_cert_list.md @@ -19,22 +19,38 @@ argocd cert list [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_cert_rm.md b/docs/user-guide/commands/argocd_cert_rm.md index a987b941edd59..e88cf4db6a1b4 100644 --- a/docs/user-guide/commands/argocd_cert_rm.md +++ b/docs/user-guide/commands/argocd_cert_rm.md @@ -17,22 +17,38 @@ argocd cert rm REPOSERVER [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_cluster.md b/docs/user-guide/commands/argocd_cluster.md index 7f31d1d413a0f..f3b6e59eaed2d 100644 --- a/docs/user-guide/commands/argocd_cluster.md +++ b/docs/user-guide/commands/argocd_cluster.md @@ -26,7 +26,23 @@ argocd cluster [flags] ### Options ``` - -h, --help help for cluster + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use + --context string The name of the kubeconfig context to use + -h, --help help for cluster + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure + --kubeconfig string Path to a kube config. Only required if out-of-cluster + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### Options inherited from parent commands @@ -39,6 +55,7 @@ argocd cluster [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_cluster_add.md b/docs/user-guide/commands/argocd_cluster_add.md index b3802bee28a29..d2006d31b9314 100644 --- a/docs/user-guide/commands/argocd_cluster_add.md +++ b/docs/user-guide/commands/argocd_cluster_add.md @@ -21,7 +21,6 @@ argocd cluster add CONTEXT [flags] --in-cluster Indicates Argo CD resides inside this cluster and should connect using the internal k8s hostname (kubernetes.default.svc) --kubeconfig string use a particular kubeconfig file --name string Overwrite the cluster name - --namespace stringArray List of namespaces which are allowed to manage --service-account string System namespace service account to use for kubernetes resource management. If not set then default "argocd-manager" SA will be created --shard int Cluster shard number; inferred from hostname if not set (default -1) --system-namespace string Use different system namespace (default "kube-system") @@ -32,22 +31,38 @@ argocd cluster add CONTEXT [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_cluster_get.md b/docs/user-guide/commands/argocd_cluster_get.md index 68648e5321785..b99b8f7040324 100644 --- a/docs/user-guide/commands/argocd_cluster_get.md +++ b/docs/user-guide/commands/argocd_cluster_get.md @@ -22,22 +22,38 @@ argocd cluster get https://12.34.567.89 ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_cluster_list.md b/docs/user-guide/commands/argocd_cluster_list.md index 1441c9f3b2960..daf1366838fc9 100644 --- a/docs/user-guide/commands/argocd_cluster_list.md +++ b/docs/user-guide/commands/argocd_cluster_list.md @@ -16,22 +16,38 @@ argocd cluster list [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_cluster_rm.md b/docs/user-guide/commands/argocd_cluster_rm.md index 5fb8387d7e513..d6cbe49616ab7 100644 --- a/docs/user-guide/commands/argocd_cluster_rm.md +++ b/docs/user-guide/commands/argocd_cluster_rm.md @@ -21,22 +21,38 @@ argocd cluster rm https://12.34.567.89 ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_cluster_rotate-auth.md b/docs/user-guide/commands/argocd_cluster_rotate-auth.md index e102b7ae439bc..2fc333af4fe42 100644 --- a/docs/user-guide/commands/argocd_cluster_rotate-auth.md +++ b/docs/user-guide/commands/argocd_cluster_rotate-auth.md @@ -21,22 +21,38 @@ argocd cluster rotate-auth https://12.34.567.89 ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_completion.md b/docs/user-guide/commands/argocd_completion.md index 2758d1dbf8f20..1eee94839eb54 100644 --- a/docs/user-guide/commands/argocd_completion.md +++ b/docs/user-guide/commands/argocd_completion.md @@ -35,6 +35,7 @@ argocd completion SHELL [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_context.md b/docs/user-guide/commands/argocd_context.md index 34aca27044b86..8b0c2599fbbc1 100644 --- a/docs/user-guide/commands/argocd_context.md +++ b/docs/user-guide/commands/argocd_context.md @@ -23,6 +23,7 @@ argocd context [CONTEXT] [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_gpg.md b/docs/user-guide/commands/argocd_gpg.md index 800db6c49b4d7..83524c46a087b 100644 --- a/docs/user-guide/commands/argocd_gpg.md +++ b/docs/user-guide/commands/argocd_gpg.md @@ -9,7 +9,23 @@ argocd gpg [flags] ### Options ``` - -h, --help help for gpg + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use + --context string The name of the kubeconfig context to use + -h, --help help for gpg + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure + --kubeconfig string Path to a kube config. Only required if out-of-cluster + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### Options inherited from parent commands @@ -22,6 +38,7 @@ argocd gpg [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_gpg_add.md b/docs/user-guide/commands/argocd_gpg_add.md index 9f0a4cfe8e2a1..8658fad68d1bc 100644 --- a/docs/user-guide/commands/argocd_gpg_add.md +++ b/docs/user-guide/commands/argocd_gpg_add.md @@ -16,22 +16,38 @@ argocd gpg add [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_gpg_get.md b/docs/user-guide/commands/argocd_gpg_get.md index 855666bca4f11..4b610cdecb459 100644 --- a/docs/user-guide/commands/argocd_gpg_get.md +++ b/docs/user-guide/commands/argocd_gpg_get.md @@ -16,22 +16,38 @@ argocd gpg get KEYID [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_gpg_list.md b/docs/user-guide/commands/argocd_gpg_list.md index bec370d61efa1..af898b64e8d5a 100644 --- a/docs/user-guide/commands/argocd_gpg_list.md +++ b/docs/user-guide/commands/argocd_gpg_list.md @@ -16,22 +16,38 @@ argocd gpg list [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_gpg_rm.md b/docs/user-guide/commands/argocd_gpg_rm.md index 2e7c4fa3fa9b6..722922963d61f 100644 --- a/docs/user-guide/commands/argocd_gpg_rm.md +++ b/docs/user-guide/commands/argocd_gpg_rm.md @@ -15,22 +15,38 @@ argocd gpg rm KEYID [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_login.md b/docs/user-guide/commands/argocd_login.md index 1327c605e6329..f81475e3665da 100644 --- a/docs/user-guide/commands/argocd_login.md +++ b/docs/user-guide/commands/argocd_login.md @@ -10,6 +10,19 @@ Log in to Argo CD argocd login SERVER [flags] ``` +### Examples + +``` +# Login to Argo CD using a username and password +argocd login cd.argoproj.io + +# Login to Argo CD using SSO +argocd login cd.argoproj.io --sso + +# Configure "headless" access using Kubernetes API server +argocd login cd.argoproj.io --headless +``` + ### Options ``` @@ -31,6 +44,7 @@ argocd login SERVER [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_logout.md b/docs/user-guide/commands/argocd_logout.md index 551e51754111b..e3022bb5cf4a8 100644 --- a/docs/user-guide/commands/argocd_logout.md +++ b/docs/user-guide/commands/argocd_logout.md @@ -26,6 +26,7 @@ argocd logout CONTEXT [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_proj.md b/docs/user-guide/commands/argocd_proj.md index 12b69f7c55c3d..f076acf0d14e7 100644 --- a/docs/user-guide/commands/argocd_proj.md +++ b/docs/user-guide/commands/argocd_proj.md @@ -9,7 +9,23 @@ argocd proj [flags] ### Options ``` - -h, --help help for proj + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use + --context string The name of the kubeconfig context to use + -h, --help help for proj + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure + --kubeconfig string Path to a kube config. Only required if out-of-cluster + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### Options inherited from parent commands @@ -22,6 +38,7 @@ argocd proj [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_proj_add-destination.md b/docs/user-guide/commands/argocd_proj_add-destination.md index 2871bd207208f..e109c930550c6 100644 --- a/docs/user-guide/commands/argocd_proj_add-destination.md +++ b/docs/user-guide/commands/argocd_proj_add-destination.md @@ -15,22 +15,38 @@ argocd proj add-destination PROJECT SERVER NAMESPACE [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_proj_add-orphaned-ignore.md b/docs/user-guide/commands/argocd_proj_add-orphaned-ignore.md index 716f23c169ac8..89501bf2b8aa2 100644 --- a/docs/user-guide/commands/argocd_proj_add-orphaned-ignore.md +++ b/docs/user-guide/commands/argocd_proj_add-orphaned-ignore.md @@ -16,22 +16,38 @@ argocd proj add-orphaned-ignore PROJECT GROUP KIND [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_proj_add-signature-key.md b/docs/user-guide/commands/argocd_proj_add-signature-key.md index 28ecb0bd4b766..803f4cf69d2a8 100644 --- a/docs/user-guide/commands/argocd_proj_add-signature-key.md +++ b/docs/user-guide/commands/argocd_proj_add-signature-key.md @@ -15,22 +15,38 @@ argocd proj add-signature-key PROJECT KEY-ID [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_proj_add-source.md b/docs/user-guide/commands/argocd_proj_add-source.md index ffed41a5f1386..0f8f4a3483ce0 100644 --- a/docs/user-guide/commands/argocd_proj_add-source.md +++ b/docs/user-guide/commands/argocd_proj_add-source.md @@ -15,22 +15,38 @@ argocd proj add-source PROJECT URL [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_proj_allow-cluster-resource.md b/docs/user-guide/commands/argocd_proj_allow-cluster-resource.md index 7cf6990b79c43..aa7918a4faa2e 100644 --- a/docs/user-guide/commands/argocd_proj_allow-cluster-resource.md +++ b/docs/user-guide/commands/argocd_proj_allow-cluster-resource.md @@ -16,22 +16,38 @@ argocd proj allow-cluster-resource PROJECT GROUP KIND [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_proj_allow-namespace-resource.md b/docs/user-guide/commands/argocd_proj_allow-namespace-resource.md index 1bef140bcd61b..b166eebc59af9 100644 --- a/docs/user-guide/commands/argocd_proj_allow-namespace-resource.md +++ b/docs/user-guide/commands/argocd_proj_allow-namespace-resource.md @@ -16,22 +16,38 @@ argocd proj allow-namespace-resource PROJECT GROUP KIND [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_proj_create.md b/docs/user-guide/commands/argocd_proj_create.md index 4a3f104b9970f..1df88d7fa9ec0 100644 --- a/docs/user-guide/commands/argocd_proj_create.md +++ b/docs/user-guide/commands/argocd_proj_create.md @@ -27,22 +27,38 @@ argocd proj create PROJECT [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_proj_delete.md b/docs/user-guide/commands/argocd_proj_delete.md index 875a6b0c4ae9e..6fb1ca36e3589 100644 --- a/docs/user-guide/commands/argocd_proj_delete.md +++ b/docs/user-guide/commands/argocd_proj_delete.md @@ -15,22 +15,38 @@ argocd proj delete PROJECT [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_proj_deny-cluster-resource.md b/docs/user-guide/commands/argocd_proj_deny-cluster-resource.md index abe0cdd340bf2..da7b382c774dc 100644 --- a/docs/user-guide/commands/argocd_proj_deny-cluster-resource.md +++ b/docs/user-guide/commands/argocd_proj_deny-cluster-resource.md @@ -16,22 +16,38 @@ argocd proj deny-cluster-resource PROJECT GROUP KIND [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_proj_deny-namespace-resource.md b/docs/user-guide/commands/argocd_proj_deny-namespace-resource.md index 6a9c2d5ceb292..a2846eccf22fa 100644 --- a/docs/user-guide/commands/argocd_proj_deny-namespace-resource.md +++ b/docs/user-guide/commands/argocd_proj_deny-namespace-resource.md @@ -16,22 +16,38 @@ argocd proj deny-namespace-resource PROJECT GROUP KIND [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_proj_edit.md b/docs/user-guide/commands/argocd_proj_edit.md index 5822307d5909b..9c9cf5b9589a5 100644 --- a/docs/user-guide/commands/argocd_proj_edit.md +++ b/docs/user-guide/commands/argocd_proj_edit.md @@ -15,22 +15,38 @@ argocd proj edit PROJECT [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_proj_get.md b/docs/user-guide/commands/argocd_proj_get.md index 654430ad396f9..60a67d4e91542 100644 --- a/docs/user-guide/commands/argocd_proj_get.md +++ b/docs/user-guide/commands/argocd_proj_get.md @@ -16,22 +16,38 @@ argocd proj get PROJECT [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_proj_list.md b/docs/user-guide/commands/argocd_proj_list.md index fe59a37066765..baee5d1397948 100644 --- a/docs/user-guide/commands/argocd_proj_list.md +++ b/docs/user-guide/commands/argocd_proj_list.md @@ -16,22 +16,38 @@ argocd proj list [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_proj_remove-destination.md b/docs/user-guide/commands/argocd_proj_remove-destination.md index 9c7fd23a30c42..569731f7355c5 100644 --- a/docs/user-guide/commands/argocd_proj_remove-destination.md +++ b/docs/user-guide/commands/argocd_proj_remove-destination.md @@ -15,22 +15,38 @@ argocd proj remove-destination PROJECT SERVER NAMESPACE [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_proj_remove-orphaned-ignore.md b/docs/user-guide/commands/argocd_proj_remove-orphaned-ignore.md index 32207a5672efb..91d29f44584ca 100644 --- a/docs/user-guide/commands/argocd_proj_remove-orphaned-ignore.md +++ b/docs/user-guide/commands/argocd_proj_remove-orphaned-ignore.md @@ -16,22 +16,38 @@ argocd proj remove-orphaned-ignore PROJECT GROUP KIND NAME [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_proj_remove-signature-key.md b/docs/user-guide/commands/argocd_proj_remove-signature-key.md index c344aa1eb5ce2..bfe87f696db2a 100644 --- a/docs/user-guide/commands/argocd_proj_remove-signature-key.md +++ b/docs/user-guide/commands/argocd_proj_remove-signature-key.md @@ -15,22 +15,38 @@ argocd proj remove-signature-key PROJECT KEY-ID [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_proj_remove-source.md b/docs/user-guide/commands/argocd_proj_remove-source.md index 074aee9168e2b..507f0b1fc8bc1 100644 --- a/docs/user-guide/commands/argocd_proj_remove-source.md +++ b/docs/user-guide/commands/argocd_proj_remove-source.md @@ -15,22 +15,38 @@ argocd proj remove-source PROJECT URL [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_proj_role.md b/docs/user-guide/commands/argocd_proj_role.md index 6611b24628ebc..5bced219c8e07 100644 --- a/docs/user-guide/commands/argocd_proj_role.md +++ b/docs/user-guide/commands/argocd_proj_role.md @@ -15,22 +15,38 @@ argocd proj role [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_proj_role_add-group.md b/docs/user-guide/commands/argocd_proj_role_add-group.md index 1b273f6a50c9b..a036e6d41e581 100644 --- a/docs/user-guide/commands/argocd_proj_role_add-group.md +++ b/docs/user-guide/commands/argocd_proj_role_add-group.md @@ -15,22 +15,38 @@ argocd proj role add-group PROJECT ROLE-NAME GROUP-CLAIM [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_proj_role_add-policy.md b/docs/user-guide/commands/argocd_proj_role_add-policy.md index 630f14d83fee9..e9ce778b163fa 100644 --- a/docs/user-guide/commands/argocd_proj_role_add-policy.md +++ b/docs/user-guide/commands/argocd_proj_role_add-policy.md @@ -18,22 +18,38 @@ argocd proj role add-policy PROJECT ROLE-NAME [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_proj_role_create-token.md b/docs/user-guide/commands/argocd_proj_role_create-token.md index 727517d548cb3..6bcab963d76e0 100644 --- a/docs/user-guide/commands/argocd_proj_role_create-token.md +++ b/docs/user-guide/commands/argocd_proj_role_create-token.md @@ -18,22 +18,38 @@ argocd proj role create-token PROJECT ROLE-NAME [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_proj_role_create.md b/docs/user-guide/commands/argocd_proj_role_create.md index 44e3c4be67638..76e0b3cafcde1 100644 --- a/docs/user-guide/commands/argocd_proj_role_create.md +++ b/docs/user-guide/commands/argocd_proj_role_create.md @@ -16,22 +16,38 @@ argocd proj role create PROJECT ROLE-NAME [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_proj_role_delete-token.md b/docs/user-guide/commands/argocd_proj_role_delete-token.md index 982ff3cf58c1b..b8659f2fcb653 100644 --- a/docs/user-guide/commands/argocd_proj_role_delete-token.md +++ b/docs/user-guide/commands/argocd_proj_role_delete-token.md @@ -15,22 +15,38 @@ argocd proj role delete-token PROJECT ROLE-NAME ISSUED-AT [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_proj_role_delete.md b/docs/user-guide/commands/argocd_proj_role_delete.md index 3e98f66682163..f73f10ae9bd83 100644 --- a/docs/user-guide/commands/argocd_proj_role_delete.md +++ b/docs/user-guide/commands/argocd_proj_role_delete.md @@ -15,22 +15,38 @@ argocd proj role delete PROJECT ROLE-NAME [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_proj_role_get.md b/docs/user-guide/commands/argocd_proj_role_get.md index dd01c397e20ff..f38a31e2d9e33 100644 --- a/docs/user-guide/commands/argocd_proj_role_get.md +++ b/docs/user-guide/commands/argocd_proj_role_get.md @@ -15,22 +15,38 @@ argocd proj role get PROJECT ROLE-NAME [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_proj_role_list-tokens.md b/docs/user-guide/commands/argocd_proj_role_list-tokens.md index dc1f124c4e6ca..3b3ef92adeced 100644 --- a/docs/user-guide/commands/argocd_proj_role_list-tokens.md +++ b/docs/user-guide/commands/argocd_proj_role_list-tokens.md @@ -16,22 +16,38 @@ argocd proj role list-tokens PROJECT ROLE-NAME [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_proj_role_list.md b/docs/user-guide/commands/argocd_proj_role_list.md index 102bee7cd6f98..55ae908b6d1cf 100644 --- a/docs/user-guide/commands/argocd_proj_role_list.md +++ b/docs/user-guide/commands/argocd_proj_role_list.md @@ -16,22 +16,38 @@ argocd proj role list PROJECT [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_proj_role_remove-group.md b/docs/user-guide/commands/argocd_proj_role_remove-group.md index e2ed21e31cd13..23a2a366a21e1 100644 --- a/docs/user-guide/commands/argocd_proj_role_remove-group.md +++ b/docs/user-guide/commands/argocd_proj_role_remove-group.md @@ -15,22 +15,38 @@ argocd proj role remove-group PROJECT ROLE-NAME GROUP-CLAIM [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_proj_role_remove-policy.md b/docs/user-guide/commands/argocd_proj_role_remove-policy.md index 614651afea2c2..aee99717ec494 100644 --- a/docs/user-guide/commands/argocd_proj_role_remove-policy.md +++ b/docs/user-guide/commands/argocd_proj_role_remove-policy.md @@ -18,22 +18,38 @@ argocd proj role remove-policy PROJECT ROLE-NAME [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_proj_set.md b/docs/user-guide/commands/argocd_proj_set.md index 35185c0c74bbd..2693a8ecda64a 100644 --- a/docs/user-guide/commands/argocd_proj_set.md +++ b/docs/user-guide/commands/argocd_proj_set.md @@ -25,22 +25,38 @@ argocd proj set PROJECT [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_proj_windows.md b/docs/user-guide/commands/argocd_proj_windows.md index 2a4b6524bf831..19783f66b87ed 100644 --- a/docs/user-guide/commands/argocd_proj_windows.md +++ b/docs/user-guide/commands/argocd_proj_windows.md @@ -15,22 +15,38 @@ argocd proj windows [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_proj_windows_add.md b/docs/user-guide/commands/argocd_proj_windows_add.md index af84a2f0ec914..c0c931f71a939 100644 --- a/docs/user-guide/commands/argocd_proj_windows_add.md +++ b/docs/user-guide/commands/argocd_proj_windows_add.md @@ -22,22 +22,38 @@ argocd proj windows add PROJECT [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_proj_windows_delete.md b/docs/user-guide/commands/argocd_proj_windows_delete.md index 860ebacf2a7d5..cbe3b90a9f746 100644 --- a/docs/user-guide/commands/argocd_proj_windows_delete.md +++ b/docs/user-guide/commands/argocd_proj_windows_delete.md @@ -15,22 +15,38 @@ argocd proj windows delete PROJECT ID [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_proj_windows_disable-manual-sync.md b/docs/user-guide/commands/argocd_proj_windows_disable-manual-sync.md index 5c2d253bb66a0..8d1bef0ae0fc0 100644 --- a/docs/user-guide/commands/argocd_proj_windows_disable-manual-sync.md +++ b/docs/user-guide/commands/argocd_proj_windows_disable-manual-sync.md @@ -19,22 +19,38 @@ argocd proj windows disable-manual-sync PROJECT ID [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_proj_windows_enable-manual-sync.md b/docs/user-guide/commands/argocd_proj_windows_enable-manual-sync.md index 4ce939f15d83f..7ddbfb58c5cce 100644 --- a/docs/user-guide/commands/argocd_proj_windows_enable-manual-sync.md +++ b/docs/user-guide/commands/argocd_proj_windows_enable-manual-sync.md @@ -19,22 +19,38 @@ argocd proj windows enable-manual-sync PROJECT ID [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_proj_windows_list.md b/docs/user-guide/commands/argocd_proj_windows_list.md index 1b83370a04b33..15444de75daab 100644 --- a/docs/user-guide/commands/argocd_proj_windows_list.md +++ b/docs/user-guide/commands/argocd_proj_windows_list.md @@ -16,22 +16,38 @@ argocd proj windows list PROJECT [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_proj_windows_update.md b/docs/user-guide/commands/argocd_proj_windows_update.md index b3ec2ebd50e65..339b2d8f3b88d 100644 --- a/docs/user-guide/commands/argocd_proj_windows_update.md +++ b/docs/user-guide/commands/argocd_proj_windows_update.md @@ -24,22 +24,38 @@ argocd proj windows update PROJECT ID [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_relogin.md b/docs/user-guide/commands/argocd_relogin.md index 6b2141f8173d0..6502a52dd599a 100644 --- a/docs/user-guide/commands/argocd_relogin.md +++ b/docs/user-guide/commands/argocd_relogin.md @@ -28,6 +28,7 @@ argocd relogin [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_repo.md b/docs/user-guide/commands/argocd_repo.md index 8bb9defab71f7..caf2f0ed16902 100644 --- a/docs/user-guide/commands/argocd_repo.md +++ b/docs/user-guide/commands/argocd_repo.md @@ -9,7 +9,23 @@ argocd repo [flags] ### Options ``` - -h, --help help for repo + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use + --context string The name of the kubeconfig context to use + -h, --help help for repo + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure + --kubeconfig string Path to a kube config. Only required if out-of-cluster + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### Options inherited from parent commands @@ -22,6 +38,7 @@ argocd repo [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_repo_add.md b/docs/user-guide/commands/argocd_repo_add.md index 6ad72661fc90b..ec61a890d236c 100644 --- a/docs/user-guide/commands/argocd_repo_add.md +++ b/docs/user-guide/commands/argocd_repo_add.md @@ -51,35 +51,49 @@ argocd repo add REPOURL [flags] --insecure-ignore-host-key disables SSH strict host key checking (deprecated, use --insecure-skip-server-verification instead) --insecure-skip-server-verification disables server certificate and host key checks --name string name of the repository, mandatory for repositories of type helm - --password string password to the repository --proxy string use proxy to access repository --ssh-private-key-path string path to the private ssh key (e.g. ~/.ssh/id_rsa) --tls-client-cert-key-path string path to the TLS client cert's key path (must be PEM format) --tls-client-cert-path string path to the TLS client cert (must be PEM format) --type string type of the repository, "git" or "helm" (default "git") --upsert Override an existing repository with the same name even if the spec differs - --username string username to the repository ``` ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_repo_get.md b/docs/user-guide/commands/argocd_repo_get.md index 962fa0a5c4d5f..a945c4debee3a 100644 --- a/docs/user-guide/commands/argocd_repo_get.md +++ b/docs/user-guide/commands/argocd_repo_get.md @@ -17,22 +17,38 @@ argocd repo get [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_repo_list.md b/docs/user-guide/commands/argocd_repo_list.md index 2adadea6bff2c..72bdff0906c7d 100644 --- a/docs/user-guide/commands/argocd_repo_list.md +++ b/docs/user-guide/commands/argocd_repo_list.md @@ -17,22 +17,38 @@ argocd repo list [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_repo_rm.md b/docs/user-guide/commands/argocd_repo_rm.md index 2c5891ddcabec..ca4fc7a0a1f0f 100644 --- a/docs/user-guide/commands/argocd_repo_rm.md +++ b/docs/user-guide/commands/argocd_repo_rm.md @@ -15,22 +15,38 @@ argocd repo rm REPO [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_repocreds.md b/docs/user-guide/commands/argocd_repocreds.md index d4e0d54387a4d..843b302761521 100644 --- a/docs/user-guide/commands/argocd_repocreds.md +++ b/docs/user-guide/commands/argocd_repocreds.md @@ -9,7 +9,23 @@ argocd repocreds [flags] ### Options ``` - -h, --help help for repocreds + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use + --context string The name of the kubeconfig context to use + -h, --help help for repocreds + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure + --kubeconfig string Path to a kube config. Only required if out-of-cluster + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### Options inherited from parent commands @@ -22,6 +38,7 @@ argocd repocreds [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_repocreds_add.md b/docs/user-guide/commands/argocd_repocreds_add.md index c4b6a5d623573..f33bb0ce7f6d0 100644 --- a/docs/user-guide/commands/argocd_repocreds_add.md +++ b/docs/user-guide/commands/argocd_repocreds_add.md @@ -32,34 +32,48 @@ argocd repocreds add REPOURL [flags] --github-app-installation-id int installation id of the GitHub Application --github-app-private-key-path string private key of the GitHub Application -h, --help help for add - --password string password to the repository --ssh-private-key-path string path to the private ssh key (e.g. ~/.ssh/id_rsa) --tls-client-cert-key-path string path to the TLS client cert's key path (must be PEM format) --tls-client-cert-path string path to the TLS client cert (must be PEM format) --type string type of the repository, "git" or "helm" (default "git") --upsert Override an existing repository with the same name even if the spec differs - --username string username to the repository ``` ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_repocreds_list.md b/docs/user-guide/commands/argocd_repocreds_list.md index e538dab9d6471..d090abbf7cda4 100644 --- a/docs/user-guide/commands/argocd_repocreds_list.md +++ b/docs/user-guide/commands/argocd_repocreds_list.md @@ -16,22 +16,38 @@ argocd repocreds list [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_repocreds_rm.md b/docs/user-guide/commands/argocd_repocreds_rm.md index f017bf33fcb8f..2c5fbd023086d 100644 --- a/docs/user-guide/commands/argocd_repocreds_rm.md +++ b/docs/user-guide/commands/argocd_repocreds_rm.md @@ -15,22 +15,38 @@ argocd repocreds rm CREDSURL [flags] ### Options inherited from parent commands ``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS --client-crt string Client certificate file --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --logformat string Set the logging format. One of: text|json (default "text") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding - --server string Argo CD server address + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### SEE ALSO diff --git a/docs/user-guide/commands/argocd_version.md b/docs/user-guide/commands/argocd_version.md index c8debc2f3100d..b3b921bb63f22 100644 --- a/docs/user-guide/commands/argocd_version.md +++ b/docs/user-guide/commands/argocd_version.md @@ -26,10 +26,26 @@ argocd version [flags] ### Options ``` - --client client version only (no server required) - -h, --help help for version - -o, --output string Output format. One of: json|yaml|wide|short (default "wide") - --short print just the version number + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. + --certificate-authority string Path to a cert file for the certificate authority + --client client version only (no server required) + --client-certificate string Path to a client certificate file for TLS + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use + --context string The name of the kubeconfig context to use + -h, --help help for version + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure + --kubeconfig string Path to a kube config. Only required if out-of-cluster + -n, --namespace string If present, the namespace scope for this CLI request + -o, --output string Output format. One of: json|yaml|wide|short (default "wide") + --password string Password for basic authentication to the API server + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --short print just the version number + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server ``` ### Options inherited from parent commands @@ -42,6 +58,7 @@ argocd version [flags] --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/hack/update-manifests.sh b/hack/update-manifests.sh index 4e53fbd242448..22bf3c3a78be0 100755 --- a/hack/update-manifests.sh +++ b/hack/update-manifests.sh @@ -44,3 +44,5 @@ $KUSTOMIZE build "${SRCROOT}/manifests/ha/cluster-install" >> "${SRCROOT}/manife echo "${AUTOGENMSG}" > "${SRCROOT}/manifests/ha/namespace-install.yaml" $KUSTOMIZE build "${SRCROOT}/manifests/ha/namespace-install" >> "${SRCROOT}/manifests/ha/namespace-install.yaml" +echo "${AUTOGENMSG}" > "${SRCROOT}/manifests/headless-install.yaml" +$KUSTOMIZE build "${SRCROOT}/manifests/headless-install" >> "${SRCROOT}/manifests/headless-install.yaml" \ No newline at end of file diff --git a/manifests/base/server/argocd-server-deployment.yaml b/manifests/base/server/argocd-server-deployment.yaml index b02dc1bd25123..de3346c0fa438 100644 --- a/manifests/base/server/argocd-server-deployment.yaml +++ b/manifests/base/server/argocd-server-deployment.yaml @@ -20,10 +20,7 @@ spec: - name: argocd-server image: quay.io/argoproj/argocd:latest imagePullPolicy: Always - command: - - argocd-server - - --staticassets - - /shared/app + command: [argocd-server] env: - name: ARGOCD_SERVER_INSECURE valueFrom: diff --git a/manifests/ha/base/overlays/argocd-server-deployment.yaml b/manifests/ha/base/overlays/argocd-server-deployment.yaml index 6d57900335315..0b09752afa3a0 100644 --- a/manifests/ha/base/overlays/argocd-server-deployment.yaml +++ b/manifests/ha/base/overlays/argocd-server-deployment.yaml @@ -27,7 +27,5 @@ spec: value: '2' command: - argocd-server - - --staticassets - - /shared/app - --redis - "argocd-redis-ha-haproxy:6379" diff --git a/manifests/ha/install.yaml b/manifests/ha/install.yaml index fe91dc808e9d2..09a662e34aec1 100644 --- a/manifests/ha/install.yaml +++ b/manifests/ha/install.yaml @@ -3995,8 +3995,6 @@ spec: containers: - command: - argocd-server - - --staticassets - - /shared/app - --redis - argocd-redis-ha-haproxy:6379 env: diff --git a/manifests/ha/namespace-install.yaml b/manifests/ha/namespace-install.yaml index a61ab34a83861..f9eeeafe4a945 100644 --- a/manifests/ha/namespace-install.yaml +++ b/manifests/ha/namespace-install.yaml @@ -1382,8 +1382,6 @@ spec: containers: - command: - argocd-server - - --staticassets - - /shared/app - --redis - argocd-redis-ha-haproxy:6379 env: diff --git a/manifests/headless-install.yaml b/manifests/headless-install.yaml new file mode 100644 index 0000000000000..38f6b032067eb --- /dev/null +++ b/manifests/headless-install.yaml @@ -0,0 +1,679 @@ +# This is an auto-generated file. DO NOT EDIT +apiVersion: v1 +kind: ServiceAccount +metadata: + labels: + app.kubernetes.io/component: application-controller + app.kubernetes.io/name: argocd-application-controller + app.kubernetes.io/part-of: argocd + name: argocd-application-controller +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + labels: + app.kubernetes.io/component: redis + app.kubernetes.io/name: argocd-redis + app.kubernetes.io/part-of: argocd + name: argocd-redis +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + labels: + app.kubernetes.io/component: application-controller + app.kubernetes.io/name: argocd-application-controller + app.kubernetes.io/part-of: argocd + name: argocd-application-controller +rules: +- apiGroups: + - "" + resources: + - secrets + - configmaps + verbs: + - get + - list + - watch +- apiGroups: + - argoproj.io + resources: + - applications + - appprojects + verbs: + - create + - get + - list + - watch + - update + - patch + - delete +- apiGroups: + - "" + resources: + - events + verbs: + - create + - list +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + labels: + app.kubernetes.io/component: application-controller + app.kubernetes.io/name: argocd-application-controller + app.kubernetes.io/part-of: argocd + name: argocd-application-controller +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: argocd-application-controller +subjects: +- kind: ServiceAccount + name: argocd-application-controller +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + labels: + app.kubernetes.io/component: redis + app.kubernetes.io/name: argocd-redis + app.kubernetes.io/part-of: argocd + name: argocd-redis +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: argocd-redis +subjects: +- kind: ServiceAccount + name: argocd-redis +--- +apiVersion: v1 +kind: ConfigMap +metadata: + labels: + app.kubernetes.io/name: argocd-cm + app.kubernetes.io/part-of: argocd + name: argocd-cm +--- +apiVersion: v1 +kind: ConfigMap +metadata: + labels: + app.kubernetes.io/name: argocd-cmd-params-cm + app.kubernetes.io/part-of: argocd + name: argocd-cmd-params-cm +--- +apiVersion: v1 +kind: ConfigMap +metadata: + labels: + app.kubernetes.io/name: argocd-gpg-keys-cm + app.kubernetes.io/part-of: argocd + name: argocd-gpg-keys-cm +--- +apiVersion: v1 +kind: ConfigMap +metadata: + labels: + app.kubernetes.io/name: argocd-rbac-cm + app.kubernetes.io/part-of: argocd + name: argocd-rbac-cm +--- +apiVersion: v1 +data: + ssh_known_hosts: | + bitbucket.org ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAubiN81eDcafrgMeLzaFPsw2kNvEcqTKl/VqLat/MaB33pZy0y3rJZtnqwR2qOOvbwKZYKiEO1O6VqNEBxKvJJelCq0dTXWT5pbO2gDXC6h6QDXCaHo6pOHGPUy+YBaGQRGuSusMEASYiWunYN0vCAI8QaXnWMXNMdFP3jHAJH0eDsoiGnLPBlBp4TNm6rYI74nMzgz3B9IikW4WVK+dc8KZJZWYjAuORU3jc1c/NPskD2ASinf8v3xnfXeukU0sJ5N6m5E8VLjObPEO+mN2t/FZTMZLiFqPWc/ALSqnMnnhwrNi2rbfg/rd/IpL8Le3pSBne8+seeFVBoGqzHM9yXw== + github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ== + gitlab.com ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFSMqzJeV9rUzU4kWitGjeR4PWSa29SPqJ1fVkhtj3Hw9xjLVXVYrU9QlYWrOLXBpQ6KWjbjTDTdDkoohFzgbEY= + gitlab.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAfuCHKVTjquxvt6CM6tdG4SLp1Btn/nOeHHE5UOzRdf + gitlab.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCsj2bNKTBSpIYDEGk9KxsGh3mySTRgMtXL583qmBpzeQ+jqCMRgBqB98u3z++J1sKlXHWfM9dyhSevkMwSbhoR8XIq/U0tCNyokEi/ueaBMCvbcTHhO7FcwzY92WK4Yt0aGROY5qX2UKSeOvuP4D6TPqKF1onrSzH9bx9XUf2lEdWT/ia1NEKjunUqu1xOB/StKDHMoX4/OKyIzuS0q/T1zOATthvasJFoPrAjkohTyaDUz2LN5JoH839hViyEG82yB+MjcFV5MU3N1l1QL3cVUCh93xSaua1N85qivl+siMkPGbO5xR/En4iEY6K2XPASUEMaieWVNTRCtJ4S8H+9 + ssh.dev.azure.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7Hr1oTWqNqOlzGJOfGJ4NakVyIzf1rXYd4d7wo6jBlkLvCA4odBlL0mDUyZ0/QUfTTqeu+tm22gOsv+VrVTMk6vwRU75gY/y9ut5Mb3bR5BV58dKXyq9A9UeB5Cakehn5Zgm6x1mKoVyf+FFn26iYqXJRgzIZZcZ5V6hrE0Qg39kZm4az48o0AUbf6Sp4SLdvnuMa2sVNwHBboS7EJkm57XQPVU3/QpyNLHbWDdzwtrlS+ez30S3AdYhLKEOxAG8weOnyrtLJAUen9mTkol8oII1edf7mWWbWVf0nBmly21+nZcmCTISQBtdcyPaEno7fFQMDD26/s0lfKob4Kw8H + vs-ssh.visualstudio.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7Hr1oTWqNqOlzGJOfGJ4NakVyIzf1rXYd4d7wo6jBlkLvCA4odBlL0mDUyZ0/QUfTTqeu+tm22gOsv+VrVTMk6vwRU75gY/y9ut5Mb3bR5BV58dKXyq9A9UeB5Cakehn5Zgm6x1mKoVyf+FFn26iYqXJRgzIZZcZ5V6hrE0Qg39kZm4az48o0AUbf6Sp4SLdvnuMa2sVNwHBboS7EJkm57XQPVU3/QpyNLHbWDdzwtrlS+ez30S3AdYhLKEOxAG8weOnyrtLJAUen9mTkol8oII1edf7mWWbWVf0nBmly21+nZcmCTISQBtdcyPaEno7fFQMDD26/s0lfKob4Kw8H +kind: ConfigMap +metadata: + labels: + app.kubernetes.io/name: argocd-ssh-known-hosts-cm + app.kubernetes.io/part-of: argocd + name: argocd-ssh-known-hosts-cm +--- +apiVersion: v1 +data: null +kind: ConfigMap +metadata: + labels: + app.kubernetes.io/name: argocd-tls-certs-cm + app.kubernetes.io/part-of: argocd + name: argocd-tls-certs-cm +--- +apiVersion: v1 +kind: Secret +metadata: + labels: + app.kubernetes.io/name: argocd-secret + app.kubernetes.io/part-of: argocd + name: argocd-secret +type: Opaque +--- +apiVersion: v1 +kind: Service +metadata: + labels: + app.kubernetes.io/component: metrics + app.kubernetes.io/name: argocd-metrics + app.kubernetes.io/part-of: argocd + name: argocd-metrics +spec: + ports: + - name: metrics + port: 8082 + protocol: TCP + targetPort: 8082 + selector: + app.kubernetes.io/name: argocd-application-controller +--- +apiVersion: v1 +kind: Service +metadata: + labels: + app.kubernetes.io/component: redis + app.kubernetes.io/name: argocd-redis + app.kubernetes.io/part-of: argocd + name: argocd-redis +spec: + ports: + - name: tcp-redis + port: 6379 + targetPort: 6379 + selector: + app.kubernetes.io/name: argocd-redis +--- +apiVersion: v1 +kind: Service +metadata: + labels: + app.kubernetes.io/component: repo-server + app.kubernetes.io/name: argocd-repo-server + app.kubernetes.io/part-of: argocd + name: argocd-repo-server +spec: + ports: + - name: server + port: 8081 + protocol: TCP + targetPort: 8081 + - name: metrics + port: 8084 + protocol: TCP + targetPort: 8084 + selector: + app.kubernetes.io/name: argocd-repo-server +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app.kubernetes.io/component: redis + app.kubernetes.io/name: argocd-redis + app.kubernetes.io/part-of: argocd + name: argocd-redis +spec: + selector: + matchLabels: + app.kubernetes.io/name: argocd-redis + template: + metadata: + labels: + app.kubernetes.io/name: argocd-redis + spec: + affinity: + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - podAffinityTerm: + labelSelector: + matchLabels: + app.kubernetes.io/name: argocd-redis + topologyKey: kubernetes.io/hostname + weight: 100 + - podAffinityTerm: + labelSelector: + matchLabels: + app.kubernetes.io/part-of: argocd + topologyKey: kubernetes.io/hostname + weight: 5 + containers: + - args: + - --save + - "" + - --appendonly + - "no" + image: redis:6.2.4-alpine + imagePullPolicy: Always + name: redis + ports: + - containerPort: 6379 + securityContext: + runAsNonRoot: true + runAsUser: 999 + serviceAccountName: argocd-redis +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app.kubernetes.io/component: repo-server + app.kubernetes.io/name: argocd-repo-server + app.kubernetes.io/part-of: argocd + name: argocd-repo-server +spec: + selector: + matchLabels: + app.kubernetes.io/name: argocd-repo-server + template: + metadata: + labels: + app.kubernetes.io/name: argocd-repo-server + spec: + affinity: + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - podAffinityTerm: + labelSelector: + matchLabels: + app.kubernetes.io/name: argocd-repo-server + topologyKey: kubernetes.io/hostname + weight: 100 + - podAffinityTerm: + labelSelector: + matchLabels: + app.kubernetes.io/part-of: argocd + topologyKey: kubernetes.io/hostname + weight: 5 + automountServiceAccountToken: false + containers: + - command: + - uid_entrypoint.sh + - argocd-repo-server + - --redis + - argocd-redis:6379 + env: + - name: ARGOCD_RECONCILIATION_TIMEOUT + valueFrom: + configMapKeyRef: + key: timeout.reconciliation + name: argocd-cm + optional: true + - name: ARGOCD_REPO_SERVER_LOGFORMAT + valueFrom: + configMapKeyRef: + key: reposerver.log.format + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_REPO_SERVER_LOGLEVEL + valueFrom: + configMapKeyRef: + key: reposerver.log.level + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_REPO_SERVER_PARALLELISM_LIMIT + valueFrom: + configMapKeyRef: + key: reposerver.parallelism.limit + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_REPO_SERVER_DISABLE_TLS + valueFrom: + configMapKeyRef: + key: reposerver.disable.tls + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_TLS_MIN_VERSION + valueFrom: + configMapKeyRef: + key: reposerver.tls.minversion + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_TLS_MAX_VERSION + valueFrom: + configMapKeyRef: + key: reposerver.tls.maxversion + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_TLS_CIPHERS + valueFrom: + configMapKeyRef: + key: reposerver.tls.ciphers + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_REPO_CACHE_EXPIRATION + valueFrom: + configMapKeyRef: + key: reposerver.repo.cache.expiration + name: argocd-cmd-params-cm + optional: true + - name: REDIS_SERVER + valueFrom: + configMapKeyRef: + key: redis.server + name: argocd-cmd-params-cm + optional: true + - name: REDISDB + valueFrom: + configMapKeyRef: + key: redis.db + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_DEFAULT_CACHE_EXPIRATION + valueFrom: + configMapKeyRef: + key: reposerver.default.cache.expiration + name: argocd-cmd-params-cm + optional: true + image: quay.io/argoproj/argocd:latest + imagePullPolicy: Always + livenessProbe: + failureThreshold: 3 + httpGet: + path: /healthz?full=true + port: 8084 + initialDelaySeconds: 30 + periodSeconds: 5 + name: argocd-repo-server + ports: + - containerPort: 8081 + - containerPort: 8084 + readinessProbe: + httpGet: + path: /healthz + port: 8084 + initialDelaySeconds: 5 + periodSeconds: 10 + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - all + readOnlyRootFilesystem: true + runAsNonRoot: true + volumeMounts: + - mountPath: /app/config/ssh + name: ssh-known-hosts + - mountPath: /app/config/tls + name: tls-certs + - mountPath: /app/config/gpg/source + name: gpg-keys + - mountPath: /app/config/gpg/keys + name: gpg-keyring + - mountPath: /app/config/reposerver/tls + name: argocd-repo-server-tls + - mountPath: /tmp + name: tmp + volumes: + - configMap: + name: argocd-ssh-known-hosts-cm + name: ssh-known-hosts + - configMap: + name: argocd-tls-certs-cm + name: tls-certs + - configMap: + name: argocd-gpg-keys-cm + name: gpg-keys + - emptyDir: {} + name: gpg-keyring + - emptyDir: {} + name: tmp + - name: argocd-repo-server-tls + secret: + items: + - key: tls.crt + path: tls.crt + - key: tls.key + path: tls.key + - key: ca.crt + path: ca.crt + optional: true + secretName: argocd-repo-server-tls +--- +apiVersion: apps/v1 +kind: StatefulSet +metadata: + labels: + app.kubernetes.io/component: application-controller + app.kubernetes.io/name: argocd-application-controller + app.kubernetes.io/part-of: argocd + name: argocd-application-controller +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: argocd-application-controller + serviceName: argocd-application-controller + template: + metadata: + labels: + app.kubernetes.io/name: argocd-application-controller + spec: + affinity: + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - podAffinityTerm: + labelSelector: + matchLabels: + app.kubernetes.io/name: argocd-application-controller + topologyKey: kubernetes.io/hostname + weight: 100 + - podAffinityTerm: + labelSelector: + matchLabels: + app.kubernetes.io/part-of: argocd + topologyKey: kubernetes.io/hostname + weight: 5 + containers: + - command: + - argocd-application-controller + env: + - name: ARGOCD_RECONCILIATION_TIMEOUT + valueFrom: + configMapKeyRef: + key: timeout.reconciliation + name: argocd-cm + optional: true + - name: ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER + valueFrom: + configMapKeyRef: + key: repo.server + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER_TIMEOUT_SECONDS + valueFrom: + configMapKeyRef: + key: controller.repo.server.timeout.seconds + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATION_CONTROLLER_STATUS_PROCESSORS + valueFrom: + configMapKeyRef: + key: controller.status.processors + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATION_CONTROLLER_OPERATION_PROCESSORS + valueFrom: + configMapKeyRef: + key: controller.operation.processors + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATION_CONTROLLER_LOGFORMAT + valueFrom: + configMapKeyRef: + key: controller.log.format + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATION_CONTROLLER_LOGLEVEL + valueFrom: + configMapKeyRef: + key: controller.log.level + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATION_CONTROLLER_METRICS_CACHE_EXPIRATION + valueFrom: + configMapKeyRef: + key: controller.metrics.cache.expiration + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATION_CONTROLLER_SELF_HEAL_TIMEOUT_SECONDS + valueFrom: + configMapKeyRef: + key: controller.self.heal.timeout.seconds + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER_PLAINTEXT + valueFrom: + configMapKeyRef: + key: controller.repo.server.plaintext + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER_STRICT_TLS + valueFrom: + configMapKeyRef: + key: controller.repo.server.strict.tls + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_APP_STATE_CACHE_EXPIRATION + valueFrom: + configMapKeyRef: + key: controller.app.state.cache.expiration + name: argocd-cmd-params-cm + optional: true + - name: REDIS_SERVER + valueFrom: + configMapKeyRef: + key: redis.server + name: argocd-cmd-params-cm + optional: true + - name: REDISDB + valueFrom: + configMapKeyRef: + key: redis.db + name: argocd-cmd-params-cm + optional: true + - name: ARGOCD_DEFAULT_CACHE_EXPIRATION + valueFrom: + configMapKeyRef: + key: controller.default.cache.expiration + name: argocd-cmd-params-cm + optional: true + image: quay.io/argoproj/argocd:latest + imagePullPolicy: Always + livenessProbe: + httpGet: + path: /healthz + port: 8082 + initialDelaySeconds: 5 + periodSeconds: 10 + name: argocd-application-controller + ports: + - containerPort: 8082 + readinessProbe: + httpGet: + path: /healthz + port: 8082 + initialDelaySeconds: 5 + periodSeconds: 10 + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - all + readOnlyRootFilesystem: true + runAsNonRoot: true + volumeMounts: + - mountPath: /app/config/controller/tls + name: argocd-repo-server-tls + - mountPath: /home/argocd + name: argocd-home + workingDir: /home/argocd + serviceAccountName: argocd-application-controller + volumes: + - emptyDir: {} + name: argocd-home + - name: argocd-repo-server-tls + secret: + items: + - key: tls.crt + path: tls.crt + - key: tls.key + path: tls.key + - key: ca.crt + path: ca.crt + optional: true + secretName: argocd-repo-server-tls +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: argocd-application-controller-network-policy +spec: + ingress: + - from: + - namespaceSelector: {} + ports: + - port: 8082 + podSelector: + matchLabels: + app.kubernetes.io/name: argocd-application-controller + policyTypes: + - Ingress +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: argocd-redis-network-policy +spec: + ingress: + - from: + - podSelector: + matchLabels: + app.kubernetes.io/name: argocd-server + - podSelector: + matchLabels: + app.kubernetes.io/name: argocd-repo-server + - podSelector: + matchLabels: + app.kubernetes.io/name: argocd-application-controller + ports: + - port: 6379 + protocol: TCP + podSelector: + matchLabels: + app.kubernetes.io/name: argocd-redis + policyTypes: + - Ingress +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: argocd-repo-server-network-policy +spec: + ingress: + - from: + - podSelector: + matchLabels: + app.kubernetes.io/name: argocd-server + - podSelector: + matchLabels: + app.kubernetes.io/name: argocd-application-controller + - podSelector: + matchLabels: + app.kubernetes.io/name: argocd-notifications-controller + ports: + - port: 8081 + protocol: TCP + - from: + - namespaceSelector: {} + ports: + - port: 8084 + podSelector: + matchLabels: + app.kubernetes.io/name: argocd-repo-server + policyTypes: + - Ingress diff --git a/manifests/headless-install/kustomization.yaml b/manifests/headless-install/kustomization.yaml new file mode 100644 index 0000000000000..660c2144c8146 --- /dev/null +++ b/manifests/headless-install/kustomization.yaml @@ -0,0 +1,8 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: +- ../base/config +- ../base/application-controller +- ../base/repo-server +- ../base/redis \ No newline at end of file diff --git a/manifests/install.yaml b/manifests/install.yaml index 496237a5f38ff..182f9fba16fce 100644 --- a/manifests/install.yaml +++ b/manifests/install.yaml @@ -3324,8 +3324,6 @@ spec: containers: - command: - argocd-server - - --staticassets - - /shared/app env: - name: ARGOCD_SERVER_INSECURE valueFrom: diff --git a/manifests/namespace-install.yaml b/manifests/namespace-install.yaml index 3b4741b1a916e..6ce8b71695a74 100644 --- a/manifests/namespace-install.yaml +++ b/manifests/namespace-install.yaml @@ -711,8 +711,6 @@ spec: containers: - command: - argocd-server - - --staticassets - - /shared/app env: - name: ARGOCD_SERVER_INSECURE valueFrom: diff --git a/mkdocs.yml b/mkdocs.yml index d2d5d1f0bb754..33123dfa1dd34 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -31,6 +31,7 @@ nav: - Operator Manual: - operator-manual/index.md - operator-manual/architecture.md + - operator-manual/installation.md - operator-manual/declarative-setup.md - operator-manual/ingress.md - User Management: diff --git a/pkg/apiclient/apiclient.go b/pkg/apiclient/apiclient.go index 7ad1feb77b9ce..607a9f48971d6 100644 --- a/pkg/apiclient/apiclient.go +++ b/pkg/apiclient/apiclient.go @@ -113,6 +113,7 @@ type ClientOptions struct { UserAgent string GRPCWeb bool GRPCWebRootPath string + Headless bool PortForward bool PortForwardNamespace string Headers []string @@ -201,7 +202,7 @@ func NewClient(opts *ClientOptions) (Client, error) { if opts.KubeOverrides == nil { opts.KubeOverrides = &clientcmd.ConfigOverrides{} } - port, err := kube.PortForward("app.kubernetes.io/name=argocd-server", 8080, opts.PortForwardNamespace, opts.KubeOverrides) + port, err := kube.PortForward(8080, opts.PortForwardNamespace, opts.KubeOverrides, "app.kubernetes.io/name=argocd-server") if err != nil { return nil, err } @@ -278,10 +279,11 @@ func NewClient(opts *ClientOptions) (Client, error) { if !c.GRPCWeb { //test if we need to set it to true //if a call to grpc failed, then try again with GRPCWeb - conn, versionIf := c.NewVersionClientOrDie() - defer argoio.Close(conn) - - _, err := versionIf.Version(context.Background(), &empty.Empty{}) + conn, versionIf, err := c.NewVersionClient() + if err == nil { + defer argoio.Close(conn) + _, err = versionIf.Version(context.Background(), &empty.Empty{}) + } if err != nil { c.GRPCWeb = true conn, versionIf := c.NewVersionClientOrDie() diff --git a/server/metrics/metrics.go b/server/metrics/metrics.go index e823555674238..0a940a318a78a 100644 --- a/server/metrics/metrics.go +++ b/server/metrics/metrics.go @@ -35,7 +35,7 @@ var ( ) // NewMetricsServer returns a new prometheus server which collects api server metrics -func NewMetricsServer(port int) *MetricsServer { +func NewMetricsServer(host string, port int) *MetricsServer { mux := http.NewServeMux() registry := prometheus.NewRegistry() mux.Handle("/metrics", promhttp.HandlerFor(prometheus.Gatherers{ @@ -48,7 +48,7 @@ func NewMetricsServer(port int) *MetricsServer { return &MetricsServer{ Server: &http.Server{ - Addr: fmt.Sprintf("0.0.0.0:%d", port), + Addr: fmt.Sprintf("%s:%d", host, port), Handler: mux, }, redisRequestCounter: redisRequestCounter, diff --git a/server/server.go b/server/server.go index db2a263e8bf19..01f5ae4bdb5f7 100644 --- a/server/server.go +++ b/server/server.go @@ -4,17 +4,18 @@ import ( "context" "crypto/tls" "fmt" - "io/ioutil" + goio "io" + "io/fs" "math" "net" "net/http" "net/url" "os" "os/exec" - "path" "path/filepath" "regexp" "strings" + gosync "sync" "time" // nolint:staticcheck @@ -82,6 +83,7 @@ import ( "github.com/argoproj/argo-cd/v2/server/session" "github.com/argoproj/argo-cd/v2/server/settings" "github.com/argoproj/argo-cd/v2/server/version" + "github.com/argoproj/argo-cd/v2/ui" "github.com/argoproj/argo-cd/v2/util/assets" cacheutil "github.com/argoproj/argo-cd/v2/util/cache" "github.com/argoproj/argo-cd/v2/util/db" @@ -132,6 +134,7 @@ var ( maxConcurrentLoginRequestsCount = 50 replicasCount = 1 enableGRPCTimeHistogram = true + staticAssets = http.FS(&subDirFs{dir: "dist/app", fs: ui.Embedded}) ) func init() { @@ -161,6 +164,9 @@ type ArgoCDServer struct { // stopCh is the channel which when closed, will shutdown the Argo CD server stopCh chan struct{} userStateStorage util_session.UserStateStorage + indexDataInit gosync.Once + indexData []byte + indexDataErr error } type ArgoCDServerOpts struct { @@ -171,7 +177,6 @@ type ArgoCDServerOpts struct { MetricsPort int Namespace string DexServerAddr string - StaticAssetsDir string BaseHRef string RootPath string KubeClientset kubernetes.Interface @@ -181,6 +186,7 @@ type ArgoCDServerOpts struct { RedisClient *redis.Client TLSConfigCustomizer tlsutil.ConfigCustomizer XFrameOptions string + ListenHost string } // initializeDefaultProject creates the default project if it does not already exist @@ -290,7 +296,7 @@ func (a *ArgoCDServer) Run(ctx context.Context, port int, metricsPort int) { httpsS.Handler = &bug21955Workaround{handler: httpsS.Handler} } - metricsServ := metrics.NewMetricsServer(metricsPort) + metricsServ := metrics.NewMetricsServer(a.ListenHost, metricsPort) if a.RedisClient != nil { cacheutil.CollectMetrics(a.RedisClient, metricsServ) } @@ -299,7 +305,7 @@ func (a *ArgoCDServer) Run(ctx context.Context, port int, metricsPort int) { var conn net.Listener var realErr error _ = wait.ExponentialBackoff(backoff, func() (bool, error) { - conn, realErr = net.Listen("tcp", fmt.Sprintf(":%d", port)) + conn, realErr = net.Listen("tcp", fmt.Sprintf("%s:%d", a.ListenHost, port)) if realErr != nil { a.log.Warnf("failed listen: %v", realErr) return false, nil @@ -363,6 +369,10 @@ func (a *ArgoCDServer) Run(ctx context.Context, port int, metricsPort int) { errors.CheckError(conn.Close()) } +func (a *ArgoCDServer) Initialized() bool { + return a.projInformer.HasSynced() && a.appInformer.HasSynced() +} + // checkServeErr checks the error from a .Serve() call to decide if it was a graceful shutdown func (a *ArgoCDServer) checkServeErr(name string, err error) { if err != nil { @@ -741,13 +751,11 @@ func (a *ArgoCDServer) newHTTPServer(ctx context.Context, port int, grpcWebHandl mux.HandleFunc(extensionsApiPath, extHandler.ServeHTTP) // Serve UI static assets - if a.StaticAssetsDir != "" { - var assetsHandler http.Handler = http.HandlerFunc(a.newStaticAssetsHandler(a.StaticAssetsDir, a.BaseHRef)) - if a.ArgoCDServerOpts.EnableGZip { - assetsHandler = compressHandler(assetsHandler) - } - mux.Handle("/", assetsHandler) + var assetsHandler http.Handler = http.HandlerFunc(a.newStaticAssetsHandler()) + if a.ArgoCDServerOpts.EnableGZip { + assetsHandler = compressHandler(assetsHandler) } + mux.Handle("/", assetsHandler) return &httpS } @@ -817,55 +825,34 @@ func registerDownloadHandlers(mux *http.ServeMux, base string) { } } -func indexFilePath(srcPath string, baseHRef string) (string, error) { - if baseHRef == "/" { - return srcPath, nil - } - filePath := path.Join(os.TempDir(), fmt.Sprintf("index_%s.html", strings.Replace(strings.Trim(baseHRef, "/"), "/", "_", -1))) - f, err := os.OpenFile(filePath, os.O_RDWR|os.O_CREATE|os.O_EXCL, 0600) - if err != nil { - if os.IsExist(err) { - return filePath, nil +func (s *ArgoCDServer) getIndexData() ([]byte, error) { + s.indexDataInit.Do(func() { + data, err := ui.Embedded.ReadFile("dist/app/index.html") + if err != nil { + s.indexDataErr = err + return } - return "", err - } - defer io.Close(f) - - data, err := ioutil.ReadFile(srcPath) - if err != nil { - return "", err - } - if baseHRef != "/" { - data = []byte(baseHRefRegex.ReplaceAllString(string(data), fmt.Sprintf(``, strings.Trim(baseHRef, "/")))) - } - _, err = f.Write(data) - if err != nil { - return "", err - } + if s.BaseHRef == "/" || s.BaseHRef == "" { + s.indexData = data + } else { + s.indexData = []byte(baseHRefRegex.ReplaceAllString(string(data), fmt.Sprintf(``, strings.Trim(s.BaseHRef, "/")))) + } + }) - return filePath, nil + return s.indexData, s.indexDataErr } -func fileExists(dir, filename string) bool { - // We make sure that the resulting path is within the directory we intend to - // serve content from. path.Join() will normalize the path. - abs, err := filepath.Abs(dir) +func uiAssetExists(filename string) bool { + f, err := staticAssets.Open(strings.Trim(filename, "/")) if err != nil { return false } - fp := path.Join(abs, filename) - if !strings.HasPrefix(fp, abs) { - return false - } - info, err := os.Stat(fp) - if os.IsNotExist(err) { - return false - } - return !info.IsDir() + defer io.Close(f) + return true } // newStaticAssetsHandler returns an HTTP handler to serve UI static assets -func (server *ArgoCDServer) newStaticAssetsHandler(dir string, baseHRef string) func(http.ResponseWriter, *http.Request) { +func (server *ArgoCDServer) newStaticAssetsHandler() func(http.ResponseWriter, *http.Request) { return func(w http.ResponseWriter, r *http.Request) { acceptHTML := false for _, acceptType := range strings.Split(r.Header.Get("Accept"), ",") { @@ -875,7 +862,7 @@ func (server *ArgoCDServer) newStaticAssetsHandler(dir string, baseHRef string) } } - fileRequest := r.URL.Path != "/index.html" && fileExists(dir, r.URL.Path) + fileRequest := r.URL.Path != "/index.html" && uiAssetExists(r.URL.Path) // Set X-Frame-Options according to configuration if server.XFrameOptions != "" { @@ -888,18 +875,60 @@ func (server *ArgoCDServer) newStaticAssetsHandler(dir string, baseHRef string) for k, v := range noCacheHeaders { w.Header().Set(k, v) } - indexHtmlPath, err := indexFilePath(path.Join(dir, "index.html"), baseHRef) + data, err := server.getIndexData() if err != nil { - http.Error(w, fmt.Sprintf("Unable to access index.html: %v", err), http.StatusInternalServerError) + http.Error(w, err.Error(), http.StatusInternalServerError) return } - http.ServeFile(w, r, indexHtmlPath) + + modTime, err := time.Parse(common.GetVersion().BuildDate, time.RFC3339) + if err != nil { + modTime = time.Now() + } + http.ServeContent(w, r, "index.html", modTime, byteReadSeeker{data: data}) } else { - http.ServeFile(w, r, path.Join(dir, r.URL.Path)) + http.FileServer(staticAssets).ServeHTTP(w, r) } } } +type subDirFs struct { + dir string + fs fs.FS +} + +func (s subDirFs) Open(name string) (fs.File, error) { + return s.fs.Open(filepath.Join(s.dir, name)) +} + +type byteReadSeeker struct { + data []byte + offset int64 +} + +func (f byteReadSeeker) Read(b []byte) (int, error) { + if f.offset >= int64(len(f.data)) { + return 0, goio.EOF + } + n := copy(b, f.data[f.offset:]) + f.offset += int64(n) + return n, nil +} + +func (f byteReadSeeker) Seek(offset int64, whence int) (int64, error) { + switch whence { + case 1: + offset += f.offset + case 2: + offset += int64(len(f.data)) + } + if offset < 0 || offset > int64(len(f.data)) { + return 0, &fs.PathError{Op: "seek", Err: fs.ErrInvalid} + } + f.offset = offset + return offset, nil +} + type registerFunc func(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) error // mustRegisterGWHandler is a convenience function to register a gateway handler diff --git a/server/server_test.go b/server/server_test.go index e5253ebf04126..69a465d67c018 100644 --- a/server/server_test.go +++ b/server/server_test.go @@ -37,13 +37,12 @@ func fakeServer() (*ArgoCDServer, func()) { redis, closer := test.NewInMemoryRedis() argoCDOpts := ArgoCDServerOpts{ - Namespace: test.FakeArgoCDNamespace, - KubeClientset: kubeclientset, - AppClientset: appClientSet, - Insecure: true, - DisableAuth: true, - StaticAssetsDir: "../test/testdata/static", - XFrameOptions: "sameorigin", + Namespace: test.FakeArgoCDNamespace, + KubeClientset: kubeclientset, + AppClientset: appClientSet, + Insecure: true, + DisableAuth: true, + XFrameOptions: "sameorigin", Cache: servercache.NewCache( appstatecache.NewCache( cacheutil.NewCache(cacheutil.NewInMemoryCache(1*time.Hour)), @@ -546,24 +545,3 @@ func TestInitializeDefaultProject_ProjectAlreadyInitialized(t *testing.T) { assert.Equal(t, proj.Spec, existingDefaultProject.Spec) } - -func TestFileExists(t *testing.T) { - t.Run("File exists and path is within dir", func(t *testing.T) { - exists := fileExists(".", "server.go") - assert.True(t, exists) - exists = fileExists(".", "account/account.go") - assert.True(t, exists) - }) - t.Run("File does not exist", func(t *testing.T) { - exists := fileExists(".", "notexist.go") - assert.False(t, exists) - }) - t.Run("Dir does not exist", func(t *testing.T) { - exists := fileExists("/notexisting", "server.go") - assert.False(t, exists) - }) - t.Run("File outside of dir", func(t *testing.T) { - exists := fileExists(".", "../reposerver/server.go") - assert.False(t, exists) - }) -} diff --git a/test/container/Procfile b/test/container/Procfile index 689782d407175..04119ac5bd8dd 100644 --- a/test/container/Procfile +++ b/test/container/Procfile @@ -1,5 +1,5 @@ controller: sh -c "FORCE_LOG_COLORS=1 ARGOCD_FAKE_IN_CLUSTER=true ARGOCD_BINARY_NAME=argocd-application-controller go run ./cmd/main.go --loglevel debug --redis localhost:${ARGOCD_E2E_REDIS_PORT:-6379} --repo-server localhost:${ARGOCD_E2E_REPOSERVER_PORT:-8081}" -api-server: sh -c "FORCE_LOG_COLORS=1 ARGOCD_FAKE_IN_CLUSTER=true ARGOCD_BINARY_NAME=argocd-server go run ./cmd/main.go --loglevel debug --redis localhost:${ARGOCD_E2E_REDIS_PORT:-6379} --disable-auth=${ARGOCD_E2E_DISABLE_AUTH:-'true'} --insecure --dex-server http://localhost:${ARGOCD_E2E_DEX_PORT:-5556} --repo-server localhost:${ARGOCD_E2E_REPOSERVER_PORT:-8081} --port ${ARGOCD_E2E_APISERVER_PORT:-8080} --staticassets ui/dist/app" +api-server: sh -c "FORCE_LOG_COLORS=1 ARGOCD_FAKE_IN_CLUSTER=true ARGOCD_BINARY_NAME=argocd-server go run ./cmd/main.go --loglevel debug --redis localhost:${ARGOCD_E2E_REDIS_PORT:-6379} --disable-auth=${ARGOCD_E2E_DISABLE_AUTH:-'true'} --insecure --dex-server http://localhost:${ARGOCD_E2E_DEX_PORT:-5556} --repo-server localhost:${ARGOCD_E2E_REPOSERVER_PORT:-8081} --port ${ARGOCD_E2E_APISERVER_PORT:-8080}" dex: sh -c "test $ARGOCD_IN_CI = true && exit 0; ARGOCD_BINARY_NAME=argocd-dex go run github.com/argoproj/argo-cd/cmd gendexcfg -o `pwd`/dist/dex.yaml && docker run --rm -p ${ARGOCD_E2E_DEX_PORT:-5556}:${ARGOCD_E2E_DEX_PORT:-5556} -v `pwd`/dist/dex.yaml:/dex.yaml ghcr.io/dexidp/dex:v2.27.0 serve /dex.yaml" redis: sh -c "/usr/local/bin/redis-server --save "" --appendonly no --port ${ARGOCD_E2E_REDIS_PORT:-6379}" repo-server: sh -c "FORCE_LOG_COLORS=1 ARGOCD_FAKE_IN_CLUSTER=true ARGOCD_GNUPGHOME=${ARGOCD_GNUPGHOME:-/tmp/argocd-local/gpg/keys} ARGOCD_GPG_DATA_PATH=${ARGOCD_GPG_DATA_PATH:-/tmp/argocd-local/gpg/source} ARGOCD_BINARY_NAME=argocd-repo-server go run ./cmd/main.go --loglevel debug --port ${ARGOCD_E2E_REPOSERVER_PORT:-8081} --redis localhost:${ARGOCD_E2E_REDIS_PORT:-6379}" diff --git a/ui/.gitignore b/ui/.gitignore index 0209917db9fce..482d62bd43117 100644 --- a/ui/.gitignore +++ b/ui/.gitignore @@ -1,6 +1,5 @@ node_modules -dist .vscode junit.xml coverage -/yarn-error.log \ No newline at end of file +/yarn-error.log diff --git a/ui/dist/app/gitkeep b/ui/dist/app/gitkeep new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/ui/embed.go b/ui/embed.go new file mode 100644 index 0000000000000..665621a9c12fd --- /dev/null +++ b/ui/embed.go @@ -0,0 +1,7 @@ +package ui + +import "embed" + +// Embedded contains embedded UI resources +//go:embed dist/app +var Embedded embed.FS diff --git a/ui/package.json b/ui/package.json index c001d0fbc0374..0d923beb1321c 100644 --- a/ui/package.json +++ b/ui/package.json @@ -5,7 +5,7 @@ "scripts": { "start": "webpack-dev-server --config ./src/app/webpack.config.js --mode development", "docker": "./scripts/build_docker.sh", - "build": "rm -rf dist && webpack --config ./src/app/webpack.config.js", + "build": "find ./dist -type f -not -name gitkeep -delete && webpack --config ./src/app/webpack.config.js", "lint": "tslint -p ./src/app", "test": "jest" }, diff --git a/ui/src/app/webpack.config.js b/ui/src/app/webpack.config.js index 406ca4b1a7eb9..8c9963b4333af 100644 --- a/ui/src/app/webpack.config.js +++ b/ui/src/app/webpack.config.js @@ -25,7 +25,7 @@ const config = { path: __dirname + '/../../dist/app' }, - devtool: 'source-map', + devtool: isProd ? '' : 'source-map', resolve: { extensions: ['.ts', '.tsx', '.js', '.json'], diff --git a/util/cli/cli.go b/util/cli/cli.go index eb4b0cf5df5f4..b605e887ce8f8 100644 --- a/util/cli/cli.go +++ b/util/cli/cli.go @@ -14,6 +14,7 @@ import ( "strconv" "strings" + "github.com/argoproj/gitops-engine/pkg/utils/text" "github.com/google/shlex" log "github.com/sirupsen/logrus" "github.com/spf13/cobra" @@ -147,7 +148,7 @@ func SetLogFormat(logFormat string) { switch strings.ToLower(logFormat) { case utillog.JsonFormat: os.Setenv(common.EnvLogFormat, utillog.JsonFormat) - case utillog.TextFormat: + case utillog.TextFormat, "": os.Setenv(common.EnvLogFormat, utillog.TextFormat) default: log.Fatalf("Unknown log format '%s'", logFormat) @@ -158,7 +159,7 @@ func SetLogFormat(logFormat string) { // SetLogLevel parses and sets a logrus log level func SetLogLevel(logLevel string) { - level, err := log.ParseLevel(logLevel) + level, err := log.ParseLevel(text.FirstNonEmpty(logLevel, log.InfoLevel.String())) errors.CheckError(err) os.Setenv(common.EnvLogLevel, level.String()) } diff --git a/util/kube/portforwarder.go b/util/kube/portforwarder.go index 3148b6a5d6da2..c661cb6f850a7 100644 --- a/util/kube/portforwarder.go +++ b/util/kube/portforwarder.go @@ -4,12 +4,12 @@ import ( "bytes" "context" "fmt" - "log" "net" "net/http" "os" "github.com/pkg/errors" + corev1 "k8s.io/api/core/v1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" "k8s.io/client-go/tools/clientcmd" @@ -19,7 +19,7 @@ import ( "github.com/argoproj/argo-cd/v2/util/io" ) -func PortForward(podSelector string, targetPort int, namespace string, overrides *clientcmd.ConfigOverrides) (int, error) { +func PortForward(targetPort int, namespace string, overrides *clientcmd.ConfigOverrides, podSelectors ...string) (int, error) { loadingRules := clientcmd.NewDefaultClientConfigLoadingRules() loadingRules.DefaultClientConfig = &clientcmd.DefaultClientConfig clientConfig := clientcmd.NewInteractiveDeferredLoadingClientConfig(loadingRules, overrides, os.Stdin) @@ -40,21 +40,30 @@ func PortForward(podSelector string, targetPort int, namespace string, overrides return -1, err } - pods, err := clientSet.CoreV1().Pods(namespace).List(context.Background(), v1.ListOptions{ - LabelSelector: podSelector, - }) - if err != nil { - return -1, err + var pod *corev1.Pod + + for _, podSelector := range podSelectors { + pods, err := clientSet.CoreV1().Pods(namespace).List(context.Background(), v1.ListOptions{ + LabelSelector: podSelector, + }) + if err != nil { + return -1, err + } + + if len(pods.Items) > 0 { + pod = &pods.Items[0] + break + } } - if len(pods.Items) == 0 { - return -1, fmt.Errorf("cannot find %s pod", podSelector) + if pod == nil { + return -1, fmt.Errorf("cannot find pod with selector: %v", podSelectors) } url := clientSet.CoreV1().RESTClient().Post(). Resource("pods"). - Namespace(pods.Items[0].Namespace). - Name(pods.Items[0].Name). + Namespace(pod.Namespace). + Name(pod.Name). SubResource("portforward").URL() transport, upgrader, err := spdy.RoundTripperFor(config) @@ -64,6 +73,7 @@ func PortForward(podSelector string, targetPort int, namespace string, overrides dialer := spdy.NewDialer(upgrader, &http.Client{Transport: transport}, "POST", url) readyChan := make(chan struct{}, 1) + failedChan := make(chan error, 1) out := new(bytes.Buffer) errOut := new(bytes.Buffer) @@ -82,10 +92,13 @@ func PortForward(podSelector string, targetPort int, namespace string, overrides go func() { err = forwarder.ForwardPorts() if err != nil { - log.Fatal(err) + failedChan <- err } }() - for range readyChan { + select { + case err = <-failedChan: + return -1, err + case <-readyChan: } if len(errOut.String()) != 0 { return -1, fmt.Errorf(errOut.String()) diff --git a/util/localconfig/localconfig.go b/util/localconfig/localconfig.go index 7bb10286b1088..40b455828f02d 100644 --- a/util/localconfig/localconfig.go +++ b/util/localconfig/localconfig.go @@ -53,6 +53,8 @@ type Server struct { ClientCertificateKeyData string `json:"client-certificate-key-data,omitempty"` // PlainText indicates to connect with TLS disabled PlainText bool `json:"plain-text,omitempty"` + // Headless indicates to talk to Kubernetes API without using Argo CD API server + Headless bool `json:"headless,omitempty"` } // User contains user authentication information diff --git a/util/settings/settings.go b/util/settings/settings.go index 9cd11b7fd2c80..f95ff6321e95f 100644 --- a/util/settings/settings.go +++ b/util/settings/settings.go @@ -389,7 +389,7 @@ func (mgr *SettingsManager) updateSecret(callback func(*apiv1.Secret) error) err return err } - if !createSecret && reflect.DeepEqual(argoCDSecret, updatedSecret) { + if !createSecret && reflect.DeepEqual(argoCDSecret.Data, updatedSecret.Data) { return nil } @@ -422,10 +422,14 @@ func (mgr *SettingsManager) updateConfigMap(callback func(*apiv1.ConfigMap) erro if argoCDCM.Data == nil { argoCDCM.Data = make(map[string]string) } + beforeUpdate := argoCDCM.DeepCopy() err = callback(argoCDCM) if err != nil { return err } + if reflect.DeepEqual(beforeUpdate.Data, argoCDCM.Data) { + return nil + } if createCM { _, err = mgr.clientset.CoreV1().ConfigMaps(mgr.namespace).Create(context.Background(), argoCDCM, metav1.CreateOptions{}) @@ -1177,7 +1181,7 @@ func (mgr *SettingsManager) SaveSettings(settings *ArgoCDSettings) error { return err } - err = mgr.updateSecret(func(argoCDSecret *apiv1.Secret) error { + return mgr.updateSecret(func(argoCDSecret *apiv1.Secret) error { argoCDSecret.Data[settingServerSignatureKey] = settings.ServerSignature if settings.WebhookGitHubSecret != "" { argoCDSecret.Data[settingsWebhookGitHubSecretKey] = []byte(settings.WebhookGitHubSecret) @@ -1206,12 +1210,6 @@ func (mgr *SettingsManager) SaveSettings(settings *ArgoCDSettings) error { } return nil }) - - if err != nil { - return err - } - - return mgr.ResyncInformers() } // Save the SSH known host data into the corresponding ConfigMap From 5f5f0285e90bf3f62cffdf64aa26f5632065b8ea Mon Sep 17 00:00:00 2001 From: Florian Hopfensperger Date: Wed, 21 Jul 2021 18:37:45 +0200 Subject: [PATCH 55/93] fix: Static path for UI (#6769) Signed-off-by: Florian Hopfensperger --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 8a6f814e75c62..365914046a00e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -113,7 +113,7 @@ RUN go mod download # Perform the build COPY . . -COPY --from=argocd-ui ./src/dist/app ./src/dist/app +COPY --from=argocd-ui ./src/dist/app ./src/ui/dist/app RUN make argocd-all ARG BUILD_ALL_CLIS=true From 2497679dcb9f1f67180400b7c4e526660742bc0a Mon Sep 17 00:00:00 2001 From: Eldar Yusupov Date: Wed, 21 Jul 2021 20:07:24 +0300 Subject: [PATCH 56/93] feat: Add Redis SSL support. Fixes #4688 (#6742) * feat: Add Redis SSL support Signed-off-by: Eldar Yusupov --- docs/operator-manual/security.md | 1 + .../argocd-application-controller.md | 5 +++ .../server-commands/argocd-repo-server.md | 5 +++ .../server-commands/argocd-server.md | 5 +++ .../argocd-util_cluster_shards.md | 5 +++ .../argocd-util_cluster_stats.md | 5 +++ util/cache/cache.go | 44 ++++++++++++++++++- 7 files changed, 69 insertions(+), 1 deletion(-) diff --git a/docs/operator-manual/security.md b/docs/operator-manual/security.md index cdea22223e713..1ebc39b8ba712 100644 --- a/docs/operator-manual/security.md +++ b/docs/operator-manual/security.md @@ -37,6 +37,7 @@ permits access to the API request. All network communication is performed over TLS including service-to-service communication between the three components (argocd-server, argocd-repo-server, argocd-application-controller). The Argo CD API server can enforce the use of TLS 1.2 using the flag: `--tlsminversion 1.2`. +Communication with Redis is performed over plain HTTP by default. TLS can be setup with command line arguments. ## Sensitive Information diff --git a/docs/operator-manual/server-commands/argocd-application-controller.md b/docs/operator-manual/server-commands/argocd-application-controller.md index 02a4cab25deb3..6a21f76848175 100644 --- a/docs/operator-manual/server-commands/argocd-application-controller.md +++ b/docs/operator-manual/server-commands/argocd-application-controller.md @@ -36,6 +36,11 @@ argocd-application-controller [flags] --operation-processors int Number of application operation processors (default 10) --password string Password for basic authentication to the API server --redis string Redis server hostname and port (e.g. argocd-redis:6379). + --redis-ca-certificate string Path to Redis server CA certificate (e.g. /etc/certs/redis/ca.crt). If not specified, system trusted CAs will be used for server certificate validation. + --redis-client-certificate string Path to Redis client certificate (e.g. /etc/certs/redis/client.crt). + --redis-client-key string Path to Redis client key (e.g. /etc/certs/redis/client.crt). + --redis-insecure-skip-tls-verify Skip Redis server certificate validation. + --redis-use-tls Use TLS when connecting to Redis. --redisdb int Redis database. --repo-server string Repo server address. (default "argocd-repo-server:8081") --repo-server-plaintext Disable TLS on connections to repo server diff --git a/docs/operator-manual/server-commands/argocd-repo-server.md b/docs/operator-manual/server-commands/argocd-repo-server.md index 15b381d55a334..a72b89d46b5a4 100644 --- a/docs/operator-manual/server-commands/argocd-repo-server.md +++ b/docs/operator-manual/server-commands/argocd-repo-server.md @@ -22,6 +22,11 @@ argocd-repo-server [flags] --parallelismlimit int Limit on number of concurrent manifests generate requests. Any value less the 1 means no limit. --port int Listen on given port for incoming connections (default 8081) --redis string Redis server hostname and port (e.g. argocd-redis:6379). + --redis-ca-certificate string Path to Redis server CA certificate (e.g. /etc/certs/redis/ca.crt). If not specified, system trusted CAs will be used for server certificate validation. + --redis-client-certificate string Path to Redis client certificate (e.g. /etc/certs/redis/client.crt). + --redis-client-key string Path to Redis client key (e.g. /etc/certs/redis/client.crt). + --redis-insecure-skip-tls-verify Skip Redis server certificate validation. + --redis-use-tls Use TLS when connecting to Redis. --redisdb int Redis database. --repo-cache-expiration duration Cache expiration for repo state, incl. app lists, app details, manifest generation, revision meta-data (default 24h0m0s) --revision-cache-expiration duration Cache expiration for cached revision (default 3m0s) diff --git a/docs/operator-manual/server-commands/argocd-server.md b/docs/operator-manual/server-commands/argocd-server.md index ef7d70d1bf8e3..e39857919100d 100644 --- a/docs/operator-manual/server-commands/argocd-server.md +++ b/docs/operator-manual/server-commands/argocd-server.md @@ -41,6 +41,11 @@ argocd-server [flags] --password string Password for basic authentication to the API server --port int Listen on given port (default 8080) --redis string Redis server hostname and port (e.g. argocd-redis:6379). + --redis-ca-certificate string Path to Redis server CA certificate (e.g. /etc/certs/redis/ca.crt). If not specified, system trusted CAs will be used for server certificate validation. + --redis-client-certificate string Path to Redis client certificate (e.g. /etc/certs/redis/client.crt). + --redis-client-key string Path to Redis client key (e.g. /etc/certs/redis/client.crt). + --redis-insecure-skip-tls-verify Skip Redis server certificate validation. + --redis-use-tls Use TLS when connecting to Redis. --redisdb int Redis database. --repo-server string Repo server address (default "argocd-repo-server:8081") --repo-server-plaintext Use a plaintext client (non-TLS) to connect to repository server diff --git a/docs/operator-manual/server-commands/argocd-util_cluster_shards.md b/docs/operator-manual/server-commands/argocd-util_cluster_shards.md index ffe8e7c3bb292..193eb3f3729da 100644 --- a/docs/operator-manual/server-commands/argocd-util_cluster_shards.md +++ b/docs/operator-manual/server-commands/argocd-util_cluster_shards.md @@ -25,6 +25,11 @@ argocd-util cluster shards [flags] --password string Password for basic authentication to the API server --port-forward-redis Automatically port-forward ha proxy redis from current namespace? (default true) --redis string Redis server hostname and port (e.g. argocd-redis:6379). + --redis-ca-certificate string Path to Redis server CA certificate (e.g. /etc/certs/redis/ca.crt). If not specified, system trusted CAs will be used for server certificate validation. + --redis-client-certificate string Path to Redis client certificate (e.g. /etc/certs/redis/client.crt). + --redis-client-key string Path to Redis client key (e.g. /etc/certs/redis/client.crt). + --redis-insecure-skip-tls-verify Skip Redis server certificate validation. + --redis-use-tls Use TLS when connecting to Redis. --redisdb int Redis database. --replicas int Application controller replicas count. Inferred from number of running controller pods if not specified --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") diff --git a/docs/operator-manual/server-commands/argocd-util_cluster_stats.md b/docs/operator-manual/server-commands/argocd-util_cluster_stats.md index 2271a7576a420..69ea353e1af33 100644 --- a/docs/operator-manual/server-commands/argocd-util_cluster_stats.md +++ b/docs/operator-manual/server-commands/argocd-util_cluster_stats.md @@ -25,6 +25,11 @@ argocd-util cluster stats [flags] --password string Password for basic authentication to the API server --port-forward-redis Automatically port-forward ha proxy redis from current namespace? (default true) --redis string Redis server hostname and port (e.g. argocd-redis:6379). + --redis-ca-certificate string Path to Redis server CA certificate (e.g. /etc/certs/redis/ca.crt). If not specified, system trusted CAs will be used for server certificate validation. + --redis-client-certificate string Path to Redis client certificate (e.g. /etc/certs/redis/client.crt). + --redis-client-key string Path to Redis client key (e.g. /etc/certs/redis/client.crt). + --redis-insecure-skip-tls-verify Skip Redis server certificate validation. + --redis-use-tls Use TLS when connecting to Redis. --redisdb int Redis database. --replicas int Application controller replicas count. Inferred from number of running controller pods if not specified --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") diff --git a/util/cache/cache.go b/util/cache/cache.go index 510d6fbe79a4e..fa24ca7bfef05 100644 --- a/util/cache/cache.go +++ b/util/cache/cache.go @@ -7,10 +7,14 @@ import ( "os" "time" + "crypto/tls" + "crypto/x509" + "github.com/go-redis/redis/v8" "github.com/spf13/cobra" "github.com/argoproj/argo-cd/v2/common" + certutil "github.com/argoproj/argo-cd/v2/util/cert" "github.com/argoproj/argo-cd/v2/util/env" ) @@ -33,6 +37,11 @@ func AddCacheFlagsToCmd(cmd *cobra.Command, opts ...func(client *redis.Client)) sentinelAddresses := make([]string, 0) sentinelMaster := "" redisDB := 0 + redisCACerticate := "" + redisClientCertificate := "" + redisClientKey := "" + redisUseTLS := false + insecureRedis := false var defaultCacheExpiration time.Duration cmd.Flags().StringVar(&redisAddress, "redis", env.StringFromEnv("REDIS_SERVER", ""), "Redis server hostname and port (e.g. argocd-redis:6379). ") @@ -40,7 +49,38 @@ func AddCacheFlagsToCmd(cmd *cobra.Command, opts ...func(client *redis.Client)) cmd.Flags().StringArrayVar(&sentinelAddresses, "sentinel", []string{}, "Redis sentinel hostname and port (e.g. argocd-redis-ha-announce-0:6379). ") cmd.Flags().StringVar(&sentinelMaster, "sentinelmaster", "master", "Redis sentinel master group name.") cmd.Flags().DurationVar(&defaultCacheExpiration, "default-cache-expiration", env.ParseDurationFromEnv("ARGOCD_DEFAULT_CACHE_EXPIRATION", 24*time.Hour, 0, math.MaxInt32), "Cache expiration default") + cmd.Flags().BoolVar(&redisUseTLS, "redis-use-tls", false, "Use TLS when connecting to Redis. ") + cmd.Flags().StringVar(&redisClientCertificate, "redis-client-certificate", "", "Path to Redis client certificate (e.g. /etc/certs/redis/client.crt).") + cmd.Flags().StringVar(&redisClientKey, "redis-client-key", "", "Path to Redis client key (e.g. /etc/certs/redis/client.crt).") + cmd.Flags().BoolVar(&insecureRedis, "redis-insecure-skip-tls-verify", false, "Skip Redis server certificate validation.") + cmd.Flags().StringVar(&redisCACerticate, "redis-ca-certificate", "", "Path to Redis server CA certificate (e.g. /etc/certs/redis/ca.crt). If not specified, system trusted CAs will be used for server certificate validation.") return func() (*Cache, error) { + var tlsConfig *tls.Config = nil + if redisUseTLS { + tlsConfig = &tls.Config{} + if redisClientCertificate != "" { + clientCert, err := tls.LoadX509KeyPair(redisClientCertificate, redisClientKey) + if err != nil { + return nil, err + } + tlsConfig.Certificates = []tls.Certificate{clientCert} + } + if insecureRedis { + tlsConfig.InsecureSkipVerify = true + } else if redisCACerticate != "" { + redisCA, err := certutil.ParseTLSCertificatesFromPath(redisCACerticate) + if err != nil { + return nil, err + } + tlsConfig.RootCAs = certutil.GetCertPoolFromPEMData(redisCA) + } else { + var err error + tlsConfig.RootCAs, err = x509.SystemCertPool() + if err != nil { + return nil, err + } + } + } password := os.Getenv(envRedisPassword) maxRetries := env.ParseNumFromEnv(envRedisRetryCount, defaultRedisRetryCount, 0, math.MaxInt32) if len(sentinelAddresses) > 0 { @@ -50,21 +90,23 @@ func AddCacheFlagsToCmd(cmd *cobra.Command, opts ...func(client *redis.Client)) DB: redisDB, Password: password, MaxRetries: maxRetries, + TLSConfig: tlsConfig, }) for i := range opts { opts[i](client) } return NewCache(NewRedisCache(client, defaultCacheExpiration)), nil } - if redisAddress == "" { redisAddress = common.DefaultRedisAddr } + client := redis.NewClient(&redis.Options{ Addr: redisAddress, Password: password, DB: redisDB, MaxRetries: maxRetries, + TLSConfig: tlsConfig, }) for i := range opts { opts[i](client) From ba221b9cee9b0b22bccf1813130ca9749da1c265 Mon Sep 17 00:00:00 2001 From: Avishai Carmel Date: Wed, 21 Jul 2021 23:16:41 +0300 Subject: [PATCH 57/93] Users: add Lightricks (#6772) --- USERS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/USERS.md b/USERS.md index 36041f5ba9cdf..a439f7c19909e 100644 --- a/USERS.md +++ b/USERS.md @@ -149,3 +149,4 @@ Currently, the following organizations are **officially** using Argo CD: 1. [Boticario](https://www.boticario.com.br/) 1. [Beleza Na Web](https://www.belezanaweb.com.br/) 1. [MariaDB](https://mariadb.com) +1. [Lightricks](https://www.lightricks.com/) From 082e66bd5b74a5c2e4ea654d0634c06efda8d4a9 Mon Sep 17 00:00:00 2001 From: Alexander Matyushentsev Date: Wed, 21 Jul 2021 13:34:14 -0700 Subject: [PATCH 58/93] chore: fix broken dev image build (#6775) Signed-off-by: Alexander Matyushentsev --- .github/workflows/ci-build.yaml | 2 +- Dockerfile.dev | 2 -- Makefile | 2 ++ 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci-build.yaml b/.github/workflows/ci-build.yaml index a72f453ba513c..6a9745c5891db 100644 --- a/.github/workflows/ci-build.yaml +++ b/.github/workflows/ci-build.yaml @@ -74,7 +74,7 @@ jobs: uses: golangci/golangci-lint-action@v2 with: version: v1.38.0 - args: --timeout 5m --exclude SA5011 + args: --timeout 10m --exclude SA5011 test-go: name: Run unit tests for Go packages diff --git a/Dockerfile.dev b/Dockerfile.dev index df7cc471d4670..79d04dc4c7336 100644 --- a/Dockerfile.dev +++ b/Dockerfile.dev @@ -15,5 +15,3 @@ RUN ln -s /usr/local/bin/argocd /usr/local/bin/argocd-util RUN ln -s /usr/local/bin/argocd-darwin-amd64 /usr/local/bin/argocd-util-darwin-amd64 RUN ln -s /usr/local/bin/argocd-windows-amd64.exe /usr/local/bin/argocd-util-windows-amd64.exe USER 999 - -COPY --from=argocd-ui ./src/dist/app /shared/app diff --git a/Makefile b/Makefile index a86fd5ac6017e..90dcd8ddc0c1f 100644 --- a/Makefile +++ b/Makefile @@ -259,6 +259,8 @@ IMAGE_TAG="dev-$(shell git describe --always --dirty)" image: docker build -t argocd-base --target argocd-base . docker build -t argocd-ui --target argocd-ui . + find ./ui/dist -type f -not -name gitkeep -delete + docker run -v ${CURRENT_DIR}/ui/dist/app:/tmp/app --rm -it argocd-ui sh -c 'cp -r ./dist/app/* /tmp/app/' CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -v -ldflags '${LDFLAGS}' -o ${DIST_DIR}/argocd ./cmd CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -v -ldflags '${LDFLAGS}' -o ${DIST_DIR}/argocd-darwin-amd64 ./cmd CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -v -ldflags '${LDFLAGS}' -o ${DIST_DIR}/argocd-windows-amd64.exe ./cmd From e058bc422897d38a07e7390d57ecb6729b443508 Mon Sep 17 00:00:00 2001 From: Alexander Matyushentsev Date: Wed, 21 Jul 2021 13:49:10 -0700 Subject: [PATCH 59/93] chore: remove '-i' parameter from docker run command (#6776) Signed-off-by: Alexander Matyushentsev --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 90dcd8ddc0c1f..6f29b761006a4 100644 --- a/Makefile +++ b/Makefile @@ -260,7 +260,7 @@ image: docker build -t argocd-base --target argocd-base . docker build -t argocd-ui --target argocd-ui . find ./ui/dist -type f -not -name gitkeep -delete - docker run -v ${CURRENT_DIR}/ui/dist/app:/tmp/app --rm -it argocd-ui sh -c 'cp -r ./dist/app/* /tmp/app/' + docker run -v ${CURRENT_DIR}/ui/dist/app:/tmp/app --rm -t argocd-ui sh -c 'cp -r ./dist/app/* /tmp/app/' CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -v -ldflags '${LDFLAGS}' -o ${DIST_DIR}/argocd ./cmd CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -v -ldflags '${LDFLAGS}' -o ${DIST_DIR}/argocd-darwin-amd64 ./cmd CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -v -ldflags '${LDFLAGS}' -o ${DIST_DIR}/argocd-windows-amd64.exe ./cmd From 6262a8c750b27b254c330f9882ff26af7aac672c Mon Sep 17 00:00:00 2001 From: Alexander Matyushentsev Date: Wed, 21 Jul 2021 17:00:49 -0700 Subject: [PATCH 60/93] feat: merge argocd-util into 'argocd admin' subcommand (#6773) Signed-off-by: Alexander Matyushentsev --- .github/workflows/release.yaml | 34 ------- .gitignore | 3 +- Dockerfile | 1 - Dockerfile.dev | 3 - Makefile | 4 - .../commands/admin/admin.go} | 16 ++-- .../commands => argocd/commands/admin}/app.go | 14 +-- .../commands/admin}/app_test.go | 2 +- .../commands/admin}/backup.go | 2 +- .../commands/admin}/cluster.go | 4 +- .../commands/{admin.go => admin/dashboard.go} | 14 +-- .../commands/admin}/project.go | 6 +- .../commands/admin}/project_allowlist.go | 2 +- .../commands/admin}/project_allowlist_test.go | 2 +- .../commands/admin}/project_test.go | 2 +- .../commands/admin}/repo.go | 16 ++-- .../commands/admin}/secrets_redactor_test.go | 2 +- .../commands/admin}/settings.go | 14 +-- .../commands/admin}/settings_rbac.go | 10 +- .../commands/admin}/settings_rbac_test.go | 2 +- .../commands/admin}/settings_test.go | 2 +- .../admin}/testdata/rbac/argocd-rbac-cm.yaml | 0 .../commands/admin}/testdata/rbac/policy.csv | 0 .../admin}/testdata/test_clusterrole.yaml | 0 cmd/argocd/commands/root.go | 3 +- cmd/main.go | 19 +--- docs/faq.md | 2 +- docs/operator-manual/disaster_recovery.md | 8 +- docs/operator-manual/rbac.md | 30 +++--- .../server-commands/argocd-util.md | 31 ------ .../server-commands/argocd-util_app.md | 21 ----- .../argocd-util_app_diff-reconcile-results.md | 18 ---- .../server-commands/argocd-util_apps.md | 20 ---- ...argocd-util_apps_diff-reconcile-results.md | 18 ---- .../argocd-util_apps_get-reconcile-results.md | 39 -------- .../server-commands/argocd-util_cluster.md | 23 ----- .../argocd-util_cluster_kubeconfig.md | 35 ------- .../argocd-util_cluster_namespaces.md | 37 -------- ...ster_namespaces_disable-namespaced-mode.md | 41 -------- ...uster_namespaces_enable-namespaced-mode.md | 43 --------- .../server-commands/argocd-util_config.md | 22 ----- .../server-commands/argocd-util_config_app.md | 89 ------------------ .../argocd-util_config_cluster.md | 32 ------- .../argocd-util_config_proj.md | 25 ----- .../argocd-util_config_repo.md | 61 ------------ .../server-commands/argocd-util_dashboard.md | 37 -------- .../server-commands/argocd-util_gendexcfg.md | 36 ------- .../server-commands/argocd-util_kubeconfig.md | 35 ------- .../server-commands/argocd-util_proj.md | 21 ----- .../argocd-util_proj_generate-spec.md | 30 ------ .../argocd-util_proj_update-role-policy.md | 51 ---------- .../server-commands/argocd-util_projects.md | 20 ---- ...rgocd-util_projects_generate-allow-list.md | 36 ------- .../server-commands/argocd-util_repo.md | 19 ---- .../argocd-util_repo_generate-spec.md | 62 ------------ .../server-commands/argocd-util_rundex.md | 35 ------- .../server-commands/argocd-util_settings.md | 41 -------- .../argocd-util_settings_rbac.md | 45 --------- .../argocd-util_settings_rbac_can.md | 78 --------------- .../argocd-util_settings_rbac_validate.md | 51 ---------- ...argocd-util_settings_resource-overrides.md | 47 ---------- ...util_settings_resource-overrides_health.md | 54 ----------- ...s_resource-overrides_ignore-differences.md | 54 ----------- ...ettings_resource-overrides_list-actions.md | 54 ----------- ..._settings_resource-overrides_run-action.md | 54 ----------- .../argocd-util_settings_validate.md | 59 ------------ .../server-commands/argocd-util_version.md | 19 ---- docs/operator-manual/troubleshooting.md | 48 +++------- docs/operator-manual/upgrading/2.0-2.1.md | 6 +- docs/user-guide/commands/argocd_admin.md | 7 ++ docs/user-guide/commands/argocd_admin_app.md | 43 +++++++++ ...argocd_admin_app_diff-reconcile-results.md | 40 ++++++++ .../argocd_admin_app_generate-spec.md} | 40 ++++++-- ...argocd_admin_app_get-reconcile-results.md} | 29 +++++- .../commands/argocd_admin_cluster.md | 45 +++++++++ .../argocd_admin_cluster_generate-spec.md} | 28 +++++- .../argocd_admin_cluster_kubeconfig.md | 56 +++++++++++ .../argocd_admin_cluster_namespaces.md | 58 ++++++++++++ ...ster_namespaces_disable-namespaced-mode.md | 57 +++++++++++ ...uster_namespaces_enable-namespaced-mode.md | 59 ++++++++++++ .../commands/argocd_admin_cluster_shards.md} | 29 +++++- .../commands/argocd_admin_cluster_stats.md} | 29 +++++- .../commands/argocd_admin_export.md} | 29 +++++- .../commands/argocd_admin_import.md} | 29 +++++- docs/user-guide/commands/argocd_admin_proj.md | 43 +++++++++ .../argocd_admin_proj_generate-allow-list.md} | 29 +++++- .../argocd_admin_proj_generate-spec.md | 52 ++++++++++ .../argocd_admin_proj_update-role-policy.md} | 33 +++++-- docs/user-guide/commands/argocd_admin_repo.md | 41 ++++++++ .../argocd_admin_repo_generate-spec.md | 84 +++++++++++++++++ .../commands/argocd_admin_settings.md | 62 ++++++++++++ .../commands/argocd_admin_settings_rbac.md | 61 ++++++++++++ .../argocd_admin_settings_rbac_can.md | 94 +++++++++++++++++++ .../argocd_admin_settings_rbac_validate.md | 67 +++++++++++++ ...rgocd_admin_settings_resource-overrides.md | 63 +++++++++++++ ...dmin_settings_resource-overrides_health.md | 70 ++++++++++++++ ...s_resource-overrides_ignore-differences.md | 70 ++++++++++++++ ...ettings_resource-overrides_list-actions.md | 70 ++++++++++++++ ..._settings_resource-overrides_run-action.md | 70 ++++++++++++++ .../argocd_admin_settings_validate.md | 75 +++++++++++++++ mkdocs.yml | 1 - tools/cmd-docs/main.go | 5 - 102 files changed, 1611 insertions(+), 1721 deletions(-) rename cmd/{argocd-util/commands/argocd_util.go => argocd/commands/admin/admin.go} (95%) rename cmd/{argocd-util/commands => argocd/commands/admin}/app.go (90%) rename cmd/{argocd-util/commands => argocd/commands/admin}/app_test.go (99%) rename cmd/{argocd-util/commands => argocd/commands/admin}/backup.go (99%) rename cmd/{argocd-util/commands => argocd/commands/admin}/cluster.go (99%) rename cmd/argocd/commands/{admin.go => admin/dashboard.go} (68%) rename cmd/{argocd-util/commands => argocd/commands/admin}/project.go (96%) rename cmd/{argocd-util/commands => argocd/commands/admin}/project_allowlist.go (99%) rename cmd/{argocd-util/commands => argocd/commands/admin}/project_allowlist_test.go (99%) rename cmd/{argocd-util/commands => argocd/commands/admin}/project_test.go (99%) rename cmd/{argocd-util/commands => argocd/commands/admin}/repo.go (85%) rename cmd/{argocd-util/commands => argocd/commands/admin}/secrets_redactor_test.go (99%) rename cmd/{argocd-util/commands => argocd/commands/admin}/settings.go (96%) rename cmd/{argocd-util/commands => argocd/commands/admin}/settings_rbac.go (96%) rename cmd/{argocd-util/commands => argocd/commands/admin}/settings_rbac_test.go (99%) rename cmd/{argocd-util/commands => argocd/commands/admin}/settings_test.go (99%) rename cmd/{argocd-util/commands => argocd/commands/admin}/testdata/rbac/argocd-rbac-cm.yaml (100%) rename cmd/{argocd-util/commands => argocd/commands/admin}/testdata/rbac/policy.csv (100%) rename cmd/{argocd-util/commands => argocd/commands/admin}/testdata/test_clusterrole.yaml (100%) delete mode 100644 docs/operator-manual/server-commands/argocd-util.md delete mode 100644 docs/operator-manual/server-commands/argocd-util_app.md delete mode 100644 docs/operator-manual/server-commands/argocd-util_app_diff-reconcile-results.md delete mode 100644 docs/operator-manual/server-commands/argocd-util_apps.md delete mode 100644 docs/operator-manual/server-commands/argocd-util_apps_diff-reconcile-results.md delete mode 100644 docs/operator-manual/server-commands/argocd-util_apps_get-reconcile-results.md delete mode 100644 docs/operator-manual/server-commands/argocd-util_cluster.md delete mode 100644 docs/operator-manual/server-commands/argocd-util_cluster_kubeconfig.md delete mode 100644 docs/operator-manual/server-commands/argocd-util_cluster_namespaces.md delete mode 100644 docs/operator-manual/server-commands/argocd-util_cluster_namespaces_disable-namespaced-mode.md delete mode 100644 docs/operator-manual/server-commands/argocd-util_cluster_namespaces_enable-namespaced-mode.md delete mode 100644 docs/operator-manual/server-commands/argocd-util_config.md delete mode 100644 docs/operator-manual/server-commands/argocd-util_config_app.md delete mode 100644 docs/operator-manual/server-commands/argocd-util_config_cluster.md delete mode 100644 docs/operator-manual/server-commands/argocd-util_config_proj.md delete mode 100644 docs/operator-manual/server-commands/argocd-util_config_repo.md delete mode 100644 docs/operator-manual/server-commands/argocd-util_dashboard.md delete mode 100644 docs/operator-manual/server-commands/argocd-util_gendexcfg.md delete mode 100644 docs/operator-manual/server-commands/argocd-util_kubeconfig.md delete mode 100644 docs/operator-manual/server-commands/argocd-util_proj.md delete mode 100644 docs/operator-manual/server-commands/argocd-util_proj_generate-spec.md delete mode 100644 docs/operator-manual/server-commands/argocd-util_proj_update-role-policy.md delete mode 100644 docs/operator-manual/server-commands/argocd-util_projects.md delete mode 100644 docs/operator-manual/server-commands/argocd-util_projects_generate-allow-list.md delete mode 100644 docs/operator-manual/server-commands/argocd-util_repo.md delete mode 100644 docs/operator-manual/server-commands/argocd-util_repo_generate-spec.md delete mode 100644 docs/operator-manual/server-commands/argocd-util_rundex.md delete mode 100644 docs/operator-manual/server-commands/argocd-util_settings.md delete mode 100644 docs/operator-manual/server-commands/argocd-util_settings_rbac.md delete mode 100644 docs/operator-manual/server-commands/argocd-util_settings_rbac_can.md delete mode 100644 docs/operator-manual/server-commands/argocd-util_settings_rbac_validate.md delete mode 100644 docs/operator-manual/server-commands/argocd-util_settings_resource-overrides.md delete mode 100644 docs/operator-manual/server-commands/argocd-util_settings_resource-overrides_health.md delete mode 100644 docs/operator-manual/server-commands/argocd-util_settings_resource-overrides_ignore-differences.md delete mode 100644 docs/operator-manual/server-commands/argocd-util_settings_resource-overrides_list-actions.md delete mode 100644 docs/operator-manual/server-commands/argocd-util_settings_resource-overrides_run-action.md delete mode 100644 docs/operator-manual/server-commands/argocd-util_settings_validate.md delete mode 100644 docs/operator-manual/server-commands/argocd-util_version.md create mode 100644 docs/user-guide/commands/argocd_admin_app.md create mode 100644 docs/user-guide/commands/argocd_admin_app_diff-reconcile-results.md rename docs/{operator-manual/server-commands/argocd-util_app_generate-spec.md => user-guide/commands/argocd_admin_app_generate-spec.md} (64%) rename docs/{operator-manual/server-commands/argocd-util_app_get-reconcile-results.md => user-guide/commands/argocd_admin_app_get-reconcile-results.md} (53%) create mode 100644 docs/user-guide/commands/argocd_admin_cluster.md rename docs/{operator-manual/server-commands/argocd-util_cluster_generate-spec.md => user-guide/commands/argocd_admin_cluster_generate-spec.md} (55%) create mode 100644 docs/user-guide/commands/argocd_admin_cluster_kubeconfig.md create mode 100644 docs/user-guide/commands/argocd_admin_cluster_namespaces.md create mode 100644 docs/user-guide/commands/argocd_admin_cluster_namespaces_disable-namespaced-mode.md create mode 100644 docs/user-guide/commands/argocd_admin_cluster_namespaces_enable-namespaced-mode.md rename docs/{operator-manual/server-commands/argocd-util_cluster_shards.md => user-guide/commands/argocd_admin_cluster_shards.md} (65%) rename docs/{operator-manual/server-commands/argocd-util_cluster_stats.md => user-guide/commands/argocd_admin_cluster_stats.md} (65%) rename docs/{operator-manual/server-commands/argocd-util_export.md => user-guide/commands/argocd_admin_export.md} (50%) rename docs/{operator-manual/server-commands/argocd-util_import.md => user-guide/commands/argocd_admin_import.md} (52%) create mode 100644 docs/user-guide/commands/argocd_admin_proj.md rename docs/{operator-manual/server-commands/argocd-util_proj_generate-allow-list.md => user-guide/commands/argocd_admin_proj_generate-allow-list.md} (50%) create mode 100644 docs/user-guide/commands/argocd_admin_proj_generate-spec.md rename docs/{operator-manual/server-commands/argocd-util_projects_update-role-policy.md => user-guide/commands/argocd_admin_proj_update-role-policy.md} (54%) create mode 100644 docs/user-guide/commands/argocd_admin_repo.md create mode 100644 docs/user-guide/commands/argocd_admin_repo_generate-spec.md create mode 100644 docs/user-guide/commands/argocd_admin_settings.md create mode 100644 docs/user-guide/commands/argocd_admin_settings_rbac.md create mode 100644 docs/user-guide/commands/argocd_admin_settings_rbac_can.md create mode 100644 docs/user-guide/commands/argocd_admin_settings_rbac_validate.md create mode 100644 docs/user-guide/commands/argocd_admin_settings_resource-overrides.md create mode 100644 docs/user-guide/commands/argocd_admin_settings_resource-overrides_health.md create mode 100644 docs/user-guide/commands/argocd_admin_settings_resource-overrides_ignore-differences.md create mode 100644 docs/user-guide/commands/argocd_admin_settings_resource-overrides_list-actions.md create mode 100644 docs/user-guide/commands/argocd_admin_settings_resource-overrides_run-action.md create mode 100644 docs/user-guide/commands/argocd_admin_settings_validate.md diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index f6418a1743762..e3a9891a39012 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -266,40 +266,6 @@ jobs: asset_content_type: application/octet-stream if: ${{ env.DRY_RUN != 'true' }} - # include argocd-util as part of release artifacts (argoproj/argo-cd#5174) - - name: Upload argocd-util-linux-amd64 binary to release assets - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./dist/argocd-linux-amd64 - asset_name: argocd-util-linux-amd64 - asset_content_type: application/octet-stream - if: ${{ env.DRY_RUN != 'true' }} - - - name: Upload argocd-util-darwin-amd64 binary to release assets - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./dist/argocd-darwin-amd64 - asset_name: argocd-util-darwin-amd64 - asset_content_type: application/octet-stream - if: ${{ env.DRY_RUN != 'true' }} - - - name: Upload argocd-util-windows-amd64 binary to release assets - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./dist/argocd-windows-amd64.exe - asset_name: argocd-util-windows-amd64.exe - asset_content_type: application/octet-stream - if: ${{ env.DRY_RUN != 'true' }} - - name: Update homebrew formula env: HOMEBREW_TOKEN: ${{ secrets.RELEASE_HOMEBREW_TOKEN }} diff --git a/.gitignore b/.gitignore index 7d0329e397709..b639ffa2c9c86 100644 --- a/.gitignore +++ b/.gitignore @@ -21,5 +21,4 @@ node_modules/ cmd/argocd/argocd cmd/argocd-application-controller/argocd-application-controller cmd/argocd-repo-server/argocd-repo-server -cmd/argocd-server/argocd-server -cmd/argocd-util/argocd-util \ No newline at end of file +cmd/argocd-server/argocd-server \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 365914046a00e..708e3ca0237ea 100644 --- a/Dockerfile +++ b/Dockerfile @@ -129,7 +129,6 @@ FROM argocd-base COPY --from=argocd-build /go/src/github.com/argoproj/argo-cd/dist/argocd* /usr/local/bin/ USER root -RUN ln -s /usr/local/bin/argocd /usr/local/bin/argocd-util RUN ln -s /usr/local/bin/argocd /usr/local/bin/argocd-server RUN ln -s /usr/local/bin/argocd /usr/local/bin/argocd-repo-server RUN ln -s /usr/local/bin/argocd /usr/local/bin/argocd-application-controller diff --git a/Dockerfile.dev b/Dockerfile.dev index 79d04dc4c7336..671460816caa5 100644 --- a/Dockerfile.dev +++ b/Dockerfile.dev @@ -11,7 +11,4 @@ RUN ln -s /usr/local/bin/argocd /usr/local/bin/argocd-server RUN ln -s /usr/local/bin/argocd /usr/local/bin/argocd-repo-server RUN ln -s /usr/local/bin/argocd /usr/local/bin/argocd-application-controller RUN ln -s /usr/local/bin/argocd /usr/local/bin/argocd-dex -RUN ln -s /usr/local/bin/argocd /usr/local/bin/argocd-util -RUN ln -s /usr/local/bin/argocd-darwin-amd64 /usr/local/bin/argocd-util-darwin-amd64 -RUN ln -s /usr/local/bin/argocd-windows-amd64.exe /usr/local/bin/argocd-util-windows-amd64.exe USER 999 diff --git a/Makefile b/Makefile index 6f29b761006a4..760152eb21fd2 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,6 @@ PACKAGE=github.com/argoproj/argo-cd/v2/common CURRENT_DIR=$(shell pwd) DIST_DIR=${CURRENT_DIR}/dist CLI_NAME=argocd -UTIL_CLI_NAME=argocd-util BIN_NAME=argocd HOST_OS:=$(shell go env GOOS) @@ -268,9 +267,6 @@ image: ln -sfn ${DIST_DIR}/argocd ${DIST_DIR}/argocd-application-controller ln -sfn ${DIST_DIR}/argocd ${DIST_DIR}/argocd-repo-server ln -sfn ${DIST_DIR}/argocd ${DIST_DIR}/argocd-dex - ln -sfn ${DIST_DIR}/argocd ${DIST_DIR}/argocd-util - ln -sfn ${DIST_DIR}/argocd-darwin-amd64 ${DIST_DIR}/argocd-util-darwin-amd64 - ln -sfn ${DIST_DIR}/argocd-windows-amd64.exe ${DIST_DIR}/argocd-util-windows-amd64.exe cp Dockerfile.dev dist docker build -t $(IMAGE_PREFIX)argocd:$(IMAGE_TAG) -f dist/Dockerfile.dev dist else diff --git a/cmd/argocd-util/commands/argocd_util.go b/cmd/argocd/commands/admin/admin.go similarity index 95% rename from cmd/argocd-util/commands/argocd_util.go rename to cmd/argocd/commands/admin/admin.go index 7cc8a1ffcb5e6..6ad1dad6af998 100644 --- a/cmd/argocd-util/commands/argocd_util.go +++ b/cmd/argocd/commands/admin/admin.go @@ -1,4 +1,4 @@ -package commands +package admin import ( "reflect" @@ -15,14 +15,11 @@ import ( cmdutil "github.com/argoproj/argo-cd/v2/cmd/util" "github.com/argoproj/argo-cd/v2/common" - "github.com/argoproj/argo-cd/v2/util/cli" "github.com/argoproj/argo-cd/v2/util/errors" "github.com/argoproj/argo-cd/v2/util/settings" ) const ( - // CLIName is the name of the CLI - cliName = "argocd-util" // YamlSeparator separates sections of a YAML file yamlSeparator = "---\n" ) @@ -35,23 +32,21 @@ var ( appplicationSetResource = schema.GroupVersionResource{Group: "argoproj.io", Version: "v1alpha1", Resource: "applicationsets"} ) -// NewCommand returns a new instance of an argocd command -func NewCommand() *cobra.Command { +// NewAdminCommand returns a new instance of an argocd command +func NewAdminCommand() *cobra.Command { var ( pathOpts = clientcmd.NewDefaultPathOptions() ) var command = &cobra.Command{ - Use: cliName, - Short: "argocd-util tools used by Argo CD", - Long: "argocd-util has internal utility tools used by Argo CD", + Use: "admin", + Short: "Contains a set of commands useful for Argo CD administrators and requires direct Kubernetes access", DisableAutoGenTag: true, Run: func(c *cobra.Command, args []string) { c.HelpFunc()(c, args) }, } - command.AddCommand(cli.NewVersionCmd(cliName)) command.AddCommand(NewClusterCommand(pathOpts)) command.AddCommand(NewProjectsCommand()) command.AddCommand(NewSettingsCommand()) @@ -59,6 +54,7 @@ func NewCommand() *cobra.Command { command.AddCommand(NewRepoCommand()) command.AddCommand(NewImportCommand()) command.AddCommand(NewExportCommand()) + command.AddCommand(NewDashboardCommand()) command.Flags().StringVar(&cmdutil.LogFormat, "logformat", "text", "Set the logging format. One of: text|json") command.Flags().StringVar(&cmdutil.LogLevel, "loglevel", "info", "Set the logging level. One of: debug|info|warn|error") diff --git a/cmd/argocd-util/commands/app.go b/cmd/argocd/commands/admin/app.go similarity index 90% rename from cmd/argocd-util/commands/app.go rename to cmd/argocd/commands/admin/app.go index 16d4d95152897..c485c63a4a5fd 100644 --- a/cmd/argocd-util/commands/app.go +++ b/cmd/argocd/commands/admin/app.go @@ -1,4 +1,4 @@ -package commands +package admin import ( "context" @@ -68,22 +68,22 @@ func NewGenAppSpecCommand() *cobra.Command { Short: "Generate declarative config for an application", Example: ` # Generate declarative config for a directory app - argocd-util app generate-spec guestbook --repo https://github.com/argoproj/argocd-example-apps.git --path guestbook --dest-namespace default --dest-server https://kubernetes.default.svc --directory-recurse + argocd admin app generate-spec guestbook --repo https://github.com/argoproj/argocd-example-apps.git --path guestbook --dest-namespace default --dest-server https://kubernetes.default.svc --directory-recurse # Generate declarative config for a Jsonnet app - argocd-util app generate-spec jsonnet-guestbook --repo https://github.com/argoproj/argocd-example-apps.git --path jsonnet-guestbook --dest-namespace default --dest-server https://kubernetes.default.svc --jsonnet-ext-str replicas=2 + argocd admin app generate-spec jsonnet-guestbook --repo https://github.com/argoproj/argocd-example-apps.git --path jsonnet-guestbook --dest-namespace default --dest-server https://kubernetes.default.svc --jsonnet-ext-str replicas=2 # Generate declarative config for a Helm app - argocd-util app generate-spec helm-guestbook --repo https://github.com/argoproj/argocd-example-apps.git --path helm-guestbook --dest-namespace default --dest-server https://kubernetes.default.svc --helm-set replicaCount=2 + argocd admin app generate-spec helm-guestbook --repo https://github.com/argoproj/argocd-example-apps.git --path helm-guestbook --dest-namespace default --dest-server https://kubernetes.default.svc --helm-set replicaCount=2 # Generate declarative config for a Helm app from a Helm repo - argocd-util app generate-spec nginx-ingress --repo https://charts.helm.sh/stable --helm-chart nginx-ingress --revision 1.24.3 --dest-namespace default --dest-server https://kubernetes.default.svc + argocd admin app generate-spec nginx-ingress --repo https://charts.helm.sh/stable --helm-chart nginx-ingress --revision 1.24.3 --dest-namespace default --dest-server https://kubernetes.default.svc # Generate declarative config for a Kustomize app - argocd-util app generate-spec kustomize-guestbook --repo https://github.com/argoproj/argocd-example-apps.git --path kustomize-guestbook --dest-namespace default --dest-server https://kubernetes.default.svc --kustomize-image gcr.io/heptio-images/ks-guestbook-demo:0.1 + argocd admin app generate-spec kustomize-guestbook --repo https://github.com/argoproj/argocd-example-apps.git --path kustomize-guestbook --dest-namespace default --dest-server https://kubernetes.default.svc --kustomize-image gcr.io/heptio-images/ks-guestbook-demo:0.1 # Generate declarative config for a app using a custom tool: - argocd-util app generate-spec ksane --repo https://github.com/argoproj/argocd-example-apps.git --path plugins/kasane --dest-namespace default --dest-server https://kubernetes.default.svc --config-management-plugin kasane + argocd admin app generate-spec ksane --repo https://github.com/argoproj/argocd-example-apps.git --path plugins/kasane --dest-namespace default --dest-server https://kubernetes.default.svc --config-management-plugin kasane `, Run: func(c *cobra.Command, args []string) { app, err := cmdutil.ConstructApp(fileURL, appName, labels, annotations, args, appOpts, c.Flags()) diff --git a/cmd/argocd-util/commands/app_test.go b/cmd/argocd/commands/admin/app_test.go similarity index 99% rename from cmd/argocd-util/commands/app_test.go rename to cmd/argocd/commands/admin/app_test.go index e14c1e4eecfb5..bddedc4aad080 100644 --- a/cmd/argocd-util/commands/app_test.go +++ b/cmd/argocd/commands/admin/app_test.go @@ -1,4 +1,4 @@ -package commands +package admin import ( "testing" diff --git a/cmd/argocd-util/commands/backup.go b/cmd/argocd/commands/admin/backup.go similarity index 99% rename from cmd/argocd-util/commands/backup.go rename to cmd/argocd/commands/admin/backup.go index ec4885beb2162..f53261f3bdb5b 100644 --- a/cmd/argocd-util/commands/backup.go +++ b/cmd/argocd/commands/admin/backup.go @@ -1,4 +1,4 @@ -package commands +package admin import ( "bufio" diff --git a/cmd/argocd-util/commands/cluster.go b/cmd/argocd/commands/admin/cluster.go similarity index 99% rename from cmd/argocd-util/commands/cluster.go rename to cmd/argocd/commands/admin/cluster.go index 85271367f5972..e09ebcbd845aa 100644 --- a/cmd/argocd-util/commands/cluster.go +++ b/cmd/argocd/commands/admin/cluster.go @@ -1,4 +1,4 @@ -package commands +package admin import ( "context" @@ -469,7 +469,7 @@ func NewClusterStatsCommand() *cobra.Command { return &command } -// NewClusterConfig returns a new instance of `argocd-util kubeconfig` command +// NewClusterConfig returns a new instance of `argocd admin kubeconfig` command func NewClusterConfig() *cobra.Command { var ( clientConfig clientcmd.ClientConfig diff --git a/cmd/argocd/commands/admin.go b/cmd/argocd/commands/admin/dashboard.go similarity index 68% rename from cmd/argocd/commands/admin.go rename to cmd/argocd/commands/admin/dashboard.go index d93df296c1f12..cefe366bf8bb9 100644 --- a/cmd/argocd/commands/admin.go +++ b/cmd/argocd/commands/admin/dashboard.go @@ -1,4 +1,4 @@ -package commands +package admin import ( "context" @@ -11,18 +11,6 @@ import ( "github.com/argoproj/argo-cd/v2/pkg/apiclient" ) -func NewAdminCommand() *cobra.Command { - cmd := &cobra.Command{ - Use: "admin", - Short: "Contains a set of commands useful for Argo CD administrators and requires direct Kubernetes access", - Run: func(c *cobra.Command, args []string) { - c.HelpFunc()(c, args) - }, - } - cmd.AddCommand(NewDashboardCommand()) - return cmd -} - func NewDashboardCommand() *cobra.Command { var ( port int diff --git a/cmd/argocd-util/commands/project.go b/cmd/argocd/commands/admin/project.go similarity index 96% rename from cmd/argocd-util/commands/project.go rename to cmd/argocd/commands/admin/project.go index e4f484c610528..b2f7524ec60c8 100644 --- a/cmd/argocd-util/commands/project.go +++ b/cmd/argocd/commands/admin/project.go @@ -1,4 +1,4 @@ -package commands +package admin import ( "context" @@ -138,10 +138,10 @@ func NewUpdatePolicyRuleCommand() *cobra.Command { Use: "update-role-policy PROJECT_GLOB MODIFICATION ACTION", Short: "Implement bulk project role update. Useful to back-fill existing project policies or remove obsolete actions.", Example: ` # Add policy that allows executing any action (action/*) to roles which name matches to *deployer* in all projects - argocd-util projects update-role-policy '*' set 'action/*' --role '*deployer*' --resource applications --scope '*' --permission allow + argocd admin projects update-role-policy '*' set 'action/*' --role '*deployer*' --resource applications --scope '*' --permission allow # Remove policy that which manages running (action/*) from all roles which name matches *deployer* in all projects - argocd-util projects update-role-policy '*' remove override --role '*deployer*' + argocd admin projects update-role-policy '*' remove override --role '*deployer*' `, Run: func(c *cobra.Command, args []string) { if len(args) != 3 { diff --git a/cmd/argocd-util/commands/project_allowlist.go b/cmd/argocd/commands/admin/project_allowlist.go similarity index 99% rename from cmd/argocd-util/commands/project_allowlist.go rename to cmd/argocd/commands/admin/project_allowlist.go index 96d52e15573fb..2d9dd85b363fe 100644 --- a/cmd/argocd-util/commands/project_allowlist.go +++ b/cmd/argocd/commands/admin/project_allowlist.go @@ -1,4 +1,4 @@ -package commands +package admin import ( "bufio" diff --git a/cmd/argocd-util/commands/project_allowlist_test.go b/cmd/argocd/commands/admin/project_allowlist_test.go similarity index 99% rename from cmd/argocd-util/commands/project_allowlist_test.go rename to cmd/argocd/commands/admin/project_allowlist_test.go index 5db55f0b0ebc0..dea4d29297b96 100644 --- a/cmd/argocd-util/commands/project_allowlist_test.go +++ b/cmd/argocd/commands/admin/project_allowlist_test.go @@ -1,4 +1,4 @@ -package commands +package admin import ( "reflect" diff --git a/cmd/argocd-util/commands/project_test.go b/cmd/argocd/commands/admin/project_test.go similarity index 99% rename from cmd/argocd-util/commands/project_test.go rename to cmd/argocd/commands/admin/project_test.go index 8447b755af31f..f01ebb5c9acf0 100644 --- a/cmd/argocd-util/commands/project_test.go +++ b/cmd/argocd/commands/admin/project_test.go @@ -1,4 +1,4 @@ -package commands +package admin import ( "context" diff --git a/cmd/argocd-util/commands/repo.go b/cmd/argocd/commands/admin/repo.go similarity index 85% rename from cmd/argocd-util/commands/repo.go rename to cmd/argocd/commands/admin/repo.go index 5b9855ef05273..199c48440165a 100644 --- a/cmd/argocd-util/commands/repo.go +++ b/cmd/argocd/commands/admin/repo.go @@ -1,4 +1,4 @@ -package commands +package admin import ( "context" @@ -49,25 +49,25 @@ func NewGenRepoSpecCommand() *cobra.Command { // For better readability and easier formatting var repoAddExamples = ` # Add a Git repository via SSH using a private key for authentication, ignoring the server's host key: - argocd-util repo generate-spec git@git.example.com:repos/repo --insecure-ignore-host-key --ssh-private-key-path ~/id_rsa + argocd admin repo generate-spec git@git.example.com:repos/repo --insecure-ignore-host-key --ssh-private-key-path ~/id_rsa # Add a Git repository via SSH on a non-default port - need to use ssh:// style URLs here - argocd-util repo generate-spec ssh://git@git.example.com:2222/repos/repo --ssh-private-key-path ~/id_rsa + argocd admin repo generate-spec ssh://git@git.example.com:2222/repos/repo --ssh-private-key-path ~/id_rsa # Add a private Git repository via HTTPS using username/password and TLS client certificates: - argocd-util repo generate-spec https://git.example.com/repos/repo --username git --password secret --tls-client-cert-path ~/mycert.crt --tls-client-cert-key-path ~/mycert.key + argocd admin repo generate-spec https://git.example.com/repos/repo --username git --password secret --tls-client-cert-path ~/mycert.crt --tls-client-cert-key-path ~/mycert.key # Add a private Git repository via HTTPS using username/password without verifying the server's TLS certificate - argocd-util repo generate-spec https://git.example.com/repos/repo --username git --password secret --insecure-skip-server-verification + argocd admin repo generate-spec https://git.example.com/repos/repo --username git --password secret --insecure-skip-server-verification # Add a public Helm repository named 'stable' via HTTPS - argocd-util repo generate-spec https://charts.helm.sh/stable --type helm --name stable + argocd admin repo generate-spec https://charts.helm.sh/stable --type helm --name stable # Add a private Helm repository named 'stable' via HTTPS - argocd-util repo generate-spec https://charts.helm.sh/stable --type helm --name stable --username test --password test + argocd admin repo generate-spec https://charts.helm.sh/stable --type helm --name stable --username test --password test # Add a private Helm OCI-based repository named 'stable' via HTTPS - argocd-util repo generate-spec helm-oci-registry.cn-zhangjiakou.cr.aliyuncs.com --type helm --name stable --enable-oci --username test --password test + argocd admin repo generate-spec helm-oci-registry.cn-zhangjiakou.cr.aliyuncs.com --type helm --name stable --enable-oci --username test --password test ` var command = &cobra.Command{ diff --git a/cmd/argocd-util/commands/secrets_redactor_test.go b/cmd/argocd/commands/admin/secrets_redactor_test.go similarity index 99% rename from cmd/argocd-util/commands/secrets_redactor_test.go rename to cmd/argocd/commands/admin/secrets_redactor_test.go index b8cc43135ac33..cb1b3e78dbfea 100644 --- a/cmd/argocd-util/commands/secrets_redactor_test.go +++ b/cmd/argocd/commands/admin/secrets_redactor_test.go @@ -1,4 +1,4 @@ -package commands +package admin import ( "testing" diff --git a/cmd/argocd-util/commands/settings.go b/cmd/argocd/commands/admin/settings.go similarity index 96% rename from cmd/argocd-util/commands/settings.go rename to cmd/argocd/commands/admin/settings.go index e6b8e276f9815..78bf8da0839d0 100644 --- a/cmd/argocd-util/commands/settings.go +++ b/cmd/argocd/commands/admin/settings.go @@ -1,4 +1,4 @@ -package commands +package admin import ( "bytes" @@ -303,10 +303,10 @@ func NewValidateSettingsCommand(cmdCtx commandContext) *cobra.Command { Long: "Validates settings specified in 'argocd-cm' ConfigMap and 'argocd-secret' Secret", Example: ` #Validates all settings in the specified YAML file -argocd-util settings validate --argocd-cm-path ./argocd-cm.yaml +argocd admin settings validate --argocd-cm-path ./argocd-cm.yaml #Validates accounts and plugins settings in Kubernetes cluster of current kubeconfig context -argocd-util settings validate --group accounts --group plugins --load-cluster-settings`, +argocd admin settings validate --group accounts --group plugins --load-cluster-settings`, Run: func(c *cobra.Command, args []string) { settingsManager, err := cmdCtx.createSettingsManager() errors.CheckError(err) @@ -392,7 +392,7 @@ func NewResourceIgnoreDifferencesCommand(cmdCtx commandContext) *cobra.Command { Short: "Renders fields excluded from diffing", Long: "Renders ignored fields using the 'ignoreDifferences' setting specified in the 'resource.customizations' field of 'argocd-cm' ConfigMap", Example: ` -argocd-util settings resource-overrides ignore-differences ./deploy.yaml --argocd-cm-path ./argocd-cm.yaml`, +argocd admin settings resource-overrides ignore-differences ./deploy.yaml --argocd-cm-path ./argocd-cm.yaml`, Run: func(c *cobra.Command, args []string) { if len(args) < 1 { c.HelpFunc()(c, args) @@ -436,7 +436,7 @@ func NewResourceHealthCommand(cmdCtx commandContext) *cobra.Command { Short: "Assess resource health", Long: "Assess resource health using the lua script configured in the 'resource.customizations' field of 'argocd-cm' ConfigMap", Example: ` -argocd-util settings resource-overrides health ./deploy.yaml --argocd-cm-path ./argocd-cm.yaml`, +argocd admin settings resource-overrides health ./deploy.yaml --argocd-cm-path ./argocd-cm.yaml`, Run: func(c *cobra.Command, args []string) { if len(args) < 1 { c.HelpFunc()(c, args) @@ -467,7 +467,7 @@ func NewResourceActionListCommand(cmdCtx commandContext) *cobra.Command { Short: "List available resource actions", Long: "List actions available for given resource action using the lua scripts configured in the 'resource.customizations' field of 'argocd-cm' ConfigMap and outputs updated fields", Example: ` -argocd-util settings resource-overrides action list /tmp/deploy.yaml --argocd-cm-path ./argocd-cm.yaml`, +argocd admin settings resource-overrides action list /tmp/deploy.yaml --argocd-cm-path ./argocd-cm.yaml`, Run: func(c *cobra.Command, args []string) { if len(args) < 1 { c.HelpFunc()(c, args) @@ -510,7 +510,7 @@ func NewResourceActionRunCommand(cmdCtx commandContext) *cobra.Command { Short: "Executes resource action", Long: "Executes resource action using the lua script configured in the 'resource.customizations' field of 'argocd-cm' ConfigMap and outputs updated fields", Example: ` -argocd-util settings resource-overrides action run /tmp/deploy.yaml restart --argocd-cm-path ./argocd-cm.yaml`, +argocd admin settings resource-overrides action run /tmp/deploy.yaml restart --argocd-cm-path ./argocd-cm.yaml`, Run: func(c *cobra.Command, args []string) { if len(args) < 2 { c.HelpFunc()(c, args) diff --git a/cmd/argocd-util/commands/settings_rbac.go b/cmd/argocd/commands/admin/settings_rbac.go similarity index 96% rename from cmd/argocd-util/commands/settings_rbac.go rename to cmd/argocd/commands/admin/settings_rbac.go index 50113d99845f8..8aaf0e13c9a5d 100644 --- a/cmd/argocd-util/commands/settings_rbac.go +++ b/cmd/argocd/commands/admin/settings_rbac.go @@ -1,4 +1,4 @@ -package commands +package admin import ( "context" @@ -101,19 +101,19 @@ something. Example: ` # Check whether role some:role has permissions to create an application in the # 'default' project, using a local policy.csv file -argocd-util settings rbac can some:role create application 'default/app' --policy-file policy.csv +argocd admin settings rbac can some:role create application 'default/app' --policy-file policy.csv # Policy file can also be K8s config map with data keys like argocd-rbac-cm, # i.e. 'policy.csv' and (optionally) 'policy.default' -argocd-util settings rbac can some:role create application 'default/app' --policy-file argocd-rbac-cm.yaml +argocd admin settings rbac can some:role create application 'default/app' --policy-file argocd-rbac-cm.yaml # If --policy-file is not given, the ConfigMap 'argocd-rbac-cm' from K8s is # used. You need to specify the argocd namespace, and make sure that your # current Kubernetes context is pointing to the cluster Argo CD is running in -argocd-util settings rbac can some:role create application 'default/app' --namespace argocd +argocd admin settings rbac can some:role create application 'default/app' --namespace argocd # You can override a possibly configured default role -argocd-util settings rbac can someuser create application 'default/app' --default-role role:readonly +argocd admin settings rbac can someuser create application 'default/app' --default-role role:readonly `, Run: func(c *cobra.Command, args []string) { diff --git a/cmd/argocd-util/commands/settings_rbac_test.go b/cmd/argocd/commands/admin/settings_rbac_test.go similarity index 99% rename from cmd/argocd-util/commands/settings_rbac_test.go rename to cmd/argocd/commands/admin/settings_rbac_test.go index 6cae85b89a9e7..0574f409e4c25 100644 --- a/cmd/argocd-util/commands/settings_rbac_test.go +++ b/cmd/argocd/commands/admin/settings_rbac_test.go @@ -1,4 +1,4 @@ -package commands +package admin import ( "io/ioutil" diff --git a/cmd/argocd-util/commands/settings_test.go b/cmd/argocd/commands/admin/settings_test.go similarity index 99% rename from cmd/argocd-util/commands/settings_test.go rename to cmd/argocd/commands/admin/settings_test.go index 6145b979b8b8e..9f5da58a42725 100644 --- a/cmd/argocd-util/commands/settings_test.go +++ b/cmd/argocd/commands/admin/settings_test.go @@ -1,4 +1,4 @@ -package commands +package admin import ( "bytes" diff --git a/cmd/argocd-util/commands/testdata/rbac/argocd-rbac-cm.yaml b/cmd/argocd/commands/admin/testdata/rbac/argocd-rbac-cm.yaml similarity index 100% rename from cmd/argocd-util/commands/testdata/rbac/argocd-rbac-cm.yaml rename to cmd/argocd/commands/admin/testdata/rbac/argocd-rbac-cm.yaml diff --git a/cmd/argocd-util/commands/testdata/rbac/policy.csv b/cmd/argocd/commands/admin/testdata/rbac/policy.csv similarity index 100% rename from cmd/argocd-util/commands/testdata/rbac/policy.csv rename to cmd/argocd/commands/admin/testdata/rbac/policy.csv diff --git a/cmd/argocd-util/commands/testdata/test_clusterrole.yaml b/cmd/argocd/commands/admin/testdata/test_clusterrole.yaml similarity index 100% rename from cmd/argocd-util/commands/testdata/test_clusterrole.yaml rename to cmd/argocd/commands/admin/testdata/test_clusterrole.yaml diff --git a/cmd/argocd/commands/root.go b/cmd/argocd/commands/root.go index 6413d0669cb07..952560cd7f389 100644 --- a/cmd/argocd/commands/root.go +++ b/cmd/argocd/commands/root.go @@ -4,6 +4,7 @@ import ( "github.com/spf13/cobra" "k8s.io/client-go/tools/clientcmd" + "github.com/argoproj/argo-cd/v2/cmd/argocd/commands/admin" "github.com/argoproj/argo-cd/v2/cmd/argocd/commands/headless" cmdutil "github.com/argoproj/argo-cd/v2/cmd/util" argocdclient "github.com/argoproj/argo-cd/v2/pkg/apiclient" @@ -52,7 +53,7 @@ func NewCommand() *cobra.Command { command.AddCommand(NewLogoutCommand(&clientOpts)) command.AddCommand(headless.InitCommand(NewCertCommand(&clientOpts), &clientOpts, nil)) command.AddCommand(headless.InitCommand(NewGPGCommand(&clientOpts), &clientOpts, nil)) - command.AddCommand(NewAdminCommand()) + command.AddCommand(admin.NewAdminCommand()) defaultLocalConfigPath, err := localconfig.DefaultLocalConfigPath() errors.CheckError(err) diff --git a/cmd/main.go b/cmd/main.go index 842715c6c8a80..21bcacb672477 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -11,7 +11,6 @@ import ( dex "github.com/argoproj/argo-cd/v2/cmd/argocd-dex/commands" reposerver "github.com/argoproj/argo-cd/v2/cmd/argocd-repo-server/commands" apiserver "github.com/argoproj/argo-cd/v2/cmd/argocd-server/commands" - util "github.com/argoproj/argo-cd/v2/cmd/argocd-util/commands" cli "github.com/argoproj/argo-cd/v2/cmd/argocd/commands" ) @@ -29,8 +28,6 @@ func main() { switch binaryName { case "argocd", "argocd-linux-amd64", "argocd-darwin-amd64", "argocd-windows-amd64.exe": command = cli.NewCommand() - case "argocd-util", "argocd-util-linux-amd64", "argocd-util-darwin-amd64", "argocd-util-windows-amd64.exe": - command = util.NewCommand() case "argocd-server": command = apiserver.NewCommand() case "argocd-application-controller": @@ -40,21 +37,7 @@ func main() { case "argocd-dex": command = dex.NewCommand() default: - if len(os.Args[1:]) > 0 { - // trying to guess between argocd and argocd-util by matching sub command - for _, cmd := range []*cobra.Command{cli.NewCommand(), util.NewCommand()} { - if _, _, err := cmd.Find(os.Args[1:]); err == nil { - command = cmd - break - } - } - } - - if command == nil { - fmt.Printf("Unknown binary name '%s'.Use '%s' environment variable to specify required binary name "+ - "(possible values 'argocd' or 'argocd-util').\n", binaryName, binaryNameEnv) - os.Exit(1) - } + command = cli.NewCommand() } if err := command.Execute(); err != nil { diff --git a/docs/faq.md b/docs/faq.md index 280fda904d46a..efb0f09069e2c 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -98,7 +98,7 @@ Use the following steps to reconstruct configured cluster config and connect to ```bash kubectl exec -it bash # ssh into any argocd server pod -argocd-util cluster kubeconfig https:// /tmp/config --namespace argocd # generate your cluster config +argocd admin cluster kubeconfig https:// /tmp/config --namespace argocd # generate your cluster config KUBECONFIG=/tmp/config kubectl get pods # test connection manually ``` diff --git a/docs/operator-manual/disaster_recovery.md b/docs/operator-manual/disaster_recovery.md index b6a17885b2345..6bb52847d978a 100644 --- a/docs/operator-manual/disaster_recovery.md +++ b/docs/operator-manual/disaster_recovery.md @@ -1,6 +1,6 @@ # Disaster Recovery -You can use `argocd-util` to import and export all Argo CD data. +You can use `argocd admin` to import and export all Argo CD data. Make sure you have `~/.kube/config` pointing to your Argo CD cluster. @@ -15,14 +15,14 @@ export VERSION=v1.0.1 Export to a backup: ```bash -docker run -v ~/.kube:/home/argocd/.kube --rm argoproj/argocd:$VERSION argocd-util export > backup.yaml +docker run -v ~/.kube:/home/argocd/.kube --rm argoproj/argocd:$VERSION argocd admin export > backup.yaml ``` Import from a backup: ```bash -docker run -i -v ~/.kube:/home/argocd/.kube --rm argoproj/argocd:$VERSION argocd-util import - < backup.yaml +docker run -i -v ~/.kube:/home/argocd/.kube --rm argoproj/argocd:$VERSION argocd admin import - < backup.yaml ``` !!! note - If you are running Argo CD on a namespace different than default remember to pass the namespace parameter (-n ). 'argocd-util export' will not fail if you run it in the wrong namespace. + If you are running Argo CD on a namespace different than default remember to pass the namespace parameter (-n ). 'argocd admin export' will not fail if you run it in the wrong namespace. diff --git a/docs/operator-manual/rbac.md b/docs/operator-manual/rbac.md index f818ed98b4137..b6a18f810b00d 100644 --- a/docs/operator-manual/rbac.md +++ b/docs/operator-manual/rbac.md @@ -84,27 +84,27 @@ The anonymous users get default role permissions specified by `policy.default` i ## Validating and testing your RBAC policies If you want to ensure that your RBAC policies are working as expected, you can -use the `argocd-util settings rbac` command to validate them. This tool allows you to +use the `argocd admin settings rbac` command to validate them. This tool allows you to test whether a certain role or subject can perform the requested action with a policy that's not live yet in the system, i.e. from a local file or config map. Additionally, it can be used against the live policy in the cluster your Argo CD is running in. To check whether your new policy is valid and understood by Argo CD's RBAC -implementation, you can use the `argocd-util settings rbac validate` command. +implementation, you can use the `argocd admin settings rbac validate` command. ### Validating a policy To validate a policy stored in a local text file: ```shell -argocd-util settings rbac validate --policy-file somepolicy.csv +argocd admin settings rbac validate --policy-file somepolicy.csv ``` To validate a policy stored in a local K8s ConfigMap definition in a YAML file: ```shell -argocd-util settings rbac validate --policy-file argocd-rbac-cm.yaml +argocd admin settings rbac validate --policy-file argocd-rbac-cm.yaml ``` To validate a policy stored in K8s, used by Argo CD in namespace `argocd`, @@ -112,17 +112,17 @@ ensure that your current context in `~/.kube/config` is pointing to your Argo CD cluster and give appropriate namespace: ```shell -argocd-util settings rbac validate --namespace argocd +argocd admin settings rbac validate --namespace argocd ``` ### Testing a policy To test whether a role or subject (group or local user) has sufficient permissions to execute certain actions on certain resources, you can -use the `argocd-util settings rbac can` command. Its general syntax is +use the `argocd admin settings rbac can` command. Its general syntax is ```shell -argocd-util settings rbac can SOMEROLE ACTION RESOURCE SUBRESOURCE [flags] +argocd admin settings rbac can SOMEROLE ACTION RESOURCE SUBRESOURCE [flags] ``` Given the example from the above ConfigMap, which defines the role @@ -130,13 +130,13 @@ Given the example from the above ConfigMap, which defines the role you can test whether that role can do something like follows: ```shell -$ argocd-util settings rbac can role:org-admin get applications --policy-file argocd-rbac-cm.yaml +$ argocd admin settings rbac can role:org-admin get applications --policy-file argocd-rbac-cm.yaml Yes -$ argocd-util settings rbac can role:org-admin get clusters --policy-file argocd-rbac-cm.yaml +$ argocd admin settings rbac can role:org-admin get clusters --policy-file argocd-rbac-cm.yaml Yes -$ argocd-util settings rbac can role:org-admin create clusters 'somecluster' --policy-file argocd-rbac-cm.yaml +$ argocd admin settings rbac can role:org-admin create clusters 'somecluster' --policy-file argocd-rbac-cm.yaml No -$ argocd-util settings rbac can role:org-admin create applications 'someproj/someapp' --policy-file argocd-rbac-cm.yaml +$ argocd admin settings rbac can role:org-admin create applications 'someproj/someapp' --policy-file argocd-rbac-cm.yaml Yes ``` @@ -148,19 +148,19 @@ You can test against the role: ```shell # Plain policy, without a default role defined -$ argocd-util settings rbac can role:staging-db-admins get applications --policy-file policy.csv +$ argocd admin settings rbac can role:staging-db-admins get applications --policy-file policy.csv No -$ argocd-util settings rbac can role:staging-db-admins get applications 'staging-db-admins/*' --policy-file policy.csv +$ argocd admin settings rbac can role:staging-db-admins get applications 'staging-db-admins/*' --policy-file policy.csv Yes # Argo CD augments a builtin policy with two roles defined, the default role # being 'role:readonly' - You can include a named default role to use: -$ argocd-util settings rbac can role:staging-db-admins get applications --policy-file policy.csv --default-role role:readonly +$ argocd admin settings rbac can role:staging-db-admins get applications --policy-file policy.csv --default-role role:readonly Yes ``` Or against the group defined: ```shell -$ argocd-util settings rbac can db-admins get applications 'staging-db-admins/*' --policy-file policy.csv +$ argocd admin settings rbac can db-admins get applications 'staging-db-admins/*' --policy-file policy.csv Yes ``` diff --git a/docs/operator-manual/server-commands/argocd-util.md b/docs/operator-manual/server-commands/argocd-util.md deleted file mode 100644 index 9a4e9d8e0e732..0000000000000 --- a/docs/operator-manual/server-commands/argocd-util.md +++ /dev/null @@ -1,31 +0,0 @@ -## argocd-util - -argocd-util tools used by Argo CD - -### Synopsis - -argocd-util has internal utility tools used by Argo CD - -``` -argocd-util [flags] -``` - -### Options - -``` - -h, --help help for argocd-util - --logformat string Set the logging format. One of: text|json (default "text") - --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") -``` - -### SEE ALSO - -* [argocd-util app](argocd-util_app.md) - Manage applications configuration -* [argocd-util cluster](argocd-util_cluster.md) - Manage clusters configuration -* [argocd-util export](argocd-util_export.md) - Export all Argo CD data to stdout (default) or a file -* [argocd-util import](argocd-util_import.md) - Import Argo CD data from stdin (specify `-') or a file -* [argocd-util proj](argocd-util_proj.md) - Manage projects configuration -* [argocd-util repo](argocd-util_repo.md) - Manage repositories configuration -* [argocd-util settings](argocd-util_settings.md) - Provides set of commands for settings validation and troubleshooting -* [argocd-util version](argocd-util_version.md) - Print version information - diff --git a/docs/operator-manual/server-commands/argocd-util_app.md b/docs/operator-manual/server-commands/argocd-util_app.md deleted file mode 100644 index a26c078cd7aa7..0000000000000 --- a/docs/operator-manual/server-commands/argocd-util_app.md +++ /dev/null @@ -1,21 +0,0 @@ -## argocd-util app - -Manage applications configuration - -``` -argocd-util app [flags] -``` - -### Options - -``` - -h, --help help for app -``` - -### SEE ALSO - -* [argocd-util](argocd-util.md) - argocd-util tools used by Argo CD -* [argocd-util app diff-reconcile-results](argocd-util_app_diff-reconcile-results.md) - Compare results of two reconciliations and print diff. -* [argocd-util app generate-spec](argocd-util_app_generate-spec.md) - Generate declarative config for an application -* [argocd-util app get-reconcile-results](argocd-util_app_get-reconcile-results.md) - Reconcile all applications and stores reconciliation summary in the specified file. - diff --git a/docs/operator-manual/server-commands/argocd-util_app_diff-reconcile-results.md b/docs/operator-manual/server-commands/argocd-util_app_diff-reconcile-results.md deleted file mode 100644 index 105fe09fe5693..0000000000000 --- a/docs/operator-manual/server-commands/argocd-util_app_diff-reconcile-results.md +++ /dev/null @@ -1,18 +0,0 @@ -## argocd-util app diff-reconcile-results - -Compare results of two reconciliations and print diff. - -``` -argocd-util app diff-reconcile-results PATH1 PATH2 [flags] -``` - -### Options - -``` - -h, --help help for diff-reconcile-results -``` - -### SEE ALSO - -* [argocd-util app](argocd-util_app.md) - Manage applications configuration - diff --git a/docs/operator-manual/server-commands/argocd-util_apps.md b/docs/operator-manual/server-commands/argocd-util_apps.md deleted file mode 100644 index 92a27b27860be..0000000000000 --- a/docs/operator-manual/server-commands/argocd-util_apps.md +++ /dev/null @@ -1,20 +0,0 @@ -## argocd-util apps - -Utility commands operate on ArgoCD applications - -``` -argocd-util apps [flags] -``` - -### Options - -``` - -h, --help help for apps -``` - -### SEE ALSO - -* [argocd-util](argocd-util.md) - argocd-util tools used by Argo CD -* [argocd-util apps diff-reconcile-results](argocd-util_apps_diff-reconcile-results.md) - Compare results of two reconciliations and print diff. -* [argocd-util apps get-reconcile-results](argocd-util_apps_get-reconcile-results.md) - Reconcile all applications and stores reconciliation summary in the specified file. - diff --git a/docs/operator-manual/server-commands/argocd-util_apps_diff-reconcile-results.md b/docs/operator-manual/server-commands/argocd-util_apps_diff-reconcile-results.md deleted file mode 100644 index 290a25190b7a4..0000000000000 --- a/docs/operator-manual/server-commands/argocd-util_apps_diff-reconcile-results.md +++ /dev/null @@ -1,18 +0,0 @@ -## argocd-util apps diff-reconcile-results - -Compare results of two reconciliations and print diff. - -``` -argocd-util apps diff-reconcile-results PATH1 PATH2 [flags] -``` - -### Options - -``` - -h, --help help for diff-reconcile-results -``` - -### SEE ALSO - -* [argocd-util apps](argocd-util_apps.md) - Utility commands operate on ArgoCD applications - diff --git a/docs/operator-manual/server-commands/argocd-util_apps_get-reconcile-results.md b/docs/operator-manual/server-commands/argocd-util_apps_get-reconcile-results.md deleted file mode 100644 index f8aaac48a5fd5..0000000000000 --- a/docs/operator-manual/server-commands/argocd-util_apps_get-reconcile-results.md +++ /dev/null @@ -1,39 +0,0 @@ -## argocd-util apps get-reconcile-results - -Reconcile all applications and stores reconciliation summary in the specified file. - -``` -argocd-util apps get-reconcile-results PATH [flags] -``` - -### Options - -``` - --as string Username to impersonate for the operation - --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. - --certificate-authority string Path to a cert file for the certificate authority - --client-certificate string Path to a client certificate file for TLS - --client-key string Path to a client key file for TLS - --cluster string The name of the kubeconfig cluster to use - --context string The name of the kubeconfig context to use - -h, --help help for get-reconcile-results - --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure - --kubeconfig string Path to a kube config. Only required if out-of-cluster - --l string Label selector - -n, --namespace string If present, the namespace scope for this CLI request - --o string Output format (yaml|json) (default "yaml") - --password string Password for basic authentication to the API server - --refresh If set to true then recalculates apps reconciliation - --repo-server string Repo server address. - --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") - --server string The address and port of the Kubernetes API server - --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. - --token string Bearer token for authentication to the API server - --user string The name of the kubeconfig user to use - --username string Username for basic authentication to the API server -``` - -### SEE ALSO - -* [argocd-util apps](argocd-util_apps.md) - Utility commands operate on ArgoCD applications - diff --git a/docs/operator-manual/server-commands/argocd-util_cluster.md b/docs/operator-manual/server-commands/argocd-util_cluster.md deleted file mode 100644 index 39acbf995a16b..0000000000000 --- a/docs/operator-manual/server-commands/argocd-util_cluster.md +++ /dev/null @@ -1,23 +0,0 @@ -## argocd-util cluster - -Manage clusters configuration - -``` -argocd-util cluster [flags] -``` - -### Options - -``` - -h, --help help for cluster -``` - -### SEE ALSO - -* [argocd-util](argocd-util.md) - argocd-util tools used by Argo CD -* [argocd-util cluster generate-spec](argocd-util_cluster_generate-spec.md) - Generate declarative config for a cluster -* [argocd-util cluster kubeconfig](argocd-util_cluster_kubeconfig.md) - Generates kubeconfig for the specified cluster -* [argocd-util cluster namespaces](argocd-util_cluster_namespaces.md) - Print information namespaces which Argo CD manages in each cluster. -* [argocd-util cluster shards](argocd-util_cluster_shards.md) - Print information about each controller shard and portion of Kubernetes resources it is responsible for. -* [argocd-util cluster stats](argocd-util_cluster_stats.md) - Prints information cluster statistics and inferred shard number - diff --git a/docs/operator-manual/server-commands/argocd-util_cluster_kubeconfig.md b/docs/operator-manual/server-commands/argocd-util_cluster_kubeconfig.md deleted file mode 100644 index 302be65813470..0000000000000 --- a/docs/operator-manual/server-commands/argocd-util_cluster_kubeconfig.md +++ /dev/null @@ -1,35 +0,0 @@ -## argocd-util cluster kubeconfig - -Generates kubeconfig for the specified cluster - -``` -argocd-util cluster kubeconfig CLUSTER_URL OUTPUT_PATH [flags] -``` - -### Options - -``` - --as string Username to impersonate for the operation - --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. - --certificate-authority string Path to a cert file for the certificate authority - --client-certificate string Path to a client certificate file for TLS - --client-key string Path to a client key file for TLS - --cluster string The name of the kubeconfig cluster to use - --context string The name of the kubeconfig context to use - -h, --help help for kubeconfig - --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure - --kubeconfig string Path to a kube config. Only required if out-of-cluster - -n, --namespace string If present, the namespace scope for this CLI request - --password string Password for basic authentication to the API server - --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") - --server string The address and port of the Kubernetes API server - --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. - --token string Bearer token for authentication to the API server - --user string The name of the kubeconfig user to use - --username string Username for basic authentication to the API server -``` - -### SEE ALSO - -* [argocd-util cluster](argocd-util_cluster.md) - Manage clusters configuration - diff --git a/docs/operator-manual/server-commands/argocd-util_cluster_namespaces.md b/docs/operator-manual/server-commands/argocd-util_cluster_namespaces.md deleted file mode 100644 index 3104dd4013497..0000000000000 --- a/docs/operator-manual/server-commands/argocd-util_cluster_namespaces.md +++ /dev/null @@ -1,37 +0,0 @@ -## argocd-util cluster namespaces - -Print information namespaces which Argo CD manages in each cluster. - -``` -argocd-util cluster namespaces [flags] -``` - -### Options - -``` - --as string Username to impersonate for the operation - --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. - --certificate-authority string Path to a cert file for the certificate authority - --client-certificate string Path to a client certificate file for TLS - --client-key string Path to a client key file for TLS - --cluster string The name of the kubeconfig cluster to use - --context string The name of the kubeconfig context to use - -h, --help help for namespaces - --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure - --kubeconfig string Path to a kube config. Only required if out-of-cluster - -n, --namespace string If present, the namespace scope for this CLI request - --password string Password for basic authentication to the API server - --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") - --server string The address and port of the Kubernetes API server - --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. - --token string Bearer token for authentication to the API server - --user string The name of the kubeconfig user to use - --username string Username for basic authentication to the API server -``` - -### SEE ALSO - -* [argocd-util cluster](argocd-util_cluster.md) - Manage clusters configuration -* [argocd-util cluster namespaces disable-namespaced-mode](argocd-util_cluster_namespaces_disable-namespaced-mode.md) - Disable namespaced mode for clusters which name matches to the specified pattern. -* [argocd-util cluster namespaces enable-namespaced-mode](argocd-util_cluster_namespaces_enable-namespaced-mode.md) - Enable namespaced mode for clusters which name matches to the specified pattern. - diff --git a/docs/operator-manual/server-commands/argocd-util_cluster_namespaces_disable-namespaced-mode.md b/docs/operator-manual/server-commands/argocd-util_cluster_namespaces_disable-namespaced-mode.md deleted file mode 100644 index 17cabd3d83668..0000000000000 --- a/docs/operator-manual/server-commands/argocd-util_cluster_namespaces_disable-namespaced-mode.md +++ /dev/null @@ -1,41 +0,0 @@ -## argocd-util cluster namespaces disable-namespaced-mode - -Disable namespaced mode for clusters which name matches to the specified pattern. - -``` -argocd-util cluster namespaces disable-namespaced-mode PATTERN [flags] -``` - -### Options - -``` - --dry-run Print what will be performed (default true) - -h, --help help for disable-namespaced-mode -``` - -### Options inherited from parent commands - -``` - --as string Username to impersonate for the operation - --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. - --certificate-authority string Path to a cert file for the certificate authority - --client-certificate string Path to a client certificate file for TLS - --client-key string Path to a client key file for TLS - --cluster string The name of the kubeconfig cluster to use - --context string The name of the kubeconfig context to use - --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure - --kubeconfig string Path to a kube config. Only required if out-of-cluster - -n, --namespace string If present, the namespace scope for this CLI request - --password string Password for basic authentication to the API server - --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") - --server string The address and port of the Kubernetes API server - --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. - --token string Bearer token for authentication to the API server - --user string The name of the kubeconfig user to use - --username string Username for basic authentication to the API server -``` - -### SEE ALSO - -* [argocd-util cluster namespaces](argocd-util_cluster_namespaces.md) - Print information namespaces which Argo CD manages in each cluster. - diff --git a/docs/operator-manual/server-commands/argocd-util_cluster_namespaces_enable-namespaced-mode.md b/docs/operator-manual/server-commands/argocd-util_cluster_namespaces_enable-namespaced-mode.md deleted file mode 100644 index 0e7983ba4163b..0000000000000 --- a/docs/operator-manual/server-commands/argocd-util_cluster_namespaces_enable-namespaced-mode.md +++ /dev/null @@ -1,43 +0,0 @@ -## argocd-util cluster namespaces enable-namespaced-mode - -Enable namespaced mode for clusters which name matches to the specified pattern. - -``` -argocd-util cluster namespaces enable-namespaced-mode PATTERN [flags] -``` - -### Options - -``` - --cluster-resources Indicates if cluster level resources should be managed. - --dry-run Print what will be performed (default true) - -h, --help help for enable-namespaced-mode - --max-namespace-count int Max number of namespaces that cluster should managed managed namespaces is less or equal to specified count -``` - -### Options inherited from parent commands - -``` - --as string Username to impersonate for the operation - --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. - --certificate-authority string Path to a cert file for the certificate authority - --client-certificate string Path to a client certificate file for TLS - --client-key string Path to a client key file for TLS - --cluster string The name of the kubeconfig cluster to use - --context string The name of the kubeconfig context to use - --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure - --kubeconfig string Path to a kube config. Only required if out-of-cluster - -n, --namespace string If present, the namespace scope for this CLI request - --password string Password for basic authentication to the API server - --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") - --server string The address and port of the Kubernetes API server - --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. - --token string Bearer token for authentication to the API server - --user string The name of the kubeconfig user to use - --username string Username for basic authentication to the API server -``` - -### SEE ALSO - -* [argocd-util cluster namespaces](argocd-util_cluster_namespaces.md) - Print information namespaces which Argo CD manages in each cluster. - diff --git a/docs/operator-manual/server-commands/argocd-util_config.md b/docs/operator-manual/server-commands/argocd-util_config.md deleted file mode 100644 index b7e711501dcaa..0000000000000 --- a/docs/operator-manual/server-commands/argocd-util_config.md +++ /dev/null @@ -1,22 +0,0 @@ -## argocd-util config - -Generate declarative configuration files - -``` -argocd-util config [flags] -``` - -### Options - -``` - -h, --help help for config -``` - -### SEE ALSO - -* [argocd-util](argocd-util.md) - argocd-util tools used by Argo CD -* [argocd-util config app](argocd-util_config_app.md) - Generate declarative config for an application -* [argocd-util config cluster](argocd-util_config_cluster.md) - Generate declarative config for a cluster -* [argocd-util config proj](argocd-util_config_proj.md) - Generate declarative config for a project -* [argocd-util config repo](argocd-util_config_repo.md) - Generate declarative config for a repo - diff --git a/docs/operator-manual/server-commands/argocd-util_config_app.md b/docs/operator-manual/server-commands/argocd-util_config_app.md deleted file mode 100644 index 1908198c9a612..0000000000000 --- a/docs/operator-manual/server-commands/argocd-util_config_app.md +++ /dev/null @@ -1,89 +0,0 @@ -## argocd-util config app - -Generate declarative config for an application - -``` -argocd-util config app APPNAME [flags] -``` - -### Examples - -``` - - # Generate declarative config for a directory app - argocd-util config app guestbook --repo https://github.com/argoproj/argocd-example-apps.git --path guestbook --dest-namespace default --dest-server https://kubernetes.default.svc --directory-recurse - - # Generate declarative config for a Jsonnet app - argocd-util config app jsonnet-guestbook --repo https://github.com/argoproj/argocd-example-apps.git --path jsonnet-guestbook --dest-namespace default --dest-server https://kubernetes.default.svc --jsonnet-ext-str replicas=2 - - # Generate declarative config for a Helm app - argocd-util config app helm-guestbook --repo https://github.com/argoproj/argocd-example-apps.git --path helm-guestbook --dest-namespace default --dest-server https://kubernetes.default.svc --helm-set replicaCount=2 - - # Generate declarative config for a Helm app from a Helm repo - argocd-util config app nginx-ingress --repo https://kubernetes-charts.storage.googleapis.com --helm-chart nginx-ingress --revision 1.24.3 --dest-namespace default --dest-server https://kubernetes.default.svc - - # Generate declarative config for a Kustomize app - argocd-util config app kustomize-guestbook --repo https://github.com/argoproj/argocd-example-apps.git --path kustomize-guestbook --dest-namespace default --dest-server https://kubernetes.default.svc --kustomize-image gcr.io/heptio-images/ks-guestbook-demo:0.1 - - # Generate declarative config for a app using a custom tool: - argocd-util config app ksane --repo https://github.com/argoproj/argocd-example-apps.git --path plugins/kasane --dest-namespace default --dest-server https://kubernetes.default.svc --config-management-plugin kasane - -``` - -### Options - -``` - --allow-empty Set allow zero live resources when sync is automated - --auto-prune Set automatic pruning when sync is automated - --config-management-plugin string Config management plugin name - --dest-name string K8s cluster Name (e.g. minikube) - --dest-namespace string K8s target namespace (overrides the namespace specified in the ksonnet app.yaml) - --dest-server string K8s cluster URL (e.g. https://kubernetes.default.svc) - --directory-exclude string Set glob expression used to exclude files from application source path - --directory-include string Set glob expression used to include files from application source path - --directory-recurse Recurse directory - --env string Application environment to monitor - --helm-chart string Helm Chart name - --helm-set stringArray Helm set values on the command line (can be repeated to set several values: --helm-set key1=val1 --helm-set key2=val2) - --helm-set-file stringArray Helm set values from respective files specified via the command line (can be repeated to set several values: --helm-set-file key1=path1 --helm-set-file key2=path2) - --helm-set-string stringArray Helm set STRING values on the command line (can be repeated to set several values: --helm-set-string key1=val1 --helm-set-string key2=val2) - --helm-version string Helm version - -h, --help help for app - --jsonnet-ext-var-code stringArray Jsonnet ext var - --jsonnet-ext-var-str stringArray Jsonnet string ext var - --jsonnet-libs stringArray Additional jsonnet libs (prefixed by repoRoot) - --jsonnet-tla-code stringArray Jsonnet top level code arguments - --jsonnet-tla-str stringArray Jsonnet top level string arguments - --kustomize-common-annotation stringArray Set common labels in Kustomize - --kustomize-common-label stringArray Set common labels in Kustomize - --kustomize-image stringArray Kustomize images (e.g. --kustomize-image node:8.15.0 --kustomize-image mysql=mariadb,alpine@sha256:24a0c4b4a4c0eb97a1aabb8e29f18e917d05abfe1b7a7c07857230879ce7d3d) - --kustomize-version string Kustomize version - -l, --label stringArray Labels to apply to the app - --name string A name for the app, ignored if a file is set (DEPRECATED) - --nameprefix string Kustomize nameprefix - --namesuffix string Kustomize namesuffix - -o, --output string Output format. One of: json|yaml (default "yaml") - -p, --parameter stringArray set a parameter override (e.g. -p guestbook=image=example/guestbook:latest) - --path string Path in repository to the app directory, ignored if a file is set - --plugin-env stringArray Additional plugin envs - --project string Application project name - --release-name string Helm release-name - --repo string Repository URL, ignored if a file is set - --retry-backoff-duration duration Retry backoff base duration. Input needs to be a duration (e.g. 2m, 1h) (default 5s) - --retry-backoff-factor int Factor multiplies the base duration after each failed retry (default 2) - --retry-backoff-max-duration duration Max retry backoff duration. Input needs to be a duration (e.g. 2m, 1h) (default 3m0s) - --retry-limit int Max number of allowed sync retries - --revision string The tracking source branch, tag, commit or Helm chart version the application will sync to - --revision-history-limit int How many items to keep in revision history (default 10) - --self-heal Set self healing when sync is automated - --sync-option Prune=false Add or remove a sync option, e.g add Prune=false. Remove using `!` prefix, e.g. `!Prune=false` - --sync-policy string Set the sync policy (one of: none, automated (aliases of automated: auto, automatic)) - --validate Validation of repo and cluster (default true) - --values stringArray Helm values file(s) to use - --values-literal-file string Filename or URL to import as a literal Helm values block -``` - -### SEE ALSO - -* [argocd-util config](argocd-util_config.md) - Generate declarative configuration files - diff --git a/docs/operator-manual/server-commands/argocd-util_config_cluster.md b/docs/operator-manual/server-commands/argocd-util_config_cluster.md deleted file mode 100644 index 8bd02356d6402..0000000000000 --- a/docs/operator-manual/server-commands/argocd-util_config_cluster.md +++ /dev/null @@ -1,32 +0,0 @@ -## argocd-util config cluster - -Generate declarative config for a cluster - -``` -argocd-util config cluster CONTEXT [flags] -``` - -### Options - -``` - --aws-cluster-name string AWS Cluster name if set then aws cli eks token command will be used to access cluster - --aws-role-arn string Optional AWS role arn. If set then AWS IAM Authenticator assumes a role to perform cluster operations instead of the default AWS credential provider chain. - --bearer-token string Authentication token that should be used to access K8S API server - --exec-command string Command to run to provide client credentials to the cluster. You may need to build a custom ArgoCD image to ensure the command is available at runtime. - --exec-command-api-version string Preferred input version of the ExecInfo for the --exec-command executable - --exec-command-args stringArray Arguments to supply to the --exec-command executable - --exec-command-env stringToString Environment vars to set when running the --exec-command executable (default []) - --exec-command-install-hint string Text shown to the user when the --exec-command executable doesn't seem to be present - -h, --help help for cluster - --in-cluster Indicates Argo CD resides inside this cluster and should connect using the internal k8s hostname (kubernetes.default.svc) - --kubeconfig string use a particular kubeconfig file - --name string Overwrite the cluster name - --namespace stringArray List of namespaces which are allowed to manage - -o, --output string Output format. One of: json|yaml (default "yaml") - --shard int Cluster shard number; inferred from hostname if not set (default -1) -``` - -### SEE ALSO - -* [argocd-util config](argocd-util_config.md) - Generate declarative configuration files - diff --git a/docs/operator-manual/server-commands/argocd-util_config_proj.md b/docs/operator-manual/server-commands/argocd-util_config_proj.md deleted file mode 100644 index b43963cc877d2..0000000000000 --- a/docs/operator-manual/server-commands/argocd-util_config_proj.md +++ /dev/null @@ -1,25 +0,0 @@ -## argocd-util config proj - -Generate declarative config for a project - -``` -argocd-util config proj PROJECT [flags] -``` - -### Options - -``` - --description string Project description - -d, --dest stringArray Permitted destination server and namespace (e.g. https://192.168.99.100:8443,default) - -h, --help help for proj - --orphaned-resources Enables orphaned resources monitoring - --orphaned-resources-warn Specifies if applications should have a warning condition when orphaned resources detected - -o, --output string Output format. One of: json|yaml (default "yaml") - --signature-keys strings GnuPG public key IDs for commit signature verification - -s, --src stringArray Permitted source repository URL -``` - -### SEE ALSO - -* [argocd-util config](argocd-util_config.md) - Generate declarative configuration files - diff --git a/docs/operator-manual/server-commands/argocd-util_config_repo.md b/docs/operator-manual/server-commands/argocd-util_config_repo.md deleted file mode 100644 index 80fec43bf7a7d..0000000000000 --- a/docs/operator-manual/server-commands/argocd-util_config_repo.md +++ /dev/null @@ -1,61 +0,0 @@ -## argocd-util config repo - -Generate declarative config for a repo - -``` -argocd-util config repo REPOURL [flags] -``` - -### Examples - -``` - - # Add a Git repository via SSH using a private key for authentication, ignoring the server's host key: - argocd-util config repo git@git.example.com:repos/repo --insecure-ignore-host-key --ssh-private-key-path ~/id_rsa - - # Add a Git repository via SSH on a non-default port - need to use ssh:// style URLs here - argocd-util config repo ssh://git@git.example.com:2222/repos/repo --ssh-private-key-path ~/id_rsa - - # Add a private Git repository via HTTPS using username/password and TLS client certificates: - argocd-util config repo https://git.example.com/repos/repo --username git --password secret --tls-client-cert-path ~/mycert.crt --tls-client-cert-key-path ~/mycert.key - - # Add a private Git repository via HTTPS using username/password without verifying the server's TLS certificate - argocd-util config repo https://git.example.com/repos/repo --username git --password secret --insecure-skip-server-verification - - # Add a public Helm repository named 'stable' via HTTPS - argocd-util config repo https://kubernetes-charts.storage.googleapis.com --type helm --name stable - - # Add a private Helm repository named 'stable' via HTTPS - argocd-util config repo https://kubernetes-charts.storage.googleapis.com --type helm --name stable --username test --password test - - # Add a private Helm OCI-based repository named 'stable' via HTTPS - argocd-util config repo helm-oci-registry.cn-zhangjiakou.cr.aliyuncs.com --type helm --name stable --enable-oci --username test --password test - -``` - -### Options - -``` - --enable-lfs enable git-lfs (Large File Support) on this repository - --enable-oci enable helm-oci (Helm OCI-Based Repository) - --github-app-enterprise-base-url string base url to use when using GitHub Enterprise (e.g. https://ghe.example.com/api/v3 - --github-app-id int id of the GitHub Application - --github-app-installation-id int installation id of the GitHub Application - --github-app-private-key-path string private key of the GitHub Application - -h, --help help for repo - --insecure-ignore-host-key disables SSH strict host key checking (deprecated, use --insecure-skip-server-verification instead) - --insecure-skip-server-verification disables server certificate and host key checks - --name string name of the repository, mandatory for repositories of type helm - -o, --output string Output format. One of: json|yaml (default "yaml") - --password string password to the repository - --ssh-private-key-path string path to the private ssh key (e.g. ~/.ssh/id_rsa) - --tls-client-cert-key-path string path to the TLS client cert's key path (must be PEM format) - --tls-client-cert-path string path to the TLS client cert (must be PEM format) - --type string type of the repository, "git" or "helm" (default "git") - --username string username to the repository -``` - -### SEE ALSO - -* [argocd-util config](argocd-util_config.md) - Generate declarative configuration files - diff --git a/docs/operator-manual/server-commands/argocd-util_dashboard.md b/docs/operator-manual/server-commands/argocd-util_dashboard.md deleted file mode 100644 index 3226caf47d9e6..0000000000000 --- a/docs/operator-manual/server-commands/argocd-util_dashboard.md +++ /dev/null @@ -1,37 +0,0 @@ -## argocd-util dashboard - - - -``` -argocd-util dashboard [flags] -``` - -### Options - -``` - --as string Username to impersonate for the operation - --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. - --certificate-authority string Path to a cert file for the certificate authority - --client-certificate string Path to a client certificate file for TLS - --client-key string Path to a client key file for TLS - --cluster string The name of the kubeconfig cluster to use - --context string The name of the kubeconfig context to use - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server - -h, --help help for dashboard - --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure - --kubeconfig string Path to a kube config. Only required if out-of-cluster - -n, --namespace string If present, the namespace scope for this CLI request - --password string Password for basic authentication to the API server - --port int Listen on given port (default 8080) - --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") - --server string The address and port of the Kubernetes API server - --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. - --token string Bearer token for authentication to the API server - --user string The name of the kubeconfig user to use - --username string Username for basic authentication to the API server -``` - -### SEE ALSO - -* [argocd-util](argocd-util.md) - argocd-util tools used by Argo CD - diff --git a/docs/operator-manual/server-commands/argocd-util_gendexcfg.md b/docs/operator-manual/server-commands/argocd-util_gendexcfg.md deleted file mode 100644 index 4f3f0c5a78082..0000000000000 --- a/docs/operator-manual/server-commands/argocd-util_gendexcfg.md +++ /dev/null @@ -1,36 +0,0 @@ -## argocd-util gendexcfg - -Generates a dex config from Argo CD settings - -``` -argocd-util gendexcfg [flags] -``` - -### Options - -``` - --as string Username to impersonate for the operation - --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. - --certificate-authority string Path to a cert file for the certificate authority - --client-certificate string Path to a client certificate file for TLS - --client-key string Path to a client key file for TLS - --cluster string The name of the kubeconfig cluster to use - --context string The name of the kubeconfig context to use - -h, --help help for gendexcfg - --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure - --kubeconfig string Path to a kube config. Only required if out-of-cluster - -n, --namespace string If present, the namespace scope for this CLI request - -o, --out string Output to the specified file instead of stdout - --password string Password for basic authentication to the API server - --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") - --server string The address and port of the Kubernetes API server - --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. - --token string Bearer token for authentication to the API server - --user string The name of the kubeconfig user to use - --username string Username for basic authentication to the API server -``` - -### SEE ALSO - -* [argocd-util](argocd-util.md) - argocd-util tools used by Argo CD - diff --git a/docs/operator-manual/server-commands/argocd-util_kubeconfig.md b/docs/operator-manual/server-commands/argocd-util_kubeconfig.md deleted file mode 100644 index 70426e22876cb..0000000000000 --- a/docs/operator-manual/server-commands/argocd-util_kubeconfig.md +++ /dev/null @@ -1,35 +0,0 @@ -## argocd-util kubeconfig - -Generates kubeconfig for the specified cluster - -``` -argocd-util kubeconfig CLUSTER_URL OUTPUT_PATH [flags] -``` - -### Options - -``` - --as string Username to impersonate for the operation - --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. - --certificate-authority string Path to a cert file for the certificate authority - --client-certificate string Path to a client certificate file for TLS - --client-key string Path to a client key file for TLS - --cluster string The name of the kubeconfig cluster to use - --context string The name of the kubeconfig context to use - -h, --help help for kubeconfig - --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure - --kubeconfig string Path to a kube config. Only required if out-of-cluster - -n, --namespace string If present, the namespace scope for this CLI request - --password string Password for basic authentication to the API server - --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") - --server string The address and port of the Kubernetes API server - --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. - --token string Bearer token for authentication to the API server - --user string The name of the kubeconfig user to use - --username string Username for basic authentication to the API server -``` - -### SEE ALSO - -* [argocd-util](argocd-util.md) - argocd-util tools used by Argo CD - diff --git a/docs/operator-manual/server-commands/argocd-util_proj.md b/docs/operator-manual/server-commands/argocd-util_proj.md deleted file mode 100644 index 0cef263287e10..0000000000000 --- a/docs/operator-manual/server-commands/argocd-util_proj.md +++ /dev/null @@ -1,21 +0,0 @@ -## argocd-util proj - -Manage projects configuration - -``` -argocd-util proj [flags] -``` - -### Options - -``` - -h, --help help for proj -``` - -### SEE ALSO - -* [argocd-util](argocd-util.md) - argocd-util tools used by Argo CD -* [argocd-util proj generate-allow-list](argocd-util_proj_generate-allow-list.md) - Generates project allow list from the specified clusterRole file -* [argocd-util proj generate-spec](argocd-util_proj_generate-spec.md) - Generate declarative config for a project -* [argocd-util proj update-role-policy](argocd-util_proj_update-role-policy.md) - Implement bulk project role update. Useful to back-fill existing project policies or remove obsolete actions. - diff --git a/docs/operator-manual/server-commands/argocd-util_proj_generate-spec.md b/docs/operator-manual/server-commands/argocd-util_proj_generate-spec.md deleted file mode 100644 index 74407a69d8ab8..0000000000000 --- a/docs/operator-manual/server-commands/argocd-util_proj_generate-spec.md +++ /dev/null @@ -1,30 +0,0 @@ -## argocd-util proj generate-spec - -Generate declarative config for a project - -``` -argocd-util proj generate-spec PROJECT [flags] -``` - -### Options - -``` - --allow-cluster-resource stringArray List of allowed cluster level resources - --allow-namespaced-resource stringArray List of allowed namespaced resources - --deny-cluster-resource stringArray List of denied cluster level resources - --deny-namespaced-resource stringArray List of denied namespaced resources - --description string Project description - -d, --dest stringArray Permitted destination server and namespace (e.g. https://192.168.99.100:8443,default) - -f, --file string Filename or URL to Kubernetes manifests for the project - -h, --help help for generate-spec - --orphaned-resources Enables orphaned resources monitoring - --orphaned-resources-warn Specifies if applications should have a warning condition when orphaned resources detected - -o, --output string Output format. One of: json|yaml (default "yaml") - --signature-keys strings GnuPG public key IDs for commit signature verification - -s, --src stringArray Permitted source repository URL -``` - -### SEE ALSO - -* [argocd-util proj](argocd-util_proj.md) - Manage projects configuration - diff --git a/docs/operator-manual/server-commands/argocd-util_proj_update-role-policy.md b/docs/operator-manual/server-commands/argocd-util_proj_update-role-policy.md deleted file mode 100644 index 56506b7927f3f..0000000000000 --- a/docs/operator-manual/server-commands/argocd-util_proj_update-role-policy.md +++ /dev/null @@ -1,51 +0,0 @@ -## argocd-util proj update-role-policy - -Implement bulk project role update. Useful to back-fill existing project policies or remove obsolete actions. - -``` -argocd-util proj update-role-policy PROJECT_GLOB MODIFICATION ACTION [flags] -``` - -### Examples - -``` - # Add policy that allows executing any action (action/*) to roles which name matches to *deployer* in all projects - argocd-util projects update-role-policy '*' set 'action/*' --role '*deployer*' --resource applications --scope '*' --permission allow - - # Remove policy that which manages running (action/*) from all roles which name matches *deployer* in all projects - argocd-util projects update-role-policy '*' remove override --role '*deployer*' - -``` - -### Options - -``` - --as string Username to impersonate for the operation - --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. - --certificate-authority string Path to a cert file for the certificate authority - --client-certificate string Path to a client certificate file for TLS - --client-key string Path to a client key file for TLS - --cluster string The name of the kubeconfig cluster to use - --context string The name of the kubeconfig context to use - --dry-run Dry run (default true) - -h, --help help for update-role-policy - --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure - --kubeconfig string Path to a kube config. Only required if out-of-cluster - -n, --namespace string If present, the namespace scope for this CLI request - --password string Password for basic authentication to the API server - --permission string Action permission - --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") - --resource string Resource e.g. 'applications' - --role string Role name pattern e.g. '*deployer*' (default "*") - --scope string Resource scope e.g. '*' - --server string The address and port of the Kubernetes API server - --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. - --token string Bearer token for authentication to the API server - --user string The name of the kubeconfig user to use - --username string Username for basic authentication to the API server -``` - -### SEE ALSO - -* [argocd-util proj](argocd-util_proj.md) - Manage projects configuration - diff --git a/docs/operator-manual/server-commands/argocd-util_projects.md b/docs/operator-manual/server-commands/argocd-util_projects.md deleted file mode 100644 index 5aa2d214f2894..0000000000000 --- a/docs/operator-manual/server-commands/argocd-util_projects.md +++ /dev/null @@ -1,20 +0,0 @@ -## argocd-util projects - -Utility commands operate on ArgoCD Projects - -``` -argocd-util projects [flags] -``` - -### Options - -``` - -h, --help help for projects -``` - -### SEE ALSO - -* [argocd-util](argocd-util.md) - argocd-util tools used by Argo CD -* [argocd-util projects generate-allow-list](argocd-util_projects_generate-allow-list.md) - Generates project allow list from the specified clusterRole file -* [argocd-util projects update-role-policy](argocd-util_projects_update-role-policy.md) - Implement bulk project role update. Useful to back-fill existing project policies or remove obsolete actions. - diff --git a/docs/operator-manual/server-commands/argocd-util_projects_generate-allow-list.md b/docs/operator-manual/server-commands/argocd-util_projects_generate-allow-list.md deleted file mode 100644 index f78512bd7a71f..0000000000000 --- a/docs/operator-manual/server-commands/argocd-util_projects_generate-allow-list.md +++ /dev/null @@ -1,36 +0,0 @@ -## argocd-util projects generate-allow-list - -Generates project allow list from the specified clusterRole file - -``` -argocd-util projects generate-allow-list CLUSTERROLE_PATH PROJ_NAME [flags] -``` - -### Options - -``` - --as string Username to impersonate for the operation - --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. - --certificate-authority string Path to a cert file for the certificate authority - --client-certificate string Path to a client certificate file for TLS - --client-key string Path to a client key file for TLS - --cluster string The name of the kubeconfig cluster to use - --context string The name of the kubeconfig context to use - -h, --help help for generate-allow-list - --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure - --kubeconfig string Path to a kube config. Only required if out-of-cluster - -n, --namespace string If present, the namespace scope for this CLI request - -o, --out string Output to the specified file instead of stdout (default "-") - --password string Password for basic authentication to the API server - --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") - --server string The address and port of the Kubernetes API server - --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. - --token string Bearer token for authentication to the API server - --user string The name of the kubeconfig user to use - --username string Username for basic authentication to the API server -``` - -### SEE ALSO - -* [argocd-util projects](argocd-util_projects.md) - Utility commands operate on ArgoCD Projects - diff --git a/docs/operator-manual/server-commands/argocd-util_repo.md b/docs/operator-manual/server-commands/argocd-util_repo.md deleted file mode 100644 index 5010cf024a18d..0000000000000 --- a/docs/operator-manual/server-commands/argocd-util_repo.md +++ /dev/null @@ -1,19 +0,0 @@ -## argocd-util repo - -Manage repositories configuration - -``` -argocd-util repo [flags] -``` - -### Options - -``` - -h, --help help for repo -``` - -### SEE ALSO - -* [argocd-util](argocd-util.md) - argocd-util tools used by Argo CD -* [argocd-util repo generate-spec](argocd-util_repo_generate-spec.md) - Generate declarative config for a repo - diff --git a/docs/operator-manual/server-commands/argocd-util_repo_generate-spec.md b/docs/operator-manual/server-commands/argocd-util_repo_generate-spec.md deleted file mode 100644 index 166a57e080646..0000000000000 --- a/docs/operator-manual/server-commands/argocd-util_repo_generate-spec.md +++ /dev/null @@ -1,62 +0,0 @@ -## argocd-util repo generate-spec - -Generate declarative config for a repo - -``` -argocd-util repo generate-spec REPOURL [flags] -``` - -### Examples - -``` - - # Add a Git repository via SSH using a private key for authentication, ignoring the server's host key: - argocd-util repo generate-spec git@git.example.com:repos/repo --insecure-ignore-host-key --ssh-private-key-path ~/id_rsa - - # Add a Git repository via SSH on a non-default port - need to use ssh:// style URLs here - argocd-util repo generate-spec ssh://git@git.example.com:2222/repos/repo --ssh-private-key-path ~/id_rsa - - # Add a private Git repository via HTTPS using username/password and TLS client certificates: - argocd-util repo generate-spec https://git.example.com/repos/repo --username git --password secret --tls-client-cert-path ~/mycert.crt --tls-client-cert-key-path ~/mycert.key - - # Add a private Git repository via HTTPS using username/password without verifying the server's TLS certificate - argocd-util repo generate-spec https://git.example.com/repos/repo --username git --password secret --insecure-skip-server-verification - - # Add a public Helm repository named 'stable' via HTTPS - argocd-util repo generate-spec https://charts.helm.sh/stable --type helm --name stable - - # Add a private Helm repository named 'stable' via HTTPS - argocd-util repo generate-spec https://charts.helm.sh/stable --type helm --name stable --username test --password test - - # Add a private Helm OCI-based repository named 'stable' via HTTPS - argocd-util repo generate-spec helm-oci-registry.cn-zhangjiakou.cr.aliyuncs.com --type helm --name stable --enable-oci --username test --password test - -``` - -### Options - -``` - --enable-lfs enable git-lfs (Large File Support) on this repository - --enable-oci enable helm-oci (Helm OCI-Based Repository) - --github-app-enterprise-base-url string base url to use when using GitHub Enterprise (e.g. https://ghe.example.com/api/v3 - --github-app-id int id of the GitHub Application - --github-app-installation-id int installation id of the GitHub Application - --github-app-private-key-path string private key of the GitHub Application - -h, --help help for generate-spec - --insecure-ignore-host-key disables SSH strict host key checking (deprecated, use --insecure-skip-server-verification instead) - --insecure-skip-server-verification disables server certificate and host key checks - --name string name of the repository, mandatory for repositories of type helm - -o, --output string Output format. One of: json|yaml (default "yaml") - --password string password to the repository - --proxy string use proxy to access repository - --ssh-private-key-path string path to the private ssh key (e.g. ~/.ssh/id_rsa) - --tls-client-cert-key-path string path to the TLS client cert's key path (must be PEM format) - --tls-client-cert-path string path to the TLS client cert (must be PEM format) - --type string type of the repository, "git" or "helm" (default "git") - --username string username to the repository -``` - -### SEE ALSO - -* [argocd-util repo](argocd-util_repo.md) - Manage repositories configuration - diff --git a/docs/operator-manual/server-commands/argocd-util_rundex.md b/docs/operator-manual/server-commands/argocd-util_rundex.md deleted file mode 100644 index 069cf329e23f8..0000000000000 --- a/docs/operator-manual/server-commands/argocd-util_rundex.md +++ /dev/null @@ -1,35 +0,0 @@ -## argocd-util rundex - -Runs dex generating a config using settings from the Argo CD configmap and secret - -``` -argocd-util rundex [flags] -``` - -### Options - -``` - --as string Username to impersonate for the operation - --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. - --certificate-authority string Path to a cert file for the certificate authority - --client-certificate string Path to a client certificate file for TLS - --client-key string Path to a client key file for TLS - --cluster string The name of the kubeconfig cluster to use - --context string The name of the kubeconfig context to use - -h, --help help for rundex - --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure - --kubeconfig string Path to a kube config. Only required if out-of-cluster - -n, --namespace string If present, the namespace scope for this CLI request - --password string Password for basic authentication to the API server - --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") - --server string The address and port of the Kubernetes API server - --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. - --token string Bearer token for authentication to the API server - --user string The name of the kubeconfig user to use - --username string Username for basic authentication to the API server -``` - -### SEE ALSO - -* [argocd-util](argocd-util.md) - argocd-util tools used by Argo CD - diff --git a/docs/operator-manual/server-commands/argocd-util_settings.md b/docs/operator-manual/server-commands/argocd-util_settings.md deleted file mode 100644 index 728f52ccd3527..0000000000000 --- a/docs/operator-manual/server-commands/argocd-util_settings.md +++ /dev/null @@ -1,41 +0,0 @@ -## argocd-util settings - -Provides set of commands for settings validation and troubleshooting - -``` -argocd-util settings [flags] -``` - -### Options - -``` - --argocd-cm-path string Path to local argocd-cm.yaml file - --argocd-secret-path string Path to local argocd-secret.yaml file - --as string Username to impersonate for the operation - --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. - --certificate-authority string Path to a cert file for the certificate authority - --client-certificate string Path to a client certificate file for TLS - --client-key string Path to a client key file for TLS - --cluster string The name of the kubeconfig cluster to use - --context string The name of the kubeconfig context to use - -h, --help help for settings - --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure - --kubeconfig string Path to a kube config. Only required if out-of-cluster - --load-cluster-settings Indicates that config map and secret should be loaded from cluster unless local file path is provided - -n, --namespace string If present, the namespace scope for this CLI request - --password string Password for basic authentication to the API server - --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") - --server string The address and port of the Kubernetes API server - --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. - --token string Bearer token for authentication to the API server - --user string The name of the kubeconfig user to use - --username string Username for basic authentication to the API server -``` - -### SEE ALSO - -* [argocd-util](argocd-util.md) - argocd-util tools used by Argo CD -* [argocd-util settings rbac](argocd-util_settings_rbac.md) - Validate and test RBAC configuration -* [argocd-util settings resource-overrides](argocd-util_settings_resource-overrides.md) - Troubleshoot resource overrides -* [argocd-util settings validate](argocd-util_settings_validate.md) - Validate settings - diff --git a/docs/operator-manual/server-commands/argocd-util_settings_rbac.md b/docs/operator-manual/server-commands/argocd-util_settings_rbac.md deleted file mode 100644 index 768f75dd39364..0000000000000 --- a/docs/operator-manual/server-commands/argocd-util_settings_rbac.md +++ /dev/null @@ -1,45 +0,0 @@ -## argocd-util settings rbac - -Validate and test RBAC configuration - -``` -argocd-util settings rbac [flags] -``` - -### Options - -``` - -h, --help help for rbac -``` - -### Options inherited from parent commands - -``` - --argocd-cm-path string Path to local argocd-cm.yaml file - --argocd-secret-path string Path to local argocd-secret.yaml file - --as string Username to impersonate for the operation - --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. - --certificate-authority string Path to a cert file for the certificate authority - --client-certificate string Path to a client certificate file for TLS - --client-key string Path to a client key file for TLS - --cluster string The name of the kubeconfig cluster to use - --context string The name of the kubeconfig context to use - --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure - --kubeconfig string Path to a kube config. Only required if out-of-cluster - --load-cluster-settings Indicates that config map and secret should be loaded from cluster unless local file path is provided - -n, --namespace string If present, the namespace scope for this CLI request - --password string Password for basic authentication to the API server - --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") - --server string The address and port of the Kubernetes API server - --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. - --token string Bearer token for authentication to the API server - --user string The name of the kubeconfig user to use - --username string Username for basic authentication to the API server -``` - -### SEE ALSO - -* [argocd-util settings](argocd-util_settings.md) - Provides set of commands for settings validation and troubleshooting -* [argocd-util settings rbac can](argocd-util_settings_rbac_can.md) - Check RBAC permissions for a role or subject -* [argocd-util settings rbac validate](argocd-util_settings_rbac_validate.md) - Validate RBAC policy - diff --git a/docs/operator-manual/server-commands/argocd-util_settings_rbac_can.md b/docs/operator-manual/server-commands/argocd-util_settings_rbac_can.md deleted file mode 100644 index 24a5c2d2277f7..0000000000000 --- a/docs/operator-manual/server-commands/argocd-util_settings_rbac_can.md +++ /dev/null @@ -1,78 +0,0 @@ -## argocd-util settings rbac can - -Check RBAC permissions for a role or subject - -### Synopsis - - -Check whether a given role or subject has appropriate RBAC permissions to do -something. - - -``` -argocd-util settings rbac can ROLE/SUBJECT ACTION RESOURCE [SUB-RESOURCE] [flags] -``` - -### Examples - -``` - -# Check whether role some:role has permissions to create an application in the -# 'default' project, using a local policy.csv file -argocd-util settings rbac can some:role create application 'default/app' --policy-file policy.csv - -# Policy file can also be K8s config map with data keys like argocd-rbac-cm, -# i.e. 'policy.csv' and (optionally) 'policy.default' -argocd-util settings rbac can some:role create application 'default/app' --policy-file argocd-rbac-cm.yaml - -# If --policy-file is not given, the ConfigMap 'argocd-rbac-cm' from K8s is -# used. You need to specify the argocd namespace, and make sure that your -# current Kubernetes context is pointing to the cluster Argo CD is running in -argocd-util settings rbac can some:role create application 'default/app' --namespace argocd - -# You can override a possibly configured default role -argocd-util settings rbac can someuser create application 'default/app' --default-role role:readonly - - -``` - -### Options - -``` - --default-role string name of the default role to use - -h, --help help for can - --policy-file string path to the policy file to use - -q, --quiet quiet mode - do not print results to stdout - --strict whether to perform strict check on action and resource names (default true) - --use-builtin-policy whether to also use builtin-policy (default true) -``` - -### Options inherited from parent commands - -``` - --argocd-cm-path string Path to local argocd-cm.yaml file - --argocd-secret-path string Path to local argocd-secret.yaml file - --as string Username to impersonate for the operation - --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. - --certificate-authority string Path to a cert file for the certificate authority - --client-certificate string Path to a client certificate file for TLS - --client-key string Path to a client key file for TLS - --cluster string The name of the kubeconfig cluster to use - --context string The name of the kubeconfig context to use - --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure - --kubeconfig string Path to a kube config. Only required if out-of-cluster - --load-cluster-settings Indicates that config map and secret should be loaded from cluster unless local file path is provided - -n, --namespace string If present, the namespace scope for this CLI request - --password string Password for basic authentication to the API server - --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") - --server string The address and port of the Kubernetes API server - --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. - --token string Bearer token for authentication to the API server - --user string The name of the kubeconfig user to use - --username string Username for basic authentication to the API server -``` - -### SEE ALSO - -* [argocd-util settings rbac](argocd-util_settings_rbac.md) - Validate and test RBAC configuration - diff --git a/docs/operator-manual/server-commands/argocd-util_settings_rbac_validate.md b/docs/operator-manual/server-commands/argocd-util_settings_rbac_validate.md deleted file mode 100644 index 81ae11d44face..0000000000000 --- a/docs/operator-manual/server-commands/argocd-util_settings_rbac_validate.md +++ /dev/null @@ -1,51 +0,0 @@ -## argocd-util settings rbac validate - -Validate RBAC policy - -### Synopsis - - -Validates an RBAC policy for being syntactically correct. The policy must be -a local file, and in either CSV or K8s ConfigMap format. - - -``` -argocd-util settings rbac validate --policy-file=POLICYFILE [flags] -``` - -### Options - -``` - -h, --help help for validate - --policy-file string path to the policy file to use -``` - -### Options inherited from parent commands - -``` - --argocd-cm-path string Path to local argocd-cm.yaml file - --argocd-secret-path string Path to local argocd-secret.yaml file - --as string Username to impersonate for the operation - --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. - --certificate-authority string Path to a cert file for the certificate authority - --client-certificate string Path to a client certificate file for TLS - --client-key string Path to a client key file for TLS - --cluster string The name of the kubeconfig cluster to use - --context string The name of the kubeconfig context to use - --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure - --kubeconfig string Path to a kube config. Only required if out-of-cluster - --load-cluster-settings Indicates that config map and secret should be loaded from cluster unless local file path is provided - -n, --namespace string If present, the namespace scope for this CLI request - --password string Password for basic authentication to the API server - --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") - --server string The address and port of the Kubernetes API server - --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. - --token string Bearer token for authentication to the API server - --user string The name of the kubeconfig user to use - --username string Username for basic authentication to the API server -``` - -### SEE ALSO - -* [argocd-util settings rbac](argocd-util_settings_rbac.md) - Validate and test RBAC configuration - diff --git a/docs/operator-manual/server-commands/argocd-util_settings_resource-overrides.md b/docs/operator-manual/server-commands/argocd-util_settings_resource-overrides.md deleted file mode 100644 index 9baf7d5e88a26..0000000000000 --- a/docs/operator-manual/server-commands/argocd-util_settings_resource-overrides.md +++ /dev/null @@ -1,47 +0,0 @@ -## argocd-util settings resource-overrides - -Troubleshoot resource overrides - -``` -argocd-util settings resource-overrides [flags] -``` - -### Options - -``` - -h, --help help for resource-overrides -``` - -### Options inherited from parent commands - -``` - --argocd-cm-path string Path to local argocd-cm.yaml file - --argocd-secret-path string Path to local argocd-secret.yaml file - --as string Username to impersonate for the operation - --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. - --certificate-authority string Path to a cert file for the certificate authority - --client-certificate string Path to a client certificate file for TLS - --client-key string Path to a client key file for TLS - --cluster string The name of the kubeconfig cluster to use - --context string The name of the kubeconfig context to use - --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure - --kubeconfig string Path to a kube config. Only required if out-of-cluster - --load-cluster-settings Indicates that config map and secret should be loaded from cluster unless local file path is provided - -n, --namespace string If present, the namespace scope for this CLI request - --password string Password for basic authentication to the API server - --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") - --server string The address and port of the Kubernetes API server - --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. - --token string Bearer token for authentication to the API server - --user string The name of the kubeconfig user to use - --username string Username for basic authentication to the API server -``` - -### SEE ALSO - -* [argocd-util settings](argocd-util_settings.md) - Provides set of commands for settings validation and troubleshooting -* [argocd-util settings resource-overrides health](argocd-util_settings_resource-overrides_health.md) - Assess resource health -* [argocd-util settings resource-overrides ignore-differences](argocd-util_settings_resource-overrides_ignore-differences.md) - Renders fields excluded from diffing -* [argocd-util settings resource-overrides list-actions](argocd-util_settings_resource-overrides_list-actions.md) - List available resource actions -* [argocd-util settings resource-overrides run-action](argocd-util_settings_resource-overrides_run-action.md) - Executes resource action - diff --git a/docs/operator-manual/server-commands/argocd-util_settings_resource-overrides_health.md b/docs/operator-manual/server-commands/argocd-util_settings_resource-overrides_health.md deleted file mode 100644 index 815bf6d406cc3..0000000000000 --- a/docs/operator-manual/server-commands/argocd-util_settings_resource-overrides_health.md +++ /dev/null @@ -1,54 +0,0 @@ -## argocd-util settings resource-overrides health - -Assess resource health - -### Synopsis - -Assess resource health using the lua script configured in the 'resource.customizations' field of 'argocd-cm' ConfigMap - -``` -argocd-util settings resource-overrides health RESOURCE_YAML_PATH [flags] -``` - -### Examples - -``` - -argocd-util settings resource-overrides health ./deploy.yaml --argocd-cm-path ./argocd-cm.yaml -``` - -### Options - -``` - -h, --help help for health -``` - -### Options inherited from parent commands - -``` - --argocd-cm-path string Path to local argocd-cm.yaml file - --argocd-secret-path string Path to local argocd-secret.yaml file - --as string Username to impersonate for the operation - --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. - --certificate-authority string Path to a cert file for the certificate authority - --client-certificate string Path to a client certificate file for TLS - --client-key string Path to a client key file for TLS - --cluster string The name of the kubeconfig cluster to use - --context string The name of the kubeconfig context to use - --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure - --kubeconfig string Path to a kube config. Only required if out-of-cluster - --load-cluster-settings Indicates that config map and secret should be loaded from cluster unless local file path is provided - -n, --namespace string If present, the namespace scope for this CLI request - --password string Password for basic authentication to the API server - --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") - --server string The address and port of the Kubernetes API server - --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. - --token string Bearer token for authentication to the API server - --user string The name of the kubeconfig user to use - --username string Username for basic authentication to the API server -``` - -### SEE ALSO - -* [argocd-util settings resource-overrides](argocd-util_settings_resource-overrides.md) - Troubleshoot resource overrides - diff --git a/docs/operator-manual/server-commands/argocd-util_settings_resource-overrides_ignore-differences.md b/docs/operator-manual/server-commands/argocd-util_settings_resource-overrides_ignore-differences.md deleted file mode 100644 index c66be6208dca4..0000000000000 --- a/docs/operator-manual/server-commands/argocd-util_settings_resource-overrides_ignore-differences.md +++ /dev/null @@ -1,54 +0,0 @@ -## argocd-util settings resource-overrides ignore-differences - -Renders fields excluded from diffing - -### Synopsis - -Renders ignored fields using the 'ignoreDifferences' setting specified in the 'resource.customizations' field of 'argocd-cm' ConfigMap - -``` -argocd-util settings resource-overrides ignore-differences RESOURCE_YAML_PATH [flags] -``` - -### Examples - -``` - -argocd-util settings resource-overrides ignore-differences ./deploy.yaml --argocd-cm-path ./argocd-cm.yaml -``` - -### Options - -``` - -h, --help help for ignore-differences -``` - -### Options inherited from parent commands - -``` - --argocd-cm-path string Path to local argocd-cm.yaml file - --argocd-secret-path string Path to local argocd-secret.yaml file - --as string Username to impersonate for the operation - --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. - --certificate-authority string Path to a cert file for the certificate authority - --client-certificate string Path to a client certificate file for TLS - --client-key string Path to a client key file for TLS - --cluster string The name of the kubeconfig cluster to use - --context string The name of the kubeconfig context to use - --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure - --kubeconfig string Path to a kube config. Only required if out-of-cluster - --load-cluster-settings Indicates that config map and secret should be loaded from cluster unless local file path is provided - -n, --namespace string If present, the namespace scope for this CLI request - --password string Password for basic authentication to the API server - --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") - --server string The address and port of the Kubernetes API server - --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. - --token string Bearer token for authentication to the API server - --user string The name of the kubeconfig user to use - --username string Username for basic authentication to the API server -``` - -### SEE ALSO - -* [argocd-util settings resource-overrides](argocd-util_settings_resource-overrides.md) - Troubleshoot resource overrides - diff --git a/docs/operator-manual/server-commands/argocd-util_settings_resource-overrides_list-actions.md b/docs/operator-manual/server-commands/argocd-util_settings_resource-overrides_list-actions.md deleted file mode 100644 index 804a74b788368..0000000000000 --- a/docs/operator-manual/server-commands/argocd-util_settings_resource-overrides_list-actions.md +++ /dev/null @@ -1,54 +0,0 @@ -## argocd-util settings resource-overrides list-actions - -List available resource actions - -### Synopsis - -List actions available for given resource action using the lua scripts configured in the 'resource.customizations' field of 'argocd-cm' ConfigMap and outputs updated fields - -``` -argocd-util settings resource-overrides list-actions RESOURCE_YAML_PATH [flags] -``` - -### Examples - -``` - -argocd-util settings resource-overrides action list /tmp/deploy.yaml --argocd-cm-path ./argocd-cm.yaml -``` - -### Options - -``` - -h, --help help for list-actions -``` - -### Options inherited from parent commands - -``` - --argocd-cm-path string Path to local argocd-cm.yaml file - --argocd-secret-path string Path to local argocd-secret.yaml file - --as string Username to impersonate for the operation - --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. - --certificate-authority string Path to a cert file for the certificate authority - --client-certificate string Path to a client certificate file for TLS - --client-key string Path to a client key file for TLS - --cluster string The name of the kubeconfig cluster to use - --context string The name of the kubeconfig context to use - --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure - --kubeconfig string Path to a kube config. Only required if out-of-cluster - --load-cluster-settings Indicates that config map and secret should be loaded from cluster unless local file path is provided - -n, --namespace string If present, the namespace scope for this CLI request - --password string Password for basic authentication to the API server - --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") - --server string The address and port of the Kubernetes API server - --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. - --token string Bearer token for authentication to the API server - --user string The name of the kubeconfig user to use - --username string Username for basic authentication to the API server -``` - -### SEE ALSO - -* [argocd-util settings resource-overrides](argocd-util_settings_resource-overrides.md) - Troubleshoot resource overrides - diff --git a/docs/operator-manual/server-commands/argocd-util_settings_resource-overrides_run-action.md b/docs/operator-manual/server-commands/argocd-util_settings_resource-overrides_run-action.md deleted file mode 100644 index f4992e79dfd9e..0000000000000 --- a/docs/operator-manual/server-commands/argocd-util_settings_resource-overrides_run-action.md +++ /dev/null @@ -1,54 +0,0 @@ -## argocd-util settings resource-overrides run-action - -Executes resource action - -### Synopsis - -Executes resource action using the lua script configured in the 'resource.customizations' field of 'argocd-cm' ConfigMap and outputs updated fields - -``` -argocd-util settings resource-overrides run-action RESOURCE_YAML_PATH ACTION [flags] -``` - -### Examples - -``` - -argocd-util settings resource-overrides action run /tmp/deploy.yaml restart --argocd-cm-path ./argocd-cm.yaml -``` - -### Options - -``` - -h, --help help for run-action -``` - -### Options inherited from parent commands - -``` - --argocd-cm-path string Path to local argocd-cm.yaml file - --argocd-secret-path string Path to local argocd-secret.yaml file - --as string Username to impersonate for the operation - --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. - --certificate-authority string Path to a cert file for the certificate authority - --client-certificate string Path to a client certificate file for TLS - --client-key string Path to a client key file for TLS - --cluster string The name of the kubeconfig cluster to use - --context string The name of the kubeconfig context to use - --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure - --kubeconfig string Path to a kube config. Only required if out-of-cluster - --load-cluster-settings Indicates that config map and secret should be loaded from cluster unless local file path is provided - -n, --namespace string If present, the namespace scope for this CLI request - --password string Password for basic authentication to the API server - --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") - --server string The address and port of the Kubernetes API server - --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. - --token string Bearer token for authentication to the API server - --user string The name of the kubeconfig user to use - --username string Username for basic authentication to the API server -``` - -### SEE ALSO - -* [argocd-util settings resource-overrides](argocd-util_settings_resource-overrides.md) - Troubleshoot resource overrides - diff --git a/docs/operator-manual/server-commands/argocd-util_settings_validate.md b/docs/operator-manual/server-commands/argocd-util_settings_validate.md deleted file mode 100644 index 855c3098b2887..0000000000000 --- a/docs/operator-manual/server-commands/argocd-util_settings_validate.md +++ /dev/null @@ -1,59 +0,0 @@ -## argocd-util settings validate - -Validate settings - -### Synopsis - -Validates settings specified in 'argocd-cm' ConfigMap and 'argocd-secret' Secret - -``` -argocd-util settings validate [flags] -``` - -### Examples - -``` - -#Validates all settings in the specified YAML file -argocd-util settings validate --argocd-cm-path ./argocd-cm.yaml - -#Validates accounts and plugins settings in Kubernetes cluster of current kubeconfig context -argocd-util settings validate --group accounts --group plugins --load-cluster-settings -``` - -### Options - -``` - --group stringArray Optional list of setting groups that have to be validated ( one of: accounts, general, kustomize, plugins, repositories, resource-overrides) - -h, --help help for validate -``` - -### Options inherited from parent commands - -``` - --argocd-cm-path string Path to local argocd-cm.yaml file - --argocd-secret-path string Path to local argocd-secret.yaml file - --as string Username to impersonate for the operation - --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. - --certificate-authority string Path to a cert file for the certificate authority - --client-certificate string Path to a client certificate file for TLS - --client-key string Path to a client key file for TLS - --cluster string The name of the kubeconfig cluster to use - --context string The name of the kubeconfig context to use - --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure - --kubeconfig string Path to a kube config. Only required if out-of-cluster - --load-cluster-settings Indicates that config map and secret should be loaded from cluster unless local file path is provided - -n, --namespace string If present, the namespace scope for this CLI request - --password string Password for basic authentication to the API server - --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") - --server string The address and port of the Kubernetes API server - --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. - --token string Bearer token for authentication to the API server - --user string The name of the kubeconfig user to use - --username string Username for basic authentication to the API server -``` - -### SEE ALSO - -* [argocd-util settings](argocd-util_settings.md) - Provides set of commands for settings validation and troubleshooting - diff --git a/docs/operator-manual/server-commands/argocd-util_version.md b/docs/operator-manual/server-commands/argocd-util_version.md deleted file mode 100644 index cf2325ad03c25..0000000000000 --- a/docs/operator-manual/server-commands/argocd-util_version.md +++ /dev/null @@ -1,19 +0,0 @@ -## argocd-util version - -Print version information - -``` -argocd-util version [flags] -``` - -### Options - -``` - -h, --help help for version - --short print just the version number -``` - -### SEE ALSO - -* [argocd-util](argocd-util.md) - argocd-util tools used by Argo CD - diff --git a/docs/operator-manual/troubleshooting.md b/docs/operator-manual/troubleshooting.md index 6057cb4d366cc..884045410b0b8 100644 --- a/docs/operator-manual/troubleshooting.md +++ b/docs/operator-manual/troubleshooting.md @@ -1,29 +1,15 @@ # Troubleshooting Tools -The document describes how to use `argocd-tool` binary to simplify Argo CD settings customizations and troubleshot +The document describes how to use `argocd admin` subcommands to simplify Argo CD settings customizations and troubleshot connectivity issues. ## Settings Argo CD provides multiple ways to customize system behavior and has a lot of settings. It might be dangerous to modify -settings on Argo CD used in production by multiple users. Before applying settings you can use `argocd-util` binary to -make sure that settings are valid and Argo CD is working as expected. The `argocd-util` binary is available in `argocd` -image and might be used using docker. -You can download the latest `argocd-util` binary from [the latest release page of this repository](https://github.com/argoproj/argo-cd/releases/latest), which will include the `argocd-util` CLI. -Example: +settings on Argo CD used in production by multiple users. Before applying settings you can use `argocd admin` subcommands to +make sure that settings are valid and Argo CD is working as expected. -```bash -docker run --rm -it -w /src -v $(pwd):/src argoproj/argocd: \ - argocd-util settings validate --argocd-cm-path ./argocd-cm.yaml -``` - -If you are using Linux you can extract `argocd-util` binary from docker image: - -```bash -docker run --rm -it -w /src -v $(pwd):/src argocd cp /usr/local/bin/argocd-util ./argocd-util -``` - -The `argocd-util settings validate` command performs basic settings validation and print short summary +The `argocd admin settings validate` command performs basic settings validation and print short summary of each settings group. **Diffing Customization** @@ -31,11 +17,10 @@ of each settings group. [Diffing customization](../user-guide/diffing.md) allows excluding some resource fields from diffing process. The diffing customizations are configured in `resource.customizations` field of `argocd-cm` ConfigMap. -The following `argocd-util` command prints information about fields excluded from diffing in the specified ConfigMap. +The following `argocd admin` command prints information about fields excluded from diffing in the specified ConfigMap. ```bash -docker run --rm -it -w /src -v $(pwd):/src argoproj/argocd: \ - argocd-util settings resource-overrides ignore-differences ./deploy.yaml --argocd-cm-path ./argocd-cm.yaml +argocd admin settings resource-overrides ignore-differences ./deploy.yaml --argocd-cm-path ./argocd-cm.yaml ``` **Health Assessment** @@ -44,35 +29,32 @@ Argo CD provides built-in [health assessment](./health.md) for several kubernete customized by writing your own health checks in [Lua](https://www.lua.org/). The health checks are configured in the `resource.customizations` field of `argocd-cm` ConfigMap. -The following `argocd-util` command assess resource health using Lua script configured in the specified ConfigMap. +The following `argocd admin` command assess resource health using Lua script configured in the specified ConfigMap. ```bash -docker run --rm -it -w /src -v $(pwd):/src argoproj/argocd: \ - argocd-util settings resource-overrides health ./deploy.yaml --argocd-cm-path ./argocd-cm.yaml +argocd admin settings resource-overrides health ./deploy.yaml --argocd-cm-path ./argocd-cm.yaml ``` **Resource Actions** Resource actions allows configuring named Lua script which performs resource modification. -The following `argocd-util` command executes action using Lua script configured in the specified ConfigMap and prints +The following `argocd admin` command executes action using Lua script configured in the specified ConfigMap and prints applied modifications. ```bash -docker run --rm -it -w /src -v $(pwd):/src argoproj/argocd: \ - argocd-util settings resource-overrides run-action /tmp/deploy.yaml restart --argocd-cm-path /private/tmp/argocd-cm.yaml +argocd admin settings resource-overrides run-action /tmp/deploy.yaml restart --argocd-cm-path /private/tmp/argocd-cm.yaml ``` -The following `argocd-util` command lists actions available for a given resource using Lua script configured in the specified ConfigMap. +The following `argocd admin` command lists actions available for a given resource using Lua script configured in the specified ConfigMap. ```bash -docker run --rm -it -w /src -v $(pwd):/src argoproj/argocd: \ - argocd-util settings resource-overrides list-actions /tmp/deploy.yaml --argocd-cm-path /private/tmp/argocd-cm.yaml +argocd admin settings resource-overrides list-actions /tmp/deploy.yaml --argocd-cm-path /private/tmp/argocd-cm.yaml ``` ## Cluster credentials -The `argocd-util cluster kubeconfig` is useful if you manually created Secret with cluster credentials and trying need to +The `argocd admin cluster kubeconfig` is useful if you manually created Secret with cluster credentials and trying need to troubleshoot connectivity issues. In this case, it is suggested to use the following steps: 1 SSH into [argocd-application-controller] pod. @@ -82,10 +64,10 @@ kubectl exec -n argocd -it \ $(kubectl get pods -n argocd -l app.kubernetes.io/name=argocd-application-controller -o jsonpath='{.items[0].metadata.name}') bash ``` -2 Use `argocd-util cluster kubeconfig` command to export kubeconfig file from the configured Secret: +2 Use `argocd admin cluster kubeconfig` command to export kubeconfig file from the configured Secret: ``` -argocd-util cluster kubeconfig https:// /tmp/kubeconfig --namespace argocd +argocd admin cluster kubeconfig https:// /tmp/kubeconfig --namespace argocd ``` 3 Use `kubectl` to get more details about connection issues, fix them and apply changes back to secret: diff --git a/docs/operator-manual/upgrading/2.0-2.1.md b/docs/operator-manual/upgrading/2.0-2.1.md index a8f2f7024fdb5..5d3c13d740885 100644 --- a/docs/operator-manual/upgrading/2.0-2.1.md +++ b/docs/operator-manual/upgrading/2.0-2.1.md @@ -19,4 +19,8 @@ From here on you can follow the [regular upgrade process](./overview.md). The configuration of repositories and repository credential templates via the `argocd-cm` has been deprecated. Repositories and repository credentials are now discovered via Secrets that are labeled with `argocd.argoproj.io/secret-type=repository` or `argocd.argoproj.io/secret-type=repo-creds` respectively. See the examples in [argocd-repositories.yaml](../argocd-repositories.yaml) -and [argocd-repo-creds.yaml](../argocd-repo-creds.yaml). \ No newline at end of file +and [argocd-repo-creds.yaml](../argocd-repo-creds.yaml). + +## The `argocd-util` CLI commands merged into `argocd admin` + +The `argocd-util` CLI commands are available under `argocd admin` and the `argocd-util` binary is no longer available. \ No newline at end of file diff --git a/docs/user-guide/commands/argocd_admin.md b/docs/user-guide/commands/argocd_admin.md index 6fa69d58cdd9f..1bcc9d6fb48de 100644 --- a/docs/user-guide/commands/argocd_admin.md +++ b/docs/user-guide/commands/argocd_admin.md @@ -37,5 +37,12 @@ argocd admin [flags] ### SEE ALSO * [argocd](argocd.md) - argocd controls a Argo CD server +* [argocd admin app](argocd_admin_app.md) - Manage applications configuration +* [argocd admin cluster](argocd_admin_cluster.md) - Manage clusters configuration * [argocd admin dashboard](argocd_admin_dashboard.md) - Starts Argo CD Web UI locally +* [argocd admin export](argocd_admin_export.md) - Export all Argo CD data to stdout (default) or a file +* [argocd admin import](argocd_admin_import.md) - Import Argo CD data from stdin (specify `-') or a file +* [argocd admin proj](argocd_admin_proj.md) - Manage projects configuration +* [argocd admin repo](argocd_admin_repo.md) - Manage repositories configuration +* [argocd admin settings](argocd_admin_settings.md) - Provides set of commands for settings validation and troubleshooting diff --git a/docs/user-guide/commands/argocd_admin_app.md b/docs/user-guide/commands/argocd_admin_app.md new file mode 100644 index 0000000000000..b2fc87c0826cb --- /dev/null +++ b/docs/user-guide/commands/argocd_admin_app.md @@ -0,0 +1,43 @@ +## argocd admin app + +Manage applications configuration + +``` +argocd admin app [flags] +``` + +### Options + +``` + -h, --help help for app +``` + +### Options inherited from parent commands + +``` + --auth-token string Authentication token + --client-crt string Client certificate file + --client-crt-key string Client certificate key file + --config string Path to Argo CD config (default "/home/user/.argocd/config") + --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. + --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. + -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server + --insecure Skip server certificate and domain verification + --logformat string Set the logging format. One of: text|json (default "text") + --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + --plaintext Disable TLS + --port-forward Connect to a random argocd-server port using port forwarding + --port-forward-namespace string Namespace name which should be used for port forwarding + --server string Argo CD server address + --server-crt string Server certificate file +``` + +### SEE ALSO + +* [argocd admin](argocd_admin.md) - Contains a set of commands useful for Argo CD administrators and requires direct Kubernetes access +* [argocd admin app diff-reconcile-results](argocd_admin_app_diff-reconcile-results.md) - Compare results of two reconciliations and print diff. +* [argocd admin app generate-spec](argocd_admin_app_generate-spec.md) - Generate declarative config for an application +* [argocd admin app get-reconcile-results](argocd_admin_app_get-reconcile-results.md) - Reconcile all applications and stores reconciliation summary in the specified file. + diff --git a/docs/user-guide/commands/argocd_admin_app_diff-reconcile-results.md b/docs/user-guide/commands/argocd_admin_app_diff-reconcile-results.md new file mode 100644 index 0000000000000..ea40553541f7f --- /dev/null +++ b/docs/user-guide/commands/argocd_admin_app_diff-reconcile-results.md @@ -0,0 +1,40 @@ +## argocd admin app diff-reconcile-results + +Compare results of two reconciliations and print diff. + +``` +argocd admin app diff-reconcile-results PATH1 PATH2 [flags] +``` + +### Options + +``` + -h, --help help for diff-reconcile-results +``` + +### Options inherited from parent commands + +``` + --auth-token string Authentication token + --client-crt string Client certificate file + --client-crt-key string Client certificate key file + --config string Path to Argo CD config (default "/home/user/.argocd/config") + --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. + --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. + -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server + --insecure Skip server certificate and domain verification + --logformat string Set the logging format. One of: text|json (default "text") + --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + --plaintext Disable TLS + --port-forward Connect to a random argocd-server port using port forwarding + --port-forward-namespace string Namespace name which should be used for port forwarding + --server string Argo CD server address + --server-crt string Server certificate file +``` + +### SEE ALSO + +* [argocd admin app](argocd_admin_app.md) - Manage applications configuration + diff --git a/docs/operator-manual/server-commands/argocd-util_app_generate-spec.md b/docs/user-guide/commands/argocd_admin_app_generate-spec.md similarity index 64% rename from docs/operator-manual/server-commands/argocd-util_app_generate-spec.md rename to docs/user-guide/commands/argocd_admin_app_generate-spec.md index c1d3cf8ffbfd2..1443688ded020 100644 --- a/docs/operator-manual/server-commands/argocd-util_app_generate-spec.md +++ b/docs/user-guide/commands/argocd_admin_app_generate-spec.md @@ -1,9 +1,9 @@ -## argocd-util app generate-spec +## argocd admin app generate-spec Generate declarative config for an application ``` -argocd-util app generate-spec APPNAME [flags] +argocd admin app generate-spec APPNAME [flags] ``` ### Examples @@ -11,22 +11,22 @@ argocd-util app generate-spec APPNAME [flags] ``` # Generate declarative config for a directory app - argocd-util app generate-spec guestbook --repo https://github.com/argoproj/argocd-example-apps.git --path guestbook --dest-namespace default --dest-server https://kubernetes.default.svc --directory-recurse + argocd admin app generate-spec guestbook --repo https://github.com/argoproj/argocd-example-apps.git --path guestbook --dest-namespace default --dest-server https://kubernetes.default.svc --directory-recurse # Generate declarative config for a Jsonnet app - argocd-util app generate-spec jsonnet-guestbook --repo https://github.com/argoproj/argocd-example-apps.git --path jsonnet-guestbook --dest-namespace default --dest-server https://kubernetes.default.svc --jsonnet-ext-str replicas=2 + argocd admin app generate-spec jsonnet-guestbook --repo https://github.com/argoproj/argocd-example-apps.git --path jsonnet-guestbook --dest-namespace default --dest-server https://kubernetes.default.svc --jsonnet-ext-str replicas=2 # Generate declarative config for a Helm app - argocd-util app generate-spec helm-guestbook --repo https://github.com/argoproj/argocd-example-apps.git --path helm-guestbook --dest-namespace default --dest-server https://kubernetes.default.svc --helm-set replicaCount=2 + argocd admin app generate-spec helm-guestbook --repo https://github.com/argoproj/argocd-example-apps.git --path helm-guestbook --dest-namespace default --dest-server https://kubernetes.default.svc --helm-set replicaCount=2 # Generate declarative config for a Helm app from a Helm repo - argocd-util app generate-spec nginx-ingress --repo https://charts.helm.sh/stable --helm-chart nginx-ingress --revision 1.24.3 --dest-namespace default --dest-server https://kubernetes.default.svc + argocd admin app generate-spec nginx-ingress --repo https://charts.helm.sh/stable --helm-chart nginx-ingress --revision 1.24.3 --dest-namespace default --dest-server https://kubernetes.default.svc # Generate declarative config for a Kustomize app - argocd-util app generate-spec kustomize-guestbook --repo https://github.com/argoproj/argocd-example-apps.git --path kustomize-guestbook --dest-namespace default --dest-server https://kubernetes.default.svc --kustomize-image gcr.io/heptio-images/ks-guestbook-demo:0.1 + argocd admin app generate-spec kustomize-guestbook --repo https://github.com/argoproj/argocd-example-apps.git --path kustomize-guestbook --dest-namespace default --dest-server https://kubernetes.default.svc --kustomize-image gcr.io/heptio-images/ks-guestbook-demo:0.1 # Generate declarative config for a app using a custom tool: - argocd-util app generate-spec ksane --repo https://github.com/argoproj/argocd-example-apps.git --path plugins/kasane --dest-namespace default --dest-server https://kubernetes.default.svc --config-management-plugin kasane + argocd admin app generate-spec ksane --repo https://github.com/argoproj/argocd-example-apps.git --path plugins/kasane --dest-namespace default --dest-server https://kubernetes.default.svc --config-management-plugin kasane ``` @@ -87,7 +87,29 @@ argocd-util app generate-spec APPNAME [flags] --values-literal-file string Filename or URL to import as a literal Helm values block ``` +### Options inherited from parent commands + +``` + --auth-token string Authentication token + --client-crt string Client certificate file + --client-crt-key string Client certificate key file + --config string Path to Argo CD config (default "/home/user/.argocd/config") + --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. + --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. + -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server + --insecure Skip server certificate and domain verification + --logformat string Set the logging format. One of: text|json (default "text") + --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + --plaintext Disable TLS + --port-forward Connect to a random argocd-server port using port forwarding + --port-forward-namespace string Namespace name which should be used for port forwarding + --server string Argo CD server address + --server-crt string Server certificate file +``` + ### SEE ALSO -* [argocd-util app](argocd-util_app.md) - Manage applications configuration +* [argocd admin app](argocd_admin_app.md) - Manage applications configuration diff --git a/docs/operator-manual/server-commands/argocd-util_app_get-reconcile-results.md b/docs/user-guide/commands/argocd_admin_app_get-reconcile-results.md similarity index 53% rename from docs/operator-manual/server-commands/argocd-util_app_get-reconcile-results.md rename to docs/user-guide/commands/argocd_admin_app_get-reconcile-results.md index 286b2a7adda8b..5760bcedf266a 100644 --- a/docs/operator-manual/server-commands/argocd-util_app_get-reconcile-results.md +++ b/docs/user-guide/commands/argocd_admin_app_get-reconcile-results.md @@ -1,9 +1,9 @@ -## argocd-util app get-reconcile-results +## argocd admin app get-reconcile-results Reconcile all applications and stores reconciliation summary in the specified file. ``` -argocd-util app get-reconcile-results PATH [flags] +argocd admin app get-reconcile-results PATH [flags] ``` ### Options @@ -26,14 +26,35 @@ argocd-util app get-reconcile-results PATH [flags] --refresh If set to true then recalculates apps reconciliation --repo-server string Repo server address. --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") - --server string The address and port of the Kubernetes API server --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. --token string Bearer token for authentication to the API server --user string The name of the kubeconfig user to use --username string Username for basic authentication to the API server ``` +### Options inherited from parent commands + +``` + --auth-token string Authentication token + --client-crt string Client certificate file + --client-crt-key string Client certificate key file + --config string Path to Argo CD config (default "/home/user/.argocd/config") + --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. + --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. + -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server + --insecure Skip server certificate and domain verification + --logformat string Set the logging format. One of: text|json (default "text") + --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + --plaintext Disable TLS + --port-forward Connect to a random argocd-server port using port forwarding + --port-forward-namespace string Namespace name which should be used for port forwarding + --server string Argo CD server address + --server-crt string Server certificate file +``` + ### SEE ALSO -* [argocd-util app](argocd-util_app.md) - Manage applications configuration +* [argocd admin app](argocd_admin_app.md) - Manage applications configuration diff --git a/docs/user-guide/commands/argocd_admin_cluster.md b/docs/user-guide/commands/argocd_admin_cluster.md new file mode 100644 index 0000000000000..6a973e89b3d04 --- /dev/null +++ b/docs/user-guide/commands/argocd_admin_cluster.md @@ -0,0 +1,45 @@ +## argocd admin cluster + +Manage clusters configuration + +``` +argocd admin cluster [flags] +``` + +### Options + +``` + -h, --help help for cluster +``` + +### Options inherited from parent commands + +``` + --auth-token string Authentication token + --client-crt string Client certificate file + --client-crt-key string Client certificate key file + --config string Path to Argo CD config (default "/home/user/.argocd/config") + --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. + --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. + -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server + --insecure Skip server certificate and domain verification + --logformat string Set the logging format. One of: text|json (default "text") + --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + --plaintext Disable TLS + --port-forward Connect to a random argocd-server port using port forwarding + --port-forward-namespace string Namespace name which should be used for port forwarding + --server string Argo CD server address + --server-crt string Server certificate file +``` + +### SEE ALSO + +* [argocd admin](argocd_admin.md) - Contains a set of commands useful for Argo CD administrators and requires direct Kubernetes access +* [argocd admin cluster generate-spec](argocd_admin_cluster_generate-spec.md) - Generate declarative config for a cluster +* [argocd admin cluster kubeconfig](argocd_admin_cluster_kubeconfig.md) - Generates kubeconfig for the specified cluster +* [argocd admin cluster namespaces](argocd_admin_cluster_namespaces.md) - Print information namespaces which Argo CD manages in each cluster. +* [argocd admin cluster shards](argocd_admin_cluster_shards.md) - Print information about each controller shard and portion of Kubernetes resources it is responsible for. +* [argocd admin cluster stats](argocd_admin_cluster_stats.md) - Prints information cluster statistics and inferred shard number + diff --git a/docs/operator-manual/server-commands/argocd-util_cluster_generate-spec.md b/docs/user-guide/commands/argocd_admin_cluster_generate-spec.md similarity index 55% rename from docs/operator-manual/server-commands/argocd-util_cluster_generate-spec.md rename to docs/user-guide/commands/argocd_admin_cluster_generate-spec.md index 47601f26a3421..060fbb23dc92e 100644 --- a/docs/operator-manual/server-commands/argocd-util_cluster_generate-spec.md +++ b/docs/user-guide/commands/argocd_admin_cluster_generate-spec.md @@ -1,9 +1,9 @@ -## argocd-util cluster generate-spec +## argocd admin cluster generate-spec Generate declarative config for a cluster ``` -argocd-util cluster generate-spec CONTEXT [flags] +argocd admin cluster generate-spec CONTEXT [flags] ``` ### Options @@ -30,7 +30,29 @@ argocd-util cluster generate-spec CONTEXT [flags] --system-namespace string Use different system namespace (default "kube-system") ``` +### Options inherited from parent commands + +``` + --auth-token string Authentication token + --client-crt string Client certificate file + --client-crt-key string Client certificate key file + --config string Path to Argo CD config (default "/home/user/.argocd/config") + --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. + --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. + -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server + --insecure Skip server certificate and domain verification + --logformat string Set the logging format. One of: text|json (default "text") + --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + --plaintext Disable TLS + --port-forward Connect to a random argocd-server port using port forwarding + --port-forward-namespace string Namespace name which should be used for port forwarding + --server string Argo CD server address + --server-crt string Server certificate file +``` + ### SEE ALSO -* [argocd-util cluster](argocd-util_cluster.md) - Manage clusters configuration +* [argocd admin cluster](argocd_admin_cluster.md) - Manage clusters configuration diff --git a/docs/user-guide/commands/argocd_admin_cluster_kubeconfig.md b/docs/user-guide/commands/argocd_admin_cluster_kubeconfig.md new file mode 100644 index 0000000000000..fd8b3c8b24747 --- /dev/null +++ b/docs/user-guide/commands/argocd_admin_cluster_kubeconfig.md @@ -0,0 +1,56 @@ +## argocd admin cluster kubeconfig + +Generates kubeconfig for the specified cluster + +``` +argocd admin cluster kubeconfig CLUSTER_URL OUTPUT_PATH [flags] +``` + +### Options + +``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use + --context string The name of the kubeconfig context to use + -h, --help help for kubeconfig + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure + --kubeconfig string Path to a kube config. Only required if out-of-cluster + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server +``` + +### Options inherited from parent commands + +``` + --auth-token string Authentication token + --client-crt string Client certificate file + --client-crt-key string Client certificate key file + --config string Path to Argo CD config (default "/home/user/.argocd/config") + --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. + --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. + -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server + --insecure Skip server certificate and domain verification + --logformat string Set the logging format. One of: text|json (default "text") + --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + --plaintext Disable TLS + --port-forward Connect to a random argocd-server port using port forwarding + --port-forward-namespace string Namespace name which should be used for port forwarding + --server string Argo CD server address + --server-crt string Server certificate file +``` + +### SEE ALSO + +* [argocd admin cluster](argocd_admin_cluster.md) - Manage clusters configuration + diff --git a/docs/user-guide/commands/argocd_admin_cluster_namespaces.md b/docs/user-guide/commands/argocd_admin_cluster_namespaces.md new file mode 100644 index 0000000000000..90657ceb7d0d0 --- /dev/null +++ b/docs/user-guide/commands/argocd_admin_cluster_namespaces.md @@ -0,0 +1,58 @@ +## argocd admin cluster namespaces + +Print information namespaces which Argo CD manages in each cluster. + +``` +argocd admin cluster namespaces [flags] +``` + +### Options + +``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use + --context string The name of the kubeconfig context to use + -h, --help help for namespaces + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure + --kubeconfig string Path to a kube config. Only required if out-of-cluster + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server +``` + +### Options inherited from parent commands + +``` + --auth-token string Authentication token + --client-crt string Client certificate file + --client-crt-key string Client certificate key file + --config string Path to Argo CD config (default "/home/user/.argocd/config") + --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. + --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. + -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server + --insecure Skip server certificate and domain verification + --logformat string Set the logging format. One of: text|json (default "text") + --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + --plaintext Disable TLS + --port-forward Connect to a random argocd-server port using port forwarding + --port-forward-namespace string Namespace name which should be used for port forwarding + --server string Argo CD server address + --server-crt string Server certificate file +``` + +### SEE ALSO + +* [argocd admin cluster](argocd_admin_cluster.md) - Manage clusters configuration +* [argocd admin cluster namespaces disable-namespaced-mode](argocd_admin_cluster_namespaces_disable-namespaced-mode.md) - Disable namespaced mode for clusters which name matches to the specified pattern. +* [argocd admin cluster namespaces enable-namespaced-mode](argocd_admin_cluster_namespaces_enable-namespaced-mode.md) - Enable namespaced mode for clusters which name matches to the specified pattern. + diff --git a/docs/user-guide/commands/argocd_admin_cluster_namespaces_disable-namespaced-mode.md b/docs/user-guide/commands/argocd_admin_cluster_namespaces_disable-namespaced-mode.md new file mode 100644 index 0000000000000..109906c3d173e --- /dev/null +++ b/docs/user-guide/commands/argocd_admin_cluster_namespaces_disable-namespaced-mode.md @@ -0,0 +1,57 @@ +## argocd admin cluster namespaces disable-namespaced-mode + +Disable namespaced mode for clusters which name matches to the specified pattern. + +``` +argocd admin cluster namespaces disable-namespaced-mode PATTERN [flags] +``` + +### Options + +``` + --dry-run Print what will be performed (default true) + -h, --help help for disable-namespaced-mode +``` + +### Options inherited from parent commands + +``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. + --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS + --client-crt string Client certificate file + --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use + --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use + --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. + --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. + -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server + --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure + --kubeconfig string Path to a kube config. Only required if out-of-cluster + --logformat string Set the logging format. One of: text|json (default "text") + --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server + --plaintext Disable TLS + --port-forward Connect to a random argocd-server port using port forwarding + --port-forward-namespace string Namespace name which should be used for port forwarding + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server + --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server +``` + +### SEE ALSO + +* [argocd admin cluster namespaces](argocd_admin_cluster_namespaces.md) - Print information namespaces which Argo CD manages in each cluster. + diff --git a/docs/user-guide/commands/argocd_admin_cluster_namespaces_enable-namespaced-mode.md b/docs/user-guide/commands/argocd_admin_cluster_namespaces_enable-namespaced-mode.md new file mode 100644 index 0000000000000..921ec0c274172 --- /dev/null +++ b/docs/user-guide/commands/argocd_admin_cluster_namespaces_enable-namespaced-mode.md @@ -0,0 +1,59 @@ +## argocd admin cluster namespaces enable-namespaced-mode + +Enable namespaced mode for clusters which name matches to the specified pattern. + +``` +argocd admin cluster namespaces enable-namespaced-mode PATTERN [flags] +``` + +### Options + +``` + --cluster-resources Indicates if cluster level resources should be managed. + --dry-run Print what will be performed (default true) + -h, --help help for enable-namespaced-mode + --max-namespace-count int Max number of namespaces that cluster should managed managed namespaces is less or equal to specified count +``` + +### Options inherited from parent commands + +``` + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. + --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS + --client-crt string Client certificate file + --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use + --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use + --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. + --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. + -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server + --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure + --kubeconfig string Path to a kube config. Only required if out-of-cluster + --logformat string Set the logging format. One of: text|json (default "text") + --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server + --plaintext Disable TLS + --port-forward Connect to a random argocd-server port using port forwarding + --port-forward-namespace string Namespace name which should be used for port forwarding + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server + --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server +``` + +### SEE ALSO + +* [argocd admin cluster namespaces](argocd_admin_cluster_namespaces.md) - Print information namespaces which Argo CD manages in each cluster. + diff --git a/docs/operator-manual/server-commands/argocd-util_cluster_shards.md b/docs/user-guide/commands/argocd_admin_cluster_shards.md similarity index 65% rename from docs/operator-manual/server-commands/argocd-util_cluster_shards.md rename to docs/user-guide/commands/argocd_admin_cluster_shards.md index 193eb3f3729da..a5ae0f6cf43f0 100644 --- a/docs/operator-manual/server-commands/argocd-util_cluster_shards.md +++ b/docs/user-guide/commands/argocd_admin_cluster_shards.md @@ -1,9 +1,9 @@ -## argocd-util cluster shards +## argocd admin cluster shards Print information about each controller shard and portion of Kubernetes resources it is responsible for. ``` -argocd-util cluster shards [flags] +argocd admin cluster shards [flags] ``` ### Options @@ -35,7 +35,6 @@ argocd-util cluster shards [flags] --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") --sentinel stringArray Redis sentinel hostname and port (e.g. argocd-redis-ha-announce-0:6379). --sentinelmaster string Redis sentinel master group name. (default "master") - --server string The address and port of the Kubernetes API server --shard int Cluster shard filter (default -1) --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. --token string Bearer token for authentication to the API server @@ -43,7 +42,29 @@ argocd-util cluster shards [flags] --username string Username for basic authentication to the API server ``` +### Options inherited from parent commands + +``` + --auth-token string Authentication token + --client-crt string Client certificate file + --client-crt-key string Client certificate key file + --config string Path to Argo CD config (default "/home/user/.argocd/config") + --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. + --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. + -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server + --insecure Skip server certificate and domain verification + --logformat string Set the logging format. One of: text|json (default "text") + --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + --plaintext Disable TLS + --port-forward Connect to a random argocd-server port using port forwarding + --port-forward-namespace string Namespace name which should be used for port forwarding + --server string Argo CD server address + --server-crt string Server certificate file +``` + ### SEE ALSO -* [argocd-util cluster](argocd-util_cluster.md) - Manage clusters configuration +* [argocd admin cluster](argocd_admin_cluster.md) - Manage clusters configuration diff --git a/docs/operator-manual/server-commands/argocd-util_cluster_stats.md b/docs/user-guide/commands/argocd_admin_cluster_stats.md similarity index 65% rename from docs/operator-manual/server-commands/argocd-util_cluster_stats.md rename to docs/user-guide/commands/argocd_admin_cluster_stats.md index 69ea353e1af33..c2ceac3b5f6a8 100644 --- a/docs/operator-manual/server-commands/argocd-util_cluster_stats.md +++ b/docs/user-guide/commands/argocd_admin_cluster_stats.md @@ -1,9 +1,9 @@ -## argocd-util cluster stats +## argocd admin cluster stats Prints information cluster statistics and inferred shard number ``` -argocd-util cluster stats [flags] +argocd admin cluster stats [flags] ``` ### Options @@ -35,7 +35,6 @@ argocd-util cluster stats [flags] --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") --sentinel stringArray Redis sentinel hostname and port (e.g. argocd-redis-ha-announce-0:6379). --sentinelmaster string Redis sentinel master group name. (default "master") - --server string The address and port of the Kubernetes API server --shard int Cluster shard filter (default -1) --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. --token string Bearer token for authentication to the API server @@ -43,7 +42,29 @@ argocd-util cluster stats [flags] --username string Username for basic authentication to the API server ``` +### Options inherited from parent commands + +``` + --auth-token string Authentication token + --client-crt string Client certificate file + --client-crt-key string Client certificate key file + --config string Path to Argo CD config (default "/home/user/.argocd/config") + --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. + --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. + -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server + --insecure Skip server certificate and domain verification + --logformat string Set the logging format. One of: text|json (default "text") + --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + --plaintext Disable TLS + --port-forward Connect to a random argocd-server port using port forwarding + --port-forward-namespace string Namespace name which should be used for port forwarding + --server string Argo CD server address + --server-crt string Server certificate file +``` + ### SEE ALSO -* [argocd-util cluster](argocd-util_cluster.md) - Manage clusters configuration +* [argocd admin cluster](argocd_admin_cluster.md) - Manage clusters configuration diff --git a/docs/operator-manual/server-commands/argocd-util_export.md b/docs/user-guide/commands/argocd_admin_export.md similarity index 50% rename from docs/operator-manual/server-commands/argocd-util_export.md rename to docs/user-guide/commands/argocd_admin_export.md index b52a1fc048a76..b4dc2b9a2d712 100644 --- a/docs/operator-manual/server-commands/argocd-util_export.md +++ b/docs/user-guide/commands/argocd_admin_export.md @@ -1,9 +1,9 @@ -## argocd-util export +## argocd admin export Export all Argo CD data to stdout (default) or a file ``` -argocd-util export [flags] +argocd admin export [flags] ``` ### Options @@ -23,14 +23,35 @@ argocd-util export [flags] -o, --out string Output to the specified file instead of stdout (default "-") --password string Password for basic authentication to the API server --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") - --server string The address and port of the Kubernetes API server --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. --token string Bearer token for authentication to the API server --user string The name of the kubeconfig user to use --username string Username for basic authentication to the API server ``` +### Options inherited from parent commands + +``` + --auth-token string Authentication token + --client-crt string Client certificate file + --client-crt-key string Client certificate key file + --config string Path to Argo CD config (default "/home/user/.argocd/config") + --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. + --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. + -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server + --insecure Skip server certificate and domain verification + --logformat string Set the logging format. One of: text|json (default "text") + --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + --plaintext Disable TLS + --port-forward Connect to a random argocd-server port using port forwarding + --port-forward-namespace string Namespace name which should be used for port forwarding + --server string Argo CD server address + --server-crt string Server certificate file +``` + ### SEE ALSO -* [argocd-util](argocd-util.md) - argocd-util tools used by Argo CD +* [argocd admin](argocd_admin.md) - Contains a set of commands useful for Argo CD administrators and requires direct Kubernetes access diff --git a/docs/operator-manual/server-commands/argocd-util_import.md b/docs/user-guide/commands/argocd_admin_import.md similarity index 52% rename from docs/operator-manual/server-commands/argocd-util_import.md rename to docs/user-guide/commands/argocd_admin_import.md index 7174769b491e4..95264a41df0f3 100644 --- a/docs/operator-manual/server-commands/argocd-util_import.md +++ b/docs/user-guide/commands/argocd_admin_import.md @@ -1,9 +1,9 @@ -## argocd-util import +## argocd admin import Import Argo CD data from stdin (specify `-') or a file ``` -argocd-util import SOURCE [flags] +argocd admin import SOURCE [flags] ``` ### Options @@ -24,7 +24,6 @@ argocd-util import SOURCE [flags] --password string Password for basic authentication to the API server --prune Prune secrets, applications and projects which do not appear in the backup --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") - --server string The address and port of the Kubernetes API server --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. --token string Bearer token for authentication to the API server --user string The name of the kubeconfig user to use @@ -32,7 +31,29 @@ argocd-util import SOURCE [flags] --verbose Verbose output (versus only changed output) ``` +### Options inherited from parent commands + +``` + --auth-token string Authentication token + --client-crt string Client certificate file + --client-crt-key string Client certificate key file + --config string Path to Argo CD config (default "/home/user/.argocd/config") + --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. + --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. + -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server + --insecure Skip server certificate and domain verification + --logformat string Set the logging format. One of: text|json (default "text") + --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + --plaintext Disable TLS + --port-forward Connect to a random argocd-server port using port forwarding + --port-forward-namespace string Namespace name which should be used for port forwarding + --server string Argo CD server address + --server-crt string Server certificate file +``` + ### SEE ALSO -* [argocd-util](argocd-util.md) - argocd-util tools used by Argo CD +* [argocd admin](argocd_admin.md) - Contains a set of commands useful for Argo CD administrators and requires direct Kubernetes access diff --git a/docs/user-guide/commands/argocd_admin_proj.md b/docs/user-guide/commands/argocd_admin_proj.md new file mode 100644 index 0000000000000..353334c10f147 --- /dev/null +++ b/docs/user-guide/commands/argocd_admin_proj.md @@ -0,0 +1,43 @@ +## argocd admin proj + +Manage projects configuration + +``` +argocd admin proj [flags] +``` + +### Options + +``` + -h, --help help for proj +``` + +### Options inherited from parent commands + +``` + --auth-token string Authentication token + --client-crt string Client certificate file + --client-crt-key string Client certificate key file + --config string Path to Argo CD config (default "/home/user/.argocd/config") + --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. + --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. + -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server + --insecure Skip server certificate and domain verification + --logformat string Set the logging format. One of: text|json (default "text") + --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + --plaintext Disable TLS + --port-forward Connect to a random argocd-server port using port forwarding + --port-forward-namespace string Namespace name which should be used for port forwarding + --server string Argo CD server address + --server-crt string Server certificate file +``` + +### SEE ALSO + +* [argocd admin](argocd_admin.md) - Contains a set of commands useful for Argo CD administrators and requires direct Kubernetes access +* [argocd admin proj generate-allow-list](argocd_admin_proj_generate-allow-list.md) - Generates project allow list from the specified clusterRole file +* [argocd admin proj generate-spec](argocd_admin_proj_generate-spec.md) - Generate declarative config for a project +* [argocd admin proj update-role-policy](argocd_admin_proj_update-role-policy.md) - Implement bulk project role update. Useful to back-fill existing project policies or remove obsolete actions. + diff --git a/docs/operator-manual/server-commands/argocd-util_proj_generate-allow-list.md b/docs/user-guide/commands/argocd_admin_proj_generate-allow-list.md similarity index 50% rename from docs/operator-manual/server-commands/argocd-util_proj_generate-allow-list.md rename to docs/user-guide/commands/argocd_admin_proj_generate-allow-list.md index 75e77b2740eac..7f44482cd65a9 100644 --- a/docs/operator-manual/server-commands/argocd-util_proj_generate-allow-list.md +++ b/docs/user-guide/commands/argocd_admin_proj_generate-allow-list.md @@ -1,9 +1,9 @@ -## argocd-util proj generate-allow-list +## argocd admin proj generate-allow-list Generates project allow list from the specified clusterRole file ``` -argocd-util proj generate-allow-list CLUSTERROLE_PATH PROJ_NAME [flags] +argocd admin proj generate-allow-list CLUSTERROLE_PATH PROJ_NAME [flags] ``` ### Options @@ -23,14 +23,35 @@ argocd-util proj generate-allow-list CLUSTERROLE_PATH PROJ_NAME [flags] -o, --out string Output to the specified file instead of stdout (default "-") --password string Password for basic authentication to the API server --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") - --server string The address and port of the Kubernetes API server --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. --token string Bearer token for authentication to the API server --user string The name of the kubeconfig user to use --username string Username for basic authentication to the API server ``` +### Options inherited from parent commands + +``` + --auth-token string Authentication token + --client-crt string Client certificate file + --client-crt-key string Client certificate key file + --config string Path to Argo CD config (default "/home/user/.argocd/config") + --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. + --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. + -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server + --insecure Skip server certificate and domain verification + --logformat string Set the logging format. One of: text|json (default "text") + --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + --plaintext Disable TLS + --port-forward Connect to a random argocd-server port using port forwarding + --port-forward-namespace string Namespace name which should be used for port forwarding + --server string Argo CD server address + --server-crt string Server certificate file +``` + ### SEE ALSO -* [argocd-util proj](argocd-util_proj.md) - Manage projects configuration +* [argocd admin proj](argocd_admin_proj.md) - Manage projects configuration diff --git a/docs/user-guide/commands/argocd_admin_proj_generate-spec.md b/docs/user-guide/commands/argocd_admin_proj_generate-spec.md new file mode 100644 index 0000000000000..80c9513f46c09 --- /dev/null +++ b/docs/user-guide/commands/argocd_admin_proj_generate-spec.md @@ -0,0 +1,52 @@ +## argocd admin proj generate-spec + +Generate declarative config for a project + +``` +argocd admin proj generate-spec PROJECT [flags] +``` + +### Options + +``` + --allow-cluster-resource stringArray List of allowed cluster level resources + --allow-namespaced-resource stringArray List of allowed namespaced resources + --deny-cluster-resource stringArray List of denied cluster level resources + --deny-namespaced-resource stringArray List of denied namespaced resources + --description string Project description + -d, --dest stringArray Permitted destination server and namespace (e.g. https://192.168.99.100:8443,default) + -f, --file string Filename or URL to Kubernetes manifests for the project + -h, --help help for generate-spec + --orphaned-resources Enables orphaned resources monitoring + --orphaned-resources-warn Specifies if applications should have a warning condition when orphaned resources detected + -o, --output string Output format. One of: json|yaml (default "yaml") + --signature-keys strings GnuPG public key IDs for commit signature verification + -s, --src stringArray Permitted source repository URL +``` + +### Options inherited from parent commands + +``` + --auth-token string Authentication token + --client-crt string Client certificate file + --client-crt-key string Client certificate key file + --config string Path to Argo CD config (default "/home/user/.argocd/config") + --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. + --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. + -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server + --insecure Skip server certificate and domain verification + --logformat string Set the logging format. One of: text|json (default "text") + --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + --plaintext Disable TLS + --port-forward Connect to a random argocd-server port using port forwarding + --port-forward-namespace string Namespace name which should be used for port forwarding + --server string Argo CD server address + --server-crt string Server certificate file +``` + +### SEE ALSO + +* [argocd admin proj](argocd_admin_proj.md) - Manage projects configuration + diff --git a/docs/operator-manual/server-commands/argocd-util_projects_update-role-policy.md b/docs/user-guide/commands/argocd_admin_proj_update-role-policy.md similarity index 54% rename from docs/operator-manual/server-commands/argocd-util_projects_update-role-policy.md rename to docs/user-guide/commands/argocd_admin_proj_update-role-policy.md index 346034bc541de..4f91cebd6fb59 100644 --- a/docs/operator-manual/server-commands/argocd-util_projects_update-role-policy.md +++ b/docs/user-guide/commands/argocd_admin_proj_update-role-policy.md @@ -1,19 +1,19 @@ -## argocd-util projects update-role-policy +## argocd admin proj update-role-policy Implement bulk project role update. Useful to back-fill existing project policies or remove obsolete actions. ``` -argocd-util projects update-role-policy PROJECT_GLOB MODIFICATION ACTION [flags] +argocd admin proj update-role-policy PROJECT_GLOB MODIFICATION ACTION [flags] ``` ### Examples ``` # Add policy that allows executing any action (action/*) to roles which name matches to *deployer* in all projects - argocd-util projects update-role-policy '*' set 'action/*' --role '*deployer*' --resource applications --scope '*' --permission allow + argocd admin projects update-role-policy '*' set 'action/*' --role '*deployer*' --resource applications --scope '*' --permission allow # Remove policy that which manages running (action/*) from all roles which name matches *deployer* in all projects - argocd-util projects update-role-policy '*' remove override --role '*deployer*' + argocd admin projects update-role-policy '*' remove override --role '*deployer*' ``` @@ -38,14 +38,35 @@ argocd-util projects update-role-policy PROJECT_GLOB MODIFICATION ACTION [flags] --resource string Resource e.g. 'applications' --role string Role name pattern e.g. '*deployer*' (default "*") --scope string Resource scope e.g. '*' - --server string The address and port of the Kubernetes API server --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. --token string Bearer token for authentication to the API server --user string The name of the kubeconfig user to use --username string Username for basic authentication to the API server ``` +### Options inherited from parent commands + +``` + --auth-token string Authentication token + --client-crt string Client certificate file + --client-crt-key string Client certificate key file + --config string Path to Argo CD config (default "/home/user/.argocd/config") + --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. + --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. + -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server + --insecure Skip server certificate and domain verification + --logformat string Set the logging format. One of: text|json (default "text") + --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + --plaintext Disable TLS + --port-forward Connect to a random argocd-server port using port forwarding + --port-forward-namespace string Namespace name which should be used for port forwarding + --server string Argo CD server address + --server-crt string Server certificate file +``` + ### SEE ALSO -* [argocd-util projects](argocd-util_projects.md) - Utility commands operate on ArgoCD Projects +* [argocd admin proj](argocd_admin_proj.md) - Manage projects configuration diff --git a/docs/user-guide/commands/argocd_admin_repo.md b/docs/user-guide/commands/argocd_admin_repo.md new file mode 100644 index 0000000000000..b9de940caa0ab --- /dev/null +++ b/docs/user-guide/commands/argocd_admin_repo.md @@ -0,0 +1,41 @@ +## argocd admin repo + +Manage repositories configuration + +``` +argocd admin repo [flags] +``` + +### Options + +``` + -h, --help help for repo +``` + +### Options inherited from parent commands + +``` + --auth-token string Authentication token + --client-crt string Client certificate file + --client-crt-key string Client certificate key file + --config string Path to Argo CD config (default "/home/user/.argocd/config") + --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. + --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. + -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server + --insecure Skip server certificate and domain verification + --logformat string Set the logging format. One of: text|json (default "text") + --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + --plaintext Disable TLS + --port-forward Connect to a random argocd-server port using port forwarding + --port-forward-namespace string Namespace name which should be used for port forwarding + --server string Argo CD server address + --server-crt string Server certificate file +``` + +### SEE ALSO + +* [argocd admin](argocd_admin.md) - Contains a set of commands useful for Argo CD administrators and requires direct Kubernetes access +* [argocd admin repo generate-spec](argocd_admin_repo_generate-spec.md) - Generate declarative config for a repo + diff --git a/docs/user-guide/commands/argocd_admin_repo_generate-spec.md b/docs/user-guide/commands/argocd_admin_repo_generate-spec.md new file mode 100644 index 0000000000000..3df55511679a0 --- /dev/null +++ b/docs/user-guide/commands/argocd_admin_repo_generate-spec.md @@ -0,0 +1,84 @@ +## argocd admin repo generate-spec + +Generate declarative config for a repo + +``` +argocd admin repo generate-spec REPOURL [flags] +``` + +### Examples + +``` + + # Add a Git repository via SSH using a private key for authentication, ignoring the server's host key: + argocd admin repo generate-spec git@git.example.com:repos/repo --insecure-ignore-host-key --ssh-private-key-path ~/id_rsa + + # Add a Git repository via SSH on a non-default port - need to use ssh:// style URLs here + argocd admin repo generate-spec ssh://git@git.example.com:2222/repos/repo --ssh-private-key-path ~/id_rsa + + # Add a private Git repository via HTTPS using username/password and TLS client certificates: + argocd admin repo generate-spec https://git.example.com/repos/repo --username git --password secret --tls-client-cert-path ~/mycert.crt --tls-client-cert-key-path ~/mycert.key + + # Add a private Git repository via HTTPS using username/password without verifying the server's TLS certificate + argocd admin repo generate-spec https://git.example.com/repos/repo --username git --password secret --insecure-skip-server-verification + + # Add a public Helm repository named 'stable' via HTTPS + argocd admin repo generate-spec https://charts.helm.sh/stable --type helm --name stable + + # Add a private Helm repository named 'stable' via HTTPS + argocd admin repo generate-spec https://charts.helm.sh/stable --type helm --name stable --username test --password test + + # Add a private Helm OCI-based repository named 'stable' via HTTPS + argocd admin repo generate-spec helm-oci-registry.cn-zhangjiakou.cr.aliyuncs.com --type helm --name stable --enable-oci --username test --password test + +``` + +### Options + +``` + --enable-lfs enable git-lfs (Large File Support) on this repository + --enable-oci enable helm-oci (Helm OCI-Based Repository) + --github-app-enterprise-base-url string base url to use when using GitHub Enterprise (e.g. https://ghe.example.com/api/v3 + --github-app-id int id of the GitHub Application + --github-app-installation-id int installation id of the GitHub Application + --github-app-private-key-path string private key of the GitHub Application + -h, --help help for generate-spec + --insecure-ignore-host-key disables SSH strict host key checking (deprecated, use --insecure-skip-server-verification instead) + --insecure-skip-server-verification disables server certificate and host key checks + --name string name of the repository, mandatory for repositories of type helm + -o, --output string Output format. One of: json|yaml (default "yaml") + --password string password to the repository + --proxy string use proxy to access repository + --ssh-private-key-path string path to the private ssh key (e.g. ~/.ssh/id_rsa) + --tls-client-cert-key-path string path to the TLS client cert's key path (must be PEM format) + --tls-client-cert-path string path to the TLS client cert (must be PEM format) + --type string type of the repository, "git" or "helm" (default "git") + --username string username to the repository +``` + +### Options inherited from parent commands + +``` + --auth-token string Authentication token + --client-crt string Client certificate file + --client-crt-key string Client certificate key file + --config string Path to Argo CD config (default "/home/user/.argocd/config") + --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. + --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. + -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server + --insecure Skip server certificate and domain verification + --logformat string Set the logging format. One of: text|json (default "text") + --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + --plaintext Disable TLS + --port-forward Connect to a random argocd-server port using port forwarding + --port-forward-namespace string Namespace name which should be used for port forwarding + --server string Argo CD server address + --server-crt string Server certificate file +``` + +### SEE ALSO + +* [argocd admin repo](argocd_admin_repo.md) - Manage repositories configuration + diff --git a/docs/user-guide/commands/argocd_admin_settings.md b/docs/user-guide/commands/argocd_admin_settings.md new file mode 100644 index 0000000000000..e0785c7dda4ac --- /dev/null +++ b/docs/user-guide/commands/argocd_admin_settings.md @@ -0,0 +1,62 @@ +## argocd admin settings + +Provides set of commands for settings validation and troubleshooting + +``` +argocd admin settings [flags] +``` + +### Options + +``` + --argocd-cm-path string Path to local argocd-cm.yaml file + --argocd-secret-path string Path to local argocd-secret.yaml file + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use + --context string The name of the kubeconfig context to use + -h, --help help for settings + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure + --kubeconfig string Path to a kube config. Only required if out-of-cluster + --load-cluster-settings Indicates that config map and secret should be loaded from cluster unless local file path is provided + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server +``` + +### Options inherited from parent commands + +``` + --auth-token string Authentication token + --client-crt string Client certificate file + --client-crt-key string Client certificate key file + --config string Path to Argo CD config (default "/home/user/.argocd/config") + --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. + --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. + -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server + --insecure Skip server certificate and domain verification + --logformat string Set the logging format. One of: text|json (default "text") + --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + --plaintext Disable TLS + --port-forward Connect to a random argocd-server port using port forwarding + --port-forward-namespace string Namespace name which should be used for port forwarding + --server string Argo CD server address + --server-crt string Server certificate file +``` + +### SEE ALSO + +* [argocd admin](argocd_admin.md) - Contains a set of commands useful for Argo CD administrators and requires direct Kubernetes access +* [argocd admin settings rbac](argocd_admin_settings_rbac.md) - Validate and test RBAC configuration +* [argocd admin settings resource-overrides](argocd_admin_settings_resource-overrides.md) - Troubleshoot resource overrides +* [argocd admin settings validate](argocd_admin_settings_validate.md) - Validate settings + diff --git a/docs/user-guide/commands/argocd_admin_settings_rbac.md b/docs/user-guide/commands/argocd_admin_settings_rbac.md new file mode 100644 index 0000000000000..dcf03054ed981 --- /dev/null +++ b/docs/user-guide/commands/argocd_admin_settings_rbac.md @@ -0,0 +1,61 @@ +## argocd admin settings rbac + +Validate and test RBAC configuration + +``` +argocd admin settings rbac [flags] +``` + +### Options + +``` + -h, --help help for rbac +``` + +### Options inherited from parent commands + +``` + --argocd-cm-path string Path to local argocd-cm.yaml file + --argocd-secret-path string Path to local argocd-secret.yaml file + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. + --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS + --client-crt string Client certificate file + --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use + --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use + --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. + --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. + -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server + --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure + --kubeconfig string Path to a kube config. Only required if out-of-cluster + --load-cluster-settings Indicates that config map and secret should be loaded from cluster unless local file path is provided + --logformat string Set the logging format. One of: text|json (default "text") + --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server + --plaintext Disable TLS + --port-forward Connect to a random argocd-server port using port forwarding + --port-forward-namespace string Namespace name which should be used for port forwarding + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server + --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server +``` + +### SEE ALSO + +* [argocd admin settings](argocd_admin_settings.md) - Provides set of commands for settings validation and troubleshooting +* [argocd admin settings rbac can](argocd_admin_settings_rbac_can.md) - Check RBAC permissions for a role or subject +* [argocd admin settings rbac validate](argocd_admin_settings_rbac_validate.md) - Validate RBAC policy + diff --git a/docs/user-guide/commands/argocd_admin_settings_rbac_can.md b/docs/user-guide/commands/argocd_admin_settings_rbac_can.md new file mode 100644 index 0000000000000..73e71640bc13b --- /dev/null +++ b/docs/user-guide/commands/argocd_admin_settings_rbac_can.md @@ -0,0 +1,94 @@ +## argocd admin settings rbac can + +Check RBAC permissions for a role or subject + +### Synopsis + + +Check whether a given role or subject has appropriate RBAC permissions to do +something. + + +``` +argocd admin settings rbac can ROLE/SUBJECT ACTION RESOURCE [SUB-RESOURCE] [flags] +``` + +### Examples + +``` + +# Check whether role some:role has permissions to create an application in the +# 'default' project, using a local policy.csv file +argocd admin settings rbac can some:role create application 'default/app' --policy-file policy.csv + +# Policy file can also be K8s config map with data keys like argocd-rbac-cm, +# i.e. 'policy.csv' and (optionally) 'policy.default' +argocd admin settings rbac can some:role create application 'default/app' --policy-file argocd-rbac-cm.yaml + +# If --policy-file is not given, the ConfigMap 'argocd-rbac-cm' from K8s is +# used. You need to specify the argocd namespace, and make sure that your +# current Kubernetes context is pointing to the cluster Argo CD is running in +argocd admin settings rbac can some:role create application 'default/app' --namespace argocd + +# You can override a possibly configured default role +argocd admin settings rbac can someuser create application 'default/app' --default-role role:readonly + + +``` + +### Options + +``` + --default-role string name of the default role to use + -h, --help help for can + --policy-file string path to the policy file to use + -q, --quiet quiet mode - do not print results to stdout + --strict whether to perform strict check on action and resource names (default true) + --use-builtin-policy whether to also use builtin-policy (default true) +``` + +### Options inherited from parent commands + +``` + --argocd-cm-path string Path to local argocd-cm.yaml file + --argocd-secret-path string Path to local argocd-secret.yaml file + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. + --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS + --client-crt string Client certificate file + --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use + --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use + --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. + --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. + -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server + --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure + --kubeconfig string Path to a kube config. Only required if out-of-cluster + --load-cluster-settings Indicates that config map and secret should be loaded from cluster unless local file path is provided + --logformat string Set the logging format. One of: text|json (default "text") + --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server + --plaintext Disable TLS + --port-forward Connect to a random argocd-server port using port forwarding + --port-forward-namespace string Namespace name which should be used for port forwarding + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server + --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server +``` + +### SEE ALSO + +* [argocd admin settings rbac](argocd_admin_settings_rbac.md) - Validate and test RBAC configuration + diff --git a/docs/user-guide/commands/argocd_admin_settings_rbac_validate.md b/docs/user-guide/commands/argocd_admin_settings_rbac_validate.md new file mode 100644 index 0000000000000..cbdaf99de7b37 --- /dev/null +++ b/docs/user-guide/commands/argocd_admin_settings_rbac_validate.md @@ -0,0 +1,67 @@ +## argocd admin settings rbac validate + +Validate RBAC policy + +### Synopsis + + +Validates an RBAC policy for being syntactically correct. The policy must be +a local file, and in either CSV or K8s ConfigMap format. + + +``` +argocd admin settings rbac validate --policy-file=POLICYFILE [flags] +``` + +### Options + +``` + -h, --help help for validate + --policy-file string path to the policy file to use +``` + +### Options inherited from parent commands + +``` + --argocd-cm-path string Path to local argocd-cm.yaml file + --argocd-secret-path string Path to local argocd-secret.yaml file + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. + --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS + --client-crt string Client certificate file + --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use + --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use + --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. + --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. + -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server + --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure + --kubeconfig string Path to a kube config. Only required if out-of-cluster + --load-cluster-settings Indicates that config map and secret should be loaded from cluster unless local file path is provided + --logformat string Set the logging format. One of: text|json (default "text") + --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server + --plaintext Disable TLS + --port-forward Connect to a random argocd-server port using port forwarding + --port-forward-namespace string Namespace name which should be used for port forwarding + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server + --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server +``` + +### SEE ALSO + +* [argocd admin settings rbac](argocd_admin_settings_rbac.md) - Validate and test RBAC configuration + diff --git a/docs/user-guide/commands/argocd_admin_settings_resource-overrides.md b/docs/user-guide/commands/argocd_admin_settings_resource-overrides.md new file mode 100644 index 0000000000000..a47fa0babcc2c --- /dev/null +++ b/docs/user-guide/commands/argocd_admin_settings_resource-overrides.md @@ -0,0 +1,63 @@ +## argocd admin settings resource-overrides + +Troubleshoot resource overrides + +``` +argocd admin settings resource-overrides [flags] +``` + +### Options + +``` + -h, --help help for resource-overrides +``` + +### Options inherited from parent commands + +``` + --argocd-cm-path string Path to local argocd-cm.yaml file + --argocd-secret-path string Path to local argocd-secret.yaml file + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. + --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS + --client-crt string Client certificate file + --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use + --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use + --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. + --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. + -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server + --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure + --kubeconfig string Path to a kube config. Only required if out-of-cluster + --load-cluster-settings Indicates that config map and secret should be loaded from cluster unless local file path is provided + --logformat string Set the logging format. One of: text|json (default "text") + --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server + --plaintext Disable TLS + --port-forward Connect to a random argocd-server port using port forwarding + --port-forward-namespace string Namespace name which should be used for port forwarding + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server + --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server +``` + +### SEE ALSO + +* [argocd admin settings](argocd_admin_settings.md) - Provides set of commands for settings validation and troubleshooting +* [argocd admin settings resource-overrides health](argocd_admin_settings_resource-overrides_health.md) - Assess resource health +* [argocd admin settings resource-overrides ignore-differences](argocd_admin_settings_resource-overrides_ignore-differences.md) - Renders fields excluded from diffing +* [argocd admin settings resource-overrides list-actions](argocd_admin_settings_resource-overrides_list-actions.md) - List available resource actions +* [argocd admin settings resource-overrides run-action](argocd_admin_settings_resource-overrides_run-action.md) - Executes resource action + diff --git a/docs/user-guide/commands/argocd_admin_settings_resource-overrides_health.md b/docs/user-guide/commands/argocd_admin_settings_resource-overrides_health.md new file mode 100644 index 0000000000000..c1dcd1484ead3 --- /dev/null +++ b/docs/user-guide/commands/argocd_admin_settings_resource-overrides_health.md @@ -0,0 +1,70 @@ +## argocd admin settings resource-overrides health + +Assess resource health + +### Synopsis + +Assess resource health using the lua script configured in the 'resource.customizations' field of 'argocd-cm' ConfigMap + +``` +argocd admin settings resource-overrides health RESOURCE_YAML_PATH [flags] +``` + +### Examples + +``` + +argocd admin settings resource-overrides health ./deploy.yaml --argocd-cm-path ./argocd-cm.yaml +``` + +### Options + +``` + -h, --help help for health +``` + +### Options inherited from parent commands + +``` + --argocd-cm-path string Path to local argocd-cm.yaml file + --argocd-secret-path string Path to local argocd-secret.yaml file + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. + --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS + --client-crt string Client certificate file + --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use + --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use + --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. + --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. + -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server + --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure + --kubeconfig string Path to a kube config. Only required if out-of-cluster + --load-cluster-settings Indicates that config map and secret should be loaded from cluster unless local file path is provided + --logformat string Set the logging format. One of: text|json (default "text") + --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server + --plaintext Disable TLS + --port-forward Connect to a random argocd-server port using port forwarding + --port-forward-namespace string Namespace name which should be used for port forwarding + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server + --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server +``` + +### SEE ALSO + +* [argocd admin settings resource-overrides](argocd_admin_settings_resource-overrides.md) - Troubleshoot resource overrides + diff --git a/docs/user-guide/commands/argocd_admin_settings_resource-overrides_ignore-differences.md b/docs/user-guide/commands/argocd_admin_settings_resource-overrides_ignore-differences.md new file mode 100644 index 0000000000000..a2f48681e4652 --- /dev/null +++ b/docs/user-guide/commands/argocd_admin_settings_resource-overrides_ignore-differences.md @@ -0,0 +1,70 @@ +## argocd admin settings resource-overrides ignore-differences + +Renders fields excluded from diffing + +### Synopsis + +Renders ignored fields using the 'ignoreDifferences' setting specified in the 'resource.customizations' field of 'argocd-cm' ConfigMap + +``` +argocd admin settings resource-overrides ignore-differences RESOURCE_YAML_PATH [flags] +``` + +### Examples + +``` + +argocd admin settings resource-overrides ignore-differences ./deploy.yaml --argocd-cm-path ./argocd-cm.yaml +``` + +### Options + +``` + -h, --help help for ignore-differences +``` + +### Options inherited from parent commands + +``` + --argocd-cm-path string Path to local argocd-cm.yaml file + --argocd-secret-path string Path to local argocd-secret.yaml file + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. + --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS + --client-crt string Client certificate file + --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use + --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use + --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. + --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. + -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server + --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure + --kubeconfig string Path to a kube config. Only required if out-of-cluster + --load-cluster-settings Indicates that config map and secret should be loaded from cluster unless local file path is provided + --logformat string Set the logging format. One of: text|json (default "text") + --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server + --plaintext Disable TLS + --port-forward Connect to a random argocd-server port using port forwarding + --port-forward-namespace string Namespace name which should be used for port forwarding + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server + --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server +``` + +### SEE ALSO + +* [argocd admin settings resource-overrides](argocd_admin_settings_resource-overrides.md) - Troubleshoot resource overrides + diff --git a/docs/user-guide/commands/argocd_admin_settings_resource-overrides_list-actions.md b/docs/user-guide/commands/argocd_admin_settings_resource-overrides_list-actions.md new file mode 100644 index 0000000000000..97ea3f46c1bc8 --- /dev/null +++ b/docs/user-guide/commands/argocd_admin_settings_resource-overrides_list-actions.md @@ -0,0 +1,70 @@ +## argocd admin settings resource-overrides list-actions + +List available resource actions + +### Synopsis + +List actions available for given resource action using the lua scripts configured in the 'resource.customizations' field of 'argocd-cm' ConfigMap and outputs updated fields + +``` +argocd admin settings resource-overrides list-actions RESOURCE_YAML_PATH [flags] +``` + +### Examples + +``` + +argocd admin settings resource-overrides action list /tmp/deploy.yaml --argocd-cm-path ./argocd-cm.yaml +``` + +### Options + +``` + -h, --help help for list-actions +``` + +### Options inherited from parent commands + +``` + --argocd-cm-path string Path to local argocd-cm.yaml file + --argocd-secret-path string Path to local argocd-secret.yaml file + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. + --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS + --client-crt string Client certificate file + --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use + --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use + --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. + --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. + -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server + --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure + --kubeconfig string Path to a kube config. Only required if out-of-cluster + --load-cluster-settings Indicates that config map and secret should be loaded from cluster unless local file path is provided + --logformat string Set the logging format. One of: text|json (default "text") + --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server + --plaintext Disable TLS + --port-forward Connect to a random argocd-server port using port forwarding + --port-forward-namespace string Namespace name which should be used for port forwarding + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server + --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server +``` + +### SEE ALSO + +* [argocd admin settings resource-overrides](argocd_admin_settings_resource-overrides.md) - Troubleshoot resource overrides + diff --git a/docs/user-guide/commands/argocd_admin_settings_resource-overrides_run-action.md b/docs/user-guide/commands/argocd_admin_settings_resource-overrides_run-action.md new file mode 100644 index 0000000000000..1d0348703acf5 --- /dev/null +++ b/docs/user-guide/commands/argocd_admin_settings_resource-overrides_run-action.md @@ -0,0 +1,70 @@ +## argocd admin settings resource-overrides run-action + +Executes resource action + +### Synopsis + +Executes resource action using the lua script configured in the 'resource.customizations' field of 'argocd-cm' ConfigMap and outputs updated fields + +``` +argocd admin settings resource-overrides run-action RESOURCE_YAML_PATH ACTION [flags] +``` + +### Examples + +``` + +argocd admin settings resource-overrides action run /tmp/deploy.yaml restart --argocd-cm-path ./argocd-cm.yaml +``` + +### Options + +``` + -h, --help help for run-action +``` + +### Options inherited from parent commands + +``` + --argocd-cm-path string Path to local argocd-cm.yaml file + --argocd-secret-path string Path to local argocd-secret.yaml file + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. + --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS + --client-crt string Client certificate file + --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use + --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use + --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. + --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. + -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server + --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure + --kubeconfig string Path to a kube config. Only required if out-of-cluster + --load-cluster-settings Indicates that config map and secret should be loaded from cluster unless local file path is provided + --logformat string Set the logging format. One of: text|json (default "text") + --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server + --plaintext Disable TLS + --port-forward Connect to a random argocd-server port using port forwarding + --port-forward-namespace string Namespace name which should be used for port forwarding + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server + --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server +``` + +### SEE ALSO + +* [argocd admin settings resource-overrides](argocd_admin_settings_resource-overrides.md) - Troubleshoot resource overrides + diff --git a/docs/user-guide/commands/argocd_admin_settings_validate.md b/docs/user-guide/commands/argocd_admin_settings_validate.md new file mode 100644 index 0000000000000..2c37764afc823 --- /dev/null +++ b/docs/user-guide/commands/argocd_admin_settings_validate.md @@ -0,0 +1,75 @@ +## argocd admin settings validate + +Validate settings + +### Synopsis + +Validates settings specified in 'argocd-cm' ConfigMap and 'argocd-secret' Secret + +``` +argocd admin settings validate [flags] +``` + +### Examples + +``` + +#Validates all settings in the specified YAML file +argocd admin settings validate --argocd-cm-path ./argocd-cm.yaml + +#Validates accounts and plugins settings in Kubernetes cluster of current kubeconfig context +argocd admin settings validate --group accounts --group plugins --load-cluster-settings +``` + +### Options + +``` + --group stringArray Optional list of setting groups that have to be validated ( one of: accounts, general, kustomize, plugins, repositories, resource-overrides) + -h, --help help for validate +``` + +### Options inherited from parent commands + +``` + --argocd-cm-path string Path to local argocd-cm.yaml file + --argocd-secret-path string Path to local argocd-secret.yaml file + --as string Username to impersonate for the operation + --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. + --auth-token string Authentication token + --certificate-authority string Path to a cert file for the certificate authority + --client-certificate string Path to a client certificate file for TLS + --client-crt string Client certificate file + --client-crt-key string Client certificate key file + --client-key string Path to a client key file for TLS + --cluster string The name of the kubeconfig cluster to use + --config string Path to Argo CD config (default "/home/user/.argocd/config") + --context string The name of the kubeconfig context to use + --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. + --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. + -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) + --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server + --http-retry-max int Maximum number of retries to establish http connection to Argo CD server + --insecure Skip server certificate and domain verification + --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure + --kubeconfig string Path to a kube config. Only required if out-of-cluster + --load-cluster-settings Indicates that config map and secret should be loaded from cluster unless local file path is provided + --logformat string Set the logging format. One of: text|json (default "text") + --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") + -n, --namespace string If present, the namespace scope for this CLI request + --password string Password for basic authentication to the API server + --plaintext Disable TLS + --port-forward Connect to a random argocd-server port using port forwarding + --port-forward-namespace string Namespace name which should be used for port forwarding + --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") + --server string The address and port of the Kubernetes API server + --server-crt string Server certificate file + --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. + --token string Bearer token for authentication to the API server + --user string The name of the kubeconfig user to use + --username string Username for basic authentication to the API server +``` + +### SEE ALSO + +* [argocd admin settings](argocd_admin_settings.md) - Provides set of commands for settings validation and troubleshooting + diff --git a/mkdocs.yml b/mkdocs.yml index 33123dfa1dd34..533d73472d4e9 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -64,7 +64,6 @@ nav: - operator-manual/server-commands/argocd-repo-server.md - operator-manual/server-commands/argocd-dex.md - operator-manual/server-commands/additional-configuration-method.md - - argocd-util Tools: operator-manual/server-commands/argocd-util.md - Upgrading: - operator-manual/upgrading/overview.md - operator-manual/upgrading/2.0-2.1.md diff --git a/tools/cmd-docs/main.go b/tools/cmd-docs/main.go index e6e5b4bdb3322..0183bef47c069 100644 --- a/tools/cmd-docs/main.go +++ b/tools/cmd-docs/main.go @@ -10,7 +10,6 @@ import ( argocddex "github.com/argoproj/argo-cd/v2/cmd/argocd-dex/commands" reposerver "github.com/argoproj/argo-cd/v2/cmd/argocd-repo-server/commands" argocdserver "github.com/argoproj/argo-cd/v2/cmd/argocd-server/commands" - argocdutil "github.com/argoproj/argo-cd/v2/cmd/argocd-util/commands" argocdcli "github.com/argoproj/argo-cd/v2/cmd/argocd/commands" ) @@ -43,8 +42,4 @@ func main() { log.Fatal(err) } - err = doc.GenMarkdownTree(argocdutil.NewCommand(), "./docs/operator-manual/server-commands") - if err != nil { - log.Fatal(err) - } } From e68618d168b1eeeec1b60af562922d5791197e02 Mon Sep 17 00:00:00 2001 From: Alexander Matyushentsev Date: Thu, 22 Jul 2021 08:37:04 -0700 Subject: [PATCH 61/93] fix: add incorrectly removed --staticassets flag (#6778) Signed-off-by: Alexander Matyushentsev --- cmd/argocd-server/commands/argocd_server.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cmd/argocd-server/commands/argocd_server.go b/cmd/argocd-server/commands/argocd_server.go index a6e501aa00667..5583a4fefd0a4 100644 --- a/cmd/argocd-server/commands/argocd_server.go +++ b/cmd/argocd-server/commands/argocd_server.go @@ -157,6 +157,8 @@ func NewCommand() *cobra.Command { clientConfig = cli.AddKubectlFlagsToCmd(command) command.Flags().BoolVar(&insecure, "insecure", env.ParseBoolFromEnv("ARGOCD_SERVER_INSECURE", false), "Run server without TLS") + var staticAssetsDir string + command.Flags().StringVar(&staticAssetsDir, "staticassets", "", "Static assets directory path") _ = command.Flags().MarkDeprecated("staticassets", "The --staticassets flag is not longer supported. Static assets are embedded into binary.") command.Flags().StringVar(&baseHRef, "basehref", env.StringFromEnv("ARGOCD_SERVER_BASEHREF", "/"), "Value for base href in index.html. Used if Argo CD is running behind reverse proxy under subpath different from /") command.Flags().StringVar(&rootPath, "rootpath", env.StringFromEnv("ARGOCD_SERVER_ROOTPATH", ""), "Used if Argo CD is running behind reverse proxy under subpath different from /") From 84c70b776a5931da01ce5ac01a6b46fccb2d7184 Mon Sep 17 00:00:00 2001 From: Remington Breeze Date: Thu, 22 Jul 2021 13:02:07 -0700 Subject: [PATCH 62/93] fix(ui): Allow filters in input that are not listed in suggestions (#6788) * fix(ui): Allow filters in input that are not listed in suggestions Signed-off-by: Remington Breeze * Add back accidentally removed line Signed-off-by: Remington Breeze --- ui/src/app/applications/components/filter/filter.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/src/app/applications/components/filter/filter.tsx b/ui/src/app/applications/components/filter/filter.tsx index 304112a8ee579..56001f04c8b0d 100644 --- a/ui/src/app/applications/components/filter/filter.tsx +++ b/ui/src/app/applications/components/filter/filter.tsx @@ -75,7 +75,7 @@ export const Filter = (props: FilterProps) => { onChange={e => setInput(e.target.value)} onItemClick={val => { const update = {...values}; - update[val] = true; + update[val ? val : input] = true; setInput(''); setValues(update); }} From eff2d2f81606e1fd1eed0de87b90b57e29ae7dae Mon Sep 17 00:00:00 2001 From: Remington Breeze Date: Thu, 22 Jul 2021 13:08:25 -0700 Subject: [PATCH 63/93] feat(ui): Relocate resource filters (#6777) Signed-off-by: Remington Breeze --- .../application-details.tsx | 41 +++-- .../application-resource-filter.tsx | 114 ++++++++++++++ .../application-details/filters.tsx | 147 ------------------ .../applications-list/applications-filter.tsx | 15 +- .../applications/components/filter/filter.tsx | 11 +- ui/src/app/applications/components/utils.tsx | 14 ++ .../services/view-preferences-service.ts | 2 + 7 files changed, 161 insertions(+), 183 deletions(-) create mode 100644 ui/src/app/applications/components/application-details/application-resource-filter.tsx delete mode 100644 ui/src/app/applications/components/application-details/filters.tsx diff --git a/ui/src/app/applications/components/application-details/application-details.tsx b/ui/src/app/applications/components/application-details/application-details.tsx index 38fbe5b7f634d..a51a852b8a402 100644 --- a/ui/src/app/applications/components/application-details/application-details.tsx +++ b/ui/src/app/applications/components/application-details/application-details.tsx @@ -22,7 +22,7 @@ import {ApplicationSyncPanel} from '../application-sync-panel/application-sync-p import {ResourceDetails} from '../resource-details/resource-details'; import * as AppUtils from '../utils'; import {ApplicationResourceList} from './application-resource-list'; -import {Filters} from './filters'; +import {Filters} from './application-resource-filter'; require('./application-details.scss'); @@ -204,7 +204,7 @@ export class ApplicationDetails extends React.Component
{refreshing &&

Refreshing

} - + {(tree.orphanedNodes || []).length > 0 && (
)} {((pref.view === 'tree' || pref.view === 'network') && ( - this.filterTreeNode(tree, node, treeFilter)} - selectedNodeFullName={this.selectedNodeKey} - onNodeClick={fullName => this.selectNode(fullName)} - nodeMenu={node => - AppUtils.renderResourceMenu(node, application, tree, this.appContext, this.appChanged, () => - this.getApplicationActionMenu(application) - ) - } - tree={tree} - app={application} - showOrphanedResources={pref.orphanedResources} - useNetworkingHierarchy={pref.view === 'network'} - onClearFilter={clearFilter} - /> +
+
+ +
+
+ this.filterTreeNode(tree, node, treeFilter)} + selectedNodeFullName={this.selectedNodeKey} + onNodeClick={fullName => this.selectNode(fullName)} + nodeMenu={node => + AppUtils.renderResourceMenu(node, application, tree, this.appContext, this.appChanged, () => + this.getApplicationActionMenu(application) + ) + } + tree={tree} + app={application} + showOrphanedResources={pref.orphanedResources} + useNetworkingHierarchy={pref.view === 'network'} + onClearFilter={clearFilter} + /> +
+
)) || (pref.view === 'pods' && ( self.indexOf(value) === index; + +export const Filters = (props: {pref: AppDetailsPreferences; tree: ApplicationTree; onSetFilter: (items: string[]) => void; onClearFilter: () => void}) => { + const {pref, tree, onSetFilter} = props; + + const onClearFilter = () => { + setLoading(true); + props.onClearFilter(); + }; + + const shown = pref.hideFilters; + const setShown = (val: boolean) => services.viewPreferences.updatePreferences({appDetails: {...pref, hideFilters: val}}); + + const resourceFilter = pref.resourceFilter || []; + const removePrefix = (prefix: string) => (v: string) => v.replace(prefix + ':', ''); + + const [groupedFilters, setGroupedFilters] = React.useState<{[key: string]: string}>({}); + const [loading, setLoading] = React.useState(true); + + React.useEffect(() => { + const update: {[key: string]: string} = {}; + (resourceFilter || []).forEach(pair => { + const tmp = pair.split(':'); + if (tmp.length === 2) { + const prefix = tmp[0]; + const cur = update[prefix]; + update[prefix] = `${cur ? cur + ',' : ''}${pair}`; + } + }); + setGroupedFilters(update); + setLoading(false); + }, [resourceFilter, loading]); + + useActionOnLargeWindow(() => setShown(true)); + + const setFilters = (prefix: string, values: string[]) => { + const groups = {...groupedFilters}; + groups[prefix] = values.map(v => `${prefix}:${v}`).join(','); + let strings: string[] = []; + Object.keys(groups).forEach(g => { + strings = strings.concat(groups[g].split(',').filter(f => f !== '')); + }); + onSetFilter(strings); + }; + + const ResourceFilter = (p: {label: string; prefix: string; options: string[]; field?: boolean; radio?: boolean}) => { + return loading ? ( +
Loading...
+ ) : ( + setFilters(p.prefix, v)} + options={p.options.map(label => { + return {label}; + })} + field={!!p.field} + radio={!!p.radio} + /> + ); + }; + + // we need to include ones that might have been filter in other apps that do not apply to the current app, + // otherwise the user will not be able to clear them from this panel + const alreadyFilteredOn = (prefix: string) => resourceFilter.filter(f => f.startsWith(prefix + ':')).map(removePrefix(prefix)); + + const kinds = tree.nodes + .map(x => x.kind) + .concat(alreadyFilteredOn('kind')) + .filter(uniq) + .sort(); + const namespaces = tree.nodes + .map(x => x.namespace) + .concat(alreadyFilteredOn('namespace')) + .filter(uniq) + .sort(); + + const selectedFor = (prefix: string) => { + return groupedFilters[prefix] ? groupedFilters[prefix].split(',').map(removePrefix(prefix)) : []; + }; + + return ( + <> +
+ FILTERS + {pref.resourceFilter.length > 0 && ( + onClearFilter()} style={{marginLeft: 'auto', fontSize: '12px', lineHeight: '5px', display: 'block'}} /> + )} + setShown(!shown)} + style={{marginLeft: pref.resourceFilter.length > 0 ? '5px' : 'auto', fontSize: '12px', lineHeight: '5px', display: !shown && 'block'}} + /> +
+ {shown && ( +
+ {ResourceFilter({label: 'KINDS', prefix: 'kind', options: kinds, field: true})} + {ResourceFilter({label: 'SYNC STATUS', prefix: 'sync', options: ['Synced', 'OutOfSync']})} + {ResourceFilter({label: 'HEALTH STATUS', prefix: 'health', options: ['Healthy', 'Progressing', 'Degraded', 'Suspended', 'Missing', 'Unknown']})} + {namespaces.length > 1 && ResourceFilter({label: 'NAMESPACES', prefix: 'namespace', options: (namespaces || []).filter(l => l && l !== ''), field: true})} + {ResourceFilter({label: 'OWNERSHIP', prefix: 'ownership', options: ['Owners', 'Owned']})} + {ResourceFilter({label: 'AGE', prefix: 'createdWithin', options: ['1m', '3m', '5m', '15m', '60m'], radio: true})} +
+ )} + + ); +}; diff --git a/ui/src/app/applications/components/application-details/filters.tsx b/ui/src/app/applications/components/application-details/filters.tsx deleted file mode 100644 index 1e10163d36844..0000000000000 --- a/ui/src/app/applications/components/application-details/filters.tsx +++ /dev/null @@ -1,147 +0,0 @@ -import {HelpIcon} from 'argo-ui'; -import * as React from 'react'; -import {useContext} from 'react'; -import {Context} from '../../../shared/context'; -import {ApplicationTree} from '../../../shared/models'; -import {AppDetailsPreferences} from '../../../shared/services'; - -const uniq = (value: string, index: number, self: string[]) => self.indexOf(value) === index; - -export const Filters = ({ - pref, - tree, - onSetFilter, - onClearFilter -}: { - pref: AppDetailsPreferences; - tree: ApplicationTree; - onSetFilter: (items: string[]) => void; - onClearFilter: () => void; -}) => { - const {history, navigation} = useContext(Context); - - const shown = new URLSearchParams(history.location.search).get('showFilters') === 'true'; - const setShown = (showFilters: boolean) => navigation.goto('.', {showFilters}); - - const resourceFilter = pref.resourceFilter || []; - const hasPrefix = (prefix: string) => (v: string) => v.startsWith(prefix + ':'); - const removePrefix = (prefix: string) => (v: string) => v.replace(prefix + ':', ''); - - const anyFiltered = pref.resourceFilter.length > 0; - const isFiltered = (prefix: string, suffix: string) => resourceFilter.includes(`${prefix}:${suffix}`); - const anyPrefixFiltered = (prefix: string) => resourceFilter.find(hasPrefix(prefix)); - const setFilters = (prefix: string, suffixes: string[], v: boolean) => { - const filters = suffixes.map(suffix => `${prefix}:${suffix}`); - const items = resourceFilter.filter(y => !filters.includes(y)); - if (v) { - items.push(...filters); - } - onSetFilter(items); - }; - const enableFilter = (prefix: string, suffix: string) => { - const items = resourceFilter.filter(v => !hasPrefix(prefix)(v)).concat([`${prefix}:${suffix}`]); - onSetFilter(items); - }; - // this is smarter than it looks at first glance, rather than just un-checked known items, - // it instead finds out what is enabled, and then removes them, which will be tolerant to weird or unknown items - const clearFilters = (prefix: string) => { - return setFilters(prefix, resourceFilter.filter(hasPrefix(prefix)).map(removePrefix(prefix)), false); - }; - - // we need to include ones that might have been filter in other apps that do not apply to the current app, - // otherwise the user will not be able to clear them from this panel - const alreadyFilteredOn = (prefix: string) => resourceFilter.filter(hasPrefix(prefix)).map(removePrefix(prefix)); - - const kinds = tree.nodes - .map(x => x.kind) - .concat(alreadyFilteredOn('kind')) - .filter(uniq) - .sort(); - const namespaces = tree.nodes - .map(x => x.namespace) - .concat(alreadyFilteredOn('namespace')) - .filter(uniq) - .sort(); - - const checkbox = (prefix: string, suffix: string, label: string = null) => ( - - ); - const checkboxes = (prefix: string, suffixes: string[]) => suffixes.map(suffix => checkbox(prefix, suffix)); - - const radiobox = (prefix: string, suffix: string, label: string) => ( - - ); - - const clearFilterLink = (prefix: string) => - anyPrefixFiltered(prefix) && ( - -
clearFilters(prefix)}>clear - - ); - - return ( - <> - - {shown && ( -
-
-
- OWNERSHIP - - {clearFilterLink('ownership')} -
-
{checkboxes('ownership', ['Owners', 'Owned'])}
-
-
-
SYNC STATUS {clearFilterLink('sync')}
-
{checkboxes('sync', ['Synced', 'OutOfSync'])}
-
-
-
HEALTH STATUS {clearFilterLink('health')}
-
{checkboxes('health', ['Healthy', 'Progressing', 'Degraded', 'Suspended', 'Missing', 'Unknown'])}
-
-
-
- KINDS - - setFilters('kind', kinds, true)}>all {anyPrefixFiltered('kind') && clearFilters('kind')}>clear} - -
-
{checkboxes('kind', kinds)}
-
- {namespaces.length > 1 && ( -
-
NAMESPACE {clearFilterLink('namespace')}
-
{checkboxes('namespace', namespaces)}
-
- )} -
-
- CREATED WITHIN - - {clearFilterLink('createdWithin')} -
-
{[1, 3, 5, 15, 60].map(m => radiobox('createdWithin', String(m), m + 'm'))}
-
-
- )} - - ); -}; diff --git a/ui/src/app/applications/components/applications-list/applications-filter.tsx b/ui/src/app/applications/components/applications-list/applications-filter.tsx index 146c8e468fcbf..1a54b5205b9e6 100644 --- a/ui/src/app/applications/components/applications-list/applications-filter.tsx +++ b/ui/src/app/applications/components/applications-list/applications-filter.tsx @@ -1,11 +1,11 @@ -import {ActionButton, debounce, useData} from 'argo-ui/v2'; +import {ActionButton, useData} from 'argo-ui/v2'; import * as minimatch from 'minimatch'; import * as React from 'react'; import {Application, ApplicationDestination, Cluster, HealthStatusCode, HealthStatuses, SyncStatusCode, SyncStatuses} from '../../../shared/models'; import {AppsListPreferences, services} from '../../../shared/services'; import {Filter} from '../filter/filter'; import * as LabelSelector from '../label-selector'; -import {ComparisonStatusIcon, HealthStatusIcon} from '../utils'; +import {ComparisonStatusIcon, HealthStatusIcon, useActionOnLargeWindow} from '../utils'; export interface FilterResult { projects: boolean; @@ -213,16 +213,7 @@ export const ApplicationsFilter = (props: AppFilterProps) => { services.viewPreferences.updatePreferences({appList: {...props.pref, hideFilters: val}}); }; - React.useEffect(() => { - const handleResize = () => { - if (window.innerWidth >= 1440) { - setHidden(false); - } - }; - - window.addEventListener('resize', debounce(handleResize, 1000)); - return () => window.removeEventListener('resize', handleResize); - }); + useActionOnLargeWindow(() => setHidden(false)); return (
diff --git a/ui/src/app/applications/components/filter/filter.tsx b/ui/src/app/applications/components/filter/filter.tsx index 56001f04c8b0d..ed421a356a491 100644 --- a/ui/src/app/applications/components/filter/filter.tsx +++ b/ui/src/app/applications/components/filter/filter.tsx @@ -3,10 +3,6 @@ import * as React from 'react'; import './filter.scss'; -interface FilterMap { - [label: string]: boolean; -} - interface FilterProps { selected: string[]; setSelected: (items: string[]) => void; @@ -17,10 +13,11 @@ interface FilterProps { error?: boolean; retry?: () => void; loading?: boolean; + radio?: boolean; } export const Filter = (props: FilterProps) => { - const init = {} as FilterMap; + const init = {} as {[label: string]: boolean}; props.selected.forEach(s => (init[s] = true)); const [values, setValues] = React.useState(init); @@ -51,7 +48,7 @@ export const Filter = (props: FilterProps) => { className='argo-button argo-button--base argo-button--sm' style={{marginLeft: 'auto'}} onClick={() => { - setValues({} as FilterMap); + setValues({} as {[label: string]: boolean}); setInput(''); }}> CLEAR @@ -88,7 +85,7 @@ export const Filter = (props: FilterProps) => { key={i} value={values[opt.label]} onChange={val => { - const update = {...values}; + const update = props.radio && val ? {} : {...values}; update[opt.label] = val; setValues(update); }} diff --git a/ui/src/app/applications/components/utils.tsx b/ui/src/app/applications/components/utils.tsx index 66d6c0c80655e..a4b44162142e4 100644 --- a/ui/src/app/applications/components/utils.tsx +++ b/ui/src/app/applications/components/utils.tsx @@ -12,6 +12,7 @@ import {COLORS, ErrorNotification, Revision} from '../../shared/components'; import {ContextApis} from '../../shared/context'; import * as appModels from '../../shared/models'; import {services} from '../../shared/services'; +import {debounce} from 'argo-ui/v2/utils'; require('./utils.scss'); @@ -911,3 +912,16 @@ export const BASE_COLORS = [ '#4B0082', // purple '#964B00' // brown ]; + +export const useActionOnLargeWindow = (action: () => void) => { + React.useEffect(() => { + const handleResize = () => { + if (window.innerWidth >= 1440) { + action(); + } + }; + + window.addEventListener('resize', debounce(handleResize, 1000)); + return () => window.removeEventListener('resize', handleResize); + }); +}; diff --git a/ui/src/app/shared/services/view-preferences-service.ts b/ui/src/app/shared/services/view-preferences-service.ts index 0adbf1051fc7f..5fdea7d3da8e0 100644 --- a/ui/src/app/shared/services/view-preferences-service.ts +++ b/ui/src/app/shared/services/view-preferences-service.ts @@ -13,6 +13,7 @@ export interface AppDetailsPreferences { podView: PodViewPreferences; darkMode: boolean; followLogs: boolean; + hideFilters: boolean; } export interface PodViewPreferences { @@ -72,6 +73,7 @@ const DEFAULT_PREFERENCES: ViewPreferences = { version: 1, appDetails: { view: 'tree', + hideFilters: false, resourceFilter: [], inlineDiff: false, compactDiff: false, From 7c3c3528b6c02f76a1f99278673f6315c7be751b Mon Sep 17 00:00:00 2001 From: Alexander Matyushentsev Date: Thu, 22 Jul 2021 16:02:58 -0700 Subject: [PATCH 64/93] fix: copy ui assets into correct dist directory during image build (#6790) Signed-off-by: Alexander Matyushentsev --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 708e3ca0237ea..8a6972f5562df 100644 --- a/Dockerfile +++ b/Dockerfile @@ -113,7 +113,7 @@ RUN go mod download # Perform the build COPY . . -COPY --from=argocd-ui ./src/dist/app ./src/ui/dist/app +COPY --from=argocd-ui /src/dist/app /go/src/github.com/argoproj/argo-cd/ui/dist/app RUN make argocd-all ARG BUILD_ALL_CLIS=true From f66a38875b49fd0bb4342e53391b632e822264d4 Mon Sep 17 00:00:00 2001 From: Alexander Matyushentsev Date: Thu, 22 Jul 2021 21:54:24 -0700 Subject: [PATCH 65/93] refactor: enhance application resources filter panels (#6793) * refactor: enhance application resources filter panels Signed-off-by: Alexander Matyushentsev * use fixed position for resources filter on application details page Signed-off-by: Alexander Matyushentsev --- .../application-details.scss | 14 ++++ .../application-resource-filter.tsx | 68 ++++++++++--------- .../applications-list/applications-filter.tsx | 44 ++++-------- .../applications-list/applications-list.scss | 44 ------------ .../components/filter/filter.scss | 67 ++++++++++++++++++ .../applications/components/filter/filter.tsx | 25 ++++++- ui/src/app/applications/components/utils.tsx | 14 ---- 7 files changed, 154 insertions(+), 122 deletions(-) diff --git a/ui/src/app/applications/components/application-details/application-details.scss b/ui/src/app/applications/components/application-details/application-details.scss index 75e24746145cd..d677cd68a4b04 100644 --- a/ui/src/app/applications/components/application-details/application-details.scss +++ b/ui/src/app/applications/components/application-details/application-details.scss @@ -1,4 +1,5 @@ @import 'node_modules/argo-ui/src/styles/config'; +@import 'node_modules/foundation-sites/scss/util/util'; $header: 120px; @@ -189,4 +190,17 @@ $header: 120px; &__commit-message { line-height: 1.5em; } + + @include breakpoint(xxlarge up) { + .filters-group { + position: fixed; + padding-right: 1.5em; + max-height: calc(100vh - 200px); + overflow: hidden; + } + + .filters-group:hover { + overflow-y: auto; + } + } } diff --git a/ui/src/app/applications/components/application-details/application-resource-filter.tsx b/ui/src/app/applications/components/application-details/application-resource-filter.tsx index a38a07e16e8c7..16ad470ed40f6 100644 --- a/ui/src/app/applications/components/application-details/application-resource-filter.tsx +++ b/ui/src/app/applications/components/application-details/application-resource-filter.tsx @@ -1,12 +1,15 @@ -import {ActionButton} from 'argo-ui/v2'; import * as React from 'react'; -import {ApplicationTree} from '../../../shared/models'; +import {ApplicationTree, HealthStatusCode, SyncStatusCode} from '../../../shared/models'; import {AppDetailsPreferences, services} from '../../../shared/services'; -import {Filter} from '../filter/filter'; -import {useActionOnLargeWindow} from '../utils'; +import {Filter, FiltersGroup} from '../filter/filter'; +import {ComparisonStatusIcon, HealthStatusIcon} from '../utils'; const uniq = (value: string, index: number, self: string[]) => self.indexOf(value) === index; +function toOption(label: string) { + return {label}; +} + export const Filters = (props: {pref: AppDetailsPreferences; tree: ApplicationTree; onSetFilter: (items: string[]) => void; onClearFilter: () => void}) => { const {pref, tree, onSetFilter} = props; @@ -38,8 +41,6 @@ export const Filters = (props: {pref: AppDetailsPreferences; tree: ApplicationTr setLoading(false); }, [resourceFilter, loading]); - useActionOnLargeWindow(() => setShown(true)); - const setFilters = (prefix: string, values: string[]) => { const groups = {...groupedFilters}; groups[prefix] = values.map(v => `${prefix}:${v}`).join(','); @@ -50,7 +51,7 @@ export const Filters = (props: {pref: AppDetailsPreferences; tree: ApplicationTr onSetFilter(strings); }; - const ResourceFilter = (p: {label: string; prefix: string; options: string[]; field?: boolean; radio?: boolean}) => { + const ResourceFilter = (p: {label: string; prefix: string; options: {label: string}[]; field?: boolean; radio?: boolean; wrap?: boolean}) => { return loading ? (
Loading...
) : ( @@ -58,11 +59,10 @@ export const Filters = (props: {pref: AppDetailsPreferences; tree: ApplicationTr label={p.label} selected={selectedFor(p.prefix)} setSelected={v => setFilters(p.prefix, v)} - options={p.options.map(label => { - return {label}; - })} + options={p.options} field={!!p.field} radio={!!p.radio} + wrap={!!p.wrap} /> ); }; @@ -87,28 +87,32 @@ export const Filters = (props: {pref: AppDetailsPreferences; tree: ApplicationTr }; return ( - <> -
- FILTERS - {pref.resourceFilter.length > 0 && ( - onClearFilter()} style={{marginLeft: 'auto', fontSize: '12px', lineHeight: '5px', display: 'block'}} /> - )} - setShown(!shown)} - style={{marginLeft: pref.resourceFilter.length > 0 ? '5px' : 'auto', fontSize: '12px', lineHeight: '5px', display: !shown && 'block'}} - /> + +
+ {ResourceFilter({label: 'KINDS', prefix: 'kind', options: kinds.map(toOption), field: true})} + {ResourceFilter({ + label: 'SYNC STATUS', + prefix: 'sync', + options: ['Synced', 'OutOfSync'].map(label => ({ + label, + icon: + })) + })} +
+ {ResourceFilter({ + label: 'HEALTH STATUS', + prefix: 'health', + options: ['Healthy', 'Progressing', 'Degraded', 'Suspended', 'Missing', 'Unknown'].map(label => ({ + label, + icon: + })) + })} +
+ {namespaces.length > 1 && + ResourceFilter({label: 'NAMESPACES', prefix: 'namespace', options: (namespaces || []).filter(l => l && l !== '').map(toOption), field: true})} + {ResourceFilter({label: 'OWNERSHIP', prefix: 'ownership', wrap: true, options: ['Owners', 'Owned'].map(toOption)})} + {ResourceFilter({label: 'AGE', prefix: 'createdWithin', options: ['1m', '3m', '5m', '15m', '60m'].map(toOption), radio: true, wrap: true})}
- {shown && ( -
- {ResourceFilter({label: 'KINDS', prefix: 'kind', options: kinds, field: true})} - {ResourceFilter({label: 'SYNC STATUS', prefix: 'sync', options: ['Synced', 'OutOfSync']})} - {ResourceFilter({label: 'HEALTH STATUS', prefix: 'health', options: ['Healthy', 'Progressing', 'Degraded', 'Suspended', 'Missing', 'Unknown']})} - {namespaces.length > 1 && ResourceFilter({label: 'NAMESPACES', prefix: 'namespace', options: (namespaces || []).filter(l => l && l !== ''), field: true})} - {ResourceFilter({label: 'OWNERSHIP', prefix: 'ownership', options: ['Owners', 'Owned']})} - {ResourceFilter({label: 'AGE', prefix: 'createdWithin', options: ['1m', '3m', '5m', '15m', '60m'], radio: true})} -
- )} - +
); }; diff --git a/ui/src/app/applications/components/applications-list/applications-filter.tsx b/ui/src/app/applications/components/applications-list/applications-filter.tsx index 1a54b5205b9e6..32458f202f5d6 100644 --- a/ui/src/app/applications/components/applications-list/applications-filter.tsx +++ b/ui/src/app/applications/components/applications-list/applications-filter.tsx @@ -1,11 +1,11 @@ -import {ActionButton, useData} from 'argo-ui/v2'; +import {useData} from 'argo-ui/v2'; import * as minimatch from 'minimatch'; import * as React from 'react'; import {Application, ApplicationDestination, Cluster, HealthStatusCode, HealthStatuses, SyncStatusCode, SyncStatuses} from '../../../shared/models'; import {AppsListPreferences, services} from '../../../shared/services'; -import {Filter} from '../filter/filter'; +import {Filter, FiltersGroup} from '../filter/filter'; import * as LabelSelector from '../label-selector'; -import {ComparisonStatusIcon, HealthStatusIcon, useActionOnLargeWindow} from '../utils'; +import {ComparisonStatusIcon, HealthStatusIcon} from '../utils'; export interface FilterResult { projects: boolean; @@ -208,36 +208,20 @@ const NamespaceFilter = (props: AppFilterProps) => { }; export const ApplicationsFilter = (props: AppFilterProps) => { - const hidden = props.pref.hideFilters; - const setHidden = (val: boolean) => { - services.viewPreferences.updatePreferences({appList: {...props.pref, hideFilters: val}}); + const setShown = (val: boolean) => { + services.viewPreferences.updatePreferences({appList: {...props.pref, hideFilters: !val}}); }; - useActionOnLargeWindow(() => setHidden(false)); return ( - -
- FILTERS - setHidden(!hidden)} - style={{marginLeft: 'auto', fontSize: '12px', lineHeight: '5px', display: hidden && 'block'}} - /> + + + +
+ + + +
-
- {!hidden && ( - - - -
- - - - -
-
- )} -
- +
); }; diff --git a/ui/src/app/applications/components/applications-list/applications-list.scss b/ui/src/app/applications/components/applications-list/applications-list.scss index 5ecf2faadfd0f..1e2a65ae7e27a 100644 --- a/ui/src/app/applications/components/applications-list/applications-list.scss +++ b/ui/src/app/applications/components/applications-list/applications-list.scss @@ -67,50 +67,6 @@ } } - &__filters { - display: flex; - &__title { - margin-bottom: 1em; - font-size: 13px; - color: $argo-color-gray-6; - display: flex; - align-items: center; - } - - .filter { - margin-right: 15px; - height: max-content; - min-width: 200px; - max-width: 200px; - } - - &__text-filters { - align-self: start; - display: flex; - flex-wrap: wrap; - } - } - - @include breakpoint(xxlarge up) { - .filter { - width: 100%; - margin-right: 0; - } - - &__filters { - flex-wrap: wrap; - padding-bottom: 6em; - - &__title .action-button { - display: none; - } - - &__text-filters { - width: 100%; - } - } - } - &__view-type { white-space: nowrap; i { diff --git a/ui/src/app/applications/components/filter/filter.scss b/ui/src/app/applications/components/filter/filter.scss index 192ab851c2806..a5a3f70714167 100644 --- a/ui/src/app/applications/components/filter/filter.scss +++ b/ui/src/app/applications/components/filter/filter.scss @@ -1,4 +1,5 @@ @import 'node_modules/argo-ui/src/styles/config'; +@import 'node_modules/foundation-sites/scss/util/util'; .filter { background-color: white; @@ -42,4 +43,70 @@ &__loading { text-align: center; } + + &--wrap { + overflow: auto; + .checkbox__item { + min-width: 4.5em; + float: left; + } + } } + +.filters-group { + &__container { + display: flex; + &__title { + margin-bottom: 1em; + font-size: 13px; + color: $argo-color-gray-6; + display: flex; + align-items: center; + width: 260px; + } + + .filter { + margin-right: 15px; + height: max-content; + min-width: 260px; + max-width: 260px; + } + + &__subgroup { + align-self: start; + display: flex; + flex-wrap: wrap; + } + } + + &__container--hidden { + display: none; + } +} + +@include breakpoint(xxlarge up) { + .filter { + width: 100%; + margin-right: 0; + } + + .filters-group { + &__container { + width: 260px; + flex-wrap: wrap; + padding-bottom: 6em; + + &__title .action-button { + display: none; + } + + &__text-filters { + width: 100%; + } + } + + &__container--hidden { + display: flex; + } + } +} \ No newline at end of file diff --git a/ui/src/app/applications/components/filter/filter.tsx b/ui/src/app/applications/components/filter/filter.tsx index ed421a356a491..a4dbe5f64e6b2 100644 --- a/ui/src/app/applications/components/filter/filter.tsx +++ b/ui/src/app/applications/components/filter/filter.tsx @@ -1,4 +1,5 @@ -import {Autocomplete, CheckboxOption, CheckboxRow} from 'argo-ui/v2'; +import {ActionButton, Autocomplete, CheckboxOption, CheckboxRow} from 'argo-ui/v2'; +import classNames from 'classnames'; import * as React from 'react'; import './filter.scss'; @@ -14,8 +15,28 @@ interface FilterProps { retry?: () => void; loading?: boolean; radio?: boolean; + wrap?: boolean; } +export const FiltersGroup = (props: {children?: React.ReactNode; appliedFilter?: string[]; shown: boolean; setShown: (val: boolean) => void; onClearFilter?: () => void}) => { + return ( +
+
+ FILTERS + {props.appliedFilter?.length > 0 && props.onClearFilter && ( + props.onClearFilter()} style={{marginLeft: 'auto', fontSize: '12px', lineHeight: '5px', display: 'block'}} /> + )} + props.setShown(!props.shown)} + style={{marginLeft: props.appliedFilter?.length > 0 ? '5px' : 'auto', fontSize: '12px', lineHeight: '5px'}} + /> +
+
{props.children}
+
+ ); +}; + export const Filter = (props: FilterProps) => { const init = {} as {[label: string]: boolean}; props.selected.forEach(s => (init[s] = true)); @@ -40,7 +61,7 @@ export const Filter = (props: FilterProps) => { }, [values]); return ( -
+
{props.label || 'FILTER'} {(props.selected || []).length > 0 || (props.field && Object.keys(values).length > 0) ? ( diff --git a/ui/src/app/applications/components/utils.tsx b/ui/src/app/applications/components/utils.tsx index a4b44162142e4..66d6c0c80655e 100644 --- a/ui/src/app/applications/components/utils.tsx +++ b/ui/src/app/applications/components/utils.tsx @@ -12,7 +12,6 @@ import {COLORS, ErrorNotification, Revision} from '../../shared/components'; import {ContextApis} from '../../shared/context'; import * as appModels from '../../shared/models'; import {services} from '../../shared/services'; -import {debounce} from 'argo-ui/v2/utils'; require('./utils.scss'); @@ -912,16 +911,3 @@ export const BASE_COLORS = [ '#4B0082', // purple '#964B00' // brown ]; - -export const useActionOnLargeWindow = (action: () => void) => { - React.useEffect(() => { - const handleResize = () => { - if (window.innerWidth >= 1440) { - action(); - } - }; - - window.addEventListener('resize', debounce(handleResize, 1000)); - return () => window.removeEventListener('resize', handleResize); - }); -}; From 02bf2bfc20de584b446193756e295397a189810a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Gal=C3=A1n=20y=20Martins?= <2453957+galan@users.noreply.github.com> Date: Mon, 26 Jul 2021 19:27:20 +0200 Subject: [PATCH 66/93] docs: Add Joblift to USERS (#6807) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Daniel Galán y Martins --- USERS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/USERS.md b/USERS.md index a439f7c19909e..ea418e90cb0ba 100644 --- a/USERS.md +++ b/USERS.md @@ -60,6 +60,7 @@ Currently, the following organizations are **officially** using Argo CD: 1. [Index Exchange](https://www.indexexchange.com/) 1. [InsideBoard](https://www.insideboard.com) 1. [Intuit](https://www.intuit.com/) +1. [Joblift](https://joblift.com/) 1. [JovianX](https://www.jovianx.com/) 1. [Karrot](https://www.daangn.com/) 1. [Kasa](https://kasa.co.kr/) From c3abe77bd56dd3ada2be70919b62d9fedd980cd5 Mon Sep 17 00:00:00 2001 From: Alexander Matyushentsev Date: Mon, 26 Jul 2021 10:36:50 -0700 Subject: [PATCH 67/93] fix: Cannot read property 'forEach' of undefined (#6803) Signed-off-by: Alexander Matyushentsev --- .../applications/components/application-pod-view/pod-view.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ui/src/app/applications/components/application-pod-view/pod-view.tsx b/ui/src/app/applications/components/application-pod-view/pod-view.tsx index 09e301129c7af..8964f7754a183 100644 --- a/ui/src/app/applications/components/application-pod-view/pod-view.tsx +++ b/ui/src/app/applications/components/application-pod-view/pod-view.tsx @@ -140,7 +140,7 @@ export class PodView extends React.Component {
) : null} - {group.info.map(infoItem => ( + {group.info?.map(infoItem => (
{infoItem.value}
))}
@@ -344,7 +344,7 @@ export class PodView extends React.Component { } as Pod; // Get node name for Pod - rnode.info.forEach(i => { + rnode.info?.forEach(i => { if (i.name === 'Node') { p.spec.nodeName = i.value; } From af516e9f0da25b5ffce02e6e948edc0bc9bde105 Mon Sep 17 00:00:00 2001 From: Jan Jansen Date: Mon, 26 Jul 2021 20:11:36 +0200 Subject: [PATCH 68/93] chore: pre filter groups before enforcing #4296 (#6651) * chore: pre filter groups before enforcing Part of: #4296 Signed-off-by: Jan Jansen * chore: prevent serialization if it is a mapclaims Signed-off-by: Jan Jansen * add comments Signed-off-by: Jan Jansen --- USERS.md | 1 + server/application/application_test.go | 57 ++++++++++++++++++++++++-- server/rbacpolicy/rbacpolicy.go | 24 ++++++++--- util/jwt/jwt.go | 3 ++ util/rbac/rbac.go | 13 ++++++ 5 files changed, 89 insertions(+), 9 deletions(-) diff --git a/USERS.md b/USERS.md index ea418e90cb0ba..f39a9aa1ca0e2 100644 --- a/USERS.md +++ b/USERS.md @@ -46,6 +46,7 @@ Currently, the following organizations are **officially** using Argo CD: 1. [Fave](https://myfave.com) 1. [Future PLC](https://www.futureplc.com/) 1. [Garner](https://www.garnercorp.com) +1. [G DATA CyberDefense AG](https://www.gdata-software.com/) 1. [Generali Deutschland AG](https://www.generali.de/) 1. [Glovo](https://www.glovoapp.com) 1. [GMETRI](https://gmetri.com/) diff --git a/server/application/application_test.go b/server/application/application_test.go index f6e60b9ff3f9a..2308ada40689a 100644 --- a/server/application/application_test.go +++ b/server/application/application_test.go @@ -3,6 +3,7 @@ package application import ( "context" coreerrors "errors" + "fmt" "sync/atomic" "testing" "time" @@ -73,6 +74,14 @@ func fakeAppList() *apiclient.AppList { // return an ApplicationServiceServer which returns fake data func newTestAppServer(objects ...runtime.Object) *Server { + f := func(enf *rbac.Enforcer) { + _ = enf.SetBuiltinPolicy(assets.BuiltinPolicyCSV) + enf.SetDefaultRole("role:admin") + } + return newTestAppServerWithEnforcerConfigure(f, objects...) +} + +func newTestAppServerWithEnforcerConfigure(f func(*rbac.Enforcer), objects ...runtime.Object) *Server { kubeclientset := fake.NewSimpleClientset(&v1.ConfigMap{ ObjectMeta: metav1.ObjectMeta{ Namespace: testNamespace, @@ -139,12 +148,11 @@ func newTestAppServer(objects ...runtime.Object) *Server { objects = append(objects, defaultProj, myProj, projWithSyncWindows) fakeAppsClientset := apps.NewSimpleClientset(objects...) - factory := appinformer.NewFilteredSharedInformerFactory(fakeAppsClientset, 0, "", func(options *metav1.ListOptions) {}) + factory := appinformer.NewSharedInformerFactoryWithOptions(fakeAppsClientset, 0, appinformer.WithNamespace(""), appinformer.WithTweakListOptions(func(options *metav1.ListOptions) {})) fakeProjLister := factory.Argoproj().V1alpha1().AppProjects().Lister().AppProjects(testNamespace) enforcer := rbac.NewEnforcer(kubeclientset, testNamespace, common.ArgoCDRBACConfigMapName, nil) - _ = enforcer.SetBuiltinPolicy(assets.BuiltinPolicyCSV) - enforcer.SetDefaultRole("role:admin") + f(enforcer) enforcer.SetClaimsEnforcerFunc(rbacpolicy.NewRBACPolicyEnforcer(enforcer, fakeProjLister).EnforceClaims) settingsMgr := settings.NewSettingsManager(ctx, kubeclientset, testNamespace) @@ -280,6 +288,49 @@ func TestListApps(t *testing.T) { assert.Equal(t, []string{"abc", "bcd", "def"}, names) } +func TestCoupleAppsListApps(t *testing.T) { + var objects []runtime.Object + ctx := context.Background() + + var groups []string + for i := 0; i < 50; i++ { + groups = append(groups, fmt.Sprintf("group-%d", i)) + } + // nolint:staticcheck + ctx = context.WithValue(ctx, "claims", &jwt.MapClaims{"groups": groups}) + for projectId := 0; projectId < 100; projectId++ { + projectName := fmt.Sprintf("proj-%d", projectId) + for appId := 0; appId < 100; appId++ { + objects = append(objects, newTestApp(func(app *appsv1.Application) { + app.Name = fmt.Sprintf("app-%d-%d", projectId, appId) + app.Spec.Project = projectName + })) + } + } + + f := func(enf *rbac.Enforcer) { + policy := ` +p, role:test, applications, *, proj-10/*, allow +g, group-45, role:test +p, role:test2, applications, *, proj-15/*, allow +g, group-47, role:test2 +p, role:test3, applications, *, proj-20/*, allow +g, group-49, role:test3 +` + _ = enf.SetUserPolicy(policy) + } + appServer := newTestAppServerWithEnforcerConfigure(f, objects...) + + res, err := appServer.List(ctx, &application.ApplicationQuery{}) + + assert.NoError(t, err) + var names []string + for i := range res.Items { + names = append(names, res.Items[i].Name) + } + assert.Equal(t, 300, len(names)) +} + func TestCreateApp(t *testing.T) { testApp := newTestApp() appServer := newTestAppServer() diff --git a/server/rbacpolicy/rbacpolicy.go b/server/rbacpolicy/rbacpolicy.go index e7b2683f4b3db..7fff88962238b 100644 --- a/server/rbacpolicy/rbacpolicy.go +++ b/server/rbacpolicy/rbacpolicy.go @@ -113,10 +113,13 @@ func (p *RBACPolicyEnforcer) EnforceClaims(claims jwt.Claims, rvals ...interface runtimePolicy = proj.ProjectPoliciesString() } + // NOTE: This calls prevent multiple creation of the wrapped enforcer + enforcer := p.enf.CreateEnforcerWithRuntimePolicy(runtimePolicy) + // Check the subject. This is typically the 'admin' case. - // NOTE: the call to EnforceRuntimePolicy will also consider the default role + // NOTE: the call to EnforceWithCustomEnforcer will also consider the default role vals := append([]interface{}{subject}, rvals[1:]...) - if p.enf.EnforceRuntimePolicy(runtimePolicy, vals...) { + if p.enf.EnforceWithCustomEnforcer(enforcer, vals...) { return true } @@ -126,10 +129,19 @@ func (p *RBACPolicyEnforcer) EnforceClaims(claims jwt.Claims, rvals ...interface } // Finally check if any of the user's groups grant them permissions groups := jwtutil.GetScopeValues(mapClaims, scopes) - for _, group := range groups { - vals := append([]interface{}{group}, rvals[1:]...) - if p.enf.EnforceRuntimePolicy(runtimePolicy, vals...) { - return true + + // Get groups to reduce the amount to checking groups + groupingPolicies := enforcer.GetGroupingPolicy() + for gidx := range groups { + for gpidx := range groupingPolicies { + // Prefilter user groups by groups defined in the model + if groupingPolicies[gpidx][0] == groups[gidx] { + vals := append([]interface{}{groups[gidx]}, rvals[1:]...) + if p.enf.EnforceWithCustomEnforcer(enforcer, vals...) { + return true + } + break + } } } logCtx := log.WithField("claims", claims).WithField("rval", rvals) diff --git a/util/jwt/jwt.go b/util/jwt/jwt.go index 995b014ecd72f..677b11016a948 100644 --- a/util/jwt/jwt.go +++ b/util/jwt/jwt.go @@ -12,6 +12,9 @@ import ( // MapClaims converts a jwt.Claims to a MapClaims func MapClaims(claims jwtgo.Claims) (jwtgo.MapClaims, error) { + if mapClaims, ok := claims.(*jwtgo.MapClaims); ok { + return *mapClaims, nil + } claimsBytes, err := json.Marshal(claims) if err != nil { return nil, err diff --git a/util/rbac/rbac.go b/util/rbac/rbac.go index 5efcccb4a70c3..0828543c8cdb6 100644 --- a/util/rbac/rbac.go +++ b/util/rbac/rbac.go @@ -150,6 +150,14 @@ func (e *Enforcer) EnforceErr(rvals ...interface{}) error { // user-defined policy. This allows any explicit denies of the built-in, and user-defined policies // to override the run-time policy. Runs normal enforcement if run-time policy is empty. func (e *Enforcer) EnforceRuntimePolicy(policy string, rvals ...interface{}) bool { + enf := e.CreateEnforcerWithRuntimePolicy(policy) + return e.EnforceWithCustomEnforcer(enf, rvals...) +} + +// CreateEnforcerWithRuntimePolicy creates an enforcer with a policy defined at run-time which augments the built-in and +// user-defined policy. This allows any explicit denies of the built-in, and user-defined policies +// to override the run-time policy. Runs normal enforcement if run-time policy is empty. +func (e *Enforcer) CreateEnforcerWithRuntimePolicy(policy string) *casbin.Enforcer { var enf *casbin.Enforcer var err error if policy == "" { @@ -161,6 +169,11 @@ func (e *Enforcer) EnforceRuntimePolicy(policy string, rvals ...interface{}) boo enf = e.Enforcer } } + return enf +} + +// EnforceWithCustomEnforcer wraps enforce with an custom enforcer +func (e *Enforcer) EnforceWithCustomEnforcer(enf *casbin.Enforcer, rvals ...interface{}) bool { return enforce(enf, e.defaultRole, e.claimsEnforcerFunc, rvals...) } From 30ede1c4bf303e66578b9e305d82397d6d51b96a Mon Sep 17 00:00:00 2001 From: saprette Date: Mon, 26 Jul 2021 21:47:34 +0200 Subject: [PATCH 69/93] fix: Webhook does not trigger refresh when using target revision format refs/heads/ (#6800) * fix: [#6785] Webhook does not trigger refresh when using target revision format refs/heads/ Signed-off-by: Samuel Prette * fix: Update tests for [#6785] fix Signed-off-by: Samuel Prette --- util/webhook/webhook.go | 38 ++++++++++++++++++------------------ util/webhook/webhook_test.go | 12 ++++++++++++ 2 files changed, 31 insertions(+), 19 deletions(-) diff --git a/util/webhook/webhook.go b/util/webhook/webhook.go index 70e711c517102..58e4d5c7e2939 100644 --- a/util/webhook/webhook.go +++ b/util/webhook/webhook.go @@ -88,21 +88,21 @@ func NewHandler(namespace string, appClientset appclientset.Interface, set *sett return &acdWebhook } +func parseRevision(ref string) string { + refParts := strings.SplitN(ref, "/", 3) + return refParts[len(refParts)-1] +} + // affectedRevisionInfo examines a payload from a webhook event, and extracts the repo web URL, // the revision, and whether or not this affected origin/HEAD (the default branch of the repository) func affectedRevisionInfo(payloadIf interface{}) (webURLs []string, revision string, change changeInfo, touchedHead bool, changedFiles []string) { - parseRef := func(ref string) string { - refParts := strings.SplitN(ref, "/", 3) - return refParts[len(refParts)-1] - } - switch payload := payloadIf.(type) { case github.PushPayload: // See: https://developer.github.com/v3/activity/events/types/#pushevent webURLs = append(webURLs, payload.Repository.HTMLURL) - revision = parseRef(payload.Ref) - change.shaAfter = parseRef(payload.After) - change.shaBefore = parseRef(payload.Before) + revision = parseRevision(payload.Ref) + change.shaAfter = parseRevision(payload.After) + change.shaBefore = parseRevision(payload.Before) touchedHead = bool(payload.Repository.DefaultBranch == revision) for _, commit := range payload.Commits { changedFiles = append(changedFiles, commit.Added...) @@ -112,9 +112,9 @@ func affectedRevisionInfo(payloadIf interface{}) (webURLs []string, revision str case gitlab.PushEventPayload: // See: https://docs.gitlab.com/ee/user/project/integrations/webhooks.html webURLs = append(webURLs, payload.Project.WebURL) - revision = parseRef(payload.Ref) - change.shaAfter = parseRef(payload.After) - change.shaBefore = parseRef(payload.Before) + revision = parseRevision(payload.Ref) + change.shaAfter = parseRevision(payload.After) + change.shaBefore = parseRevision(payload.Before) touchedHead = bool(payload.Project.DefaultBranch == revision) for _, commit := range payload.Commits { changedFiles = append(changedFiles, commit.Added...) @@ -125,9 +125,9 @@ func affectedRevisionInfo(payloadIf interface{}) (webURLs []string, revision str // See: https://docs.gitlab.com/ee/user/project/integrations/webhooks.html // NOTE: this is untested webURLs = append(webURLs, payload.Project.WebURL) - revision = parseRef(payload.Ref) - change.shaAfter = parseRef(payload.After) - change.shaBefore = parseRef(payload.Before) + revision = parseRevision(payload.Ref) + change.shaAfter = parseRevision(payload.After) + change.shaBefore = parseRevision(payload.Before) touchedHead = bool(payload.Project.DefaultBranch == revision) for _, commit := range payload.Commits { changedFiles = append(changedFiles, commit.Added...) @@ -166,7 +166,7 @@ func affectedRevisionInfo(payloadIf interface{}) (webURLs []string, revision str // TODO: bitbucket includes multiple changes as part of a single event. // We only pick the first but need to consider how to handle multiple for _, change := range payload.Changes { - revision = parseRef(change.Reference.ID) + revision = parseRevision(change.Reference.ID) break } // Not actually sure how to check if the incoming change affected HEAD just by examining the @@ -178,9 +178,9 @@ func affectedRevisionInfo(payloadIf interface{}) (webURLs []string, revision str case gogsclient.PushPayload: webURLs = append(webURLs, payload.Repo.HTMLURL) - revision = parseRef(payload.Ref) - change.shaAfter = parseRef(payload.After) - change.shaBefore = parseRef(payload.Before) + revision = parseRevision(payload.Ref) + change.shaAfter = parseRevision(payload.After) + change.shaBefore = parseRevision(payload.Before) touchedHead = bool(payload.Repo.DefaultBranch == revision) for _, commit := range payload.Commits { changedFiles = append(changedFiles, commit.Added...) @@ -332,7 +332,7 @@ func ensureAbsPath(input string) string { } func appRevisionHasChanged(app *v1alpha1.Application, revision string, touchedHead bool) bool { - targetRev := app.Spec.Source.TargetRevision + targetRev := parseRevision(app.Spec.Source.TargetRevision) if targetRev == "HEAD" || targetRev == "" { // revision is head return touchedHead } diff --git a/util/webhook/webhook_test.go b/util/webhook/webhook_test.go index 9e763187995b0..e31c0f4f8e541 100644 --- a/util/webhook/webhook_test.go +++ b/util/webhook/webhook_test.go @@ -237,4 +237,16 @@ func TestAppRevisionHasChanged(t *testing.T) { TargetRevision: "dev", }, }}, "dev", false)) + + assert.False(t, appRevisionHasChanged(&v1alpha1.Application{Spec: v1alpha1.ApplicationSpec{ + Source: v1alpha1.ApplicationSource{ + TargetRevision: "refs/heads/dev", + }, + }}, "master", true)) + + assert.True(t, appRevisionHasChanged(&v1alpha1.Application{Spec: v1alpha1.ApplicationSpec{ + Source: v1alpha1.ApplicationSource{ + TargetRevision: "refs/heads/dev", + }, + }}, "dev", false)) } From 8c973a40e3ea538e88a0120273738d10498279a3 Mon Sep 17 00:00:00 2001 From: RoCha Date: Mon, 26 Jul 2021 22:31:34 +0200 Subject: [PATCH 70/93] docs: Change load_restrictor none to LoadRestrictionsNone (#6806) Signed-off-by: Romain Chalumeau --- docs/user-guide/kustomize.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/user-guide/kustomize.md b/docs/user-guide/kustomize.md index 77cc64358cd2a..1d56a4dc09143 100644 --- a/docs/user-guide/kustomize.md +++ b/docs/user-guide/kustomize.md @@ -7,7 +7,7 @@ The following configuration options are available for Kustomize: * `images` is a list of Kustomize image overrides * `commonLabels` is a string map of an additional labels * `commonAnnotations` is a string map of an additional annotations - + To use Kustomize with an overlay, point your path to the overlay. !!! tip @@ -15,7 +15,7 @@ To use Kustomize with an overlay, point your path to the overlay. ## Private Remote Bases -If you have remote bases that are either (a) HTTPS and need username/password (b) SSH and need SSH private key, then they'll inherit that from the app's repo. +If you have remote bases that are either (a) HTTPS and need username/password (b) SSH and need SSH private key, then they'll inherit that from the app's repo. This will work if the remote bases uses the same credentials/private key. It will not work if they use different ones. For security reasons your app only ever knows about its own repo (not other team's or users repos), and so you won't be able to access other private repos, even if Argo CD knows about them. @@ -35,14 +35,14 @@ metadata: app.kubernetes.io/name: argocd-cm app.kubernetes.io/part-of: argocd data: - kustomize.buildOptions: --load_restrictor none + kustomize.buildOptions: --load_restrictor LoadRestrictionsNone kustomize.buildOptions.v3.9.1: --output /tmp ``` ## Custom Kustomize versions Argo CD supports using multiple kustomize versions simultaneously and specifies required version per application. To add additional versions make sure required versions are [bundled](../operator-manual/custom_tools.md) and then -use `kustomize.path.` fields of `argocd-cm` ConfigMap to register bundled additional versions. +use `kustomize.path.` fields of `argocd-cm` ConfigMap to register bundled additional versions. ```yaml apiVersion: v1 From 75a5f79ed2c277bf37437318128e4babec4fc0f5 Mon Sep 17 00:00:00 2001 From: Alexander Matyushentsev Date: Mon, 26 Jul 2021 14:54:53 -0700 Subject: [PATCH 71/93] fix: reduce filters panel width (#6809) Signed-off-by: Alexander Matyushentsev --- ui/src/app/applications/components/filter/filter.scss | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ui/src/app/applications/components/filter/filter.scss b/ui/src/app/applications/components/filter/filter.scss index a5a3f70714167..14e676ccae62e 100644 --- a/ui/src/app/applications/components/filter/filter.scss +++ b/ui/src/app/applications/components/filter/filter.scss @@ -62,14 +62,14 @@ color: $argo-color-gray-6; display: flex; align-items: center; - width: 260px; + width: 200px; } .filter { margin-right: 15px; height: max-content; - min-width: 260px; - max-width: 260px; + min-width: 200px; + max-width: 200px; } &__subgroup { From fb357defe3bc1652885cc8cf775d358bf82a21f3 Mon Sep 17 00:00:00 2001 From: Alexander Matyushentsev Date: Mon, 26 Jul 2021 14:58:13 -0700 Subject: [PATCH 72/93] feat: support --inline flag in 'argocd admin app/proj generate-spec' commands (#6804) Signed-off-by: Alexander Matyushentsev --- cmd/argocd/commands/admin/app.go | 11 +- cmd/argocd/commands/admin/cluster.go | 6 +- .../commands/admin/generatespec_utils.go | 105 ++++++++++++++++++ .../commands/admin/generatespec_utils_test.go | 38 +++++++ cmd/argocd/commands/admin/project.go | 13 ++- cmd/argocd/commands/admin/repo.go | 13 +-- cmd/util/common.go | 79 ------------- .../argocd_admin_app_generate-spec.md | 1 + .../argocd_admin_proj_generate-spec.md | 1 + 9 files changed, 166 insertions(+), 101 deletions(-) create mode 100644 cmd/argocd/commands/admin/generatespec_utils.go create mode 100644 cmd/argocd/commands/admin/generatespec_utils_test.go diff --git a/cmd/argocd/commands/admin/app.go b/cmd/argocd/commands/admin/app.go index c485c63a4a5fd..172502a52debc 100644 --- a/cmd/argocd/commands/admin/app.go +++ b/cmd/argocd/commands/admin/app.go @@ -34,6 +34,7 @@ import ( "github.com/argoproj/argo-cd/v2/util/config" "github.com/argoproj/argo-cd/v2/util/db" "github.com/argoproj/argo-cd/v2/util/errors" + "github.com/argoproj/argo-cd/v2/util/io" kubeutil "github.com/argoproj/argo-cd/v2/util/kube" "github.com/argoproj/argo-cd/v2/util/settings" ) @@ -62,6 +63,7 @@ func NewGenAppSpecCommand() *cobra.Command { labels []string outputFormat string annotations []string + inline bool ) var command = &cobra.Command{ Use: "generate-spec APPNAME", @@ -94,9 +96,11 @@ func NewGenAppSpecCommand() *cobra.Command { os.Exit(1) } - var printResources []interface{} - printResources = append(printResources, app) - errors.CheckError(cmdutil.PrintResources(printResources, outputFormat)) + out, closer, err := getOutWriter(inline, fileURL) + errors.CheckError(err) + defer io.Close(closer) + + errors.CheckError(PrintResources(outputFormat, out, app)) }, } command.Flags().StringVar(&appName, "name", "", "A name for the app, ignored if a file is set (DEPRECATED)") @@ -104,6 +108,7 @@ func NewGenAppSpecCommand() *cobra.Command { command.Flags().StringArrayVarP(&labels, "label", "l", []string{}, "Labels to apply to the app") command.Flags().StringArrayVarP(&annotations, "annotations", "", []string{}, "Set metadata annotations (e.g. example=value)") command.Flags().StringVarP(&outputFormat, "output", "o", "yaml", "Output format. One of: json|yaml") + command.Flags().BoolVarP(&inline, "inline", "i", false, "If set then generated resource is written back to the file specified in --file flag") // Only complete files with appropriate extension. err := command.Flags().SetAnnotation("file", cobra.BashCompFilenameExt, []string{"json", "yaml", "yml"}) diff --git a/cmd/argocd/commands/admin/cluster.go b/cmd/argocd/commands/admin/cluster.go index e09ebcbd845aa..ab95d8a554e66 100644 --- a/cmd/argocd/commands/admin/cluster.go +++ b/cmd/argocd/commands/admin/cluster.go @@ -581,10 +581,8 @@ func NewGenClusterConfigCommand(pathOpts *clientcmd.PathOptions) *cobra.Command secret, err := kubeClientset.CoreV1().Secrets(ArgoCDNamespace).Get(context.Background(), secName, v1.GetOptions{}) errors.CheckError(err) - cmdutil.ConvertSecretData(secret) - var printResources []interface{} - printResources = append(printResources, secret) - errors.CheckError(cmdutil.PrintResources(printResources, outputFormat)) + ConvertSecretData(secret) + errors.CheckError(PrintResources(outputFormat, os.Stdout, secret)) }, } command.PersistentFlags().StringVar(&pathOpts.LoadingRules.ExplicitPath, pathOpts.ExplicitFileFlag, pathOpts.LoadingRules.ExplicitPath, "use a particular kubeconfig file") diff --git a/cmd/argocd/commands/admin/generatespec_utils.go b/cmd/argocd/commands/admin/generatespec_utils.go new file mode 100644 index 0000000000000..d8a8b7df07c03 --- /dev/null +++ b/cmd/argocd/commands/admin/generatespec_utils.go @@ -0,0 +1,105 @@ +package admin + +import ( + "encoding/json" + "errors" + "fmt" + "io" + "os" + + "github.com/argoproj/gitops-engine/pkg/utils/kube" + "github.com/ghodss/yaml" + v1 "k8s.io/api/core/v1" + + ioutil "github.com/argoproj/argo-cd/v2/util/io" +) + +func getOutWriter(inline bool, filePath string) (io.Writer, io.Closer, error) { + if !inline { + return os.Stdout, ioutil.NopCloser, nil + } + + if filePath == "" { + return nil, nil, errors.New("The file path must be specified using flag '--file'") + } + + err := os.Rename(filePath, fmt.Sprintf("%s.back", filePath)) + if err != nil { + return nil, nil, err + } + + fileOut, err := os.Create(filePath) + if err != nil { + return nil, nil, err + } + return fileOut, fileOut, nil +} + +// PrintResources prints a single resource in YAML or JSON format to stdout according to the output format +func PrintResources(output string, out io.Writer, resources ...interface{}) error { + for i, resource := range resources { + filteredResource, err := omitFields(resource) + if err != nil { + return err + } + resources[i] = filteredResource + } + var obj interface{} = resources + if len(resources) == 1 { + obj = resources[0] + } + + switch output { + case "json": + jsonBytes, err := json.MarshalIndent(obj, "", " ") + if err != nil { + return err + } + + _, _ = fmt.Fprintln(out, string(jsonBytes)) + case "yaml": + yamlBytes, err := yaml.Marshal(obj) + if err != nil { + return err + } + // marshaled YAML already ends with the new line character + _, _ = fmt.Fprint(out, string(yamlBytes)) + default: + return fmt.Errorf("unknown output format: %s", output) + } + return nil +} + +// omit fields such as status, creationTimestamp and metadata.namespace in k8s objects +func omitFields(resource interface{}) (interface{}, error) { + jsonBytes, err := json.Marshal(resource) + if err != nil { + return nil, err + } + + toMap := make(map[string]interface{}) + err = json.Unmarshal([]byte(string(jsonBytes)), &toMap) + if err != nil { + return nil, err + } + + delete(toMap, "status") + if v, ok := toMap["metadata"]; ok { + if metadata, ok := v.(map[string]interface{}); ok { + delete(metadata, "creationTimestamp") + delete(metadata, "namespace") + } + } + return toMap, nil +} + +// ConvertSecretData converts kubernetes secret's data to stringData +func ConvertSecretData(secret *v1.Secret) { + secret.Kind = kube.SecretKind + secret.APIVersion = "v1" + secret.StringData = map[string]string{} + for k, v := range secret.Data { + secret.StringData[k] = string(v) + } + secret.Data = map[string][]byte{} +} diff --git a/cmd/argocd/commands/admin/generatespec_utils_test.go b/cmd/argocd/commands/admin/generatespec_utils_test.go new file mode 100644 index 0000000000000..f5dba775e6f42 --- /dev/null +++ b/cmd/argocd/commands/admin/generatespec_utils_test.go @@ -0,0 +1,38 @@ +package admin + +import ( + "fmt" + "io/ioutil" + "os" + "testing" + + "github.com/argoproj/argo-cd/v2/util/io" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +func TestGetOutWriter_InlineOff(t *testing.T) { + out, closer, err := getOutWriter(false, "") + require.NoError(t, err) + defer io.Close(closer) + + assert.Equal(t, os.Stdout, out) +} + +func TestGetOutWriter_InlineOn(t *testing.T) { + tmpFile, err := ioutil.TempFile("", "") + require.NoError(t, err) + defer func() { + _ = os.Remove(tmpFile.Name()) + _ = os.Remove(fmt.Sprintf("%s.back", tmpFile.Name())) + }() + + out, closer, err := getOutWriter(true, tmpFile.Name()) + require.NoError(t, err) + defer io.Close(closer) + + assert.Equal(t, tmpFile.Name(), out.(*os.File).Name()) + _, err = os.Stat(fmt.Sprintf("%s.back", tmpFile.Name())) + assert.NoError(t, err, "Back file must be created") +} diff --git a/cmd/argocd/commands/admin/project.go b/cmd/argocd/commands/admin/project.go index b2f7524ec60c8..e2478460a98da 100644 --- a/cmd/argocd/commands/admin/project.go +++ b/cmd/argocd/commands/admin/project.go @@ -13,6 +13,7 @@ import ( appclient "github.com/argoproj/argo-cd/v2/pkg/client/clientset/versioned/typed/application/v1alpha1" "github.com/argoproj/argo-cd/v2/util/cli" "github.com/argoproj/argo-cd/v2/util/errors" + "github.com/argoproj/argo-cd/v2/util/io" "github.com/argoproj/gitops-engine/pkg/utils/kube" "github.com/spf13/cobra" @@ -35,12 +36,13 @@ func NewProjectsCommand() *cobra.Command { return command } -// NewGenProjectConfigCommand generates declarative configuration file for given project +// NewGenProjectSpecCommand generates declarative configuration file for given project func NewGenProjectSpecCommand() *cobra.Command { var ( opts cmdutil.ProjectOpts fileURL string outputFormat string + inline bool ) var command = &cobra.Command{ Use: "generate-spec PROJECT", @@ -49,13 +51,16 @@ func NewGenProjectSpecCommand() *cobra.Command { proj, err := cmdutil.ConstructAppProj(fileURL, args, opts, c) errors.CheckError(err) - var printResources []interface{} - printResources = append(printResources, proj) - errors.CheckError(cmdutil.PrintResources(printResources, outputFormat)) + out, closer, err := getOutWriter(inline, fileURL) + errors.CheckError(err) + defer io.Close(closer) + + errors.CheckError(PrintResources(outputFormat, out, proj)) }, } command.Flags().StringVarP(&outputFormat, "output", "o", "yaml", "Output format. One of: json|yaml") command.Flags().StringVarP(&fileURL, "file", "f", "", "Filename or URL to Kubernetes manifests for the project") + command.Flags().BoolVarP(&inline, "inline", "i", false, "If set then generated resource is written back to the file specified in --file flag") // Only complete files with appropriate extension. err := command.Flags().SetAnnotation("file", cobra.BashCompFilenameExt, []string{"json", "yaml", "yml"}) diff --git a/cmd/argocd/commands/admin/repo.go b/cmd/argocd/commands/admin/repo.go index 199c48440165a..d6e3ae9339e30 100644 --- a/cmd/argocd/commands/admin/repo.go +++ b/cmd/argocd/commands/admin/repo.go @@ -9,7 +9,6 @@ import ( log "github.com/sirupsen/logrus" "github.com/spf13/cobra" apiv1 "k8s.io/api/core/v1" - apierr "k8s.io/apimachinery/pkg/api/errors" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" @@ -155,21 +154,13 @@ func NewGenRepoSpecCommand() *cobra.Command { settingsMgr := settings.NewSettingsManager(context.Background(), kubeClientset, ArgoCDNamespace) argoDB := db.NewDB(ArgoCDNamespace, settingsMgr, kubeClientset) - var printResources []interface{} _, err := argoDB.CreateRepository(context.Background(), &repoOpts.Repo) errors.CheckError(err) secret, err := kubeClientset.CoreV1().Secrets(ArgoCDNamespace).Get(context.Background(), db.RepoURLToSecretName(repoSecretPrefix, repoOpts.Repo.Repo), v1.GetOptions{}) - if err != nil { - if !apierr.IsNotFound(err) { - errors.CheckError(err) - } - } else { - cmdutil.ConvertSecretData(secret) - printResources = append(printResources, secret) - } + errors.CheckError(err) - errors.CheckError(cmdutil.PrintResources(printResources, outputFormat)) + errors.CheckError(PrintResources(outputFormat, os.Stdout, secret)) }, } command.Flags().StringVarP(&outputFormat, "output", "o", "yaml", "Output format. One of: json|yaml") diff --git a/cmd/util/common.go b/cmd/util/common.go index 1210b0ad9c1ec..7c7b629ab4c98 100644 --- a/cmd/util/common.go +++ b/cmd/util/common.go @@ -1,85 +1,6 @@ package util -import ( - "encoding/json" - "fmt" - - "github.com/ghodss/yaml" - v1 "k8s.io/api/core/v1" - - "github.com/argoproj/gitops-engine/pkg/utils/kube" -) - var ( LogFormat string LogLevel string ) - -// PrintResource prints a single resource in YAML or JSON format to stdout according to the output format -func PrintResources(resources []interface{}, output string) error { - for i, resource := range resources { - filteredResource, err := omitFields(resource) - if err != nil { - return err - } - resources[i] = filteredResource - } - var obj interface{} = resources - if len(resources) == 1 { - obj = resources[0] - } - - switch output { - case "json": - jsonBytes, err := json.MarshalIndent(obj, "", " ") - if err != nil { - return err - } - - fmt.Println(string(jsonBytes)) - case "yaml": - yamlBytes, err := yaml.Marshal(obj) - if err != nil { - return err - } - // marshaled YAML already ends with the new line character - fmt.Print(string(yamlBytes)) - default: - return fmt.Errorf("unknown output format: %s", output) - } - return nil -} - -// omit fields such as status, creationTimestamp and metadata.namespace in k8s objects -func omitFields(resource interface{}) (interface{}, error) { - jsonBytes, err := json.Marshal(resource) - if err != nil { - return nil, err - } - - toMap := make(map[string]interface{}) - err = json.Unmarshal([]byte(string(jsonBytes)), &toMap) - if err != nil { - return nil, err - } - - delete(toMap, "status") - if v, ok := toMap["metadata"]; ok { - if metadata, ok := v.(map[string]interface{}); ok { - delete(metadata, "creationTimestamp") - delete(metadata, "namespace") - } - } - return toMap, nil -} - -// ConvertSecretData converts kubernetes secret's data to stringData -func ConvertSecretData(secret *v1.Secret) { - secret.Kind = kube.SecretKind - secret.APIVersion = "v1" - secret.StringData = map[string]string{} - for k, v := range secret.Data { - secret.StringData[k] = string(v) - } - secret.Data = map[string][]byte{} -} diff --git a/docs/user-guide/commands/argocd_admin_app_generate-spec.md b/docs/user-guide/commands/argocd_admin_app_generate-spec.md index 1443688ded020..16988d02dd423 100644 --- a/docs/user-guide/commands/argocd_admin_app_generate-spec.md +++ b/docs/user-guide/commands/argocd_admin_app_generate-spec.md @@ -51,6 +51,7 @@ argocd admin app generate-spec APPNAME [flags] --helm-set-string stringArray Helm set STRING values on the command line (can be repeated to set several values: --helm-set-string key1=val1 --helm-set-string key2=val2) --helm-version string Helm version -h, --help help for generate-spec + -i, --inline If set then generated resource is written back to the file specified in --file flag --jsonnet-ext-var-code stringArray Jsonnet ext var --jsonnet-ext-var-str stringArray Jsonnet string ext var --jsonnet-libs stringArray Additional jsonnet libs (prefixed by repoRoot) diff --git a/docs/user-guide/commands/argocd_admin_proj_generate-spec.md b/docs/user-guide/commands/argocd_admin_proj_generate-spec.md index 80c9513f46c09..f5de4d5f59797 100644 --- a/docs/user-guide/commands/argocd_admin_proj_generate-spec.md +++ b/docs/user-guide/commands/argocd_admin_proj_generate-spec.md @@ -17,6 +17,7 @@ argocd admin proj generate-spec PROJECT [flags] -d, --dest stringArray Permitted destination server and namespace (e.g. https://192.168.99.100:8443,default) -f, --file string Filename or URL to Kubernetes manifests for the project -h, --help help for generate-spec + -i, --inline If set then generated resource is written back to the file specified in --file flag --orphaned-resources Enables orphaned resources monitoring --orphaned-resources-warn Specifies if applications should have a warning condition when orphaned resources detected -o, --output string Output format. One of: json|yaml (default "yaml") From f1d740c4df413dd48201b3b2950f9fdd8cc8bf98 Mon Sep 17 00:00:00 2001 From: Tianchu Zhao Date: Tue, 27 Jul 2021 07:58:47 +1000 Subject: [PATCH 73/93] docs(users): add woolworths,wooliesx (#6792) Signed-off-by: Tianchu Zhao --- USERS.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/USERS.md b/USERS.md index f39a9aa1ca0e2..373568d7c1a81 100644 --- a/USERS.md +++ b/USERS.md @@ -139,6 +139,8 @@ Currently, the following organizations are **officially** using Argo CD: 1. [Webstores](https://www.webstores.nl) 1. [Whitehat Berlin](https://whitehat.berlin) by Guido Maria Serra +Fenaroli 1. [Witick](https://witick.io/) +1. [WooliesX](https://wooliesx.com.au/) +1. [Woolworths Group](https://www.woolworthsgroup.com.au/) 1. [WSpot](https://www.wspot.com.br/) 1. [Yieldlab](https://www.yieldlab.de/) 1. [Zimpler](https://www.zimpler.com/) From d6a5d7700f64730e4a7fd579e36f3304e452c29d Mon Sep 17 00:00:00 2001 From: Alexander Matyushentsev Date: Mon, 26 Jul 2021 17:08:25 -0700 Subject: [PATCH 74/93] fix: status bar rounding on applcition list page (#6811) Signed-off-by: Alexander Matyushentsev --- .../applications-list/applications-status-bar.scss | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ui/src/app/applications/components/applications-list/applications-status-bar.scss b/ui/src/app/applications/components/applications-list/applications-status-bar.scss index 6b31cae5527a5..f6bbf6c6e09f8 100644 --- a/ui/src/app/applications/components/applications-list/applications-status-bar.scss +++ b/ui/src/app/applications/components/applications-list/applications-status-bar.scss @@ -17,11 +17,13 @@ } &__segment:first-child { - border-radius: 25px 0 0 25px; + border-top-left-radius: 25px; + border-bottom-left-radius: 25px; } &__segment:last-child { - border-radius: 0 25px 25px 0; + border-top-right-radius: 25px; + border-bottom-right-radius: 25px; } &__segment:not(:first-child) { From 62104da9466f7332e83a789b45cde1d41055a968 Mon Sep 17 00:00:00 2001 From: David Maciel Date: Mon, 26 Jul 2021 20:55:36 -0400 Subject: [PATCH 75/93] Update link to Helm secrets (#6810) The helm secrets link (https://github.com/futuresimple/helm-secrets) is pointing to the deprecated version of the tool. In their Deprecation notice (https://github.com/zendesk/helm-secrets#deprecation-information) they recommend moving to the maintained fork https://github.com/jkroepke/helm-secrets --- docs/operator-manual/secret-management.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/operator-manual/secret-management.md b/docs/operator-manual/secret-management.md index fcd0b3443b9d4..8372af69f32e9 100644 --- a/docs/operator-manual/secret-management.md +++ b/docs/operator-manual/secret-management.md @@ -7,7 +7,7 @@ Argo CD is un-opinionated about how secrets are managed. There's many ways to do * [External Secrets Operator](https://github.com/ContainerSolutions/externalsecret-operator) * [Hashicorp Vault](https://www.vaultproject.io) * [Banzai Cloud Bank-Vaults](https://github.com/banzaicloud/bank-vaults) -* [Helm Secrets](https://github.com/futuresimple/helm-secrets) +* [Helm Secrets](https://github.com/jkroepke/helm-secrets) * [Kustomize secret generator plugins](https://github.com/kubernetes-sigs/kustomize/blob/fd7a353df6cece4629b8e8ad56b71e30636f38fc/examples/kvSourceGoPlugin.md#secret-values-from-anywhere) * [aws-secret-operator](https://github.com/mumoshu/aws-secret-operator) * [KSOPS](https://github.com/viaduct-ai/kustomize-sops#argo-cd-integration) From e1e0f27a7bfb5c17ab21d373452a8024f41a6af5 Mon Sep 17 00:00:00 2001 From: Kshama Jain Date: Tue, 27 Jul 2021 10:00:20 -0700 Subject: [PATCH 76/93] feat: update rollout health check for Argo Rollouts v1.0 and v1.1 (#6380) Signed-off-by: kshamajain99 Signed-off-by: Jesse Suen Co-authored-by: Jesse Suen --- .../argoproj.io/Rollout/health.lua | 23 ++++++- .../argoproj.io/Rollout/health_test.yaml | 16 +++++ .../testdata/degraded_statusPhaseMessage.yaml | 50 ++++++++++++++++ ...thy_legacy_v1.0_newWorkloadGeneration.yaml | 58 ++++++++++++++++++ .../healthy_newWorkloadGeneration.yaml | 60 +++++++++++++++++++ .../progressing_newWorkloadGeneration.yaml | 60 +++++++++++++++++++ 6 files changed, 265 insertions(+), 2 deletions(-) create mode 100644 resource_customizations/argoproj.io/Rollout/testdata/degraded_statusPhaseMessage.yaml create mode 100644 resource_customizations/argoproj.io/Rollout/testdata/healthy_legacy_v1.0_newWorkloadGeneration.yaml create mode 100644 resource_customizations/argoproj.io/Rollout/testdata/healthy_newWorkloadGeneration.yaml create mode 100644 resource_customizations/argoproj.io/Rollout/testdata/progressing_newWorkloadGeneration.yaml diff --git a/resource_customizations/argoproj.io/Rollout/health.lua b/resource_customizations/argoproj.io/Rollout/health.lua index 8bef6a800d0b3..a3ffd99813188 100644 --- a/resource_customizations/argoproj.io/Rollout/health.lua +++ b/resource_customizations/argoproj.io/Rollout/health.lua @@ -66,12 +66,31 @@ function isGenerationObserved(obj) return observedGeneration == obj.metadata.generation end +-- isWorkloadGenerationObserved determines if the referenced workload's generation spec has been +-- observed by the controller. This only applies to v1.1 rollout +function isWorkloadGenerationObserved(obj) + if obj.spec.workloadRef == nil or obj.metadata.annotations == nil then + -- rollout is v1.0 or earlier + return true + end + workloadGen = tonumber(obj.metadata.annotations["rollout.argoproj.io/workload-generation"]) + observedWorkloadGen = tonumber(obj.status.workloadObservedGeneration) + return workloadGen == observedWorkloadGen +end + hs = {} -if not isGenerationObserved(obj) then +if not isGenerationObserved(obj) or not isWorkloadGenerationObserved(obj) then hs.status = "Progressing" hs.message = "Waiting for rollout spec update to be observed" return hs -end +end + +-- Argo Rollouts v1.0 has been improved to record a phase/message in status, which Argo CD can blindly surface +if obj.status.phase ~= nil then + hs.status = obj.status.phase + hs.message = obj.status.message + return hs +end for _, condition in ipairs(obj.status.conditions) do if condition.type == "InvalidSpec" then diff --git a/resource_customizations/argoproj.io/Rollout/health_test.yaml b/resource_customizations/argoproj.io/Rollout/health_test.yaml index de5ae9aacf57c..68ad99a2a576c 100644 --- a/resource_customizations/argoproj.io/Rollout/health_test.yaml +++ b/resource_customizations/argoproj.io/Rollout/health_test.yaml @@ -7,6 +7,14 @@ tests: status: Progressing message: "Waiting for rollout spec update to be observed" inputPath: testdata/progressing_newGeneration.yaml +- healthStatus: + status: Progressing + message: "Waiting for rollout spec update to be observed" + inputPath: testdata/progressing_newWorkloadGeneration.yaml +- healthStatus: + status: Degraded + message: "InvalidSpec" + inputPath: testdata/degraded_statusPhaseMessage.yaml - healthStatus: status: Healthy message: "" @@ -15,6 +23,14 @@ tests: status: Healthy message: "" inputPath: testdata/healthy_legacy_v0.9_observedGeneration_numeric.yaml +- healthStatus: + status: Healthy + message: "" + inputPath: testdata/healthy_legacy_v1.0_newWorkloadGeneration.yaml +- healthStatus: + status: Healthy + message: "" + inputPath: testdata/healthy_newWorkloadGeneration.yaml - healthStatus: status: Degraded message: "The Rollout \"basic\" is invalid: spec.strategy.strategy: Required value: Rollout has missing field '.spec.strategy.canary or .spec.strategy.blueGreen'" diff --git a/resource_customizations/argoproj.io/Rollout/testdata/degraded_statusPhaseMessage.yaml b/resource_customizations/argoproj.io/Rollout/testdata/degraded_statusPhaseMessage.yaml new file mode 100644 index 0000000000000..02c161dc1f399 --- /dev/null +++ b/resource_customizations/argoproj.io/Rollout/testdata/degraded_statusPhaseMessage.yaml @@ -0,0 +1,50 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Rollout +metadata: + creationTimestamp: "2020-11-13T00:44:55Z" + generation: 1 + name: basic + namespace: argocd-e2e + resourceVersion: "182108" + selfLink: /apis/argoproj.io/v1alpha1/namespaces/argocd-e2e/rollouts/basic + uid: 34e4bbfc-222c-4968-bd60-2b30ae81110d +spec: + replicas: 1 + selector: + matchLabels: + app: basic + strategy: + canary: + steps: + - setWeight: 50 + - pause: {} + template: + metadata: + creationTimestamp: null + labels: + app: basic + spec: + containers: + - image: nginx:1.19-alpine + name: basic + resources: + requests: + cpu: 1m + memory: 16Mi +status: + HPAReplicas: 1 + availableReplicas: 1 + blueGreen: {} + canary: {} + conditions: {} + phase: "Degraded" + message: "InvalidSpec" + currentPodHash: 754cb84d5 + currentStepHash: 757f5f97b + currentStepIndex: 2 + observedGeneration: "8575574967" ## <---- uses legacy observedGeneration hash which are numbers + readyReplicas: 1 + replicas: 1 + selector: app=basic + stableRS: 754cb84d5 + updatedReplicas: 1 diff --git a/resource_customizations/argoproj.io/Rollout/testdata/healthy_legacy_v1.0_newWorkloadGeneration.yaml b/resource_customizations/argoproj.io/Rollout/testdata/healthy_legacy_v1.0_newWorkloadGeneration.yaml new file mode 100644 index 0000000000000..f231ff5ada328 --- /dev/null +++ b/resource_customizations/argoproj.io/Rollout/testdata/healthy_legacy_v1.0_newWorkloadGeneration.yaml @@ -0,0 +1,58 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Rollout +metadata: + annotations: + rollout.argoproj.io/revision: "1" + creationTimestamp: "2021-07-27T12:14:11Z" + generation: 3 + name: rollout-ref-deployment + namespace: default + resourceVersion: "4220" + uid: a3d1d224-ac4f-4f84-9274-e01e1d43b036 +spec: + replicas: 5 + strategy: + canary: + steps: + - setWeight: 20 + - pause: + duration: 10s + workloadRef: + apiVersion: apps/v1 + kind: Deployment + name: rollout-ref-deployment +status: + HPAReplicas: 5 + availableReplicas: 5 + blueGreen: {} + canary: {} + collisionCount: 1 + conditions: + - lastTransitionTime: "2021-07-27T12:14:21Z" + lastUpdateTime: "2021-07-27T12:14:21Z" + message: RolloutCompleted + reason: RolloutCompleted + status: "True" + type: Completed + - lastTransitionTime: "2021-07-27T12:14:11Z" + lastUpdateTime: "2021-07-27T12:14:21Z" + message: ReplicaSet "rollout-ref-deployment-75bbd56864" has successfully progressed. + reason: NewReplicaSetAvailable + status: "True" + type: Progressing + - lastTransitionTime: "2021-07-27T12:14:21Z" + lastUpdateTime: "2021-07-27T12:14:21Z" + message: Rollout has minimum availability + reason: AvailableReason + status: "True" + type: Available + currentPodHash: 75bbd56864 + currentStepHash: 55f5d87bd9 + currentStepIndex: 2 + observedGeneration: "3" + phase: Healthy + readyReplicas: 5 + replicas: 5 + selector: app=rollout-ref-deployment + stableRS: 75bbd56864 + updatedReplicas: 5 diff --git a/resource_customizations/argoproj.io/Rollout/testdata/healthy_newWorkloadGeneration.yaml b/resource_customizations/argoproj.io/Rollout/testdata/healthy_newWorkloadGeneration.yaml new file mode 100644 index 0000000000000..4418a81896ad8 --- /dev/null +++ b/resource_customizations/argoproj.io/Rollout/testdata/healthy_newWorkloadGeneration.yaml @@ -0,0 +1,60 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Rollout +metadata: + annotations: + rollout.argoproj.io/revision: "1" + rollout.argoproj.io/workload-generation: "1" + creationTimestamp: "2021-07-27T12:14:11Z" + generation: 3 + name: rollout-ref-deployment + namespace: default + resourceVersion: "4220" + uid: a3d1d224-ac4f-4f84-9274-e01e1d43b036 +spec: + replicas: 5 + strategy: + canary: + steps: + - setWeight: 20 + - pause: + duration: 10s + workloadRef: + apiVersion: apps/v1 + kind: Deployment + name: rollout-ref-deployment +status: + HPAReplicas: 5 + availableReplicas: 5 + blueGreen: {} + canary: {} + collisionCount: 1 + conditions: + - lastTransitionTime: "2021-07-27T12:14:21Z" + lastUpdateTime: "2021-07-27T12:14:21Z" + message: RolloutCompleted + reason: RolloutCompleted + status: "True" + type: Completed + - lastTransitionTime: "2021-07-27T12:14:11Z" + lastUpdateTime: "2021-07-27T12:14:21Z" + message: ReplicaSet "rollout-ref-deployment-75bbd56864" has successfully progressed. + reason: NewReplicaSetAvailable + status: "True" + type: Progressing + - lastTransitionTime: "2021-07-27T12:14:21Z" + lastUpdateTime: "2021-07-27T12:14:21Z" + message: Rollout has minimum availability + reason: AvailableReason + status: "True" + type: Available + currentPodHash: 75bbd56864 + currentStepHash: 55f5d87bd9 + currentStepIndex: 2 + observedGeneration: "3" + phase: Healthy + readyReplicas: 5 + replicas: 5 + selector: app=rollout-ref-deployment + stableRS: 75bbd56864 + updatedReplicas: 5 + workloadObservedGeneration: "1" diff --git a/resource_customizations/argoproj.io/Rollout/testdata/progressing_newWorkloadGeneration.yaml b/resource_customizations/argoproj.io/Rollout/testdata/progressing_newWorkloadGeneration.yaml new file mode 100644 index 0000000000000..bc5f0f431083c --- /dev/null +++ b/resource_customizations/argoproj.io/Rollout/testdata/progressing_newWorkloadGeneration.yaml @@ -0,0 +1,60 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Rollout +metadata: + annotations: + rollout.argoproj.io/revision: "1" + rollout.argoproj.io/workload-generation: "2" + creationTimestamp: "2021-07-27T12:14:11Z" + generation: 3 + name: rollout-ref-deployment + namespace: default + resourceVersion: "4220" + uid: a3d1d224-ac4f-4f84-9274-e01e1d43b036 +spec: + replicas: 5 + strategy: + canary: + steps: + - setWeight: 20 + - pause: + duration: 10s + workloadRef: + apiVersion: apps/v1 + kind: Deployment + name: rollout-ref-deployment +status: + HPAReplicas: 5 + availableReplicas: 5 + blueGreen: {} + canary: {} + collisionCount: 1 + conditions: + - lastTransitionTime: "2021-07-27T12:14:21Z" + lastUpdateTime: "2021-07-27T12:14:21Z" + message: RolloutCompleted + reason: RolloutCompleted + status: "True" + type: Completed + - lastTransitionTime: "2021-07-27T12:14:11Z" + lastUpdateTime: "2021-07-27T12:14:21Z" + message: ReplicaSet "rollout-ref-deployment-75bbd56864" has successfully progressed. + reason: NewReplicaSetAvailable + status: "True" + type: Progressing + - lastTransitionTime: "2021-07-27T12:14:21Z" + lastUpdateTime: "2021-07-27T12:14:21Z" + message: Rollout has minimum availability + reason: AvailableReason + status: "True" + type: Available + currentPodHash: 75bbd56864 + currentStepHash: 55f5d87bd9 + currentStepIndex: 2 + observedGeneration: "3" + phase: Healthy + readyReplicas: 5 + replicas: 5 + selector: app=rollout-ref-deployment + stableRS: 75bbd56864 + updatedReplicas: 5 + workloadObservedGeneration: "1" From 1b99ce2bf32173f556dec45baeba0d4230332685 Mon Sep 17 00:00:00 2001 From: Alexander Matyushentsev Date: Tue, 27 Jul 2021 16:36:13 -0700 Subject: [PATCH 77/93] refactor: rename Argo CD headless feature to Core (#6819) * refactor: rename Argo CD headless feature to Core Signed-off-by: Alexander Matyushentsev * Apply reviewer notes Signed-off-by: Alexander Matyushentsev --- cmd/argocd/commands/admin/dashboard.go | 2 +- cmd/argocd/commands/headless/headless.go | 8 ++++---- cmd/argocd/commands/login.go | 14 +++++++------- cmd/argocd/commands/root.go | 2 +- docs/getting_started.md | 6 +++--- docs/operator-manual/installation.md | 10 +++++----- docs/roadmap.md | 8 ++++---- docs/user-guide/commands/argocd.md | 2 +- docs/user-guide/commands/argocd_account.md | 2 +- docs/user-guide/commands/argocd_account_can-i.md | 2 +- .../commands/argocd_account_delete-token.md | 2 +- .../commands/argocd_account_generate-token.md | 2 +- .../commands/argocd_account_get-user-info.md | 2 +- docs/user-guide/commands/argocd_account_get.md | 2 +- docs/user-guide/commands/argocd_account_list.md | 2 +- .../commands/argocd_account_update-password.md | 2 +- docs/user-guide/commands/argocd_admin.md | 2 +- docs/user-guide/commands/argocd_admin_app.md | 2 +- .../argocd_admin_app_diff-reconcile-results.md | 2 +- .../commands/argocd_admin_app_generate-spec.md | 2 +- .../argocd_admin_app_get-reconcile-results.md | 2 +- docs/user-guide/commands/argocd_admin_cluster.md | 2 +- .../commands/argocd_admin_cluster_generate-spec.md | 2 +- .../commands/argocd_admin_cluster_kubeconfig.md | 2 +- .../commands/argocd_admin_cluster_namespaces.md | 2 +- ...n_cluster_namespaces_disable-namespaced-mode.md | 2 +- ...in_cluster_namespaces_enable-namespaced-mode.md | 2 +- .../commands/argocd_admin_cluster_shards.md | 2 +- .../commands/argocd_admin_cluster_stats.md | 2 +- docs/user-guide/commands/argocd_admin_dashboard.md | 2 +- docs/user-guide/commands/argocd_admin_export.md | 2 +- docs/user-guide/commands/argocd_admin_import.md | 2 +- docs/user-guide/commands/argocd_admin_proj.md | 2 +- .../argocd_admin_proj_generate-allow-list.md | 2 +- .../commands/argocd_admin_proj_generate-spec.md | 2 +- .../argocd_admin_proj_update-role-policy.md | 2 +- docs/user-guide/commands/argocd_admin_repo.md | 2 +- .../commands/argocd_admin_repo_generate-spec.md | 2 +- docs/user-guide/commands/argocd_admin_settings.md | 2 +- .../commands/argocd_admin_settings_rbac.md | 2 +- .../commands/argocd_admin_settings_rbac_can.md | 2 +- .../argocd_admin_settings_rbac_validate.md | 2 +- .../argocd_admin_settings_resource-overrides.md | 2 +- ...ocd_admin_settings_resource-overrides_health.md | 2 +- ...ttings_resource-overrides_ignore-differences.md | 2 +- ...min_settings_resource-overrides_list-actions.md | 2 +- ...admin_settings_resource-overrides_run-action.md | 2 +- .../commands/argocd_admin_settings_validate.md | 2 +- docs/user-guide/commands/argocd_app.md | 2 +- docs/user-guide/commands/argocd_app_actions.md | 2 +- .../user-guide/commands/argocd_app_actions_list.md | 2 +- docs/user-guide/commands/argocd_app_actions_run.md | 2 +- docs/user-guide/commands/argocd_app_create.md | 2 +- docs/user-guide/commands/argocd_app_delete.md | 2 +- docs/user-guide/commands/argocd_app_diff.md | 2 +- docs/user-guide/commands/argocd_app_edit.md | 2 +- docs/user-guide/commands/argocd_app_get.md | 2 +- docs/user-guide/commands/argocd_app_history.md | 2 +- docs/user-guide/commands/argocd_app_list.md | 2 +- docs/user-guide/commands/argocd_app_logs.md | 2 +- docs/user-guide/commands/argocd_app_manifests.md | 2 +- .../commands/argocd_app_patch-resource.md | 2 +- docs/user-guide/commands/argocd_app_patch.md | 2 +- docs/user-guide/commands/argocd_app_resources.md | 2 +- docs/user-guide/commands/argocd_app_rollback.md | 2 +- docs/user-guide/commands/argocd_app_set.md | 2 +- docs/user-guide/commands/argocd_app_sync.md | 2 +- .../user-guide/commands/argocd_app_terminate-op.md | 2 +- docs/user-guide/commands/argocd_app_unset.md | 2 +- docs/user-guide/commands/argocd_app_wait.md | 2 +- docs/user-guide/commands/argocd_cert.md | 2 +- docs/user-guide/commands/argocd_cert_add-ssh.md | 2 +- docs/user-guide/commands/argocd_cert_add-tls.md | 2 +- docs/user-guide/commands/argocd_cert_list.md | 2 +- docs/user-guide/commands/argocd_cert_rm.md | 2 +- docs/user-guide/commands/argocd_cluster.md | 2 +- docs/user-guide/commands/argocd_cluster_add.md | 2 +- docs/user-guide/commands/argocd_cluster_get.md | 2 +- docs/user-guide/commands/argocd_cluster_list.md | 2 +- docs/user-guide/commands/argocd_cluster_rm.md | 2 +- .../commands/argocd_cluster_rotate-auth.md | 2 +- docs/user-guide/commands/argocd_completion.md | 2 +- docs/user-guide/commands/argocd_context.md | 2 +- docs/user-guide/commands/argocd_gpg.md | 2 +- docs/user-guide/commands/argocd_gpg_add.md | 2 +- docs/user-guide/commands/argocd_gpg_get.md | 2 +- docs/user-guide/commands/argocd_gpg_list.md | 2 +- docs/user-guide/commands/argocd_gpg_rm.md | 2 +- docs/user-guide/commands/argocd_login.md | 6 +++--- docs/user-guide/commands/argocd_logout.md | 2 +- docs/user-guide/commands/argocd_proj.md | 2 +- .../commands/argocd_proj_add-destination.md | 2 +- .../commands/argocd_proj_add-orphaned-ignore.md | 2 +- .../commands/argocd_proj_add-signature-key.md | 2 +- docs/user-guide/commands/argocd_proj_add-source.md | 2 +- .../commands/argocd_proj_allow-cluster-resource.md | 2 +- .../argocd_proj_allow-namespace-resource.md | 2 +- docs/user-guide/commands/argocd_proj_create.md | 2 +- docs/user-guide/commands/argocd_proj_delete.md | 2 +- .../commands/argocd_proj_deny-cluster-resource.md | 2 +- .../argocd_proj_deny-namespace-resource.md | 2 +- docs/user-guide/commands/argocd_proj_edit.md | 2 +- docs/user-guide/commands/argocd_proj_get.md | 2 +- docs/user-guide/commands/argocd_proj_list.md | 2 +- .../commands/argocd_proj_remove-destination.md | 2 +- .../commands/argocd_proj_remove-orphaned-ignore.md | 2 +- .../commands/argocd_proj_remove-signature-key.md | 2 +- .../commands/argocd_proj_remove-source.md | 2 +- docs/user-guide/commands/argocd_proj_role.md | 2 +- .../commands/argocd_proj_role_add-group.md | 2 +- .../commands/argocd_proj_role_add-policy.md | 2 +- .../commands/argocd_proj_role_create-token.md | 2 +- .../user-guide/commands/argocd_proj_role_create.md | 2 +- .../commands/argocd_proj_role_delete-token.md | 2 +- .../user-guide/commands/argocd_proj_role_delete.md | 2 +- docs/user-guide/commands/argocd_proj_role_get.md | 2 +- .../commands/argocd_proj_role_list-tokens.md | 2 +- docs/user-guide/commands/argocd_proj_role_list.md | 2 +- .../commands/argocd_proj_role_remove-group.md | 2 +- .../commands/argocd_proj_role_remove-policy.md | 2 +- docs/user-guide/commands/argocd_proj_set.md | 2 +- docs/user-guide/commands/argocd_proj_windows.md | 2 +- .../user-guide/commands/argocd_proj_windows_add.md | 2 +- .../commands/argocd_proj_windows_delete.md | 2 +- .../argocd_proj_windows_disable-manual-sync.md | 2 +- .../argocd_proj_windows_enable-manual-sync.md | 2 +- .../commands/argocd_proj_windows_list.md | 2 +- .../commands/argocd_proj_windows_update.md | 2 +- docs/user-guide/commands/argocd_relogin.md | 2 +- docs/user-guide/commands/argocd_repo.md | 2 +- docs/user-guide/commands/argocd_repo_add.md | 2 +- docs/user-guide/commands/argocd_repo_get.md | 2 +- docs/user-guide/commands/argocd_repo_list.md | 2 +- docs/user-guide/commands/argocd_repo_rm.md | 2 +- docs/user-guide/commands/argocd_repocreds.md | 2 +- docs/user-guide/commands/argocd_repocreds_add.md | 2 +- docs/user-guide/commands/argocd_repocreds_list.md | 2 +- docs/user-guide/commands/argocd_repocreds_rm.md | 2 +- docs/user-guide/commands/argocd_version.md | 2 +- hack/update-manifests.sh | 4 ++-- .../{headless-install.yaml => core-install.yaml} | 0 .../kustomization.yaml | 0 pkg/apiclient/apiclient.go | 2 +- util/localconfig/localconfig.go | 4 ++-- 144 files changed, 164 insertions(+), 164 deletions(-) rename manifests/{headless-install.yaml => core-install.yaml} (100%) rename manifests/{headless-install => core-install}/kustomization.yaml (100%) diff --git a/cmd/argocd/commands/admin/dashboard.go b/cmd/argocd/commands/admin/dashboard.go index cefe366bf8bb9..9da3582453856 100644 --- a/cmd/argocd/commands/admin/dashboard.go +++ b/cmd/argocd/commands/admin/dashboard.go @@ -23,7 +23,7 @@ func NewDashboardCommand() *cobra.Command { <-context.Background().Done() }, } - clientOpts := &apiclient.ClientOptions{Headless: true} + clientOpts := &apiclient.ClientOptions{Core: true} headless.InitCommand(cmd, clientOpts, &port) cmd.Flags().IntVar(&port, "port", common.DefaultPortAPIServer, "Listen on given port") return cmd diff --git a/cmd/argocd/commands/headless/headless.go b/cmd/argocd/commands/headless/headless.go index 7cf0acf81bb3b..23813142c23e5 100644 --- a/cmd/argocd/commands/headless/headless.go +++ b/cmd/argocd/commands/headless/headless.go @@ -59,8 +59,8 @@ func InitCommand(cmd *cobra.Command, clientOpts *argoapi.ClientOptions, port *in ctx, cancel := context.WithCancel(context.Background()) clientConfig := addKubectlFlagsToCmd(cmd) cmd.PersistentPreRunE = func(cmd *cobra.Command, args []string) error { - headless := clientOpts.Headless - if !headless { + startInProcessAPI := clientOpts.Core + if !startInProcessAPI { localCfg, err := localconfig.ReadLocalConfig(clientOpts.ConfigPath) if err != nil { return err @@ -70,10 +70,10 @@ func InitCommand(cmd *cobra.Command, clientOpts *argoapi.ClientOptions, port *in if err != nil { return err } - headless = configCtx.Server.Headless + startInProcessAPI = configCtx.Server.Core } } - if !headless { + if !startInProcessAPI { return nil } diff --git a/cmd/argocd/commands/login.go b/cmd/argocd/commands/login.go index 83168027479cb..8d8f1a861edad 100644 --- a/cmd/argocd/commands/login.go +++ b/cmd/argocd/commands/login.go @@ -51,20 +51,20 @@ argocd login cd.argoproj.io # Login to Argo CD using SSO argocd login cd.argoproj.io --sso -# Configure "headless" access using Kubernetes API server -argocd login cd.argoproj.io --headless`, +# Configure direct access using Kubernetes API server +argocd login cd.argoproj.io --core`, Run: func(c *cobra.Command, args []string) { var server string - if len(args) != 1 && !globalClientOpts.PortForward && !globalClientOpts.Headless { + if len(args) != 1 && !globalClientOpts.PortForward && !globalClientOpts.Core { c.HelpFunc()(c, args) os.Exit(1) } if globalClientOpts.PortForward { server = "port-forward" - } else if globalClientOpts.Headless { - server = "headless" + } else if globalClientOpts.Core { + server = "kubernetes" } else { server = args[0] tlsTestResult, err := grpc_util.TestTLS(server) @@ -108,7 +108,7 @@ argocd login cd.argoproj.io --headless`, // Perform the login var tokenString string var refreshToken string - if !globalClientOpts.Headless { + if !globalClientOpts.Core { acdClient := argocdclient.NewClientOrDie(&clientOpts) setConn, setIf := acdClient.NewSettingsClientOrDie() defer io.Close(setConn) @@ -146,7 +146,7 @@ argocd login cd.argoproj.io --headless`, Insecure: globalClientOpts.Insecure, GRPCWeb: globalClientOpts.GRPCWeb, GRPCWebRootPath: globalClientOpts.GRPCWebRootPath, - Headless: globalClientOpts.Headless, + Core: globalClientOpts.Core, }) localCfg.UpsertUser(localconfig.User{ Name: ctxName, diff --git a/cmd/argocd/commands/root.go b/cmd/argocd/commands/root.go index 952560cd7f389..f5289948caf34 100644 --- a/cmd/argocd/commands/root.go +++ b/cmd/argocd/commands/root.go @@ -73,6 +73,6 @@ func NewCommand() *cobra.Command { command.PersistentFlags().BoolVar(&clientOpts.PortForward, "port-forward", config.GetBoolFlag("port-forward"), "Connect to a random argocd-server port using port forwarding") command.PersistentFlags().StringVar(&clientOpts.PortForwardNamespace, "port-forward-namespace", config.GetFlag("port-forward-namespace", ""), "Namespace name which should be used for port forwarding") command.PersistentFlags().IntVar(&clientOpts.HttpRetryMax, "http-retry-max", 0, "Maximum number of retries to establish http connection to Argo CD server") - command.PersistentFlags().BoolVar(&clientOpts.Headless, "headless", false, "If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server") + command.PersistentFlags().BoolVar(&clientOpts.Core, "core", false, "If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server") return command } diff --git a/docs/getting_started.md b/docs/getting_started.md index 7b2a287dc1bac..a561ab3e734b3 100644 --- a/docs/getting_started.md +++ b/docs/getting_started.md @@ -21,14 +21,14 @@ This will create a new namespace, `argocd`, where Argo CD services and applicati The installation manifests include `ClusterRoleBinding` resources that reference `argocd` namespace. If you installing Argo CD into a different namespace then make sure to update the namespace reference. -If you are not interested in UI, SSO, multi-cluster features then you can install [single-tennant](operator-manual/installation.md#single-tenant-aka-headless) Argo CD installation: +If you are not interested in UI, SSO, multi-cluster features then you can install [core](operator-manual/installation.md#core) Argo CD components only: ```bash kubectl create namespace argocd -kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/headless-install.yaml +kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/core-install.yaml ``` -Use `argocd login --headless` to [configure](./user-guide/commands/argocd_login.md) CLI access and skip steps 3-5. +Use `argocd login --k8s-api` to [configure](./user-guide/commands/argocd_login.md) CLI access and skip steps 3-5. ## 2. Download Argo CD CLI diff --git a/docs/operator-manual/installation.md b/docs/operator-manual/installation.md index 63d3d5780a555..2f70dc420376a 100644 --- a/docs/operator-manual/installation.md +++ b/docs/operator-manual/installation.md @@ -1,6 +1,6 @@ # Installation -Argo CD has two type of installations: multi-tennant and single-tenant. +Argo CD has two type of installations: multi-tennant and core. ## Multi-Tenant @@ -46,15 +46,15 @@ High Availability installation is recommended for production use. Bundle include * [ha/namespace-install.yaml](https://github.com/argoproj/argo-cd/blob/master/manifests/ha/namespace-install.yaml) - the same as namespace-install.yaml but with multiple replicas for supported components. -## Single-Tenant (a.k.a. "Headless") +## Core -The single-tenant installation is most suitable for cluster administrators who indepently use Argo CD and don't need multi-tennancy features. This installation +The core installation is most suitable for cluster administrators who indepently use Argo CD and don't need multi-tenancy features. This installation includes less components and easier to setup. The bundle does not include API server, UI as well as install non-HA light-weight version of each component. -The end-users need Kubernetes access to manage Argo CD. The `argocd` CLI has to be configured using `argocd login --headless` command. The Web UI is also +The end-users need Kubernetes access to manage Argo CD. The `argocd` CLI has to be configured using `argocd login --k8s-api` command. The Web UI is also available and can be started using `argocd admin dashboard` command. -Installation manifests are available at [headless-install.yaml](https://github.com/argoproj/argo-cd/blob/master/manifests/headless-install.yaml). +Installation manifests are available at [core-install.yaml](https://github.com/argoproj/argo-cd/blob/master/manifests/core-install.yaml). ## Kustomize diff --git a/docs/roadmap.md b/docs/roadmap.md index 2a41a09c251eb..460827881219a 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -5,7 +5,7 @@ - [Config Management Tools Integrations (proposal)](#config-management-tools-integrations-proposal) - [Argo CD Extensions (proposal)](#argo-cd-extensions-proposal) - [Project scoped repository and clusters (proposal)](#project-scoped-repository-and-clusters-proposal) - - [Headless Argo CD (aka GitOps Agent) (proposal)](#headless-argo-cd-aka-gitops-agent-proposal) + - [Core Argo CD (proposal)](#core-argo-cd-aka-gitops-agent-proposal) - [v2.2 and beyond](#v22-and-beyond) - [Application Details Page Usability](#application-details-page-usability) - [Cluster Management User Interface](#cluster-management-user-interface) @@ -42,10 +42,10 @@ via Git repository. The feature streamlines the process of adding repositories and clusters to the project and makes it self-service. Instead of asking an administrator to change Argo CD settings end users can perform the change independently. -### Headless Argo CD (aka GitOps Agent) ([proposal](https://github.com/argoproj/argo-cd/pull/6385)) +### Core Argo CD ([proposal](https://github.com/argoproj/argo-cd/pull/6385)) -Headless Argo CD allows to installation and use of lightweight Argo CD that includes only the backend without exposing the API or UI. -The Headless Argo CD provides a better experience to users who need only core Argo CD features and don't want to deal with multi-tenancy features. +Core Argo CD allows to installation and use of lightweight Argo CD that includes only the backend without exposing the API or UI. +The Core Argo CD provides a better experience to users who need only core Argo CD features and don't want to deal with multi-tenancy features. ## v2.2 and beyond diff --git a/docs/user-guide/commands/argocd.md b/docs/user-guide/commands/argocd.md index fc4e0f3a3c582..0c6bf881f2c5a 100644 --- a/docs/user-guide/commands/argocd.md +++ b/docs/user-guide/commands/argocd.md @@ -13,10 +13,10 @@ argocd [flags] --client-crt string Client certificate file --client-crt-key string Client certificate key file --config string Path to Argo CD config (default "/home/user/.argocd/config") + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server -h, --help help for argocd --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification diff --git a/docs/user-guide/commands/argocd_account.md b/docs/user-guide/commands/argocd_account.md index 552e968f698ec..ea837a841fdc5 100644 --- a/docs/user-guide/commands/argocd_account.md +++ b/docs/user-guide/commands/argocd_account.md @@ -35,10 +35,10 @@ argocd account [flags] --client-crt string Client certificate file --client-crt-key string Client certificate key file --config string Path to Argo CD config (default "/home/user/.argocd/config") + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_account_can-i.md b/docs/user-guide/commands/argocd_account_can-i.md index 756593947f35b..eac9cd8720c6c 100644 --- a/docs/user-guide/commands/argocd_account_can-i.md +++ b/docs/user-guide/commands/argocd_account_can-i.md @@ -44,10 +44,10 @@ Resources: [clusters projects applications repositories certificates] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_account_delete-token.md b/docs/user-guide/commands/argocd_account_delete-token.md index 648ae5f9fd1ea..39739e82af2ee 100644 --- a/docs/user-guide/commands/argocd_account_delete-token.md +++ b/docs/user-guide/commands/argocd_account_delete-token.md @@ -37,10 +37,10 @@ argocd account generate-token --account --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_account_generate-token.md b/docs/user-guide/commands/argocd_account_generate-token.md index c57d8bb88593d..aa2b3917f854b 100644 --- a/docs/user-guide/commands/argocd_account_generate-token.md +++ b/docs/user-guide/commands/argocd_account_generate-token.md @@ -39,10 +39,10 @@ argocd account generate-token --account --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_account_get-user-info.md b/docs/user-guide/commands/argocd_account_get-user-info.md index 7cfa7a99b3f49..0f78cbdb17888 100644 --- a/docs/user-guide/commands/argocd_account_get-user-info.md +++ b/docs/user-guide/commands/argocd_account_get-user-info.md @@ -27,10 +27,10 @@ argocd account get-user-info [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_account_get.md b/docs/user-guide/commands/argocd_account_get.md index 14cc58b8e79b4..e1e521ce1a84a 100644 --- a/docs/user-guide/commands/argocd_account_get.md +++ b/docs/user-guide/commands/argocd_account_get.md @@ -38,10 +38,10 @@ argocd account get --account --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_account_list.md b/docs/user-guide/commands/argocd_account_list.md index e0f3407b845c8..bb0d3e2986e39 100644 --- a/docs/user-guide/commands/argocd_account_list.md +++ b/docs/user-guide/commands/argocd_account_list.md @@ -33,10 +33,10 @@ argocd account list --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_account_update-password.md b/docs/user-guide/commands/argocd_account_update-password.md index ec54ee80efda8..2d8e4231818ec 100644 --- a/docs/user-guide/commands/argocd_account_update-password.md +++ b/docs/user-guide/commands/argocd_account_update-password.md @@ -29,10 +29,10 @@ argocd account update-password [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_admin.md b/docs/user-guide/commands/argocd_admin.md index 1bcc9d6fb48de..3e70ef202a219 100644 --- a/docs/user-guide/commands/argocd_admin.md +++ b/docs/user-guide/commands/argocd_admin.md @@ -19,10 +19,10 @@ argocd admin [flags] --client-crt string Client certificate file --client-crt-key string Client certificate key file --config string Path to Argo CD config (default "/home/user/.argocd/config") + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_admin_app.md b/docs/user-guide/commands/argocd_admin_app.md index b2fc87c0826cb..e8ccb35bc2543 100644 --- a/docs/user-guide/commands/argocd_admin_app.md +++ b/docs/user-guide/commands/argocd_admin_app.md @@ -19,10 +19,10 @@ argocd admin app [flags] --client-crt string Client certificate file --client-crt-key string Client certificate key file --config string Path to Argo CD config (default "/home/user/.argocd/config") + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_admin_app_diff-reconcile-results.md b/docs/user-guide/commands/argocd_admin_app_diff-reconcile-results.md index ea40553541f7f..887a1b2ce01d7 100644 --- a/docs/user-guide/commands/argocd_admin_app_diff-reconcile-results.md +++ b/docs/user-guide/commands/argocd_admin_app_diff-reconcile-results.md @@ -19,10 +19,10 @@ argocd admin app diff-reconcile-results PATH1 PATH2 [flags] --client-crt string Client certificate file --client-crt-key string Client certificate key file --config string Path to Argo CD config (default "/home/user/.argocd/config") + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_admin_app_generate-spec.md b/docs/user-guide/commands/argocd_admin_app_generate-spec.md index 16988d02dd423..b8a35a693f4ff 100644 --- a/docs/user-guide/commands/argocd_admin_app_generate-spec.md +++ b/docs/user-guide/commands/argocd_admin_app_generate-spec.md @@ -95,10 +95,10 @@ argocd admin app generate-spec APPNAME [flags] --client-crt string Client certificate file --client-crt-key string Client certificate key file --config string Path to Argo CD config (default "/home/user/.argocd/config") + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_admin_app_get-reconcile-results.md b/docs/user-guide/commands/argocd_admin_app_get-reconcile-results.md index 5760bcedf266a..fb3f0878f8950 100644 --- a/docs/user-guide/commands/argocd_admin_app_get-reconcile-results.md +++ b/docs/user-guide/commands/argocd_admin_app_get-reconcile-results.md @@ -39,10 +39,10 @@ argocd admin app get-reconcile-results PATH [flags] --client-crt string Client certificate file --client-crt-key string Client certificate key file --config string Path to Argo CD config (default "/home/user/.argocd/config") + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_admin_cluster.md b/docs/user-guide/commands/argocd_admin_cluster.md index 6a973e89b3d04..7e75059641420 100644 --- a/docs/user-guide/commands/argocd_admin_cluster.md +++ b/docs/user-guide/commands/argocd_admin_cluster.md @@ -19,10 +19,10 @@ argocd admin cluster [flags] --client-crt string Client certificate file --client-crt-key string Client certificate key file --config string Path to Argo CD config (default "/home/user/.argocd/config") + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_admin_cluster_generate-spec.md b/docs/user-guide/commands/argocd_admin_cluster_generate-spec.md index 060fbb23dc92e..43c774bf560db 100644 --- a/docs/user-guide/commands/argocd_admin_cluster_generate-spec.md +++ b/docs/user-guide/commands/argocd_admin_cluster_generate-spec.md @@ -37,10 +37,10 @@ argocd admin cluster generate-spec CONTEXT [flags] --client-crt string Client certificate file --client-crt-key string Client certificate key file --config string Path to Argo CD config (default "/home/user/.argocd/config") + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_admin_cluster_kubeconfig.md b/docs/user-guide/commands/argocd_admin_cluster_kubeconfig.md index fd8b3c8b24747..bc6163ecc617f 100644 --- a/docs/user-guide/commands/argocd_admin_cluster_kubeconfig.md +++ b/docs/user-guide/commands/argocd_admin_cluster_kubeconfig.md @@ -35,10 +35,10 @@ argocd admin cluster kubeconfig CLUSTER_URL OUTPUT_PATH [flags] --client-crt string Client certificate file --client-crt-key string Client certificate key file --config string Path to Argo CD config (default "/home/user/.argocd/config") + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_admin_cluster_namespaces.md b/docs/user-guide/commands/argocd_admin_cluster_namespaces.md index 90657ceb7d0d0..aa9588d04d165 100644 --- a/docs/user-guide/commands/argocd_admin_cluster_namespaces.md +++ b/docs/user-guide/commands/argocd_admin_cluster_namespaces.md @@ -35,10 +35,10 @@ argocd admin cluster namespaces [flags] --client-crt string Client certificate file --client-crt-key string Client certificate key file --config string Path to Argo CD config (default "/home/user/.argocd/config") + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_admin_cluster_namespaces_disable-namespaced-mode.md b/docs/user-guide/commands/argocd_admin_cluster_namespaces_disable-namespaced-mode.md index 109906c3d173e..7a6d1f4b1484c 100644 --- a/docs/user-guide/commands/argocd_admin_cluster_namespaces_disable-namespaced-mode.md +++ b/docs/user-guide/commands/argocd_admin_cluster_namespaces_disable-namespaced-mode.md @@ -27,10 +27,10 @@ argocd admin cluster namespaces disable-namespaced-mode PATTERN [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_admin_cluster_namespaces_enable-namespaced-mode.md b/docs/user-guide/commands/argocd_admin_cluster_namespaces_enable-namespaced-mode.md index 921ec0c274172..b726e86075dea 100644 --- a/docs/user-guide/commands/argocd_admin_cluster_namespaces_enable-namespaced-mode.md +++ b/docs/user-guide/commands/argocd_admin_cluster_namespaces_enable-namespaced-mode.md @@ -29,10 +29,10 @@ argocd admin cluster namespaces enable-namespaced-mode PATTERN [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_admin_cluster_shards.md b/docs/user-guide/commands/argocd_admin_cluster_shards.md index a5ae0f6cf43f0..7be827370654a 100644 --- a/docs/user-guide/commands/argocd_admin_cluster_shards.md +++ b/docs/user-guide/commands/argocd_admin_cluster_shards.md @@ -49,10 +49,10 @@ argocd admin cluster shards [flags] --client-crt string Client certificate file --client-crt-key string Client certificate key file --config string Path to Argo CD config (default "/home/user/.argocd/config") + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_admin_cluster_stats.md b/docs/user-guide/commands/argocd_admin_cluster_stats.md index c2ceac3b5f6a8..2321837040429 100644 --- a/docs/user-guide/commands/argocd_admin_cluster_stats.md +++ b/docs/user-guide/commands/argocd_admin_cluster_stats.md @@ -49,10 +49,10 @@ argocd admin cluster stats [flags] --client-crt string Client certificate file --client-crt-key string Client certificate key file --config string Path to Argo CD config (default "/home/user/.argocd/config") + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_admin_dashboard.md b/docs/user-guide/commands/argocd_admin_dashboard.md index c4975697cb9c3..d7760b2289990 100644 --- a/docs/user-guide/commands/argocd_admin_dashboard.md +++ b/docs/user-guide/commands/argocd_admin_dashboard.md @@ -36,10 +36,10 @@ argocd admin dashboard [flags] --client-crt string Client certificate file --client-crt-key string Client certificate key file --config string Path to Argo CD config (default "/home/user/.argocd/config") + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_admin_export.md b/docs/user-guide/commands/argocd_admin_export.md index b4dc2b9a2d712..2ee86732f0111 100644 --- a/docs/user-guide/commands/argocd_admin_export.md +++ b/docs/user-guide/commands/argocd_admin_export.md @@ -36,10 +36,10 @@ argocd admin export [flags] --client-crt string Client certificate file --client-crt-key string Client certificate key file --config string Path to Argo CD config (default "/home/user/.argocd/config") + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_admin_import.md b/docs/user-guide/commands/argocd_admin_import.md index 95264a41df0f3..4b2e06693c4c5 100644 --- a/docs/user-guide/commands/argocd_admin_import.md +++ b/docs/user-guide/commands/argocd_admin_import.md @@ -38,10 +38,10 @@ argocd admin import SOURCE [flags] --client-crt string Client certificate file --client-crt-key string Client certificate key file --config string Path to Argo CD config (default "/home/user/.argocd/config") + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_admin_proj.md b/docs/user-guide/commands/argocd_admin_proj.md index 353334c10f147..1a414fded3d1b 100644 --- a/docs/user-guide/commands/argocd_admin_proj.md +++ b/docs/user-guide/commands/argocd_admin_proj.md @@ -19,10 +19,10 @@ argocd admin proj [flags] --client-crt string Client certificate file --client-crt-key string Client certificate key file --config string Path to Argo CD config (default "/home/user/.argocd/config") + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_admin_proj_generate-allow-list.md b/docs/user-guide/commands/argocd_admin_proj_generate-allow-list.md index 7f44482cd65a9..cefe7787cf135 100644 --- a/docs/user-guide/commands/argocd_admin_proj_generate-allow-list.md +++ b/docs/user-guide/commands/argocd_admin_proj_generate-allow-list.md @@ -36,10 +36,10 @@ argocd admin proj generate-allow-list CLUSTERROLE_PATH PROJ_NAME [flags] --client-crt string Client certificate file --client-crt-key string Client certificate key file --config string Path to Argo CD config (default "/home/user/.argocd/config") + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_admin_proj_generate-spec.md b/docs/user-guide/commands/argocd_admin_proj_generate-spec.md index f5de4d5f59797..2876a965df162 100644 --- a/docs/user-guide/commands/argocd_admin_proj_generate-spec.md +++ b/docs/user-guide/commands/argocd_admin_proj_generate-spec.md @@ -32,10 +32,10 @@ argocd admin proj generate-spec PROJECT [flags] --client-crt string Client certificate file --client-crt-key string Client certificate key file --config string Path to Argo CD config (default "/home/user/.argocd/config") + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_admin_proj_update-role-policy.md b/docs/user-guide/commands/argocd_admin_proj_update-role-policy.md index 4f91cebd6fb59..9df8693e9ac32 100644 --- a/docs/user-guide/commands/argocd_admin_proj_update-role-policy.md +++ b/docs/user-guide/commands/argocd_admin_proj_update-role-policy.md @@ -51,10 +51,10 @@ argocd admin proj update-role-policy PROJECT_GLOB MODIFICATION ACTION [flags] --client-crt string Client certificate file --client-crt-key string Client certificate key file --config string Path to Argo CD config (default "/home/user/.argocd/config") + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_admin_repo.md b/docs/user-guide/commands/argocd_admin_repo.md index b9de940caa0ab..75251bb0771de 100644 --- a/docs/user-guide/commands/argocd_admin_repo.md +++ b/docs/user-guide/commands/argocd_admin_repo.md @@ -19,10 +19,10 @@ argocd admin repo [flags] --client-crt string Client certificate file --client-crt-key string Client certificate key file --config string Path to Argo CD config (default "/home/user/.argocd/config") + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_admin_repo_generate-spec.md b/docs/user-guide/commands/argocd_admin_repo_generate-spec.md index 3df55511679a0..1d1157870288c 100644 --- a/docs/user-guide/commands/argocd_admin_repo_generate-spec.md +++ b/docs/user-guide/commands/argocd_admin_repo_generate-spec.md @@ -63,10 +63,10 @@ argocd admin repo generate-spec REPOURL [flags] --client-crt string Client certificate file --client-crt-key string Client certificate key file --config string Path to Argo CD config (default "/home/user/.argocd/config") + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_admin_settings.md b/docs/user-guide/commands/argocd_admin_settings.md index e0785c7dda4ac..b4bebd240957a 100644 --- a/docs/user-guide/commands/argocd_admin_settings.md +++ b/docs/user-guide/commands/argocd_admin_settings.md @@ -38,10 +38,10 @@ argocd admin settings [flags] --client-crt string Client certificate file --client-crt-key string Client certificate key file --config string Path to Argo CD config (default "/home/user/.argocd/config") + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_admin_settings_rbac.md b/docs/user-guide/commands/argocd_admin_settings_rbac.md index dcf03054ed981..353637e187641 100644 --- a/docs/user-guide/commands/argocd_admin_settings_rbac.md +++ b/docs/user-guide/commands/argocd_admin_settings_rbac.md @@ -28,10 +28,10 @@ argocd admin settings rbac [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_admin_settings_rbac_can.md b/docs/user-guide/commands/argocd_admin_settings_rbac_can.md index 73e71640bc13b..b9dd22dc94dad 100644 --- a/docs/user-guide/commands/argocd_admin_settings_rbac_can.md +++ b/docs/user-guide/commands/argocd_admin_settings_rbac_can.md @@ -63,10 +63,10 @@ argocd admin settings rbac can someuser create application 'default/app' --defau --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_admin_settings_rbac_validate.md b/docs/user-guide/commands/argocd_admin_settings_rbac_validate.md index cbdaf99de7b37..f15a1bbc94657 100644 --- a/docs/user-guide/commands/argocd_admin_settings_rbac_validate.md +++ b/docs/user-guide/commands/argocd_admin_settings_rbac_validate.md @@ -36,10 +36,10 @@ argocd admin settings rbac validate --policy-file=POLICYFILE [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_admin_settings_resource-overrides.md b/docs/user-guide/commands/argocd_admin_settings_resource-overrides.md index a47fa0babcc2c..4ab2b14407d09 100644 --- a/docs/user-guide/commands/argocd_admin_settings_resource-overrides.md +++ b/docs/user-guide/commands/argocd_admin_settings_resource-overrides.md @@ -28,10 +28,10 @@ argocd admin settings resource-overrides [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_admin_settings_resource-overrides_health.md b/docs/user-guide/commands/argocd_admin_settings_resource-overrides_health.md index c1dcd1484ead3..6f33c8f7ae5cc 100644 --- a/docs/user-guide/commands/argocd_admin_settings_resource-overrides_health.md +++ b/docs/user-guide/commands/argocd_admin_settings_resource-overrides_health.md @@ -39,10 +39,10 @@ argocd admin settings resource-overrides health ./deploy.yaml --argocd-cm-path . --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_admin_settings_resource-overrides_ignore-differences.md b/docs/user-guide/commands/argocd_admin_settings_resource-overrides_ignore-differences.md index a2f48681e4652..694e81ff9198d 100644 --- a/docs/user-guide/commands/argocd_admin_settings_resource-overrides_ignore-differences.md +++ b/docs/user-guide/commands/argocd_admin_settings_resource-overrides_ignore-differences.md @@ -39,10 +39,10 @@ argocd admin settings resource-overrides ignore-differences ./deploy.yaml --argo --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_admin_settings_resource-overrides_list-actions.md b/docs/user-guide/commands/argocd_admin_settings_resource-overrides_list-actions.md index 97ea3f46c1bc8..2556eae3e4d7c 100644 --- a/docs/user-guide/commands/argocd_admin_settings_resource-overrides_list-actions.md +++ b/docs/user-guide/commands/argocd_admin_settings_resource-overrides_list-actions.md @@ -39,10 +39,10 @@ argocd admin settings resource-overrides action list /tmp/deploy.yaml --argocd-c --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_admin_settings_resource-overrides_run-action.md b/docs/user-guide/commands/argocd_admin_settings_resource-overrides_run-action.md index 1d0348703acf5..7563ddf8fbc35 100644 --- a/docs/user-guide/commands/argocd_admin_settings_resource-overrides_run-action.md +++ b/docs/user-guide/commands/argocd_admin_settings_resource-overrides_run-action.md @@ -39,10 +39,10 @@ argocd admin settings resource-overrides action run /tmp/deploy.yaml restart --a --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_admin_settings_validate.md b/docs/user-guide/commands/argocd_admin_settings_validate.md index 2c37764afc823..61db807478717 100644 --- a/docs/user-guide/commands/argocd_admin_settings_validate.md +++ b/docs/user-guide/commands/argocd_admin_settings_validate.md @@ -44,10 +44,10 @@ argocd admin settings validate --group accounts --group plugins --load-cluster-s --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_app.md b/docs/user-guide/commands/argocd_app.md index 449388e8286b3..1eaca8b71c6d8 100644 --- a/docs/user-guide/commands/argocd_app.md +++ b/docs/user-guide/commands/argocd_app.md @@ -48,10 +48,10 @@ argocd app [flags] --client-crt string Client certificate file --client-crt-key string Client certificate key file --config string Path to Argo CD config (default "/home/user/.argocd/config") + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_app_actions.md b/docs/user-guide/commands/argocd_app_actions.md index df1bce54f4a36..20ff7324968ac 100644 --- a/docs/user-guide/commands/argocd_app_actions.md +++ b/docs/user-guide/commands/argocd_app_actions.md @@ -26,10 +26,10 @@ argocd app actions [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_app_actions_list.md b/docs/user-guide/commands/argocd_app_actions_list.md index c3c7418610f47..5772a20eeda9c 100644 --- a/docs/user-guide/commands/argocd_app_actions_list.md +++ b/docs/user-guide/commands/argocd_app_actions_list.md @@ -30,10 +30,10 @@ argocd app actions list APPNAME [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_app_actions_run.md b/docs/user-guide/commands/argocd_app_actions_run.md index 5bbb30bd6b382..0f46c72d623a8 100644 --- a/docs/user-guide/commands/argocd_app_actions_run.md +++ b/docs/user-guide/commands/argocd_app_actions_run.md @@ -30,10 +30,10 @@ argocd app actions run APPNAME ACTION [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_app_create.md b/docs/user-guide/commands/argocd_app_create.md index aca30231ab9ce..ea8ec2aee543e 100644 --- a/docs/user-guide/commands/argocd_app_create.md +++ b/docs/user-guide/commands/argocd_app_create.md @@ -101,10 +101,10 @@ argocd app create APPNAME [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_app_delete.md b/docs/user-guide/commands/argocd_app_delete.md index 9eb89b7f6abbc..08af4b030bf00 100644 --- a/docs/user-guide/commands/argocd_app_delete.md +++ b/docs/user-guide/commands/argocd_app_delete.md @@ -29,10 +29,10 @@ argocd app delete APPNAME [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_app_diff.md b/docs/user-guide/commands/argocd_app_diff.md index 18b46841139de..3c8a2226a0549 100644 --- a/docs/user-guide/commands/argocd_app_diff.md +++ b/docs/user-guide/commands/argocd_app_diff.md @@ -38,10 +38,10 @@ argocd app diff APPNAME [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_app_edit.md b/docs/user-guide/commands/argocd_app_edit.md index 3b55c3d7620de..5f520b18fec93 100644 --- a/docs/user-guide/commands/argocd_app_edit.md +++ b/docs/user-guide/commands/argocd_app_edit.md @@ -26,10 +26,10 @@ argocd app edit APPNAME [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_app_get.md b/docs/user-guide/commands/argocd_app_get.md index 95a16ecd4f3d2..56d26b3813417 100644 --- a/docs/user-guide/commands/argocd_app_get.md +++ b/docs/user-guide/commands/argocd_app_get.md @@ -31,10 +31,10 @@ argocd app get APPNAME [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_app_history.md b/docs/user-guide/commands/argocd_app_history.md index 060bd0a74bf13..a6191518845b2 100644 --- a/docs/user-guide/commands/argocd_app_history.md +++ b/docs/user-guide/commands/argocd_app_history.md @@ -27,10 +27,10 @@ argocd app history APPNAME [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_app_list.md b/docs/user-guide/commands/argocd_app_list.md index 1731e1608be9f..045a25b8473fa 100644 --- a/docs/user-guide/commands/argocd_app_list.md +++ b/docs/user-guide/commands/argocd_app_list.md @@ -40,10 +40,10 @@ argocd app list [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_app_logs.md b/docs/user-guide/commands/argocd_app_logs.md index 736463e5b67bb..c63ae877682c9 100644 --- a/docs/user-guide/commands/argocd_app_logs.md +++ b/docs/user-guide/commands/argocd_app_logs.md @@ -35,10 +35,10 @@ argocd app logs APPNAME [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_app_manifests.md b/docs/user-guide/commands/argocd_app_manifests.md index 77cd4c0b02636..a4d96672b7785 100644 --- a/docs/user-guide/commands/argocd_app_manifests.md +++ b/docs/user-guide/commands/argocd_app_manifests.md @@ -28,10 +28,10 @@ argocd app manifests APPNAME [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_app_patch-resource.md b/docs/user-guide/commands/argocd_app_patch-resource.md index 8c70e4da6ac71..f54ee0474dfd7 100644 --- a/docs/user-guide/commands/argocd_app_patch-resource.md +++ b/docs/user-guide/commands/argocd_app_patch-resource.md @@ -32,10 +32,10 @@ argocd app patch-resource APPNAME [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_app_patch.md b/docs/user-guide/commands/argocd_app_patch.md index 34b9a8aef5515..230f96ddb48bf 100644 --- a/docs/user-guide/commands/argocd_app_patch.md +++ b/docs/user-guide/commands/argocd_app_patch.md @@ -37,10 +37,10 @@ argocd app patch APPNAME [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_app_resources.md b/docs/user-guide/commands/argocd_app_resources.md index 6f9487bd64074..0a458411b8e0a 100644 --- a/docs/user-guide/commands/argocd_app_resources.md +++ b/docs/user-guide/commands/argocd_app_resources.md @@ -27,10 +27,10 @@ argocd app resources APPNAME [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_app_rollback.md b/docs/user-guide/commands/argocd_app_rollback.md index 2f3a67dd30bb1..9e9e2e391abd6 100644 --- a/docs/user-guide/commands/argocd_app_rollback.md +++ b/docs/user-guide/commands/argocd_app_rollback.md @@ -28,10 +28,10 @@ argocd app rollback APPNAME ID [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_app_set.md b/docs/user-guide/commands/argocd_app_set.md index ea4ed36ccb5e1..2ecb9d08cb012 100644 --- a/docs/user-guide/commands/argocd_app_set.md +++ b/docs/user-guide/commands/argocd_app_set.md @@ -72,10 +72,10 @@ argocd app set APPNAME [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_app_sync.md b/docs/user-guide/commands/argocd_app_sync.md index a68a0ab357f09..fb04f59b585f2 100644 --- a/docs/user-guide/commands/argocd_app_sync.md +++ b/docs/user-guide/commands/argocd_app_sync.md @@ -63,10 +63,10 @@ argocd app sync [APPNAME... | -l selector] [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_app_terminate-op.md b/docs/user-guide/commands/argocd_app_terminate-op.md index e407d8e1ca6b6..b716340abb35b 100644 --- a/docs/user-guide/commands/argocd_app_terminate-op.md +++ b/docs/user-guide/commands/argocd_app_terminate-op.md @@ -26,10 +26,10 @@ argocd app terminate-op APPNAME [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_app_unset.md b/docs/user-guide/commands/argocd_app_unset.md index 2e3499fb0bc7b..cdbd4f339d266 100644 --- a/docs/user-guide/commands/argocd_app_unset.md +++ b/docs/user-guide/commands/argocd_app_unset.md @@ -47,10 +47,10 @@ argocd app unset APPNAME parameters [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_app_wait.md b/docs/user-guide/commands/argocd_app_wait.md index 587ef38989385..5a1a5c1fad6a2 100644 --- a/docs/user-guide/commands/argocd_app_wait.md +++ b/docs/user-guide/commands/argocd_app_wait.md @@ -46,10 +46,10 @@ argocd app wait [APPNAME.. | -l selector] [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_cert.md b/docs/user-guide/commands/argocd_cert.md index 83e3b46bbb8d5..80fa88e006256 100644 --- a/docs/user-guide/commands/argocd_cert.md +++ b/docs/user-guide/commands/argocd_cert.md @@ -58,10 +58,10 @@ argocd cert [flags] --client-crt string Client certificate file --client-crt-key string Client certificate key file --config string Path to Argo CD config (default "/home/user/.argocd/config") + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_cert_add-ssh.md b/docs/user-guide/commands/argocd_cert_add-ssh.md index 35e17543cf0d1..23422f8ee5551 100644 --- a/docs/user-guide/commands/argocd_cert_add-ssh.md +++ b/docs/user-guide/commands/argocd_cert_add-ssh.md @@ -29,10 +29,10 @@ argocd cert add-ssh --batch [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_cert_add-tls.md b/docs/user-guide/commands/argocd_cert_add-tls.md index e8114d3073c9d..3c44b57e78838 100644 --- a/docs/user-guide/commands/argocd_cert_add-tls.md +++ b/docs/user-guide/commands/argocd_cert_add-tls.md @@ -28,10 +28,10 @@ argocd cert add-tls SERVERNAME [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_cert_list.md b/docs/user-guide/commands/argocd_cert_list.md index 25afc8c8d500c..470155e580f7a 100644 --- a/docs/user-guide/commands/argocd_cert_list.md +++ b/docs/user-guide/commands/argocd_cert_list.md @@ -30,10 +30,10 @@ argocd cert list [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_cert_rm.md b/docs/user-guide/commands/argocd_cert_rm.md index e88cf4db6a1b4..41b3393f48942 100644 --- a/docs/user-guide/commands/argocd_cert_rm.md +++ b/docs/user-guide/commands/argocd_cert_rm.md @@ -28,10 +28,10 @@ argocd cert rm REPOSERVER [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_cluster.md b/docs/user-guide/commands/argocd_cluster.md index f3b6e59eaed2d..4094fd0cbe379 100644 --- a/docs/user-guide/commands/argocd_cluster.md +++ b/docs/user-guide/commands/argocd_cluster.md @@ -52,10 +52,10 @@ argocd cluster [flags] --client-crt string Client certificate file --client-crt-key string Client certificate key file --config string Path to Argo CD config (default "/home/user/.argocd/config") + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_cluster_add.md b/docs/user-guide/commands/argocd_cluster_add.md index d2006d31b9314..930a40f305301 100644 --- a/docs/user-guide/commands/argocd_cluster_add.md +++ b/docs/user-guide/commands/argocd_cluster_add.md @@ -42,10 +42,10 @@ argocd cluster add CONTEXT [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_cluster_get.md b/docs/user-guide/commands/argocd_cluster_get.md index b99b8f7040324..87f583070f7a9 100644 --- a/docs/user-guide/commands/argocd_cluster_get.md +++ b/docs/user-guide/commands/argocd_cluster_get.md @@ -33,10 +33,10 @@ argocd cluster get https://12.34.567.89 --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_cluster_list.md b/docs/user-guide/commands/argocd_cluster_list.md index daf1366838fc9..785e8c1905a2c 100644 --- a/docs/user-guide/commands/argocd_cluster_list.md +++ b/docs/user-guide/commands/argocd_cluster_list.md @@ -27,10 +27,10 @@ argocd cluster list [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_cluster_rm.md b/docs/user-guide/commands/argocd_cluster_rm.md index d6cbe49616ab7..a8a4a93700ee7 100644 --- a/docs/user-guide/commands/argocd_cluster_rm.md +++ b/docs/user-guide/commands/argocd_cluster_rm.md @@ -32,10 +32,10 @@ argocd cluster rm https://12.34.567.89 --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_cluster_rotate-auth.md b/docs/user-guide/commands/argocd_cluster_rotate-auth.md index 2fc333af4fe42..f5a63af8bd8ff 100644 --- a/docs/user-guide/commands/argocd_cluster_rotate-auth.md +++ b/docs/user-guide/commands/argocd_cluster_rotate-auth.md @@ -32,10 +32,10 @@ argocd cluster rotate-auth https://12.34.567.89 --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_completion.md b/docs/user-guide/commands/argocd_completion.md index 1eee94839eb54..1a6e0f6de7248 100644 --- a/docs/user-guide/commands/argocd_completion.md +++ b/docs/user-guide/commands/argocd_completion.md @@ -32,10 +32,10 @@ argocd completion SHELL [flags] --client-crt string Client certificate file --client-crt-key string Client certificate key file --config string Path to Argo CD config (default "/home/user/.argocd/config") + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_context.md b/docs/user-guide/commands/argocd_context.md index 8b0c2599fbbc1..30933e0bb9849 100644 --- a/docs/user-guide/commands/argocd_context.md +++ b/docs/user-guide/commands/argocd_context.md @@ -20,10 +20,10 @@ argocd context [CONTEXT] [flags] --client-crt string Client certificate file --client-crt-key string Client certificate key file --config string Path to Argo CD config (default "/home/user/.argocd/config") + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_gpg.md b/docs/user-guide/commands/argocd_gpg.md index 83524c46a087b..b4c8d1bfd694f 100644 --- a/docs/user-guide/commands/argocd_gpg.md +++ b/docs/user-guide/commands/argocd_gpg.md @@ -35,10 +35,10 @@ argocd gpg [flags] --client-crt string Client certificate file --client-crt-key string Client certificate key file --config string Path to Argo CD config (default "/home/user/.argocd/config") + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_gpg_add.md b/docs/user-guide/commands/argocd_gpg_add.md index 8658fad68d1bc..c9c61cdc13c56 100644 --- a/docs/user-guide/commands/argocd_gpg_add.md +++ b/docs/user-guide/commands/argocd_gpg_add.md @@ -27,10 +27,10 @@ argocd gpg add [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_gpg_get.md b/docs/user-guide/commands/argocd_gpg_get.md index 4b610cdecb459..9bf52aff4b768 100644 --- a/docs/user-guide/commands/argocd_gpg_get.md +++ b/docs/user-guide/commands/argocd_gpg_get.md @@ -27,10 +27,10 @@ argocd gpg get KEYID [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_gpg_list.md b/docs/user-guide/commands/argocd_gpg_list.md index af898b64e8d5a..2a8d5af4bedca 100644 --- a/docs/user-guide/commands/argocd_gpg_list.md +++ b/docs/user-guide/commands/argocd_gpg_list.md @@ -27,10 +27,10 @@ argocd gpg list [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_gpg_rm.md b/docs/user-guide/commands/argocd_gpg_rm.md index 722922963d61f..258a21c031c3d 100644 --- a/docs/user-guide/commands/argocd_gpg_rm.md +++ b/docs/user-guide/commands/argocd_gpg_rm.md @@ -26,10 +26,10 @@ argocd gpg rm KEYID [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_login.md b/docs/user-guide/commands/argocd_login.md index f81475e3665da..5fcf9946fc452 100644 --- a/docs/user-guide/commands/argocd_login.md +++ b/docs/user-guide/commands/argocd_login.md @@ -19,8 +19,8 @@ argocd login cd.argoproj.io # Login to Argo CD using SSO argocd login cd.argoproj.io --sso -# Configure "headless" access using Kubernetes API server -argocd login cd.argoproj.io --headless +# Configure direct access using Kubernetes API server +argocd login cd.argoproj.io --core ``` ### Options @@ -41,10 +41,10 @@ argocd login cd.argoproj.io --headless --client-crt string Client certificate file --client-crt-key string Client certificate key file --config string Path to Argo CD config (default "/home/user/.argocd/config") + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_logout.md b/docs/user-guide/commands/argocd_logout.md index e3022bb5cf4a8..3dc5119d3dc05 100644 --- a/docs/user-guide/commands/argocd_logout.md +++ b/docs/user-guide/commands/argocd_logout.md @@ -23,10 +23,10 @@ argocd logout CONTEXT [flags] --client-crt string Client certificate file --client-crt-key string Client certificate key file --config string Path to Argo CD config (default "/home/user/.argocd/config") + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_proj.md b/docs/user-guide/commands/argocd_proj.md index f076acf0d14e7..0df0fc2a122a4 100644 --- a/docs/user-guide/commands/argocd_proj.md +++ b/docs/user-guide/commands/argocd_proj.md @@ -35,10 +35,10 @@ argocd proj [flags] --client-crt string Client certificate file --client-crt-key string Client certificate key file --config string Path to Argo CD config (default "/home/user/.argocd/config") + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_proj_add-destination.md b/docs/user-guide/commands/argocd_proj_add-destination.md index e109c930550c6..a82c746d4fa4f 100644 --- a/docs/user-guide/commands/argocd_proj_add-destination.md +++ b/docs/user-guide/commands/argocd_proj_add-destination.md @@ -26,10 +26,10 @@ argocd proj add-destination PROJECT SERVER NAMESPACE [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_proj_add-orphaned-ignore.md b/docs/user-guide/commands/argocd_proj_add-orphaned-ignore.md index 89501bf2b8aa2..b82b8db130b94 100644 --- a/docs/user-guide/commands/argocd_proj_add-orphaned-ignore.md +++ b/docs/user-guide/commands/argocd_proj_add-orphaned-ignore.md @@ -27,10 +27,10 @@ argocd proj add-orphaned-ignore PROJECT GROUP KIND [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_proj_add-signature-key.md b/docs/user-guide/commands/argocd_proj_add-signature-key.md index 803f4cf69d2a8..5c054f29d16c8 100644 --- a/docs/user-guide/commands/argocd_proj_add-signature-key.md +++ b/docs/user-guide/commands/argocd_proj_add-signature-key.md @@ -26,10 +26,10 @@ argocd proj add-signature-key PROJECT KEY-ID [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_proj_add-source.md b/docs/user-guide/commands/argocd_proj_add-source.md index 0f8f4a3483ce0..41408cee41617 100644 --- a/docs/user-guide/commands/argocd_proj_add-source.md +++ b/docs/user-guide/commands/argocd_proj_add-source.md @@ -26,10 +26,10 @@ argocd proj add-source PROJECT URL [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_proj_allow-cluster-resource.md b/docs/user-guide/commands/argocd_proj_allow-cluster-resource.md index aa7918a4faa2e..5e68fc6e70218 100644 --- a/docs/user-guide/commands/argocd_proj_allow-cluster-resource.md +++ b/docs/user-guide/commands/argocd_proj_allow-cluster-resource.md @@ -27,10 +27,10 @@ argocd proj allow-cluster-resource PROJECT GROUP KIND [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_proj_allow-namespace-resource.md b/docs/user-guide/commands/argocd_proj_allow-namespace-resource.md index b166eebc59af9..63da4577d5f52 100644 --- a/docs/user-guide/commands/argocd_proj_allow-namespace-resource.md +++ b/docs/user-guide/commands/argocd_proj_allow-namespace-resource.md @@ -27,10 +27,10 @@ argocd proj allow-namespace-resource PROJECT GROUP KIND [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_proj_create.md b/docs/user-guide/commands/argocd_proj_create.md index 1df88d7fa9ec0..a5a5c31194ce1 100644 --- a/docs/user-guide/commands/argocd_proj_create.md +++ b/docs/user-guide/commands/argocd_proj_create.md @@ -38,10 +38,10 @@ argocd proj create PROJECT [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_proj_delete.md b/docs/user-guide/commands/argocd_proj_delete.md index 6fb1ca36e3589..70511b6c576c1 100644 --- a/docs/user-guide/commands/argocd_proj_delete.md +++ b/docs/user-guide/commands/argocd_proj_delete.md @@ -26,10 +26,10 @@ argocd proj delete PROJECT [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_proj_deny-cluster-resource.md b/docs/user-guide/commands/argocd_proj_deny-cluster-resource.md index da7b382c774dc..53e65eb537f0f 100644 --- a/docs/user-guide/commands/argocd_proj_deny-cluster-resource.md +++ b/docs/user-guide/commands/argocd_proj_deny-cluster-resource.md @@ -27,10 +27,10 @@ argocd proj deny-cluster-resource PROJECT GROUP KIND [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_proj_deny-namespace-resource.md b/docs/user-guide/commands/argocd_proj_deny-namespace-resource.md index a2846eccf22fa..d188340fe0e25 100644 --- a/docs/user-guide/commands/argocd_proj_deny-namespace-resource.md +++ b/docs/user-guide/commands/argocd_proj_deny-namespace-resource.md @@ -27,10 +27,10 @@ argocd proj deny-namespace-resource PROJECT GROUP KIND [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_proj_edit.md b/docs/user-guide/commands/argocd_proj_edit.md index 9c9cf5b9589a5..c9fedee79f1a8 100644 --- a/docs/user-guide/commands/argocd_proj_edit.md +++ b/docs/user-guide/commands/argocd_proj_edit.md @@ -26,10 +26,10 @@ argocd proj edit PROJECT [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_proj_get.md b/docs/user-guide/commands/argocd_proj_get.md index 60a67d4e91542..f1d581c51c821 100644 --- a/docs/user-guide/commands/argocd_proj_get.md +++ b/docs/user-guide/commands/argocd_proj_get.md @@ -27,10 +27,10 @@ argocd proj get PROJECT [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_proj_list.md b/docs/user-guide/commands/argocd_proj_list.md index baee5d1397948..8cb9b9176ccb0 100644 --- a/docs/user-guide/commands/argocd_proj_list.md +++ b/docs/user-guide/commands/argocd_proj_list.md @@ -27,10 +27,10 @@ argocd proj list [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_proj_remove-destination.md b/docs/user-guide/commands/argocd_proj_remove-destination.md index 569731f7355c5..2c13ef83e3097 100644 --- a/docs/user-guide/commands/argocd_proj_remove-destination.md +++ b/docs/user-guide/commands/argocd_proj_remove-destination.md @@ -26,10 +26,10 @@ argocd proj remove-destination PROJECT SERVER NAMESPACE [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_proj_remove-orphaned-ignore.md b/docs/user-guide/commands/argocd_proj_remove-orphaned-ignore.md index 91d29f44584ca..38b08c6592235 100644 --- a/docs/user-guide/commands/argocd_proj_remove-orphaned-ignore.md +++ b/docs/user-guide/commands/argocd_proj_remove-orphaned-ignore.md @@ -27,10 +27,10 @@ argocd proj remove-orphaned-ignore PROJECT GROUP KIND NAME [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_proj_remove-signature-key.md b/docs/user-guide/commands/argocd_proj_remove-signature-key.md index bfe87f696db2a..8d9558f1a5584 100644 --- a/docs/user-guide/commands/argocd_proj_remove-signature-key.md +++ b/docs/user-guide/commands/argocd_proj_remove-signature-key.md @@ -26,10 +26,10 @@ argocd proj remove-signature-key PROJECT KEY-ID [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_proj_remove-source.md b/docs/user-guide/commands/argocd_proj_remove-source.md index 507f0b1fc8bc1..536b4bda59011 100644 --- a/docs/user-guide/commands/argocd_proj_remove-source.md +++ b/docs/user-guide/commands/argocd_proj_remove-source.md @@ -26,10 +26,10 @@ argocd proj remove-source PROJECT URL [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_proj_role.md b/docs/user-guide/commands/argocd_proj_role.md index 5bced219c8e07..8ec4be8de09a6 100644 --- a/docs/user-guide/commands/argocd_proj_role.md +++ b/docs/user-guide/commands/argocd_proj_role.md @@ -26,10 +26,10 @@ argocd proj role [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_proj_role_add-group.md b/docs/user-guide/commands/argocd_proj_role_add-group.md index a036e6d41e581..2cd6848b0d6c6 100644 --- a/docs/user-guide/commands/argocd_proj_role_add-group.md +++ b/docs/user-guide/commands/argocd_proj_role_add-group.md @@ -26,10 +26,10 @@ argocd proj role add-group PROJECT ROLE-NAME GROUP-CLAIM [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_proj_role_add-policy.md b/docs/user-guide/commands/argocd_proj_role_add-policy.md index e9ce778b163fa..1a4fa5cc1b93e 100644 --- a/docs/user-guide/commands/argocd_proj_role_add-policy.md +++ b/docs/user-guide/commands/argocd_proj_role_add-policy.md @@ -29,10 +29,10 @@ argocd proj role add-policy PROJECT ROLE-NAME [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_proj_role_create-token.md b/docs/user-guide/commands/argocd_proj_role_create-token.md index 6bcab963d76e0..db27971208702 100644 --- a/docs/user-guide/commands/argocd_proj_role_create-token.md +++ b/docs/user-guide/commands/argocd_proj_role_create-token.md @@ -29,10 +29,10 @@ argocd proj role create-token PROJECT ROLE-NAME [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_proj_role_create.md b/docs/user-guide/commands/argocd_proj_role_create.md index 76e0b3cafcde1..f912a124f59e3 100644 --- a/docs/user-guide/commands/argocd_proj_role_create.md +++ b/docs/user-guide/commands/argocd_proj_role_create.md @@ -27,10 +27,10 @@ argocd proj role create PROJECT ROLE-NAME [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_proj_role_delete-token.md b/docs/user-guide/commands/argocd_proj_role_delete-token.md index b8659f2fcb653..1afa64f87376d 100644 --- a/docs/user-guide/commands/argocd_proj_role_delete-token.md +++ b/docs/user-guide/commands/argocd_proj_role_delete-token.md @@ -26,10 +26,10 @@ argocd proj role delete-token PROJECT ROLE-NAME ISSUED-AT [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_proj_role_delete.md b/docs/user-guide/commands/argocd_proj_role_delete.md index f73f10ae9bd83..7a34a01ae825c 100644 --- a/docs/user-guide/commands/argocd_proj_role_delete.md +++ b/docs/user-guide/commands/argocd_proj_role_delete.md @@ -26,10 +26,10 @@ argocd proj role delete PROJECT ROLE-NAME [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_proj_role_get.md b/docs/user-guide/commands/argocd_proj_role_get.md index f38a31e2d9e33..468e43b59205d 100644 --- a/docs/user-guide/commands/argocd_proj_role_get.md +++ b/docs/user-guide/commands/argocd_proj_role_get.md @@ -26,10 +26,10 @@ argocd proj role get PROJECT ROLE-NAME [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_proj_role_list-tokens.md b/docs/user-guide/commands/argocd_proj_role_list-tokens.md index 3b3ef92adeced..9bcff465e9b8c 100644 --- a/docs/user-guide/commands/argocd_proj_role_list-tokens.md +++ b/docs/user-guide/commands/argocd_proj_role_list-tokens.md @@ -27,10 +27,10 @@ argocd proj role list-tokens PROJECT ROLE-NAME [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_proj_role_list.md b/docs/user-guide/commands/argocd_proj_role_list.md index 55ae908b6d1cf..6ca61ab566c8a 100644 --- a/docs/user-guide/commands/argocd_proj_role_list.md +++ b/docs/user-guide/commands/argocd_proj_role_list.md @@ -27,10 +27,10 @@ argocd proj role list PROJECT [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_proj_role_remove-group.md b/docs/user-guide/commands/argocd_proj_role_remove-group.md index 23a2a366a21e1..3e195d563439d 100644 --- a/docs/user-guide/commands/argocd_proj_role_remove-group.md +++ b/docs/user-guide/commands/argocd_proj_role_remove-group.md @@ -26,10 +26,10 @@ argocd proj role remove-group PROJECT ROLE-NAME GROUP-CLAIM [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_proj_role_remove-policy.md b/docs/user-guide/commands/argocd_proj_role_remove-policy.md index aee99717ec494..c94fa5816f50b 100644 --- a/docs/user-guide/commands/argocd_proj_role_remove-policy.md +++ b/docs/user-guide/commands/argocd_proj_role_remove-policy.md @@ -29,10 +29,10 @@ argocd proj role remove-policy PROJECT ROLE-NAME [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_proj_set.md b/docs/user-guide/commands/argocd_proj_set.md index 2693a8ecda64a..36998cfd18440 100644 --- a/docs/user-guide/commands/argocd_proj_set.md +++ b/docs/user-guide/commands/argocd_proj_set.md @@ -36,10 +36,10 @@ argocd proj set PROJECT [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_proj_windows.md b/docs/user-guide/commands/argocd_proj_windows.md index 19783f66b87ed..5f67720e55009 100644 --- a/docs/user-guide/commands/argocd_proj_windows.md +++ b/docs/user-guide/commands/argocd_proj_windows.md @@ -26,10 +26,10 @@ argocd proj windows [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_proj_windows_add.md b/docs/user-guide/commands/argocd_proj_windows_add.md index c0c931f71a939..21c39e016f71a 100644 --- a/docs/user-guide/commands/argocd_proj_windows_add.md +++ b/docs/user-guide/commands/argocd_proj_windows_add.md @@ -33,10 +33,10 @@ argocd proj windows add PROJECT [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_proj_windows_delete.md b/docs/user-guide/commands/argocd_proj_windows_delete.md index cbe3b90a9f746..6944bed0640c0 100644 --- a/docs/user-guide/commands/argocd_proj_windows_delete.md +++ b/docs/user-guide/commands/argocd_proj_windows_delete.md @@ -26,10 +26,10 @@ argocd proj windows delete PROJECT ID [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_proj_windows_disable-manual-sync.md b/docs/user-guide/commands/argocd_proj_windows_disable-manual-sync.md index 8d1bef0ae0fc0..a97b60a27a1af 100644 --- a/docs/user-guide/commands/argocd_proj_windows_disable-manual-sync.md +++ b/docs/user-guide/commands/argocd_proj_windows_disable-manual-sync.md @@ -30,10 +30,10 @@ argocd proj windows disable-manual-sync PROJECT ID [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_proj_windows_enable-manual-sync.md b/docs/user-guide/commands/argocd_proj_windows_enable-manual-sync.md index 7ddbfb58c5cce..3d9c2eba8b60a 100644 --- a/docs/user-guide/commands/argocd_proj_windows_enable-manual-sync.md +++ b/docs/user-guide/commands/argocd_proj_windows_enable-manual-sync.md @@ -30,10 +30,10 @@ argocd proj windows enable-manual-sync PROJECT ID [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_proj_windows_list.md b/docs/user-guide/commands/argocd_proj_windows_list.md index 15444de75daab..11f4b80347056 100644 --- a/docs/user-guide/commands/argocd_proj_windows_list.md +++ b/docs/user-guide/commands/argocd_proj_windows_list.md @@ -27,10 +27,10 @@ argocd proj windows list PROJECT [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_proj_windows_update.md b/docs/user-guide/commands/argocd_proj_windows_update.md index 339b2d8f3b88d..90a255d0919c9 100644 --- a/docs/user-guide/commands/argocd_proj_windows_update.md +++ b/docs/user-guide/commands/argocd_proj_windows_update.md @@ -35,10 +35,10 @@ argocd proj windows update PROJECT ID [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_relogin.md b/docs/user-guide/commands/argocd_relogin.md index 6502a52dd599a..3a42d4cd48374 100644 --- a/docs/user-guide/commands/argocd_relogin.md +++ b/docs/user-guide/commands/argocd_relogin.md @@ -25,10 +25,10 @@ argocd relogin [flags] --client-crt string Client certificate file --client-crt-key string Client certificate key file --config string Path to Argo CD config (default "/home/user/.argocd/config") + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_repo.md b/docs/user-guide/commands/argocd_repo.md index caf2f0ed16902..68f6ef629f20e 100644 --- a/docs/user-guide/commands/argocd_repo.md +++ b/docs/user-guide/commands/argocd_repo.md @@ -35,10 +35,10 @@ argocd repo [flags] --client-crt string Client certificate file --client-crt-key string Client certificate key file --config string Path to Argo CD config (default "/home/user/.argocd/config") + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_repo_add.md b/docs/user-guide/commands/argocd_repo_add.md index ec61a890d236c..78cec8ac66f48 100644 --- a/docs/user-guide/commands/argocd_repo_add.md +++ b/docs/user-guide/commands/argocd_repo_add.md @@ -73,10 +73,10 @@ argocd repo add REPOURL [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_repo_get.md b/docs/user-guide/commands/argocd_repo_get.md index a945c4debee3a..1e7bdcd0bab37 100644 --- a/docs/user-guide/commands/argocd_repo_get.md +++ b/docs/user-guide/commands/argocd_repo_get.md @@ -28,10 +28,10 @@ argocd repo get [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_repo_list.md b/docs/user-guide/commands/argocd_repo_list.md index 72bdff0906c7d..b1305ca84a161 100644 --- a/docs/user-guide/commands/argocd_repo_list.md +++ b/docs/user-guide/commands/argocd_repo_list.md @@ -28,10 +28,10 @@ argocd repo list [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_repo_rm.md b/docs/user-guide/commands/argocd_repo_rm.md index ca4fc7a0a1f0f..f90e3e8cd6cb5 100644 --- a/docs/user-guide/commands/argocd_repo_rm.md +++ b/docs/user-guide/commands/argocd_repo_rm.md @@ -26,10 +26,10 @@ argocd repo rm REPO [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_repocreds.md b/docs/user-guide/commands/argocd_repocreds.md index 843b302761521..d18a3f3cc9f76 100644 --- a/docs/user-guide/commands/argocd_repocreds.md +++ b/docs/user-guide/commands/argocd_repocreds.md @@ -35,10 +35,10 @@ argocd repocreds [flags] --client-crt string Client certificate file --client-crt-key string Client certificate key file --config string Path to Argo CD config (default "/home/user/.argocd/config") + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/docs/user-guide/commands/argocd_repocreds_add.md b/docs/user-guide/commands/argocd_repocreds_add.md index f33bb0ce7f6d0..1c1e23e7d1dbd 100644 --- a/docs/user-guide/commands/argocd_repocreds_add.md +++ b/docs/user-guide/commands/argocd_repocreds_add.md @@ -53,10 +53,10 @@ argocd repocreds add REPOURL [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_repocreds_list.md b/docs/user-guide/commands/argocd_repocreds_list.md index d090abbf7cda4..adf279eb77e17 100644 --- a/docs/user-guide/commands/argocd_repocreds_list.md +++ b/docs/user-guide/commands/argocd_repocreds_list.md @@ -27,10 +27,10 @@ argocd repocreds list [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_repocreds_rm.md b/docs/user-guide/commands/argocd_repocreds_rm.md index 2c5fbd023086d..13b1523016839 100644 --- a/docs/user-guide/commands/argocd_repocreds_rm.md +++ b/docs/user-guide/commands/argocd_repocreds_rm.md @@ -26,10 +26,10 @@ argocd repocreds rm CREDSURL [flags] --cluster string The name of the kubeconfig cluster to use --config string Path to Argo CD config (default "/home/user/.argocd/config") --context string The name of the kubeconfig context to use + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure diff --git a/docs/user-guide/commands/argocd_version.md b/docs/user-guide/commands/argocd_version.md index b3b921bb63f22..74b44bbe945ba 100644 --- a/docs/user-guide/commands/argocd_version.md +++ b/docs/user-guide/commands/argocd_version.md @@ -55,10 +55,10 @@ argocd version [flags] --client-crt string Client certificate file --client-crt-key string Client certificate key file --config string Path to Argo CD config (default "/home/user/.argocd/config") + --core If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --grpc-web Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. --grpc-web-root-path string Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root. -H, --header strings Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) - --headless If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --logformat string Set the logging format. One of: text|json (default "text") diff --git a/hack/update-manifests.sh b/hack/update-manifests.sh index 22bf3c3a78be0..0d4e37e9c6ecf 100755 --- a/hack/update-manifests.sh +++ b/hack/update-manifests.sh @@ -44,5 +44,5 @@ $KUSTOMIZE build "${SRCROOT}/manifests/ha/cluster-install" >> "${SRCROOT}/manife echo "${AUTOGENMSG}" > "${SRCROOT}/manifests/ha/namespace-install.yaml" $KUSTOMIZE build "${SRCROOT}/manifests/ha/namespace-install" >> "${SRCROOT}/manifests/ha/namespace-install.yaml" -echo "${AUTOGENMSG}" > "${SRCROOT}/manifests/headless-install.yaml" -$KUSTOMIZE build "${SRCROOT}/manifests/headless-install" >> "${SRCROOT}/manifests/headless-install.yaml" \ No newline at end of file +echo "${AUTOGENMSG}" > "${SRCROOT}/manifests/core-install.yaml" +$KUSTOMIZE build "${SRCROOT}/manifests/core-install" >> "${SRCROOT}/manifests/core-install.yaml" \ No newline at end of file diff --git a/manifests/headless-install.yaml b/manifests/core-install.yaml similarity index 100% rename from manifests/headless-install.yaml rename to manifests/core-install.yaml diff --git a/manifests/headless-install/kustomization.yaml b/manifests/core-install/kustomization.yaml similarity index 100% rename from manifests/headless-install/kustomization.yaml rename to manifests/core-install/kustomization.yaml diff --git a/pkg/apiclient/apiclient.go b/pkg/apiclient/apiclient.go index 607a9f48971d6..290623f91a262 100644 --- a/pkg/apiclient/apiclient.go +++ b/pkg/apiclient/apiclient.go @@ -113,7 +113,7 @@ type ClientOptions struct { UserAgent string GRPCWeb bool GRPCWebRootPath string - Headless bool + Core bool PortForward bool PortForwardNamespace string Headers []string diff --git a/util/localconfig/localconfig.go b/util/localconfig/localconfig.go index 40b455828f02d..6738e6d98377a 100644 --- a/util/localconfig/localconfig.go +++ b/util/localconfig/localconfig.go @@ -53,8 +53,8 @@ type Server struct { ClientCertificateKeyData string `json:"client-certificate-key-data,omitempty"` // PlainText indicates to connect with TLS disabled PlainText bool `json:"plain-text,omitempty"` - // Headless indicates to talk to Kubernetes API without using Argo CD API server - Headless bool `json:"headless,omitempty"` + // Core indicates to talk to Kubernetes API without using Argo CD API server + Core bool `json:"core,omitempty"` } // User contains user authentication information From ba5c300cc58335530f4d41f2e398e89e0774681c Mon Sep 17 00:00:00 2001 From: Alexander Matyushentsev Date: Tue, 27 Jul 2021 19:26:40 -0700 Subject: [PATCH 78/93] fix: argocd admin repo generate-spec should convert secret data (#6820) Signed-off-by: Alexander Matyushentsev --- cmd/argocd/commands/admin/cluster.go | 1 - .../commands/admin/generatespec_utils.go | 9 ++++++--- .../commands/admin/generatespec_utils_test.go | 20 +++++++++++++++++++ 3 files changed, 26 insertions(+), 4 deletions(-) diff --git a/cmd/argocd/commands/admin/cluster.go b/cmd/argocd/commands/admin/cluster.go index ab95d8a554e66..3cbec9dc0bc06 100644 --- a/cmd/argocd/commands/admin/cluster.go +++ b/cmd/argocd/commands/admin/cluster.go @@ -581,7 +581,6 @@ func NewGenClusterConfigCommand(pathOpts *clientcmd.PathOptions) *cobra.Command secret, err := kubeClientset.CoreV1().Secrets(ArgoCDNamespace).Get(context.Background(), secName, v1.GetOptions{}) errors.CheckError(err) - ConvertSecretData(secret) errors.CheckError(PrintResources(outputFormat, os.Stdout, secret)) }, } diff --git a/cmd/argocd/commands/admin/generatespec_utils.go b/cmd/argocd/commands/admin/generatespec_utils.go index d8a8b7df07c03..d5d8b7c8444c2 100644 --- a/cmd/argocd/commands/admin/generatespec_utils.go +++ b/cmd/argocd/commands/admin/generatespec_utils.go @@ -38,6 +38,9 @@ func getOutWriter(inline bool, filePath string) (io.Writer, io.Closer, error) { // PrintResources prints a single resource in YAML or JSON format to stdout according to the output format func PrintResources(output string, out io.Writer, resources ...interface{}) error { for i, resource := range resources { + if secret, ok := resource.(*v1.Secret); ok { + convertSecretData(secret) + } filteredResource, err := omitFields(resource) if err != nil { return err @@ -78,7 +81,7 @@ func omitFields(resource interface{}) (interface{}, error) { } toMap := make(map[string]interface{}) - err = json.Unmarshal([]byte(string(jsonBytes)), &toMap) + err = json.Unmarshal(jsonBytes, &toMap) if err != nil { return nil, err } @@ -93,8 +96,8 @@ func omitFields(resource interface{}) (interface{}, error) { return toMap, nil } -// ConvertSecretData converts kubernetes secret's data to stringData -func ConvertSecretData(secret *v1.Secret) { +// convertSecretData converts kubernetes secret's data to stringData +func convertSecretData(secret *v1.Secret) { secret.Kind = kube.SecretKind secret.APIVersion = "v1" secret.StringData = map[string]string{} diff --git a/cmd/argocd/commands/admin/generatespec_utils_test.go b/cmd/argocd/commands/admin/generatespec_utils_test.go index f5dba775e6f42..4352ce331b333 100644 --- a/cmd/argocd/commands/admin/generatespec_utils_test.go +++ b/cmd/argocd/commands/admin/generatespec_utils_test.go @@ -1,6 +1,7 @@ package admin import ( + "bytes" "fmt" "io/ioutil" "os" @@ -10,6 +11,8 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + v1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) func TestGetOutWriter_InlineOff(t *testing.T) { @@ -36,3 +39,20 @@ func TestGetOutWriter_InlineOn(t *testing.T) { _, err = os.Stat(fmt.Sprintf("%s.back", tmpFile.Name())) assert.NoError(t, err, "Back file must be created") } + +func TestPrintResources_Secret_YAML(t *testing.T) { + out := bytes.Buffer{} + err := PrintResources("yaml", &out, &v1.Secret{ + ObjectMeta: metav1.ObjectMeta{Name: "my-secret"}, + Data: map[string][]byte{"my-secret-key": []byte("my-secret-data")}, + }) + assert.NoError(t, err) + + assert.Equal(t, `apiVersion: v1 +kind: Secret +metadata: + name: my-secret +stringData: + my-secret-key: my-secret-data +`, out.String()) +} From bd1390c182f6e1b6e89ed378b7dee296f3597cc9 Mon Sep 17 00:00:00 2001 From: Alexander Matyushentsev Date: Wed, 28 Jul 2021 13:05:06 -0700 Subject: [PATCH 79/93] fix: empty repo url should not crash UI (#6833) Signed-off-by: Alexander Matyushentsev --- ui/src/app/shared/components/urls.test.ts | 4 +++- ui/src/app/shared/components/urls.ts | 12 ++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/ui/src/app/shared/components/urls.test.ts b/ui/src/app/shared/components/urls.test.ts index 9e6f5e34549f7..9459dfecd7af1 100644 --- a/ui/src/app/shared/components/urls.test.ts +++ b/ui/src/app/shared/components/urls.test.ts @@ -38,7 +38,6 @@ test('gitlab.com', () => { 'https://gitlab.com/alex_collins/private-repo/commit/b1fe9426ead684d7af16958920968342ee295c1f'); }); - test('bitbucket.org', () => { testExample( 'https://alexcollinsinuit@bitbucket.org/alexcollinsinuit/test-repo.git', @@ -48,3 +47,6 @@ test('bitbucket.org', () => { 'https://bitbucket.org/alexcollinsinuit/test-repo/commits/38fb93957deb45ff546af13399a92ac0d568c350'); }); +test('empty url', () => { + expect(repoUrl('')).toBe(null); +}); diff --git a/ui/src/app/shared/components/urls.ts b/ui/src/app/shared/components/urls.ts index bd14500bdf9dd..77fa30791677b 100644 --- a/ui/src/app/shared/components/urls.ts +++ b/ui/src/app/shared/components/urls.ts @@ -12,13 +12,17 @@ function protocol(proto: string): string { } export function repoUrl(url: string): string { - const parsed = GitUrlParse(url); + try { + const parsed = GitUrlParse(url); - if (!supportedSource(parsed)) { + if (!supportedSource(parsed)) { + return null; + } + + return `${protocol(parsed.protocol)}://${parsed.resource}/${parsed.owner}/${parsed.name}`; + } catch { return null; } - - return `${protocol(parsed.protocol)}://${parsed.resource}/${parsed.owner}/${parsed.name}`; } export function revisionUrl(url: string, revision: string): string { From 0c644e0df74963fcadf2cf1a7aff8f7f8eda0166 Mon Sep 17 00:00:00 2001 From: Alexander Matyushentsev Date: Wed, 28 Jul 2021 13:34:13 -0700 Subject: [PATCH 80/93] docs: add v2.1 changelog (#6834) Signed-off-by: Alexander Matyushentsev --- CHANGELOG.md | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++ VERSION | 2 +- 2 files changed, 87 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d05907df7b393..df281a322d2d5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,91 @@ # Changelog +## v2.1.0 (Unreleased) + +> [Upgrade instructions](./docs/operator-manual/upgrading/2.0-2.1.md) + +### Argo CD Core + +Argo CD Core - lightweight Argo CD distribution that packages only core GitOps features and relies +on Kubernetes API/RBAC to power UI and CLI. + +### Core Features + +* The synchronization process became much much faster and requires significantly less memory. +* An additional caching that ensures that each repository's target revisions are queried only once per + reconciliation cycle. This dramatically reduces the number of Git requests. +* Improved Diffing Customizations: use JQ path expressions to exclude required fields from the diffing. +* Health assessment support for new CRDs: introduced health assessment of CRDs from trident.netapp.io, + elasticsearch.k8s.elastic.co, cluster.x-k8s.io, and minio.min.io API groups. + +### Improved Settings + +A set of changes had been implemented to simplify configuring Argo CD. + +* Simplified Repository Registration: you no longer need to modify the argocd-cm ConfigMap to register a + new Git or Helm repository. +* Enhanced Resource Customizations: the resource.customizations key has been deprecated in favor of + a separate ConfigMap key per resource. +* Reference secret values from any Kubernetes secret: starting v2.1 you can use sensitive data stored in + any Kubernetes secret to configure Argo CD. +* Simplify parametrization of Argo CD server processes: an additional optional ConfigMap argocd-cmd-params-cm + has been introduced. + +### Refreshed User Interface + +* Enhanced and more consistent filters on Applications List and Applications Details pages. +* Status bar on the Application List page. +* The redesigned search box on the Application List page and more. + +### The argocd-util CLI deprecation + +The argocd CLI and now available under argocd admin subcommand. + +## v2.0.5 (2021-07-22) + +* fix: allow argocd-notification ingress to repo-server (#6746) +* fix: argocd-server crashes due to nil pointer dereference (#6757) +* fix: WebUI failure when loading pod view 't.parentRefs is undefined' (#6490) (#6535) +* fix: prevent 'cannot read property "filter" of undefined' during nodes filtering (#6453) +* fix: download Pod Logs button not honouring argocd-server rootpath (#6548) (#6627) +* fix: Version warning banner in docs (#6682) +* fix: upgrade gitops engine to fix workflow health check + +## v2.0.4 (2021-06-22) + +* fix: typo in networkPolicy definition in manifests (#6532) +* fix: Update redis to 6.2.4 (#6475) +* fix: allows access to dex metrics from any pod (#6420) +* fix: add client side retry to prevent 'transport is closing' errors (#6402) +* fix: Update documentation Argocd app CRD health with app of apps (#6281) +* fix(ui): Crash on application pod view (#6384) +* chore: pin mkdocs version to fix docs build (#6421) +* chore: regenerate manifests using codegen (#6422) +* refactor: use RLock and RUnlock for project to improve performance (#6225) +* chore: Update Golang to v1.16.4 (#6358) + +## v2.0.3 (2021-05-27) + +### Bug Fixes + +* fix: add missing --container flag to 'argocd app logs' command (#6320) +* fix: grpc web proxy must ensure to read full header (#6319) +* fix: controller should refresh app before running sync operation (#6294) + +## v2.0.2 (2021-05-20) + +### Bug Fixes + +* fix: enable access to metrics port in embedded network policies (#6277) +* fix: display log streaming error in logs viewer (#6100) (#6273) +* fix: Don't count errored or completed neighbor pods toward resource consumption (#6259) +* fix: Enable kex algo diffie-hellman-group-exchange-sha256 for go-git ssh (#6256) +* fix: copy github app key from repocreds (#6140, #6197) +* fix(ui): UI crashes after reinstalling ArgoCD (#6218) +* fix: add network policies to restrict traffic flow between argocd components (#6156) +* fix: Revert "feat: Add health checks for kubernetes-external-secrets (#5435)" +* chore: Allow ingress traffic to argocd-server by default (#6179) + ## v2.0.1 (2021-04-15) ### Bug Fixes diff --git a/VERSION b/VERSION index 227cea215648b..7ec1d6db40877 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.0.0 +2.1.0 From 321a9734ec50621a05507b9f5ea9dbd9161c1c4c Mon Sep 17 00:00:00 2001 From: May Zhang Date: Wed, 28 Jul 2021 13:40:39 -0700 Subject: [PATCH 81/93] fix: Correct usage info for `argocd account delete-token` (#6831) * Correct usage info for `argocd account delete-token` Signed-off-by: May Zhang * fix: Correct usage info for `argocd account delete-token` Signed-off-by: May Zhang * fix: Correct usage info for `argocd account delete-token` Signed-off-by: May Zhang --- cmd/argocd/commands/account.go | 2 +- docs/user-guide/commands/argocd_account_delete-token.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cmd/argocd/commands/account.go b/cmd/argocd/commands/account.go index 3a9e2ca656a86..9a79e1ab06221 100644 --- a/cmd/argocd/commands/account.go +++ b/cmd/argocd/commands/account.go @@ -377,7 +377,7 @@ func NewAccountDeleteTokenCommand(clientOpts *argocdclient.ClientOptions) *cobra argocd account delete-token ID # Delete token of the account with the specified name -argocd account generate-token --account `, +argocd account delete-token --account ID`, Run: func(c *cobra.Command, args []string) { if len(args) != 1 { c.HelpFunc()(c, args) diff --git a/docs/user-guide/commands/argocd_account_delete-token.md b/docs/user-guide/commands/argocd_account_delete-token.md index 39739e82af2ee..9d7c667169b25 100644 --- a/docs/user-guide/commands/argocd_account_delete-token.md +++ b/docs/user-guide/commands/argocd_account_delete-token.md @@ -13,7 +13,7 @@ argocd account delete-token [flags] argocd account delete-token ID # Delete token of the account with the specified name -argocd account generate-token --account +argocd account delete-token --account ID ``` ### Options From 369385388d378858893c353677f07db1d3cc078a Mon Sep 17 00:00:00 2001 From: Remington Breeze Date: Wed, 28 Jul 2021 14:55:24 -0700 Subject: [PATCH 82/93] fix(ui): Bump argo-ui version to fix autocomplete issues (#6836) * fix(ui): Bump argo-ui version to fix autocomplete issues Signed-off-by: Remington Breeze * Remove unnecessary upgrades Signed-off-by: Remington Breeze --- ui/yarn.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/yarn.lock b/ui/yarn.lock index bbc10c2e52314..5431264ffacb8 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -1669,7 +1669,7 @@ are-we-there-yet@~1.1.2: "argo-ui@git+https://github.com/argoproj/argo-ui.git": version "1.0.0" - resolved "git+https://github.com/argoproj/argo-ui.git#74cc589ed11a6b6d6779654878012b45a294c6d5" + resolved "git+https://github.com/argoproj/argo-ui.git#e72b3655abe21c16a12ca82369d90209fa1f05d9" dependencies: "@fortawesome/fontawesome-free" "^5.8.1" "@tippy.js/react" "^2.1.2" From c7738a0cae17ec1175d9e61e6729cc2185a6d7aa Mon Sep 17 00:00:00 2001 From: Alexander Matyushentsev Date: Wed, 28 Jul 2021 16:30:11 -0700 Subject: [PATCH 83/93] fix: core installation must include CRD definitions (#6841) Signed-off-by: Alexander Matyushentsev --- docs/getting_started.md | 2 +- docs/operator-manual/installation.md | 10 +- manifests/core-install.yaml | 2528 +++++++++++++++++++++ manifests/core-install/kustomization.yaml | 1 + 4 files changed, 2538 insertions(+), 3 deletions(-) diff --git a/docs/getting_started.md b/docs/getting_started.md index a561ab3e734b3..4ba6acffe89c3 100644 --- a/docs/getting_started.md +++ b/docs/getting_started.md @@ -28,7 +28,7 @@ kubectl create namespace argocd kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/core-install.yaml ``` -Use `argocd login --k8s-api` to [configure](./user-guide/commands/argocd_login.md) CLI access and skip steps 3-5. +Use `argocd login --core` to [configure](./user-guide/commands/argocd_login.md) CLI access and skip steps 3-5. ## 2. Download Argo CD CLI diff --git a/docs/operator-manual/installation.md b/docs/operator-manual/installation.md index 2f70dc420376a..11bc1e29e1004 100644 --- a/docs/operator-manual/installation.md +++ b/docs/operator-manual/installation.md @@ -51,8 +51,14 @@ High Availability installation is recommended for production use. Bundle include The core installation is most suitable for cluster administrators who indepently use Argo CD and don't need multi-tenancy features. This installation includes less components and easier to setup. The bundle does not include API server, UI as well as install non-HA light-weight version of each component. -The end-users need Kubernetes access to manage Argo CD. The `argocd` CLI has to be configured using `argocd login --k8s-api` command. The Web UI is also -available and can be started using `argocd admin dashboard` command. +The end-users need Kubernetes access to manage Argo CD. The `argocd` CLI has to be configured using the following commands: + +```bash +kubectl config set-context --current --namespace=argocd # change current kube context to argocd namespace +argocd login --core +``` + +The Web UI is also available and can be started using `argocd admin dashboard` command. Installation manifests are available at [core-install.yaml](https://github.com/argoproj/argo-cd/blob/master/manifests/core-install.yaml). diff --git a/manifests/core-install.yaml b/manifests/core-install.yaml index 38f6b032067eb..0a2319c2371b2 100644 --- a/manifests/core-install.yaml +++ b/manifests/core-install.yaml @@ -1,4 +1,2532 @@ # This is an auto-generated file. DO NOT EDIT +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + labels: + app.kubernetes.io/name: applications.argoproj.io + app.kubernetes.io/part-of: argocd + name: applications.argoproj.io +spec: + group: argoproj.io + names: + kind: Application + listKind: ApplicationList + plural: applications + shortNames: + - app + - apps + singular: application + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.sync.status + name: Sync Status + type: string + - jsonPath: .status.health.status + name: Health Status + type: string + - jsonPath: .status.sync.revision + name: Revision + priority: 10 + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + description: Application is a definition of Application resource. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + operation: + description: Operation contains information about a requested or running + operation + properties: + info: + description: Info is a list of informational items for this operation + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + initiatedBy: + description: InitiatedBy contains information about who initiated + the operations + properties: + automated: + description: Automated is set to true if operation was initiated + automatically by the application controller. + type: boolean + username: + description: Username contains the name of a user who started + operation + type: string + type: object + retry: + description: Retry controls the strategy to apply if a sync fails + properties: + backoff: + description: Backoff controls how to backoff on subsequent retries + of failed syncs + properties: + duration: + description: Duration is the amount to back off. Default unit + is seconds, but could also be a duration (e.g. "2m", "1h") + type: string + factor: + description: Factor is a factor to multiply the base duration + after each failed retry + format: int64 + type: integer + maxDuration: + description: MaxDuration is the maximum amount of time allowed + for the backoff strategy + type: string + type: object + limit: + description: Limit is the maximum number of attempts for retrying + a failed sync. If set to 0, no retries will be performed. + format: int64 + type: integer + type: object + sync: + description: Sync contains parameters for the operation + properties: + dryRun: + description: DryRun specifies to perform a `kubectl apply --dry-run` + without actually performing the sync + type: boolean + manifests: + description: Manifests is an optional field that overrides sync + source with a local directory for development + items: + type: string + type: array + prune: + description: Prune specifies to delete resources from the cluster + that are no longer tracked in git + type: boolean + resources: + description: Resources describes which resources shall be part + of the sync + items: + description: SyncOperationResource contains resources to sync. + properties: + group: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + type: array + revision: + description: Revision is the revision (Git) or chart version (Helm) + which to sync the application to If omitted, will use the revision + specified in app spec. + type: string + source: + description: Source overrides the source definition set in the + application. This is typically set in a Rollback operation and + is nil during a Sync operation + properties: + chart: + description: Chart is a Helm chart name, and must be specified + for applications sourced from a Helm repo. + type: string + directory: + description: Directory holds path/directory specific options + properties: + exclude: + description: Exclude contains a glob pattern to match + paths against that should be explicitly excluded from + being used during manifest generation + type: string + include: + description: Include contains a glob pattern to match + paths against that should be explicitly included during + manifest generation + type: string + jsonnet: + description: Jsonnet holds options specific to Jsonnet + properties: + extVars: + description: ExtVars is a list of Jsonnet External + Variables + items: + description: JsonnetVar represents a variable to + be passed to jsonnet during manifest generation + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + description: Additional library search dirs + items: + type: string + type: array + tlas: + description: TLAS is a list of Jsonnet Top-level Arguments + items: + description: JsonnetVar represents a variable to + be passed to jsonnet during manifest generation + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + description: Recurse specifies whether to scan a directory + recursively for manifests + type: boolean + type: object + helm: + description: Helm holds helm specific options + properties: + fileParameters: + description: FileParameters are file parameters to the + helm template + items: + description: HelmFileParameter is a file parameter that's + passed to helm template during manifest generation + properties: + name: + description: Name is the name of the Helm parameter + type: string + path: + description: Path is the path to the file containing + the values for the Helm parameter + type: string + type: object + type: array + parameters: + description: Parameters is a list of Helm parameters which + are passed to the helm template command upon manifest + generation + items: + description: HelmParameter is a parameter that's passed + to helm template during manifest generation + properties: + forceString: + description: ForceString determines whether to tell + Helm to interpret booleans and numbers as strings + type: boolean + name: + description: Name is the name of the Helm parameter + type: string + value: + description: Value is the value for the Helm parameter + type: string + type: object + type: array + releaseName: + description: ReleaseName is the Helm release name to use. + If omitted it will use the application name + type: string + valueFiles: + description: ValuesFiles is a list of Helm value files + to use when generating a template + items: + type: string + type: array + values: + description: Values specifies Helm values to be passed + to helm template, typically defined as a block + type: string + version: + description: Version is the Helm version to use for templating + (either "2" or "3") + type: string + type: object + ksonnet: + description: Ksonnet holds ksonnet specific options + properties: + environment: + description: Environment is a ksonnet application environment + name + type: string + parameters: + description: Parameters are a list of ksonnet component + parameter override values + items: + description: KsonnetParameter is a ksonnet component + parameter + properties: + component: + type: string + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + kustomize: + description: Kustomize holds kustomize specific options + properties: + commonAnnotations: + additionalProperties: + type: string + description: CommonAnnotations is a list of additional + annotations to add to rendered manifests + type: object + commonLabels: + additionalProperties: + type: string + description: CommonLabels is a list of additional labels + to add to rendered manifests + type: object + forceCommonAnnotations: + description: ForceCommonAnnotations specifies whether + to force applying common annotations to resources for + Kustomize apps + type: boolean + forceCommonLabels: + description: ForceCommonLabels specifies whether to force + applying common labels to resources for Kustomize apps + type: boolean + images: + description: Images is a list of Kustomize image override + specifications + items: + description: KustomizeImage represents a Kustomize image + definition in the format [old_image_name=]: + type: string + type: array + namePrefix: + description: NamePrefix is a prefix appended to resources + for Kustomize apps + type: string + nameSuffix: + description: NameSuffix is a suffix appended to resources + for Kustomize apps + type: string + version: + description: Version controls which version of Kustomize + to use for rendering manifests + type: string + type: object + path: + description: Path is a directory path within the Git repository, + and is only valid for applications sourced from Git. + type: string + plugin: + description: ConfigManagementPlugin holds config management + plugin specific options + properties: + env: + description: Env is a list of environment variable entries + items: + description: EnvEntry represents an entry in the application's + environment + properties: + name: + description: Name is the name of the variable, usually + expressed in uppercase + type: string + value: + description: Value is the value of the variable + type: string + required: + - name + - value + type: object + type: array + name: + type: string + type: object + repoURL: + description: RepoURL is the URL to the repository (Git or + Helm) that contains the application manifests + type: string + targetRevision: + description: TargetRevision defines the revision of the source + to sync the application to. In case of Git, this can be + commit, tag, or branch. If omitted, will equal to HEAD. + In case of Helm, this is a semver tag for the Chart's version. + type: string + required: + - repoURL + type: object + syncOptions: + description: SyncOptions provide per-sync sync-options, e.g. Validate=false + items: + type: string + type: array + syncStrategy: + description: SyncStrategy describes how to perform the sync + properties: + apply: + description: Apply will perform a `kubectl apply` to perform + the sync. + properties: + force: + description: Force indicates whether or not to supply + the --force flag to `kubectl apply`. The --force flag + deletes and re-create the resource, when PATCH encounters + conflict and has retried for 5 times. + type: boolean + type: object + hook: + description: Hook will submit any referenced resources to + perform the sync. This is the default strategy + properties: + force: + description: Force indicates whether or not to supply + the --force flag to `kubectl apply`. The --force flag + deletes and re-create the resource, when PATCH encounters + conflict and has retried for 5 times. + type: boolean + type: object + type: object + type: object + type: object + spec: + description: ApplicationSpec represents desired application state. Contains + link to repository with application definition and additional parameters + link definition revision. + properties: + destination: + description: Destination is a reference to the target Kubernetes server + and namespace + properties: + name: + description: Name is an alternate way of specifying the target + cluster by its symbolic name + type: string + namespace: + description: Namespace specifies the target namespace for the + application's resources. The namespace will only be set for + namespace-scoped resources that have not set a value for .metadata.namespace + type: string + server: + description: Server specifies the URL of the target cluster and + must be set to the Kubernetes control plane API + type: string + type: object + ignoreDifferences: + description: IgnoreDifferences is a list of resources and their fields + which should be ignored during comparison + items: + description: ResourceIgnoreDifferences contains resource filter + and list of json paths which should be ignored during comparison + with live state. + properties: + group: + type: string + jqPathExpressions: + items: + type: string + type: array + jsonPointers: + items: + type: string + type: array + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + type: object + type: array + info: + description: Info contains a list of information (URLs, email addresses, + and plain text) that relates to the application + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + project: + description: Project is a reference to the project this application + belongs to. The empty string means that application belongs to the + 'default' project. + type: string + revisionHistoryLimit: + description: RevisionHistoryLimit limits the number of items kept + in the application's revision history, which is used for informational + purposes as well as for rollbacks to previous versions. This should + only be changed in exceptional circumstances. Setting to zero will + store no history. This will reduce storage used. Increasing will + increase the space used to store the history, so we do not recommend + increasing it. Default is 10. + format: int64 + type: integer + source: + description: Source is a reference to the location of the application's + manifests or chart + properties: + chart: + description: Chart is a Helm chart name, and must be specified + for applications sourced from a Helm repo. + type: string + directory: + description: Directory holds path/directory specific options + properties: + exclude: + description: Exclude contains a glob pattern to match paths + against that should be explicitly excluded from being used + during manifest generation + type: string + include: + description: Include contains a glob pattern to match paths + against that should be explicitly included during manifest + generation + type: string + jsonnet: + description: Jsonnet holds options specific to Jsonnet + properties: + extVars: + description: ExtVars is a list of Jsonnet External Variables + items: + description: JsonnetVar represents a variable to be + passed to jsonnet during manifest generation + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + description: Additional library search dirs + items: + type: string + type: array + tlas: + description: TLAS is a list of Jsonnet Top-level Arguments + items: + description: JsonnetVar represents a variable to be + passed to jsonnet during manifest generation + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + description: Recurse specifies whether to scan a directory + recursively for manifests + type: boolean + type: object + helm: + description: Helm holds helm specific options + properties: + fileParameters: + description: FileParameters are file parameters to the helm + template + items: + description: HelmFileParameter is a file parameter that's + passed to helm template during manifest generation + properties: + name: + description: Name is the name of the Helm parameter + type: string + path: + description: Path is the path to the file containing + the values for the Helm parameter + type: string + type: object + type: array + parameters: + description: Parameters is a list of Helm parameters which + are passed to the helm template command upon manifest generation + items: + description: HelmParameter is a parameter that's passed + to helm template during manifest generation + properties: + forceString: + description: ForceString determines whether to tell + Helm to interpret booleans and numbers as strings + type: boolean + name: + description: Name is the name of the Helm parameter + type: string + value: + description: Value is the value for the Helm parameter + type: string + type: object + type: array + releaseName: + description: ReleaseName is the Helm release name to use. + If omitted it will use the application name + type: string + valueFiles: + description: ValuesFiles is a list of Helm value files to + use when generating a template + items: + type: string + type: array + values: + description: Values specifies Helm values to be passed to + helm template, typically defined as a block + type: string + version: + description: Version is the Helm version to use for templating + (either "2" or "3") + type: string + type: object + ksonnet: + description: Ksonnet holds ksonnet specific options + properties: + environment: + description: Environment is a ksonnet application environment + name + type: string + parameters: + description: Parameters are a list of ksonnet component parameter + override values + items: + description: KsonnetParameter is a ksonnet component parameter + properties: + component: + type: string + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + kustomize: + description: Kustomize holds kustomize specific options + properties: + commonAnnotations: + additionalProperties: + type: string + description: CommonAnnotations is a list of additional annotations + to add to rendered manifests + type: object + commonLabels: + additionalProperties: + type: string + description: CommonLabels is a list of additional labels to + add to rendered manifests + type: object + forceCommonAnnotations: + description: ForceCommonAnnotations specifies whether to force + applying common annotations to resources for Kustomize apps + type: boolean + forceCommonLabels: + description: ForceCommonLabels specifies whether to force + applying common labels to resources for Kustomize apps + type: boolean + images: + description: Images is a list of Kustomize image override + specifications + items: + description: KustomizeImage represents a Kustomize image + definition in the format [old_image_name=]: + type: string + type: array + namePrefix: + description: NamePrefix is a prefix appended to resources + for Kustomize apps + type: string + nameSuffix: + description: NameSuffix is a suffix appended to resources + for Kustomize apps + type: string + version: + description: Version controls which version of Kustomize to + use for rendering manifests + type: string + type: object + path: + description: Path is a directory path within the Git repository, + and is only valid for applications sourced from Git. + type: string + plugin: + description: ConfigManagementPlugin holds config management plugin + specific options + properties: + env: + description: Env is a list of environment variable entries + items: + description: EnvEntry represents an entry in the application's + environment + properties: + name: + description: Name is the name of the variable, usually + expressed in uppercase + type: string + value: + description: Value is the value of the variable + type: string + required: + - name + - value + type: object + type: array + name: + type: string + type: object + repoURL: + description: RepoURL is the URL to the repository (Git or Helm) + that contains the application manifests + type: string + targetRevision: + description: TargetRevision defines the revision of the source + to sync the application to. In case of Git, this can be commit, + tag, or branch. If omitted, will equal to HEAD. In case of Helm, + this is a semver tag for the Chart's version. + type: string + required: + - repoURL + type: object + syncPolicy: + description: SyncPolicy controls when and how a sync will be performed + properties: + automated: + description: Automated will keep an application synced to the + target revision + properties: + allowEmpty: + description: 'AllowEmpty allows apps have zero live resources + (default: false)' + type: boolean + prune: + description: 'Prune specifies whether to delete resources + from the cluster that are not found in the sources anymore + as part of automated sync (default: false)' + type: boolean + selfHeal: + description: 'SelfHeal specifes whether to revert resources + back to their desired state upon modification in the cluster + (default: false)' + type: boolean + type: object + retry: + description: Retry controls failed sync retry behavior + properties: + backoff: + description: Backoff controls how to backoff on subsequent + retries of failed syncs + properties: + duration: + description: Duration is the amount to back off. Default + unit is seconds, but could also be a duration (e.g. + "2m", "1h") + type: string + factor: + description: Factor is a factor to multiply the base duration + after each failed retry + format: int64 + type: integer + maxDuration: + description: MaxDuration is the maximum amount of time + allowed for the backoff strategy + type: string + type: object + limit: + description: Limit is the maximum number of attempts for retrying + a failed sync. If set to 0, no retries will be performed. + format: int64 + type: integer + type: object + syncOptions: + description: Options allow you to specify whole app sync-options + items: + type: string + type: array + type: object + required: + - destination + - project + - source + type: object + status: + description: ApplicationStatus contains status information for the application + properties: + conditions: + description: Conditions is a list of currently observed application + conditions + items: + description: ApplicationCondition contains details about an application + condition, which is usally an error or warning + properties: + lastTransitionTime: + description: LastTransitionTime is the time the condition was + last observed + format: date-time + type: string + message: + description: Message contains human-readable message indicating + details about condition + type: string + type: + description: Type is an application condition type + type: string + required: + - message + - type + type: object + type: array + health: + description: Health contains information about the application's current + health status + properties: + message: + description: Message is a human-readable informational message + describing the health status + type: string + status: + description: Status holds the status code of the application or + resource + type: string + type: object + history: + description: History contains information about the application's + sync history + items: + description: RevisionHistory contains history information about + a previous sync + properties: + deployStartedAt: + description: DeployStartedAt holds the time the sync operation + started + format: date-time + type: string + deployedAt: + description: DeployedAt holds the time the sync operation completed + format: date-time + type: string + id: + description: ID is an auto incrementing identifier of the RevisionHistory + format: int64 + type: integer + revision: + description: Revision holds the revision the sync was performed + against + type: string + source: + description: Source is a reference to the application source + used for the sync operation + properties: + chart: + description: Chart is a Helm chart name, and must be specified + for applications sourced from a Helm repo. + type: string + directory: + description: Directory holds path/directory specific options + properties: + exclude: + description: Exclude contains a glob pattern to match + paths against that should be explicitly excluded from + being used during manifest generation + type: string + include: + description: Include contains a glob pattern to match + paths against that should be explicitly included during + manifest generation + type: string + jsonnet: + description: Jsonnet holds options specific to Jsonnet + properties: + extVars: + description: ExtVars is a list of Jsonnet External + Variables + items: + description: JsonnetVar represents a variable + to be passed to jsonnet during manifest generation + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + description: Additional library search dirs + items: + type: string + type: array + tlas: + description: TLAS is a list of Jsonnet Top-level + Arguments + items: + description: JsonnetVar represents a variable + to be passed to jsonnet during manifest generation + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + description: Recurse specifies whether to scan a directory + recursively for manifests + type: boolean + type: object + helm: + description: Helm holds helm specific options + properties: + fileParameters: + description: FileParameters are file parameters to the + helm template + items: + description: HelmFileParameter is a file parameter + that's passed to helm template during manifest generation + properties: + name: + description: Name is the name of the Helm parameter + type: string + path: + description: Path is the path to the file containing + the values for the Helm parameter + type: string + type: object + type: array + parameters: + description: Parameters is a list of Helm parameters + which are passed to the helm template command upon + manifest generation + items: + description: HelmParameter is a parameter that's passed + to helm template during manifest generation + properties: + forceString: + description: ForceString determines whether to + tell Helm to interpret booleans and numbers + as strings + type: boolean + name: + description: Name is the name of the Helm parameter + type: string + value: + description: Value is the value for the Helm parameter + type: string + type: object + type: array + releaseName: + description: ReleaseName is the Helm release name to + use. If omitted it will use the application name + type: string + valueFiles: + description: ValuesFiles is a list of Helm value files + to use when generating a template + items: + type: string + type: array + values: + description: Values specifies Helm values to be passed + to helm template, typically defined as a block + type: string + version: + description: Version is the Helm version to use for + templating (either "2" or "3") + type: string + type: object + ksonnet: + description: Ksonnet holds ksonnet specific options + properties: + environment: + description: Environment is a ksonnet application environment + name + type: string + parameters: + description: Parameters are a list of ksonnet component + parameter override values + items: + description: KsonnetParameter is a ksonnet component + parameter + properties: + component: + type: string + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + kustomize: + description: Kustomize holds kustomize specific options + properties: + commonAnnotations: + additionalProperties: + type: string + description: CommonAnnotations is a list of additional + annotations to add to rendered manifests + type: object + commonLabels: + additionalProperties: + type: string + description: CommonLabels is a list of additional labels + to add to rendered manifests + type: object + forceCommonAnnotations: + description: ForceCommonAnnotations specifies whether + to force applying common annotations to resources + for Kustomize apps + type: boolean + forceCommonLabels: + description: ForceCommonLabels specifies whether to + force applying common labels to resources for Kustomize + apps + type: boolean + images: + description: Images is a list of Kustomize image override + specifications + items: + description: KustomizeImage represents a Kustomize + image definition in the format [old_image_name=]: + type: string + type: array + namePrefix: + description: NamePrefix is a prefix appended to resources + for Kustomize apps + type: string + nameSuffix: + description: NameSuffix is a suffix appended to resources + for Kustomize apps + type: string + version: + description: Version controls which version of Kustomize + to use for rendering manifests + type: string + type: object + path: + description: Path is a directory path within the Git repository, + and is only valid for applications sourced from Git. + type: string + plugin: + description: ConfigManagementPlugin holds config management + plugin specific options + properties: + env: + description: Env is a list of environment variable entries + items: + description: EnvEntry represents an entry in the application's + environment + properties: + name: + description: Name is the name of the variable, + usually expressed in uppercase + type: string + value: + description: Value is the value of the variable + type: string + required: + - name + - value + type: object + type: array + name: + type: string + type: object + repoURL: + description: RepoURL is the URL to the repository (Git or + Helm) that contains the application manifests + type: string + targetRevision: + description: TargetRevision defines the revision of the + source to sync the application to. In case of Git, this + can be commit, tag, or branch. If omitted, will equal + to HEAD. In case of Helm, this is a semver tag for the + Chart's version. + type: string + required: + - repoURL + type: object + required: + - deployedAt + - id + - revision + type: object + type: array + observedAt: + description: 'ObservedAt indicates when the application state was + updated without querying latest git state Deprecated: controller + no longer updates ObservedAt field' + format: date-time + type: string + operationState: + description: OperationState contains information about any ongoing + operations, such as a sync + properties: + finishedAt: + description: FinishedAt contains time of operation completion + format: date-time + type: string + message: + description: Message holds any pertinent messages when attempting + to perform operation (typically errors). + type: string + operation: + description: Operation is the original requested operation + properties: + info: + description: Info is a list of informational items for this + operation + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + initiatedBy: + description: InitiatedBy contains information about who initiated + the operations + properties: + automated: + description: Automated is set to true if operation was + initiated automatically by the application controller. + type: boolean + username: + description: Username contains the name of a user who + started operation + type: string + type: object + retry: + description: Retry controls the strategy to apply if a sync + fails + properties: + backoff: + description: Backoff controls how to backoff on subsequent + retries of failed syncs + properties: + duration: + description: Duration is the amount to back off. Default + unit is seconds, but could also be a duration (e.g. + "2m", "1h") + type: string + factor: + description: Factor is a factor to multiply the base + duration after each failed retry + format: int64 + type: integer + maxDuration: + description: MaxDuration is the maximum amount of + time allowed for the backoff strategy + type: string + type: object + limit: + description: Limit is the maximum number of attempts for + retrying a failed sync. If set to 0, no retries will + be performed. + format: int64 + type: integer + type: object + sync: + description: Sync contains parameters for the operation + properties: + dryRun: + description: DryRun specifies to perform a `kubectl apply + --dry-run` without actually performing the sync + type: boolean + manifests: + description: Manifests is an optional field that overrides + sync source with a local directory for development + items: + type: string + type: array + prune: + description: Prune specifies to delete resources from + the cluster that are no longer tracked in git + type: boolean + resources: + description: Resources describes which resources shall + be part of the sync + items: + description: SyncOperationResource contains resources + to sync. + properties: + group: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + type: array + revision: + description: Revision is the revision (Git) or chart version + (Helm) which to sync the application to If omitted, + will use the revision specified in app spec. + type: string + source: + description: Source overrides the source definition set + in the application. This is typically set in a Rollback + operation and is nil during a Sync operation + properties: + chart: + description: Chart is a Helm chart name, and must + be specified for applications sourced from a Helm + repo. + type: string + directory: + description: Directory holds path/directory specific + options + properties: + exclude: + description: Exclude contains a glob pattern to + match paths against that should be explicitly + excluded from being used during manifest generation + type: string + include: + description: Include contains a glob pattern to + match paths against that should be explicitly + included during manifest generation + type: string + jsonnet: + description: Jsonnet holds options specific to + Jsonnet + properties: + extVars: + description: ExtVars is a list of Jsonnet + External Variables + items: + description: JsonnetVar represents a variable + to be passed to jsonnet during manifest + generation + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + description: Additional library search dirs + items: + type: string + type: array + tlas: + description: TLAS is a list of Jsonnet Top-level + Arguments + items: + description: JsonnetVar represents a variable + to be passed to jsonnet during manifest + generation + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + description: Recurse specifies whether to scan + a directory recursively for manifests + type: boolean + type: object + helm: + description: Helm holds helm specific options + properties: + fileParameters: + description: FileParameters are file parameters + to the helm template + items: + description: HelmFileParameter is a file parameter + that's passed to helm template during manifest + generation + properties: + name: + description: Name is the name of the Helm + parameter + type: string + path: + description: Path is the path to the file + containing the values for the Helm parameter + type: string + type: object + type: array + parameters: + description: Parameters is a list of Helm parameters + which are passed to the helm template command + upon manifest generation + items: + description: HelmParameter is a parameter that's + passed to helm template during manifest generation + properties: + forceString: + description: ForceString determines whether + to tell Helm to interpret booleans and + numbers as strings + type: boolean + name: + description: Name is the name of the Helm + parameter + type: string + value: + description: Value is the value for the + Helm parameter + type: string + type: object + type: array + releaseName: + description: ReleaseName is the Helm release name + to use. If omitted it will use the application + name + type: string + valueFiles: + description: ValuesFiles is a list of Helm value + files to use when generating a template + items: + type: string + type: array + values: + description: Values specifies Helm values to be + passed to helm template, typically defined as + a block + type: string + version: + description: Version is the Helm version to use + for templating (either "2" or "3") + type: string + type: object + ksonnet: + description: Ksonnet holds ksonnet specific options + properties: + environment: + description: Environment is a ksonnet application + environment name + type: string + parameters: + description: Parameters are a list of ksonnet + component parameter override values + items: + description: KsonnetParameter is a ksonnet component + parameter + properties: + component: + type: string + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + kustomize: + description: Kustomize holds kustomize specific options + properties: + commonAnnotations: + additionalProperties: + type: string + description: CommonAnnotations is a list of additional + annotations to add to rendered manifests + type: object + commonLabels: + additionalProperties: + type: string + description: CommonLabels is a list of additional + labels to add to rendered manifests + type: object + forceCommonAnnotations: + description: ForceCommonAnnotations specifies + whether to force applying common annotations + to resources for Kustomize apps + type: boolean + forceCommonLabels: + description: ForceCommonLabels specifies whether + to force applying common labels to resources + for Kustomize apps + type: boolean + images: + description: Images is a list of Kustomize image + override specifications + items: + description: KustomizeImage represents a Kustomize + image definition in the format [old_image_name=]: + type: string + type: array + namePrefix: + description: NamePrefix is a prefix appended to + resources for Kustomize apps + type: string + nameSuffix: + description: NameSuffix is a suffix appended to + resources for Kustomize apps + type: string + version: + description: Version controls which version of + Kustomize to use for rendering manifests + type: string + type: object + path: + description: Path is a directory path within the Git + repository, and is only valid for applications sourced + from Git. + type: string + plugin: + description: ConfigManagementPlugin holds config management + plugin specific options + properties: + env: + description: Env is a list of environment variable + entries + items: + description: EnvEntry represents an entry in + the application's environment + properties: + name: + description: Name is the name of the variable, + usually expressed in uppercase + type: string + value: + description: Value is the value of the variable + type: string + required: + - name + - value + type: object + type: array + name: + type: string + type: object + repoURL: + description: RepoURL is the URL to the repository + (Git or Helm) that contains the application manifests + type: string + targetRevision: + description: TargetRevision defines the revision of + the source to sync the application to. In case of + Git, this can be commit, tag, or branch. If omitted, + will equal to HEAD. In case of Helm, this is a semver + tag for the Chart's version. + type: string + required: + - repoURL + type: object + syncOptions: + description: SyncOptions provide per-sync sync-options, + e.g. Validate=false + items: + type: string + type: array + syncStrategy: + description: SyncStrategy describes how to perform the + sync + properties: + apply: + description: Apply will perform a `kubectl apply` + to perform the sync. + properties: + force: + description: Force indicates whether or not to + supply the --force flag to `kubectl apply`. + The --force flag deletes and re-create the resource, + when PATCH encounters conflict and has retried + for 5 times. + type: boolean + type: object + hook: + description: Hook will submit any referenced resources + to perform the sync. This is the default strategy + properties: + force: + description: Force indicates whether or not to + supply the --force flag to `kubectl apply`. + The --force flag deletes and re-create the resource, + when PATCH encounters conflict and has retried + for 5 times. + type: boolean + type: object + type: object + type: object + type: object + phase: + description: Phase is the current phase of the operation + type: string + retryCount: + description: RetryCount contains time of operation retries + format: int64 + type: integer + startedAt: + description: StartedAt contains time of operation start + format: date-time + type: string + syncResult: + description: SyncResult is the result of a Sync operation + properties: + resources: + description: Resources contains a list of sync result items + for each individual resource in a sync operation + items: + description: ResourceResult holds the operation result details + of a specific resource + properties: + group: + description: Group specifies the API group of the resource + type: string + hookPhase: + description: HookPhase contains the state of any operation + associated with this resource OR hook This can also + contain values for non-hook resources. + type: string + hookType: + description: HookType specifies the type of the hook. + Empty for non-hook resources + type: string + kind: + description: Kind specifies the API kind of the resource + type: string + message: + description: Message contains an informational or error + message for the last sync OR operation + type: string + name: + description: Name specifies the name of the resource + type: string + namespace: + description: Namespace specifies the target namespace + of the resource + type: string + status: + description: Status holds the final result of the sync. + Will be empty if the resources is yet to be applied/pruned + and is always zero-value for hooks + type: string + syncPhase: + description: SyncPhase indicates the particular phase + of the sync that this result was acquired in + type: string + version: + description: Version specifies the API version of the + resource + type: string + required: + - group + - kind + - name + - namespace + - version + type: object + type: array + revision: + description: Revision holds the revision this sync operation + was performed to + type: string + source: + description: Source records the application source information + of the sync, used for comparing auto-sync + properties: + chart: + description: Chart is a Helm chart name, and must be specified + for applications sourced from a Helm repo. + type: string + directory: + description: Directory holds path/directory specific options + properties: + exclude: + description: Exclude contains a glob pattern to match + paths against that should be explicitly excluded + from being used during manifest generation + type: string + include: + description: Include contains a glob pattern to match + paths against that should be explicitly included + during manifest generation + type: string + jsonnet: + description: Jsonnet holds options specific to Jsonnet + properties: + extVars: + description: ExtVars is a list of Jsonnet External + Variables + items: + description: JsonnetVar represents a variable + to be passed to jsonnet during manifest generation + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + description: Additional library search dirs + items: + type: string + type: array + tlas: + description: TLAS is a list of Jsonnet Top-level + Arguments + items: + description: JsonnetVar represents a variable + to be passed to jsonnet during manifest generation + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + description: Recurse specifies whether to scan a directory + recursively for manifests + type: boolean + type: object + helm: + description: Helm holds helm specific options + properties: + fileParameters: + description: FileParameters are file parameters to + the helm template + items: + description: HelmFileParameter is a file parameter + that's passed to helm template during manifest + generation + properties: + name: + description: Name is the name of the Helm parameter + type: string + path: + description: Path is the path to the file containing + the values for the Helm parameter + type: string + type: object + type: array + parameters: + description: Parameters is a list of Helm parameters + which are passed to the helm template command upon + manifest generation + items: + description: HelmParameter is a parameter that's + passed to helm template during manifest generation + properties: + forceString: + description: ForceString determines whether + to tell Helm to interpret booleans and numbers + as strings + type: boolean + name: + description: Name is the name of the Helm parameter + type: string + value: + description: Value is the value for the Helm + parameter + type: string + type: object + type: array + releaseName: + description: ReleaseName is the Helm release name + to use. If omitted it will use the application name + type: string + valueFiles: + description: ValuesFiles is a list of Helm value files + to use when generating a template + items: + type: string + type: array + values: + description: Values specifies Helm values to be passed + to helm template, typically defined as a block + type: string + version: + description: Version is the Helm version to use for + templating (either "2" or "3") + type: string + type: object + ksonnet: + description: Ksonnet holds ksonnet specific options + properties: + environment: + description: Environment is a ksonnet application + environment name + type: string + parameters: + description: Parameters are a list of ksonnet component + parameter override values + items: + description: KsonnetParameter is a ksonnet component + parameter + properties: + component: + type: string + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + kustomize: + description: Kustomize holds kustomize specific options + properties: + commonAnnotations: + additionalProperties: + type: string + description: CommonAnnotations is a list of additional + annotations to add to rendered manifests + type: object + commonLabels: + additionalProperties: + type: string + description: CommonLabels is a list of additional + labels to add to rendered manifests + type: object + forceCommonAnnotations: + description: ForceCommonAnnotations specifies whether + to force applying common annotations to resources + for Kustomize apps + type: boolean + forceCommonLabels: + description: ForceCommonLabels specifies whether to + force applying common labels to resources for Kustomize + apps + type: boolean + images: + description: Images is a list of Kustomize image override + specifications + items: + description: KustomizeImage represents a Kustomize + image definition in the format [old_image_name=]: + type: string + type: array + namePrefix: + description: NamePrefix is a prefix appended to resources + for Kustomize apps + type: string + nameSuffix: + description: NameSuffix is a suffix appended to resources + for Kustomize apps + type: string + version: + description: Version controls which version of Kustomize + to use for rendering manifests + type: string + type: object + path: + description: Path is a directory path within the Git repository, + and is only valid for applications sourced from Git. + type: string + plugin: + description: ConfigManagementPlugin holds config management + plugin specific options + properties: + env: + description: Env is a list of environment variable + entries + items: + description: EnvEntry represents an entry in the + application's environment + properties: + name: + description: Name is the name of the variable, + usually expressed in uppercase + type: string + value: + description: Value is the value of the variable + type: string + required: + - name + - value + type: object + type: array + name: + type: string + type: object + repoURL: + description: RepoURL is the URL to the repository (Git + or Helm) that contains the application manifests + type: string + targetRevision: + description: TargetRevision defines the revision of the + source to sync the application to. In case of Git, this + can be commit, tag, or branch. If omitted, will equal + to HEAD. In case of Helm, this is a semver tag for the + Chart's version. + type: string + required: + - repoURL + type: object + required: + - revision + type: object + required: + - operation + - phase + - startedAt + type: object + reconciledAt: + description: ReconciledAt indicates when the application state was + reconciled using the latest git version + format: date-time + type: string + resources: + description: Resources is a list of Kubernetes resources managed by + this application + items: + description: 'ResourceStatus holds the current sync and health status + of a resource TODO: describe members of this type' + properties: + group: + type: string + health: + description: HealthStatus contains information about the currently + observed health state of an application or resource + properties: + message: + description: Message is a human-readable informational message + describing the health status + type: string + status: + description: Status holds the status code of the application + or resource + type: string + type: object + hook: + type: boolean + kind: + type: string + name: + type: string + namespace: + type: string + requiresPruning: + type: boolean + status: + description: SyncStatusCode is a type which represents possible + comparison results + type: string + version: + type: string + type: object + type: array + sourceType: + description: SourceType specifies the type of this application + type: string + summary: + description: Summary contains a list of URLs and container images + used by this application + properties: + externalURLs: + description: ExternalURLs holds all external URLs of application + child resources. + items: + type: string + type: array + images: + description: Images holds all images of application child resources. + items: + type: string + type: array + type: object + sync: + description: Sync contains information about the application's current + sync status + properties: + comparedTo: + description: ComparedTo contains information about what has been + compared + properties: + destination: + description: Destination is a reference to the application's + destination used for comparison + properties: + name: + description: Name is an alternate way of specifying the + target cluster by its symbolic name + type: string + namespace: + description: Namespace specifies the target namespace + for the application's resources. The namespace will + only be set for namespace-scoped resources that have + not set a value for .metadata.namespace + type: string + server: + description: Server specifies the URL of the target cluster + and must be set to the Kubernetes control plane API + type: string + type: object + source: + description: Source is a reference to the application's source + used for comparison + properties: + chart: + description: Chart is a Helm chart name, and must be specified + for applications sourced from a Helm repo. + type: string + directory: + description: Directory holds path/directory specific options + properties: + exclude: + description: Exclude contains a glob pattern to match + paths against that should be explicitly excluded + from being used during manifest generation + type: string + include: + description: Include contains a glob pattern to match + paths against that should be explicitly included + during manifest generation + type: string + jsonnet: + description: Jsonnet holds options specific to Jsonnet + properties: + extVars: + description: ExtVars is a list of Jsonnet External + Variables + items: + description: JsonnetVar represents a variable + to be passed to jsonnet during manifest generation + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + libs: + description: Additional library search dirs + items: + type: string + type: array + tlas: + description: TLAS is a list of Jsonnet Top-level + Arguments + items: + description: JsonnetVar represents a variable + to be passed to jsonnet during manifest generation + properties: + code: + type: boolean + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + recurse: + description: Recurse specifies whether to scan a directory + recursively for manifests + type: boolean + type: object + helm: + description: Helm holds helm specific options + properties: + fileParameters: + description: FileParameters are file parameters to + the helm template + items: + description: HelmFileParameter is a file parameter + that's passed to helm template during manifest + generation + properties: + name: + description: Name is the name of the Helm parameter + type: string + path: + description: Path is the path to the file containing + the values for the Helm parameter + type: string + type: object + type: array + parameters: + description: Parameters is a list of Helm parameters + which are passed to the helm template command upon + manifest generation + items: + description: HelmParameter is a parameter that's + passed to helm template during manifest generation + properties: + forceString: + description: ForceString determines whether + to tell Helm to interpret booleans and numbers + as strings + type: boolean + name: + description: Name is the name of the Helm parameter + type: string + value: + description: Value is the value for the Helm + parameter + type: string + type: object + type: array + releaseName: + description: ReleaseName is the Helm release name + to use. If omitted it will use the application name + type: string + valueFiles: + description: ValuesFiles is a list of Helm value files + to use when generating a template + items: + type: string + type: array + values: + description: Values specifies Helm values to be passed + to helm template, typically defined as a block + type: string + version: + description: Version is the Helm version to use for + templating (either "2" or "3") + type: string + type: object + ksonnet: + description: Ksonnet holds ksonnet specific options + properties: + environment: + description: Environment is a ksonnet application + environment name + type: string + parameters: + description: Parameters are a list of ksonnet component + parameter override values + items: + description: KsonnetParameter is a ksonnet component + parameter + properties: + component: + type: string + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + type: object + kustomize: + description: Kustomize holds kustomize specific options + properties: + commonAnnotations: + additionalProperties: + type: string + description: CommonAnnotations is a list of additional + annotations to add to rendered manifests + type: object + commonLabels: + additionalProperties: + type: string + description: CommonLabels is a list of additional + labels to add to rendered manifests + type: object + forceCommonAnnotations: + description: ForceCommonAnnotations specifies whether + to force applying common annotations to resources + for Kustomize apps + type: boolean + forceCommonLabels: + description: ForceCommonLabels specifies whether to + force applying common labels to resources for Kustomize + apps + type: boolean + images: + description: Images is a list of Kustomize image override + specifications + items: + description: KustomizeImage represents a Kustomize + image definition in the format [old_image_name=]: + type: string + type: array + namePrefix: + description: NamePrefix is a prefix appended to resources + for Kustomize apps + type: string + nameSuffix: + description: NameSuffix is a suffix appended to resources + for Kustomize apps + type: string + version: + description: Version controls which version of Kustomize + to use for rendering manifests + type: string + type: object + path: + description: Path is a directory path within the Git repository, + and is only valid for applications sourced from Git. + type: string + plugin: + description: ConfigManagementPlugin holds config management + plugin specific options + properties: + env: + description: Env is a list of environment variable + entries + items: + description: EnvEntry represents an entry in the + application's environment + properties: + name: + description: Name is the name of the variable, + usually expressed in uppercase + type: string + value: + description: Value is the value of the variable + type: string + required: + - name + - value + type: object + type: array + name: + type: string + type: object + repoURL: + description: RepoURL is the URL to the repository (Git + or Helm) that contains the application manifests + type: string + targetRevision: + description: TargetRevision defines the revision of the + source to sync the application to. In case of Git, this + can be commit, tag, or branch. If omitted, will equal + to HEAD. In case of Helm, this is a semver tag for the + Chart's version. + type: string + required: + - repoURL + type: object + required: + - destination + - source + type: object + revision: + description: Revision contains information about the revision + the comparison has been performed to + type: string + status: + description: Status is the sync state of the comparison + type: string + required: + - status + type: object + type: object + required: + - metadata + - spec + type: object + served: true + storage: true + subresources: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + labels: + app.kubernetes.io/name: appprojects.argoproj.io + app.kubernetes.io/part-of: argocd + name: appprojects.argoproj.io +spec: + group: argoproj.io + names: + kind: AppProject + listKind: AppProjectList + plural: appprojects + shortNames: + - appproj + - appprojs + singular: appproject + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: 'AppProject provides a logical grouping of applications, providing + controls for: * where the apps may deploy to (cluster whitelist) * what + may be deployed (repository whitelist, resource whitelist/blacklist) * who + can access these applications (roles, OIDC group claims bindings) * and + what they can do (RBAC policies) * automation access to these roles (JWT + tokens)' + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: AppProjectSpec is the specification of an AppProject + properties: + clusterResourceBlacklist: + description: ClusterResourceBlacklist contains list of blacklisted + cluster level resources + items: + description: GroupKind specifies a Group and a Kind, but does not + force a version. This is useful for identifying concepts during + lookup stages without having partially valid types + properties: + group: + type: string + kind: + type: string + required: + - group + - kind + type: object + type: array + clusterResourceWhitelist: + description: ClusterResourceWhitelist contains list of whitelisted + cluster level resources + items: + description: GroupKind specifies a Group and a Kind, but does not + force a version. This is useful for identifying concepts during + lookup stages without having partially valid types + properties: + group: + type: string + kind: + type: string + required: + - group + - kind + type: object + type: array + description: + description: Description contains optional project description + type: string + destinations: + description: Destinations contains list of destinations available + for deployment + items: + description: ApplicationDestination holds information about the + application's destination + properties: + name: + description: Name is an alternate way of specifying the target + cluster by its symbolic name + type: string + namespace: + description: Namespace specifies the target namespace for the + application's resources. The namespace will only be set for + namespace-scoped resources that have not set a value for .metadata.namespace + type: string + server: + description: Server specifies the URL of the target cluster + and must be set to the Kubernetes control plane API + type: string + type: object + type: array + namespaceResourceBlacklist: + description: NamespaceResourceBlacklist contains list of blacklisted + namespace level resources + items: + description: GroupKind specifies a Group and a Kind, but does not + force a version. This is useful for identifying concepts during + lookup stages without having partially valid types + properties: + group: + type: string + kind: + type: string + required: + - group + - kind + type: object + type: array + namespaceResourceWhitelist: + description: NamespaceResourceWhitelist contains list of whitelisted + namespace level resources + items: + description: GroupKind specifies a Group and a Kind, but does not + force a version. This is useful for identifying concepts during + lookup stages without having partially valid types + properties: + group: + type: string + kind: + type: string + required: + - group + - kind + type: object + type: array + orphanedResources: + description: OrphanedResources specifies if controller should monitor + orphaned resources of apps in this project + properties: + ignore: + description: Ignore contains a list of resources that are to be + excluded from orphaned resources monitoring + items: + description: OrphanedResourceKey is a reference to a resource + to be ignored from + properties: + group: + type: string + kind: + type: string + name: + type: string + type: object + type: array + warn: + description: Warn indicates if warning condition should be created + for apps which have orphaned resources + type: boolean + type: object + roles: + description: Roles are user defined RBAC roles associated with this + project + items: + description: ProjectRole represents a role that has access to a + project + properties: + description: + description: Description is a description of the role + type: string + groups: + description: Groups are a list of OIDC group claims bound to + this role + items: + type: string + type: array + jwtTokens: + description: JWTTokens are a list of generated JWT tokens bound + to this role + items: + description: JWTToken holds the issuedAt and expiresAt values + of a token + properties: + exp: + format: int64 + type: integer + iat: + format: int64 + type: integer + id: + type: string + required: + - iat + type: object + type: array + name: + description: Name is a name for this role + type: string + policies: + description: Policies Stores a list of casbin formatted strings + that define access policies for the role in the project + items: + type: string + type: array + required: + - name + type: object + type: array + signatureKeys: + description: SignatureKeys contains a list of PGP key IDs that commits + in Git must be signed with in order to be allowed for sync + items: + description: SignatureKey is the specification of a key required + to verify commit signatures with + properties: + keyID: + description: The ID of the key in hexadecimal notation + type: string + required: + - keyID + type: object + type: array + sourceRepos: + description: SourceRepos contains list of repository URLs which can + be used for deployment + items: + type: string + type: array + syncWindows: + description: SyncWindows controls when syncs can be run for apps in + this project + items: + description: SyncWindow contains the kind, time, duration and attributes + that are used to assign the syncWindows to apps + properties: + applications: + description: Applications contains a list of applications that + the window will apply to + items: + type: string + type: array + clusters: + description: Clusters contains a list of clusters that the window + will apply to + items: + type: string + type: array + duration: + description: Duration is the amount of time the sync window + will be open + type: string + kind: + description: Kind defines if the window allows or blocks syncs + type: string + manualSync: + description: ManualSync enables manual syncs when they would + otherwise be blocked + type: boolean + namespaces: + description: Namespaces contains a list of namespaces that the + window will apply to + items: + type: string + type: array + schedule: + description: Schedule is the time the window will begin, specified + in cron format + type: string + type: object + type: array + type: object + status: + description: AppProjectStatus contains status information for AppProject + CRs + properties: + jwtTokensByRole: + additionalProperties: + description: JWTTokens represents a list of JWT tokens + properties: + items: + items: + description: JWTToken holds the issuedAt and expiresAt values + of a token + properties: + exp: + format: int64 + type: integer + iat: + format: int64 + type: integer + id: + type: string + required: + - iat + type: object + type: array + type: object + description: JWTTokensByRole contains a list of JWT tokens issued + for a given role + type: object + type: object + required: + - metadata + - spec + type: object + served: true + storage: true +--- apiVersion: v1 kind: ServiceAccount metadata: diff --git a/manifests/core-install/kustomization.yaml b/manifests/core-install/kustomization.yaml index 660c2144c8146..137b0a0230f3a 100644 --- a/manifests/core-install/kustomization.yaml +++ b/manifests/core-install/kustomization.yaml @@ -2,6 +2,7 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: +- ../crds - ../base/config - ../base/application-controller - ../base/repo-server From 4a69cce7b1360260d9b59eec4718cc29a7772827 Mon Sep 17 00:00:00 2001 From: Keith Chong Date: Thu, 29 Jul 2021 13:11:11 -0400 Subject: [PATCH 84/93] test: Add initial automated UI smoke tests (#4393) (#4694) Signed-off-by: Keith Chong --- ui-test/.env | 40 + ui-test/.gitignore | 6 + ui-test/.prettierrc | 9 + ui-test/package.json | 32 + ui-test/src/Configuration.ts | 15 + ui-test/src/Constants.ts | 4 + ui-test/src/UiTestUtilities.ts | 134 ++ .../application-create-panel.ts | 205 +++ .../applications-list/applications-list.ts | 199 +++ .../applications-sync-panel.ts | 35 + ui-test/src/base.ts | 9 + ui-test/src/navigation.ts | 93 + ui-test/src/popup/popup-manager.ts | 35 + ui-test/src/test001.ts | 55 + ui-test/src/test002.ts | 27 + ui-test/tsconfig.json | 74 + ui-test/tslint.json | 17 + ui-test/yarn.lock | 1529 +++++++++++++++++ 18 files changed, 2518 insertions(+) create mode 100644 ui-test/.env create mode 100644 ui-test/.gitignore create mode 100644 ui-test/.prettierrc create mode 100644 ui-test/package.json create mode 100644 ui-test/src/Configuration.ts create mode 100644 ui-test/src/Constants.ts create mode 100644 ui-test/src/UiTestUtilities.ts create mode 100644 ui-test/src/application-create-panel/application-create-panel.ts create mode 100644 ui-test/src/applications-list/applications-list.ts create mode 100644 ui-test/src/applications-sync-panel/applications-sync-panel.ts create mode 100644 ui-test/src/base.ts create mode 100644 ui-test/src/navigation.ts create mode 100644 ui-test/src/popup/popup-manager.ts create mode 100644 ui-test/src/test001.ts create mode 100644 ui-test/src/test002.ts create mode 100644 ui-test/tsconfig.json create mode 100644 ui-test/tslint.json create mode 100644 ui-test/yarn.lock diff --git a/ui-test/.env b/ui-test/.env new file mode 100644 index 0000000000000..9e4c5b3d72259 --- /dev/null +++ b/ui-test/.env @@ -0,0 +1,40 @@ +# +# Currently defined test environment variables. Uncomment and/or change as desired. +# +############################ +# Test specific variables +############################ +# +# Timeout to wait for an element to appear. The default is 60 sec. +# TEST_TIMEOUT=60000 +# +# Run the tests in headless mode if true, non-headless mode if false +IS_HEADLESS=true +# +# Turn on/off tracing to the console. The default is true. +# ENABLE_CONSOLE_LOG=true +# +############################ +# ArgoCD specific variables +############################ +# +# URL of the ArgoCD UI to test against +ARGOCD_URL=http://localhost:4000 +# +# Git repository where applications reside +GIT_REPO=https://github.com/argoproj/argocd-example-apps +# +# The name to give the app in ArgoCD +APP_NAME=myapp +# +# The project name +APP_PROJECT=default +# +# The source path of the application in the repo +SOURCE_REPO_PATH=helm-guestbook +# +# Destination cluster name +DESTINATION_CLUSTER_NAME=in-cluster +# +# Destination namespace +DESTINATION_NAMESPACE=default diff --git a/ui-test/.gitignore b/ui-test/.gitignore new file mode 100644 index 0000000000000..ca01eb5e477e4 --- /dev/null +++ b/ui-test/.gitignore @@ -0,0 +1,6 @@ +.vscode/ +.idea/ +.DS_Store +out/ +node_modules/ +.env diff --git a/ui-test/.prettierrc b/ui-test/.prettierrc new file mode 100644 index 0000000000000..0abdae70b50de --- /dev/null +++ b/ui-test/.prettierrc @@ -0,0 +1,9 @@ +{ + "bracketSpacing": false, + "jsxSingleQuote": true, + "printWidth": 180, + "singleQuote": true, + "tabWidth": 4, + "jsxBracketSameLine": true, + "quoteProps": "consistent" +} diff --git a/ui-test/package.json b/ui-test/package.json new file mode 100644 index 0000000000000..5b638aab02442 --- /dev/null +++ b/ui-test/package.json @@ -0,0 +1,32 @@ +{ + "name": "ui-test", + "version": "1.0.0", + "description": "UI Testing", + "main": "argocd-ui-test", + "scripts": { + "compile": "npx tsc", + "test": "node out/test001.js", + "pretest": "cp .env out/.env", + "lint": "tslint -p ." + }, + "author": "Keith Chong", + "license": "Apache-2.0", + "dependencies": { + "@types/selenium-webdriver": "^4.0.9", + "assert": "^2.0.0", + "chromedriver": "^86.0.0", + "selenium-webdriver": "^4.0.0-alpha.7" + }, + "devDependencies": { + "@types/mocha": "^8.0.3", + "@types/node": "^14.14.2", + "dotenv": "^8.2.0", + "mocha": "^8.2.0", + "prettier": "^1.18.2", + "tslint": "^6.1.3", + "tslint-config-prettier": "^1.18.0", + "tslint-plugin-prettier": "^2.0.1", + "typescript": "^4.0.3", + "yarn": "^1.22.10" + } +} diff --git a/ui-test/src/Configuration.ts b/ui-test/src/Configuration.ts new file mode 100644 index 0000000000000..33323433f1559 --- /dev/null +++ b/ui-test/src/Configuration.ts @@ -0,0 +1,15 @@ +require('dotenv').config({path: __dirname + '/.env'}); + +export default class Configuration { + // Test specific + public static readonly ENABLE_CONSOLE_LOG: string | undefined = process.env.ENABLE_CONSOLE_LOG; + public static readonly TEST_TIMEOUT: string | undefined = process.env.TEST_TIMEOUT; + // ArgoCD UI specific. These are for single application-based tests, so one can quickly create an app based on the environment variables + public static readonly ARGOCD_URL: string = process.env.ARGOCD_URL ? process.env.ARGOCD_URL : ''; + public static readonly APP_NAME: string = process.env.APP_NAME ? process.env.APP_NAME : ''; + public static readonly APP_PROJECT: string = process.env.APP_PROJECT ? process.env.APP_PROJECT : ''; + public static readonly GIT_REPO: string = process.env.GIT_REPO ? process.env.GIT_REPO : ''; + public static readonly SOURCE_REPO_PATH: string = process.env.SOURCE_REPO_PATH ? process.env.SOURCE_REPO_PATH : ''; + public static readonly DESTINATION_CLUSTER_NAME: string = process.env.DESTINATION_CLUSTER_NAME ? process.env.DESTINATION_CLUSTER_NAME : ''; + public static readonly DESTINATION_NAMESPACE: string = process.env.DESTINATION_NAMESPACE ? process.env.DESTINATION_NAMESPACE : ''; +} diff --git a/ui-test/src/Constants.ts b/ui-test/src/Constants.ts new file mode 100644 index 0000000000000..e868ccb16bbce --- /dev/null +++ b/ui-test/src/Constants.ts @@ -0,0 +1,4 @@ +export const TEST_TIMEOUT: number = 60000; +export const TEST_SLIDING_PANEL_TIMEOUT: number = 5000; +export const TEST_IS_NOT_VISIBLE_TIMEOUT: number = 5000; +export const ENABLE_CONSOLE_LOG: boolean = true; diff --git a/ui-test/src/UiTestUtilities.ts b/ui-test/src/UiTestUtilities.ts new file mode 100644 index 0000000000000..a2f3126ace371 --- /dev/null +++ b/ui-test/src/UiTestUtilities.ts @@ -0,0 +1,134 @@ +import Configuration from './Configuration'; +import {Builder, By, until, WebDriver, WebElement} from 'selenium-webdriver'; +import chrome from 'selenium-webdriver/chrome'; +import * as Const from './Constants'; +import {Navigation} from './navigation'; + +export default class UiTestUtilities { + /** + * Log a message to the console. + * @param message + */ + public static async log(message: string): Promise { + let doLog = Const.ENABLE_CONSOLE_LOG; + // Config override + if (Configuration.ENABLE_CONSOLE_LOG) { + if (Configuration.ENABLE_CONSOLE_LOG === 'false') { + doLog = false; + } else { + doLog = true; + } + } + if (doLog) { + // tslint:disable-next-line:no-console + console.log(message); + } + } + + public static async logError(message: string): Promise { + let doLog = Const.ENABLE_CONSOLE_LOG; + // Config override + if (Configuration.ENABLE_CONSOLE_LOG) { + if (Configuration.ENABLE_CONSOLE_LOG === 'false') { + doLog = false; + } else { + doLog = true; + } + } + if (doLog) { + // tslint:disable-next-line:no-console + console.error(message); + } + } + + /** + * Set up the WebDriver. Initial steps for all tests. Returns the instance of Navigation with the WebDriver. + * From there, navigate the UI. Test cases do no need to reference the instance of WebDriver since Component/Page-specific + * API methods should be called instead. + * + */ + public static async init(): Promise { + const options = new chrome.Options(); + if (process.env.IS_HEADLESS) { + options.addArguments('headless'); + } + options.addArguments('window-size=1400x1200'); + const driver = await new Builder() + .forBrowser('chrome') + .setChromeOptions(options) + .build(); + + UiTestUtilities.log('Environment variables are:'); + UiTestUtilities.log(require('dotenv').config({path: __dirname + '/../.env'})); + + // Navigate to the ArgoCD URL + await driver.get(Configuration.ARGOCD_URL); + + return new Navigation(driver); + } + + /** + * Locate the UI Element for the given locator, and wait until it is visible + * + * @param driver + * @param locator + */ + public static async findUiElement(driver: WebDriver, locator: By): Promise { + try { + let timeout = Const.TEST_TIMEOUT; + if (Configuration.TEST_TIMEOUT) { + timeout = parseInt(Configuration.TEST_TIMEOUT, 10); + } + const element = await driver.wait(until.elementLocated(locator), timeout); + await driver.wait(until.elementIsVisible(element), timeout); + return element; + } catch (err) { + throw err; + } + } + + /** + * Similar to until.methods and used in driver.wait, this will wait until + * the expected attribute is the same as the actual attribute on the element + * + * @param attr + * @param attrValue + */ + public static async untilAttributeIs(element: WebElement, attr: string, attrValue: string): Promise { + const actual = await element.getAttribute(attr); + UiTestUtilities.log('Actual = ' + actual + ', expected = ' + attrValue + ', ' + (actual === attrValue)); + return actual === attrValue; + } + + /** + * Similar to until.methods and used in driver.wait, this function will wait until + * the element (eg. operation state) title attribute no longer is present + * + * @param element + */ + public static async untilOperationStatusDisappears(element: WebElement): Promise { + try { + const opState = await element.getAttribute('title'); + UiTestUtilities.log('Operation State = ' + opState); + return false; + } catch (err) { + UiTestUtilities.log('Status disappeared'); + return true; + } + } + + /** + * For clicking on elements if WebElement.click() doesn't work + * + * @param driver + * @param element + */ + public static async click(driver: WebDriver, element: WebElement): Promise { + try { + // Execute synchronous script + await driver.executeScript('arguments[0].click();', element); + } catch (e) { + throw e; + } + } +} diff --git a/ui-test/src/application-create-panel/application-create-panel.ts b/ui-test/src/application-create-panel/application-create-panel.ts new file mode 100644 index 0000000000000..60f92842a4362 --- /dev/null +++ b/ui-test/src/application-create-panel/application-create-panel.ts @@ -0,0 +1,205 @@ +import {By, until, WebDriver} from 'selenium-webdriver'; +import {Base} from '../base'; +import UiTestUtilities from '../UiTestUtilities'; +import * as Const from '../Constants'; + +const CREATE_APPLICATION_BUTTON_CREATE: By = By.xpath('.//button[@qe-id="applications-list-button-create"]'); +const CREATE_APPLICATION_BUTTON_CANCEL: By = By.xpath('.//button[@qe-id="applications-list-button-cancel"]'); + +const CREATE_APPLICATION_FIELD_APP_NAME: By = By.xpath('.//input[@qeid="application-create-field-app-name"]'); +const CREATE_APPLICATION_FIELD_PROJECT: By = By.xpath('.//input[@qe-id="application-create-field-project"]'); +const CREATE_APPLICATION_FIELD_REPOSITORY_URL: By = By.xpath('.//input[@qe-id="application-create-field-repository-url"]'); +const CREATE_APPLICATION_FIELD_REPOSITORY_PATH: By = By.xpath('.//input[@qe-id="application-create-field-path"]'); + +const CREATE_APPLICATION_DROPDOWN_DESTINATION: By = By.xpath('.//div[@qe-id="application-create-dropdown-destination"]'); +const CREATE_APPLICATION_DROPDOWN_MENU_URL: By = By.xpath('.//li[@qe-id="application-create-dropdown-destination-URL"]'); +const CREATE_APPLICATION_DROPDOWN_MENU_NAME: By = By.xpath('.//li[@qe-id="application-create-dropdown-destination-NAME"]'); + +export const DESTINATION_MENU_NAME: string = 'NAME'; +export const DESTINATION_MENU_URL: string = 'URL'; + +const CREATE_APPLICATION_FIELD_CLUSTER_NAME: By = By.xpath('.//input[@qe-id="application-create-field-cluster-name"]'); +const CREATE_APPLICATION_FIELD_CLUSTER_NAMESPACE: By = By.xpath('.//input[@qeid="application-create-field-namespace"]'); +const CREATE_APPLICATION_FIELD_CLUSTER_URL: By = By.xpath('.//input[@qe-id="application-create-field-cluster-url"]'); + +export class ApplicationCreatePanel extends Base { + public constructor(driver: WebDriver) { + super(driver); + } + + public async setAppName(appName: string): Promise { + try { + const appNameField = await UiTestUtilities.findUiElement(this.driver, CREATE_APPLICATION_FIELD_APP_NAME); + await appNameField.sendKeys(appName); + } catch (err) { + throw new Error(err); + } + } + + public async setProjectName(projectName: string): Promise { + try { + const project = await UiTestUtilities.findUiElement(this.driver, CREATE_APPLICATION_FIELD_PROJECT); + await project.sendKeys(projectName); + } catch (err) { + throw new Error(err); + } + } + + public async setSourceRepoUrl(sourceRepoUrl: string): Promise { + try { + const reposUrl = await UiTestUtilities.findUiElement(this.driver, CREATE_APPLICATION_FIELD_REPOSITORY_URL); + await reposUrl.sendKeys(sourceRepoUrl); + } catch (err) { + throw new Error(err); + } + } + + public async setSourceRepoPath(sourceRepoPath: string): Promise { + try { + const path = await UiTestUtilities.findUiElement(this.driver, CREATE_APPLICATION_FIELD_REPOSITORY_PATH); + await path.sendKeys(sourceRepoPath); + } catch (err) { + throw new Error(err); + } + } + + /** + * Convenience method to select the Destination Cluster URL menu and set the url field with destinationClusterFieldValue + * + * @param destinationClusterFieldValue + */ + public async selectDestinationClusterURLMenu(destinationClusterFieldValue: string): Promise { + try { + const clusterCombo = await UiTestUtilities.findUiElement(this.driver, CREATE_APPLICATION_DROPDOWN_DESTINATION); + // click() doesn't work. Use script + await UiTestUtilities.click(this.driver, clusterCombo); + const urlMenu = await UiTestUtilities.findUiElement(this.driver, CREATE_APPLICATION_DROPDOWN_MENU_URL); + await urlMenu.click(); + if (destinationClusterFieldValue) { + await this.setDestinationClusterUrl(destinationClusterFieldValue); + } + } catch (err) { + throw new Error(err); + } + } + + /** + * Convenience method to select the Destination Cluster Name menu and set the namefield with destinationClusterFieldValue + * + * @param destinationClusterFieldValue + */ + public async selectDestinationClusterNameMenu(destinationClusterFieldValue: string): Promise { + try { + const clusterCombo = await UiTestUtilities.findUiElement(this.driver, CREATE_APPLICATION_DROPDOWN_DESTINATION); + // click() doesn't work. Use script + await UiTestUtilities.click(this.driver, clusterCombo); + const nameMenu = await UiTestUtilities.findUiElement(this.driver, CREATE_APPLICATION_DROPDOWN_MENU_NAME); + await nameMenu.click(); + if (destinationClusterFieldValue) { + await this.setDestinationClusterName(destinationClusterFieldValue); + } + } catch (err) { + throw new Error(err); + } + } + + public async setDestinationClusterName(destinationClusterName: string): Promise { + try { + const clusterName = await UiTestUtilities.findUiElement(this.driver, CREATE_APPLICATION_FIELD_CLUSTER_NAME); + await clusterName.sendKeys(destinationClusterName); + // await clusterName.sendKeys('\r'); + } catch (err) { + throw new Error(err); + } + } + + public async setDestinationClusterUrl(destinationClusterUrl: string): Promise { + try { + const clusterUrl = await UiTestUtilities.findUiElement(this.driver, CREATE_APPLICATION_FIELD_CLUSTER_URL); + await clusterUrl.sendKeys(destinationClusterUrl); + } catch (err) { + throw new Error(err); + } + } + + public async setDestinationNamespace(destinationNamespace: string): Promise { + try { + const namespace = await UiTestUtilities.findUiElement(this.driver, CREATE_APPLICATION_FIELD_CLUSTER_NAMESPACE); + await namespace.sendKeys(destinationNamespace); + } catch (err) { + throw new Error(err); + } + } + + /** + * Click the Create button to create the app + */ + public async clickCreateButton(): Promise { + try { + const createButton = await UiTestUtilities.findUiElement(this.driver, CREATE_APPLICATION_BUTTON_CREATE); + await createButton.click(); + + // Wait until the Create Application Sliding Panel disappears + await this.driver.wait(until.elementIsNotVisible(createButton), Const.TEST_SLIDING_PANEL_TIMEOUT).catch(e => { + UiTestUtilities.logError('The Create Application Sliding Panel did not disappear'); + throw e; + }); + await this.driver.sleep(1000); + } catch (err) { + throw new Error(err); + } + } + + /** + * Click the Cancel Button. Do not create the app. + */ + public async clickCancelButton(): Promise { + try { + const cancelButton = await UiTestUtilities.findUiElement(this.driver, CREATE_APPLICATION_BUTTON_CANCEL); + await cancelButton.click(); + + // Wait until the Create Application Sliding Panel disappears + await this.driver.wait(until.elementIsNotVisible(cancelButton), Const.TEST_SLIDING_PANEL_TIMEOUT).catch(e => { + UiTestUtilities.logError('The Create Application Sliding Panel did not disappear'); + throw e; + }); + } catch (err) { + throw new Error(err); + } + } + + /** + * Convenience method to create an application given the following inputs to the dialog + * + * TODO add Sync Policy and Sync Options and setter methods above + * + * @param appName + * @param projectName + * @param sourceRepoUrl + * @param sourceRepoPath + * @param destinationMenu + * @param destinationClusterName + * @param destinationNamespace + */ + public async createApplication( + appName: string, + projectName: string, + sourceRepoUrl: string, + sourceRepoPath: string, + destinationClusterName: string, + destinationNamespace: string + ): Promise { + UiTestUtilities.log('About to create application'); + try { + await this.setAppName(appName); + await this.setProjectName(projectName); + await this.setSourceRepoUrl(sourceRepoUrl); + await this.setSourceRepoPath(sourceRepoPath); + await this.selectDestinationClusterNameMenu(destinationClusterName); + await this.setDestinationNamespace(destinationNamespace); + await this.clickCreateButton(); + } catch (err) { + throw new Error(err); + } + } +} diff --git a/ui-test/src/applications-list/applications-list.ts b/ui-test/src/applications-list/applications-list.ts new file mode 100644 index 0000000000000..3aa5e42ab2c8d --- /dev/null +++ b/ui-test/src/applications-list/applications-list.ts @@ -0,0 +1,199 @@ +import {By, until, WebDriver} from 'selenium-webdriver'; +import UiTestUtilities from '../UiTestUtilities'; +import * as Const from '../Constants'; +import {Base} from '../base'; +import {ApplicationCreatePanel} from '../application-create-panel/application-create-panel'; +import {ApplicationsSyncPanel, SYNC_PANEL_SYNCHRONIZE_BUTTON} from '../applications-sync-panel/applications-sync-panel'; +import {PopupManager} from '../popup/popup-manager'; + +const NEW_APP_BUTTON: By = By.xpath('.//button[@qe-id="applications-list-button-new-app"]'); +// Uncomment to use: +// const CREATE_APPLICATION_BUTTON: By = By.xpath('.//button[@qe-id="applications-list-button-create-application"]'); + +export class ApplicationsList extends Base { + private applicationCreatePanel: ApplicationCreatePanel; + private applicationsSyncPanel: ApplicationsSyncPanel; + private popupManager: PopupManager; + + public constructor(driver: WebDriver) { + super(driver); + this.applicationCreatePanel = new ApplicationCreatePanel(driver); + this.applicationsSyncPanel = new ApplicationsSyncPanel(driver); + this.popupManager = new PopupManager(driver); + } + + public async clickTile(appName: string): Promise { + try { + const tile = await UiTestUtilities.findUiElement(this.driver, this.getApplicationTileLocator(appName)); + await tile.click(); + } catch (err) { + throw new Error(err); + } + } + + /** + * Click the Add New Button + */ + public async clickNewAppButton(): Promise { + try { + const newAppButton = await UiTestUtilities.findUiElement(this.driver, NEW_APP_BUTTON); + await newAppButton.click(); + } catch (err) { + throw new Error(err); + } + return this.applicationCreatePanel; + } + + /** + * Click the Sync button on the App tile + * + * @param appName + */ + public async clickSyncButtonOnApp(appName: string): Promise { + try { + const syncButton = await UiTestUtilities.findUiElement(this.driver, this.getSyncButtonLocatorForApp(appName)); + await syncButton.click(); + // Wait until the Synchronize sliding panel appears + const synchronizeButton = await this.driver.wait(until.elementLocated(SYNC_PANEL_SYNCHRONIZE_BUTTON), Const.TEST_TIMEOUT); + await this.driver.wait(until.elementIsVisible(synchronizeButton), Const.TEST_TIMEOUT); + } catch (err) { + throw new Error(err); + } + return this.applicationsSyncPanel; + } + + /** + * Delete an application via the Delete button on the App tile + * + * @param appName + */ + public async clickDeleteButtonOnApp(appName: string): Promise { + try { + const deleteButton = await UiTestUtilities.findUiElement(this.driver, this.getDeleteButtonLocatorForApp(appName)); + await deleteButton.click(); + } catch (err) { + throw new Error(err); + } + return this.popupManager; + } + + public async waitUntilOperationStatusDisappearsOnApp(appName: string) { + const opStateElem = await UiTestUtilities.findUiElement(this.driver, this.getApplicationOperationsTitle(appName)); + await this.driver.wait(async () => { + return UiTestUtilities.untilOperationStatusDisappears(opStateElem); + }, Const.TEST_TIMEOUT); + } + + /** + * Click on the Refresh button on the App tile + * + * @param appName + */ + public async clickRefreshButtonOnApp(appName: string): Promise { + try { + const refreshButton = await UiTestUtilities.findUiElement(this.driver, this.getRefreshButtonLocatorForApp(appName)); + await this.driver.wait(until.elementIsVisible(refreshButton), Const.TEST_TIMEOUT); + await refreshButton.click(); + } catch (err) { + throw new Error(err); + } + } + + /** + * Use with wait. Wait for the health status of the app to change to Healthy + * + * @param appName + */ + public async waitForHealthStatusOnApp(appName: string): Promise { + try { + const healthStatusElement = await UiTestUtilities.findUiElement(this.driver, this.getApplicationHealthTitle(appName)); + await this.driver.wait(async () => { + return UiTestUtilities.untilAttributeIs(healthStatusElement, 'title', 'Healthy'); + }, Const.TEST_TIMEOUT); + } catch (err) { + throw new Error(err); + } + } + + /** + * Use with wait. Wait for the sync status of the app to change to Synced + * + * @param appName + */ + public async waitForSyncStatusOnApp(appName: string): Promise { + try { + const statusElement = await UiTestUtilities.findUiElement(this.driver, this.getApplicationSyncTitle(appName)); + await this.driver.wait(async () => { + return UiTestUtilities.untilAttributeIs(statusElement, 'title', 'Synced'); + }, Const.TEST_TIMEOUT); + } catch (err) { + throw new Error(err); + } + } + + /** + * Check that there are no operations associated with the app + * + * @param appName + */ + public async checkNoAdditionalOperations(appName: string): Promise { + // Check if there are no operations still running + UiTestUtilities.log('Checking if there are any additional operations'); + let opStateElem; + let opState; + try { + opStateElem = await this.driver.wait(until.elementLocated(this.getApplicationOperationsTitle(appName)), Const.TEST_IS_NOT_VISIBLE_TIMEOUT); + UiTestUtilities.logError('Unexpected to locate Operation element.'); + opState = await opStateElem.getAttribute('title'); + } catch (e) { + // ignore since we expect to not have any existing operations + } + if (opStateElem) { + throw new Error('Expecting no other operations. Actual: ' + opState); + } + } + + // Locators + + // By.css('#app .applications-tiles .applications-list-" + appName + "''); + + private getApplicationTileLocator(appName: string): By { + return By.xpath('.//div[contains(@class,"qe-applications-list-"' + appName + ')'); + } + + private getSyncButtonLocatorForApp(appName: string): By { + return By.xpath('.//div[contains(@class, "qe-applications-list-' + appName + '")]//div[@class="row"]//ancestor::a[@qe-id="applications-tiles-button-sync"]'); + } + + private getDeleteButtonLocatorForApp(appName: string): By { + return By.xpath('.//div[contains(@class, "qe-applications-list-' + appName + '")]//div[@class="row"]//ancestor::a[@qe-id="applications-tiles-button-delete"]'); + } + + private getRefreshButtonLocatorForApp(appName: string): By { + return By.xpath('.//div[contains(@class, "qe-applications-list-' + appName + '")]//div[@class="row"]//ancestor::a[@qe-id="applications-tiles-button-refresh"]'); + } + + private getApplicationHealthTitle(appName: string): By { + return By.xpath( + './/div[contains(@class, "qe-applications-list-' + + appName + + '")]//div[@class="row"]//div[@qe-id="applications-tiles-health-status"]//i[@qe-id="utils-health-status-title"]' + ); + } + + private getApplicationSyncTitle(appName: string): By { + return By.xpath( + './/div[contains(@class, "qe-applications-list-' + + appName + + '")]//div[@class="row"]//div[@qe-id="applications-tiles-health-status"]//i[@qe-id="utils-sync-status-title"]' + ); + } + + private getApplicationOperationsTitle(appName: string): By { + return By.xpath( + './/div[contains(@class, "qe-applications-list-' + + appName + + '")]//div[@class="row"]//div[@qe-id="applications-tiles-health-status"]//i[@qe-id="utils-operations-status-title"]' + ); + } +} diff --git a/ui-test/src/applications-sync-panel/applications-sync-panel.ts b/ui-test/src/applications-sync-panel/applications-sync-panel.ts new file mode 100644 index 0000000000000..9a5f266de58f3 --- /dev/null +++ b/ui-test/src/applications-sync-panel/applications-sync-panel.ts @@ -0,0 +1,35 @@ +import {By, until, WebDriver} from 'selenium-webdriver'; +import {Base} from '../base'; +import * as Const from '../Constants'; +import UiTestUtilities from '../UiTestUtilities'; + +export const SYNC_PANEL_SYNCHRONIZE_BUTTON: By = By.xpath('.//button[@qe-id="application-sync-panel-button-synchronize"]'); + +export class ApplicationsSyncPanel extends Base { + public constructor(driver: WebDriver) { + super(driver); + } + + /** + * Click the Sync button + */ + public async clickSyncButton() { + try { + // Wait until the Synchronize button appears + const synchronizeButton = await this.driver.wait(until.elementLocated(SYNC_PANEL_SYNCHRONIZE_BUTTON), Const.TEST_TIMEOUT); + await this.driver.wait(until.elementIsVisible(synchronizeButton), Const.TEST_TIMEOUT); + + // Check if the sync button is enabled + await this.driver.wait(until.elementIsEnabled(synchronizeButton), Const.TEST_TIMEOUT); + await synchronizeButton.click(); + + await this.driver.wait(until.elementIsNotVisible(synchronizeButton), Const.TEST_SLIDING_PANEL_TIMEOUT).catch(e => { + UiTestUtilities.logError('The Synchronization Sliding Panel did not disappear'); + throw e; + }); + UiTestUtilities.log('Synchronize sliding panel disappeared'); + } catch (err) { + throw new Error(err); + } + } +} diff --git a/ui-test/src/base.ts b/ui-test/src/base.ts new file mode 100644 index 0000000000000..0982ea8a72cec --- /dev/null +++ b/ui-test/src/base.ts @@ -0,0 +1,9 @@ +import {WebDriver} from 'selenium-webdriver'; + +export abstract class Base { + protected driver: WebDriver; + + public constructor(driver: WebDriver) { + this.driver = driver; + } +} diff --git a/ui-test/src/navigation.ts b/ui-test/src/navigation.ts new file mode 100644 index 0000000000000..57588b86d464d --- /dev/null +++ b/ui-test/src/navigation.ts @@ -0,0 +1,93 @@ +import {By, WebDriver} from 'selenium-webdriver'; +import {ApplicationsList} from './applications-list/applications-list'; +import UiTestUtilities from './UiTestUtilities'; +import {Base} from './base'; + +const NAVBAR_APPLICATIONS_BUTTON: By = By.css('#app .nav-bar .argo-icon-application'); +const NAVBAR_SETTINGS_BUTTON: By = By.css('#app .nav-bar .argo-icon-settings'); +const NAVBAR_USER_INFO_BUTTON: By = By.css('#app .nav-bar .fa-user-circle'); +const NAVBAR_DOCS_BUTTON: By = By.css('#app .nav-bar .argo-icon-docs'); + +export class Navigation extends Base { + private applicationsList: ApplicationsList; + + public constructor(driver: WebDriver) { + super(driver); + this.applicationsList = new ApplicationsList(this.driver); + } + + /** + * Click the Applications Nav Bar Button + * Return: reference to ApplicationsList page + */ + public async clickApplicationsNavBarButton(): Promise { + try { + const navBarButton = await UiTestUtilities.findUiElement(this.driver, NAVBAR_APPLICATIONS_BUTTON); + await navBarButton.click(); + } catch (err) { + throw new Error(err); + } + return this.applicationsList; + } + + /** + * Click the Settings Nav Bar Button + * TODO return settings page + */ + public async clickSettingsNavBarButton() { + try { + const navBarButton = await UiTestUtilities.findUiElement(this.driver, NAVBAR_SETTINGS_BUTTON); + await navBarButton.click(); + } catch (err) { + throw new Error(err); + } + } + + /** + * Click the User Info Nav Bar Button + * TODO return User Info page + */ + public async clickUserInfoNavBarButton() { + try { + const navBarButton = await UiTestUtilities.findUiElement(this.driver, NAVBAR_USER_INFO_BUTTON); + await navBarButton.click(); + } catch (err) { + throw new Error(err); + } + } + + /** + * Click the Documentation Nav Bar Button + * TODO return docs page + */ + public async clickDocsNavBarButton() { + try { + const navBarButton = await UiTestUtilities.findUiElement(this.driver, NAVBAR_DOCS_BUTTON); + await navBarButton.click(); + } catch (err) { + throw new Error(err); + } + } + + /** + * Get the WebDriver. Test cases are not recommended to use this. Use Page/Component objects to perform actions + */ + public getDriver(): WebDriver { + return this.driver; + } + + /** + * Call when test case is finished + */ + public async quit() { + await this.driver.quit(); + } + + /** + * Sleep for t milliseconds. This is not recommended for use by test cases. + * @param t + */ + public async sleep(t: number) { + await this.driver.sleep(t); + } +} diff --git a/ui-test/src/popup/popup-manager.ts b/ui-test/src/popup/popup-manager.ts new file mode 100644 index 0000000000000..c80c2182302fd --- /dev/null +++ b/ui-test/src/popup/popup-manager.ts @@ -0,0 +1,35 @@ +import {By, WebDriver} from 'selenium-webdriver'; +import {Base} from '../base'; +import UiTestUtilities from '../UiTestUtilities'; + +// Popup Confirmation dialog +// Uncomment to use +// const POPUP_OK_BUTTON_CSS: By = By.css('#app .popup-container .qe-argo-popup-ok-button'); +// const POPUP_OK_BUTTON: By = By.xpath('.//button[@qe-id="argo-popup-ok-button"]'); +// const POPUP_CANCEL_BUTTON: By = By.xpath('.//button[@qe-id="argo-popup-cancel-button"]'); + +// Popup Prompt dialog +const DELETE_APP_POPUP_FIELD_CONFIRMATION: By = By.xpath('.//input[@qeid="name-field-delete-confirmation"]'); +const DELETE_APP_PROMPT_POPUP_OK_BUTTON: By = By.xpath('.//button[@qe-id="prompt-popup-ok-button"]'); +const DELETE_APP_PROMPT_POPUP_CANCEL_BUTTON: By = By.xpath('.//button[@qe-id="prompt-popup-cancel-button"]'); + +export class PopupManager extends Base { + public constructor(driver: WebDriver) { + super(driver); + } + + public async setPromptFieldName(appName: string): Promise { + const confirmationField = await UiTestUtilities.findUiElement(this.driver, DELETE_APP_POPUP_FIELD_CONFIRMATION); + await confirmationField.sendKeys(appName); + } + + public async clickPromptOk(): Promise { + const okButton = await UiTestUtilities.findUiElement(this.driver, DELETE_APP_PROMPT_POPUP_OK_BUTTON); + await okButton.click(); + } + + public async clickPromptCancel(): Promise { + const cancelButton = await UiTestUtilities.findUiElement(this.driver, DELETE_APP_PROMPT_POPUP_CANCEL_BUTTON); + await cancelButton.click(); + } +} diff --git a/ui-test/src/test001.ts b/ui-test/src/test001.ts new file mode 100644 index 0000000000000..3db3f4d71413f --- /dev/null +++ b/ui-test/src/test001.ts @@ -0,0 +1,55 @@ +import Configuration from './Configuration'; +import UiTestUtilities from './UiTestUtilities'; +import {trace} from 'console'; +import {ApplicationsList} from './applications-list/applications-list'; +import {ApplicationCreatePanel} from './application-create-panel/application-create-panel'; +import {ApplicationsSyncPanel} from './applications-sync-panel/applications-sync-panel'; +import {PopupManager} from './popup/popup-manager'; + +/** + * General test that + * - creates an app based on the environment variables (see .env), + * - syncs the app + * - waits for the healthy and sync'ed states + * - deletes the app. + * + * This can be run multiple times for different apps + * + */ +async function doTest() { + const navigation = await UiTestUtilities.init(); + try { + const appsList: ApplicationsList = await navigation.clickApplicationsNavBarButton(); + const applicationCreatePanel: ApplicationCreatePanel = await appsList.clickNewAppButton(); + + UiTestUtilities.log('About to create application'); + await applicationCreatePanel.setAppName(Configuration.APP_NAME); + await applicationCreatePanel.setProjectName(Configuration.APP_PROJECT); + await applicationCreatePanel.setSourceRepoUrl(Configuration.GIT_REPO); + await applicationCreatePanel.setSourceRepoPath(Configuration.SOURCE_REPO_PATH); + await applicationCreatePanel.selectDestinationClusterNameMenu(Configuration.DESTINATION_CLUSTER_NAME); + await applicationCreatePanel.setDestinationNamespace(Configuration.DESTINATION_NAMESPACE); + await applicationCreatePanel.clickCreateButton(); + + const appsSyncPanel: ApplicationsSyncPanel = await appsList.clickSyncButtonOnApp(Configuration.APP_NAME); + await appsSyncPanel.clickSyncButton(); + + await appsList.waitForHealthStatusOnApp(Configuration.APP_NAME); + await appsList.waitForSyncStatusOnApp(Configuration.APP_NAME); + await appsList.checkNoAdditionalOperations(Configuration.APP_NAME); + + const popupManager: PopupManager = await appsList.clickDeleteButtonOnApp(Configuration.APP_NAME); + await popupManager.setPromptFieldName(Configuration.APP_NAME); + await popupManager.clickPromptOk(); + // After deleting, wait until the delete operation finishes + await appsList.waitUntilOperationStatusDisappearsOnApp(Configuration.APP_NAME); + + await UiTestUtilities.log('Test passed'); + } catch (e) { + trace('Test failed ', e); + } finally { + await navigation.quit(); + } +} + +doTest(); diff --git a/ui-test/src/test002.ts b/ui-test/src/test002.ts new file mode 100644 index 0000000000000..4e1f41fc05de0 --- /dev/null +++ b/ui-test/src/test002.ts @@ -0,0 +1,27 @@ +import UiTestUtilities from './UiTestUtilities'; +import {trace} from 'console'; +import {ApplicationsList} from './applications-list/applications-list'; +import {ApplicationCreatePanel} from './application-create-panel/application-create-panel'; + +/** + * Test to demo how to visit each page via the navigation bar on the left. + * + */ +async function doTest() { + const navigation = await UiTestUtilities.init(); + try { + await navigation.clickDocsNavBarButton(); + await navigation.clickUserInfoNavBarButton(); + await navigation.clickSettingsNavBarButton(); + const appsList: ApplicationsList = await navigation.clickApplicationsNavBarButton(); + const applicationCreatePanel: ApplicationCreatePanel = await appsList.clickNewAppButton(); + await applicationCreatePanel.clickCancelButton(); + await UiTestUtilities.log('Test passed'); + } catch (e) { + trace('Test failed ', e); + } finally { + await navigation.quit(); + } +} + +doTest(); diff --git a/ui-test/tsconfig.json b/ui-test/tsconfig.json new file mode 100644 index 0000000000000..143f0946f29ef --- /dev/null +++ b/ui-test/tsconfig.json @@ -0,0 +1,74 @@ +{ + "compilerOptions": { + /* Visit https://aka.ms/tsconfig.json to read more about this file */ + + /* Basic Options */ + // "incremental": true, /* Enable incremental compilation */ + "target": "es6", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */ + "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */ + "lib": ["es2017"], /* Specify library files to be included in the compilation. */ + "allowJs": true, /* Allow javascript files to be compiled. */ + // "checkJs": true, /* Report errors in .js files. */ + // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ + // "declaration": true, /* Generates corresponding '.d.ts' file. */ + // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ + "sourceMap": true, /* Generates corresponding '.map' file. */ + // "outFile": "./", /* Concatenate and emit output to single file. */ + "outDir": "out", /* Redirect output structure to the directory. */ + "rootDir": "src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ + // "composite": true, /* Enable project compilation */ + // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ + // "removeComments": true, /* Do not emit comments to output. */ + // "noEmit": true, /* Do not emit outputs. */ + // "importHelpers": true, /* Import emit helpers from 'tslib'. */ + // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ + // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ + + /* Strict Type-Checking Options */ + "strict": true, /* Enable all strict type-checking options. */ + "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ + // "strictNullChecks": true, /* Enable strict null checks. */ + // "strictFunctionTypes": true, /* Enable strict checking of function types. */ + // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ + // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ + // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ + // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ + + /* Additional Checks */ + "noUnusedLocals": true, /* Report errors on unused locals. */ + "noUnusedParameters": true, /* Report errors on unused parameters. */ + "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ + // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ + + /* Module Resolution Options */ + "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ + // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ + // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ + // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ + // "typeRoots": [], /* List of folders to include type definitions from. */ + // "types": [], /* Type declaration files to be included in compilation. */ + // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ + "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ + // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ + // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ + + /* Source Map Options */ + // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ + // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ + // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ + // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ + + /* Experimental Options */ + "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ + // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ + + /* Advanced Options */ + // "resolveJsonModule": true, /* Include modules imported with '.json' extension */ + "skipLibCheck": true, /* Skip type checking of declaration files. */ + "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */ + }, + "exclude": [ + "node_modules", + "out" + ] +} diff --git a/ui-test/tslint.json b/ui-test/tslint.json new file mode 100644 index 0000000000000..2ed387963062c --- /dev/null +++ b/ui-test/tslint.json @@ -0,0 +1,17 @@ +{ + "extends": [ + "tslint:recommended", "tslint-plugin-prettier", "tslint-config-prettier" + ], + "jsRules": {}, + "rules": { + "prettier": true, + "quotemark": [true, "single"], + "no-var-requires": false, + "interface-name": false, + "object-literal-sort-keys": false, + "max-line-length": [true, 200], + "array-type": false, + "max-classes-per-file": false + }, + "rulesDirectory": [] +} diff --git a/ui-test/yarn.lock b/ui-test/yarn.lock new file mode 100644 index 0000000000000..38e72a57da659 --- /dev/null +++ b/ui-test/yarn.lock @@ -0,0 +1,1529 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/code-frame@^7.0.0": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" + integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== + dependencies: + "@babel/highlight" "^7.10.4" + +"@babel/helper-validator-identifier@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" + integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== + +"@babel/highlight@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" + integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== + dependencies: + "@babel/helper-validator-identifier" "^7.10.4" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@nodelib/fs.scandir@2.1.3": + version "2.1.3" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" + integrity sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw== + dependencies: + "@nodelib/fs.stat" "2.0.3" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.3", "@nodelib/fs.stat@^2.0.2": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz#34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3" + integrity sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz#011b9202a70a6366e436ca5c065844528ab04976" + integrity sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ== + dependencies: + "@nodelib/fs.scandir" "2.1.3" + fastq "^1.6.0" + +"@testim/chrome-version@^1.0.7": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@testim/chrome-version/-/chrome-version-1.0.7.tgz#0cd915785ec4190f08a3a6acc9b61fc38fb5f1a9" + integrity sha512-8UT/J+xqCYfn3fKtOznAibsHpiuDshCb0fwgWxRazTT19Igp9ovoXMPhXyLD6m3CKQGTMHgqoxaFfMWaL40Rnw== + +"@types/glob@^7.1.1": + version "7.1.3" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" + integrity sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w== + dependencies: + "@types/minimatch" "*" + "@types/node" "*" + +"@types/minimatch@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" + integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== + +"@types/mocha@^8.0.3": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-8.2.0.tgz#3eb56d13a1de1d347ecb1957c6860c911704bc44" + integrity sha512-/Sge3BymXo4lKc31C8OINJgXLaw+7vL1/L1pGiBNpGrBiT8FQiaFpSYV0uhTaG4y78vcMBTMFsWaHDvuD+xGzQ== + +"@types/node@*", "@types/node@^14.14.2": + version "14.14.14" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.14.tgz#f7fd5f3cc8521301119f63910f0fb965c7d761ae" + integrity sha512-UHnOPWVWV1z+VV8k6L1HhG7UbGBgIdghqF3l9Ny9ApPghbjICXkUJSd/b9gOgQfjM1r+37cipdw/HJ3F6ICEnQ== + +"@types/selenium-webdriver@^4.0.9": + version "4.0.10" + resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-4.0.10.tgz#1aa370a14747b51752e65622999848c4f037b058" + integrity sha512-Xavn3fE+uM2aeIHtefIwpy0zAf2HQOyip/jU7ZR0ailt/B0ww/TJ6yMnfZ5pM0F4+Kx+9AQSnxQio3P5QAl1yQ== + +"@types/yauzl@^2.9.1": + version "2.9.1" + resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.9.1.tgz#d10f69f9f522eef3cf98e30afb684a1e1ec923af" + integrity sha512-A1b8SU4D10uoPjwb0lnHmmu8wZhR9d+9o2PKBQT2jU5YPTKsxac6M2qGAdY7VcL+dHHhARVUDmeg0rOrcd9EjA== + dependencies: + "@types/node" "*" + +"@ungap/promise-all-settled@1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" + integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q== + +agent-base@6: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + +ansi-colors@4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + +ansi-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" + integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== + +ansi-styles@^3.2.0, ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +anymatch@~3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" + integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +array-filter@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-1.0.0.tgz#baf79e62e6ef4c2a4c0b831232daffec251f9d83" + integrity sha1-uveeYubvTCpMC4MSMtr/7CUfnYM= + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +assert@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/assert/-/assert-2.0.0.tgz#95fc1c616d48713510680f2eaf2d10dd22e02d32" + integrity sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A== + dependencies: + es6-object-assign "^1.1.0" + is-nan "^1.2.1" + object-is "^1.0.1" + util "^0.12.0" + +available-typed-arrays@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz#6b098ca9d8039079ee3f77f7b783c4480ba513f5" + integrity sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ== + dependencies: + array-filter "^1.0.0" + +axios@^0.19.2: + version "0.19.2" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.19.2.tgz#3ea36c5d8818d0d5f8a8a97a6d36b86cdc00cb27" + integrity sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA== + dependencies: + follow-redirects "1.5.10" + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + +binary-extensions@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9" + integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^3.0.1, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browser-stdout@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" + integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== + +buffer-crc32@~0.2.3: + version "0.2.13" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= + +builtin-modules@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= + +call-bind@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.0.tgz#24127054bb3f9bdcb4b1fb82418186072f77b8ce" + integrity sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.0" + +camelcase@^5.0.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^6.0.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" + integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== + +chalk@^2.0.0, chalk@^2.3.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" + integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chokidar@3.4.3: + version "3.4.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.3.tgz#c1df38231448e45ca4ac588e6c79573ba6a57d5b" + integrity sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ== + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.5.0" + optionalDependencies: + fsevents "~2.1.2" + +chromedriver@^86.0.0: + version "86.0.0" + resolved "https://registry.yarnpkg.com/chromedriver/-/chromedriver-86.0.0.tgz#4b9504d5bbbcd4c6bd6d6fd1dd8247ab8cdeca67" + integrity sha512-byLJWhAfuYOmzRYPDf4asJgGDbI4gJGHa+i8dnQZGuv+6WW1nW1Fg+8zbBMOfLvGn7sKL41kVdmCEVpQHn9oyg== + dependencies: + "@testim/chrome-version" "^1.0.7" + axios "^0.19.2" + del "^5.1.0" + extract-zip "^2.0.1" + https-proxy-agent "^5.0.0" + mkdirp "^1.0.4" + tcp-port-used "^1.0.1" + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + +cliui@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" + integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== + dependencies: + string-width "^3.1.0" + strip-ansi "^5.2.0" + wrap-ansi "^5.1.0" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +commander@^2.12.1: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +debug@4, debug@4.3.1, debug@^4.1.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== + dependencies: + ms "2.1.2" + +debug@4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1" + integrity sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg== + dependencies: + ms "2.1.2" + +debug@=3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" + integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== + dependencies: + ms "2.0.0" + +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +decamelize@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" + integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== + +deep-is@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + +define-properties@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== + dependencies: + object-keys "^1.0.12" + +del@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/del/-/del-5.1.0.tgz#d9487c94e367410e6eff2925ee58c0c84a75b3a7" + integrity sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA== + dependencies: + globby "^10.0.1" + graceful-fs "^4.2.2" + is-glob "^4.0.1" + is-path-cwd "^2.2.0" + is-path-inside "^3.0.1" + p-map "^3.0.0" + rimraf "^3.0.0" + slash "^3.0.0" + +diff@4.0.2, diff@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +dotenv@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a" + integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== + +emoji-regex@^7.0.1: + version "7.0.3" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== + +end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +es-abstract@^1.18.0-next.1: + version "1.18.0-next.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0-next.1.tgz#6e3a0a4bda717e5023ab3b8e90bec36108d22c68" + integrity sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA== + dependencies: + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + is-callable "^1.2.2" + is-negative-zero "^2.0.0" + is-regex "^1.1.1" + object-inspect "^1.8.0" + object-keys "^1.1.1" + object.assign "^4.1.1" + string.prototype.trimend "^1.0.1" + string.prototype.trimstart "^1.0.1" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +es6-object-assign@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c" + integrity sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw= + +escape-string-regexp@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +eslint-plugin-prettier@^2.2.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-2.7.0.tgz#b4312dcf2c1d965379d7f9d5b5f8aaadc6a45904" + integrity sha512-CStQYJgALoQBw3FsBzH0VOVDRnJ/ZimUlpLm226U8qgqYJfPOY/CPK6wyRInMxh73HSKg5wyRwdS4BVYYHwokA== + dependencies: + fast-diff "^1.1.1" + jest-docblock "^21.0.0" + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +extract-zip@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" + integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== + dependencies: + debug "^4.1.1" + get-stream "^5.1.0" + yauzl "^2.10.0" + optionalDependencies: + "@types/yauzl" "^2.9.1" + +fast-diff@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" + integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== + +fast-glob@^3.0.3: + version "3.2.4" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.4.tgz#d20aefbf99579383e7f3cc66529158c9b98554d3" + integrity sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.0" + merge2 "^1.3.0" + micromatch "^4.0.2" + picomatch "^2.2.1" + +fastq@^1.6.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.9.0.tgz#e16a72f338eaca48e91b5c23593bcc2ef66b7947" + integrity sha512-i7FVWL8HhVY+CTkwFxkN2mk3h+787ixS5S63eb78diVRc1MCssarHq3W5cj0av7YDSwmaV928RNag+U1etRQ7w== + dependencies: + reusify "^1.0.4" + +fd-slicer@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" + integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4= + dependencies: + pend "~1.2.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +find-up@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + +follow-redirects@1.5.10: + version "1.5.10" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a" + integrity sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ== + dependencies: + debug "=3.1.0" + +foreach@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" + integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k= + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@~2.1.2: + version "2.1.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" + integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +get-caller-file@^2.0.1: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-intrinsic@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.0.1.tgz#94a9768fcbdd0595a1c9273aacf4c89d075631be" + integrity sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + +get-stream@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + +glob-parent@^5.1.0, glob-parent@~5.1.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" + integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== + dependencies: + is-glob "^4.0.1" + +glob@7.1.6, glob@^7.1.1, glob@^7.1.3: + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globby@^10.0.1: + version "10.0.2" + resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.2.tgz#277593e745acaa4646c3ab411289ec47a0392543" + integrity sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg== + dependencies: + "@types/glob" "^7.1.1" + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.0.3" + glob "^7.1.3" + ignore "^5.1.1" + merge2 "^1.2.3" + slash "^3.0.0" + +graceful-fs@^4.2.2: + version "4.2.4" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" + integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== + +growl@1.10.5: + version "1.10.5" + resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" + integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-symbols@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" + integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +he@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +https-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" + integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== + dependencies: + agent-base "6" + debug "4" + +ignore@^5.1.1: + version "5.1.8" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== + +immediate@~3.0.5: + version "3.0.6" + resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" + integrity sha1-nbHb0Pr43m++D13V5Wu2BigN5ps= + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.3, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +ip-regex@^4.1.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.2.0.tgz#a03f5eb661d9a154e3973a03de8b23dd0ad6892e" + integrity sha512-n5cDDeTWWRwK1EBoWwRti+8nP4NbytBBY0pldmnIkq6Z55KNFmWofh4rl9dPZpj+U/nVq7gweR3ylrvMt4YZ5A== + +is-arguments@^1.0.4: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.0.tgz#62353031dfbee07ceb34656a6bde59efecae8dd9" + integrity sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg== + dependencies: + call-bind "^1.0.0" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-callable@^1.1.4, is-callable@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.2.tgz#c7c6715cd22d4ddb48d3e19970223aceabb080d9" + integrity sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA== + +is-core-module@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" + integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== + dependencies: + has "^1.0.3" + +is-date-object@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" + integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + +is-generator-function@^1.0.7: + version "1.0.8" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.8.tgz#dfb5c2b120e02b0a8d9d2c6806cd5621aa922f7b" + integrity sha512-2Omr/twNtufVZFr1GhxjOMFPAj2sjc/dKaIqBhvo4qciXfJmITGH6ZGd8eZYNHza8t1y0e01AuqRhJwfWp26WQ== + +is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" + integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== + dependencies: + is-extglob "^2.1.1" + +is-nan@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.0.tgz#85d1f5482f7051c2019f5673ccebdb06f3b0db03" + integrity sha512-z7bbREymOqt2CCaZVly8aC4ML3Xhfi0ekuOnjO2L8vKdl+CttdVoGZQhd4adMFAsxQ5VeRVwORs4tU8RH+HFtQ== + dependencies: + define-properties "^1.1.3" + +is-negative-zero@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" + integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-path-cwd@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" + integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== + +is-path-inside@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.2.tgz#f5220fc82a3e233757291dddc9c5877f2a1f3017" + integrity sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg== + +is-plain-obj@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== + +is-regex@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9" + integrity sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg== + dependencies: + has-symbols "^1.0.1" + +is-symbol@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" + integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== + dependencies: + has-symbols "^1.0.1" + +is-typed-array@^1.1.3: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.4.tgz#1f66f34a283a3c94a4335434661ca53fff801120" + integrity sha512-ILaRgn4zaSrVNXNGtON6iFNotXW3hAPF3+0fB1usg2jFlWqo5fEDdmJkz0zBfoi7Dgskr8Khi2xZ8cXqZEfXNA== + dependencies: + available-typed-arrays "^1.0.2" + call-bind "^1.0.0" + es-abstract "^1.18.0-next.1" + foreach "^2.0.5" + has-symbols "^1.0.1" + +is-url@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.4.tgz#04a4df46d28c4cff3d73d01ff06abeb318a1aa52" + integrity sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww== + +is2@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/is2/-/is2-2.0.6.tgz#094f887248b49ba7ce278f8c39f85a70927bb5de" + integrity sha512-+Z62OHOjA6k2sUDOKXoZI3EXv7Fb1K52jpTBLbkfx62bcUeSsrTBLhEquCRDKTx0XE5XbHcG/S2vrtE3lnEDsQ== + dependencies: + deep-is "^0.1.3" + ip-regex "^4.1.0" + is-url "^1.2.4" + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +jest-docblock@^21.0.0: + version "21.2.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-21.2.0.tgz#51529c3b30d5fd159da60c27ceedc195faf8d414" + integrity sha512-5IZ7sY9dBAYSV+YjQ0Ovb540Ku7AO9Z5o2Cg789xj167iQuZ2cG+z0f3Uct6WeYLbU6aQiM2pCs7sZ+4dotydw== + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@3.14.0: + version "3.14.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" + integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jszip@^3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.5.0.tgz#b4fd1f368245346658e781fec9675802489e15f6" + integrity sha512-WRtu7TPCmYePR1nazfrtuF216cIVon/3GWOvHS9QR5bIwSbnxtdpma6un3jyGGNhHsKCSzn5Ypk+EkDRvTGiFA== + dependencies: + lie "~3.3.0" + pako "~1.0.2" + readable-stream "~2.3.6" + set-immediate-shim "~1.0.1" + +lie@~3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/lie/-/lie-3.3.0.tgz#dcf82dee545f46074daf200c7c1c5a08e0f40f6a" + integrity sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ== + dependencies: + immediate "~3.0.5" + +lines-and-columns@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +log-symbols@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" + integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA== + dependencies: + chalk "^4.0.0" + +merge2@^1.2.3, merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" + integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== + dependencies: + braces "^3.0.1" + picomatch "^2.0.5" + +minimatch@3.0.4, minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + +mkdirp@^0.5.3: + version "0.5.5" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== + dependencies: + minimist "^1.2.5" + +mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +mocha@^8.2.0: + version "8.2.1" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-8.2.1.tgz#f2fa68817ed0e53343d989df65ccd358bc3a4b39" + integrity sha512-cuLBVfyFfFqbNR0uUKbDGXKGk+UDFe6aR4os78XIrMQpZl/nv7JYHcvP5MFIAb374b2zFXsdgEGwmzMtP0Xg8w== + dependencies: + "@ungap/promise-all-settled" "1.1.2" + ansi-colors "4.1.1" + browser-stdout "1.3.1" + chokidar "3.4.3" + debug "4.2.0" + diff "4.0.2" + escape-string-regexp "4.0.0" + find-up "5.0.0" + glob "7.1.6" + growl "1.10.5" + he "1.2.0" + js-yaml "3.14.0" + log-symbols "4.0.0" + minimatch "3.0.4" + ms "2.1.2" + nanoid "3.1.12" + serialize-javascript "5.0.1" + strip-json-comments "3.1.1" + supports-color "7.2.0" + which "2.0.2" + wide-align "1.1.3" + workerpool "6.0.2" + yargs "13.3.2" + yargs-parser "13.1.2" + yargs-unparser "2.0.0" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +nanoid@3.1.12: + version "3.1.12" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.12.tgz#6f7736c62e8d39421601e4a0c77623a97ea69654" + integrity sha512-1qstj9z5+x491jfiC4Nelk+f8XBad7LN20PmyWINJEMRSf3wcAjAWysw1qaA8z6NSKe2sjq1hRSDpBH5paCb6A== + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +object-inspect@^1.8.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a" + integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw== + +object-is@^1.0.1: + version "1.1.4" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.4.tgz#63d6c83c00a43f4cbc9434eb9757c8a5b8565068" + integrity sha512-1ZvAZ4wlF7IyPVOcE1Omikt7UpaFlOQq0HlSti+ZvDH3UiD2brwGMwDbyV43jao2bKJ+4+WdPJHSd7kgzKYVqg== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + +object-keys@^1.0.12, object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" + integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + has-symbols "^1.0.1" + object-keys "^1.1.1" + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +p-limit@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + dependencies: + p-limit "^2.0.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-map@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" + integrity sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ== + dependencies: + aggregate-error "^3.0.0" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +pako@~1.0.2: + version "1.0.11" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-parse@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +pend@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= + +picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1: + version "2.2.2" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" + integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== + +prettier@^1.18.2: + version "1.19.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" + integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +readable-stream@~2.3.6: + version "2.3.7" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readdirp@~3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" + integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== + dependencies: + picomatch "^2.2.1" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + +resolve@^1.3.2: + version "1.19.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" + integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== + dependencies: + is-core-module "^2.1.0" + path-parse "^1.0.6" + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rimraf@^2.6.3, rimraf@^2.7.1: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + +rimraf@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +run-parallel@^1.1.9: + version "1.1.10" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.10.tgz#60a51b2ae836636c81377df16cb107351bcd13ef" + integrity sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw== + +safe-buffer@^5.1.0, safe-buffer@^5.1.2: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +selenium-webdriver@^4.0.0-alpha.7: + version "4.0.0-alpha.8" + resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-4.0.0-alpha.8.tgz#5cb99f4239b39dbdff6ac796893f873d044dd3bc" + integrity sha512-yPSaiWySZTEbxuuWQMDqdXh3H3N4Aiw/bSUjpkKMPWWCysfPqUncrq6FewBqdxWD1wQKzy5yWaQMGsgTY/0rCQ== + dependencies: + jszip "^3.5.0" + rimraf "^2.7.1" + tmp "^0.1.0" + ws "^7.3.1" + +semver@^5.3.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +serialize-javascript@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" + integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA== + dependencies: + randombytes "^2.1.0" + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +set-immediate-shim@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" + integrity sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E= + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +"string-width@^1.0.2 || 2": + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string-width@^3.0.0, string-width@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + +string.prototype.trimend@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz#a22bd53cca5c7cf44d7c9d5c732118873d6cd18b" + integrity sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + +string.prototype.trimstart@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz#9b4cb590e123bb36564401d59824298de50fd5aa" + integrity sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + dependencies: + ansi-regex "^3.0.0" + +strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + dependencies: + ansi-regex "^4.1.0" + +strip-json-comments@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +supports-color@7.2.0, supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +tcp-port-used@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/tcp-port-used/-/tcp-port-used-1.0.2.tgz#9652b7436eb1f4cfae111c79b558a25769f6faea" + integrity sha512-l7ar8lLUD3XS1V2lfoJlCBaeoaWo/2xfYt81hM7VlvR4RrMVFqfmzfhLVk40hAb368uitje5gPtBRL1m/DGvLA== + dependencies: + debug "4.3.1" + is2 "^2.0.6" + +tmp@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.1.0.tgz#ee434a4e22543082e294ba6201dcc6eafefa2877" + integrity sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw== + dependencies: + rimraf "^2.6.3" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +tslib@^1.13.0, tslib@^1.7.1, tslib@^1.8.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslint-config-prettier@^1.18.0: + version "1.18.0" + resolved "https://registry.yarnpkg.com/tslint-config-prettier/-/tslint-config-prettier-1.18.0.tgz#75f140bde947d35d8f0d238e0ebf809d64592c37" + integrity sha512-xPw9PgNPLG3iKRxmK7DWr+Ea/SzrvfHtjFt5LBl61gk2UBG/DB9kCXRjv+xyIU1rUtnayLeMUVJBcMX8Z17nDg== + +tslint-plugin-prettier@^2.0.1: + version "2.3.0" + resolved "https://registry.yarnpkg.com/tslint-plugin-prettier/-/tslint-plugin-prettier-2.3.0.tgz#73fe71bf9f03842ac48c104122ca9b1de012ecf4" + integrity sha512-F9e4K03yc9xuvv+A0v1EmjcnDwpz8SpCD8HzqSDe0eyg34cBinwn9JjmnnRrNAs4HdleRQj7qijp+P/JTxt4vA== + dependencies: + eslint-plugin-prettier "^2.2.0" + lines-and-columns "^1.1.6" + tslib "^1.7.1" + +tslint@^6.1.3: + version "6.1.3" + resolved "https://registry.yarnpkg.com/tslint/-/tslint-6.1.3.tgz#5c23b2eccc32487d5523bd3a470e9aa31789d904" + integrity sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg== + dependencies: + "@babel/code-frame" "^7.0.0" + builtin-modules "^1.1.1" + chalk "^2.3.0" + commander "^2.12.1" + diff "^4.0.1" + glob "^7.1.1" + js-yaml "^3.13.1" + minimatch "^3.0.4" + mkdirp "^0.5.3" + resolve "^1.3.2" + semver "^5.3.0" + tslib "^1.13.0" + tsutils "^2.29.0" + +tsutils@^2.29.0: + version "2.29.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.29.0.tgz#32b488501467acbedd4b85498673a0812aca0b99" + integrity sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA== + dependencies: + tslib "^1.8.1" + +typescript@^4.0.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.3.tgz#519d582bd94cba0cf8934c7d8e8467e473f53bb7" + integrity sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg== + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +util@^0.12.0: + version "0.12.3" + resolved "https://registry.yarnpkg.com/util/-/util-0.12.3.tgz#971bb0292d2cc0c892dab7c6a5d37c2bec707888" + integrity sha512-I8XkoQwE+fPQEhy9v012V+TSdH2kp9ts29i20TaaDUXsg7x/onePbhFJUExBfv/2ay1ZOp/Vsm3nDlmnFGSAog== + dependencies: + inherits "^2.0.3" + is-arguments "^1.0.4" + is-generator-function "^1.0.7" + is-typed-array "^1.1.3" + safe-buffer "^5.1.2" + which-typed-array "^1.1.2" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +which-typed-array@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.4.tgz#8fcb7d3ee5adf2d771066fba7cf37e32fe8711ff" + integrity sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA== + dependencies: + available-typed-arrays "^1.0.2" + call-bind "^1.0.0" + es-abstract "^1.18.0-next.1" + foreach "^2.0.5" + function-bind "^1.1.1" + has-symbols "^1.0.1" + is-typed-array "^1.1.3" + +which@2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wide-align@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== + dependencies: + string-width "^1.0.2 || 2" + +workerpool@6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.0.2.tgz#e241b43d8d033f1beb52c7851069456039d1d438" + integrity sha512-DSNyvOpFKrNusaaUwk+ej6cBj1bmhLcBfj80elGk+ZIo5JSkq+unB1dLKEOcNfJDZgjGICfhQ0Q5TbP0PvF4+Q== + +wrap-ansi@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" + integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== + dependencies: + ansi-styles "^3.2.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +ws@^7.3.1: + version "7.4.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.1.tgz#a333be02696bd0e54cea0434e21dcc8a9ac294bb" + integrity sha512-pTsP8UAfhy3sk1lSk/O/s4tjD0CRwvMnzvwr4OKGX7ZvqZtUyx4KIJB5JWbkykPoc55tixMGgTNoh3k4FkNGFQ== + +y18n@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.1.tgz#8db2b83c31c5d75099bb890b23f3094891e247d4" + integrity sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ== + +yargs-parser@13.1.2, yargs-parser@^13.1.2: + version "13.1.2" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" + integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-unparser@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" + integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== + dependencies: + camelcase "^6.0.0" + decamelize "^4.0.0" + flat "^5.0.2" + is-plain-obj "^2.1.0" + +yargs@13.3.2: + version "13.3.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" + integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== + dependencies: + cliui "^5.0.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^13.1.2" + +yarn@^1.22.10: + version "1.22.10" + resolved "https://registry.yarnpkg.com/yarn/-/yarn-1.22.10.tgz#c99daa06257c80f8fa2c3f1490724e394c26b18c" + integrity sha512-IanQGI9RRPAN87VGTF7zs2uxkSyQSrSPsju0COgbsKQOOXr5LtcVPeyXWgwVa0ywG3d8dg6kSYKGBuYK021qeA== + +yauzl@^2.10.0: + version "2.10.0" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" + integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk= + dependencies: + buffer-crc32 "~0.2.3" + fd-slicer "~1.1.0" + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== From 228c465393a376a33c6e29bd7b11a81ed05cfebb Mon Sep 17 00:00:00 2001 From: Klaus Dorninger Date: Thu, 29 Jul 2021 20:01:52 +0200 Subject: [PATCH 85/93] fix: #6844 multiple global projects can be configured (#6845) Signed-off-by: Klaus Dorninger --- util/argo/argo.go | 2 +- util/argo/argo_test.go | 86 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 87 insertions(+), 1 deletion(-) diff --git a/util/argo/argo.go b/util/argo/argo.go index 9ebe7129400d4..4caecfdc44546 100644 --- a/util/argo/argo.go +++ b/util/argo/argo.go @@ -586,7 +586,7 @@ func GetGlobalProjects(proj *argoappv1.AppProject, projLister applicationsv1.App } } if !matchMe { - break + continue } //If proj is a match for this global project setting, then it is its global project globalProj, err := projLister.AppProjects(proj.Namespace).Get(gp.ProjectName) diff --git a/util/argo/argo_test.go b/util/argo/argo_test.go index beea8c489805a..09af834fa0105 100644 --- a/util/argo/argo_test.go +++ b/util/argo/argo_test.go @@ -758,3 +758,89 @@ func TestFilterByName(t *testing.T) { assert.Len(t, res, 0) }) } + +func TestGetGlobalProjects(t *testing.T) { + t.Run("Multiple global projects", func(t *testing.T) { + namespace := "default" + + cm := corev1.ConfigMap{ + ObjectMeta: metav1.ObjectMeta{ + Name: "argocd-cm", + Namespace: test.FakeArgoCDNamespace, + Labels: map[string]string{ + "app.kubernetes.io/part-of": "argocd", + }, + }, + Data: map[string]string{ + "globalProjects": ` + - projectName: default-x + labelSelector: + matchExpressions: + - key: is-x + operator: Exists + - projectName: default-non-x + labelSelector: + matchExpressions: + - key: is-x + operator: DoesNotExist +`, + }, + } + + defaultX := &argoappv1.AppProject{ + ObjectMeta: metav1.ObjectMeta{Name: "default-x", Namespace: namespace}, + Spec: argoappv1.AppProjectSpec{ + ClusterResourceWhitelist: []metav1.GroupKind{ + {Group: "*", Kind: "*"}, + }, + ClusterResourceBlacklist: []metav1.GroupKind{ + {Kind: "Volume"}, + }, + }, + } + + defaultNonX := &argoappv1.AppProject{ + ObjectMeta: metav1.ObjectMeta{Name: "default-non-x", Namespace: namespace}, + Spec: argoappv1.AppProjectSpec{ + ClusterResourceBlacklist: []metav1.GroupKind{ + {Group: "*", Kind: "*"}, + }, + }, + } + + isX := &argoappv1.AppProject{ + ObjectMeta: metav1.ObjectMeta{ + Name: "is-x", + Namespace: namespace, + Labels: map[string]string{ + "is-x": "yep", + }, + }, + } + + isNoX := &argoappv1.AppProject{ + ObjectMeta: metav1.ObjectMeta{Name: "is-no-x", Namespace: namespace}, + } + + projClientset := appclientset.NewSimpleClientset(defaultX, defaultNonX, isX, isNoX) + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + indexers := cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc} + informer := v1alpha1.NewAppProjectInformer(projClientset, namespace, 0, indexers) + go informer.Run(ctx.Done()) + cache.WaitForCacheSync(ctx.Done(), informer.HasSynced) + + kubeClient := fake.NewSimpleClientset(&cm) + settingsMgr := settings.NewSettingsManager(context.Background(), kubeClient, test.FakeArgoCDNamespace) + + projLister := applisters.NewAppProjectLister(informer.GetIndexer()) + + xGlobalProjects := GetGlobalProjects(isX, projLister, settingsMgr) + assert.Len(t, xGlobalProjects, 1) + assert.Equal(t, xGlobalProjects[0].Name, "default-x") + + nonXGlobalProjects := GetGlobalProjects(isNoX, projLister, settingsMgr) + assert.Len(t, nonXGlobalProjects, 1) + assert.Equal(t, nonXGlobalProjects[0].Name, "default-non-x") + }) +} From 52090425c667e382a9b15e3d4246300d837f15f1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 29 Jul 2021 11:18:19 -0700 Subject: [PATCH 86/93] chore(deps): bump ws from 7.4.1 to 7.5.3 in /ui-test (#6849) Bumps [ws](https://github.com/websockets/ws) from 7.4.1 to 7.5.3. - [Release notes](https://github.com/websockets/ws/releases) - [Commits](https://github.com/websockets/ws/compare/7.4.1...7.5.3) --- updated-dependencies: - dependency-name: ws dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- ui-test/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ui-test/yarn.lock b/ui-test/yarn.lock index 38e72a57da659..92fc1c65c5f54 100644 --- a/ui-test/yarn.lock +++ b/ui-test/yarn.lock @@ -1467,9 +1467,9 @@ wrappy@1: integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= ws@^7.3.1: - version "7.4.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.1.tgz#a333be02696bd0e54cea0434e21dcc8a9ac294bb" - integrity sha512-pTsP8UAfhy3sk1lSk/O/s4tjD0CRwvMnzvwr4OKGX7ZvqZtUyx4KIJB5JWbkykPoc55tixMGgTNoh3k4FkNGFQ== + version "7.5.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.3.tgz#160835b63c7d97bfab418fc1b8a9fced2ac01a74" + integrity sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg== y18n@^4.0.0: version "4.0.1" From cd9dcecccda85cf080a5ba3d5241f122690c995b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 29 Jul 2021 11:18:57 -0700 Subject: [PATCH 87/93] chore(deps): bump glob-parent from 5.1.1 to 5.1.2 in /ui-test (#6848) Bumps [glob-parent](https://github.com/gulpjs/glob-parent) from 5.1.1 to 5.1.2. - [Release notes](https://github.com/gulpjs/glob-parent/releases) - [Changelog](https://github.com/gulpjs/glob-parent/blob/main/CHANGELOG.md) - [Commits](https://github.com/gulpjs/glob-parent/compare/v5.1.1...v5.1.2) --- updated-dependencies: - dependency-name: glob-parent dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- ui-test/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ui-test/yarn.lock b/ui-test/yarn.lock index 92fc1c65c5f54..a723a8393d0bd 100644 --- a/ui-test/yarn.lock +++ b/ui-test/yarn.lock @@ -597,9 +597,9 @@ get-stream@^5.1.0: pump "^3.0.0" glob-parent@^5.1.0, glob-parent@~5.1.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" - integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" From 221d0c048dddd6f44d8eff70041634b4e2742bca Mon Sep 17 00:00:00 2001 From: David Maciel Date: Thu, 29 Jul 2021 14:19:53 -0400 Subject: [PATCH 88/93] Fix #6567 Admin token now expires (#6846) --- docs/operator-manual/security.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/operator-manual/security.md b/docs/operator-manual/security.md index 1ebc39b8ba712..76a0f362cbaeb 100644 --- a/docs/operator-manual/security.md +++ b/docs/operator-manual/security.md @@ -11,7 +11,8 @@ Authentication to Argo CD API server is performed exclusively using [JSON Web To in one of the following ways: 1. For the local `admin` user, a username/password is exchanged for a JWT using the `/api/v1/session` - endpoint. This token is signed & issued by the Argo CD API server itself, and has no expiration. + endpoint. This token is signed & issued by the Argo CD API server itself and it expires after 24 hours + (this token used not to expire, see [CVE-2021-26921](https://github.com/argoproj/argo-cd/security/advisories/GHSA-9h6w-j7w4-jr52)). When the admin password is updated, all existing admin JWT tokens are immediately revoked. The password is stored as a bcrypt hash in the [`argocd-secret`](https://github.com/argoproj/argo-cd/blob/master/manifests/base/config/argocd-secret.yaml) Secret. From 2abf284f813421382c2ec6ef6980546833cf07ee Mon Sep 17 00:00:00 2001 From: Alexander Matyushentsev Date: Thu, 29 Jul 2021 12:49:06 -0700 Subject: [PATCH 89/93] fix: include cluster level RBAC into argocd-core manifests (#6854) Signed-off-by: Alexander Matyushentsev --- manifests/core-install.yaml | 85 +++++++++++++++++++++++ manifests/core-install/kustomization.yaml | 1 + 2 files changed, 86 insertions(+) diff --git a/manifests/core-install.yaml b/manifests/core-install.yaml index 0a2319c2371b2..0820a5ff95bc3 100644 --- a/manifests/core-install.yaml +++ b/manifests/core-install.yaml @@ -2585,6 +2585,57 @@ rules: - list --- apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/component: application-controller + app.kubernetes.io/name: argocd-application-controller + app.kubernetes.io/part-of: argocd + name: argocd-application-controller +rules: +- apiGroups: + - '*' + resources: + - '*' + verbs: + - '*' +- nonResourceURLs: + - '*' + verbs: + - '*' +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/component: server + app.kubernetes.io/name: argocd-server + app.kubernetes.io/part-of: argocd + name: argocd-server +rules: +- apiGroups: + - '*' + resources: + - '*' + verbs: + - delete + - get + - patch +- apiGroups: + - "" + resources: + - events + verbs: + - list +- apiGroups: + - "" + resources: + - pods + - pods/log + verbs: + - get +--- +apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: labels: @@ -2616,6 +2667,40 @@ subjects: - kind: ServiceAccount name: argocd-redis --- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + labels: + app.kubernetes.io/component: application-controller + app.kubernetes.io/name: argocd-application-controller + app.kubernetes.io/part-of: argocd + name: argocd-application-controller +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: argocd-application-controller +subjects: +- kind: ServiceAccount + name: argocd-application-controller + namespace: argocd +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + labels: + app.kubernetes.io/component: server + app.kubernetes.io/name: argocd-server + app.kubernetes.io/part-of: argocd + name: argocd-server +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: argocd-server +subjects: +- kind: ServiceAccount + name: argocd-server + namespace: argocd +--- apiVersion: v1 kind: ConfigMap metadata: diff --git a/manifests/core-install/kustomization.yaml b/manifests/core-install/kustomization.yaml index 137b0a0230f3a..e6b768c6512ac 100644 --- a/manifests/core-install/kustomization.yaml +++ b/manifests/core-install/kustomization.yaml @@ -3,6 +3,7 @@ kind: Kustomization resources: - ../crds +- ../cluster-rbac - ../base/config - ../base/application-controller - ../base/repo-server From 17bef1c2c676329de83ef1489a93db9f32287637 Mon Sep 17 00:00:00 2001 From: Alexander Matyushentsev Date: Thu, 29 Jul 2021 13:01:38 -0700 Subject: [PATCH 90/93] fix: util.cli.SetLogLevel should update global log level (#6852) Signed-off-by: Alexander Matyushentsev --- util/cli/cli.go | 1 + 1 file changed, 1 insertion(+) diff --git a/util/cli/cli.go b/util/cli/cli.go index b605e887ce8f8..c37b5269f0659 100644 --- a/util/cli/cli.go +++ b/util/cli/cli.go @@ -162,6 +162,7 @@ func SetLogLevel(logLevel string) { level, err := log.ParseLevel(text.FirstNonEmpty(logLevel, log.InfoLevel.String())) errors.CheckError(err) os.Setenv(common.EnvLogLevel, level.String()) + log.SetLevel(level) } // SetGLogLevel set the glog level for the k8s go-client From bee20c2154f1b619ffe8e172cdce358a3fcbd230 Mon Sep 17 00:00:00 2001 From: Remington Breeze Date: Fri, 30 Jul 2021 08:48:05 -0700 Subject: [PATCH 91/93] fix(ui): Prevent UI crash if app status or resources is empty (#6858) --- .../applications/components/application-pod-view/pod-view.tsx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/ui/src/app/applications/components/application-pod-view/pod-view.tsx b/ui/src/app/applications/components/application-pod-view/pod-view.tsx index 8964f7754a183..aee4f062cc4bc 100644 --- a/ui/src/app/applications/components/application-pod-view/pod-view.tsx +++ b/ui/src/app/applications/components/application-pod-view/pod-view.tsx @@ -304,9 +304,7 @@ export class PodView extends React.Component { } const statusByKey = new Map(); - if (this.props.app) { - this.props.app.status.resources.forEach(res => statusByKey.set(nodeKey(res), res)); - } + this.props.app.status?.resources?.forEach(res => statusByKey.set(nodeKey(res), res)); (tree.nodes || []).forEach((rnode: ResourceTreeNode) => { // make sure each node has not null/undefined parentRefs field rnode.parentRefs = rnode.parentRefs || []; From 66acd16bce8c24f9a43697bd8439d81ce51223b9 Mon Sep 17 00:00:00 2001 From: Yi Cai Date: Fri, 30 Jul 2021 18:47:00 -0400 Subject: [PATCH 92/93] fix: Project filter selector does not get unset upon clear filters #6750 (#6866) Signed-off-by: ciiay --- ui/src/app/applications/components/filter/filter.tsx | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ui/src/app/applications/components/filter/filter.tsx b/ui/src/app/applications/components/filter/filter.tsx index a4dbe5f64e6b2..9feff5e25447d 100644 --- a/ui/src/app/applications/components/filter/filter.tsx +++ b/ui/src/app/applications/components/filter/filter.tsx @@ -60,6 +60,13 @@ export const Filter = (props: FilterProps) => { } }, [values]); + React.useEffect(() => { + if (props.selected.length === 0) { + setValues({} as {[label: string]: boolean}); + setInput(''); + } + }, [props.selected.length]); + return (
From bcfc112d828476270c006a349be4c14228336be5 Mon Sep 17 00:00:00 2001 From: Joe Bowbeer Date: Fri, 30 Jul 2021 15:57:17 -0700 Subject: [PATCH 93/93] docs: installation.md (#6860) Signed-off-by: Joe Bowbeer --- docs/operator-manual/installation.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/operator-manual/installation.md b/docs/operator-manual/installation.md index 11bc1e29e1004..6cb657e309460 100644 --- a/docs/operator-manual/installation.md +++ b/docs/operator-manual/installation.md @@ -1,13 +1,13 @@ # Installation -Argo CD has two type of installations: multi-tennant and core. +Argo CD has two type of installations: multi-tenant and core. ## Multi-Tenant The multi-tenant installation is the most common way to install Argo CD. This type of installation is typically used to service multiple application developer teams in the organization and maintained by a platform team. -The end-users can access Argo CD via API server using Web UI or `argocd` CLI. The `argocd` has to be configured using `argocd login ` command +The end-users can access Argo CD via the API server using the Web UI or `argocd` CLI. The `argocd` CLI has to be configured using `argocd login ` command (learn more [here](../user-guide/commands/argocd_login.md)). Two types of installation manifests are provided: @@ -18,7 +18,7 @@ Not recommended for production use. This type of installation is typically used * [install.yaml](https://github.com/argoproj/argo-cd/blob/master/manifests/install.yaml) - Standard Argo CD installation with cluster-admin access. Use this manifest set if you plan to use Argo CD to deploy applications in the same cluster that Argo CD runs - in (i.e. kubernetes.svc.default). Will still be able to deploy to external clusters with inputted + in (i.e. kubernetes.svc.default). It will still be able to deploy to external clusters with inputted credentials. * [namespace-install.yaml](https://github.com/argoproj/argo-cd/blob/master/manifests/namespace-install.yaml) - Installation of Argo CD which requires only @@ -26,11 +26,11 @@ Not recommended for production use. This type of installation is typically used need Argo CD to deploy applications in the same cluster that Argo CD runs in, and will rely solely on inputted cluster credentials. An example of using this set of manifests is if you run several Argo CD instances for different teams, where each instance will be deploying applications to - external clusters. Will still be possible to deploy to the same cluster (kubernetes.svc.default) + external clusters. It will still be possible to deploy to the same cluster (kubernetes.svc.default) with inputted credentials (i.e. `argocd cluster add --in-cluster --namespace `). > Note: Argo CD CRDs are not included into [namespace-install.yaml](https://github.com/argoproj/argo-cd/blob/master/manifests/namespace-install.yaml). - > and have to be installed separately. The CRD manifests are located in [manifests/crds](https://github.com/argoproj/argo-cd/blob/master/manifests/crds) directory. + > and have to be installed separately. The CRD manifests are located in the [manifests/crds](https://github.com/argoproj/argo-cd/blob/master/manifests/crds) directory. > Use the following command to install them: > ```bash > kubectl apply -k https://github.com/argoproj/argo-cd/manifests/crds\?ref\=stable @@ -38,7 +38,7 @@ Not recommended for production use. This type of installation is typically used ### High Availability: -High Availability installation is recommended for production use. Bundle includes the same components but tunned for high availability and resiliency. +High Availability installation is recommended for production use. This bundle includes the same components but tuned for high availability and resiliency. * [ha/install.yaml](https://github.com/argoproj/argo-cd/blob/master/manifests/ha/install.yaml) - the same as install.yaml but with multiple replicas for supported components. @@ -49,7 +49,7 @@ High Availability installation is recommended for production use. Bundle include ## Core The core installation is most suitable for cluster administrators who indepently use Argo CD and don't need multi-tenancy features. This installation -includes less components and easier to setup. The bundle does not include API server, UI as well as install non-HA light-weight version of each component. +includes fewer components and is easier to setup. The bundle does not include the API server or UI, and installs the lightweight (non-HA) version of each component. The end-users need Kubernetes access to manage Argo CD. The `argocd` CLI has to be configured using the following commands: @@ -58,7 +58,7 @@ kubectl config set-context --current --namespace=argocd # change current kube co argocd login --core ``` -The Web UI is also available and can be started using `argocd admin dashboard` command. +The Web UI is also available and can be started using the `argocd admin dashboard` command. Installation manifests are available at [core-install.yaml](https://github.com/argoproj/argo-cd/blob/master/manifests/core-install.yaml). @@ -80,4 +80,4 @@ resources: ## Helm The Argo CD can be installed using [Helm](https://helm.sh/). The Helm chart is currently community maintained and available at -[argo-helm/charts/argo-cd](https://github.com/argoproj/argo-helm/tree/master/charts/argo-cd). \ No newline at end of file +[argo-helm/charts/argo-cd](https://github.com/argoproj/argo-helm/tree/master/charts/argo-cd).