diff --git a/atmos.yaml b/atmos.yaml index 32c11680a..5fa3fb3c0 100644 --- a/atmos.yaml +++ b/atmos.yaml @@ -190,7 +190,7 @@ commands: List all Atmos stacks. steps: - > - atmos describe stacks --sections none | grep -e "^\S" | sed s/://g + atmos describe stacks --process-templates=false --sections none | grep -e "^\S" | sed s/://g - name: components description: | List all Atmos components in all stacks or in a single stack. diff --git a/cmd/cmd_utils.go b/cmd/cmd_utils.go index 93188ca75..2987e2d3d 100644 --- a/cmd/cmd_utils.go +++ b/cmd/cmd_utils.go @@ -239,7 +239,7 @@ func executeCustomCommand( } // Get the config for the component in the stack - componentConfig, err := e.ExecuteDescribeComponent(component, stack) + componentConfig, err := e.ExecuteDescribeComponent(component, stack, true) if err != nil { u.LogErrorAndExit(err) } diff --git a/cmd/describe_component.go b/cmd/describe_component.go index 37dcb8b14..b8b8f2e33 100644 --- a/cmd/describe_component.go +++ b/cmd/describe_component.go @@ -29,6 +29,7 @@ func init() { describeComponentCmd.PersistentFlags().StringP("stack", "s", "", "atmos describe component -s ") describeComponentCmd.PersistentFlags().StringP("format", "f", "yaml", "The output format: atmos describe component -s --format=yaml|json ('yaml' is default)") describeComponentCmd.PersistentFlags().String("file", "", "Write the result to the file: atmos describe component -s --file component.yaml") + describeComponentCmd.PersistentFlags().Bool("process-templates", true, "Enable/disable Go template processing in Atmos stack manifests when executing the command: atmos describe component -s --process-templates=false") err := describeComponentCmd.MarkPersistentFlagRequired("stack") if err != nil { diff --git a/cmd/describe_stacks.go b/cmd/describe_stacks.go index 3671eb4eb..27be4c917 100644 --- a/cmd/describe_stacks.go +++ b/cmd/describe_stacks.go @@ -42,5 +42,7 @@ func init() { describeStacksCmd.PersistentFlags().String("sections", "", "Output only the specified component sections: atmos describe stacks --sections=vars,settings. Available component sections: backend, backend_type, deps, env, inheritance, metadata, remote_state_backend, remote_state_backend_type, settings, vars") + describeStacksCmd.PersistentFlags().Bool("process-templates", true, "Enable/disable Go template processing in Atmos stack manifests when executing the command: atmos describe stacks --process-templates=false") + describeCmd.AddCommand(describeStacksCmd) } diff --git a/examples/quick-start-advanced/Dockerfile b/examples/quick-start-advanced/Dockerfile index d49108fbd..fc71854b4 100644 --- a/examples/quick-start-advanced/Dockerfile +++ b/examples/quick-start-advanced/Dockerfile @@ -6,10 +6,10 @@ ARG GEODESIC_OS=debian # https://atmos.tools/ # https://github.com/cloudposse/atmos # https://github.com/cloudposse/atmos/releases -ARG ATMOS_VERSION=1.85.0 +ARG ATMOS_VERSION=1.86.0 # Terraform: https://github.com/hashicorp/terraform/releases -ARG TF_VERSION=1.9.2 +ARG TF_VERSION=1.9.4 FROM cloudposse/geodesic:${GEODESIC_VERSION}-${GEODESIC_OS} diff --git a/examples/quick-start-advanced/atmos.yaml b/examples/quick-start-advanced/atmos.yaml index 7cdb6e415..76af448d3 100644 --- a/examples/quick-start-advanced/atmos.yaml +++ b/examples/quick-start-advanced/atmos.yaml @@ -185,7 +185,7 @@ commands: List all Atmos stacks. steps: - > - atmos describe stacks --sections none | grep -e "^\S" | sed s/://g + atmos describe stacks --process-templates=false --sections none | grep -e "^\S" | sed s/://g - name: components description: | List all Atmos components in all stacks or in a single stack. diff --git a/examples/quick-start-advanced/rootfs/usr/local/etc/atmos/atmos.yaml b/examples/quick-start-advanced/rootfs/usr/local/etc/atmos/atmos.yaml index 5aff27c1d..89b9dd84e 100644 --- a/examples/quick-start-advanced/rootfs/usr/local/etc/atmos/atmos.yaml +++ b/examples/quick-start-advanced/rootfs/usr/local/etc/atmos/atmos.yaml @@ -185,7 +185,7 @@ commands: List all Atmos stacks. steps: - > - atmos describe stacks --sections none | grep -e "^\S" | sed s/://g + atmos describe stacks --process-templates=false --sections none | grep -e "^\S" | sed s/://g - name: components description: | List all Atmos components in all stacks or in a single stack. diff --git a/examples/tests/atmos.yaml b/examples/tests/atmos.yaml index 4433541a4..fada5eef8 100644 --- a/examples/tests/atmos.yaml +++ b/examples/tests/atmos.yaml @@ -198,7 +198,7 @@ commands: List all Atmos stacks. steps: - > - atmos describe stacks --sections none | grep -e "^\S" | sed s/://g + atmos describe stacks --process-templates=false --sections none | grep -e "^\S" | sed s/://g - name: components description: | List all Atmos components in all stacks or in a single stack. diff --git a/examples/tests/rootfs/usr/local/etc/atmos/atmos.yaml b/examples/tests/rootfs/usr/local/etc/atmos/atmos.yaml index cb56a3bf2..e12a087f5 100644 --- a/examples/tests/rootfs/usr/local/etc/atmos/atmos.yaml +++ b/examples/tests/rootfs/usr/local/etc/atmos/atmos.yaml @@ -193,7 +193,7 @@ commands: List all Atmos stacks. steps: - > - atmos describe stacks --sections none | grep -e "^\S" | sed s/://g + atmos describe stacks --process-templates=false --sections none | grep -e "^\S" | sed s/://g - name: components description: | List all Atmos components in all stacks or in a single stack. diff --git a/go.mod b/go.mod index 77f0b33e6..3153fffb3 100644 --- a/go.mod +++ b/go.mod @@ -14,26 +14,26 @@ require ( github.com/elewis787/boa v0.1.2 github.com/fatih/color v1.17.0 github.com/go-git/go-git/v5 v5.12.0 - github.com/google/go-containerregistry v0.20.1 + github.com/google/go-containerregistry v0.20.2 github.com/google/go-github/v59 v59.0.0 github.com/google/uuid v1.6.0 github.com/hairyhenderson/gomplate/v3 v3.11.8 github.com/hashicorp/go-getter v1.7.5 github.com/hashicorp/hcl v1.0.0 github.com/hashicorp/hcl/v2 v2.21.0 - github.com/hashicorp/terraform-config-inspect v0.0.0-20240701073647-9fc3669f7553 + github.com/hashicorp/terraform-config-inspect v0.0.0-20240801114854-6714b46f5fe4 github.com/hashicorp/terraform-exec v0.21.0 github.com/ivanpirog/coloredcobra v1.0.1 github.com/json-iterator/go v1.1.12 github.com/jwalton/go-supportscolor v1.2.0 github.com/kubescape/go-git-url v0.0.30 - github.com/lrstanley/bubblezone v0.0.0-20240624011428-67235275f80c + github.com/lrstanley/bubblezone v0.0.0-20240723130623-7fd58a7b1f91 github.com/mitchellh/go-homedir v1.1.0 github.com/mitchellh/mapstructure v1.5.0 - github.com/open-policy-agent/opa v0.66.0 + github.com/open-policy-agent/opa v0.67.1 github.com/otiai10/copy v1.14.0 github.com/pkg/errors v0.9.1 - github.com/samber/lo v1.46.0 + github.com/samber/lo v1.47.0 github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 github.com/spf13/cobra v1.8.1 github.com/spf13/pflag v1.0.5 @@ -46,15 +46,13 @@ require ( require ( cloud.google.com/go v0.112.1 // indirect - cloud.google.com/go/compute v1.25.1 // indirect - cloud.google.com/go/compute/metadata v0.2.3 // indirect + cloud.google.com/go/compute/metadata v0.3.0 // indirect cloud.google.com/go/iam v1.1.6 // indirect cloud.google.com/go/storage v1.38.0 // indirect github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 // indirect github.com/Masterminds/goutils v1.1.1 // indirect github.com/Masterminds/semver/v3 v3.2.0 // indirect github.com/Microsoft/go-winio v0.6.2 // indirect - github.com/Microsoft/hcsshim v0.11.5 // indirect github.com/OneOfOne/xxhash v1.2.8 // indirect github.com/ProtonMail/go-crypto v1.1.0-alpha.2 // indirect github.com/Shopify/ejson v1.3.3 // indirect @@ -90,7 +88,7 @@ require ( github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect github.com/bytecodealliance/wasmtime-go/v3 v3.0.2 // indirect github.com/cenkalti/backoff/v3 v3.2.2 // indirect - github.com/cespare/xxhash/v2 v2.2.0 // indirect + github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/chainguard-dev/git-urls v1.0.2 // indirect github.com/charmbracelet/x/ansi v0.1.4 // indirect github.com/charmbracelet/x/input v0.1.2 // indirect @@ -98,16 +96,16 @@ require ( github.com/charmbracelet/x/windows v0.1.2 // indirect github.com/cloudflare/circl v1.3.7 // indirect github.com/common-nighthawk/go-figure v0.0.0-20210622060536-734e95fb86be // indirect - github.com/containerd/containerd v1.7.18 // indirect + github.com/containerd/containerd v1.7.20 // indirect github.com/containerd/errdefs v0.1.0 // indirect github.com/containerd/log v0.1.0 // indirect + github.com/containerd/platforms v0.2.1 // indirect github.com/containerd/stargz-snapshotter/estargz v0.14.3 // indirect github.com/cyphar/filepath-securejoin v0.2.4 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/dlclark/regexp2 v1.4.0 // indirect - github.com/docker/cli v24.0.0+incompatible // indirect + github.com/docker/cli v27.1.1+incompatible // indirect github.com/docker/distribution v2.8.2+incompatible // indirect - github.com/docker/docker v26.1.1+incompatible // indirect github.com/docker/docker-credential-helpers v0.8.1 // indirect github.com/docker/libkv v0.2.2-0.20180912205406-458977154600 // indirect github.com/dustin/gojson v0.0.0-20160307161227-2e71ec9dd5ad // indirect @@ -222,35 +220,34 @@ require ( go.etcd.io/bbolt v1.3.10 // indirect go.opencensus.io v0.24.0 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect - go.opentelemetry.io/otel v1.24.0 // indirect - go.opentelemetry.io/otel/metric v1.24.0 // indirect - go.opentelemetry.io/otel/sdk v1.22.0 // indirect - go.opentelemetry.io/otel/trace v1.24.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0 // indirect + go.opentelemetry.io/otel v1.28.0 // indirect + go.opentelemetry.io/otel/metric v1.28.0 // indirect + go.opentelemetry.io/otel/sdk v1.28.0 // indirect + go.opentelemetry.io/otel/trace v1.28.0 // indirect go.uber.org/atomic v1.9.0 // indirect go.uber.org/multierr v1.9.0 // indirect go4.org/intern v0.0.0-20230205224052-192e9f60865c // indirect go4.org/unsafe/assume-no-moving-gc v0.0.0-20230525183740-e7c30c78aeb2 // indirect gocloud.dev v0.25.1-0.20220408200107-09b10f7359f7 // indirect - golang.org/x/crypto v0.24.0 // indirect + golang.org/x/crypto v0.25.0 // indirect golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect golang.org/x/mod v0.17.0 // indirect - golang.org/x/net v0.26.0 // indirect - golang.org/x/oauth2 v0.18.0 // indirect + golang.org/x/net v0.27.0 // indirect + golang.org/x/oauth2 v0.20.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.21.0 // indirect - golang.org/x/term v0.21.0 // indirect + golang.org/x/sys v0.22.0 // indirect + golang.org/x/term v0.22.0 // indirect golang.org/x/text v0.16.0 // indirect golang.org/x/time v0.5.0 // indirect golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect google.golang.org/api v0.171.0 // indirect - google.golang.org/appengine v1.6.8 // indirect google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 // indirect - google.golang.org/grpc v1.64.0 // indirect - google.golang.org/protobuf v1.33.0 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20240701130421-f6361c86f094 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240701130421-f6361c86f094 // indirect + google.golang.org/grpc v1.65.0 // indirect + google.golang.org/protobuf v1.34.2 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/square/go-jose.v2 v2.6.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect diff --git a/go.sum b/go.sum index ab6e83235..ae48a6fb4 100644 --- a/go.sum +++ b/go.sum @@ -71,10 +71,8 @@ cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU= -cloud.google.com/go/compute v1.25.1 h1:ZRpHJedLtTpKgr3RV1Fx23NuaAEN1Zfx9hw1u4aJdjU= -cloud.google.com/go/compute v1.25.1/go.mod h1:oopOIR53ly6viBYxaDhBfJwzUAxf1zE//uf3IB011ls= -cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= -cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= +cloud.google.com/go/compute/metadata v0.3.0 h1:Tz+eQXMEqDIKRsmY3cHTL6FVaynIjX2QxYC4trgAKZc= +cloud.google.com/go/compute/metadata v0.3.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I= cloud.google.com/go/containeranalysis v0.6.0/go.mod h1:HEJoiEIu+lEXM+k7+qLCci0h33lX3ZqoYFdmPcoO7s4= cloud.google.com/go/datacatalog v1.3.0/go.mod h1:g9svFY6tuR+j+hrTw3J2dNcmI0dzmSiyOzm8kpLq0a0= @@ -252,8 +250,8 @@ github.com/Masterminds/sprig/v3 v3.2.3/go.mod h1:rXcFaZ2zZbLRJv/xSysmlgIM1u11eBa github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= -github.com/Microsoft/hcsshim v0.11.5 h1:haEcLNpj9Ka1gd3B3tAEs9CpE0c+1IhoL59w/exYU38= -github.com/Microsoft/hcsshim v0.11.5/go.mod h1:MV8xMfmECjl5HdO7U/3/hFVnkmSBjAjmA09d4bExKcU= +github.com/Microsoft/hcsshim v0.11.7 h1:vl/nj3Bar/CvJSYo7gIQPyRWc9f3c6IeSNavBTSZNZQ= +github.com/Microsoft/hcsshim v0.11.7/go.mod h1:MV8xMfmECjl5HdO7U/3/hFVnkmSBjAjmA09d4bExKcU= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/OneOfOne/xxhash v1.2.8 h1:31czK/TI9sNkxIKfaUfGlU47BAxQ0ztGgd9vPyqimf8= github.com/OneOfOne/xxhash v1.2.8/go.mod h1:eZbhyaAYD41SGSSsnmcpxVoRiQ/MPUTjUdIIOT9Um7Q= @@ -374,15 +372,15 @@ github.com/bytecodealliance/wasmtime-go/v3 v3.0.2/go.mod h1:RnUjnIXxEJcL6BgCvNyz github.com/cenkalti/backoff/v3 v3.0.0/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs= github.com/cenkalti/backoff/v3 v3.2.2 h1:cfUAAO3yvKMYKPrvhDuHSwQnhZNk/RMHKdZqKTxfm6M= github.com/cenkalti/backoff/v3 v3.2.2/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs= -github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM= -github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= +github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= +github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= -github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= +github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chainguard-dev/git-urls v1.0.2 h1:pSpT7ifrpc5X55n4aTTm7FFUE+ZQHKiqpiwNkJrVcKQ= github.com/chainguard-dev/git-urls v1.0.2/go.mod h1:rbGgj10OS7UgZlbzdUQIQpT0k/D4+An04HJY7Ol+Y/o= github.com/charmbracelet/bubbles v0.18.0 h1:PYv1A036luoBGroX6VWjQIE9Syf2Wby2oOl/39KLfy0= @@ -422,14 +420,16 @@ github.com/common-nighthawk/go-figure v0.0.0-20210622060536-734e95fb86be h1:J5BL github.com/common-nighthawk/go-figure v0.0.0-20210622060536-734e95fb86be/go.mod h1:mk5IQ+Y0ZeO87b858TlA645sVcEcbiX6YqP98kt+7+w= github.com/containerd/cgroups v1.1.0 h1:v8rEWFl6EoqHB+swVNjVoCJE8o3jX7e8nqBGPLaDFBM= github.com/containerd/cgroups v1.1.0/go.mod h1:6ppBcbh/NOOUU+dMKrykgaBnK9lCIBxHqJDGwsa1mIw= -github.com/containerd/containerd v1.7.18 h1:jqjZTQNfXGoEaZdW1WwPU0RqSn1Bm2Ay/KJPUuO8nao= -github.com/containerd/containerd v1.7.18/go.mod h1:IYEk9/IO6wAPUz2bCMVUbsfXjzw5UNP5fLz4PsUygQ4= +github.com/containerd/containerd v1.7.20 h1:Sl6jQYk3TRavaU83h66QMbI2Nqg9Jm6qzwX57Vsn1SQ= +github.com/containerd/containerd v1.7.20/go.mod h1:52GsS5CwquuqPuLncsXwG0t2CiUce+KsNHJZQJvAgR0= github.com/containerd/continuity v0.4.2 h1:v3y/4Yz5jwnvqPKJJ+7Wf93fyWoCB3F5EclWG023MDM= github.com/containerd/continuity v0.4.2/go.mod h1:F6PTNCKepoxEaXLQp3wDAjygEnImnZ/7o4JzpodfroQ= github.com/containerd/errdefs v0.1.0 h1:m0wCRBiu1WJT/Fr+iOoQHMQS/eP5myQ8lCv4Dz5ZURM= github.com/containerd/errdefs v0.1.0/go.mod h1:YgWiiHtLmSeBrvpw+UfPijzbLaB77mEG1WwJTDETIV0= github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= +github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= +github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= github.com/containerd/stargz-snapshotter/estargz v0.14.3 h1:OqlDCK3ZVUO6C3B/5FSkDwbkEETK84kQgEeFwDC+62k= github.com/containerd/stargz-snapshotter/estargz v0.14.3/go.mod h1:KY//uOCIkSuNAHhJogcZtrNHdKrA99/FCCRjE3HD36o= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= @@ -461,12 +461,10 @@ github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/ github.com/dlclark/regexp2 v1.4.0 h1:F1rxgk7p4uKjwIQxBs9oAXe5CqrXlCduYEJvrF4u93E= github.com/dlclark/regexp2 v1.4.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= -github.com/docker/cli v24.0.0+incompatible h1:0+1VshNwBQzQAx9lOl+OYCTCEAD8fKs/qeXMx3O0wqM= -github.com/docker/cli v24.0.0+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v27.1.1+incompatible h1:goaZxOqs4QKxznZjjBWKONQci/MywhtRv2oNn0GkeZE= +github.com/docker/cli v27.1.1+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.2+incompatible h1:T3de5rq0dB1j30rp0sA2rER+m322EBzniBPB6ZIzuh8= github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v26.1.1+incompatible h1:oI+4kkAgIwwb54b9OC7Xc3hSgu1RlJA/Lln/DF72djQ= -github.com/docker/docker v26.1.1+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.8.1 h1:j/eKUktUltBtMzKqmfLB0PAgqYyMHOp5vfsD1807oKo= github.com/docker/docker-credential-helpers v0.8.1/go.mod h1:P3ci7E3lwkZg6XiHdRKft1KckHiO9a2rNtyFbZ/ry9M= github.com/docker/libkv v0.2.2-0.20180912205406-458977154600 h1:x0AMRhackzbivKKiEeSMzH6gZmbALPXCBG0ecBmRlco= @@ -574,8 +572,8 @@ github.com/golang-jwt/jwt/v4 v4.4.1/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= github.com/golang-sql/sqlexp v0.0.0-20170517235910-f1bb20e5a188/go.mod h1:vXjM/+wXQnTPR4KqTKDgJukSZ6amVRtWMPEjE6sQoK8= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= -github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= +github.com/golang/glog v1.2.1 h1:OptwRhECazUx5ix5TTWC3EZhsZEHWcYWY4FQHTIubm4= +github.com/golang/glog v1.2.1/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -635,8 +633,8 @@ github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-containerregistry v0.20.1 h1:eTgx9QNYugV4DN5mz4U8hiAGTi1ybXn0TPi4Smd8du0= -github.com/google/go-containerregistry v0.20.1/go.mod h1:YCMFNQeeXeLF+dnhhWkqDItx/JSkH01j1Kis4PsjzFI= +github.com/google/go-containerregistry v0.20.2 h1:B1wPJ1SN/S7pB+ZAimcciVD+r+yV/l/DSArMxlbwseo= +github.com/google/go-containerregistry v0.20.2/go.mod h1:z38EKdKh4h7IP2gSfUUqEvalZBqs6AoLeWfUy34nQC8= github.com/google/go-github/v59 v59.0.0 h1:7h6bgpF5as0YQLLkEiVqpgtJqjimMYhBkD4jT5aN3VA= github.com/google/go-github/v59 v59.0.0/go.mod h1:rJU4R0rQHFVFDOkqGWxfLNo6vEk4dv40oDjhV/gH6wM= github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= @@ -709,8 +707,8 @@ github.com/gosimple/unidecode v1.0.1 h1:hZzFTMMqSswvf0LBJZCZgThIZrpDHFXux9KeGmn6 github.com/gosimple/unidecode v1.0.1/go.mod h1:CP0Cr1Y1kogOtx0bJblKzsVWrqYaqfNOnHzpgWw4Awc= github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 h1:YBftPWNWd4WwGqtY2yeZL2ef8rHAxPBD8KFhJpmcqms= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0/go.mod h1:YN5jB8ie0yfIUg6VvR9Kz84aCaG7AsGZnLjhHbUqwPg= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0 h1:bkypFPDjIYGfCYD5mRBvpqxfYX1YCS1PXdKYWi8FsN0= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0/go.mod h1:P+Lt/0by1T8bfcF3z737NnSbmxQAppXMRziHUxPOC8k= github.com/hairyhenderson/go-fsimpl v0.0.0-20220529183339-9deae3e35047 h1:nSSfN9G8O8XXDqB3aDEHJ8K+0llYYToNlTcWOe1Pti8= github.com/hairyhenderson/go-fsimpl v0.0.0-20220529183339-9deae3e35047/go.mod h1:30RY4Ey+bg+BGKBufZE2IEmxk7hok9U9mjdgZYomwN4= github.com/hairyhenderson/gomplate/v3 v3.11.8 h1:T63wLRk+Y9C601ChYa/+FZ30XT/UEWydMDZhOOJM3K0= @@ -801,8 +799,8 @@ github.com/hashicorp/memberlist v0.5.0 h1:EtYPN8DpAURiapus508I4n9CzHs2W+8NZGbmmR github.com/hashicorp/memberlist v0.5.0/go.mod h1:yvyXLpo0QaGE59Y7hDTsTzDD25JYBZ4mHgHUZ8lrOI0= github.com/hashicorp/serf v0.10.1 h1:Z1H2J60yRKvfDYAOZLd2MU0ND4AH/WDz7xYHDWQsIPY= github.com/hashicorp/serf v0.10.1/go.mod h1:yL2t6BqATOLGc5HF7qbFkTfXoPIY0WZdWHfEvMqbG+4= -github.com/hashicorp/terraform-config-inspect v0.0.0-20240701073647-9fc3669f7553 h1:ApSEBSu6EhcJWCdwSMd1VbQUeJDtB1jAOHfIxjZyMTc= -github.com/hashicorp/terraform-config-inspect v0.0.0-20240701073647-9fc3669f7553/go.mod h1:Gz/z9Hbn+4KSp8A2FBtNszfLSdT2Tn/uAKGuVqqWmDI= +github.com/hashicorp/terraform-config-inspect v0.0.0-20240801114854-6714b46f5fe4 h1:RwY5HBgtBZ997UtKJAO2Rx+94ETyevwWEVXWx1SL5YY= +github.com/hashicorp/terraform-config-inspect v0.0.0-20240801114854-6714b46f5fe4/go.mod h1:Gz/z9Hbn+4KSp8A2FBtNszfLSdT2Tn/uAKGuVqqWmDI= github.com/hashicorp/terraform-exec v0.21.0 h1:uNkLAe95ey5Uux6KJdua6+cv8asgILFVWkd/RG0D2XQ= github.com/hashicorp/terraform-exec v0.21.0/go.mod h1:1PPeMYou+KDUSSeRE9szMZ/oHf4fYUmB923Wzbq1ICg= github.com/hashicorp/terraform-json v0.22.1 h1:xft84GZR0QzjPVWs4lRUwvTcPnegqlyS7orfb5Ltvec= @@ -922,8 +920,8 @@ github.com/lib/pq v1.1.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.10.2/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/lib/pq v1.10.4/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= -github.com/lrstanley/bubblezone v0.0.0-20240624011428-67235275f80c h1:hu82xYs8yOIM1TSq+L5VIZeRsHVROpe3gL0qscUlXJA= -github.com/lrstanley/bubblezone v0.0.0-20240624011428-67235275f80c/go.mod h1:fMHACHXouhQO+NLAFvHEeKdVSzG7L/O1khqsvswCTmk= +github.com/lrstanley/bubblezone v0.0.0-20240723130623-7fd58a7b1f91 h1:NIU7JKWRT1sQcopTxZJ6h5zNAaTy1WE1i6phrMKj8mw= +github.com/lrstanley/bubblezone v0.0.0-20240723130623-7fd58a7b1f91/go.mod h1:fMHACHXouhQO+NLAFvHEeKdVSzG7L/O1khqsvswCTmk= github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY= github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= @@ -1010,8 +1008,8 @@ github.com/oklog/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA= github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DVU= github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI= github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= -github.com/open-policy-agent/opa v0.66.0 h1:DbrvfJQja0FBRcPOB3Z/BOckocN+M4ApNWyNhSRJt0w= -github.com/open-policy-agent/opa v0.66.0/go.mod h1:EIgNnJcol7AvQR/IcWLwL13k64gHVbNAVG46b2G+/EY= +github.com/open-policy-agent/opa v0.67.1 h1:rzy26J6g1X+CKknAcx0Vfbt41KqjuSzx4E0A8DAZf3E= +github.com/open-policy-agent/opa v0.67.1/go.mod h1:aqKlHc8E2VAAylYE9x09zJYr/fYzGX+JKne89UGqFzk= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug= @@ -1089,8 +1087,8 @@ github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6g github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= github.com/sahilm/fuzzy v0.1.1-0.20230530133925-c48e322e2a8f h1:MvTmaQdww/z0Q4wrYjDSCcZ78NoftLQyHBSLW/Cx79Y= github.com/sahilm/fuzzy v0.1.1-0.20230530133925-c48e322e2a8f/go.mod h1:VFvziUEIMCrT6A6tw2RFIXPXXmzXbOsSHF0DOI8ZK9Y= -github.com/samber/lo v1.46.0 h1:w8G+oaCPgz1PoCJztqymCFaKwXt+5cCXn51uPxExFfQ= -github.com/samber/lo v1.46.0/go.mod h1:RmDH9Ct32Qy3gduHQuKJ3gW1fMHAnE/fAzQuf6He5cU= +github.com/samber/lo v1.47.0 h1:z7RynLwP5nbyRscyvcD043DWYoOcYRv3mV8lBeqOCLc= +github.com/samber/lo v1.47.0/go.mod h1:RmDH9Ct32Qy3gduHQuKJ3gW1fMHAnE/fAzQuf6He5cU= github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 h1:lZUw3E0/J3roVtGQ+SCrUrg3ON6NgVqpn3+iol9aGu4= github.com/santhosh-tekuri/jsonschema/v5 v5.3.1/go.mod h1:uToXkOrWAZ6/Oc07xWQrPOhJotwFIyu2bBVN41fcDUY= github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= @@ -1206,23 +1204,23 @@ go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 h1:4Pp6oUg3+e/6M4C0A/3kJ2VYa++dsWVTtGgLVj5xtHg= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0/go.mod h1:Mjt1i1INqiaoZOMGR1RIUJN+i3ChKoFRqzrRQhlkbs0= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw= -go.opentelemetry.io/otel v1.24.0 h1:0LAOdjNmQeSTzGBzduGe/rU4tZhMwL5rWgtp9Ku5Jfo= -go.opentelemetry.io/otel v1.24.0/go.mod h1:W7b9Ozg4nkF5tWI5zsXkaKKDjdVjpD4oAt9Qi/MArHo= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.21.0 h1:cl5P5/GIfFh4t6xyruOgJP5QiA1pw4fYYdv6nc6CBWw= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.21.0/go.mod h1:zgBdWWAu7oEEMC06MMKc5NLbA/1YDXV1sMpSqEeLQLg= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.21.0 h1:tIqheXEFWAZ7O8A7m+J0aPTmpJN3YQ7qetUAdkkkKpk= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.21.0/go.mod h1:nUeKExfxAQVbiVFn32YXpXZZHZ61Cc3s3Rn1pDBGAb0= -go.opentelemetry.io/otel/metric v1.24.0 h1:6EhoGWWK28x1fbpA4tYTOWBkPefTDQnb8WSGXlc88kI= -go.opentelemetry.io/otel/metric v1.24.0/go.mod h1:VYhLe1rFfxuTXLgj4CBiyz+9WYBA8pNGJgDcSFRKBco= -go.opentelemetry.io/otel/sdk v1.22.0 h1:6coWHw9xw7EfClIC/+O31R8IY3/+EiRFHevmHafB2Gw= -go.opentelemetry.io/otel/sdk v1.22.0/go.mod h1:iu7luyVGYovrRpe2fmj3CVKouQNdTOkxtLzPvPz1DOc= -go.opentelemetry.io/otel/trace v1.24.0 h1:CsKnnL4dUAr/0llH9FKuc698G04IrpWV0MQA/Y1YELI= -go.opentelemetry.io/otel/trace v1.24.0/go.mod h1:HPc3Xr/cOApsBI154IU0OI0HJexz+aw5uPdbs3UCjNU= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0 h1:4K4tsIXefpVJtvA/8srF4V4y0akAoPHkIslgAkjixJA= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0/go.mod h1:jjdQuTGVsXV4vSs+CJ2qYDeDPf9yIJV23qlIzBm73Vg= +go.opentelemetry.io/otel v1.28.0 h1:/SqNcYk+idO0CxKEUOtKQClMK/MimZihKYMruSMViUo= +go.opentelemetry.io/otel v1.28.0/go.mod h1:q68ijF8Fc8CnMHKyzqL6akLO46ePnjkgfIMIjUIX9z4= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.28.0 h1:3Q/xZUyC1BBkualc9ROb4G8qkH90LXEIICcs5zv1OYY= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.28.0/go.mod h1:s75jGIWA9OfCMzF0xr+ZgfrB5FEbbV7UuYo32ahUiFI= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.28.0 h1:R3X6ZXmNPRR8ul6i3WgFURCHzaXjHdm0karRG/+dj3s= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.28.0/go.mod h1:QWFXnDavXWwMx2EEcZsf3yxgEKAqsxQ+Syjp+seyInw= +go.opentelemetry.io/otel/metric v1.28.0 h1:f0HGvSl1KRAU1DLgLGFjrwVyismPlnuU6JD6bOeuA5Q= +go.opentelemetry.io/otel/metric v1.28.0/go.mod h1:Fb1eVBFZmLVTMb6PPohq3TO9IIhUisDsbJoL/+uQW4s= +go.opentelemetry.io/otel/sdk v1.28.0 h1:b9d7hIry8yZsgtbmM0DKyPWMMUMlK9NEKuIG4aBqWyE= +go.opentelemetry.io/otel/sdk v1.28.0/go.mod h1:oYj7ClPUA7Iw3m+r7GeEjz0qckQRJK2B8zjcZEfu7Pg= +go.opentelemetry.io/otel/trace v1.28.0 h1:GhQ9cUuQGmNDd5BTCP2dAvv75RdMxEfTmYejp+lkx9g= +go.opentelemetry.io/otel/trace v1.28.0/go.mod h1:jPyXzNPg6da9+38HEwElrQiHlVMTnVfM3/yv2OlIHaI= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -go.opentelemetry.io/proto/otlp v1.0.0 h1:T0TX0tmXU8a3CbNXzEKGeU5mIVOdf0oykP+u2lIVU/I= -go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v80hjKIs5JXpM= +go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0= +go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= @@ -1272,8 +1270,8 @@ golang.org/x/crypto v0.0.0-20211215165025-cf75a172585e/go.mod h1:P+XmwS30IXTQdn5 golang.org/x/crypto v0.0.0-20220331220935-ae2d96664a29/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= -golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= -golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= +golang.org/x/crypto v0.25.0 h1:ypSNr+bnYL2YhwoMt2zPxHFmbAN1KZs/njMG3hxUp30= +golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1375,8 +1373,8 @@ golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfS golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= -golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ= -golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= +golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= +golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= 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= @@ -1404,8 +1402,8 @@ golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.1.0/go.mod h1:G9FE4dLTsbXUu90h/Pf85g4w1D+SSAgR+q46nJZ8M4A= -golang.org/x/oauth2 v0.18.0 h1:09qnuIAgzdx1XplqJvW6CQqMCtGZykZWcXzPMPUusvI= -golang.org/x/oauth2 v0.18.0/go.mod h1:Wf7knwG0MPoWIMMBgFlEaSUDaKskp0dCfrlJRJXbBi8= +golang.org/x/oauth2 v0.20.0 h1:4mQdhULixXKP1rwYBW0vAijoXnkTG0BLCDRzfe1idMo= +golang.org/x/oauth2 v0.20.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= 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= @@ -1515,16 +1513,16 @@ golang.org/x/sys v0.0.0-20220906165534-d0df966e6959/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= -golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI= +golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= 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/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= -golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= -golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= +golang.org/x/term v0.22.0 h1:BbsgPEJULsl2fV/AT3v15Mjva5yXKQDyKf+TbDz7QJk= +golang.org/x/term v0.22.0/go.mod h1:F3qCibpT5AMpCRfhfT53vVJwhLtIVHhB9XDjfFvnMI4= 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= @@ -1534,7 +1532,6 @@ golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= @@ -1684,8 +1681,6 @@ google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= -google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= google.golang.org/genproto v0.0.0-20170818010345-ee236bd376b0/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= @@ -1805,10 +1800,10 @@ google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz google.golang.org/genproto v0.0.0-20221025140454-527a21cfbd71/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de h1:F6qOa9AZTYJXOUEr4jDysRDLrm4PHePlge4v4TGAlxY= google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:VUhTRKeHn9wwcdrk73nvdC9gF178Tzhmt/qyaFcPLSo= -google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237 h1:RFiFrvy37/mpSpdySBDrUdipW/dHwsRwh3J3+A9VgT4= -google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237/go.mod h1:Z5Iiy3jtmioajWHDGFk7CeugTyHtPvMHA4UTmUkyalE= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 h1:NnYq6UN9ReLM9/Y01KWNOWyI5xQ9kbIms5GGJVwS/Yc= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= +google.golang.org/genproto/googleapis/api v0.0.0-20240701130421-f6361c86f094 h1:0+ozOGcrp+Y8Aq8TLNN2Aliibms5LEzsq99ZZmAGYm0= +google.golang.org/genproto/googleapis/api v0.0.0-20240701130421-f6361c86f094/go.mod h1:fJ/e3If/Q67Mj99hin0hMhiNyCRmt6BQ2aWIJshUSJw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240701130421-f6361c86f094 h1:BwIjyKYGsK9dMCBOorzRri8MQwmi7mT9rGHsCEinZkA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240701130421-f6361c86f094/go.mod h1:Ue6ibwXGpU+dqIcODieyLOcgj7z8+IcskoNIgZxtrFY= google.golang.org/grpc v1.8.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= @@ -1846,8 +1841,8 @@ google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACu google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= -google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY= -google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg= +google.golang.org/grpc v1.65.0 h1:bs/cUb4lp1G5iImFFd3u5ixQzweKizoZJAwBNLR42lc= +google.golang.org/grpc v1.65.0/go.mod h1:WgYC2ypjlB0EiQi6wdKixMqukr6lBc0Vo+oOgjrM5ZQ= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= @@ -1864,8 +1859,8 @@ google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= -google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= +google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/internal/exec/atmos.go b/internal/exec/atmos.go index 63d601b24..477ce4029 100644 --- a/internal/exec/atmos.go +++ b/internal/exec/atmos.go @@ -40,7 +40,7 @@ func ExecuteAtmosCmd() error { } // Get a map of stacks and components in the stacks - stacksMap, err := ExecuteDescribeStacks(cliConfig, "", nil, nil, nil, false) + stacksMap, err := ExecuteDescribeStacks(cliConfig, "", nil, nil, nil, false, true) if err != nil { return err } @@ -103,7 +103,7 @@ func ExecuteAtmosCmd() error { fmt.Println() if selectedCommand == "describe component" { - data, err := ExecuteDescribeComponent(selectedComponent, selectedStack) + data, err := ExecuteDescribeComponent(selectedComponent, selectedStack, true) if err != nil { return err } diff --git a/internal/exec/aws_eks_update_kubeconfig.go b/internal/exec/aws_eks_update_kubeconfig.go index b10a01bd8..9ac2f756c 100644 --- a/internal/exec/aws_eks_update_kubeconfig.go +++ b/internal/exec/aws_eks_update_kubeconfig.go @@ -156,11 +156,11 @@ func ExecuteAwsEksUpdateKubeconfig(kubeconfigContext schema.AwsEksUpdateKubeconf configAndStacksInfo.Stack = kubeconfigContext.Stack configAndStacksInfo.ComponentType = "terraform" - configAndStacksInfo, err = ProcessStacks(cliConfig, configAndStacksInfo, true) + configAndStacksInfo, err = ProcessStacks(cliConfig, configAndStacksInfo, true, true) shellCommandWorkingDir = path.Join(cliConfig.TerraformDirAbsolutePath, configAndStacksInfo.ComponentFolderPrefix, configAndStacksInfo.FinalComponent) if err != nil { configAndStacksInfo.ComponentType = "helmfile" - configAndStacksInfo, err = ProcessStacks(cliConfig, configAndStacksInfo, true) + configAndStacksInfo, err = ProcessStacks(cliConfig, configAndStacksInfo, true, true) shellCommandWorkingDir = path.Join(cliConfig.HelmfileDirAbsolutePath, configAndStacksInfo.ComponentFolderPrefix, configAndStacksInfo.FinalComponent) if err != nil { return err diff --git a/internal/exec/describe_affected_utils.go b/internal/exec/describe_affected_utils.go index 57028f824..3339f68e2 100644 --- a/internal/exec/describe_affected_utils.go +++ b/internal/exec/describe_affected_utils.go @@ -503,7 +503,7 @@ func executeDescribeAffected( u.LogTrace(cliConfig, fmt.Sprintf("Current HEAD: %s", localRepoHead)) u.LogTrace(cliConfig, fmt.Sprintf("BASE: %s", remoteRepoHead)) - currentStacks, err := ExecuteDescribeStacks(cliConfig, "", nil, nil, nil, false) + currentStacks, err := ExecuteDescribeStacks(cliConfig, "", nil, nil, nil, false, true) if err != nil { return nil, nil, nil, err } @@ -539,7 +539,7 @@ func executeDescribeAffected( return nil, nil, nil, err } - remoteStacks, err := ExecuteDescribeStacks(cliConfig, "", nil, nil, nil, true) + remoteStacks, err := ExecuteDescribeStacks(cliConfig, "", nil, nil, nil, true, true) if err != nil { return nil, nil, nil, err } diff --git a/internal/exec/describe_component.go b/internal/exec/describe_component.go index bdfeaa6b9..2fabc2611 100644 --- a/internal/exec/describe_component.go +++ b/internal/exec/describe_component.go @@ -36,9 +36,14 @@ func ExecuteDescribeComponentCmd(cmd *cobra.Command, args []string) error { return err } + processTemplates, err := flags.GetBool("process-templates") + if err != nil { + return err + } + component := args[0] - componentSection, err := ExecuteDescribeComponent(component, stack) + componentSection, err := ExecuteDescribeComponent(component, stack, processTemplates) if err != nil { return err } @@ -52,7 +57,11 @@ func ExecuteDescribeComponentCmd(cmd *cobra.Command, args []string) error { } // ExecuteDescribeComponent describes component config -func ExecuteDescribeComponent(component string, stack string) (map[string]any, error) { +func ExecuteDescribeComponent( + component string, + stack string, + processTemplates bool, +) (map[string]any, error) { var configAndStacksInfo schema.ConfigAndStacksInfo configAndStacksInfo.ComponentFromArg = component configAndStacksInfo.Stack = stack @@ -63,10 +72,10 @@ func ExecuteDescribeComponent(component string, stack string) (map[string]any, e } configAndStacksInfo.ComponentType = "terraform" - configAndStacksInfo, err = ProcessStacks(cliConfig, configAndStacksInfo, true) + configAndStacksInfo, err = ProcessStacks(cliConfig, configAndStacksInfo, true, processTemplates) if err != nil { configAndStacksInfo.ComponentType = "helmfile" - configAndStacksInfo, err = ProcessStacks(cliConfig, configAndStacksInfo, true) + configAndStacksInfo, err = ProcessStacks(cliConfig, configAndStacksInfo, true, processTemplates) if err != nil { return nil, err } diff --git a/internal/exec/describe_dependents.go b/internal/exec/describe_dependents.go index e3792fde5..1da3250fc 100644 --- a/internal/exec/describe_dependents.go +++ b/internal/exec/describe_dependents.go @@ -78,12 +78,12 @@ func ExecuteDescribeDependents( var ok bool // Get all stacks with all components - stacks, err := ExecuteDescribeStacks(cliConfig, "", nil, nil, nil, false) + stacks, err := ExecuteDescribeStacks(cliConfig, "", nil, nil, nil, false, true) if err != nil { return nil, err } - providedComponentSection, err := ExecuteDescribeComponent(component, stack) + providedComponentSection, err := ExecuteDescribeComponent(component, stack, true) if err != nil { return nil, err } diff --git a/internal/exec/describe_stacks.go b/internal/exec/describe_stacks.go index 212443e64..91f84eebf 100644 --- a/internal/exec/describe_stacks.go +++ b/internal/exec/describe_stacks.go @@ -85,7 +85,20 @@ func ExecuteDescribeStacksCmd(cmd *cobra.Command, args []string) error { sections = strings.Split(sectionsCsv, ",") } - finalStacksMap, err := ExecuteDescribeStacks(cliConfig, filterByStack, components, componentTypes, sections, false) + processTemplates, err := flags.GetBool("process-templates") + if err != nil { + return err + } + + finalStacksMap, err := ExecuteDescribeStacks( + cliConfig, + filterByStack, + components, + componentTypes, + sections, + false, + processTemplates, + ) if err != nil { return err } @@ -106,6 +119,7 @@ func ExecuteDescribeStacks( componentTypes []string, sections []string, ignoreMissingFiles bool, + processTemplates bool, ) (map[string]any, error) { stacksMap, _, err := FindStacksMap(cliConfig, ignoreMissingFiles) @@ -269,42 +283,44 @@ func ExecuteDescribeStacks( configAndStacksInfo.ComponentSection["workspace"] = workspace // Process `Go` templates - componentSectionStr, err := u.ConvertToYAML(componentSection) - if err != nil { - return nil, err - } + if processTemplates { + componentSectionStr, err := u.ConvertToYAML(componentSection) + if err != nil { + return nil, err + } - var settingsSectionStruct schema.Settings - err = mapstructure.Decode(settingsSection, &settingsSectionStruct) - if err != nil { - return nil, err - } + var settingsSectionStruct schema.Settings + err = mapstructure.Decode(settingsSection, &settingsSectionStruct) + if err != nil { + return nil, err + } - componentSectionProcessed, err := ProcessTmplWithDatasources( - cliConfig, - settingsSectionStruct, - "describe-stacks-all-sections", - componentSectionStr, - configAndStacksInfo.ComponentSection, - true, - ) - if err != nil { - return nil, err - } + componentSectionProcessed, err := ProcessTmplWithDatasources( + cliConfig, + settingsSectionStruct, + "describe-stacks-all-sections", + componentSectionStr, + configAndStacksInfo.ComponentSection, + true, + ) + if err != nil { + return nil, err + } - componentSectionConverted, err := c.YAMLToMapOfInterfaces(componentSectionProcessed) - if err != nil { - if !cliConfig.Templates.Settings.Enabled { - if strings.Contains(componentSectionStr, "{{") || strings.Contains(componentSectionStr, "}}") { - errorMessage := "the stack manifests contain Go templates, but templating is disabled in atmos.yaml in 'templates.settings.enabled'\n" + - "to enable templating, refer to https://atmos.tools/core-concepts/stacks/templates" - err = errors.Join(err, errors.New(errorMessage)) + componentSectionConverted, err := c.YAMLToMapOfInterfaces(componentSectionProcessed) + if err != nil { + if !cliConfig.Templates.Settings.Enabled { + if strings.Contains(componentSectionStr, "{{") || strings.Contains(componentSectionStr, "}}") { + errorMessage := "the stack manifests contain Go templates, but templating is disabled in atmos.yaml in 'templates.settings.enabled'\n" + + "to enable templating, refer to https://atmos.tools/core-concepts/stacks/templates" + err = errors.Join(err, errors.New(errorMessage)) + } } + u.LogErrorAndExit(err) } - u.LogErrorAndExit(err) - } - componentSection = c.MapsOfInterfacesToMapsOfStrings(componentSectionConverted) + componentSection = c.MapsOfInterfacesToMapsOfStrings(componentSectionConverted) + } // Add sections for sectionName, section := range componentSection { @@ -446,42 +462,44 @@ func ExecuteDescribeStacks( componentSection["atmos_manifest"] = stackFileName // Process `Go` templates - componentSectionStr, err := u.ConvertToYAML(componentSection) - if err != nil { - return nil, err - } + if processTemplates { + componentSectionStr, err := u.ConvertToYAML(componentSection) + if err != nil { + return nil, err + } - var settingsSectionStruct schema.Settings - err = mapstructure.Decode(settingsSection, &settingsSectionStruct) - if err != nil { - return nil, err - } + var settingsSectionStruct schema.Settings + err = mapstructure.Decode(settingsSection, &settingsSectionStruct) + if err != nil { + return nil, err + } - componentSectionProcessed, err := ProcessTmplWithDatasources( - cliConfig, - settingsSectionStruct, - "describe-stacks-all-sections", - componentSectionStr, - configAndStacksInfo.ComponentSection, - true, - ) - if err != nil { - return nil, err - } + componentSectionProcessed, err := ProcessTmplWithDatasources( + cliConfig, + settingsSectionStruct, + "describe-stacks-all-sections", + componentSectionStr, + configAndStacksInfo.ComponentSection, + true, + ) + if err != nil { + return nil, err + } - componentSectionConverted, err := c.YAMLToMapOfInterfaces(componentSectionProcessed) - if err != nil { - if !cliConfig.Templates.Settings.Enabled { - if strings.Contains(componentSectionStr, "{{") || strings.Contains(componentSectionStr, "}}") { - errorMessage := "the stack manifests contain Go templates, but templating is disabled in atmos.yaml in 'templates.settings.enabled'\n" + - "to enable templating, refer to https://atmos.tools/core-concepts/stacks/templates" - err = errors.Join(err, errors.New(errorMessage)) + componentSectionConverted, err := c.YAMLToMapOfInterfaces(componentSectionProcessed) + if err != nil { + if !cliConfig.Templates.Settings.Enabled { + if strings.Contains(componentSectionStr, "{{") || strings.Contains(componentSectionStr, "}}") { + errorMessage := "the stack manifests contain Go templates, but templating is disabled in atmos.yaml in 'templates.settings.enabled'\n" + + "to enable templating, refer to https://atmos.tools/core-concepts/stacks/templates" + err = errors.Join(err, errors.New(errorMessage)) + } } + u.LogErrorAndExit(err) } - u.LogErrorAndExit(err) - } - componentSection = c.MapsOfInterfacesToMapsOfStrings(componentSectionConverted) + componentSection = c.MapsOfInterfacesToMapsOfStrings(componentSectionConverted) + } // Add sections for sectionName, section := range componentSection { diff --git a/internal/exec/helmfile.go b/internal/exec/helmfile.go index 262af2dcf..f06eb422d 100644 --- a/internal/exec/helmfile.go +++ b/internal/exec/helmfile.go @@ -54,7 +54,7 @@ func ExecuteHelmfile(info schema.ConfigAndStacksInfo) error { return nil } - info, err = ProcessStacks(cliConfig, info, true) + info, err = ProcessStacks(cliConfig, info, true, true) if err != nil { return err } diff --git a/internal/exec/helmfile_generate_varfile.go b/internal/exec/helmfile_generate_varfile.go index 9eda1344d..4c3d71c12 100644 --- a/internal/exec/helmfile_generate_varfile.go +++ b/internal/exec/helmfile_generate_varfile.go @@ -38,7 +38,7 @@ func ExecuteHelmfileGenerateVarfileCmd(cmd *cobra.Command, args []string) error return err } - info, err = ProcessStacks(cliConfig, info, true) + info, err = ProcessStacks(cliConfig, info, true, true) if err != nil { return err } diff --git a/internal/exec/template_funcs.go b/internal/exec/template_funcs.go index 585898d13..010156a95 100644 --- a/internal/exec/template_funcs.go +++ b/internal/exec/template_funcs.go @@ -11,12 +11,13 @@ import ( "context" "text/template" + "github.com/cloudposse/atmos/pkg/schema" "github.com/hairyhenderson/gomplate/v3/data" ) // FuncMap creates and returns a map of template functions -func FuncMap(ctx context.Context, gomplateData *data.Data) template.FuncMap { - atmosFuncs := &AtmosFuncs{ctx, gomplateData} +func FuncMap(cliConfig schema.CliConfiguration, ctx context.Context, gomplateData *data.Data) template.FuncMap { + atmosFuncs := &AtmosFuncs{cliConfig, ctx, gomplateData} return map[string]any{ "atmos": func() any { return atmosFuncs }, @@ -24,14 +25,15 @@ func FuncMap(ctx context.Context, gomplateData *data.Data) template.FuncMap { } type AtmosFuncs struct { + cliConfig schema.CliConfiguration ctx context.Context gomplateData *data.Data } -func (AtmosFuncs) Component(component string, stack string) (any, error) { - return componentFunc(component, stack) +func (f AtmosFuncs) Component(component string, stack string) (any, error) { + return componentFunc(f.cliConfig, component, stack) } func (f AtmosFuncs) GomplateDatasource(alias string, args ...string) (any, error) { - return gomplateDatasourceFunc(alias, f.gomplateData, args...) + return gomplateDatasourceFunc(f.cliConfig, alias, f.gomplateData, args...) } diff --git a/internal/exec/template_funcs_component.go b/internal/exec/template_funcs_component.go index b74db1dd1..3938fc5bb 100644 --- a/internal/exec/template_funcs_component.go +++ b/internal/exec/template_funcs_component.go @@ -8,14 +8,17 @@ import ( "github.com/hashicorp/terraform-exec/tfexec" "github.com/samber/lo" - "github.com/cloudposse/atmos/pkg/utils" + "github.com/cloudposse/atmos/pkg/schema" + u "github.com/cloudposse/atmos/pkg/utils" ) var ( componentFuncSyncMap = sync.Map{} ) -func componentFunc(component string, stack string) (any, error) { +func componentFunc(cliConfig schema.CliConfiguration, component string, stack string) (any, error) { + u.LogTrace(cliConfig, fmt.Sprintf("Executing template function atmos.Component(%s, %s)", component, stack)) + stackSlug := fmt.Sprintf("%s-%s", stack, component) // If the result for the component in the stack already exists in the cache, return it @@ -24,7 +27,7 @@ func componentFunc(component string, stack string) (any, error) { return existingSections, nil } - sections, err := ExecuteDescribeComponent(component, stack) + sections, err := ExecuteDescribeComponent(component, stack, true) if err != nil { return nil, err } @@ -80,7 +83,8 @@ func componentFunc(component string, stack string) (any, error) { } outputMetaProcessed := lo.MapEntries(outputMeta, func(k string, v tfexec.OutputMeta) (string, any) { - d, _ := utils.ConvertFromJSON(string(v.Value)) + d, err2 := u.ConvertFromJSON(string(v.Value)) + u.LogError(err2) return k, d }) @@ -93,5 +97,13 @@ func componentFunc(component string, stack string) (any, error) { // Cache the result componentFuncSyncMap.Store(stackSlug, sections) + if cliConfig.Logs.Level == u.LogLevelTrace { + u.LogTrace(cliConfig, fmt.Sprintf("Executed template function atmos.Component(%s, %s)\n'outputs' section:\n", component, stack)) + err2 := u.PrintAsYAML(outputMetaProcessed) + if err2 != nil { + u.LogError(err2) + } + } + return sections, nil } diff --git a/internal/exec/template_funcs_gomplate_datasource.go b/internal/exec/template_funcs_gomplate_datasource.go index 1a79f52a5..ac8c9ba56 100644 --- a/internal/exec/template_funcs_gomplate_datasource.go +++ b/internal/exec/template_funcs_gomplate_datasource.go @@ -1,8 +1,11 @@ package exec import ( + "fmt" + u "github.com/cloudposse/atmos/pkg/utils" "sync" + "github.com/cloudposse/atmos/pkg/schema" "github.com/hairyhenderson/gomplate/v3/data" ) @@ -10,7 +13,9 @@ var ( gomplateDatasourceFuncSyncMap = sync.Map{} ) -func gomplateDatasourceFunc(alias string, gomplateData *data.Data, args ...string) (any, error) { +func gomplateDatasourceFunc(cliConfig schema.CliConfiguration, alias string, gomplateData *data.Data, args ...string) (any, error) { + u.LogTrace(cliConfig, fmt.Sprintf("atmos.GomplateDatasource(): processing datasource alias '%s'", alias)) + // If the result for the alias already exists in the cache, return it existingResult, found := gomplateDatasourceFuncSyncMap.Load(alias) if found && existingResult != nil { @@ -25,5 +30,7 @@ func gomplateDatasourceFunc(alias string, gomplateData *data.Data, args ...strin // Cache the result gomplateDatasourceFuncSyncMap.Store(alias, result) + u.LogTrace(cliConfig, fmt.Sprintf("atmos.GomplateDatasource(): processed datasource alias '%s'.\nResult: '%v'", alias, result)) + return result, nil } diff --git a/internal/exec/template_utils.go b/internal/exec/template_utils.go index 82da86f92..8eaea5b6d 100644 --- a/internal/exec/template_utils.go +++ b/internal/exec/template_utils.go @@ -18,6 +18,7 @@ import ( "github.com/cloudposse/atmos/pkg/convert" "github.com/cloudposse/atmos/pkg/merge" "github.com/cloudposse/atmos/pkg/schema" + u "github.com/cloudposse/atmos/pkg/utils" ) // ProcessTmpl parses and executes Go templates @@ -31,7 +32,7 @@ func ProcessTmpl( ctx := context.TODO() // Add Gomplate, Sprig and Atmos template functions - funcs := lo.Assign(gomplate.CreateFuncs(ctx, &d), sprig.FuncMap(), FuncMap(ctx, &d)) + funcs := lo.Assign(gomplate.CreateFuncs(ctx, &d), sprig.FuncMap(), FuncMap(schema.CliConfiguration{}, ctx, &d)) t, err := template.New(tmplName).Funcs(funcs).Parse(tmplValue) if err != nil { @@ -70,9 +71,12 @@ func ProcessTmplWithDatasources( ignoreMissingTemplateValues bool, ) (string, error) { if !cliConfig.Templates.Settings.Enabled { + u.LogTrace(cliConfig, fmt.Sprintf("ProcessTmplWithDatasources: not processing template '%s' since templating is disabed in 'atmos.yaml'", tmplName)) return tmplValue, nil } + u.LogTrace(cliConfig, fmt.Sprintf("ProcessTmplWithDatasources(): processing template '%s'", tmplName)) + // Merge the template settings from `atmos.yaml` CLI config and from the stack manifests var cliConfigTemplateSettingsMap map[any]any var stackManifestTemplateSettingsMap map[any]any @@ -106,6 +110,8 @@ func ProcessTmplWithDatasources( result := tmplValue for i := 0; i < evaluations; i++ { + u.LogTrace(cliConfig, fmt.Sprintf("ProcessTmplWithDatasources(): template '%s' - evaluation %d", tmplName, i+1)) + d := data.Data{} // Gomplate functions and datasources @@ -140,7 +146,7 @@ func ProcessTmplWithDatasources( } // Atmos functions - funcs = lo.Assign(funcs, FuncMap(context.TODO(), &d)) + funcs = lo.Assign(funcs, FuncMap(cliConfig, context.TODO(), &d)) // Process and add environment variables for k, v := range templateSettings.Env { @@ -224,6 +230,8 @@ func ProcessTmplWithDatasources( } } + u.LogTrace(cliConfig, fmt.Sprintf("ProcessTmplWithDatasources(): processed template '%s'", tmplName)) + return result, nil } diff --git a/internal/exec/terraform.go b/internal/exec/terraform.go index 71aa5afc3..e2931c6cb 100644 --- a/internal/exec/terraform.go +++ b/internal/exec/terraform.go @@ -61,7 +61,7 @@ func ExecuteTerraform(info schema.ConfigAndStacksInfo) error { return nil } - info, err = ProcessStacks(cliConfig, info, true) + info, err = ProcessStacks(cliConfig, info, true, true) if err != nil { return err } diff --git a/internal/exec/terraform_generate_backend.go b/internal/exec/terraform_generate_backend.go index f95933351..eb7d940a4 100644 --- a/internal/exec/terraform_generate_backend.go +++ b/internal/exec/terraform_generate_backend.go @@ -39,7 +39,7 @@ func ExecuteTerraformGenerateBackendCmd(cmd *cobra.Command, args []string) error return err } - info, err = ProcessStacks(cliConfig, info, true) + info, err = ProcessStacks(cliConfig, info, true, true) if err != nil { return err } diff --git a/internal/exec/terraform_generate_varfile.go b/internal/exec/terraform_generate_varfile.go index 561505c0d..e40992012 100644 --- a/internal/exec/terraform_generate_varfile.go +++ b/internal/exec/terraform_generate_varfile.go @@ -38,7 +38,7 @@ func ExecuteTerraformGenerateVarfileCmd(cmd *cobra.Command, args []string) error return err } - info, err = ProcessStacks(cliConfig, info, true) + info, err = ProcessStacks(cliConfig, info, true, true) if err != nil { return err } diff --git a/internal/exec/utils.go b/internal/exec/utils.go index 1f53f1020..8a6a7c617 100644 --- a/internal/exec/utils.go +++ b/internal/exec/utils.go @@ -266,6 +266,7 @@ func ProcessStacks( cliConfig schema.CliConfiguration, configAndStacksInfo schema.ConfigAndStacksInfo, checkStack bool, + processTemplates bool, ) (schema.ConfigAndStacksInfo, error) { // Check if stack was provided @@ -468,80 +469,82 @@ func ProcessStacks( configAndStacksInfo.ComponentSection["workspace"] = workspace // Process `Go` templates in Atmos manifest sections - componentSectionStr, err := u.ConvertToYAML(configAndStacksInfo.ComponentSection) - if err != nil { - return configAndStacksInfo, err - } + if processTemplates { + componentSectionStr, err := u.ConvertToYAML(configAndStacksInfo.ComponentSection) + if err != nil { + return configAndStacksInfo, err + } - var settingsSectionStruct schema.Settings + var settingsSectionStruct schema.Settings - err = mapstructure.Decode(configAndStacksInfo.ComponentSettingsSection, &settingsSectionStruct) - if err != nil { - return configAndStacksInfo, err - } + err = mapstructure.Decode(configAndStacksInfo.ComponentSettingsSection, &settingsSectionStruct) + if err != nil { + return configAndStacksInfo, err + } - componentSectionProcessed, err := ProcessTmplWithDatasources( - cliConfig, - settingsSectionStruct, - "all-atmos-sections", - componentSectionStr, - configAndStacksInfo.ComponentSection, - true, - ) - if err != nil { - // If any error returned from the templates processing, log it and exit - u.LogErrorAndExit(err) - } + componentSectionProcessed, err := ProcessTmplWithDatasources( + cliConfig, + settingsSectionStruct, + "all-atmos-sections", + componentSectionStr, + configAndStacksInfo.ComponentSection, + true, + ) + if err != nil { + // If any error returned from the templates processing, log it and exit + u.LogErrorAndExit(err) + } - componentSectionConverted, err := c.YAMLToMapOfInterfaces(componentSectionProcessed) - if err != nil { - if !cliConfig.Templates.Settings.Enabled { - if strings.Contains(componentSectionStr, "{{") || strings.Contains(componentSectionStr, "}}") { - errorMessage := "the stack manifests contain Go templates, but templating is disabled in atmos.yaml in 'templates.settings.enabled'\n" + - "to enable templating, refer to https://atmos.tools/core-concepts/stacks/templates" - err = errors.Join(err, errors.New(errorMessage)) + componentSectionConverted, err := c.YAMLToMapOfInterfaces(componentSectionProcessed) + if err != nil { + if !cliConfig.Templates.Settings.Enabled { + if strings.Contains(componentSectionStr, "{{") || strings.Contains(componentSectionStr, "}}") { + errorMessage := "the stack manifests contain Go templates, but templating is disabled in atmos.yaml in 'templates.settings.enabled'\n" + + "to enable templating, refer to https://atmos.tools/core-concepts/stacks/templates" + err = errors.Join(err, errors.New(errorMessage)) + } } + u.LogErrorAndExit(err) } - u.LogErrorAndExit(err) - } - configAndStacksInfo.ComponentSection = c.MapsOfInterfacesToMapsOfStrings(componentSectionConverted) + configAndStacksInfo.ComponentSection = c.MapsOfInterfacesToMapsOfStrings(componentSectionConverted) - // Process Atmos manifest sections - if i, ok := configAndStacksInfo.ComponentSection[cfg.ProvidersSectionName].(map[any]any); ok { - configAndStacksInfo.ComponentProvidersSection = i - } + // Process Atmos manifest sections + if i, ok := configAndStacksInfo.ComponentSection[cfg.ProvidersSectionName].(map[any]any); ok { + configAndStacksInfo.ComponentProvidersSection = i + } - if i, ok := configAndStacksInfo.ComponentSection[cfg.VarsSectionName].(map[any]any); ok { - configAndStacksInfo.ComponentVarsSection = i - } + if i, ok := configAndStacksInfo.ComponentSection[cfg.VarsSectionName].(map[any]any); ok { + configAndStacksInfo.ComponentVarsSection = i + } - if i, ok := configAndStacksInfo.ComponentSection[cfg.SettingsSectionName].(map[any]any); ok { - configAndStacksInfo.ComponentSettingsSection = i - } + if i, ok := configAndStacksInfo.ComponentSection[cfg.SettingsSectionName].(map[any]any); ok { + configAndStacksInfo.ComponentSettingsSection = i + } - if i, ok := configAndStacksInfo.ComponentSection[cfg.EnvSectionName].(map[any]any); ok { - configAndStacksInfo.ComponentEnvSection = i - } + if i, ok := configAndStacksInfo.ComponentSection[cfg.EnvSectionName].(map[any]any); ok { + configAndStacksInfo.ComponentEnvSection = i + } - if i, ok := configAndStacksInfo.ComponentSection[cfg.OverridesSectionName].(map[any]any); ok { - configAndStacksInfo.ComponentOverridesSection = i - } + if i, ok := configAndStacksInfo.ComponentSection[cfg.OverridesSectionName].(map[any]any); ok { + configAndStacksInfo.ComponentOverridesSection = i + } - if i, ok := configAndStacksInfo.ComponentSection[cfg.MetadataSectionName].(map[any]any); ok { - configAndStacksInfo.ComponentMetadataSection = i - } + if i, ok := configAndStacksInfo.ComponentSection[cfg.MetadataSectionName].(map[any]any); ok { + configAndStacksInfo.ComponentMetadataSection = i + } - if i, ok := configAndStacksInfo.ComponentSection[cfg.BackendSectionName].(map[any]any); ok { - configAndStacksInfo.ComponentBackendSection = i - } + if i, ok := configAndStacksInfo.ComponentSection[cfg.BackendSectionName].(map[any]any); ok { + configAndStacksInfo.ComponentBackendSection = i + } - if i, ok := configAndStacksInfo.ComponentSection[cfg.BackendTypeSectionName].(string); ok { - configAndStacksInfo.ComponentBackendType = i - } + if i, ok := configAndStacksInfo.ComponentSection[cfg.BackendTypeSectionName].(string); ok { + configAndStacksInfo.ComponentBackendType = i + } - if i, ok := configAndStacksInfo.ComponentSection[cfg.ComponentSectionName].(string); ok { - configAndStacksInfo.Component = i + if i, ok := configAndStacksInfo.ComponentSection[cfg.ComponentSectionName].(string); ok { + configAndStacksInfo.Component = i + } } // Spacelift stack diff --git a/internal/exec/validate_component.go b/internal/exec/validate_component.go index aa9cd9f20..b6e472614 100644 --- a/internal/exec/validate_component.go +++ b/internal/exec/validate_component.go @@ -81,10 +81,10 @@ func ExecuteValidateComponent( configAndStacksInfo.Stack = stack configAndStacksInfo.ComponentType = "terraform" - configAndStacksInfo, err := ProcessStacks(cliConfig, configAndStacksInfo, true) + configAndStacksInfo, err := ProcessStacks(cliConfig, configAndStacksInfo, true, true) if err != nil { configAndStacksInfo.ComponentType = "helmfile" - configAndStacksInfo, err = ProcessStacks(cliConfig, configAndStacksInfo, true) + configAndStacksInfo, err = ProcessStacks(cliConfig, configAndStacksInfo, true, true) if err != nil { return false, err } diff --git a/internal/exec/validate_stacks.go b/internal/exec/validate_stacks.go index 8088bd3ff..06f561255 100644 --- a/internal/exec/validate_stacks.go +++ b/internal/exec/validate_stacks.go @@ -280,7 +280,7 @@ func checkComponentStackMap(componentStackMap map[string]map[string][]string) ([ // If the configs are different, add it to the errors var componentConfigs []map[string]any for _, stackManifestName := range stackManifests { - componentConfig, err := ExecuteDescribeComponent(componentName, stackManifestName) + componentConfig, err := ExecuteDescribeComponent(componentName, stackManifestName, true) if err != nil { return nil, err } diff --git a/pkg/atlantis/atmos.yaml b/pkg/atlantis/atmos.yaml index b166135ba..95ec5e3fe 100644 --- a/pkg/atlantis/atmos.yaml +++ b/pkg/atlantis/atmos.yaml @@ -181,7 +181,7 @@ commands: List all Atmos stacks. steps: - > - atmos describe stacks --sections none | grep -e "^\S" | sed s/://g + atmos describe stacks --process-templates=false --sections none | grep -e "^\S" | sed s/://g - name: components description: | List all Atmos components in all stacks or in a single stack. diff --git a/pkg/aws/atmos.yaml b/pkg/aws/atmos.yaml index 60347ab89..686a935a0 100644 --- a/pkg/aws/atmos.yaml +++ b/pkg/aws/atmos.yaml @@ -181,7 +181,7 @@ commands: List all Atmos stacks. steps: - > - atmos describe stacks --sections none | grep -e "^\S" | sed s/://g + atmos describe stacks --process-templates=false --sections none | grep -e "^\S" | sed s/://g - name: components description: | List all Atmos components in all stacks or in a single stack. diff --git a/pkg/component/atmos.yaml b/pkg/component/atmos.yaml index b166135ba..95ec5e3fe 100644 --- a/pkg/component/atmos.yaml +++ b/pkg/component/atmos.yaml @@ -181,7 +181,7 @@ commands: List all Atmos stacks. steps: - > - atmos describe stacks --sections none | grep -e "^\S" | sed s/://g + atmos describe stacks --process-templates=false --sections none | grep -e "^\S" | sed s/://g - name: components description: | List all Atmos components in all stacks or in a single stack. diff --git a/pkg/component/component_processor.go b/pkg/component/component_processor.go index 766ed2d02..0f154e628 100644 --- a/pkg/component/component_processor.go +++ b/pkg/component/component_processor.go @@ -30,10 +30,10 @@ func ProcessComponentInStack( } configAndStacksInfo.ComponentType = "terraform" - configAndStacksInfo, err = e.ProcessStacks(cliConfig, configAndStacksInfo, true) + configAndStacksInfo, err = e.ProcessStacks(cliConfig, configAndStacksInfo, true, true) if err != nil { configAndStacksInfo.ComponentType = "helmfile" - configAndStacksInfo, err = e.ProcessStacks(cliConfig, configAndStacksInfo, true) + configAndStacksInfo, err = e.ProcessStacks(cliConfig, configAndStacksInfo, true, true) if err != nil { u.LogError(err) return nil, err diff --git a/pkg/describe/atmos.yaml b/pkg/describe/atmos.yaml index b166135ba..95ec5e3fe 100644 --- a/pkg/describe/atmos.yaml +++ b/pkg/describe/atmos.yaml @@ -181,7 +181,7 @@ commands: List all Atmos stacks. steps: - > - atmos describe stacks --sections none | grep -e "^\S" | sed s/://g + atmos describe stacks --process-templates=false --sections none | grep -e "^\S" | sed s/://g - name: components description: | List all Atmos components in all stacks or in a single stack. diff --git a/pkg/describe/describe_component_test.go b/pkg/describe/describe_component_test.go index 8830c0405..0c1eac3f7 100644 --- a/pkg/describe/describe_component_test.go +++ b/pkg/describe/describe_component_test.go @@ -11,7 +11,7 @@ func TestDescribeComponent(t *testing.T) { component := "test/test-component-override-3" stack := "tenant1-ue2-dev" - componentSection, err := e.ExecuteDescribeComponent(component, stack) + componentSection, err := e.ExecuteDescribeComponent(component, stack, true) assert.Nil(t, err) componentSectionYaml, err := yaml.Marshal(componentSection) @@ -20,11 +20,11 @@ func TestDescribeComponent(t *testing.T) { } func TestDescribeTemplatedComponent(t *testing.T) { - componentSection, err := e.ExecuteDescribeComponent("eks-blue/cluster", "tenant1-uw2-test-1") + componentSection, err := e.ExecuteDescribeComponent("eks-blue/cluster", "tenant1-uw2-test-1", true) assert.Nil(t, err) assert.Equal(t, "eks-blue", componentSection["vars"].(map[any]any)["name"]) - componentSection, err = e.ExecuteDescribeComponent("eks-green/cluster", "tenant1-uw2-test-1") + componentSection, err = e.ExecuteDescribeComponent("eks-green/cluster", "tenant1-uw2-test-1", true) assert.Nil(t, err) assert.Equal(t, "eks-green", componentSection["vars"].(map[any]any)["name"]) } @@ -33,7 +33,7 @@ func TestDescribeComponent2(t *testing.T) { component := "derived-component-3" stack := "tenant1-ue2-test-1" - componentSection, err := e.ExecuteDescribeComponent(component, stack) + componentSection, err := e.ExecuteDescribeComponent(component, stack, true) assert.Nil(t, err) componentSectionYaml, err := yaml.Marshal(componentSection) @@ -45,7 +45,7 @@ func TestDescribeComponent3(t *testing.T) { component := "service-iam-role/webservices/prod" stack := "tenant2-ue2-prod" - componentSection, err := e.ExecuteDescribeComponent(component, stack) + componentSection, err := e.ExecuteDescribeComponent(component, stack, true) assert.Nil(t, err) componentSectionYaml, err := yaml.Marshal(componentSection) @@ -57,7 +57,7 @@ func TestDescribeComponent5(t *testing.T) { component := "test/test-component" stack := "tenant1-uw2-dev" - componentSection, err := e.ExecuteDescribeComponent(component, stack) + componentSection, err := e.ExecuteDescribeComponent(component, stack, true) assert.Nil(t, err) componentSectionYaml, err := yaml.Marshal(componentSection) @@ -69,7 +69,7 @@ func TestDescribeComponent6(t *testing.T) { component := "infra/vpc" stack := "tenant1-ue2-dev" - componentSection, err := e.ExecuteDescribeComponent(component, stack) + componentSection, err := e.ExecuteDescribeComponent(component, stack, true) assert.Nil(t, err) componentSectionYaml, err := yaml.Marshal(componentSection) diff --git a/pkg/describe/describe_stacks.go b/pkg/describe/describe_stacks.go index c9daa4e24..e3aabc7b9 100644 --- a/pkg/describe/describe_stacks.go +++ b/pkg/describe/describe_stacks.go @@ -15,5 +15,5 @@ func ExecuteDescribeStacks( ignoreMissingFiles bool, ) (map[string]any, error) { - return e.ExecuteDescribeStacks(cliConfig, filterByStack, components, componentTypes, sections, ignoreMissingFiles) + return e.ExecuteDescribeStacks(cliConfig, filterByStack, components, componentTypes, sections, ignoreMissingFiles, true) } diff --git a/pkg/generate/atmos.yaml b/pkg/generate/atmos.yaml index b166135ba..95ec5e3fe 100644 --- a/pkg/generate/atmos.yaml +++ b/pkg/generate/atmos.yaml @@ -181,7 +181,7 @@ commands: List all Atmos stacks. steps: - > - atmos describe stacks --sections none | grep -e "^\S" | sed s/://g + atmos describe stacks --process-templates=false --sections none | grep -e "^\S" | sed s/://g - name: components description: | List all Atmos components in all stacks or in a single stack. diff --git a/pkg/validate/atmos.yaml b/pkg/validate/atmos.yaml index b166135ba..95ec5e3fe 100644 --- a/pkg/validate/atmos.yaml +++ b/pkg/validate/atmos.yaml @@ -181,7 +181,7 @@ commands: List all Atmos stacks. steps: - > - atmos describe stacks --sections none | grep -e "^\S" | sed s/://g + atmos describe stacks --process-templates=false --sections none | grep -e "^\S" | sed s/://g - name: components description: | List all Atmos components in all stacks or in a single stack. diff --git a/pkg/vender/atmos.yaml b/pkg/vender/atmos.yaml index b166135ba..95ec5e3fe 100644 --- a/pkg/vender/atmos.yaml +++ b/pkg/vender/atmos.yaml @@ -181,7 +181,7 @@ commands: List all Atmos stacks. steps: - > - atmos describe stacks --sections none | grep -e "^\S" | sed s/://g + atmos describe stacks --process-templates=false --sections none | grep -e "^\S" | sed s/://g - name: components description: | List all Atmos components in all stacks or in a single stack. diff --git a/website/docs/cli/commands/describe/describe-component.mdx b/website/docs/cli/commands/describe/describe-component.mdx index 4287a7635..43ef0b3ac 100644 --- a/website/docs/cli/commands/describe/describe-component.mdx +++ b/website/docs/cli/commands/describe/describe-component.mdx @@ -41,6 +41,8 @@ atmos describe component infra/vpc -s tenant1-ue2-dev --file component.yaml atmos describe component echo-server -s tenant1-ue2-staging atmos describe component test/test-component-override -s tenant2-ue2-prod + +atmos describe component vpc -s tenant1-ue2-dev --process-templates=false ``` ## Arguments @@ -51,11 +53,12 @@ atmos describe component test/test-component-override -s tenant2-ue2-prod ## Flags -| Flag | Description | Alias | Required | -|:-----------|:----------------------------------------------------|:------|:---------| -| `--stack` | Atmos stack | `-s` | yes | -| `--format` | Output format: `yaml` or `json` (`yaml` is default) | `-f` | no | -| `--file` | If specified, write the result to the file | | no | +| Flag | Description | Alias | Required | +|:----------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------|:---------| +| `--stack` | Atmos stack | `-s` | yes | +| `--format` | Output format: `yaml` or `json` (`yaml` is default) | `-f` | no | +| `--file` | If specified, write the result to the file | | no | +| `--process-templates` | Enable/disable processing of `Go` templates
in Atmos stacks manifests
when executing the command.
Use the flag to see the component configuration
before and after the templates are processed.
If the flag is not provided, it's set to `true` by default | | no | ## Output diff --git a/website/docs/cli/commands/describe/describe-stacks.mdx b/website/docs/cli/commands/describe/describe-stacks.mdx index 6980def95..23f64478c 100644 --- a/website/docs/cli/commands/describe/describe-stacks.mdx +++ b/website/docs/cli/commands/describe/describe-stacks.mdx @@ -5,7 +5,6 @@ sidebar_class_name: command id: stacks description: Use this command to show the fully deep-merged configuration for all stacks and the components in the stacks. --- -import Terminal from '@site/src/components/Terminal' import Screengrab from '@site/src/components/Screengrab' :::note Purpose @@ -44,6 +43,7 @@ atmos describe stacks --components=echo-server,infra/vpc --sections=vars,setting atmos describe stacks --components=test/test-component-override-3 --sections=vars,settings,component,deps,inheritance --file=stacks.yaml atmos describe stacks --components=test/test-component-override-3 --sections=vars,settings --format=json --file=stacks.json atmos describe stacks --components=test/test-component-override-3 --sections=deps,vars -s=tenant2-ue2-staging +atmos describe stacks --process-templates=false ``` :::tip @@ -52,11 +52,12 @@ Use `jq` to filter the output. ## Flags -| Flag | Description | Alias | Required | -|:--------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------|:---------| -| `--stack` | Filter by a specific stack.
Supports names of the top-level stack manifests (including subfolder paths),
and Atmos stack names (derived from the context vars) | `-s` | no | -| `--file` | If specified, write the result to the file | | no | -| `--format` | Specify the output format: `yaml` or `json` (`yaml` is default) | | no | -| `--components` | Filter by specific Atmos components
(comma-separated string of component names) | | no | -| `--component-types` | Filter by specific component types: `terraform` or `helmfile` | | no | -| `--sections` | Output only the specified component sections.
Available component sections: `backend`, `backend_type`, `deps`, `env`,
`inheritance`, `metadata`, `remote_state_backend`,
`remote_state_backend_type`, `settings`, `vars` | | no | +| Flag | Description | Alias | Required | +|:----------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------|:---------| +| `--stack` | Filter by a specific stack.
Supports names of the top-level stack manifests
(including subfolder paths),
and Atmos stack names (derived from the context vars) | `-s` | no | +| `--file` | If specified, write the result to the file | | no | +| `--format` | Specify the output format: `yaml` or `json` (`yaml` is default) | | no | +| `--components` | Filter by specific Atmos components
(comma-separated string of component names) | | no | +| `--component-types` | Filter by specific component types: `terraform` or `helmfile` | | no | +| `--sections` | Output only the specified component sections.
Available component sections: `backend`, `backend_type`, `deps`, `env`,
`inheritance`, `metadata`, `remote_state_backend`,
`remote_state_backend_type`, `settings`, `vars` | | no | +| `--process-templates` | Enable/disable processing of `Go` templates in Atmos stacks manifests
when executing the command.
Use the flag to see the stack configurations
before and after the templates are processed.
If the flag is not provided, it's set to `true` by default | | no | diff --git a/website/docs/cli/configuration/commands.mdx b/website/docs/cli/configuration/commands.mdx index 98a643701..596bb8a23 100644 --- a/website/docs/cli/configuration/commands.mdx +++ b/website/docs/cli/configuration/commands.mdx @@ -140,7 +140,7 @@ commands: List all Atmos stacks. steps: - > - atmos describe stacks --sections none | grep -e "^\S" | sed s/://g + atmos describe stacks --process-templates=false --sections none | grep -e "^\S" | sed s/://g - name: components description: | List all Atmos components in all stacks or in a single stack. diff --git a/website/docs/core-concepts/components/terraform/brownfield.mdx b/website/docs/core-concepts/components/terraform/brownfield.mdx index be8f8a7ed..c953f1efa 100644 --- a/website/docs/core-concepts/components/terraform/brownfield.mdx +++ b/website/docs/core-concepts/components/terraform/brownfield.mdx @@ -49,7 +49,7 @@ elsewhere. Atmos supports brownfield configuration by using the remote state of type `static`. Suppose that we need to provision -the [`vpc`](https://github.com/cloudposse/atmos/tree/master/examples/quick-start-advanced/components/terraform/vpc) +the [`vpc`](https://github.com/cloudposse/atmos/tree/main/examples/quick-start-advanced/components/terraform/vpc) Terraform component and, instead of provisioning an S3 bucket for VPC Flow Logs, we want to use an existing bucket. The `vpc` Terraform component needs the outputs from the `vpc-flow-logs-bucket` Terraform component to diff --git a/website/docs/core-concepts/components/terraform/remote-state.mdx b/website/docs/core-concepts/components/terraform/remote-state.mdx index 35cd3f28e..ac19a1028 100644 --- a/website/docs/core-concepts/components/terraform/remote-state.mdx +++ b/website/docs/core-concepts/components/terraform/remote-state.mdx @@ -53,8 +53,8 @@ Here is an example. Suppose that we need to provision two Terraform components: -- [vpc-flow-logs-bucket](https://github.com/cloudposse/atmos/tree/master/examples/quick-start-advanced/components/terraform/vpc-flow-logs-bucket) -- [vpc](https://github.com/cloudposse/atmos/tree/master/examples/quick-start-advanced/components/terraform/vpc) +- [vpc-flow-logs-bucket](https://github.com/cloudposse/atmos/tree/main/examples/quick-start-advanced/components/terraform/vpc-flow-logs-bucket) +- [vpc](https://github.com/cloudposse/atmos/tree/main/examples/quick-start-advanced/components/terraform/vpc) The `vpc` Terraform component needs the outputs from the `vpc-flow-logs-bucket` Terraform component to configure [VPC Flow Logs](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) and store them in the S3 bucket. diff --git a/website/docs/core-concepts/components/terraform/terraform.mdx b/website/docs/core-concepts/components/terraform/terraform.mdx index 95bbe03a3..04d43c0a2 100644 --- a/website/docs/core-concepts/components/terraform/terraform.mdx +++ b/website/docs/core-concepts/components/terraform/terraform.mdx @@ -135,7 +135,7 @@ Ultimately, the goal is to make Terraform more scalable, maintainable, and devel :::info Disambiguation - **Terraform Component** is a [Terraform Root Module](https://developer.hashicorp.com/terraform/language/modules#the-root-module) and stored typically in `components/terraform/$name` that consists of the resources defined in the `.tf` files in a working directory - (e.g. [components/terraform/infra/vpc](https://github.com/cloudposse/atmos/tree/master/examples/quick-start-advanced/components/terraform/vpc)) + (e.g. [components/terraform/infra/vpc](https://github.com/cloudposse/atmos/tree/main/examples/quick-start-advanced/components/terraform/vpc)) - **Stack** provides configuration (variables and other settings) for a Terraform Component and is defined in one or more Atmos stack manifests (a.k.a. stack conffig files) diff --git a/website/docs/core-concepts/custom-commands/custom-commands.mdx b/website/docs/core-concepts/custom-commands/custom-commands.mdx index 684a97c74..63425f5ed 100644 --- a/website/docs/core-concepts/custom-commands/custom-commands.mdx +++ b/website/docs/core-concepts/custom-commands/custom-commands.mdx @@ -161,7 +161,7 @@ commands: List all Atmos stacks. steps: - > - atmos describe stacks --sections none | grep -e "^\S" | sed s/://g + atmos describe stacks --process-templates=false --sections none | grep -e "^\S" | sed s/://g - name: components description: | List all Atmos components in all stacks or in a single stack. diff --git a/website/docs/core-concepts/stacks/define-components.mdx b/website/docs/core-concepts/stacks/define-components.mdx index 38bbe62a4..0379e5984 100644 --- a/website/docs/core-concepts/stacks/define-components.mdx +++ b/website/docs/core-concepts/stacks/define-components.mdx @@ -21,7 +21,7 @@ To configure a Component in a [Stack](/core-concepts/stacks), you define the com - **Terraform Component** is a simply a [Terraform Root Module](https://developer.hashicorp.com/terraform/language/modules#the-root-module) that consists of the resources defined in the `.tf` files in a working directory - (e.g. [components/terraform/infra/vpc](https://github.com/cloudposse/atmos/tree/master/examples/tests/components/terraform/infra/vpc)) + (e.g. [components/terraform/infra/vpc](https://github.com/cloudposse/atmos/tree/main/examples/tests/components/terraform/infra/vpc)) - **Component Configuration** provides configuration (variables and other settings) for a type of component (e.g. a Terraform component) and is defined in one or more YAML stack config files (which are called [Atmos stacks](/core-concepts/stacks)) diff --git a/website/docs/core-concepts/stacks/templates/templates.mdx b/website/docs/core-concepts/stacks/templates/templates.mdx index e13ae0778..dbe3bfc81 100644 --- a/website/docs/core-concepts/stacks/templates/templates.mdx +++ b/website/docs/core-concepts/stacks/templates/templates.mdx @@ -639,7 +639,7 @@ components: ``` -### Combining templates from different sections in Atmos stack manifests +## Combining templates from different sections in Atmos stack manifests You can define more than one step/pass of template processing to use and combine the results from each step. diff --git a/website/docs/core-concepts/workflows/workflows.mdx b/website/docs/core-concepts/workflows/workflows.mdx index 72a8b4910..d47509aaa 100644 --- a/website/docs/core-concepts/workflows/workflows.mdx +++ b/website/docs/core-concepts/workflows/workflows.mdx @@ -90,7 +90,7 @@ where: In `atmos.yaml`, we set `workflows.base_path` to `stacks/workflows`. The folder is relative to the root of the repository. -Refer to [networking.yaml](https://github.com/cloudposse/atmos/tree/master/examples/quick-start-advanced/stacks/workflows/networking.yaml) for an example. +Refer to [networking.yaml](https://github.com/cloudposse/atmos/tree/main/examples/quick-start-advanced/stacks/workflows/networking.yaml) for an example. We put the workflow files into the folder. The workflow file names can be anything you want, but we recommend naming them according to the functions they perform, e.g. create separate workflow files per environment, account, team, or service. diff --git a/website/docs/design-patterns/summary.mdx b/website/docs/design-patterns/summary.mdx index 3fbe63c80..06146c1e4 100644 --- a/website/docs/design-patterns/summary.mdx +++ b/website/docs/design-patterns/summary.mdx @@ -18,11 +18,11 @@ Here are some recommendations. ### Quick Start Repository Introduction -This [Quick Start](https://github.com/cloudposse/atmos/tree/master/examples/quick-start-advanced) repository presents an example of an infrastructure managed +This [Quick Start](https://github.com/cloudposse/atmos/tree/main/examples/quick-start-advanced) repository presents an example of an infrastructure managed by Atmos. You can clone it and configure to your own needs. The repository should be a good start to get yourself familiar with Atmos and the Design Patterns. The [Quick Start Guide](/quick-start) describes the steps required to configure and start using the repository. -The [Atmos Quick Start](https://github.com/cloudposse/atmos/tree/master/examples/quick-start-advanced) repository, that is described in +The [Atmos Quick Start](https://github.com/cloudposse/atmos/tree/main/examples/quick-start-advanced) repository, that is described in the [Quick Start](/quick-start) guide, uses the following Atmos Design Patterns: - [Organizational Structure Configuration](/design-patterns/organizational-structure-configuration) diff --git a/website/docs/integrations/atlantis.mdx b/website/docs/integrations/atlantis.mdx index c216e5dba..91d4fac44 100644 --- a/website/docs/integrations/atlantis.mdx +++ b/website/docs/integrations/atlantis.mdx @@ -673,7 +673,7 @@ on: branches: [ main ] env: - ATMOS_VERSION: 1.85.0 + ATMOS_VERSION: 1.86.0 ATMOS_CLI_CONFIG_PATH: ./ jobs: diff --git a/website/docs/integrations/github-actions/setup-atmos.mdx b/website/docs/integrations/github-actions/setup-atmos.mdx index 5912b7dc6..861beba01 100644 --- a/website/docs/integrations/github-actions/setup-atmos.mdx +++ b/website/docs/integrations/github-actions/setup-atmos.mdx @@ -33,6 +33,6 @@ jobs: uses: cloudposse/github-action-setup-atmos with: # Make sure to pin to the latest version of atmos - atmos_version: 1.85.0 + atmos_version: 1.86.0 ``` diff --git a/website/docs/quick-start/advanced/add-custom-commands.mdx b/website/docs/quick-start/advanced/add-custom-commands.mdx index c09dcfc8f..be602864d 100644 --- a/website/docs/quick-start/advanced/add-custom-commands.mdx +++ b/website/docs/quick-start/advanced/add-custom-commands.mdx @@ -29,7 +29,7 @@ commands: List all Atmos stacks. steps: - > - atmos describe stacks --sections none | grep -e "^\S" | sed s/://g + atmos describe stacks --process-templates=false --sections none | grep -e "^\S" | sed s/://g - name: components description: | List all Atmos components in all stacks or in a single stack. diff --git a/website/docs/quick-start/advanced/advanced.mdx b/website/docs/quick-start/advanced/advanced.mdx index 180a13a2f..28b934f1f 100644 --- a/website/docs/quick-start/advanced/advanced.mdx +++ b/website/docs/quick-start/advanced/advanced.mdx @@ -16,7 +16,7 @@ Take 30 minutes to learn the most important Atmos concepts. We recommend startin :::tip This Quick Start guide describes the steps to configure and provision the infrastructure -from this [Quick Start](https://github.com/cloudposse/atmos/tree/master/examples/quick-start-advanced) repository. +from this [Quick Start](https://github.com/cloudposse/atmos/tree/main/examples/quick-start-advanced) repository. You can clone it and configure to your own needs. The repository should be a good start to get yourself familiar with Atmos. diff --git a/website/docs/quick-start/advanced/configure-repository.md b/website/docs/quick-start/advanced/configure-repository.md index 21275738a..680cf7e96 100644 --- a/website/docs/quick-start/advanced/configure-repository.md +++ b/website/docs/quick-start/advanced/configure-repository.md @@ -21,8 +21,8 @@ infrastructure. For example, depending on various requirements (including securi In this Quick Start guide, we will be using a monorepo to provision the following resources into multiple AWS accounts (`dev`, `staging`, `prod`) and regions (`us-east-2` and `us-west-2`): -- [vpc-flow-logs-bucket](https://github.com/cloudposse/atmos/tree/master/examples/quick-start-advanced/components/terraform/vpc-flow-logs-bucket) -- [vpc](https://github.com/cloudposse/atmos/tree/master/examples/quick-start-advanced/components/terraform/vpc) +- [vpc-flow-logs-bucket](https://github.com/cloudposse/atmos/tree/main/examples/quick-start-advanced/components/terraform/vpc-flow-logs-bucket) +- [vpc](https://github.com/cloudposse/atmos/tree/main/examples/quick-start-advanced/components/terraform/vpc) ## Common Directories and Files @@ -154,6 +154,6 @@ layout: :::tip -For a Quick Start example, refer to [Atmos Quick Start](https://github.com/cloudposse/atmos/tree/master/examples/quick-start-advanced) +For a Quick Start example, refer to [Atmos Quick Start](https://github.com/cloudposse/atmos/tree/main/examples/quick-start-advanced) ::: diff --git a/website/docs/quick-start/advanced/configure-validation.mdx b/website/docs/quick-start/advanced/configure-validation.mdx index 6e329d301..6aea7f120 100644 --- a/website/docs/quick-start/advanced/configure-validation.mdx +++ b/website/docs/quick-start/advanced/configure-validation.mdx @@ -10,7 +10,7 @@ using [JSON Schema](https://json-schema.org/) and [OPA Policies](https://www.ope :::tip This Quick Start guide describes the steps to configure and provision the infrastructure -from the [Quick Start](https://github.com/cloudposse/atmos/tree/master/examples/quick-start-advanced) repository. +from the [Quick Start](https://github.com/cloudposse/atmos/tree/main/examples/quick-start-advanced) repository. You can clone the repository and modify to your own needs. The repository will help you understand the validation configurations for Atmos manifests and components. diff --git a/website/docs/quick-start/simple/configure-project.mdx b/website/docs/quick-start/simple/configure-project.mdx index 215318685..8908c41d6 100644 --- a/website/docs/quick-start/simple/configure-project.mdx +++ b/website/docs/quick-start/simple/configure-project.mdx @@ -76,7 +76,7 @@ Atmos requires a few common directories and files, which need to be configured i :::tip -The source code for this Quick Start guide can be found in the [Atmos repo](https://github.com/cloudposse/atmos/tree/master/examples/quick-start-simple) demo repository. (It's similar to the demo you see on the Atmos landing page) +The source code for this Quick Start guide can be found in the [Atmos repo](https://github.com/cloudposse/atmos/tree/main/examples/quick-start-simple) demo repository. (It's similar to the demo you see on the Atmos landing page) You can clone it and tweak it to your own needs. The example should be a good start for getting familiar with Atmos. diff --git a/website/docs/quick-start/simple/simple.mdx b/website/docs/quick-start/simple/simple.mdx index 7ac107051..3ea6ebd5f 100644 --- a/website/docs/quick-start/simple/simple.mdx +++ b/website/docs/quick-start/simple/simple.mdx @@ -32,7 +32,7 @@ You're about to discover [a new way to think about terraform...](/quick-start/mi **Spoiler alert** You can’t actually change the weather with Terraform, but you can certainly ask for it. -We’ll [use this example](https://github.com/cloudposse/atmos/tree/master/examples/demo-stacks) to avoid relying on complicated cloud credentials, which can vary based on your organizational context and cloud provider. Instead, we want to focus on Terraform and how to utilize it effectively as a component within Atmos. Once you understand this, you’ll see how to tailor your Terraform "root modules" to work seamlessly with Atmos. +We’ll [use this example](https://github.com/cloudposse/atmos/tree/main/examples/demo-stacks) to avoid relying on complicated cloud credentials, which can vary based on your organizational context and cloud provider. Instead, we want to focus on Terraform and how to utilize it effectively as a component within Atmos. Once you understand this, you’ll see how to tailor your Terraform "root modules" to work seamlessly with Atmos. __NOTE:__ This tutorial is for those who prefer hands-on learning and want to create something tangible quickly. If you prefer to learn theory and concepts first, start with the [Core Concepts](/core-concepts). diff --git a/website/docs/tutorials/atmos-example-infra.mdx b/website/docs/tutorials/atmos-example-infra.mdx index 074b9c9fd..424f25c81 100644 --- a/website/docs/tutorials/atmos-example-infra.mdx +++ b/website/docs/tutorials/atmos-example-infra.mdx @@ -5,11 +5,11 @@ sidebar_position: 3 description: "Learn about the Example Infrastructure that Atmos shows how to configure and provision" --- -The [example](https://github.com/cloudposse/atmos/tree/master/examples/quick-start-advanced) folder contains a complete solution that shows how to: +The [example](https://github.com/cloudposse/atmos/tree/main/examples/quick-start-advanced) folder contains a complete solution that shows how to: - Structure the Terraform components - Configure the CLI -- Add [stack configurations](https://github.com/cloudposse/atmos/tree/master/examples/quick-start-advanced/stacks) for the Terraform and helmfile components (to +- Add [stack configurations](https://github.com/cloudposse/atmos/tree/main/examples/quick-start-advanced/stacks) for the Terraform and helmfile components (to provision them to different environments and stages) ## Example Filesystem Layout @@ -55,10 +55,10 @@ This example provides a simple filesystem layout that looks like this: Atmos provides separation of configuration and code, allowing you to provision the same code into different regions, environments and stages. In our example, all the code (Terraform and helmfiles) is in -the [components](https://github.com/cloudposse/atmos/tree/master/examples/quick-start-advanced/components) folder. +the [components](https://github.com/cloudposse/atmos/tree/main/examples/quick-start-advanced/components) folder. The centralized stack configurations (variables for the Terraform and helmfile components) are in -the [stacks](https://github.com/cloudposse/atmos/tree/master/examples/quick-start-advanced/stacks) folder. +the [stacks](https://github.com/cloudposse/atmos/tree/main/examples/quick-start-advanced/stacks) folder. In the example, all stack configuration files are broken down by environments and stages and use the predefined format `$environment-$stage.yaml`. @@ -69,13 +69,13 @@ The global values get merged with the `$environment-$stage.yaml` configuration f In the example, we defined a few config files: -- [stacks/orgs/cp/tenant1/dev/us-east-2.yaml](https://github.com/cloudposse/atmos/tree/master/examples/quick-start-advanced/stacks/orgs/cp/tenant1/dev/us-east-2.yaml) +- [stacks/orgs/cp/tenant1/dev/us-east-2.yaml](https://github.com/cloudposse/atmos/tree/main/examples/quick-start-advanced/stacks/orgs/cp/tenant1/dev/us-east-2.yaml) - stack configuration (Terraform and helmfile variables) for the environment `ue2` and stage `dev` -- [stacks/orgs/cp/tenant1/staging/us-east-2.yaml](https://github.com/cloudposse/atmos/tree/master/examples/quick-start-advanced/stacks/orgs/cp/tenant1/staging/us-east-2.yaml) +- [stacks/orgs/cp/tenant1/staging/us-east-2.yaml](https://github.com/cloudposse/atmos/tree/main/examples/quick-start-advanced/stacks/orgs/cp/tenant1/staging/us-east-2.yaml) - stack configuration (Terraform and helmfile variables) for the environment `ue2` and stage `staging` -- [stacks/orgs/cp/tenant1/prod/us-east-2.yaml](https://github.com/cloudposse/atmos/tree/master/examples/quick-start-advanced/stacks/orgs/cp/tenant1/prod/us-east-2.yaml) +- [stacks/orgs/cp/tenant1/prod/us-east-2.yaml](https://github.com/cloudposse/atmos/tree/main/examples/quick-start-advanced/stacks/orgs/cp/tenant1/prod/us-east-2.yaml) - stack configuration (Terraform and helmfile variables) for the environment `ue2` and stage `prod` -- [stacks/orgs/cp/tenant1/dev/global-region.yaml](https://github.com/cloudposse/atmos/tree/master/examples/quick-start-advanced/stacks/ue2-globals.yaml) - global +- [stacks/orgs/cp/tenant1/dev/global-region.yaml](https://github.com/cloudposse/atmos/tree/main/examples/quick-start-advanced/stacks/ue2-globals.yaml) - global settings for the environment `ue2` (e.g. `region`, `environment`) - [stacks/orgs/cp/_defaults.yaml](https://github.com/cloudposse/atmos/blob/master/examples/quick-start-advanced/stacks/orgs/cp/_defaults.yaml) - global settings for the entire solution @@ -132,11 +132,11 @@ The `components` section consists of the following: - `terraform` - defines variables, the binary to execute, and the backend for each Terraform component. Terraform component names correspond to the Terraform components in - the [terraform](https://github.com/cloudposse/atmos/tree/master/examples/quick-start-advanced/components/terraform) folder + the [terraform](https://github.com/cloudposse/atmos/tree/main/examples/quick-start-advanced/components/terraform) folder - `helmfile` - defines variables and the binary to execute for each helmfile component. Helmfile component names correspond to the helmfile components in - the [helmfile](https://github.com/cloudposse/atmos/tree/master/examples/quick-start-advanced/components/helmfile) folder + the [helmfile](https://github.com/cloudposse/atmos/tree/main/examples/quick-start-advanced/components/helmfile) folder ## Run the Example diff --git a/website/docs/tutorials/first-aws-environment.mdx b/website/docs/tutorials/first-aws-environment.mdx index 056be0d17..549c611e5 100644 --- a/website/docs/tutorials/first-aws-environment.mdx +++ b/website/docs/tutorials/first-aws-environment.mdx @@ -29,7 +29,8 @@ Prior to starting this tutorial, you should be sure that you understand [our var ### 1. Clone the Tutorials Repository + Run the `tutorials` Image -As part of this tutorial (and others following in our tutorial series), we will utilize [our tutorials](https://github.com/cloudposse/tutorials) repository](https://github.com/cloudposse/tutorials). This repository includes code and relevant materials for you to use alongside this tutorial walkthrough. +As part of this tutorial (and others following in our tutorial series), we will utilize [our tutorials](https://github.com/cloudposse/tutorials) repository. +This repository includes code and relevant materials for you to use alongside this tutorial walkthrough. Let's clone it to your local machine and `cd` into it: diff --git a/website/package-lock.json b/website/package-lock.json index c51d18d7c..08f99f96e 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -9,16 +9,16 @@ "version": "1.0.0", "license": "Apache-2.0", "dependencies": { - "@docusaurus/core": "^3.4.0", - "@docusaurus/plugin-client-redirects": "^3.4.0", - "@docusaurus/plugin-google-tag-manager": "^3.4.0", - "@docusaurus/preset-classic": "^3.4.0", - "@docusaurus/theme-mermaid": "^3.4.0", + "@docusaurus/core": "^3.5.1", + "@docusaurus/plugin-client-redirects": "^3.5.1", + "@docusaurus/plugin-google-tag-manager": "^3.5.1", + "@docusaurus/preset-classic": "^3.5.1", + "@docusaurus/theme-mermaid": "^3.5.1", "@excalidraw/excalidraw": "^0.17.6", - "@fortawesome/fontawesome-svg-core": "^6.5.2", - "@fortawesome/free-brands-svg-icons": "^6.5.2", - "@fortawesome/free-regular-svg-icons": "^6.5.2", - "@fortawesome/free-solid-svg-icons": "^6.5.2", + "@fortawesome/fontawesome-svg-core": "^6.6.0", + "@fortawesome/free-brands-svg-icons": "^6.6.0", + "@fortawesome/free-regular-svg-icons": "^6.6.0", + "@fortawesome/free-solid-svg-icons": "^6.6.0", "@fortawesome/react-fontawesome": "^0.2.2", "@grnet/docusaurus-terminology": "^2.0.0-rc.1", "@mdx-js/react": "^3.0.1", @@ -26,11 +26,11 @@ "custom-loaders": "file:plugins/custom-loaders", "docusaurus-plugin-image-zoom": "^2.0.0", "docusaurus-plugin-sentry": "^2.0.0", - "html-loader": "^5.0.0", - "marked": "^13.0.0", + "html-loader": "^5.1.0", + "marked": "^14.0.0", "node-fetch": "^3.3.2", - "posthog-docusaurus": "^2.0.0", - "posthog-js": "^1.140.1", + "posthog-docusaurus": "^2.0.1", + "posthog-js": "^1.155.0", "prism-react-renderer": "^2.3.1", "raw-loader": "^4.0.2", "react": "^18.3.1", @@ -45,7 +45,7 @@ "unified": "^11.0.5" }, "devDependencies": { - "@docusaurus/module-type-aliases": "^3.4.0" + "@docusaurus/module-type-aliases": "^3.5.1" }, "engines": { "node": ">=20.10" @@ -55,6 +55,7 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz", "integrity": "sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==", + "license": "MIT", "dependencies": { "@algolia/autocomplete-plugin-algolia-insights": "1.9.3", "@algolia/autocomplete-shared": "1.9.3" @@ -64,6 +65,7 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz", "integrity": "sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==", + "license": "MIT", "dependencies": { "@algolia/autocomplete-shared": "1.9.3" }, @@ -75,6 +77,7 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz", "integrity": "sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==", + "license": "MIT", "dependencies": { "@algolia/autocomplete-shared": "1.9.3" }, @@ -87,147 +90,164 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz", "integrity": "sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==", + "license": "MIT", "peerDependencies": { "@algolia/client-search": ">= 4.9.1 < 6", "algoliasearch": ">= 4.9.1 < 6" } }, "node_modules/@algolia/cache-browser-local-storage": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.23.3.tgz", - "integrity": "sha512-vRHXYCpPlTDE7i6UOy2xE03zHF2C8MEFjPN2v7fRbqVpcOvAUQK81x3Kc21xyb5aSIpYCjWCZbYZuz8Glyzyyg==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.24.0.tgz", + "integrity": "sha512-t63W9BnoXVrGy9iYHBgObNXqYXM3tYXCjDSHeNwnsc324r4o5UiVKUiAB4THQ5z9U5hTj6qUvwg/Ez43ZD85ww==", + "license": "MIT", "dependencies": { - "@algolia/cache-common": "4.23.3" + "@algolia/cache-common": "4.24.0" } }, "node_modules/@algolia/cache-common": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.23.3.tgz", - "integrity": "sha512-h9XcNI6lxYStaw32pHpB1TMm0RuxphF+Ik4o7tcQiodEdpKK+wKufY6QXtba7t3k8eseirEMVB83uFFF3Nu54A==" + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.24.0.tgz", + "integrity": "sha512-emi+v+DmVLpMGhp0V9q9h5CdkURsNmFC+cOS6uK9ndeJm9J4TiqSvPYVu+THUP8P/S08rxf5x2P+p3CfID0Y4g==", + "license": "MIT" }, "node_modules/@algolia/cache-in-memory": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.23.3.tgz", - "integrity": "sha512-yvpbuUXg/+0rbcagxNT7un0eo3czx2Uf0y4eiR4z4SD7SiptwYTpbuS0IHxcLHG3lq22ukx1T6Kjtk/rT+mqNg==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.24.0.tgz", + "integrity": "sha512-gDrt2so19jW26jY3/MkFg5mEypFIPbPoXsQGQWAi6TrCPsNOSEYepBMPlucqWigsmEy/prp5ug2jy/N3PVG/8w==", + "license": "MIT", "dependencies": { - "@algolia/cache-common": "4.23.3" + "@algolia/cache-common": "4.24.0" } }, "node_modules/@algolia/client-account": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.23.3.tgz", - "integrity": "sha512-hpa6S5d7iQmretHHF40QGq6hz0anWEHGlULcTIT9tbUssWUriN9AUXIFQ8Ei4w9azD0hc1rUok9/DeQQobhQMA==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.24.0.tgz", + "integrity": "sha512-adcvyJ3KjPZFDybxlqnf+5KgxJtBjwTPTeyG2aOyoJvx0Y8dUQAEOEVOJ/GBxX0WWNbmaSrhDURMhc+QeevDsA==", + "license": "MIT", "dependencies": { - "@algolia/client-common": "4.23.3", - "@algolia/client-search": "4.23.3", - "@algolia/transporter": "4.23.3" + "@algolia/client-common": "4.24.0", + "@algolia/client-search": "4.24.0", + "@algolia/transporter": "4.24.0" } }, "node_modules/@algolia/client-analytics": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.23.3.tgz", - "integrity": "sha512-LBsEARGS9cj8VkTAVEZphjxTjMVCci+zIIiRhpFun9jGDUlS1XmhCW7CTrnaWeIuCQS/2iPyRqSy1nXPjcBLRA==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.24.0.tgz", + "integrity": "sha512-y8jOZt1OjwWU4N2qr8G4AxXAzaa8DBvyHTWlHzX/7Me1LX8OayfgHexqrsL4vSBcoMmVw2XnVW9MhL+Y2ZDJXg==", + "license": "MIT", "dependencies": { - "@algolia/client-common": "4.23.3", - "@algolia/client-search": "4.23.3", - "@algolia/requester-common": "4.23.3", - "@algolia/transporter": "4.23.3" + "@algolia/client-common": "4.24.0", + "@algolia/client-search": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" } }, "node_modules/@algolia/client-common": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.23.3.tgz", - "integrity": "sha512-l6EiPxdAlg8CYhroqS5ybfIczsGUIAC47slLPOMDeKSVXYG1n0qGiz4RjAHLw2aD0xzh2EXZ7aRguPfz7UKDKw==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz", + "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==", + "license": "MIT", "dependencies": { - "@algolia/requester-common": "4.23.3", - "@algolia/transporter": "4.23.3" + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" } }, "node_modules/@algolia/client-personalization": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.23.3.tgz", - "integrity": "sha512-3E3yF3Ocr1tB/xOZiuC3doHQBQ2zu2MPTYZ0d4lpfWads2WTKG7ZzmGnsHmm63RflvDeLK/UVx7j2b3QuwKQ2g==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.24.0.tgz", + "integrity": "sha512-l5FRFm/yngztweU0HdUzz1rC4yoWCFo3IF+dVIVTfEPg906eZg5BOd1k0K6rZx5JzyyoP4LdmOikfkfGsKVE9w==", + "license": "MIT", "dependencies": { - "@algolia/client-common": "4.23.3", - "@algolia/requester-common": "4.23.3", - "@algolia/transporter": "4.23.3" + "@algolia/client-common": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" } }, "node_modules/@algolia/client-search": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.23.3.tgz", - "integrity": "sha512-P4VAKFHqU0wx9O+q29Q8YVuaowaZ5EM77rxfmGnkHUJggh28useXQdopokgwMeYw2XUht49WX5RcTQ40rZIabw==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz", + "integrity": "sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==", + "license": "MIT", "dependencies": { - "@algolia/client-common": "4.23.3", - "@algolia/requester-common": "4.23.3", - "@algolia/transporter": "4.23.3" + "@algolia/client-common": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" } }, "node_modules/@algolia/events": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@algolia/events/-/events-4.0.1.tgz", - "integrity": "sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==" + "integrity": "sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==", + "license": "MIT" }, "node_modules/@algolia/logger-common": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.23.3.tgz", - "integrity": "sha512-y9kBtmJwiZ9ZZ+1Ek66P0M68mHQzKRxkW5kAAXYN/rdzgDN0d2COsViEFufxJ0pb45K4FRcfC7+33YB4BLrZ+g==" + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.24.0.tgz", + "integrity": "sha512-LLUNjkahj9KtKYrQhFKCzMx0BY3RnNP4FEtO+sBybCjJ73E8jNdaKJ/Dd8A/VA4imVHP5tADZ8pn5B8Ga/wTMA==", + "license": "MIT" }, "node_modules/@algolia/logger-console": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.23.3.tgz", - "integrity": "sha512-8xoiseoWDKuCVnWP8jHthgaeobDLolh00KJAdMe9XPrWPuf1by732jSpgy2BlsLTaT9m32pHI8CRfrOqQzHv3A==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.24.0.tgz", + "integrity": "sha512-X4C8IoHgHfiUROfoRCV+lzSy+LHMgkoEEU1BbKcsfnV0i0S20zyy0NLww9dwVHUWNfPPxdMU+/wKmLGYf96yTg==", + "license": "MIT", "dependencies": { - "@algolia/logger-common": "4.23.3" + "@algolia/logger-common": "4.24.0" } }, "node_modules/@algolia/recommend": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-4.23.3.tgz", - "integrity": "sha512-9fK4nXZF0bFkdcLBRDexsnGzVmu4TSYZqxdpgBW2tEyfuSSY54D4qSRkLmNkrrz4YFvdh2GM1gA8vSsnZPR73w==", - "dependencies": { - "@algolia/cache-browser-local-storage": "4.23.3", - "@algolia/cache-common": "4.23.3", - "@algolia/cache-in-memory": "4.23.3", - "@algolia/client-common": "4.23.3", - "@algolia/client-search": "4.23.3", - "@algolia/logger-common": "4.23.3", - "@algolia/logger-console": "4.23.3", - "@algolia/requester-browser-xhr": "4.23.3", - "@algolia/requester-common": "4.23.3", - "@algolia/requester-node-http": "4.23.3", - "@algolia/transporter": "4.23.3" + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-4.24.0.tgz", + "integrity": "sha512-P9kcgerfVBpfYHDfVZDvvdJv0lEoCvzNlOy2nykyt5bK8TyieYyiD0lguIJdRZZYGre03WIAFf14pgE+V+IBlw==", + "license": "MIT", + "dependencies": { + "@algolia/cache-browser-local-storage": "4.24.0", + "@algolia/cache-common": "4.24.0", + "@algolia/cache-in-memory": "4.24.0", + "@algolia/client-common": "4.24.0", + "@algolia/client-search": "4.24.0", + "@algolia/logger-common": "4.24.0", + "@algolia/logger-console": "4.24.0", + "@algolia/requester-browser-xhr": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/requester-node-http": "4.24.0", + "@algolia/transporter": "4.24.0" } }, "node_modules/@algolia/requester-browser-xhr": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.23.3.tgz", - "integrity": "sha512-jDWGIQ96BhXbmONAQsasIpTYWslyjkiGu0Quydjlowe+ciqySpiDUrJHERIRfELE5+wFc7hc1Q5hqjGoV7yghw==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.24.0.tgz", + "integrity": "sha512-Z2NxZMb6+nVXSjF13YpjYTdvV3032YTBSGm2vnYvYPA6mMxzM3v5rsCiSspndn9rzIW4Qp1lPHBvuoKJV6jnAA==", + "license": "MIT", "dependencies": { - "@algolia/requester-common": "4.23.3" + "@algolia/requester-common": "4.24.0" } }, "node_modules/@algolia/requester-common": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.23.3.tgz", - "integrity": "sha512-xloIdr/bedtYEGcXCiF2muajyvRhwop4cMZo+K2qzNht0CMzlRkm8YsDdj5IaBhshqfgmBb3rTg4sL4/PpvLYw==" + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.24.0.tgz", + "integrity": "sha512-k3CXJ2OVnvgE3HMwcojpvY6d9kgKMPRxs/kVohrwF5WMr2fnqojnycZkxPoEg+bXm8fi5BBfFmOqgYztRtHsQA==", + "license": "MIT" }, "node_modules/@algolia/requester-node-http": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.23.3.tgz", - "integrity": "sha512-zgu++8Uj03IWDEJM3fuNl34s746JnZOWn1Uz5taV1dFyJhVM/kTNw9Ik7YJWiUNHJQXcaD8IXD1eCb0nq/aByA==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.24.0.tgz", + "integrity": "sha512-JF18yTjNOVYvU/L3UosRcvbPMGT9B+/GQWNWnenIImglzNVGpyzChkXLnrSf6uxwVNO6ESGu6oN8MqcGQcjQJw==", + "license": "MIT", "dependencies": { - "@algolia/requester-common": "4.23.3" + "@algolia/requester-common": "4.24.0" } }, "node_modules/@algolia/transporter": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.23.3.tgz", - "integrity": "sha512-Wjl5gttqnf/gQKJA+dafnD0Y6Yw97yvfY8R9h0dQltX1GXTgNs1zWgvtWW0tHl1EgMdhAyw189uWiZMnL3QebQ==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.24.0.tgz", + "integrity": "sha512-86nI7w6NzWxd1Zp9q3413dRshDqAzSbsQjhcDhPIatEFiZrL1/TjnHL8S7jVKFePlIMzDsZWXAXwXzcok9c5oA==", + "license": "MIT", "dependencies": { - "@algolia/cache-common": "4.23.3", - "@algolia/logger-common": "4.23.3", - "@algolia/requester-common": "4.23.3" + "@algolia/cache-common": "4.24.0", + "@algolia/logger-common": "4.24.0", + "@algolia/requester-common": "4.24.0" } }, "node_modules/@ampproject/remapping": { @@ -2136,18 +2156,20 @@ } }, "node_modules/@docsearch/css": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.6.0.tgz", - "integrity": "sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ==" + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.6.1.tgz", + "integrity": "sha512-VtVb5DS+0hRIprU2CO6ZQjK2Zg4QU5HrDM1+ix6rT0umsYvFvatMAnf97NHZlVWDaaLlx7GRfR/7FikANiM2Fg==", + "license": "MIT" }, "node_modules/@docsearch/react": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.6.0.tgz", - "integrity": "sha512-HUFut4ztcVNmqy9gp/wxNbC7pTOHhgVVkHVGCACTuLhUKUhKAF9KYHJtMiLUJxEqiFLQiuri1fWF8zqwM/cu1w==", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.6.1.tgz", + "integrity": "sha512-qXZkEPvybVhSXj0K7U3bXc233tk5e8PfhoZ6MhPOiik/qUQxYC+Dn9DnoS7CxHQQhHfCvTiN0eY9M12oRghEXw==", + "license": "MIT", "dependencies": { "@algolia/autocomplete-core": "1.9.3", "@algolia/autocomplete-preset-algolia": "1.9.3", - "@docsearch/css": "3.6.0", + "@docsearch/css": "3.6.1", "algoliasearch": "^4.19.1" }, "peerDependencies": { @@ -2172,9 +2194,10 @@ } }, "node_modules/@docusaurus/core": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.4.0.tgz", - "integrity": "sha512-g+0wwmN2UJsBqy2fQRQ6fhXruoEa62JDeEa5d8IdTJlMoaDaEDfHh7WjwGRn4opuTQWpjAwP/fbcgyHKlE+64w==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.5.1.tgz", + "integrity": "sha512-N3+9IbGI2jbkiRc6ZbEnU9dC02nHQXi8ivM1VJldkPQyP7WlyHXS+NDhmL3rwaYOMbGH96X2LcKigCKg7pEEqg==", + "license": "MIT", "dependencies": { "@babel/core": "^7.23.3", "@babel/generator": "^7.23.3", @@ -2186,12 +2209,12 @@ "@babel/runtime": "^7.22.6", "@babel/runtime-corejs3": "^7.22.6", "@babel/traverse": "^7.22.8", - "@docusaurus/cssnano-preset": "3.4.0", - "@docusaurus/logger": "3.4.0", - "@docusaurus/mdx-loader": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-common": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", + "@docusaurus/cssnano-preset": "3.5.1", + "@docusaurus/logger": "3.5.1", + "@docusaurus/mdx-loader": "3.5.1", + "@docusaurus/utils": "3.5.1", + "@docusaurus/utils-common": "3.5.1", + "@docusaurus/utils-validation": "3.5.1", "autoprefixer": "^10.4.14", "babel-loader": "^9.1.3", "babel-plugin-dynamic-import-node": "^2.3.3", @@ -2257,9 +2280,10 @@ } }, "node_modules/@docusaurus/cssnano-preset": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.4.0.tgz", - "integrity": "sha512-qwLFSz6v/pZHy/UP32IrprmH5ORce86BGtN0eBtG75PpzQJAzp9gefspox+s8IEOr0oZKuQ/nhzZ3xwyc3jYJQ==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.5.1.tgz", + "integrity": "sha512-mvtWPLWePlm+4doepxMUT5ynsJQ3CgPtDdbaQh9wm3iAE/7OATBpSgLlfz5N+YtxI5bjIErjbkH8yzISP+S65g==", + "license": "MIT", "dependencies": { "cssnano-preset-advanced": "^6.1.2", "postcss": "^8.4.38", @@ -2271,9 +2295,10 @@ } }, "node_modules/@docusaurus/logger": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.4.0.tgz", - "integrity": "sha512-bZwkX+9SJ8lB9kVRkXw+xvHYSMGG4bpYHKGXeXFvyVc79NMeeBSGgzd4TQLHH+DYeOJoCdl8flrFJVxlZ0wo/Q==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.5.1.tgz", + "integrity": "sha512-B36a88CEHCtxIylAV1HNuiiISpoKBqm0UxA6a/JwtHX++Dxb7LNDSGs8ELBlQsZN0OG2tX3tBsCWyaLPwYorkQ==", + "license": "MIT", "dependencies": { "chalk": "^4.1.2", "tslib": "^2.6.0" @@ -2283,13 +2308,14 @@ } }, "node_modules/@docusaurus/mdx-loader": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.4.0.tgz", - "integrity": "sha512-kSSbrrk4nTjf4d+wtBA9H+FGauf2gCax89kV8SUSJu3qaTdSIKdWERlngsiHaCFgZ7laTJ8a67UFf+xlFPtuTw==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.5.1.tgz", + "integrity": "sha512-D6Ea2dt32xhoqH+1EuHLGDVSX2HLFiR4QpI0GTU46qOu2hb2ChpQENIUZ2inOsdGFunNa0fCnDG3qn7Kdbzq1A==", + "license": "MIT", "dependencies": { - "@docusaurus/logger": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", + "@docusaurus/logger": "3.5.1", + "@docusaurus/utils": "3.5.1", + "@docusaurus/utils-validation": "3.5.1", "@mdx-js/mdx": "^3.0.0", "@slorber/remark-comment": "^1.0.0", "escape-html": "^1.0.3", @@ -2321,11 +2347,12 @@ } }, "node_modules/@docusaurus/module-type-aliases": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.4.0.tgz", - "integrity": "sha512-A1AyS8WF5Bkjnb8s+guTDuYmUiwJzNrtchebBHpc0gz0PyHJNMaybUlSrmJjHVcGrya0LKI4YcR3lBDQfXRYLw==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.5.1.tgz", + "integrity": "sha512-SKKdA5RnvZr3pvFXkxtfsBVNgflRGa/bN1HbNi+1s0HNVYPuhB9DFC/CrKe2OoOfUXx7F7k2gg0Jg9gJYDy4rA==", + "license": "MIT", "dependencies": { - "@docusaurus/types": "3.4.0", + "@docusaurus/types": "3.5.1", "@types/history": "^4.7.11", "@types/react": "*", "@types/react-router-config": "*", @@ -2339,15 +2366,16 @@ } }, "node_modules/@docusaurus/plugin-client-redirects": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-client-redirects/-/plugin-client-redirects-3.4.0.tgz", - "integrity": "sha512-Pr8kyh/+OsmYCvdZhc60jy/FnrY6flD2TEAhl4rJxeVFxnvvRgEhoaIVX8q9MuJmaQoh6frPk94pjs7/6YgBDQ==", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/logger": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-common": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-client-redirects/-/plugin-client-redirects-3.5.1.tgz", + "integrity": "sha512-0At2RdS+7gDA25IMQROp4CcKx526jfER7bsna0EdWtPkC+rimSwxcxEHy0A+7xkBuUPh4SZNNuPVJAnYnvggrA==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.5.1", + "@docusaurus/logger": "3.5.1", + "@docusaurus/utils": "3.5.1", + "@docusaurus/utils-common": "3.5.1", + "@docusaurus/utils-validation": "3.5.1", "eta": "^2.2.0", "fs-extra": "^11.1.1", "lodash": "^4.17.21", @@ -2362,18 +2390,20 @@ } }, "node_modules/@docusaurus/plugin-content-blog": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.4.0.tgz", - "integrity": "sha512-vv6ZAj78ibR5Jh7XBUT4ndIjmlAxkijM3Sx5MAAzC1gyv0vupDQNhzuFg1USQmQVj3P5I6bquk12etPV3LJ+Xw==", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/logger": "3.4.0", - "@docusaurus/mdx-loader": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-common": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", - "cheerio": "^1.0.0-rc.12", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.5.1.tgz", + "integrity": "sha512-aPmrMV5cDa2QUZ+kPVJID5O6r+ZuLFtHEyneVl9AgryL/9ECudhtpTUdmdnmapnWfUzSSgqYRZ1JtydGLheSzw==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.5.1", + "@docusaurus/logger": "3.5.1", + "@docusaurus/mdx-loader": "3.5.1", + "@docusaurus/theme-common": "3.5.1", + "@docusaurus/types": "3.5.1", + "@docusaurus/utils": "3.5.1", + "@docusaurus/utils-common": "3.5.1", + "@docusaurus/utils-validation": "3.5.1", + "cheerio": "1.0.0-rc.12", "feed": "^4.2.2", "fs-extra": "^11.1.1", "lodash": "^4.17.21", @@ -2388,23 +2418,26 @@ "node": ">=18.0" }, "peerDependencies": { + "@docusaurus/plugin-content-docs": "*", "react": "^18.0.0", "react-dom": "^18.0.0" } }, "node_modules/@docusaurus/plugin-content-docs": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.4.0.tgz", - "integrity": "sha512-HkUCZffhBo7ocYheD9oZvMcDloRnGhBMOZRyVcAQRFmZPmNqSyISlXA1tQCIxW+r478fty97XXAGjNYzBjpCsg==", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/logger": "3.4.0", - "@docusaurus/mdx-loader": "3.4.0", - "@docusaurus/module-type-aliases": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-common": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.5.1.tgz", + "integrity": "sha512-DX+I3eVyXak9KqYXg8dgptomqz/O4twjydpLJT8ZSe9lsZ0Pa1ZNPwmftWYn160O3o6GGeUYzr13Y1Got3iXRQ==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.5.1", + "@docusaurus/logger": "3.5.1", + "@docusaurus/mdx-loader": "3.5.1", + "@docusaurus/module-type-aliases": "3.5.1", + "@docusaurus/theme-common": "3.5.1", + "@docusaurus/types": "3.5.1", + "@docusaurus/utils": "3.5.1", + "@docusaurus/utils-common": "3.5.1", + "@docusaurus/utils-validation": "3.5.1", "@types/react-router-config": "^5.0.7", "combine-promises": "^1.1.0", "fs-extra": "^11.1.1", @@ -2423,15 +2456,16 @@ } }, "node_modules/@docusaurus/plugin-content-pages": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.4.0.tgz", - "integrity": "sha512-h2+VN/0JjpR8fIkDEAoadNjfR3oLzB+v1qSXbIAKjQ46JAHx3X22n9nqS+BWSQnTnp1AjkjSvZyJMekmcwxzxg==", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/mdx-loader": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.5.1.tgz", + "integrity": "sha512-V2PDVrO2vHYJ7uhrEHpfzg3TTuwfrgNC0pGhM5gXaMfCbdhKm7iwV0huGLcyIX5Peyh7EMP2e8GFccUzWFMYOg==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.5.1", + "@docusaurus/mdx-loader": "3.5.1", + "@docusaurus/types": "3.5.1", + "@docusaurus/utils": "3.5.1", + "@docusaurus/utils-validation": "3.5.1", "fs-extra": "^11.1.1", "tslib": "^2.6.0", "webpack": "^5.88.1" @@ -2445,13 +2479,14 @@ } }, "node_modules/@docusaurus/plugin-debug": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-3.4.0.tgz", - "integrity": "sha512-uV7FDUNXGyDSD3PwUaf5YijX91T5/H9SX4ErEcshzwgzWwBtK37nUWPU3ZLJfeTavX3fycTOqk9TglpOLaWkCg==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-3.5.1.tgz", + "integrity": "sha512-teFZamoECDiELwM1cx5OXd6dBpRtHarc7kWGL1iQozAkYcobZmqOWykBl4joMjSWUbJlx5v9/CVciykWbFNXjA==", + "license": "MIT", "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils": "3.4.0", + "@docusaurus/core": "3.5.1", + "@docusaurus/types": "3.5.1", + "@docusaurus/utils": "3.5.1", "fs-extra": "^11.1.1", "react-json-view-lite": "^1.2.0", "tslib": "^2.6.0" @@ -2465,13 +2500,14 @@ } }, "node_modules/@docusaurus/plugin-google-analytics": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.4.0.tgz", - "integrity": "sha512-mCArluxEGi3cmYHqsgpGGt3IyLCrFBxPsxNZ56Mpur0xSlInnIHoeLDH7FvVVcPJRPSQ9/MfRqLsainRw+BojA==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.5.1.tgz", + "integrity": "sha512-5FUiYZQWPXTPucMzaOOM25R7IwIPvMKbiB0SNVGtxVsGyFyo5i5fzrkBQl4mkZd7uqmslEPzwYbC28ZeFnrxjg==", + "license": "MIT", "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", + "@docusaurus/core": "3.5.1", + "@docusaurus/types": "3.5.1", + "@docusaurus/utils-validation": "3.5.1", "tslib": "^2.6.0" }, "engines": { @@ -2483,13 +2519,14 @@ } }, "node_modules/@docusaurus/plugin-google-gtag": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.4.0.tgz", - "integrity": "sha512-Dsgg6PLAqzZw5wZ4QjUYc8Z2KqJqXxHxq3vIoyoBWiLEEfigIs7wHR+oiWUQy3Zk9MIk6JTYj7tMoQU0Jm3nqA==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.5.1.tgz", + "integrity": "sha512-jxBtLBPMv9BJXPXrwJSs69qYcHP/evT1NkVza2yOai7wi5r3E1tVm0bAxdciWitpM0dgS/HDa30qXE7vA1NRDg==", + "license": "MIT", "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", + "@docusaurus/core": "3.5.1", + "@docusaurus/types": "3.5.1", + "@docusaurus/utils-validation": "3.5.1", "@types/gtag.js": "^0.0.12", "tslib": "^2.6.0" }, @@ -2502,13 +2539,14 @@ } }, "node_modules/@docusaurus/plugin-google-tag-manager": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.4.0.tgz", - "integrity": "sha512-O9tX1BTwxIhgXpOLpFDueYA9DWk69WCbDRrjYoMQtFHSkTyE7RhNgyjSPREUWJb9i+YUg3OrsvrBYRl64FCPCQ==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.5.1.tgz", + "integrity": "sha512-W5WsKoRmb3lDmg2IBfmKsZDlQAkEx/dXuwr4bj7sSQdM8qd829Rsc4Gp5RddUrQdUz/W3Iocn7LayRM5aacJlA==", + "license": "MIT", "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", + "@docusaurus/core": "3.5.1", + "@docusaurus/types": "3.5.1", + "@docusaurus/utils-validation": "3.5.1", "tslib": "^2.6.0" }, "engines": { @@ -2520,16 +2558,17 @@ } }, "node_modules/@docusaurus/plugin-sitemap": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.4.0.tgz", - "integrity": "sha512-+0VDvx9SmNrFNgwPoeoCha+tRoAjopwT0+pYO1xAbyLcewXSemq+eLxEa46Q1/aoOaJQ0qqHELuQM7iS2gp33Q==", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/logger": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-common": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.5.1.tgz", + "integrity": "sha512-VXMGJM6uy4jx6HUsFs+kn8MujWGjN7S7p7PYUYSf1bmcFNlf+Qg5vDZtwBElHa2hapeH2AIj2b3QmTgmWeyOHw==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.5.1", + "@docusaurus/logger": "3.5.1", + "@docusaurus/types": "3.5.1", + "@docusaurus/utils": "3.5.1", + "@docusaurus/utils-common": "3.5.1", + "@docusaurus/utils-validation": "3.5.1", "fs-extra": "^11.1.1", "sitemap": "^7.1.1", "tslib": "^2.6.0" @@ -2543,23 +2582,24 @@ } }, "node_modules/@docusaurus/preset-classic": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.4.0.tgz", - "integrity": "sha512-Ohj6KB7siKqZaQhNJVMBBUzT3Nnp6eTKqO+FXO3qu/n1hJl3YLwVKTWBg28LF7MWrKu46UuYavwMRxud0VyqHg==", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/plugin-content-blog": "3.4.0", - "@docusaurus/plugin-content-docs": "3.4.0", - "@docusaurus/plugin-content-pages": "3.4.0", - "@docusaurus/plugin-debug": "3.4.0", - "@docusaurus/plugin-google-analytics": "3.4.0", - "@docusaurus/plugin-google-gtag": "3.4.0", - "@docusaurus/plugin-google-tag-manager": "3.4.0", - "@docusaurus/plugin-sitemap": "3.4.0", - "@docusaurus/theme-classic": "3.4.0", - "@docusaurus/theme-common": "3.4.0", - "@docusaurus/theme-search-algolia": "3.4.0", - "@docusaurus/types": "3.4.0" + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.5.1.tgz", + "integrity": "sha512-afDMZoNYxdloJ7qJJbd3Lmv9uYXKKsEAOtvnvu2945kqe1LUGIIwOo1nMAKgB9y21E5FEvWKnla0MvkMraumZA==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.5.1", + "@docusaurus/plugin-content-blog": "3.5.1", + "@docusaurus/plugin-content-docs": "3.5.1", + "@docusaurus/plugin-content-pages": "3.5.1", + "@docusaurus/plugin-debug": "3.5.1", + "@docusaurus/plugin-google-analytics": "3.5.1", + "@docusaurus/plugin-google-gtag": "3.5.1", + "@docusaurus/plugin-google-tag-manager": "3.5.1", + "@docusaurus/plugin-sitemap": "3.5.1", + "@docusaurus/theme-classic": "3.5.1", + "@docusaurus/theme-common": "3.5.1", + "@docusaurus/theme-search-algolia": "3.5.1", + "@docusaurus/types": "3.5.1" }, "engines": { "node": ">=18.0" @@ -2570,26 +2610,27 @@ } }, "node_modules/@docusaurus/theme-classic": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.4.0.tgz", - "integrity": "sha512-0IPtmxsBYv2adr1GnZRdMkEQt1YW6tpzrUPj02YxNpvJ5+ju4E13J5tB4nfdaen/tfR1hmpSPlTFPvTf4kwy8Q==", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/mdx-loader": "3.4.0", - "@docusaurus/module-type-aliases": "3.4.0", - "@docusaurus/plugin-content-blog": "3.4.0", - "@docusaurus/plugin-content-docs": "3.4.0", - "@docusaurus/plugin-content-pages": "3.4.0", - "@docusaurus/theme-common": "3.4.0", - "@docusaurus/theme-translations": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-common": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.5.1.tgz", + "integrity": "sha512-k8rLMwHuTc3SqYekc20s1uZHjabt9yi6mt1RUjbkwmjsJlAB6zrtYvsB+ZxrhY5yeUD8DZm3h0qVvKbClHVCCA==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.5.1", + "@docusaurus/mdx-loader": "3.5.1", + "@docusaurus/module-type-aliases": "3.5.1", + "@docusaurus/plugin-content-blog": "3.5.1", + "@docusaurus/plugin-content-docs": "3.5.1", + "@docusaurus/plugin-content-pages": "3.5.1", + "@docusaurus/theme-common": "3.5.1", + "@docusaurus/theme-translations": "3.5.1", + "@docusaurus/types": "3.5.1", + "@docusaurus/utils": "3.5.1", + "@docusaurus/utils-common": "3.5.1", + "@docusaurus/utils-validation": "3.5.1", "@mdx-js/react": "^3.0.0", "clsx": "^2.0.0", "copy-text-to-clipboard": "^3.2.0", - "infima": "0.2.0-alpha.43", + "infima": "0.2.0-alpha.44", "lodash": "^4.17.21", "nprogress": "^0.2.0", "postcss": "^8.4.26", @@ -2609,17 +2650,15 @@ } }, "node_modules/@docusaurus/theme-common": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.4.0.tgz", - "integrity": "sha512-0A27alXuv7ZdCg28oPE8nH/Iz73/IUejVaCazqu9elS4ypjiLhK3KfzdSQBnL/g7YfHSlymZKdiOHEo8fJ0qMA==", - "dependencies": { - "@docusaurus/mdx-loader": "3.4.0", - "@docusaurus/module-type-aliases": "3.4.0", - "@docusaurus/plugin-content-blog": "3.4.0", - "@docusaurus/plugin-content-docs": "3.4.0", - "@docusaurus/plugin-content-pages": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-common": "3.4.0", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.5.1.tgz", + "integrity": "sha512-r34YDzSjggX+B+8W+mG2dVh1ps4JJRCiyq8E1LnZIKLU6F89I2KpAZpPQ2/njKsKhBRLtQ1x92HVkD0FZ3xjrg==", + "license": "MIT", + "dependencies": { + "@docusaurus/mdx-loader": "3.5.1", + "@docusaurus/module-type-aliases": "3.5.1", + "@docusaurus/utils": "3.5.1", + "@docusaurus/utils-common": "3.5.1", "@types/history": "^4.7.11", "@types/react": "*", "@types/react-router-config": "*", @@ -2633,20 +2672,22 @@ "node": ">=18.0" }, "peerDependencies": { + "@docusaurus/plugin-content-docs": "*", "react": "^18.0.0", "react-dom": "^18.0.0" } }, "node_modules/@docusaurus/theme-mermaid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-mermaid/-/theme-mermaid-3.4.0.tgz", - "integrity": "sha512-3w5QW0HEZ2O6x2w6lU3ZvOe1gNXP2HIoKDMJBil1VmLBc9PmpAG17VmfhI/p3L2etNmOiVs5GgniUqvn8AFEGQ==", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/module-type-aliases": "3.4.0", - "@docusaurus/theme-common": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-mermaid/-/theme-mermaid-3.5.1.tgz", + "integrity": "sha512-yCYNMuRVcAUsn2Nods+SjYWsifAO76JXgsMHzb6ZFaVNfvXBWxX77ZdotsLAsA43apnPC4BMQ31Ux41dT155vg==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.5.1", + "@docusaurus/module-type-aliases": "3.5.1", + "@docusaurus/theme-common": "3.5.1", + "@docusaurus/types": "3.5.1", + "@docusaurus/utils-validation": "3.5.1", "mermaid": "^10.4.0", "tslib": "^2.6.0" }, @@ -2659,18 +2700,19 @@ } }, "node_modules/@docusaurus/theme-search-algolia": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.4.0.tgz", - "integrity": "sha512-aiHFx7OCw4Wck1z6IoShVdUWIjntC8FHCw9c5dR8r3q4Ynh+zkS8y2eFFunN/DL6RXPzpnvKCg3vhLQYJDmT9Q==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.5.1.tgz", + "integrity": "sha512-IcUbgh9YcedANhpa0Q3+67WUKY8G7YkN/pZxVBEFjq3d2bniRKktPv41Nh/+AtGLSNJIcspZwEAs/r/mKSZGug==", + "license": "MIT", "dependencies": { "@docsearch/react": "^3.5.2", - "@docusaurus/core": "3.4.0", - "@docusaurus/logger": "3.4.0", - "@docusaurus/plugin-content-docs": "3.4.0", - "@docusaurus/theme-common": "3.4.0", - "@docusaurus/theme-translations": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", + "@docusaurus/core": "3.5.1", + "@docusaurus/logger": "3.5.1", + "@docusaurus/plugin-content-docs": "3.5.1", + "@docusaurus/theme-common": "3.5.1", + "@docusaurus/theme-translations": "3.5.1", + "@docusaurus/utils": "3.5.1", + "@docusaurus/utils-validation": "3.5.1", "algoliasearch": "^4.18.0", "algoliasearch-helper": "^3.13.3", "clsx": "^2.0.0", @@ -2689,9 +2731,10 @@ } }, "node_modules/@docusaurus/theme-translations": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.4.0.tgz", - "integrity": "sha512-zSxCSpmQCCdQU5Q4CnX/ID8CSUUI3fvmq4hU/GNP/XoAWtXo9SAVnM3TzpU8Gb//H3WCsT8mJcTfyOk3d9ftNg==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.5.1.tgz", + "integrity": "sha512-fyzQOWrTm0+ZpTlS0/xHsIK4f+LA4qVFrq8rCzIHjxZRip/noYUOwF64lA95vcuw6qnOVBoNE/LyfbBvExnpcw==", + "license": "MIT", "dependencies": { "fs-extra": "^11.1.1", "tslib": "^2.6.0" @@ -2701,9 +2744,10 @@ } }, "node_modules/@docusaurus/types": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.4.0.tgz", - "integrity": "sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.5.1.tgz", + "integrity": "sha512-IXTGQBoXAGFliGF5Cn3F+gSGskgzAL8+4y6dDY1gcePA0r8WngHj8oovS1YPv+b9JOff32nv8YGGZITHOMXJsA==", + "license": "MIT", "dependencies": { "@mdx-js/mdx": "^3.0.0", "@types/history": "^4.7.11", @@ -2721,12 +2765,13 @@ } }, "node_modules/@docusaurus/utils": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.4.0.tgz", - "integrity": "sha512-fRwnu3L3nnWaXOgs88BVBmG1yGjcQqZNHG+vInhEa2Sz2oQB+ZjbEMO5Rh9ePFpZ0YDiDUhpaVjwmS+AU2F14g==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.5.1.tgz", + "integrity": "sha512-/4QAvXyiQviz2FQ4ct5l1ckvDihIdjS8FsOExC0T+Y1UD38jgPbjTwRJXsDaRsDRCCrDAtXvlonxXw2kixcnXw==", + "license": "MIT", "dependencies": { - "@docusaurus/logger": "3.4.0", - "@docusaurus/utils-common": "3.4.0", + "@docusaurus/logger": "3.5.1", + "@docusaurus/utils-common": "3.5.1", "@svgr/webpack": "^8.1.0", "escape-string-regexp": "^4.0.0", "file-loader": "^6.2.0", @@ -2759,9 +2804,10 @@ } }, "node_modules/@docusaurus/utils-common": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.4.0.tgz", - "integrity": "sha512-NVx54Wr4rCEKsjOH5QEVvxIqVvm+9kh7q8aYTU5WzUU9/Hctd6aTrcZ3G0Id4zYJ+AeaG5K5qHA4CY5Kcm2iyQ==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.5.1.tgz", + "integrity": "sha512-374n6/IW34gHR65JMMN33XLFogTCsrGVPQDVbv2vG96EYHvYzE/plfcGV7xSbXB8yS1YHsxVfvNgVUGi973bfQ==", + "license": "MIT", "dependencies": { "tslib": "^2.6.0" }, @@ -2778,13 +2824,14 @@ } }, "node_modules/@docusaurus/utils-validation": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.4.0.tgz", - "integrity": "sha512-hYQ9fM+AXYVTWxJOT1EuNaRnrR2WGpRdLDQG07O8UOpsvCPWUVOeo26Rbm0JWY2sGLfzAb+tvJ62yF+8F+TV0g==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.5.1.tgz", + "integrity": "sha512-LZdQnqVVLStgTCn0rfvf4wuOQkjPbGtLXJIQ449em1wJeSFO7lfmn5VGUNLt+xKHvIPfN272EHG8BuvijCI0+A==", + "license": "MIT", "dependencies": { - "@docusaurus/logger": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-common": "3.4.0", + "@docusaurus/logger": "3.5.1", + "@docusaurus/utils": "3.5.1", + "@docusaurus/utils-common": "3.5.1", "fs-extra": "^11.2.0", "joi": "^17.9.2", "js-yaml": "^4.1.0", @@ -2805,57 +2852,57 @@ } }, "node_modules/@fortawesome/fontawesome-common-types": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.5.2.tgz", - "integrity": "sha512-gBxPg3aVO6J0kpfHNILc+NMhXnqHumFxOmjYCFfOiLZfwhnnfhtsdA2hfJlDnj+8PjAs6kKQPenOTKj3Rf7zHw==", - "hasInstallScript": true, + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.6.0.tgz", + "integrity": "sha512-xyX0X9mc0kyz9plIyryrRbl7ngsA9jz77mCZJsUkLl+ZKs0KWObgaEBoSgQiYWAsSmjz/yjl0F++Got0Mdp4Rw==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/@fortawesome/fontawesome-svg-core": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.5.2.tgz", - "integrity": "sha512-5CdaCBGl8Rh9ohNdxeeTMxIj8oc3KNBgIeLMvJosBMdslK/UnEB8rzyDRrbKdL1kDweqBPo4GT9wvnakHWucZw==", - "hasInstallScript": true, + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.6.0.tgz", + "integrity": "sha512-KHwPkCk6oRT4HADE7smhfsKudt9N/9lm6EJ5BVg0tD1yPA5hht837fB87F8pn15D8JfTqQOjhKTktwmLMiD7Kg==", + "license": "MIT", "dependencies": { - "@fortawesome/fontawesome-common-types": "6.5.2" + "@fortawesome/fontawesome-common-types": "6.6.0" }, "engines": { "node": ">=6" } }, "node_modules/@fortawesome/free-brands-svg-icons": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.5.2.tgz", - "integrity": "sha512-zi5FNYdmKLnEc0jc0uuHH17kz/hfYTg4Uei0wMGzcoCL/4d3WM3u1VMc0iGGa31HuhV5i7ZK8ZlTCQrHqRHSGQ==", - "hasInstallScript": true, + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.6.0.tgz", + "integrity": "sha512-1MPD8lMNW/earme4OQi1IFHtmHUwAKgghXlNwWi9GO7QkTfD+IIaYpIai4m2YJEzqfEji3jFHX1DZI5pbY/biQ==", + "license": "(CC-BY-4.0 AND MIT)", "dependencies": { - "@fortawesome/fontawesome-common-types": "6.5.2" + "@fortawesome/fontawesome-common-types": "6.6.0" }, "engines": { "node": ">=6" } }, "node_modules/@fortawesome/free-regular-svg-icons": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.5.2.tgz", - "integrity": "sha512-iabw/f5f8Uy2nTRtJ13XZTS1O5+t+anvlamJ3zJGLEVE2pKsAWhPv2lq01uQlfgCX7VaveT3EVs515cCN9jRbw==", - "hasInstallScript": true, + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.6.0.tgz", + "integrity": "sha512-Yv9hDzL4aI73BEwSEh20clrY8q/uLxawaQ98lekBx6t9dQKDHcDzzV1p2YtBGTtolYtNqcWdniOnhzB+JPnQEQ==", + "license": "(CC-BY-4.0 AND MIT)", "dependencies": { - "@fortawesome/fontawesome-common-types": "6.5.2" + "@fortawesome/fontawesome-common-types": "6.6.0" }, "engines": { "node": ">=6" } }, "node_modules/@fortawesome/free-solid-svg-icons": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.5.2.tgz", - "integrity": "sha512-QWFZYXFE7O1Gr1dTIp+D6UcFUF0qElOnZptpi7PBUMylJh+vFmIedVe1Ir6RM1t2tEQLLSV1k7bR4o92M+uqlw==", - "hasInstallScript": true, + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.6.0.tgz", + "integrity": "sha512-IYv/2skhEDFc2WGUcqvFJkeK39Q+HyPf5GHUrT/l2pKbtgEIv1al1TKd6qStR5OIwQdN1GZP54ci3y4mroJWjA==", + "license": "(CC-BY-4.0 AND MIT)", "dependencies": { - "@fortawesome/fontawesome-common-types": "6.5.2" + "@fortawesome/fontawesome-common-types": "6.6.0" }, "engines": { "node": ">=6" @@ -3888,7 +3935,8 @@ "node_modules/@types/gtag.js": { "version": "0.0.12", "resolved": "https://registry.npmjs.org/@types/gtag.js/-/gtag.js-0.0.12.tgz", - "integrity": "sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg==" + "integrity": "sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg==", + "license": "MIT" }, "node_modules/@types/hast": { "version": "3.0.4", @@ -4063,6 +4111,7 @@ "version": "1.2.7", "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -4411,31 +4460,33 @@ } }, "node_modules/algoliasearch": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.23.3.tgz", - "integrity": "sha512-Le/3YgNvjW9zxIQMRhUHuhiUjAlKY/zsdZpfq4dlLqg6mEm0nL6yk+7f2hDOtLpxsgE4jSzDmvHL7nXdBp5feg==", - "dependencies": { - "@algolia/cache-browser-local-storage": "4.23.3", - "@algolia/cache-common": "4.23.3", - "@algolia/cache-in-memory": "4.23.3", - "@algolia/client-account": "4.23.3", - "@algolia/client-analytics": "4.23.3", - "@algolia/client-common": "4.23.3", - "@algolia/client-personalization": "4.23.3", - "@algolia/client-search": "4.23.3", - "@algolia/logger-common": "4.23.3", - "@algolia/logger-console": "4.23.3", - "@algolia/recommend": "4.23.3", - "@algolia/requester-browser-xhr": "4.23.3", - "@algolia/requester-common": "4.23.3", - "@algolia/requester-node-http": "4.23.3", - "@algolia/transporter": "4.23.3" + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.24.0.tgz", + "integrity": "sha512-bf0QV/9jVejssFBmz2HQLxUadxk574t4iwjCKp5E7NBzwKkrDEhKPISIIjAU/p6K5qDx3qoeh4+26zWN1jmw3g==", + "license": "MIT", + "dependencies": { + "@algolia/cache-browser-local-storage": "4.24.0", + "@algolia/cache-common": "4.24.0", + "@algolia/cache-in-memory": "4.24.0", + "@algolia/client-account": "4.24.0", + "@algolia/client-analytics": "4.24.0", + "@algolia/client-common": "4.24.0", + "@algolia/client-personalization": "4.24.0", + "@algolia/client-search": "4.24.0", + "@algolia/logger-common": "4.24.0", + "@algolia/logger-console": "4.24.0", + "@algolia/recommend": "4.24.0", + "@algolia/requester-browser-xhr": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/requester-node-http": "4.24.0", + "@algolia/transporter": "4.24.0" } }, "node_modules/algoliasearch-helper": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.21.0.tgz", - "integrity": "sha512-hjVOrL15I3Y3K8xG0icwG1/tWE+MocqBrhW6uVBWpU+/kVEMK0BnM2xdssj6mZM61eJ4iRxHR0djEI3ENOpR8w==", + "version": "3.22.3", + "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.22.3.tgz", + "integrity": "sha512-2eoEz8mG4KHE+DzfrBTrCmDPxVXv7aZZWPojAJFtARpxxMO6lkos1dJ+XDCXdPvq7q3tpYWRi6xXmVQikejtpA==", + "license": "MIT", "dependencies": { "@algolia/events": "^4.0.1" }, @@ -4517,7 +4568,8 @@ "node_modules/arg": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "license": "MIT" }, "node_modules/argparse": { "version": "2.0.1", @@ -4554,9 +4606,9 @@ } }, "node_modules/autoprefixer": { - "version": "10.4.19", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", - "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", + "version": "10.4.20", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", + "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", "funding": [ { "type": "opencollective", @@ -4571,12 +4623,13 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "browserslist": "^4.23.0", - "caniuse-lite": "^1.0.30001599", + "browserslist": "^4.23.3", + "caniuse-lite": "^1.0.30001646", "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", + "picocolors": "^1.0.1", "postcss-value-parser": "^4.2.0" }, "bin": { @@ -4851,9 +4904,9 @@ } }, "node_modules/browserslist": { - "version": "4.23.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.1.tgz", - "integrity": "sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==", + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", "funding": [ { "type": "opencollective", @@ -4868,11 +4921,12 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001629", - "electron-to-chromium": "^1.4.796", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.16" + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" }, "bin": { "browserslist": "cli.js" @@ -4977,9 +5031,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001634", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001634.tgz", - "integrity": "sha512-fbBYXQ9q3+yp1q1gBk86tOFs4pyn/yxFm5ZNP18OXJDfA3txImOY9PhfxVggZ4vRHDqoU8NrKU81eN0OtzOgRA==", + "version": "1.0.30001651", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001651.tgz", + "integrity": "sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==", "funding": [ { "type": "opencollective", @@ -4993,7 +5047,8 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, "node_modules/ccount": { "version": "2.0.1", @@ -5770,6 +5825,7 @@ "version": "6.1.2", "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-6.1.2.tgz", "integrity": "sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ==", + "license": "MIT", "dependencies": { "autoprefixer": "^10.4.19", "browserslist": "^4.23.0", @@ -6753,9 +6809,10 @@ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "node_modules/electron-to-chromium": { - "version": "1.4.803", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.803.tgz", - "integrity": "sha512-61H9mLzGOCLLVsnLiRzCbc63uldP0AniRYPV3hbGVtONA1pI7qSGILdbofR7A8TMbOypDocEAjH/e+9k1QIe3g==" + "version": "1.5.6", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.6.tgz", + "integrity": "sha512-jwXWsM5RPf6j9dPYzaorcBSUg6AiqocPEyMpkchkvntaH9HGfOOMZwxMJjDY/XEs3T5dM7uyH1VhRMkqUU9qVw==", + "license": "ISC" }, "node_modules/elkjs": { "version": "0.9.3", @@ -7605,6 +7662,7 @@ "version": "4.3.7", "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "license": "MIT", "engines": { "node": "*" }, @@ -8305,9 +8363,10 @@ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" }, "node_modules/html-loader": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/html-loader/-/html-loader-5.0.0.tgz", - "integrity": "sha512-puaGKdjdVVIFRtgIC2n5dt5bt0N5j6heXlAQZ4Do1MLjHmOT1gCE1Ogg7XZNeJlnOVHHsrZKGs5dfh+XwZ3XPw==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/html-loader/-/html-loader-5.1.0.tgz", + "integrity": "sha512-Jb3xwDbsm0W3qlXrCZwcYqYGnYz55hb6aoKQTlzyZPXsPpi6tHXzAfqalecglMQgNvtEfxrCQPaKT90Irt5XDA==", + "license": "MIT", "dependencies": { "html-minifier-terser": "^7.2.0", "parse5": "^7.1.2" @@ -8638,9 +8697,10 @@ } }, "node_modules/infima": { - "version": "0.2.0-alpha.43", - "resolved": "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.43.tgz", - "integrity": "sha512-2uw57LvUqW0rK/SWYnd/2rRfxNA5DDNOh33jxF7fy46VWoNhGxiUQyVZHbBMjQ33mQem0cjdDVwgWVAmlRfgyQ==", + "version": "0.2.0-alpha.44", + "resolved": "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.44.tgz", + "integrity": "sha512-tuRkUSO/lB3rEhLJk25atwAjgLuzq070+pOW8XcvpHky/YbENnRRdPd85IBkyeTgttmOy5ah+yHYsK1HhUd4lQ==", + "license": "MIT", "engines": { "node": ">=12" } @@ -9373,9 +9433,9 @@ } }, "node_modules/marked": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-13.0.0.tgz", - "integrity": "sha512-VTeDCd9txf4KLLljUZ0nljE/Incb9SrWuueE44QVuU0pkOdh4sfCeW1Z6lPcxyDRSVY6rm8db/0OPaN75RNUmw==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-14.0.0.tgz", + "integrity": "sha512-uIj4+faQ+MgHgwUW1l2PsPglZLOLOT1uErt06dAPtx2kjteLAkbsd/0FiYg/MGS+i7ZKLb7w2WClxHkzOOuryQ==", "license": "MIT", "bin": { "marked": "bin/marked.js" @@ -12240,9 +12300,10 @@ } }, "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "license": "MIT" }, "node_modules/non-layered-tidy-tree-layout": { "version": "2.0.2", @@ -12261,6 +12322,7 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -12593,7 +12655,8 @@ "node_modules/parse-numeric-range": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz", - "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==" + "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==", + "license": "ISC" }, "node_modules/parse5": { "version": "7.1.2", @@ -12933,6 +12996,7 @@ "version": "6.0.5", "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-6.0.5.tgz", "integrity": "sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA==", + "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.0.16" }, @@ -13007,6 +13071,7 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-6.0.3.tgz", "integrity": "sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g==", + "license": "MIT", "dependencies": { "cssnano-utils": "^4.0.2", "postcss-value-parser": "^4.2.0" @@ -13308,6 +13373,7 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-6.0.3.tgz", "integrity": "sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -13363,6 +13429,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-5.2.0.tgz", "integrity": "sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA==", + "license": "MIT", "dependencies": { "sort-css-media-queries": "2.2.0" }, @@ -13411,6 +13478,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-6.0.2.tgz", "integrity": "sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg==", + "license": "MIT", "engines": { "node": "^14 || ^16 || >=18.0" }, @@ -13429,20 +13497,23 @@ } }, "node_modules/posthog-docusaurus": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/posthog-docusaurus/-/posthog-docusaurus-2.0.0.tgz", - "integrity": "sha512-nDSTIhmH/Fexv347Gx6wBCE97Z+fZTj0p/gqVYAaolMwSdVuzwyFWcFA+aW9uzA5Y5hjzRwwKJJOrIv8smkYkA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/posthog-docusaurus/-/posthog-docusaurus-2.0.1.tgz", + "integrity": "sha512-MnZvqxvaEt48sUHdz2pvZLKBd8KCXGESq98vTpTSm8uVxtAM3ljc2orZdDErSAKp+WozVEDlQnXTCZ1wzswSYw==", + "license": "MIT", "engines": { "node": ">=10.15.1" } }, "node_modules/posthog-js": { - "version": "1.140.1", - "resolved": "https://registry.npmjs.org/posthog-js/-/posthog-js-1.140.1.tgz", - "integrity": "sha512-UeKuAtQSvbzmTCzNVaauku8F194EYwAP33WrRrWZlDlMNbMy7GKcZOgKbr7jZqnha7FlVlHrWk+Rpyr1zCFhPQ==", + "version": "1.155.0", + "resolved": "https://registry.npmjs.org/posthog-js/-/posthog-js-1.155.0.tgz", + "integrity": "sha512-gxi72Qcp7Vnq6efe5gNxsq84zyEFd33NUmoLSgcbMPhxU30qgc89Aw/N2mRB4mGrD3Mq0rCnDJUzGFdN59nR0g==", + "license": "MIT", "dependencies": { "fflate": "^0.4.8", - "preact": "^10.19.3" + "preact": "^10.19.3", + "web-vitals": "^4.0.1" } }, "node_modules/preact": { @@ -14097,6 +14168,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/react-json-view-lite/-/react-json-view-lite-1.4.0.tgz", "integrity": "sha512-wh6F6uJyYAmQ4fK0e8dSQMEWuvTs2Wr3el3sLD9bambX1+pSWUVXIz1RFaoy3TI1mZ0FqdpKq9YgbgTTgyrmXA==", + "license": "MIT", "engines": { "node": ">=14" }, @@ -15314,9 +15386,10 @@ "integrity": "sha512-qGVDoreyYiP1pkQnbnFAUIS5AjenNwwQBdl7zeos9etl+hYKWahjRTfzAZZYBv5xNHx7vNKCmaLDQZ6Fr2AEXg==" }, "node_modules/search-insights": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.14.0.tgz", - "integrity": "sha512-OLN6MsPMCghDOqlCtsIsYgtsC0pnwVTyT9Mu6A3ewOj1DxvzZF6COrn2g86E/c05xbktB0XN04m/t1Z+n+fTGw==", + "version": "2.16.2", + "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.16.2.tgz", + "integrity": "sha512-+KrS5rnYlyWgzoCNJGsNPw7Vv+47Y7Ze7KZ+/9Xls+5BUugEbU2yv1n9JsQOqv+MLKYfg3bxI5K6tYJxXZY8FA==", + "license": "MIT", "peer": true }, "node_modules/section-matter": { @@ -15663,6 +15736,7 @@ "version": "7.1.2", "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.2.tgz", "integrity": "sha512-ARCqzHJ0p4gWt+j7NlU5eDlIO9+Rkr/JhPFZKKQ1l5GCus7rJH4UdrlVAh0xC/gDS/Qir2UMxqYNHtsKr2rpCw==", + "license": "MIT", "dependencies": { "@types/node": "^17.0.5", "@types/sax": "^1.2.1", @@ -15680,7 +15754,8 @@ "node_modules/sitemap/node_modules/@types/node": { "version": "17.0.45", "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", - "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==" + "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==", + "license": "MIT" }, "node_modules/skin-tone": { "version": "2.0.0", @@ -15732,6 +15807,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.2.0.tgz", "integrity": "sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA==", + "license": "MIT", "engines": { "node": ">= 6.3.0" } @@ -16529,9 +16605,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz", - "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", "funding": [ { "type": "opencollective", @@ -16546,6 +16622,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "escalade": "^3.1.2", "picocolors": "^1.0.1" @@ -16898,6 +16975,12 @@ "node": ">= 8" } }, + "node_modules/web-vitals": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-4.2.3.tgz", + "integrity": "sha512-/CFAm1mNxSmOj6i0Co+iGFJ58OS4NRGVP+AWS/l509uIK5a1bSoIVaHz/ZumpHTfHSZBpgrJ+wjfpAOrTHok5Q==", + "license": "Apache-2.0" + }, "node_modules/web-worker": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.3.0.tgz", diff --git a/website/package.json b/website/package.json index 7dc23755e..aaa01ed14 100644 --- a/website/package.json +++ b/website/package.json @@ -15,16 +15,16 @@ "build:site": "npm run build" }, "dependencies": { - "@docusaurus/core": "^3.4.0", - "@docusaurus/plugin-client-redirects": "^3.4.0", - "@docusaurus/plugin-google-tag-manager": "^3.4.0", - "@docusaurus/preset-classic": "^3.4.0", - "@docusaurus/theme-mermaid": "^3.4.0", + "@docusaurus/core": "^3.5.1", + "@docusaurus/plugin-client-redirects": "^3.5.1", + "@docusaurus/plugin-google-tag-manager": "^3.5.1", + "@docusaurus/preset-classic": "^3.5.1", + "@docusaurus/theme-mermaid": "^3.5.1", "@excalidraw/excalidraw": "^0.17.6", - "@fortawesome/fontawesome-svg-core": "^6.5.2", - "@fortawesome/free-brands-svg-icons": "^6.5.2", - "@fortawesome/free-regular-svg-icons": "^6.5.2", - "@fortawesome/free-solid-svg-icons": "^6.5.2", + "@fortawesome/fontawesome-svg-core": "^6.6.0", + "@fortawesome/free-brands-svg-icons": "^6.6.0", + "@fortawesome/free-regular-svg-icons": "^6.6.0", + "@fortawesome/free-solid-svg-icons": "^6.6.0", "@fortawesome/react-fontawesome": "^0.2.2", "@grnet/docusaurus-terminology": "^2.0.0-rc.1", "@mdx-js/react": "^3.0.1", @@ -32,11 +32,11 @@ "custom-loaders": "file:plugins/custom-loaders", "docusaurus-plugin-image-zoom": "^2.0.0", "docusaurus-plugin-sentry": "^2.0.0", - "html-loader": "^5.0.0", - "marked": "^13.0.0", + "html-loader": "^5.1.0", + "marked": "^14.0.0", "node-fetch": "^3.3.2", - "posthog-docusaurus": "^2.0.0", - "posthog-js": "^1.140.1", + "posthog-docusaurus": "^2.0.1", + "posthog-js": "^1.155.0", "prism-react-renderer": "^2.3.1", "raw-loader": "^4.0.2", "react": "^18.3.1", @@ -51,7 +51,7 @@ "unified": "^11.0.5" }, "devDependencies": { - "@docusaurus/module-type-aliases": "^3.4.0" + "@docusaurus/module-type-aliases": "^3.5.1" }, "browserslist": { "production": [ diff --git a/website/src/css/custom.css b/website/src/css/custom.css index 78497db7d..306099acc 100644 --- a/website/src/css/custom.css +++ b/website/src/css/custom.css @@ -15,7 +15,7 @@ html[data-theme='dark'] nav.navbar { } a.navbar__item.navbar__link.latest-release-link { - color: #cccccc6e; + color: #000000ae; font-size: 0.8em; padding: 0; margin-right: 1em; @@ -25,12 +25,15 @@ a.navbar__item.navbar__link.latest-release-link { background: #cccccc1c; } +html[data-theme='dark'] a.navbar__item.navbar__link.latest-release-link { + color: #cccccc6e; +} + .navbar__title { font-size: 2em; } -.navbar__brand -{ +.navbar__brand { position: relative; bottom: 2px; margin-right: 0; @@ -60,7 +63,7 @@ div.atmos__effect::before, html[data-theme='dark'] div.navbar__logo::before { animation: gradient 15s ease infinite; } -.atmos__text, html[data-theme='dark'] b.navbar__title { +.atmos__text, html[data-theme='dark'] b.navbar__title { color: transparent; background: -webkit-linear-gradient(-45deg, #eb1a1a, #583ce7, #2ec8ff, #23d5ab); animation: gradient 15s ease infinite; @@ -83,7 +86,7 @@ div.atmos__effect::before, html[data-theme='dark'] div.navbar__logo::before { } html[data-theme='dark'] body { - background-image: url("/static/img/cloudposse-opaque.svg"); + background-image: url("/static/img/cloudposse-opaque.svg"); } body { @@ -99,7 +102,7 @@ body { } -.language-console pre > code, .language-text pre > code { +.language-console pre > code, .language-text pre > code { line-height: 1.26em; } @@ -174,7 +177,7 @@ article .theme-admonition-danger ul li strong, article .theme-admonition-danger margin-bottom: 2.5em; } -.theme-admonition.alert{ +.theme-admonition.alert { margin-top: 3em; margin-bottom: 4em; } @@ -184,7 +187,7 @@ html[data-theme='dark'] .theme-admonition details { border: 1px solid #ffffff52; } -html[data-theme='dark'] .theme-admonition > .admonitionHeading_node_modules-\@docusaurus-theme-classic-lib-theme-Admonition-Layout-styles-module:not(:last-child) { +html[data-theme='dark'] .theme-admonition > .admonitionHeading_node_modules-\@docusaurus-theme-classic-lib-theme-Admonition-Layout-styles-module:not(:last-child) { margin-bottom: 1em; font-size: 1.2em; } @@ -194,11 +197,11 @@ html[data-theme='dark'] .admonitionContent_node_modules-\@docusaurus-theme-class padding-left: 1.6em; } -article ul >li, article ol > li { +article ul > li, article ol > li { margin-bottom: 1em; } -article ul >li::marker, article ol > li::marker { +article ul > li::marker, article ol > li::marker { font-weight: bold; } @@ -355,7 +358,7 @@ li.menu__list-item.hidden { } .DocSearch-Button-Placeholder { - min-width: 200px; + min-width: 200px; } .aa-Autocomplete { @@ -374,7 +377,7 @@ li.menu__list-item.hidden { } .navbar-sidebar--show { - backdrop-filter: none !important; + backdrop-filter: none !important; } .navbar-sidebar__item .navbar-cta-button { @@ -452,24 +455,25 @@ dd.disambiguation { display: inline-block; float: right; } + dd.disambiguation > a:not(:last-child)::after { content: ","; } dd.disambiguation a { - margin-left: 0.5em; + margin-left: 0.5em; } @keyframes gradient { - 0% { - background-position: 0% 50%; - } - 50% { - background-position: 100% 50%; - } - 100% { - background-position: 0% 50%; - } + 0% { + background-position: 0% 50%; + } + 50% { + background-position: 100% 50%; + } + 100% { + background-position: 0% 50%; + } } .markdown > a.button:last-child { @@ -481,8 +485,8 @@ dd.disambiguation a { } .mermaid { - background-color: transparent !important; - } + background-color: transparent !important; +} html[data-theme='dark'] .markdown h3 { color: #b1b1b1;