diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml
new file mode 100644
index 000000000..ddd850403
--- /dev/null
+++ b/.github/workflows/lint.yaml
@@ -0,0 +1,59 @@
+name: Lint
+
+on: [push, pull_request]
+
+jobs:
+ unit_tests:
+ strategy:
+ matrix:
+ go-version: [1.20.x]
+ os: [ubuntu-latest, macos-latest, windows-latest]
+ include:
+ - go-version: 1.17.x
+ os: ubuntu-latest
+ - go-version: 1.18.x
+ os: ubuntu-latest
+ - go-version: 1.19.x
+ os: ubuntu-latest
+ runs-on: ${{ matrix.os }}
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v3
+
+ - name: Install Go
+ uses: actions/setup-go@v4
+ with:
+ go-version: ${{ matrix.go-version }}
+
+ - name: golangci-lint
+ uses: golangci/golangci-lint-action@v3
+ with:
+ # Require: The version of golangci-lint to use.
+ # When `install-mode` is `binary` (default) the value can be v1.2 or v1.2.3 or `latest` to use the latest version.
+ # When `install-mode` is `goinstall` the value can be v1.2.3, `latest`, or the hash of a commit.
+ version: v1.54
+
+ # Optional: working directory, useful for monorepos
+ # working-directory: somedir
+
+ # Optional: golangci-lint command line arguments.
+ #
+ # Note: By default, the `.golangci.yml` file should be at the root of the repository.
+ # The location of the configuration file can be changed by using `--config=`
+ # args: --timeout=30m --config=/my/path/.golangci.yml --issues-exit-code=0
+
+ # Optional: show only new issues if it's a pull request. The default value is `false`.
+ # only-new-issues: true
+
+ # Optional: if set to true, then all caching functionality will be completely disabled,
+ # takes precedence over all other caching options.
+ # skip-cache: true
+
+ # Optional: if set to true, then the action won't cache or restore ~/go/pkg.
+ # skip-pkg-cache: true
+
+ # Optional: if set to true, then the action won't cache or restore ~/.cache/go-build.
+ # skip-build-cache: true
+
+ # Optional: The mode to install golangci-lint. It can be 'binary' or 'goinstall'.
+ # install-mode: "goinstall"
diff --git a/.idea/aws.xml b/.idea/aws.xml
new file mode 100644
index 000000000..ec328d0bb
--- /dev/null
+++ b/.idea/aws.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
new file mode 100644
index 000000000..6156ca4a4
--- /dev/null
+++ b/.idea/workspace.xml
@@ -0,0 +1,204 @@
+
+
+
+