From 9c1ef6f31bb8c673b5fac78c4121980d2b547ad4 Mon Sep 17 00:00:00 2001 From: Pavel Date: Wed, 10 Apr 2024 21:23:02 +0300 Subject: [PATCH 1/5] version util --- .../docs/tech-docs/sgroups/goose.mdx | 19 +++++++++++-------- documentation/docusaurus.config.ts | 6 ++++++ documentation/src/utils/getVersionFromPath.ts | 1 + 3 files changed, 18 insertions(+), 8 deletions(-) create mode 100644 documentation/src/utils/getVersionFromPath.ts diff --git a/documentation/docs/tech-docs/sgroups/goose.mdx b/documentation/docs/tech-docs/sgroups/goose.mdx index 459680cf..6b01e641 100644 --- a/documentation/docs/tech-docs/sgroups/goose.mdx +++ b/documentation/docs/tech-docs/sgroups/goose.mdx @@ -44,14 +44,17 @@ import TabItem from '@theme/TabItem' #### Сборка Перед сборкой необходимо склонировать репозиторий - ```bash - export VERSION=1.9.1 - git clone https://github.com/H-BF/sgroups - cd sgroups - git fetch --tags --all - git checkout tags/v${VERSION} - make .install-goose - ``` + + +{`export VERSION=${getVersionFromPath()} +git clone https://github.com/H-BF/sgroups +cd sgroups +git fetch --tags --all +git checkout tags/v$\{VERSION} +make .install-goose +`} + +
После сборки, скомпилированный бинарный файл будет доступен в папке `./bin/goose` в корне репозитория (не путать с `/bin`, diff --git a/documentation/docusaurus.config.ts b/documentation/docusaurus.config.ts index 40f15619..c6a8f3ae 100644 --- a/documentation/docusaurus.config.ts +++ b/documentation/docusaurus.config.ts @@ -36,6 +36,12 @@ const config: Config = { (process.env.DOC_INCLUDE_CURRENT_VERSION && process.env.DOC_INCLUDE_CURRENT_VERSION.toLowerCase() === 'true') || false, + versions: { + 'v1.14.0': { + label: 'v1.14.0', + path: 'v1.14.0', + }, + }, }, blog: false, pages: { diff --git a/documentation/src/utils/getVersionFromPath.ts b/documentation/src/utils/getVersionFromPath.ts new file mode 100644 index 00000000..c4aed4c9 --- /dev/null +++ b/documentation/src/utils/getVersionFromPath.ts @@ -0,0 +1 @@ +export const getVersionFromPath = (): string => window.location.pathname.split('/')[2].substring(1) From c7c10edeb1de6ae96add94c0fd708c9540c90cb8 Mon Sep 17 00:00:00 2001 From: Pavel Date: Fri, 12 Apr 2024 03:34:39 +0300 Subject: [PATCH 2/5] versioned snippets --- .../{src => docs}/snippets/networks/_Api.mdx | 0 .../snippets/networks/_Nftables.mdx | 0 .../snippets/networks/_TerraformModule.mdx | 0 .../snippets/networks/_TerraformResource.mdx | 0 .../{src => docs}/snippets/s2c-ie/_Api.mdx | 0 .../snippets/s2c-ie/_Nftables.mdx | 0 .../snippets/s2c-ie/_TerraformModule.mdx | 0 .../snippets/s2c-ie/_TerraformResource.mdx | 0 .../{src => docs}/snippets/s2f-e/_Api.mdx | 0 .../snippets/s2f-e/_Nftables.mdx | 0 .../snippets/s2f-e/_TerraformModule.mdx | 0 .../snippets/s2f-e/_TerraformResource.mdx | 0 .../{src => docs}/snippets/s2s-ie/_Api.mdx | 0 .../snippets/s2s-ie/_Nftables.mdx | 0 .../snippets/s2s-ie/_TerraformModule.mdx | 0 .../snippets/s2s-ie/_TerraformResource.mdx | 0 .../{src => docs}/snippets/s2s/_Api.mdx | 0 .../{src => docs}/snippets/s2s/_Nftables.mdx | 0 .../snippets/s2s/_TerraformModule.mdx | 0 .../snippets/s2s/_TerraformResource.mdx | 0 .../snippets/securityGroups/_Api.mdx | 0 .../snippets/securityGroups/_Nftables.mdx | 0 .../securityGroups/_TerraformModule.mdx | 0 .../securityGroups/_TerraformResource.mdx | 0 .../tech-docs/rule-configuration/networks.mdx | 8 +- .../tech-docs/rule-configuration/s2c-ie.mdx | 16 +- .../tech-docs/rule-configuration/s2f-e.mdx | 17 +- .../tech-docs/rule-configuration/s2s-ie.mdx | 8 +- .../docs/tech-docs/rule-configuration/s2s.mdx | 8 +- .../rule-configuration/security-groups.mdx | 8 +- .../docs/tech-docs/sgroups/api/v1/sync.mdx | 12 +- .../snippets/networks/_Api.mdx | 160 ++++ .../snippets/networks/_Nftables.mdx | 96 +++ .../snippets/networks/_TerraformModule.mdx | 57 ++ .../snippets/networks/_TerraformResource.mdx | 80 ++ .../version-v1.13.0/snippets/s2c-ie/_Api.mdx | 763 ++++++++++++++++++ .../snippets/s2c-ie/_Nftables.mdx | 329 ++++++++ .../snippets/s2c-ie/_TerraformModule.mdx | 428 ++++++++++ .../snippets/s2c-ie/_TerraformResource.mdx | 454 +++++++++++ .../version-v1.13.0/snippets/s2f-e/_Api.mdx | 307 +++++++ .../snippets/s2f-e/_Nftables.mdx | 116 +++ .../snippets/s2f-e/_TerraformModule.mdx | 224 +++++ .../snippets/s2f-e/_TerraformResource.mdx | 236 ++++++ .../version-v1.13.0/snippets/s2s-ie/_Api.mdx | 763 ++++++++++++++++++ .../snippets/s2s-ie/_Nftables.mdx | 331 ++++++++ .../snippets/s2s-ie/_TerraformModule.mdx | 422 ++++++++++ .../snippets/s2s-ie/_TerraformResource.mdx | 450 +++++++++++ .../version-v1.13.0/snippets/s2s/_Api.mdx | 599 ++++++++++++++ .../snippets/s2s/_Nftables.mdx | 275 +++++++ .../snippets/s2s/_TerraformModule.mdx | 284 +++++++ .../snippets/s2s/_TerraformResource.mdx | 306 +++++++ .../snippets/securityGroups/_Api.mdx | 387 +++++++++ .../snippets/securityGroups/_Nftables.mdx | 132 +++ .../securityGroups/_TerraformModule.mdx | 159 ++++ .../securityGroups/_TerraformResource.mdx | 163 ++++ .../tech-docs/rule-configuration/networks.mdx | 8 +- .../tech-docs/rule-configuration/s2c-ie.mdx | 16 +- .../tech-docs/rule-configuration/s2f-e.mdx | 16 +- .../tech-docs/rule-configuration/s2s-ie.mdx | 8 +- .../tech-docs/rule-configuration/s2s.mdx | 8 +- .../rule-configuration/security-groups.mdx | 8 +- .../tech-docs/sgroups/api/v1/sync.mdx | 12 +- .../snippets/networks/_Api.mdx | 160 ++++ .../snippets/networks/_Nftables.mdx | 96 +++ .../snippets/networks/_TerraformModule.mdx | 57 ++ .../snippets/networks/_TerraformResource.mdx | 80 ++ .../version-v1.14.0/snippets/s2c-ie/_Api.mdx | 763 ++++++++++++++++++ .../snippets/s2c-ie/_Nftables.mdx | 329 ++++++++ .../snippets/s2c-ie/_TerraformModule.mdx | 428 ++++++++++ .../snippets/s2c-ie/_TerraformResource.mdx | 454 +++++++++++ .../version-v1.14.0/snippets/s2f-e/_Api.mdx | 307 +++++++ .../snippets/s2f-e/_Nftables.mdx | 116 +++ .../snippets/s2f-e/_TerraformModule.mdx | 224 +++++ .../snippets/s2f-e/_TerraformResource.mdx | 236 ++++++ .../version-v1.14.0/snippets/s2s-ie/_Api.mdx | 763 ++++++++++++++++++ .../snippets/s2s-ie/_Nftables.mdx | 331 ++++++++ .../snippets/s2s-ie/_TerraformModule.mdx | 422 ++++++++++ .../snippets/s2s-ie/_TerraformResource.mdx | 450 +++++++++++ .../version-v1.14.0/snippets/s2s/_Api.mdx | 599 ++++++++++++++ .../snippets/s2s/_Nftables.mdx | 275 +++++++ .../snippets/s2s/_TerraformModule.mdx | 284 +++++++ .../snippets/s2s/_TerraformResource.mdx | 306 +++++++ .../snippets/securityGroups/_Api.mdx | 387 +++++++++ .../snippets/securityGroups/_Nftables.mdx | 132 +++ .../securityGroups/_TerraformModule.mdx | 159 ++++ .../securityGroups/_TerraformResource.mdx | 163 ++++ .../tech-docs/rule-configuration/networks.mdx | 8 +- .../tech-docs/rule-configuration/s2c-ie.mdx | 16 +- .../tech-docs/rule-configuration/s2f-e.mdx | 17 +- .../tech-docs/rule-configuration/s2s-ie.mdx | 8 +- .../tech-docs/rule-configuration/s2s.mdx | 8 +- .../rule-configuration/security-groups.mdx | 8 +- .../tech-docs/sgroups/api/v1/sync.mdx | 12 +- 93 files changed, 15158 insertions(+), 114 deletions(-) rename documentation/{src => docs}/snippets/networks/_Api.mdx (100%) rename documentation/{src => docs}/snippets/networks/_Nftables.mdx (100%) rename documentation/{src => docs}/snippets/networks/_TerraformModule.mdx (100%) rename documentation/{src => docs}/snippets/networks/_TerraformResource.mdx (100%) rename documentation/{src => docs}/snippets/s2c-ie/_Api.mdx (100%) rename documentation/{src => docs}/snippets/s2c-ie/_Nftables.mdx (100%) rename documentation/{src => docs}/snippets/s2c-ie/_TerraformModule.mdx (100%) rename documentation/{src => docs}/snippets/s2c-ie/_TerraformResource.mdx (100%) rename documentation/{src => docs}/snippets/s2f-e/_Api.mdx (100%) rename documentation/{src => docs}/snippets/s2f-e/_Nftables.mdx (100%) rename documentation/{src => docs}/snippets/s2f-e/_TerraformModule.mdx (100%) rename documentation/{src => docs}/snippets/s2f-e/_TerraformResource.mdx (100%) rename documentation/{src => docs}/snippets/s2s-ie/_Api.mdx (100%) rename documentation/{src => docs}/snippets/s2s-ie/_Nftables.mdx (100%) rename documentation/{src => docs}/snippets/s2s-ie/_TerraformModule.mdx (100%) rename documentation/{src => docs}/snippets/s2s-ie/_TerraformResource.mdx (100%) rename documentation/{src => docs}/snippets/s2s/_Api.mdx (100%) rename documentation/{src => docs}/snippets/s2s/_Nftables.mdx (100%) rename documentation/{src => docs}/snippets/s2s/_TerraformModule.mdx (100%) rename documentation/{src => docs}/snippets/s2s/_TerraformResource.mdx (100%) rename documentation/{src => docs}/snippets/securityGroups/_Api.mdx (100%) rename documentation/{src => docs}/snippets/securityGroups/_Nftables.mdx (100%) rename documentation/{src => docs}/snippets/securityGroups/_TerraformModule.mdx (100%) rename documentation/{src => docs}/snippets/securityGroups/_TerraformResource.mdx (100%) create mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/networks/_Api.mdx create mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/networks/_Nftables.mdx create mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/networks/_TerraformModule.mdx create mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/networks/_TerraformResource.mdx create mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_Api.mdx create mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_Nftables.mdx create mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_TerraformModule.mdx create mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_TerraformResource.mdx create mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_Api.mdx create mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_Nftables.mdx create mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_TerraformModule.mdx create mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_TerraformResource.mdx create mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_Api.mdx create mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_Nftables.mdx create mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_TerraformModule.mdx create mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_TerraformResource.mdx create mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/s2s/_Api.mdx create mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/s2s/_Nftables.mdx create mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/s2s/_TerraformModule.mdx create mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/s2s/_TerraformResource.mdx create mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_Api.mdx create mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_Nftables.mdx create mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_TerraformModule.mdx create mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_TerraformResource.mdx create mode 100644 documentation/versioned_docs/version-v1.14.0/snippets/networks/_Api.mdx create mode 100644 documentation/versioned_docs/version-v1.14.0/snippets/networks/_Nftables.mdx create mode 100644 documentation/versioned_docs/version-v1.14.0/snippets/networks/_TerraformModule.mdx create mode 100644 documentation/versioned_docs/version-v1.14.0/snippets/networks/_TerraformResource.mdx create mode 100644 documentation/versioned_docs/version-v1.14.0/snippets/s2c-ie/_Api.mdx create mode 100644 documentation/versioned_docs/version-v1.14.0/snippets/s2c-ie/_Nftables.mdx create mode 100644 documentation/versioned_docs/version-v1.14.0/snippets/s2c-ie/_TerraformModule.mdx create mode 100644 documentation/versioned_docs/version-v1.14.0/snippets/s2c-ie/_TerraformResource.mdx create mode 100644 documentation/versioned_docs/version-v1.14.0/snippets/s2f-e/_Api.mdx create mode 100644 documentation/versioned_docs/version-v1.14.0/snippets/s2f-e/_Nftables.mdx create mode 100644 documentation/versioned_docs/version-v1.14.0/snippets/s2f-e/_TerraformModule.mdx create mode 100644 documentation/versioned_docs/version-v1.14.0/snippets/s2f-e/_TerraformResource.mdx create mode 100644 documentation/versioned_docs/version-v1.14.0/snippets/s2s-ie/_Api.mdx create mode 100644 documentation/versioned_docs/version-v1.14.0/snippets/s2s-ie/_Nftables.mdx create mode 100644 documentation/versioned_docs/version-v1.14.0/snippets/s2s-ie/_TerraformModule.mdx create mode 100644 documentation/versioned_docs/version-v1.14.0/snippets/s2s-ie/_TerraformResource.mdx create mode 100644 documentation/versioned_docs/version-v1.14.0/snippets/s2s/_Api.mdx create mode 100644 documentation/versioned_docs/version-v1.14.0/snippets/s2s/_Nftables.mdx create mode 100644 documentation/versioned_docs/version-v1.14.0/snippets/s2s/_TerraformModule.mdx create mode 100644 documentation/versioned_docs/version-v1.14.0/snippets/s2s/_TerraformResource.mdx create mode 100644 documentation/versioned_docs/version-v1.14.0/snippets/securityGroups/_Api.mdx create mode 100644 documentation/versioned_docs/version-v1.14.0/snippets/securityGroups/_Nftables.mdx create mode 100644 documentation/versioned_docs/version-v1.14.0/snippets/securityGroups/_TerraformModule.mdx create mode 100644 documentation/versioned_docs/version-v1.14.0/snippets/securityGroups/_TerraformResource.mdx diff --git a/documentation/src/snippets/networks/_Api.mdx b/documentation/docs/snippets/networks/_Api.mdx similarity index 100% rename from documentation/src/snippets/networks/_Api.mdx rename to documentation/docs/snippets/networks/_Api.mdx diff --git a/documentation/src/snippets/networks/_Nftables.mdx b/documentation/docs/snippets/networks/_Nftables.mdx similarity index 100% rename from documentation/src/snippets/networks/_Nftables.mdx rename to documentation/docs/snippets/networks/_Nftables.mdx diff --git a/documentation/src/snippets/networks/_TerraformModule.mdx b/documentation/docs/snippets/networks/_TerraformModule.mdx similarity index 100% rename from documentation/src/snippets/networks/_TerraformModule.mdx rename to documentation/docs/snippets/networks/_TerraformModule.mdx diff --git a/documentation/src/snippets/networks/_TerraformResource.mdx b/documentation/docs/snippets/networks/_TerraformResource.mdx similarity index 100% rename from documentation/src/snippets/networks/_TerraformResource.mdx rename to documentation/docs/snippets/networks/_TerraformResource.mdx diff --git a/documentation/src/snippets/s2c-ie/_Api.mdx b/documentation/docs/snippets/s2c-ie/_Api.mdx similarity index 100% rename from documentation/src/snippets/s2c-ie/_Api.mdx rename to documentation/docs/snippets/s2c-ie/_Api.mdx diff --git a/documentation/src/snippets/s2c-ie/_Nftables.mdx b/documentation/docs/snippets/s2c-ie/_Nftables.mdx similarity index 100% rename from documentation/src/snippets/s2c-ie/_Nftables.mdx rename to documentation/docs/snippets/s2c-ie/_Nftables.mdx diff --git a/documentation/src/snippets/s2c-ie/_TerraformModule.mdx b/documentation/docs/snippets/s2c-ie/_TerraformModule.mdx similarity index 100% rename from documentation/src/snippets/s2c-ie/_TerraformModule.mdx rename to documentation/docs/snippets/s2c-ie/_TerraformModule.mdx diff --git a/documentation/src/snippets/s2c-ie/_TerraformResource.mdx b/documentation/docs/snippets/s2c-ie/_TerraformResource.mdx similarity index 100% rename from documentation/src/snippets/s2c-ie/_TerraformResource.mdx rename to documentation/docs/snippets/s2c-ie/_TerraformResource.mdx diff --git a/documentation/src/snippets/s2f-e/_Api.mdx b/documentation/docs/snippets/s2f-e/_Api.mdx similarity index 100% rename from documentation/src/snippets/s2f-e/_Api.mdx rename to documentation/docs/snippets/s2f-e/_Api.mdx diff --git a/documentation/src/snippets/s2f-e/_Nftables.mdx b/documentation/docs/snippets/s2f-e/_Nftables.mdx similarity index 100% rename from documentation/src/snippets/s2f-e/_Nftables.mdx rename to documentation/docs/snippets/s2f-e/_Nftables.mdx diff --git a/documentation/src/snippets/s2f-e/_TerraformModule.mdx b/documentation/docs/snippets/s2f-e/_TerraformModule.mdx similarity index 100% rename from documentation/src/snippets/s2f-e/_TerraformModule.mdx rename to documentation/docs/snippets/s2f-e/_TerraformModule.mdx diff --git a/documentation/src/snippets/s2f-e/_TerraformResource.mdx b/documentation/docs/snippets/s2f-e/_TerraformResource.mdx similarity index 100% rename from documentation/src/snippets/s2f-e/_TerraformResource.mdx rename to documentation/docs/snippets/s2f-e/_TerraformResource.mdx diff --git a/documentation/src/snippets/s2s-ie/_Api.mdx b/documentation/docs/snippets/s2s-ie/_Api.mdx similarity index 100% rename from documentation/src/snippets/s2s-ie/_Api.mdx rename to documentation/docs/snippets/s2s-ie/_Api.mdx diff --git a/documentation/src/snippets/s2s-ie/_Nftables.mdx b/documentation/docs/snippets/s2s-ie/_Nftables.mdx similarity index 100% rename from documentation/src/snippets/s2s-ie/_Nftables.mdx rename to documentation/docs/snippets/s2s-ie/_Nftables.mdx diff --git a/documentation/src/snippets/s2s-ie/_TerraformModule.mdx b/documentation/docs/snippets/s2s-ie/_TerraformModule.mdx similarity index 100% rename from documentation/src/snippets/s2s-ie/_TerraformModule.mdx rename to documentation/docs/snippets/s2s-ie/_TerraformModule.mdx diff --git a/documentation/src/snippets/s2s-ie/_TerraformResource.mdx b/documentation/docs/snippets/s2s-ie/_TerraformResource.mdx similarity index 100% rename from documentation/src/snippets/s2s-ie/_TerraformResource.mdx rename to documentation/docs/snippets/s2s-ie/_TerraformResource.mdx diff --git a/documentation/src/snippets/s2s/_Api.mdx b/documentation/docs/snippets/s2s/_Api.mdx similarity index 100% rename from documentation/src/snippets/s2s/_Api.mdx rename to documentation/docs/snippets/s2s/_Api.mdx diff --git a/documentation/src/snippets/s2s/_Nftables.mdx b/documentation/docs/snippets/s2s/_Nftables.mdx similarity index 100% rename from documentation/src/snippets/s2s/_Nftables.mdx rename to documentation/docs/snippets/s2s/_Nftables.mdx diff --git a/documentation/src/snippets/s2s/_TerraformModule.mdx b/documentation/docs/snippets/s2s/_TerraformModule.mdx similarity index 100% rename from documentation/src/snippets/s2s/_TerraformModule.mdx rename to documentation/docs/snippets/s2s/_TerraformModule.mdx diff --git a/documentation/src/snippets/s2s/_TerraformResource.mdx b/documentation/docs/snippets/s2s/_TerraformResource.mdx similarity index 100% rename from documentation/src/snippets/s2s/_TerraformResource.mdx rename to documentation/docs/snippets/s2s/_TerraformResource.mdx diff --git a/documentation/src/snippets/securityGroups/_Api.mdx b/documentation/docs/snippets/securityGroups/_Api.mdx similarity index 100% rename from documentation/src/snippets/securityGroups/_Api.mdx rename to documentation/docs/snippets/securityGroups/_Api.mdx diff --git a/documentation/src/snippets/securityGroups/_Nftables.mdx b/documentation/docs/snippets/securityGroups/_Nftables.mdx similarity index 100% rename from documentation/src/snippets/securityGroups/_Nftables.mdx rename to documentation/docs/snippets/securityGroups/_Nftables.mdx diff --git a/documentation/src/snippets/securityGroups/_TerraformModule.mdx b/documentation/docs/snippets/securityGroups/_TerraformModule.mdx similarity index 100% rename from documentation/src/snippets/securityGroups/_TerraformModule.mdx rename to documentation/docs/snippets/securityGroups/_TerraformModule.mdx diff --git a/documentation/src/snippets/securityGroups/_TerraformResource.mdx b/documentation/docs/snippets/securityGroups/_TerraformResource.mdx similarity index 100% rename from documentation/src/snippets/securityGroups/_TerraformResource.mdx rename to documentation/docs/snippets/securityGroups/_TerraformResource.mdx diff --git a/documentation/docs/tech-docs/rule-configuration/networks.mdx b/documentation/docs/tech-docs/rule-configuration/networks.mdx index e03e3dd8..efd83594 100644 --- a/documentation/docs/tech-docs/rule-configuration/networks.mdx +++ b/documentation/docs/tech-docs/rule-configuration/networks.mdx @@ -4,10 +4,10 @@ id: networks import Tabs from '@theme/Tabs' import TabItem from '@theme/TabItem' -import TerraforModule from '@site/src/snippets/networks/_TerraformModule.mdx' -import TerraforResource from '@site/src/snippets/networks/_TerraformResource.mdx' -import Api from '@site/src/snippets/networks/_Api.mdx' -import Nftables from '@site/src/snippets/networks/_Nftables.mdx' +import TerraforModule from '../../snippets/networks/_TerraformModule.mdx' +import TerraforResource from '../../snippets/networks/_TerraformResource.mdx' +import Api from '../../snippets/networks/_Api.mdx' +import Nftables from '../../snippets/networks/_Nftables.mdx' # Networks diff --git a/documentation/docs/tech-docs/rule-configuration/s2c-ie.mdx b/documentation/docs/tech-docs/rule-configuration/s2c-ie.mdx index 3df4828d..46fc4d68 100644 --- a/documentation/docs/tech-docs/rule-configuration/s2c-ie.mdx +++ b/documentation/docs/tech-docs/rule-configuration/s2c-ie.mdx @@ -4,18 +4,18 @@ id: s2c-ie import Tabs from '@theme/Tabs' import TabItem from '@theme/TabItem' -import TerraforModule from '@site/src/snippets/s2c-ie/_TerraformModule.mdx' -import TerraformResource from '@site/src/snippets/s2c-ie/_TerraformResource.mdx' -import Nftables from '@site/src/snippets/s2c-ie/_Nftables.mdx' -import Api from '@site/src/snippets/s2c-ie/_Api.mdx' +import TerraforModule from '../../snippets/s2c-ie/_TerraformModule.mdx' +import TerraformResource from '../../snippets/s2c-ie/_TerraformResource.mdx' +import Nftables from '../../snippets/s2c-ie/_Nftables.mdx' +import Api from '../../snippets/s2c-ie/_Api.mdx' # Sgroup to CIDR (Ingress/Egress)
- Ресурс `Security Group to CIDR` представляет собой введенную нами абстракцию, которая обеспечивает гибкое управление и контроль за - сетевым трафиком между различными группами безопасности и подсетями, используя TCP, UDP и ICMP протоколы. Этот ресурс - дает возможность детально настроить, какой трафик разрешен к передаче между группами безопасности и определенными - подсетями, тем самым гарантируя высокий уровень защиты и управления сетевой инфраструктурой. + Ресурс `Security Group to CIDR` представляет собой введенную нами абстракцию, которая обеспечивает гибкое управление и + контроль за сетевым трафиком между различными группами безопасности и подсетями, используя TCP, UDP и ICMP протоколы. + Этот ресурс дает возможность детально настроить, какой трафик разрешен к передаче между группами безопасности и + определенными подсетями, тем самым гарантируя высокий уровень защиты и управления сетевой инфраструктурой.
- Ресурс `Security Group to FQDN` представляет собой введенную нами абстракцию, которая обеспечивает гибкое управление и контроль за сетевым - трафиком между различными группами безопасности и IP адресами стоящие за FQDN записями, используя TCP, UDP протоколы. Этот ресурс дает - возможность детально настроить, какой трафик разрешен к передаче между группами безопасности и IP адресами стоящие за определенными FQDN - записями, тем самым гарантируя высокий уровень защиты и управления сетевой инфраструктурой. + Ресурс `Security Group to FQDN` представляет собой введенную нами абстракцию, которая обеспечивает гибкое управление и + контроль за сетевым трафиком между различными группами безопасности и IP адресами стоящие за FQDN записями, используя + TCP, UDP протоколы. Этот ресурс дает возможность детально настроить, какой трафик разрешен к передаче между группами + безопасности и IP адресами стоящие за определенными FQDN записями, тем самым гарантируя высокий уровень защиты и + управления сетевой инфраструктурой.
+
  • `networks[]` - {DICTIONARY.networks.short}
  • +
  • `networks[].name` - название подсети.
  • +
  • `networks[].network` - объект содержащий CIDR подсети
  • +
  • `networks[].network.CIDR` - {DICTIONARY.cidr.short}
  • +
  • `syncOp` - {DICTIONARY.syncOp.short}
  • + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    названиеобязательностьтип данныхзначение по умолчанию
    networks[]даObject[]
    networks[].nameдаString
    networks[].networkдаObject
    networks[].network.CIDRдаString
    syncOpдаEnum("Delete", "Upsert", "FullSync")
    +
    + +

    Ограничения

    + + + +

    Пример использования

    + +```bash +curl '127.0.0.1:9007/v1/sync' \ +--header 'Content-Type: application/json' \ +--data '{ + "networks": { + "networks": [{ + "name": "nw-1", + "network": { + "CIDR": "10.0.0.0/24" + } + }] + }, + "syncOp": "Upsert" +}' +``` + +

    Выходные параметры

    + +
    + + + + + + + + + + + + + + + +
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    +
    + +

    Возможные ошибки API

    + + + + +

    Диаграмма последовательности

    + + + +```mermaid +sequenceDiagram +participant user as User +participant server as Server +participant db as Database + +user->>server: Добавить сеть + +alt Ошибка в запросе + server-->>user: Показать ошибку в запросе +end + +server->>db: Отправить запрос +db->>db: Проверка входящего запроса + +alt Сеть с таким названием уже существует + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе +end + +alt Пересечение значений CIDR + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе +end + +alt Некорректное значение поля определяющее действие с данными из запроса + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе +end + +db->>db: Сохранить данные о сети в БД + +db-->>server: Ответ с успешно добавленной новой сетью +server-->>user: Успешно добавленная новая сеть +``` + + diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/networks/_Nftables.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/networks/_Nftables.mdx new file mode 100644 index 00000000..9d2a78bd --- /dev/null +++ b/documentation/versioned_docs/version-v1.13.0/snippets/networks/_Nftables.mdx @@ -0,0 +1,96 @@ +
    + В этом разделе мы покажем, как ресурс networks, созданный с помощью Terraform/API, внедряется в настройки nftables. В + контексте HBF мы интерпретируем ресурс networks как проекцию на поле `elements` ресурса `IPSet`, который функционирует + в рамках инструмента nftables, обеспечивая более широкие возможности для управления подсетями. +
    +
      +
    • `$IPSet_Name` - Наименование IPSet
    • +
    • `$type` - Описывает тип данных
    • +
    • `$flags` - Описывает свойства IPSet.
    • +
    • `$elements` - Указывает массив содержащихся в IPSet элементов подсетей (CIDR)
    • +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    шаблон параметраструктура параметразначения
    $IPSet_Name`^NetIPv[4|6]-.*` + Примеры значений: +
      +
    • + NetIPv4-sg-example - для описания массивов IP адресов типа v4 +
    • +
    • + NetIPv6-sg-example - для описания массивов IP адресов типа v6 +
    • +
    +
    $type`type` + Могут быть установлены следующие значения: +
      +
    • + ipv4_addr - для описания массивов IP адресов типа v4 +
    • +
    • + ipv6_addr - для описания массивов IP адресов типа v6 +
    • +
    +
    $flags`flags` + Установлены следующие значения: +
      +
    • + constant - флаг используется если значение элементов в множестве являются постоянными и не могут + быть изменены +
    • +
    • + interval - флаг используется для создания диапазона элементов множества +
    • +
    +
    $elements`elements = {}`Значения CIDR, в случае нескольких значений перечисляются через запятую
    +
    + +#### Шаблон + +```hcl +set $IPSet_Name { + $type + $flags + $elements +} +``` + +#### Пример использования + +```hcl +set NetIPv4-sg-example { + type ipv4_addr + flags constant,interval + elements = { 10.0.0.0/24 } <- networks +} +``` diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/networks/_TerraformModule.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/networks/_TerraformModule.mdx new file mode 100644 index 00000000..da3add65 --- /dev/null +++ b/documentation/versioned_docs/version-v1.13.0/snippets/networks/_TerraformModule.mdx @@ -0,0 +1,57 @@ +import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' +import { DICTIONARY } from '@site/src/constants/dictionary.ts' +import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' + +
    +

    {DICTIONARY.terraformModule.full}

    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    название параметраописаниетип данныхзначение по умолчанию
    nameИмя Security GroupString
    cidrs[]Список CIDR, связанных с Security GroupString[][]
    +
    + +#### Ограничения + +
      +
    • + `name`: + +
    • +
    • + `cidrs[]`: + +
    • +
    + +

    + Пример использования +

    + +```yaml +name: sg-example +cidrs: + - 10.0.0.0/24 +``` diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/networks/_TerraformResource.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/networks/_TerraformResource.mdx new file mode 100644 index 00000000..4433b3bc --- /dev/null +++ b/documentation/versioned_docs/version-v1.13.0/snippets/networks/_TerraformResource.mdx @@ -0,0 +1,80 @@ +import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' +import { DICTIONARY } from '@site/src/constants/dictionary.ts' +import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' + +
    +

    {DICTIONARY.terraformResource.full}

    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    названиеобязательностьтип данныхдоп. описание
    itemsдаObjectCписок ресурсов создаваемые terraform.
    items.keyдаStringУникальный ключ блока items.
    items.key.nameдаstringИмя подсети.
    items.key.cidrдаstring{DICTIONARY.cidr.short}
    +
    + +#### Ограничения + +
      +
    • + `items`: + +
    • +
    • + `items.key`: + +
    • +
    • + `items.key.name`: + +
    • +
    • + `items.key.cidr`: + +
    • +
    + +#### Пример использования + +```hcl +resource "sgroups_networks" "networks" { + items = { + key = { + name = "nw-1" + cidr = "10.0.0.0/24" + } + } +} +``` diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_Api.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_Api.mdx new file mode 100644 index 00000000..4641fd9c --- /dev/null +++ b/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_Api.mdx @@ -0,0 +1,763 @@ +import Tabs from '@theme/Tabs' +import TabItem from '@theme/TabItem' + +import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' +import { DICTIONARY } from '@site/src/constants/dictionary.ts' +import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' +import { FancyboxDiagram } from '@site/src/components/commonBlocks/FancyboxDiagram' +import { RESPOND_CODES } from '@site/src/constants/errorCodes.tsx' +import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' + +#### Входные параметры + +
      +
    • `$node.rules[]` - {DICTIONARY.rules.short}
    • +
    • `$node.rules[].cidr` - {DICTIONARY.cidrSet.short}
    • +
    • `$node.rules[].sg` - {DICTIONARY.sgLocal.short}
    • +
    • `$node.rules[].logs` - {DICTIONARY.log.short}
    • +
    • `$node.rules[].trace` - {DICTIONARY.trace.short}
    • +
    • `$node.rules[].ports` - {DICTIONARY.ports.short}
    • +
    • `$node.rules[].ports[].d` - {DICTIONARY.dstPorts.short}
    • +
    • `$node.rules[].ports[].s` - {DICTIONARY.srcPorts.short}
    • +
    • `$node.rules[].traffic` - {DICTIONARY.traffic.short}
    • +
    • `$node.rules[].transport` - {DICTIONARY.transport.short}
    • +
    • `$node.rules[].ICMP` - {DICTIONARY.apiIcmp.short}
    • +
    • `$node.rules[].ICMP.IPv` - {DICTIONARY.icmpV.short}
    • +
    • `$node.rules[].ICMP.Types` - {DICTIONARY.icmpTypes.short}
    • +
    • `$node.rules[].action` - {DICTIONARY.action.short}
    • +
    • `$node.rules[].priority` - {DICTIONARY.priorityst.short}
    • +
    • `$node.rules[].priority.some` - {DICTIONARY.priority.short}
    • +
    • `syncOp` - {DICTIONARY.syncOp.short}
    • +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Области применения полей относительно используемого протокола
    названиеобязательностьтип данныхзначение по умолчаниюtransport*
    TCPUDPICMP
    $node.rules[]даObjectnull
    $node.rules[].CIDRдаString
    $node.rules[].SGдаString
    $node.rules[].logsнетBooleanfalse
    $node.rules[].traceнетBooleanfalse
    $node.rules[].portsнетObject[]null
    $node.rules[].ports[].dнетStringnull
    $node.rules[].ports[].sнетStringnull
    $node.rules[].trafficдаEnum("Ingress", "Egress")
    $node.rules[].transportнетEnum("TCP", "UDP")TCP
    $node.rules[].ICMPдаObject
    $node.rules[].ICMP.IPvдаEnum("IPv4", "IPv6")
    $node.rules[].ICMP.TypesнетString[][]
    $node.rules[].actionда + Enum("UNDEF", "ACCEPT", "DROP") +
    $node.rules[].priorityнетObject
    $node.rules[].priority.someнетInteger
    syncOpда + Enum("Delete", "Upsert", "FullSync") +
    +
    + +

    Ограничения

    + +
      +
    • + `$node.rules[].SG`: + +
    • +
    • + `$node.rules[].CIDR`: + +
    • +
    • + `$node.rules[].ports[].s`: + +
    • +
    • + `$node.rules[].ports[].d`: + +
    • +
    • + `$node.rules[].type[]`: + +
    • +
    + +

    Пример использования

    + + + +
    +
    +

    Ingress

    + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "cidrSgRules": { + "rules": [ + { + "traffic": "Ingress", + "CIDR": "10.0.0.0/8", + "SG": "sg-local-example", + "logs": true, + "trace": true, + "ports": [{ + "d": "64321", + "s": "443,80" + }], + "transport": "TCP", + "action": "ACCEPT", + "priority": { + "some": 300 + } + } + ] + }, + "syncOp": "Upsert" + }' + ``` +
    +
    +

    Egress

    + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "cidrSgRules": { + "rules": [ + { + "traffic": "Egress", + "CIDR": "10.0.0.0/8", + "SG": "sg-local-example", + "logs": true, + "trace": true, + "ports": [{ + "d": "64321", + "s": "443,80" + }], + "transport": "TCP", + "action": "ACCEPT", + "priority": { + "some": 300 + } + } + ] + }, + "syncOp": "Upsert" + }' + ``` +
    +
    + +

    Выходные параметры

    + +
    + + + + + + + + + + + + + + + +
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    +
    + +

    Возможные ошибки API

    + + + + +

    Диаграмма последовательности

    + + + + ```mermaid + sequenceDiagram + participant user as User + participant server as Server + participant db as Database + + user->>server: Добавить IE-CIDR-SG правило + + alt Ошибка в запросе + server-->>user: Показать ошибку в запросе + end + + server->>db: Отправить запрос + db->>db: Проверка входящего запроса + + alt Нет такого значения имени SG + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Пересечение значений source портов + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + db->>db: Сохранить данные о IE-CIDR-SG в БД + + db-->>server: Ответ с успешно добавленным новым IE-CIDR-SG правилом + server-->>user: Успешно добавленное новое IE-CIDR-SG правило + ``` + + +
    + +
    +
    +

    Ingress

    + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "cidrSgRules": { + "rules": [ + { + "traffic": "Ingress", + "CIDR": "10.0.0.0/8", + "SG": "sg-local-example", + "logs": true, + "trace": true, + "ports": [{ + "d": "64321", + "s": "443,80" + }], + "transport": "UDP", + "action": "ACCEPT", + "priority": { + "some": 300 + } + } + ] + }, + "syncOp": "Upsert" + }' + ``` +
    +
    +

    Egress

    + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "cidrSgRules": { + "rules": [ + { + "traffic": "Egress", + "CIDR": "10.0.0.0/8", + "SG": "sg-local-example", + "logs": true, + "trace": true, + "ports": [{ + "d": "64321", + "s": "443,80" + }], + "transport": "UDP", + "action": "ACCEPT", + "priority": { + "some": 300 + } + } + ] + }, + "syncOp": "Upsert" + }' + ``` +
    +
    + +

    Выходные параметры

    + +
    + + + + + + + + + + + + + + + +
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    +
    + +

    Возможные ошибки API

    + + + + +

    Диаграмма последовательности

    + + + + ```mermaid + sequenceDiagram + participant user as User + participant server as Server + participant db as Database + + user->>server: Добавить IE-CIDR-SG правило + + alt Ошибка в запросе + server-->>user: Показать ошибку в запросе + end + + server->>db: Отправить запрос + db->>db: Проверка входящего запроса + + alt Нет такого значения имени SG + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Пересечение значений source портов + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + db->>db: Сохранить данные о IE-CIDR-SG в БД + + db-->>server: Ответ с успешно добавленным новым IE-CIDR-SG правилом + server-->>user: Успешно добавленное новое IE-CIDR-SG правило + ``` + + +
    + +
    +
    +

    Ingress

    + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "cidrSgIcmpRules": { + "rules": [ + { + "traffic": "Ingress", + "CIDR": "10.0.0.0/8", + "SG": "sg-local-example", + "logs": true, + "trace": true, + "ICMP": { + "IPv": "IPv4", + "Types": [0, 8] + }, + "action": "ACCEPT", + "priority": { + "some": 200 + } + } + ] + }, + "syncOp": "Upsert" + }' + ``` +
    +
    +

    Egress

    + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "cidrSgIcmpRules": { + "rules": [ + { + "traffic": "Egress", + "CIDR": "10.0.0.0/8", + "SG": "sg-local-example", + "logs": true, + "trace": true, + "ICMP": { + "IPv": "IPv4", + "Types": [0, 8] + }, + "action": "ACCEPT", + "priority": { + "some": 200 + } + } + ] + }, + "syncOp": "Upsert" + }' + ``` +
    +
    + +

    Выходные параметры

    + +
    + + + + + + + + + + + + + + + +
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    +
    + +

    Возможные ошибки API

    + + + + +

    Диаграмма последовательности

    + + + + ```mermaid + sequenceDiagram + participant user as User + participant server as Server + participant db as Database + + user->>server: Добавить IE-CIDR-SG правило + + alt Ошибка в запросе + server-->>user: Показать ошибку в запросе + end + + server->>db: Отправить запрос + db->>db: Проверка входящего запроса + + alt Нет такого значения имени SG + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Некорректное значение кода ICMP + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Некорректное значение IPv + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + db->>db: Сохранить данные о IE-CIDR-SG в БД + + db-->>server: Ответ с успешно добавленным новым IE-CIDR-SG правилом + server-->>user: Успешно добавленное новое IE-CIDR-SG правило + ``` + + +
    + + +
    +
    +

    Ingress

    + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "cidrSgIcmpRules": { + "rules": [ + { + "traffic": "Ingress", + "CIDR": "::ffff:a00:0/104", + "SG": "sg-local-example", + "logs": true, + "trace": true, + "ICMP": { + "IPv": "IPv6", + "Types": [0, 8] + }, + "action": "ACCEPT", + "priority": { + "some": 200 + } + } + ] + }, + "syncOp": "Upsert" + }' + ``` +
    +
    +

    Egress

    + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "cidrSgIcmpRules": { + "rules": [ + { + "traffic": "Egress", + "CIDR": "::ffff:a00:0/104", + "SG": "sg-local-example", + "logs": true, + "trace": true, + "ICMP": { + "IPv": "IPv6", + "Types": [0, 8] + }, + "action": "ACCEPT", + "priority": { + "some": 200 + } + } + ] + }, + "syncOp": "Upsert" + }' + ``` +
    +
    + +

    Выходные параметры

    + +
    + + + + + + + + + + + + + + + +
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    +
    + +

    Возможные ошибки API

    + + + + +

    Диаграмма последовательности

    + + + + ```mermaid + sequenceDiagram + participant user as User + participant server as Server + participant db as Database + + user->>server: Добавить IE-CIDR-SG правило + + alt Ошибка в запросе + server-->>user: Показать ошибку в запросе + end + + server->>db: Отправить запрос + db->>db: Проверка входящего запроса + + alt Нет такого значения имени SG + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Некорректное значение кода ICMP + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Некорректное значение IPv + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + db->>db: Сохранить данные о IE-CIDR-SG в БД + + db-->>server: Ответ с успешно добавленным новым IE-CIDR-SG правилом + server-->>user: Успешно добавленное новое IE-CIDR-SG правило + ``` + + +
    +
    diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_Nftables.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_Nftables.mdx new file mode 100644 index 00000000..36ac6dd1 --- /dev/null +++ b/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_Nftables.mdx @@ -0,0 +1,329 @@ +import Tabs from '@theme/Tabs' +import TabItem from '@theme/TabItem' +import { DICTIONARY } from '@site/src/constants/dictionary.ts' + +
    + В этом разделе мы покажем, как правила фильтрации трафика, созданные с помощью Terraform и API, внедряются в настройки + nftables. Это позволяет легко интегрировать сложные правила безопасности прямо в вашу систему фильтрации трафика. +
    +
      +
    • `$Trace` - {DICTIONARY.trace.short}
    • +
    • `$SrcCIDR` - {DICTIONARY.srcDstCidr.short}
    • +
    • `$DstCIDR` - {DICTIONARY.srcDstCidr.short}
    • +
    • `$Transport` - {DICTIONARY.transport.short}
    • +
    • `$NftRuleType` - {DICTIONARY.nftRuleType.short}
    • +
    • `$IcmpTypeList` - {DICTIONARY.icmpTypes.short}
    • +
    • `$SrcPorts` - {DICTIONARY.srcPorts.short}
    • +
    • `$DstPorts` - {DICTIONARY.dstPorts.short}
    • +
    • `$NftCounter` - {DICTIONARY.nftCounter.short}
    • +
    • `$Log` - {DICTIONARY.log.short}
    • +
    • `$NftRuleVerdict` - {DICTIONARY.nftRuleVerdict.short}
    • +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Области применения полей относительно используемого протокола
    шаблон параметраструктура параметразначенияtransport*
    TCPUDPICMP
    $Trace`nftrace set` +
      +
    • + 1 - трассировка включена +
    • +
    • + 0 - трассировка выключена +
    • +
    +
    $SrcCIDR + `saddr` + `${CIDR}`
    $DstCIDR + `daddr` + `${CIDR}`
    $Transport + Enum("tcp", "udp", "icmp") +
    $NftRuleType`ip`
    $IcmpTypeList`type {}`Набор целочисленных значений от 0 до 255
    $SrcPorts`sport {}`Набор целочисленных значений от 0 до 65535
    $DstPorts`dport {}`Набор целочисленных значений от 0 до 65535
    $NftCounter + `counter` + `packets 0 bytes 0`
    $Log + `log` + `level debug flags ip options`
    $NftRuleVerdict`accept` +
    + + $NftRuleVerdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле может принимать значение `accept` или `drop` в зависимости от указанного в правиле. + +
    + Подробнее: [Verdict statement](/tech-docs/to-nft/nftables/verdict-statement) +
    +
    + +

    Пример использования

    + + + + + + #### Шаблон + + ```hcl + chain INGRESS-INPUT-sgName { + # ********** + $Trace $NftRuleType $SrcCIDR $Transport $SrcPorts $DstPorts $NftCounter $Log $NftRuleVerdict + # ********** + } + ``` + + #### Пример использования + + ```hcl + chain INGRESS-INPUT-sg-local-example { + # ********** + nftrace set 1 ip saddr { 10.0.0.0/8 } tcp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + # ********** + } + ``` + + + #### Шаблон + + ```hcl + chain EGRESS-POSTROUTING-sgName { + # ********** + $Trace $NftRuleType $DstCIDR $Transport $SrcPorts $DstPorts $NftCounter $Log $NftRuleVerdict + # ********** + } + ``` + + #### Пример использования + + ```hcl + chain EGRESS-POSTROUTING-sg-local-example { + # ********** + nftrace set 1 ip daddr { 10.0.0.0/8 } tcp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + # ********** + } + ``` + + + + + + + #### Шаблон + + ```hcl + chain INGRESS-INPUT-sgName { + # ********** + $Trace $NftRuleType $SrcCIDR $Transport $SrcPorts $DstPorts $NftCounter $Log $NftRuleVerdict + # ********** + } + ``` + + #### Пример использования + + ```hcl + chain INGRESS-INPUT-sg-local-example { + # ********** + nftrace set 1 ip saddr { 10.0.0.0/8 } udp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + # ********** + } + ``` + + + #### Шаблон + + ```hcl + chain EGRESS-POSTROUTING-sgName { + # ********** + $Trace $NftRuleType $DstCIDR $Transport $SrcPorts $DstPorts $NftCounter $Log $NftRuleVerdict + # ********** + } + ``` + + #### Пример использования + + ```hcl + chain EGRESS-POSTROUTING-sg-local-example { + # ********** + nftrace set 1 ip daddr { 10.0.0.0/8 } udp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + # ********** + } + ``` + + + + + + + #### Шаблон + + ```hcl + chain INGRESS-INPUT-sgName { + # ********** + $Trace $NftRuleType $DstCIDR $Transport $IcmpTypeList $NftCounter $Log $NftRuleVerdict + $Trace $NftRuleType $DstCIDR $Transport $IcmpTypeList $NftCounter $Log $NftRuleVerdict + # ********** + } + ``` + + #### Пример использования + + ```hcl + chain INGRESS-INPUT-sg-local-example { + # ********** + nftrace set 1 ip saddr { 10.0.0.0/8 } icmp type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options accept + nftrace set 1 ip saddr { ::ffff:a00:0/104 } icmp6 type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options accept + # ********** + } + ``` + + + #### Шаблон + + ```hcl + chain EGRESS-POSTROUTING-sgName { + # ********** + $Trace $NftRuleType $DstCIDR $Transport $IcmpTypeList $NftCounter $Log $NftRuleVerdict + $Trace $NftRuleType $DstCIDR $Transport $IcmpTypeList $NftCounter $Log $NftRuleVerdict + # ********** + } + ``` + + #### Пример использования + + ```hcl + chain EGRESS-POSTROUTING-sg-local-example { + # ********** + nftrace set 1 ip daddr { 10.0.0.0/8 } icmp type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options accept + nftrace set 1 ip daddr { ::ffff:a00:0/104 } icmp6 type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options accept + # ********** + } + ``` + + + + + diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_TerraformModule.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_TerraformModule.mdx new file mode 100644 index 00000000..0f405fcf --- /dev/null +++ b/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_TerraformModule.mdx @@ -0,0 +1,428 @@ +import Tabs from '@theme/Tabs' +import TabItem from '@theme/TabItem' + +import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' +import { DICTIONARY } from '@site/src/constants/dictionary.ts' +import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' + +
    +

    {DICTIONARY.terraformModule.full}

    +
    +
    + Далее везде в документе подразумевается что все места, содержащие переменную `$traffic`, могут принять одно из двух + значений: `Ingress` `Egress`. Аналогчично для `$transport` подразумевается одно из четырех значений: `tcp`, `udp`, + `icmpIPv4`, `icmpIPv6` +
    + +
      +
    • `rules` - {DICTIONARY.rules.short}
    • +
    • `rules.$traffic[]` - {DICTIONARY.traffic.short}
    • +
    • `rules.$traffic[].cidrSet[]` - {DICTIONARY.cidrSet.short}
    • +
    • `rules.$traffic[].access.$transport` - {DICTIONARY.transport.short}
    • +
    • `rules.$traffic[].access.$transport.action` - {DICTIONARY.action.short}
    • +
    • `rules.$traffic[].access.$transport.priority` - {DICTIONARY.priority.short}
    • +
    • `rules.$traffic[].access.$transport.logs` - {DICTIONARY.log.short}
    • +
    • `rules.$traffic[].access.$transport.trace` - {DICTIONARY.trace.short}
    • +
    • `rules.$traffic[].access.$transport.ports[].description` - {DICTIONARY.description.short}
    • +
    • `rules.$traffic[].access.$transport.ports[].ports_to[]` - {DICTIONARY.dstPorts.short}
    • +
    • `rules.$traffic[].access.$transport.ports[].ports_from[]` - {DICTIONARY.srcPorts.short}
    • +
    • `rules.$traffic[].access.$transport.types[].description` - {DICTIONARY.description.short}
    • +
    • `rules.$traffic[].access.$transport.types[].type[]` - {DICTIONARY.icmpTypes.short}
    • + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Области применения полей относительно используемого протокола
    название параметратип данныхзначение по умолчаниюtransport*
    TCPUDPICMP
    rulesObject[][]
    rules.$traffic[]Object[]
    rules.$traffic[].cidrSet[]String[]
    rules.$traffic[].access.$transportObject
    rules.$traffic[].access.$transport.action + Enum("ACCEPT", "DROP") +
    rules.$traffic[].access.$transport.priorityString
    rules.$traffic[].access.$transport.logBooleanfalse
    rules.$traffic[].access.$transport.traceBooleanfalse
    rules.$traffic[].access.$transport.ports[]Object[]{}
    rules.$traffic[].access.$transport.ports[].descriptionString""
    rules.$traffic[].access.$transport.ports[].ports_to[]Integer[]null
    rules.$traffic[].access.$transport.ports[].ports_from[]Integer[]null
    rules.$traffic[].access.$transport.types[]Object[]
    rules.$traffic[].access.$transport.types[].descriptionString""
    rules.$traffic[].access.$transport.types[].type[]Integer[]null
    +
    + +

    Ограничения

    + +
      +
    • + `name`: + +
    • +
    • + `rules.$traffic[].cidrSet`: + +
    • +
    • + `rules.$traffic[].access.$transport.priority`: + +
    • +
    • + `rules.$traffic[].access.$transport.ports[].ports_to[]`: + +
    • +
    • + `rules.$traffic[].access.$transport.ports[].ports_from[]`: + +
    • +
    • + `rules.$traffic[].access.$transport.types[].type[]`: + +
    • +
    + +

    Пример использования

    + + + +
    +
    +

    Ingress

    + + ```yaml + name: sg-local-example + rules: + ingress: + - cidrSet: + - "10.0.0.0/8" + access: + tcp: + action: ACCEPT + priority: 300 + logs: true + trace: true + ports: + - description: "example" + ports_from: + - 64231 + ports_to: + - 443 + - 80 + ``` + +
    +
    +

    Egress

    + + ```yaml + name: sg-local-example + rules: + egress: + - cidrSet: + - "10.0.0.0/8" + access: + tcp: + action: ACCEPT + priority: 300 + logs: true + trace: true + ports: + - description: "example" + ports_from: + - 64231 + ports_to: + - 443 + - 80 + ``` + +
    +
    + +
    + +
    +
    +

    Ingress

    + + ```yaml + name: sg-local-example + rules: + ingress: + - cidrSet: + - "10.0.0.0/8" + access: + udp: + action: ACCEPT + priority: 300 + logs: true + trace: true + ports: + - description: "example" + ports_from: + - 64231 + ports_to: + - 443 + - 80 + ``` + +
    +
    +

    Egress

    + + ```yaml + name: sg-local-example + rules: + egress: + - cidrSet: + - "10.0.0.0/8" + access: + udp: + action: ACCEPT + priority: 300 + logs: true + trace: true + ports: + - description: "example" + ports_from: + - 64231 + ports_to: + - 443 + - 80 + ``` +
    +
    + +
    + +
    +
    +

    Ingress

    + + ```yaml + name: sg-local-example + rules: + ingress: + - cidrSet: + - "10.0.0.0/8" + access: + icmpIPv4: + action: ACCEPT + priority: 200 + logs: true + trace: true + types: + - description: "example" + type: + - 0 + - 8 + ``` + +
    +
    +

    Egress

    + + ```yaml + name: sg-local-example + rules: + egress: + - cidrSet: + - "10.0.0.0/8" + access: + icmpIPv4: + action: ACCEPT + priority: 200 + logs: true + trace: true + types: + - description: "example" + type: + - 0 + - 8 + ``` +
    +
    + +
    + + +
    +
    +

    Ingress

    + + ```yaml + name: sg-local-example + rules: + ingress: + - cidrSet: + - "::ffff:a00:0/104" + access: + icmpIPv6: + action: ACCEPT + priority: 200 + logs: true + trace: true + types: + - description: "example" + type: + - 0 + - 8 + ``` + +
    +
    +

    Egress

    + + ```yaml + name: sg-local-example + rules: + egress: + - cidrSet: + - "::ffff:a00:0/104" + access: + icmpIPv6: + action: ACCEPT + priority: 200 + logs: true + trace: true + types: + - description: "example" + type: + - 0 + - 8 + ``` +
    +
    + +
    + +
    diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_TerraformResource.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_TerraformResource.mdx new file mode 100644 index 00000000..cb5cb22c --- /dev/null +++ b/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_TerraformResource.mdx @@ -0,0 +1,454 @@ +import Tabs from '@theme/Tabs' +import TabItem from '@theme/TabItem' +import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' +import { DICTIONARY } from '@site/src/constants/dictionary.ts' +import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' + +
    +

    {DICTIONARY.terraformResource.full}

    +
    +
      +
    • `items` - список ресурсов создаваемые terraform ресурсом.
    • +
    • `items.$ruleName` - уникальное имя создаваемого ресурса.
    • +
    • `items.$ruleName.traffic` - {DICTIONARY.traffic.short}
    • +
    • `items.$ruleName.transport` - {DICTIONARY.transport.short}
    • +
    • `items.$ruleName.cidr` - {DICTIONARY.cidrSet.short}
    • +
    • `items.$ruleName.sg_name` - {DICTIONARY.sgLocal.short}
    • +
    • `items.$ruleName.ports` - {DICTIONARY.ports.short}
    • +
    • `items.$ruleName.ports[].d` - {DICTIONARY.dstPorts.short}
    • +
    • `items.$ruleName.ports[].s` - {DICTIONARY.srcPorts.short}
    • +
    • `items.$ruleName.logs` - {DICTIONARY.log.short}
    • +
    • `items.$ruleName.trace` - {DICTIONARY.trace.short}
    • +
    • `items.$ruleName.ip_v` - {DICTIONARY.icmpV.short}
    • +
    • `items.$ruleName.type` - {DICTIONARY.icmpTypes.short}
    • +
    • `items.$ruleName.action` - {DICTIONARY.action.short}
    • +
    • `items.$ruleName.priority` - {DICTIONARY.priority.short}
    • +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Области применения полей относительно используемого протокола
    названиеобязательностьтип данныхзначение по умолчаниюtransport*
    TCPUDPICMP
    itemsдаObject
    items.$ruleNameдаObject
    items.$ruleName.trafficда + Enum("ingress", "egress") +
    items.$ruleName.transportдаEnum("TCP", "UDP")
    items.$ruleName.cidrдаString
    items.$ruleName.sg_nameдаString
    items.$ruleName.portsнетObject[]null
    items.$ruleName.ports[].dнетString""
    items.$ruleName.ports[].sнетString""
    items.$ruleName.logsнетBooleanfalse
    items.$ruleName.traceнетBooleanfalse
    items.$ruleName.ip_vдаEnum("IPv4", "IPv6")
    items.$ruleName.typeдаString[]null
    items.$ruleName.actionда + Enum("ACCEPT", "DROP") +
    items.$ruleName.priorityнетInteger
    +
    + +

    Ограничения

    + +
      +
    • + `items`: + +
    • +
    • + `items.$ruleName`: + +
    • +
    • + `items.$ruleName.sg_name`: + +
    • +
    • + `items.$ruleName.cidr`: + +
    • +
    • + `items.$ruleName.ports[].s`: + +
    • +
    • + `items.$ruleName.ports[].d`: + +
    • +
    • + `items.$ruleName.type[]`: + +
    • +
    • + `items.$ruleName.priority`: + +
    • +
    + +

    Пример использования

    + + + +
    +
    +

    Ingress

    + + + ```hcl + resource "sgroups_cidr_rules" "rules" { + items = { + "tcp:cidr(10.0.0.0/8)sg(sg-example)ingress" = { + traffic = "ingress" + logs = true + trace = true + sg_name = "sg-local-example" + cidr = "10.0.0.0/8" + transport = "tcp" + ports = [{ + d = "80" + s = "" + }] + action = "ACCEPT" + priority = 300 + } + } + } + ``` + + +
    +
    +

    Egress

    + + + ```hcl + resource "sgroups_cidr_rules" "rules" { + items = { + "tcp:cidr(10.0.0.0/8)sg(sg-example)egress" = { + traffic = "egress" + logs = true + trace = true + sg_name = "sg-local-example" + cidr = "10.0.0.0/8" + transport = "tcp" + ports = [{ + d = "80" + s = "" + }] + action = "ACCEPT" + priority = 300 + } + } + } + ``` + + +
    +
    +
    + + +
    +
    +

    Ingress

    + + + ```hcl + resource "sgroups_cidr_rules" "rules" { + items = { + "udp:cidr(10.0.0.0/8)sg(sg-example)ingress" = { + traffic = "ingress" + logs = true + trace = true + sg_name = "sg-local-example" + cidr = "10.0.0.0/8" + transport = "udp" + ports = [{ + d = "80" + s = "" + }] + action = "ACCEPT" + priority = 300 + } + } + } + ``` + + +
    +
    +

    Egress

    + + + ```hcl + resource "sgroups_cidr_rules" "rules" { + items = { + "udp:cidr(10.0.0.0/8)sg(sg-example)egress" = { + traffic = "egress" + logs = true + trace = true + sg_name = "sg-local-example" + cidr = "10.0.0.0/8" + transport = "udp" + ports = [{ + d = "80" + s = "" + }] + action = "ACCEPT" + priority = 300 + } + } + } + ``` +
    +
    +
    + + +
    +
    +

    Ingress

    + + ```hcl + resource "sgroups_cidr_icmp_rules" "rules" { + items = { + "icmp4:cidr(10.0.0.0/8)sg(sg-example)ingress" = { + traffic = "ingress" + logs = true + trace = true + sg_name = "sg-local-example" + cidr = "10.0.0.0/8" + ip_v = "IPv4" + type = [0,8] + action = "ACCEPT" + priority = 200 + } + } + } + ``` + + +
    +
    +

    Egress

    + + + ```hcl + resource "sgroups_cidr_icmp_rules" "rules" { + items = { + "icmp4:cidr(10.0.0.0/8)sg(sg-example)egress" = { + traffic = "egress" + logs = true + trace = true + sg_name = "sg-local-example" + cidr = "10.0.0.0/8" + ip_v = "IPv4" + type = [0,8] + action = "ACCEPT" + priority = 200 + } + } + } + ``` +
    +
    +
    + + + +
    +
    +

    Ingress

    + + ```hcl + resource "sgroups_cidr_icmp_rules" "rules" { + items = { + "icmp6:cidr(::ffff:a00:0/104)sg(sg-example)ingress" = { + traffic = "ingress" + logs = true + trace = true + sg_name = "sg-local-example" + cidr = "::ffff:a00:0/104" + ip_v = "IPv6" + type = [0,8] + action = "ACCEPT" + priority = 200 + } + } + } + ``` + + +
    +
    +

    Egress

    + + + ```hcl + resource "sgroups_cidr_icmp_rules" "rules" { + items = { + "icmp6:cidr(::ffff:a00:0/104)sg(sg-example)egress" = { + traffic = "egress" + logs = true + trace = true + sg_name = "sg-local-example" + cidr = "::ffff:a00:0/104" + ip_v = "IPv6" + type = [0,8] + action = "ACCEPT" + priority = 200 + } + } + } + ``` +
    +
    +
    + +
    diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_Api.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_Api.mdx new file mode 100644 index 00000000..22350d03 --- /dev/null +++ b/documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_Api.mdx @@ -0,0 +1,307 @@ +import Tabs from '@theme/Tabs' +import TabItem from '@theme/TabItem' +import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' +import { DICTIONARY } from '@site/src/constants/dictionary.ts' +import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' +import { FancyboxDiagram } from '@site/src/components/commonBlocks/FancyboxDiagram' +import { RESPOND_CODES } from '@site/src/constants/errorCodes.tsx' +import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' + +#### Входные параметры + +
      +
    • `fqdnRules.rules` - {DICTIONARY.rules.short}
    • +
    • `fqdnRules.rules[].FQDN` - {DICTIONARY.fqdn.short}
    • +
    • `fqdnRules.rules[].logs` - {DICTIONARY.log.short}
    • +
    • `fqdnRules.rules[].ports` - {DICTIONARY.trace.short}
    • +
    • `fqdnRules.rules[].ports[].d` - {DICTIONARY.dstPorts.short}
    • +
    • `fqdnRules.rules[].ports[].s` - {DICTIONARY.srcPorts.short}
    • +
    • `fqdnRules.rules[].sgFrom` - {DICTIONARY.sgLocal.short}
    • +
    • `fqdnRules.rules[].transport` - {DICTIONARY.transport.short}
    • +
    • `fqdnRules.rules[].action` - {DICTIONARY.action.short}
    • +
    • `fqdnRules.rules[].priority` - {DICTIONARY.priorityst.short}
    • +
    • `fqdnRules.rules[].priority.some` - {DICTIONARY.priority.short}
    • + {/*
    • `fqdnRules.rules[].protocols` - {DICTIONARY.l7ProtocolList.short}
    • */} +
    • `syncOp` - {DICTIONARY.syncOp.short}
    • +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {/* + + + + + + + */} + + + + + + + + + +
    Области применения полей относительно используемого протокола
    названиеобязательностьтип данныхзначение по умолчаниюtransport*
    TCPUDP
    fqdnRules.rulesдаObject
    fqdnRules.rules[].FQDNдаString
    fqdnRules.rules[].logsнетBooleanfalse
    fqdnRules.rules[].portsнетObject[]null
    fqdnRules.rules[].ports[].dнетStringnull
    fqdnRules.rules[].ports[].sнетStringnull
    fqdnRules.rules[].sgFromдаString
    fqdnRules.rules[].transportдаEnum("TCP", "UDP")
    fqdnRules.rules[].actionдаEnum("UNDEF", "ACCEPT", "DROP")
    fqdnRules.rules[].priorityнетObject
    fqdnRules.rules[].priority.someнетInteger
    fqdnRules.rules[].protocolsнетObject[]
    syncOpда + Enum("Delete", "Upsert", "FullSync") +
    +
    + +

    Ограничения

    + +
      +
    • + `fqdnRules.rules[].FQDN`: + +
    • +
    • + `fqdnRules.rules[].sgFrom`: + +
    • +
    • + `fqdnRules.rules[].protocols[]`: + +
    • +
    • + `fqdnRules.rules[].ports[].ports_to[]`: + +
    • +
    • + `fqdnRules.rules[].ports[].ports_from[]`: + +
    • +
    + +

    Пример использования

    + + + + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "fqdnRules": { + "rules": [{ + "FQDN": "example.com", + "logs": true, + "ports": [{ + "d": "443,80", + "s": "64231" + }], + "sgFrom": "sg-local-example", + "transport": "TCP", + "action": "ACCEPT", + "priority": { + "some": 100 + } + }] + }, + "syncOp": "Upsert" + }' + ``` + + + + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "fqdnRules": { + "rules": [{ + "FQDN": "example.com", + "logs": true, + "ports": [{ + "d": "443,80", + "s": "64231" + }], + "sgFrom": "sg-local-example", + "transport": "UDP", + "action": "ACCEPT", + "priority": { + "some": 100 + } + }] + }, + "syncOp": "Upsert" + }' + ``` + + + + +

    Выходные параметры

    + +
    + + + + + + + + + + + + + + + +
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    +
    + +

    Возможные ошибки API

    + + + + +

    Диаграмма последовательности

    + + + +```mermaid + +sequenceDiagram +participant user as User +participant server as Server +participant db as Database + +user->>server: Добавить FQDN правило + +alt Ошибка в запросе +server-->>user: Показать ошибку в запросе +end + +server->>db: Отправить запрос +db->>db: Проверка входящего запроса + +alt Нет такого значения имени SG +db-->>server: Ответ с ошибкой +server-->>user: Показать ошибку в запросе +end + +alt Пересечение значений source портов +db-->>server: Ответ с ошибкой +server-->>user: Показать ошибку в запросе +end + +db->>db: Сохранить данные о FQDN в БД + +db-->>server: Ответ с успешно добавленным новым FQDN правилом +server-->>user: Успешно добавленное новое FQDN правило + +``` + + + diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_Nftables.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_Nftables.mdx new file mode 100644 index 00000000..9455722c --- /dev/null +++ b/documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_Nftables.mdx @@ -0,0 +1,116 @@ +
    + В этом разделе мы покажем, как правила фильтрации трафика, созданные с помощью Terraform и API, внедряются в настройки + nftables. Это позволяет легко интегрировать сложные правила безопасности прямо в вашу систему фильтрации трафика. +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Области применения полей относительно используемого протокола
    шаблон параметраструктура параметразначениеописание
    $\{Trace\}`nftrace set` +
      +
    • 1 - трассировка включена
    • +
    • 0 - трассировка выключена
    • +
    +
    Трассировка указанного правила (опциональна, можно включить/выключить)
    $\{DstFQDN\} + `saddr @${IPSet(sgName)}` + Наименование IPSet в котором описаны сети в FQDNЗначение типа string, не должно содержать в себе пробелов
    $\{Transport\}`tcp` | `udp`протокол передачи данных в цепочке правил.Одно из двух значений `tcp` | `udp`
    $\{RuleType\}`ip`Описывает, что принимает трафик типа ip
    $\{SrcPorts\}`sport {}`Набор целочисленных значений от 0 до 65535ЗЗначения `sport` (source port). Может быть как одно значение, как и множество значений портов. В случае если одно значение у порта то передается значение либо как целочисленное значение либо как название порта. Если передается массив значений портов то они должны быть внутри `{}` перечислены через запятую.
    $\{DstPorts\}`dport {}`Набор целочисленных значений от 0 до 65535ЗЗначения `dport` (destination port). Может быть как одно значение, как и множество значений портов. В случае если одно значение у порта то передается значение либо как целочисленное значение либо как название порта. Если передается массив значений портов то они должны быть внутри `{}` перечислены через запятую.
    $\{Counter\} + `counter packets 0 bytes 0` + Не параметризированныйСчетчик, учитывает количество пройденных пакетов с количеством байтов переданной информации в рамках указанной цепочки правил
    $\{Log\} + `log level debug flags ip options` + Не параметризированныйЛогирование указанного правила (опциональна, можно включить/выключить)
    $\{Verdict\}`accept` +
    Не параметризированный
    +
    +
    + $Verdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле может принимать значение `accept` или `drop` в зависимости от указанного в правиле. +
    + Подробнее: [Verdict statement](/tech-docs/to-nft/nftables/verdict-statement) +
    Вердикт политики по пакетам данных
    +
    + +#### Шаблон + +```hcl +chain EGRESS-POSTROUTING-sgName { + # ********** + ${Trace} ${RuleType} ${DstFQDN} ${Transport} ${SrcPorts} ${DstPorts} ${Counter} ${Log} ${Verdict} + # ********** +} +``` + +#### Пример использования + +```hcl +chain EGRESS-POSTROUTING-sg-local-example { + # ********** + nftrace set 1 ip daddr @NetIPv4-fqdn-example.com tcp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + nftrace set 1 ip daddr @NetIPv6-fqdn-example.com tcp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + + nftrace set 1 ip daddr @NetIPv4-fqdn-example.com udp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + nftrace set 1 ip daddr @NetIPv6-fqdn-example.com udp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + # ********** +} +``` diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_TerraformModule.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_TerraformModule.mdx new file mode 100644 index 00000000..2b77d4c5 --- /dev/null +++ b/documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_TerraformModule.mdx @@ -0,0 +1,224 @@ +import Tabs from '@theme/Tabs' +import TabItem from '@theme/TabItem' +import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' +import { DICTIONARY } from '@site/src/constants/dictionary.ts' +import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' + +
    +

    {DICTIONARY.terraformModule.full}

    +
    +
    + Далее везде в документе подразумевается что все места, содержащие переменную `$traffic`, могут принять значениe: + `Egress`. Аналогчично для `$transport` подразумевается одно из двух значений: `tcp`, `udp`. +
    +
      +
    • `rules` - {DICTIONARY.rules.short}
    • +
    • `rules.$traffic[]` - {DICTIONARY.traffic.short}
    • +
    • `rules.$traffic[].fqdnSet[]` - {DICTIONARY.fqdnSet.short}
    • + {/*
    • `rules.$traffic[].access.protocols[]` - {DICTIONARY.l7ProtocolList.short}
    • */} +
    • `rules.$traffic[].access.$transport` - {DICTIONARY.transport.short}
    • +
    • `rules.$traffic[].access.$transport.action` - {DICTIONARY.action.short}
    • +
    • `rules.$traffic[].access.$transport.priority` - {DICTIONARY.priority.short}
    • +
    • `rules.$traffic[].access.$transport.log` - {DICTIONARY.log.short}
    • +
    • `rules.$traffic[].access.$transport.trace` - {DICTIONARY.trace.short}
    • +
    • `rules.$traffic[].access.$transport.ports[].description` - {DICTIONARY.description.short}
    • +
    • `rules.$traffic[].access.$transport.ports[].ports_to[]` - {DICTIONARY.dstPorts.short}
    • +
    • `rules.$traffic[].access.$transport.ports[].ports_from[]` - {DICTIONARY.srcPorts.short}
    • +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Области применения полей относительно используемого протокола
    название параметратип данныхзначение по умолчаниюtransport*
    TCPUDP
    rulesObject[][]
    rules.$traffic[]Object[]
    rules.$traffic[].fqdnSet[]String[]
    rules.$traffic[].access.$transportObject
    rules.$traffic[].access.$transport.action + Enum("ACCEPT", "DROP") +
    rules.$traffic[].access.$transport.priorityString
    rules.$traffic[].access.$transport.logBooleanfalse
    rules.$traffic[].access.$transport.traceBooleanfalse
    rules.$traffic[].access.$transport.ports[]Object[]
    rules.$traffic[].access.$transport.ports[].descriptionString""
    rules.$traffic[].access.$transport.ports[].ports_to[]Integer[]null
    rules.$traffic[].access.$transport.ports[].ports_from[]Integer[]null
    +
    + +#### Ограничения + +
      +
    • + `name`: + +
    • +
    • + `rules.$traffic[].fqdnSet`: + +
    • + {/*
    • + `rules.$traffic[].protocols[]`: + +
    • */} +
    • + `rules.$traffic[].access.$transport.priority`: + +
    • +
    • + `rules.$traffic[].access.$transport.ports[].ports_to[]`: + +
    • +
    • + `rules.$traffic[].access.$transport.ports[].ports_from[]`: + +
    • +
    + +

    + + Пример использования + +

    + + + + + ```yaml + name: sg-local-example + rules: + egress: + - fqdnSet: + - example.com + access: + tcp: + action: ACCEPT + priority: 100 + logs: true + trace: true + ports: + - description: "example" + ports_from: + - 64231 + ports_to: + - 443 + - 80 + ``` + + + + ```yaml + name: sg-local-example + rules: + egress: + - fqdnSet: + - example.com + access: + udp: + action: ACCEPT + priority: 100 + logs: true + trace: true + ports: + - description: "example" + ports_from: + - 64231 + ports_to: + - 443 + - 80 + ``` + + + diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_TerraformResource.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_TerraformResource.mdx new file mode 100644 index 00000000..9b7b2426 --- /dev/null +++ b/documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_TerraformResource.mdx @@ -0,0 +1,236 @@ +import Tabs from '@theme/Tabs' +import TabItem from '@theme/TabItem' +import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' +import { DICTIONARY } from '@site/src/constants/dictionary.ts' +import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' + +
    +

    {DICTIONARY.terraformResource.full}

    +
    +
      +
    • `items` - список ресурсов создаваемые terraform ресурсом.
    • +
    • `items.$ruleName` - уникальное имя создаваемого ресурса.
    • +
    • `items.$ruleName.transport` - {DICTIONARY.transport.short}
    • +
    • `items.$ruleName.protocols[]` - {DICTIONARY.l7ProtocolList.short}
    • +
    • `items.$ruleName.logs` - {DICTIONARY.log.short}
    • +
    • `items.$ruleName.trace` - {DICTIONARY.trace.short}
    • +
    • `items.$ruleName.sg_from` - {DICTIONARY.sgLocal.short}
    • +
    • `items.$ruleName.fqdn` - {DICTIONARY.fqdn.short}
    • +
    • `items.$ruleName.ports[]` - {DICTIONARY.ports.short}
    • +
    • `items.$ruleName.ports[].s` - {DICTIONARY.srcPorts.short}
    • +
    • `items.$ruleName.ports[].d` - {DICTIONARY.dstPorts.short}
    • +
    • `items.$ruleName.action` - {DICTIONARY.action.short}
    • +
    • `items.$ruleName.priority` - {DICTIONARY.priority.short}
    • +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Области применения полей относительно используемого протокола
    названиеобязательностьтип данныхзначение по умолчаниюtransport*
    TCPUDP
    itemsдаObject
    items.$ruleNameдаObject
    items.$ruleName.transportдаEnum("TCP", "UDP")
    items.$ruleName.logsнетBooleanfalse
    items.$ruleName.traceнетBooleanfalse
    items.$ruleName.sg_fromдаString
    items.$ruleName.fqdnдаString
    items.$ruleName.ports[]нетObject[]null
    items.$ruleName.ports[].sнетString""
    items.$ruleName.ports[].dнетString""
    items.$ruleName.actionда + Enum("ACCEPT", "DROP") +
    items.$ruleName.priorityнетInteger
    +
    + +#### Ограничения + +
      +
    • + `items`: + +
    • +
    • + `items.$ruleName`: + +
    • +
    • + `items.$ruleName.protocols[]`: + +
    • +
    • + `items.$ruleName.sg_from`: + +
    • +
    • + `items.$ruleName.fqdn`: + +
    • +
    • + `items.$ruleName.ports[].s`: + +
    • +
    • + `items.$ruleName.ports[].d`: + +
    • +
    • + `items.$ruleName.priority`: + +
    • +
    + +#### Пример использования + + + + + ```hcl + resource "sgroups_fqdn_rules" "rules" { + items = { + "tcp:sg(sg-local-example)fqdn(example.com)" = { + transport = "tcp" + sg_from = "sg-local-example" + fqdn = "example.com" + ports = [{ + d = "443,80" + s = "64231" + }] + logs = true + trace = true + action = "ACCEPT" + priority = 100 + } + } + } + ``` + + + + ```hcl + resource "sgroups_fqdn_rules" "rules" { + items = { + "udp:sg(sg-local-example)fqdn(example.com)" = { + transport = "udp" + sg_from = "sg-local-example" + fqdn = "example.com" + ports = [{ + d = "443,80" + s = "64231" + }] + logs = true + trace = true + action = "ACCEPT" + priority = 100 + } + } + } + ``` + + + diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_Api.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_Api.mdx new file mode 100644 index 00000000..a13ccd7f --- /dev/null +++ b/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_Api.mdx @@ -0,0 +1,763 @@ +import Tabs from '@theme/Tabs' +import TabItem from '@theme/TabItem' +import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' +import { DICTIONARY } from '@site/src/constants/dictionary.ts' +import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' +import { FancyboxDiagram } from '@site/src/components/commonBlocks/FancyboxDiagram' +import { RESPOND_CODES } from '@site/src/constants/errorCodes.tsx' +import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' + +#### Входные параметры + +
      +
    • `$node.rules[]` - {DICTIONARY.rules.short}
    • +
    • `$node.rules[].Sg` - {DICTIONARY.sg.short}
    • +
    • `$node.rules[].SgLocal` - {DICTIONARY.sgLocal.short}
    • +
    • `$node.rules[].logs` - {DICTIONARY.log.short}
    • +
    • `$node.rules[].trace` - {DICTIONARY.trace.short}
    • +
    • `$node.rules[].ports` - {DICTIONARY.ports.short}
    • +
    • `$node.rules[].ports[].d` - {DICTIONARY.dstPorts.short}
    • +
    • `$node.rules[].ports[].s` - {DICTIONARY.srcPorts.short}
    • +
    • `$node.rules[].traffic` - {DICTIONARY.traffic.short}
    • +
    • `$node.rules[].transport` - {DICTIONARY.transport.short}
    • +
    • `$node.rules[].ICMP` - {DICTIONARY.apiIcmp.short}
    • +
    • `$node.rules[].ICMP.IPv` - {DICTIONARY.icmpV.short}
    • +
    • `$node.rules[].ICMP.Types` - {DICTIONARY.icmpTypes.short}
    • +
    • `$node.rules[].action` - {DICTIONARY.action.short}
    • +
    • `$node.rules[].priority` - {DICTIONARY.priorityst.short}
    • +
    • `$node.rules[].priority.some` - {DICTIONARY.priority.short}
    • +
    • `syncOp` - {DICTIONARY.syncOp.short}
    • +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Области применения полей относительно используемого протокола
    названиеобязательностьтип данныхзначение по умолчаниюtransport*
    TCPUDPICMP
    $node.rules[]даObject[]null
    $node.rules[].SgдаString
    $node.rules[].SgLocalдаString
    $node.rules[].logsнетBooleanfalse
    $node.rules[].traceнетBooleanfalse
    $node.rules[].portsнетObject[]null
    $node.rules[].ports[].dнетStringnull
    $node.rules[].ports[].sнетStringnull
    $node.rules[].trafficдаEnum("Ingress", "Egress")
    $node.rules[].transportнетEnum("TCP", "UDP")TCP
    $node.rules[].ICMPдаObject
    $node.rules[].ICMP.IPvдаEnum("IPv4", "IPv6")
    $node.rules[].ICMP.TypesнетString[][]
    $node.rules[].actionда + Enum("UNDEF", "ACCEPT", "DROP") +
    $node.rules[].priorityнетObject
    $node.rules[].priority.someнетInteger
    syncOpда + Enum("Delete", "Upsert", "FullSync") +
    +
    + +

    Ограничения

    + +
      +
    • + `sgSgRules.rules[].Sg`: + +
    • +
    • + `sgSgRules.rules[].SgLocal`: + +
    • +
    • + `sgSgRules.rules[].ports[].ports_to[]`: + +
    • +
    • + `sgSgRules.rules[].ports[].ports_from[]`: + +
    • +
    • + `sgSgRules.rules[].ICMP.Types[]`: + +
    • +
    + +

    Пример использования

    + + + +
    +
    +

    Ingress

    + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "sgSgRules": { + "rules": [ + { + "traffic": "Ingress", + "Sg": "sg-example", + "SgLocal": "sg-local-example", + "logs": true, + "trace": true, + "ports": [{ + "d": "64321", + "s": "443,80" + }], + "transport": "TCP", + "action": "ACCEPT", + "priority": { + "some": 0 + } + } + ] + }, + "syncOp": "Upsert" + }' + ``` +
    +
    +

    Egress

    + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "sgSgRules": { + "rules": [ + { + "traffic": "Egress", + "Sg": "sg-example", + "SgLocal": "sg-local-example", + "logs": true, + "trace": true, + "ports": [{ + "d": "64321", + "s": "443,80" + }], + "transport": "TCP", + "action": "ACCEPT", + "priority": { + "some": 0 + } + } + ] + }, + "syncOp": "Upsert" + }' + ``` +
    +
    + +

    Выходные параметры

    + +
    + + + + + + + + + + + + + + + +
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    +
    + +

    Возможные ошибки API

    + + + + +

    Диаграмма последовательности

    + + + + ```mermaid + sequenceDiagram + participant user as User + participant server as Server + participant db as Database + + user->>server: Добавить IE-SG-SG правило + + alt Ошибка в запросе + server-->>user: Показать ошибку в запросе + end + + server->>db: Отправить запрос + db->>db: Проверка входящего запроса + + alt Нет такого значения имени SG(sg и/или sg_local) + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Пересечение значений source портов + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + db->>db: Сохранить данные о IE-SG-SG в БД + + db-->>server: Ответ с успешно добавленным новым IE-SG-SG правилом + server-->>user: Успешно добавленное новое IE-SG-SG правило + ``` + + +
    + +
    +
    +

    Ingress

    + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "sgSgRules": { + "rules": [ + { + "traffic": "Ingress", + "Sg": "sg-example", + "SgLocal": "sg-local-example", + "logs": true, + "trace": true, + "ports": [{ + "d": "64321", + "s": "443,80" + }], + "transport": "UDP", + "action": "ACCEPT", + "priority": { + "some": 0 + } + } + ] + }, + "syncOp": "Upsert" + }' + ``` +
    +
    +

    Egress

    + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "sgSgRules": { + "rules": [ + { + "traffic": "Egress", + "Sg": "sg-example", + "SgLocal": "sg-local-example", + "logs": true, + "trace": true, + "ports": [{ + "d": "64321", + "s": "443,80" + }], + "transport": "UDP", + "action": "ACCEPT", + "priority": { + "some": 0 + } + } + ] + }, + "syncOp": "Upsert" + }' + ``` +
    +
    + +

    Выходные параметры

    + +
    + + + + + + + + + + + + + + + +
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    +
    + +

    Возможные ошибки API

    + + + + +

    Диаграмма последовательности

    + + + + ```mermaid + sequenceDiagram + participant user as User + participant server as Server + participant db as Database + + user->>server: Добавить IE-SG-SG правило + + alt Ошибка в запросе + server-->>user: Показать ошибку в запросе + end + + server->>db: Отправить запрос + db->>db: Проверка входящего запроса + + alt Нет такого значения имени SG(sg и/или sg_local) + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Пересечение значений source портов + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + db->>db: Сохранить данные о IE-SG-SG в БД + + db-->>server: Ответ с успешно добавленным новым IE-SG-SG правилом + server-->>user: Успешно добавленное новое IE-SG-SG правило + ``` + + +
    + +
    +
    +

    Ingress

    + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "ieSgSgIcmpRules": { + "rules": [ + { + "traffic": "Ingress", + "Sg": "sg-example", + "SgLocal": "sg-local-example", + "logs": true, + "trace": true, + "ICMP": { + "IPv": "IPv4", + "Types": [0, 8] + }, + "action": "ACCEPT", + "priority": { + "some": -100 + } + } + ] + }, + "syncOp": "Upsert" + }' + ``` +
    +
    +

    Egress

    + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "ieSgSgIcmpRules": { + "rules": [ + { + "traffic": "Egress", + "Sg": "sg-example", + "SgLocal": "sg-local-example", + "logs": true, + "trace": true, + "ICMP": { + "IPv": "IPv4", + "Types": [0, 8] + }, + "action": "ACCEPT", + "priority": { + "some": -100 + } + } + ] + }, + "syncOp": "Upsert" + }' + ``` +
    +
    + +

    Выходные параметры

    + +
    + + + + + + + + + + + + + + + +
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    +
    + +

    Возможные ошибки API

    + + + + +

    Диаграмма последовательности

    + + + + ```mermaid + sequenceDiagram + participant user as User + participant server as Server + participant db as Database + + user->>server: Добавить IE-SG-SG правило + + alt Ошибка в запросе + server-->>user: Показать ошибку в запросе + end + + server->>db: Отправить запрос + db->>db: Проверка входящего запроса + + alt Нет такого значения имени SG(sg и/или sg_local) + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Некорректное значение кода ICMP + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Некорректное значение IPv + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + db->>db: Сохранить данные о IE-SG-SG в БД + + db-->>server: Ответ с успешно добавленным новым IE-SG-SG правилом + server-->>user: Успешно добавленное новое IE-SG-SG правило + ``` + + +
    + + +
    +
    +

    Ingress

    + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "ieSgSgIcmpRules": { + "rules": [ + { + "traffic": "Ingress", + "Sg": "sg-example", + "SgLocal": "sg-local-example", + "logs": true, + "trace": true, + "ICMP": { + "IPv": "IPv6", + "Types": [0, 8] + }, + "action": "ACCEPT", + "priority": { + "some": -100 + } + } + ] + }, + "syncOp": "Upsert" + }' + ``` +
    +
    +

    Egress

    + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "ieSgSgIcmpRules": { + "rules": [ + { + "traffic": "Egress", + "Sg": "sg-example", + "SgLocal": "sg-local-example", + "logs": true, + "trace": true, + "ICMP": { + "IPv": "IPv6", + "Types": [0, 8] + }, + "action": "ACCEPT", + "priority": { + "some": -100 + } + } + ] + }, + "syncOp": "Upsert" + }' + ``` +
    +
    + +

    Выходные параметры

    + +
    + + + + + + + + + + + + + + + +
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    +
    + +

    Возможные ошибки API

    + + + + +

    Диаграмма последовательности

    + + + + ```mermaid + sequenceDiagram + participant user as User + participant server as Server + participant db as Database + + user->>server: Добавить IE-SG-SG правило + + alt Ошибка в запросе + server-->>user: Показать ошибку в запросе + end + + server->>db: Отправить запрос + db->>db: Проверка входящего запроса + + alt Нет такого значения имени SG(sg и/или sg_local) + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Некорректное значение кода ICMP + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Некорректное значение IPv + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + db->>db: Сохранить данные о IE-SG-SG в БД + + db-->>server: Ответ с успешно добавленным новым IE-SG-SG правилом + server-->>user: Успешно добавленное новое IE-SG-SG правило + ``` + + +
    + +
    diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_Nftables.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_Nftables.mdx new file mode 100644 index 00000000..eb008ae8 --- /dev/null +++ b/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_Nftables.mdx @@ -0,0 +1,331 @@ +import Tabs from '@theme/Tabs' +import TabItem from '@theme/TabItem' +import { DICTIONARY } from '@site/src/constants/dictionary.ts' + +
    + В этом разделе мы покажем, как правила фильтрации трафика, созданные с помощью Terraform и API, внедряются в настройки + nftables. Это позволяет легко интегрировать сложные правила безопасности прямо в вашу систему фильтрации трафика. +
    +
      +
    • `$Trace` - {DICTIONARY.trace.short}
    • +
    • `$SrcSgroup` - {DICTIONARY.sg.short}
    • +
    • `$DstGroup` - {DICTIONARY.sg.short}
    • +
    • `$Transport` - {DICTIONARY.transport.short}
    • +
    • `$NftRuleType` - {DICTIONARY.nftRuleType.short}
    • +
    • `$IcmpTypeList` - {DICTIONARY.icmpTypes.short}
    • +
    • `$SrcPorts` - {DICTIONARY.srcPorts.short}
    • +
    • `$DstPorts` - {DICTIONARY.dstPorts.short}
    • +
    • `$NftCounter` - {DICTIONARY.nftCounter.short}
    • +
    • `$Log` - {DICTIONARY.log.short}
    • +
    • `$NftRuleVerdict` - {DICTIONARY.nftRuleVerdict.short}
    • +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Области применения полей относительно используемого протокола
    шаблон параметраструктура параметразначенияtransport*
    TCPUDPICMP
    $Trace`nftrace set` +
      +
    • + 1 - трассировка включена +
    • +
    • + 0 - трассировка выключена +
    • +
    +
    $SrcSgroup + `saddr` + `@${IPSet(sgName)}`
    $DstSgroup + `daddr` + `@${IPSet(sgName)}`
    $Transport + `tcp | udp | icmp` +
    $NftRuleType`ip`
    $IcmpTypeList`type {}`Набор целочисленных значений от 0 до 255
    $SrcPorts`sport {}`Набор целочисленных значений от 1 до 65535
    $DstPorts`dport {}`Набор целочисленных значений от 1 до 65535
    $NftCounter + `counter` + `packets 0 bytes 0`
    $Log + `log` + `level debug flags ip options`
    $NftRuleVerdict`accept` +
    + + $NftRuleVerdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле может принимать значение `accept` или `drop` в зависимости от указанного в правиле. + +
    + Подробнее: [Verdict statement](/tech-docs/to-nft/nftables/verdict-statement) +
    +
    + +

    Пример использования

    + + + + + + #### Шаблон + + ```hcl + chain INGRESS-INPUT-sgName { + # ********** + $Trace $NftRuleType $SrcSgroup $Transport $SrcPorts $DstPorts $NftCounter $Log $NftRuleVerdict + # ********** + } + ``` + + #### Пример использования + + ```hcl + chain INGRESS-INPUT-sg-local-example { + # ********** + nftrace set 1 ip saddr @NetIPv4-sg-example tcp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + nftrace set 1 ip saddr @NetIPv6-sg-example tcp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + # ********** + } + ``` + + + #### Шаблон + + ```hcl + chain EGRESS-POSTROUTING-sgName { + # ********** + $Trace $NftRuleType $DstSgroup $Transport $SrcPorts $DstPorts $NftCounter $Log $NftRuleVerdict + # ********** + } + ``` + + #### Пример использования + + ```hcl + chain EGRESS-POSTROUTING-sg-local-example { + # ********** + nftrace set 1 ip daddr @NetIPv4-sg-example tcp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + nftrace set 1 ip daddr @NetIPv6-sg-example tcp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + # ********** + } + ``` + + + + + + + #### Шаблон + + ```hcl + chain INGRESS-INPUT-sgName { + # ********** + $Trace $NftRuleType $SrcSgroup $Transport $SrcPorts $DstPorts $NftCounter $Log $NftRuleVerdict + # ********** + } + ``` + + #### Пример использования + + ```hcl + chain INGRESS-INPUT-sg-local-example { + # ********** + nftrace set 1 ip saddr @NetIPv4-sg-example udp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + nftrace set 1 ip saddr @NetIPv6-sg-example udp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + # ********** + } + ``` + + + #### Шаблон + + ```hcl + chain EGRESS-POSTROUTING-sgName { + # ********** + $Trace $NftRuleType $DstSgroup $Transport $SrcPorts $DstPorts $NftCounter $Log $NftRuleVerdict + # ********** + } + ``` + + #### Пример использования + + ```hcl + chain EGRESS-POSTROUTING-sg-local-example { + # ********** + nftrace set 1 ip daddr @NetIPv4-sg-example udp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + nftrace set 1 ip daddr @NetIPv6-sg-example udp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + # ********** + } + ``` + + + + + + + #### Шаблон + + ```hcl + chain INGRESS-INPUT-sgName { + # ********** + $Trace $NftRuleType $DstSgroup $Transport $IcmpTypeList $NftCounter $Log $NftRuleVerdict + # ********** + } + ``` + + #### Пример использования + + ```hcl + chain INGRESS-INPUT-sg-local-example { + # ********** + nftrace set 1 ip saddr @NetIPv4-sg-example icmp type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options accept + nftrace set 1 ip saddr @NetIPv6-sg-example icmpv6 type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options accept + # ********** + } + ``` + + + #### Шаблон + + ```hcl + chain EGRESS-POSTROUTING-sgName { + # ********** + $Trace $NftRuleType $DstSgroup $Transport $IcmpTypeList $NftCounter $Log $NftRuleVerdict + # ********** + } + ``` + + #### Пример использования + + ```hcl + chain EGRESS-POSTROUTING-sg-local-example { + # ********** + nftrace set 1 ip daddr @NetIPv4-sg-example icmp type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options accept + nftrace set 1 ip daddr @NetIPv6-sg-example icmpv6 type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options accept + # ********** + } + ``` + + + + + diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_TerraformModule.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_TerraformModule.mdx new file mode 100644 index 00000000..b7d8eeee --- /dev/null +++ b/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_TerraformModule.mdx @@ -0,0 +1,422 @@ +import Tabs from '@theme/Tabs' +import TabItem from '@theme/TabItem' +import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' +import { DICTIONARY } from '@site/src/constants/dictionary.ts' +import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' + +
    +

    {DICTIONARY.terraformModule.full}

    +
    +
    + Далее везде в документе подразумевается что все места, содержащие переменную `$traffic`, могут принять одно из двух + значений: `Ingress` `Egress`. Аналогчично для `$transport` подразумевается одно из четырех значений: `tcp`, `udp`, + `icmpIPv4`, `icmpIPv6` +
    +
      +
    • `rules` - {DICTIONARY.rules.short}
    • +
    • `rules.$traffic[]` - {DICTIONARY.traffic.short}
    • +
    • `rules.$traffic[].sgroupSet[]` - {DICTIONARY.sgroupSet.short}
    • +
    • `rules.$traffic[].access.$transport` - {DICTIONARY.transport.short}
    • +
    • `rules.$traffic[].access.$transport.action` - {DICTIONARY.action.short}
    • +
    • `rules.$traffic[].access.$transport.priority` - {DICTIONARY.priority.short}
    • +
    • `rules.$traffic[].access.$transport.log` - {DICTIONARY.log.short}
    • +
    • `rules.$traffic[].access.$transport.trace` - {DICTIONARY.trace.short}
    • +
    • `rules.$traffic[].access.$transport.ports[].description` - {DICTIONARY.description.short}
    • +
    • `rules.$traffic[].access.$transport.ports[].ports_to[]` - {DICTIONARY.dstPorts.short}
    • +
    • `rules.$traffic[].access.$transport.ports[].ports_from[]` - {DICTIONARY.srcPorts.short}
    • +
    • `rules.$traffic[].access.$transport.types[].description` - {DICTIONARY.description.short}
    • +
    • `rules.$traffic[].access.$transport.types[].type[]` - {DICTIONARY.icmpTypes.short}
    • +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Области применения полей относительно используемого протокола
    название параметратип данныхзначение по умолчаниюtransport*
    TCPUDPICMP
    rulesObject[][]
    rules.$traffic[]Object[]
    rules.$traffic[].sgroupSet[]String[]
    rules.$traffic[].access.$transportObject
    rules.$traffic[].access.$transport.action + Enum("ACCEPT", "DROP") +
    rules.$traffic[].access.$transport.priorityString
    rules.$traffic[].access.$transport.logBooleanfalse
    rules.$traffic[].access.$transport.traceBooleanfalse
    rules.$traffic[].access.$transport.ports[]Object[]""
    rules.$traffic[].access.$transport.ports[].descriptionString""
    rules.$traffic[].access.$transport.ports[].ports_to[]Integer[]null
    rules.$traffic[].access.$transport.ports[].ports_from[]Integer[]null
    rules.$traffic[].access.$transport.types[]Object[]""
    rules.$traffic[].access.$transport.types[].descriptionString""
    rules.$traffic[].access.$transport.types[].type[]Integer[]null
    +
    + +

    Ограничения

    + +
      +
    • + `name`: + +
    • +
    • + `rules.$traffic[].sgroupSet`: + +
    • +
    • + `rules.$traffic[].access.$transport.priority`: + +
    • +
    • + `rules.$traffic[].access.$transport.ports[].ports_to[]`: + +
    • +
    • + `rules.$traffic[].access.$transport.ports[].ports_from[]`: + +
    • +
    • + `rules.$traffic[].access.$transport.types[].type[]`: + +
    • +
    + +

    Пример использования

    + + + +
    +
    +

    Ingress

    + + ```yaml + name: "sg-local-example" + rules: + ingress: + - sgroupSet: + - "sg-example" + access: + tcp: + action: ACCEPT + priority: 0 + logs: true + trace: true + ports: + - description: "example" + ports_from: + - 64231 + ports_to: + - 443 + - 80 + ``` +
    +
    +

    Egress

    + + + ```yaml + name: "sg-local-example" + rules: + egress: + - sgroupSet: + - "sg-example" + access: + tcp: + action: ACCEPT + priority: 0 + logs: true + trace: true + ports: + - description: "example" + ports_from: + - 64231 + ports_to: + - 443 + - 80 + ``` +
    +
    +
    + +
    +
    +

    Ingress

    + + + ```yaml + name: "sg-local-example" + rules: + ingress: + - sgroupSet: + - "sg-example" + access: + udp: + action: ACCEPT + priority: 0 + logs: true + trace: true + ports: + - description: "example" + ports_from: + - 64231 + ports_to: + - 443 + - 80 + ``` +
    +
    +

    Egress

    + + + ```yaml + name: "sg-local-example" + rules: + egress: + - sgroupSet: + - "sg-example" + access: + udp: + action: ACCEPT + priority: 0 + logs: true + trace: true + ports: + - description: "example" + ports_from: + - 64231 + ports_to: + - 443 + - 80 + ``` +
    +
    +
    + +
    +
    +

    Ingress

    + + + ```yaml + name: "sg-local-example" + rules: + ingress: + - sgroupSet: + - "sg-example" + access: + icmpIPv4: + action: ACCEPT + priority: -100 + logs: true + trace: true + types: + - description: "example" + type: + - 0 + - 8 + ``` +
    +
    +

    Egress

    + + + ```yaml + name: "sg-local-example" + rules: + egress: + - sgroupSet: + - "sg-example" + access: + icmpIPv4: + action: ACCEPT + priority: -100 + logs: true + trace: true + types: + - description: "example" + type: + - 0 + - 8 + ``` +
    +
    +
    + + +
    +
    +

    Ingress

    + + + ```yaml + name: "sg-local-example" + rules: + ingress: + - sgroupSet: + - "sg-example" + access: + icmpIPv6: + action: ACCEPT + priority: -100 + logs: true + trace: true + types: + - description: "example" + type: + - 0 + - 8 + ``` +
    +
    +

    Egress

    + + + ```yaml + name: "sg-local-example" + rules: + egress: + - sgroupSet: + - "sg-example" + access: + icmpIPv6: + action: ACCEPT + priority: -100 + logs: true + trace: true + types: + - description: "example" + type: + - 0 + - 8 + ``` +
    +
    +
    +
    diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_TerraformResource.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_TerraformResource.mdx new file mode 100644 index 00000000..824d1795 --- /dev/null +++ b/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_TerraformResource.mdx @@ -0,0 +1,450 @@ +import Tabs from '@theme/Tabs' +import TabItem from '@theme/TabItem' +import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' +import { DICTIONARY } from '@site/src/constants/dictionary.ts' +import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' + +
    +

    {DICTIONARY.terraformResource.full}

    +
    +
      +
    • `items` - {DICTIONARY.terraformItems.short}
    • +
    • `items.$ruleName` - {DICTIONARY.terraformRuleName.short}
    • +
    • `items.$ruleName.traffic` - {DICTIONARY.traffic.short}
    • +
    • `items.$ruleName.transport` - {DICTIONARY.transport.short}
    • +
    • `items.$ruleName.sg` - {DICTIONARY.sg.short}
    • +
    • `items.$ruleName.sg_local` - {DICTIONARY.sgLocal.short}
    • +
    • `items.$ruleName.ports` - {DICTIONARY.ports.short}
    • +
    • `items.$ruleName.ports[].d` - {DICTIONARY.dstPorts.short}
    • +
    • `items.$ruleName.ports[].s` - {DICTIONARY.srcPorts.short}
    • +
    • `items.$ruleName.logs` - {DICTIONARY.log.short}
    • +
    • `items.$ruleName.trace` - {DICTIONARY.trace.short}
    • +
    • `items.$ruleName.ip_v` - {DICTIONARY.icmpV.short}
    • +
    • `items.$ruleName.type` - {DICTIONARY.icmpTypes.short}
    • +
    • `items.$ruleName.action` - {DICTIONARY.action.short}
    • +
    • `items.$ruleName.priority` - {DICTIONARY.priority.short}
    • +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Области применения полей относительно используемого протокола
    названиеобязательностьтип данныхзначение по умолчаниюtransport*
    TCPUDPICMP
    itemsдаObject
    items.$ruleNameдаObject
    items.$ruleName.trafficда + Enum("ingress", "egress") +
    items.$ruleName.transportдаEnum("TCP", "UDP")
    items.$ruleName.sgдаString
    items.$ruleName.sg_localдаString
    items.$ruleName.portsнетObject[]null
    items.$ruleName.ports[].dнетString""
    items.$ruleName.ports[].sнетString""
    items.$ruleName.logsнетBooleanfalse
    items.$ruleName.traceнетBooleanfalse
    items.$ruleName.ip_vдаEnum("IPv4", "IPv6")
    items.$ruleName.typeдаString[]null
    items.$ruleName.actionда + Enum("ACCEPT", "DROP") +
    items.$ruleName.priorityнетInteger
    +
    + +

    Ограничения

    + +
      +
    • + `items`: + +
    • +
    • + `items.$ruleName`: + +
    • +
    • + `items.$ruleName.sg`: + +
    • +
    • + `items.$ruleName.sg_local`: + +
    • +
    • + `items.$ruleName.ports[].s`: + +
    • +
    • + `items.$ruleName.ports[].d`: + +
    • +
    • + `items.$ruleName.type[]`: + +
    • +
    • + `items.$ruleName.priority`: + +
    • +
    + +

    Пример использования

    + + + +
    +
    +

    Ingress

    + + ```hcl + resource "sgroups_ie_rules" "rules" { + items = { + "tcp:sg-local(sg-local-example)sg(sg-example)ingress" = { + traffic = "ingress" + logs = true + trace = true + sg_local = "sg-local-example" + sg = "sg-example" + transport = "tcp" + ports = [{ + d = "80" + s = "" + }] + action = "ACCEPT" + priority = 0 + } + } + } + ``` + + +
    +
    +

    Egress

    + + + ```hcl + resource "sgroups_ie_rules" "rules" { + items = { + "tcp:sg-local(sg-local-example)sg(sg-example)egress" = { + traffic = "egress" + logs = true + trace = true + sg_local = "sg-local-example" + sg = "sg-example" + transport = "tcp" + ports = [{ + d = "80" + s = "" + }] + action = "ACCEPT" + priority = 0 + } + } + } + ``` + + +
    +
    +
    + + +
    +
    +

    Ingress

    + + + ```hcl + resource "sgroups_ie_rules" "rules" { + items = { + "udp:sg-local(sg-local-example)sg(sg-example)ingress" = { + traffic = "ingress" + logs = true + trace = true + sg_local = "sg-local-example" + sg = "sg-example" + transport = "udp" + ports = [{ + d = "80" + s = "" + }] + action = "ACCEPT" + priority = 0 + } + } + } + ``` + + +
    +
    +

    Egress

    + + + ```hcl + resource "sgroups_ie_rules" "rules" { + items = { + "udp:sg-local(sg-local-example)sg(sg-example)egress" = { + traffic = "egress" + logs = true + trace = true + sg_local = "sg-local-example" + sg = "sg-example" + transport = "udp" + ports = [{ + d = "80" + s = "" + }] + action = "ACCEPT" + priority = 0 + } + } + } + ``` +
    +
    +
    + + +
    +
    +

    Ingress

    + + ```hcl + resource "sgroups_ie_icmp_rules" "rules" { + items = { + "icmp4:sg-local(sg-local-example)sg(sg-example)ingress" = { + traffic = "ingress" + logs = true + trace = true + sg_local = "sg-local-example" + sg = "sg-example" + ip_v = "IPv4" + type = [0,8] + action = "ACCEPT" + priority = -100 + } + } + } + ``` + +
    +
    +

    Egress

    + + + ```hcl + resource "sgroups_icmp_rules" "rules" { + items = { + "icmp4:sg-local(sg-local-example)sg(sg-example)egress" = { + traffic = "egress" + logs = true + trace = true + sg_local = "sg-local-example" + sg = "sg-example" + ip_v = "IPv4" + type = [0,8] + action = "ACCEPT" + priority = -100 + } + } + } + ``` +
    +
    +
    + + +
    +
    +

    Ingress

    + + ```hcl + resource "sgroups_ie_icmp_rules" "rules" { + items = { + "icmp6:sg-local(sg-local-example)sg(sg-example)ingress" = { + traffic = "ingress" + logs = true + trace = true + sg_local = "sg-local-example" + sg = "sg-example" + ip_v = "IPv6" + type = [0,8] + action = "ACCEPT" + priority = -100 + } + } + } + ``` + +
    +
    +

    Egress

    + + + ```hcl + resource "sgroups_icmp_rules" "rules" { + items = { + "icmp6:sg-local(sg-local-example)sg(sg-example)egress" = { + traffic = "egress" + logs = true + trace = true + sg_local = "sg-local-example" + sg = "sg-example" + ip_v = "IPv6" + type = [0,8] + action = "ACCEPT" + priority = -100 + } + } + } + ``` +
    +
    +
    + +
    diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_Api.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_Api.mdx new file mode 100644 index 00000000..07575025 --- /dev/null +++ b/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_Api.mdx @@ -0,0 +1,599 @@ +import Tabs from '@theme/Tabs' +import TabItem from '@theme/TabItem' +import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' +import { DICTIONARY } from '@site/src/constants/dictionary.ts' +import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' +import { FancyboxDiagram } from '@site/src/components/commonBlocks/FancyboxDiagram' +import { RESPOND_CODES } from '@site/src/constants/errorCodes.tsx' +import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' + +#### Входные параметры + +
      +
    • `$node.rules[]` - {DICTIONARY.rules.short}
    • +
    • `$node.rules[].sgFrom` - {DICTIONARY.sg.short}
    • +
    • `$node.rules[].sgTo` - {DICTIONARY.sg.short}
    • +
    • `$node.rules[].logs` - {DICTIONARY.log.short}
    • +
    • `$node.rules[].trace` - {DICTIONARY.trace.short}
    • +
    • `$node.rules[].ports` - {DICTIONARY.ports.short}
    • +
    • `$node.rules[].ports[].d` - {DICTIONARY.dstPorts.short}
    • +
    • `$node.rules[].ports[].s` - {DICTIONARY.srcPorts.short}
    • +
    • `$node.rules[].transport` - {DICTIONARY.transport.short}
    • +
    • `$node.rules[].ICMP` - {DICTIONARY.apiIcmp.short}
    • +
    • `$node.rules[].ICMP.IPv` - {DICTIONARY.icmpV.short}
    • +
    • `$node.rules[].ICMP.Types` - {DICTIONARY.icmpTypes.short}
    • +
    • `$node.rules[].action` - {DICTIONARY.action.short}
    • +
    • `$node.rules[].priority` - {DICTIONARY.priorityst.short}
    • +
    • `$node.rules[].priority.some` - {DICTIONARY.priority.short}
    • +
    • `syncOp` - {DICTIONARY.syncOp.short}
    • +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Области применения полей относительно используемого протокола
    названиеобязательностьтип данныхзначение по умолчаниюtransport*
    TCPUDPICMP
    $node.rules[]даObject[]null
    $node.rules[].sgFromдаString
    $node.rules[].sgToдаString
    $node.rules[].logsнетBooleanfalse
    $node.rules[].traceнетBooleanfalse
    $node.rules[].portsнетObject[]null
    $node.rules[].ports[].dнетStringnull
    $node.rules[].ports[].sнетStringnull
    $node.rules[].transportнетEnum("TCP", "UDP")TCP
    $node.rules[].ICMPдаObject
    $node.rules[].ICMP.IPvдаEnum("IPv4", "IPv6")
    $node.rules[].ICMP.TypesнетString[][]
    $node.rules[].actionда + Enum("UNDEF", "ACCEPT", "DROP") +
    $node.rules[].priorityнетObject
    $node.rules[].priority.someнетInteger
    syncOpда + Enum("Delete", "Upsert", "FullSync") +
    +
    + +

    Ограничения

    + +
      +
    • + `sgSgRules.rules[].sgFrom`: + +
    • +
    • + `sgSgRules.rules[].sgTo`: + +
    • +
    • + `sgSgRules.rules[].ports[].d`: + +
    • +
    • + `sgSgRules.rules[].ports[].s`: + +
    • +
    • + `sgSgRules.rules[].ICMP.Types[]`: + +
    • +
    + +#### Пример использования + + + + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "sgRules": { + "rules": [{ + "sgFrom": "sg-local-example", + "sgTo": "sg-example", + "logs": true, + "trace": true, + "ports": [{ + "d": "443,80", + "s": "64231" + }], + "transport": "TCP", + "action": "ACCEPT", + "priority": { + "some": -200 + } + }] + }, + "syncOp": "Upsert" + }' + ``` + +

    Выходные параметры

    + +
    + + + + + + + + + + + + + + + +
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    +
    + +

    Возможные ошибки API

    + + + + +

    Диаграмма последовательности

    + + + ```mermaid + sequenceDiagram + participant user as User + participant server as Server + participant db as Database + + user->>server: Добавить IE-SG-SG правило + + alt Ошибка в запросе + server-->>user: Показать ошибку в запросе + end + + server->>db: Отправить запрос + db->>db: Проверка входящего запроса + + alt Нет такого значения имени SG(sg и/или sg_local) + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Пересечение значений source портов + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + db->>db: Сохранить данные о IE-SG-SG в БД + + db-->>server: Ответ с успешно добавленным новым IE-SG-SG правилом + server-->>user: Успешно добавленное новое IE-SG-SG правило + ``` + + +
    + + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "sgRules": { + "rules": [{ + "sgFrom": "sg-local-example", + "sgTo": "sg-example", + "logs": true, + "trace": true, + "ports": [{ + "d": "443,80", + "s": "64231" + }], + "transport": "UDP", + "action": "ACCEPT", + "priority": { + "some": -200 + } + }] + }, + "syncOp": "Upsert" + }' + ``` + +

    Выходные параметры

    + +
    + + + + + + + + + + + + + + + +
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    +
    + +

    Возможные ошибки API

    + + + + +

    Диаграмма последовательности

    + + + ```mermaid + sequenceDiagram + participant user as User + participant server as Server + participant db as Database + + user->>server: Добавить IE-SG-SG правило + + alt Ошибка в запросе + server-->>user: Показать ошибку в запросе + end + + server->>db: Отправить запрос + db->>db: Проверка входящего запроса + + alt Нет такого значения имени SG(sg и/или sg_local) + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Пересечение значений source портов + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + db->>db: Сохранить данные о IE-SG-SG в БД + + db-->>server: Ответ с успешно добавленным новым IE-SG-SG правилом + server-->>user: Успешно добавленное новое IE-SG-SG правило + ``` + + +
    + + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "sgSgIcmpRules": { + "rules": [{ + "SgFrom": "sg-local-example", + "SgTo": "sg-example", + "logs": true, + "trace": true + "ICMP": { + "IPv": "IPv4", + "Types": [0,8] + }, + "action": "ACCEPT", + "priority": { + "some": -300 + } + }] + }, + "syncOp": "Upsert" + }' + ``` + +

    Выходные параметры

    + +
    + + + + + + + + + + + + + + + +
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    +
    + +

    Возможные ошибки API

    + + + + +

    Диаграмма последовательности

    + + + ```mermaid + sequenceDiagram + participant user as User + participant server as Server + participant db as Database + + user->>server: Добавить IE-SG-SG правило + + alt Ошибка в запросе + server-->>user: Показать ошибку в запросе + end + + server->>db: Отправить запрос + db->>db: Проверка входящего запроса + + alt Нет такого значения имени SG(sg и/или sg_local) + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Некорректное значение кода ICMP + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Некорректное значение IPv + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + db->>db: Сохранить данные о IE-SG-SG в БД + + db-->>server: Ответ с успешно добавленным новым IE-SG-SG правилом + server-->>user: Успешно добавленное новое IE-SG-SG правило + ``` + + +
    + + + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "sgSgIcmpRules": { + "rules": [{ + "SgFrom": "sg-local-example", + "SgTo": "sg-example", + "logs": true, + "trace": true + "ICMP": { + "IPv": "IPv6", + "Types": [0,8] + }, + "action": "ACCEPT", + "priority": { + "some": -300 + } + }] + }, + "syncOp": "Upsert" + }' + ``` + +

    Выходные параметры

    + +
    + + + + + + + + + + + + + + + +
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    +
    + +

    Возможные ошибки API

    + + + + +

    Диаграмма последовательности

    + + + ```mermaid + sequenceDiagram + participant user as User + participant server as Server + participant db as Database + + user->>server: Добавить IE-SG-SG правило + + alt Ошибка в запросе + server-->>user: Показать ошибку в запросе + end + + server->>db: Отправить запрос + db->>db: Проверка входящего запроса + + alt Нет такого значения имени SG(sg и/или sg_local) + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Некорректное значение кода ICMP + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Некорректное значение IPv + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + db->>db: Сохранить данные о IE-SG-SG в БД + + db-->>server: Ответ с успешно добавленным новым IE-SG-SG правилом + server-->>user: Успешно добавленное новое IE-SG-SG правило + ``` + + +
    + +
    diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_Nftables.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_Nftables.mdx new file mode 100644 index 00000000..f8c84c63 --- /dev/null +++ b/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_Nftables.mdx @@ -0,0 +1,275 @@ +import Tabs from '@theme/Tabs' +import TabItem from '@theme/TabItem' +import { DICTIONARY } from '@site/src/constants/dictionary.ts' + +
    + В этом разделе мы покажем, как правила фильтрации трафика, созданные с помощью Terraform и API, внедряются в настройки + nftables. Это позволяет легко интегрировать сложные правила безопасности прямо в вашу систему фильтрации трафика. +
    + +
      +
    • `$Trace` - {DICTIONARY.trace.short}
    • +
    • `$SrcSgroup` - {DICTIONARY.sg.short}
    • +
    • `$DstGroup` - {DICTIONARY.sg.short}
    • +
    • `$Transport` - {DICTIONARY.transport.short}
    • +
    • `$NftRuleType` - {DICTIONARY.nftRuleType.short}
    • +
    • `$IcmpTypeList` - {DICTIONARY.icmpTypes.short}
    • +
    • `$SrcPorts` - {DICTIONARY.srcPorts.short}
    • +
    • `$DstPorts` - {DICTIONARY.dstPorts.short}
    • +
    • `$NftCounter` - {DICTIONARY.nftCounter.short}
    • +
    • `$Log` - {DICTIONARY.log.short}
    • +
    • `$NftRuleVerdict` - {DICTIONARY.nftRuleVerdict.short}
    • +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Области применения полей относительно используемого протокола
    шаблон параметраструктура параметразначенияtransport*
    TCPUDPICMP
    $Trace`nftrace set` +
      +
    • + 1 - трассировка включена +
    • +
    • + 0 - трассировка выключена +
    • +
    +
    $SrcSgroup + `saddr` + `@${IPSet(sgName)}`
    $DstSgroup + `daddr` + `@${IPSet(sgName)}`
    $Transport + `tcp | udp | icmp` +
    $NftRuleType`ip`
    $IcmpTypeList`type {}`Набор целочисленных значений от 0 до 255
    $SrcPorts`sport {}`Набор целочисленных значений от 0 до 65535
    $DstPorts`dport {}`Набор целочисленных значений от 0 до 65535
    $NftCounter + `counter` + `packets 0 bytes 0`
    $Log + `log` + `level debug flags ip options`
    $NftRuleVerdict`accept` +
    + + $NftRuleVerdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле может принимать значение `accept` или `drop` в зависимости от указанного в правиле. + +
    + Подробнее: [Verdict statement](/tech-docs/to-nft/nftables/verdict-statement) +
    +
    + +

    Пример использования

    + + + + #### Шаблон + ```hcl + chain INGRESS-INPUT-sgName { + # ********** + ${Trace} ${RuleType} ${SrcSgroup} ${Transport} ${SrcPorts} ${DstPorts} ${Counter} ${Log} ${Verdict} + # ********** + } + + chain EGRESS-POSTROUTING-sgName { + # ********** + ${Trace} ${RuleType} ${DstSgroup} ${Transport} ${SrcPorts} ${DstPorts} ${Counter} ${Log} ${Verdict} + # ********** + } + ``` + + #### Пример использования + + ```hcl + chain INGRESS-INPUT-sg-example-to { + # ********** + nftrace set 1 ip saddr NetIPv4-sg-example-from tcp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + nftrace set 1 ip saddr NetIPv6-sg-example-from tcp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + # ********** + } + + chain EGRESS-POSTROUTING-sg-example-from { + # ********** + nftrace set 1 ip daddr NetIPv4-sg-example-to tcp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + nftrace set 1 ip daddr NetIPv6-sg-example-to tcp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + # ********** + } + ``` + + + + #### Шаблон + ```hcl + chain INGRESS-INPUT-sgName { + # ********** + ${Trace} ${RuleType} ${SrcSgroup} ${Transport} ${SrcPorts} ${DstPorts} ${Counter} ${Log} ${Verdict} + # ********** + } + + chain EGRESS-POSTROUTING-sgName { + # ********** + ${Trace} ${RuleType} ${DstSgroup} ${Transport} ${SrcPorts} ${DstPorts} ${Counter} ${Log} ${Verdict} + # ********** + } + ``` + + #### Пример использования + + ```hcl + chain INGRESS-INPUT-sg-example-to { + # ********** + nftrace set 1 ip saddr NetIPv4-sg-example-from udp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + nftrace set 1 ip saddr NetIPv6-sg-example-from udp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + # ********** + } + + chain EGRESS-POSTROUTING-sg-example-from { + # ********** + nftrace set 1 ip daddr NetIPv4-sg-example-to udp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + nftrace set 1 ip daddr NetIPv6-sg-example-to udp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + # ********** + } + ``` + + + + #### Шаблон + + ```hcl + chain INGRESS-INPUT-sgName { + # ********** + ${Trace} ${RuleType} ${SrcSgroup} ${Transport} ${TypeList} ${Counter} ${Log} ${Verdict} + # ********** + } + + chain EGRESS-POSTROUTING-sgName { + # ********** + ${Trace} ${RuleType} ${DstSgroup} ${Transport} ${TypeList} ${Counter} ${Log} ${Verdict} + # ********** + } + ``` + + #### Пример использования + + ```hcl + chain INGRESS-INPUT-sg-example-to { + # ********** + nftrace set 1 ip saddr NetIPv4-v4-sg-example-from icmp type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options accept + nftrace set 1 ip saddr NetIPv6-v6-sg-example-from icmp type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options accept + # ********** + } + + chain EGRESS-POSTROUTING-sg-example-from { + # ********** + nftrace set 1 ip daddr NetIPv4-sg-example-to icmp type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options accept + nftrace set 1 ip daddr NetIPv6-sg-example-to icmp type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options accept + # ********** + } + ``` + + + diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_TerraformModule.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_TerraformModule.mdx new file mode 100644 index 00000000..37c8849d --- /dev/null +++ b/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_TerraformModule.mdx @@ -0,0 +1,284 @@ +import Tabs from '@theme/Tabs' +import TabItem from '@theme/TabItem' +import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' +import { DICTIONARY } from '@site/src/constants/dictionary.ts' +import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' + +
    +

    {DICTIONARY.terraformModule.full}

    +
    +
    + Далее везде в документе подразумевается что все места, содержащие переменную `$transport` иогут принимать одно из + четырех значений: `tcp`, `udp`, `icmpIPv4`, `icmpIPv6`. +
    +
      +
    • `rules` - {DICTIONARY.rules.short}
    • +
    • + `rules.s2s[]` - Список правил, описывающий сетевое взаимодействие текущей Security Group с внешней Security Group. +
    • +
    • `rules.s2s[].sgroupSet[]` - {DICTIONARY.sgroupSet.short}
    • +
    • `rules.s2s[].access.$transport` - {DICTIONARY.transport.short}
    • +
    • `rules.s2s[].access.$transport.action` - {DICTIONARY.action.short}
    • +
    • `rules.s2s[].access.$transport.priority` - {DICTIONARY.priority.short}
    • +
    • `rules.s2s[].access.$transport.log` - {DICTIONARY.log.short}
    • +
    • `rules.s2s[].access.$transport.trace` - {DICTIONARY.trace.short}
    • +
    • `rules.s2s[].access.$transport.ports[].description` - {DICTIONARY.description.short}
    • +
    • `rules.s2s[].access.$transport.ports[].ports_to[]` - {DICTIONARY.dstPorts.short}
    • +
    • `rules.s2s[].access.$transport.ports[].ports_from[]` - {DICTIONARY.srcPorts.short}
    • +
    • `rules.s2s[].access.$transport.types[].description` - {DICTIONARY.description.short}
    • +
    • `rules.s2s[].access.$transport.types[].type[]` - {DICTIONARY.icmpTypes.short}
    • +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Области применения полей относительно используемого протокола
    название параметратип данныхзначение по умолчаниюtransport*
    TCPUDPICMP
    rulesObject[][]
    rules.s2sObject
    rules.s2s.sgroupSet[]String[]
    rules.s2s.access.$transportObject[]
    rules.s2s[].access.$transport.action + Enum("ACCEPT", "DROP") +
    rules.s2s[].access.$transport.priorityString
    rules.s2s[].access.$transport.logBooleanfalse
    rules.s2s[].access.$transport.traceBooleanfalse
    rules.s2s.access.$transport.ports[].descriptionString""
    rules.s2s.access.$transport.ports[].ports_to[]Integer[]null
    rules.s2s.access.$transport.ports[].ports_from[]Integer[]null
    rules.s2s[].access.$transport.types[].type[]Integer[]null
    +
    + +

    Ограничения

    + +
      +
    • + `name`: + +
    • +
    • + `rules.s2s[].sgroupSet`: + +
    • +
    • + `rules.s2s[].access.$transport.priority`: + +
    • +
    • + `rules.s2s[].access.$transport.ports[].ports_to[]`: + +
    • +
    • + `rules.s2s[].access.$transport.ports[].ports_from[]`: + +
    • +
    • + `rules.s2s[].access.$transport.types[].type[]`: + +
    • +
    + +

    + + Пример использования + +

    + + + + + ```yaml + name: sg-local-example + rules: + s2s: + - sgroupSet: + - sg-example + access: + tcp: + action: ACCEPT + priority: -200 + logs: true + trace: true + ports: + - description: "" + ports_from: + - 64231 + ports_to: + - 443 + - 80 + ``` + + + + ```yaml + name: sg-local-example + rules: + s2s: + - sgroupSet: + - sg-example + access: + udp: + action: ACCEPT + priority: -200 + logs: true + trace: true + ports: + - description: "" + ports_from: + - 64231 + ports_to: + - 443 + - 80 + ``` + + + + ```yaml + name: sg-local-example + rules: + s2s: + - sgroupSet: + - sg-example + access: + icmpIPv4: + action: ACCEPT + priority: -300 + logs: true + trace: true + types: + - description: "" + Types: + - 0 + - 8 + ``` + + + + + ```yaml + name: sg-local-example + rules: + s2s: + - sgroupSet: + - sg-example + access: + icmpIPv6: + action: ACCEPT + priority: -300 + logs: true + trace: true + types: + - description: "" + Types: + - 0 + - 8 + ``` + + diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_TerraformResource.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_TerraformResource.mdx new file mode 100644 index 00000000..3eacb7a2 --- /dev/null +++ b/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_TerraformResource.mdx @@ -0,0 +1,306 @@ +import Tabs from '@theme/Tabs' +import TabItem from '@theme/TabItem' +import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' +import { DICTIONARY } from '@site/src/constants/dictionary.ts' +import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' + +
    +

    {DICTIONARY.terraformResource.full}

    +
    +
      +
    • `items` - {DICTIONARY.terraformItems.short}
    • +
    • `items.$ruleName` - {DICTIONARY.terraformRuleName.short}
    • +
    • `items.$ruleName.transport` - {DICTIONARY.transport.short}
    • +
    • `items.$ruleName.sg_from` - {DICTIONARY.sg.short}
    • +
    • `items.$ruleName.sg_to` - {DICTIONARY.sg.short}
    • +
    • `items.$ruleName.ports` - {DICTIONARY.ports.short}
    • +
    • `items.$ruleName.ports[].d` - {DICTIONARY.dstPorts.short}
    • +
    • `items.$ruleName.ports[].s` - {DICTIONARY.srcPorts.short}
    • +
    • `items.$ruleName.logs` - {DICTIONARY.log.short}
    • +
    • `items.$ruleName.trace` - {DICTIONARY.trace.short}
    • +
    • `items.$ruleName.ip_v` - {DICTIONARY.icmpV.short}
    • +
    • `items.$ruleName.type` - {DICTIONARY.icmpTypes.short}
    • +
    • `items.$ruleName.action` - {DICTIONARY.action.short}
    • +
    • `items.$ruleName.priority` - {DICTIONARY.priority.short}
    • +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Области применения полей относительно используемого протокола
    названиеобязательностьтип данныхзначение по умолчаниюtransport*
    TCPUDPICMP
    itemsдаObject
    items.$ruleNameдаObject
    items.$ruleName.transportдаEnum("TCP", "UDP")
    items.$ruleName.sg_fromдаString
    items.$ruleName.sg_toдаString
    items.$ruleName.portsнетObject[]null
    items.$ruleName.ports[].dнетString""
    items.$ruleName.ports[].sнетString""
    items.$ruleName.logsнетBooleanfalse
    items.$ruleName.traceнетBooleanfalse
    items.$ruleName.ip_vдаEnum("IPv4", "IPv6")
    items.$ruleName.typeдаString[]null
    items.$ruleName.actionда + Enum("ACCEPT", "DROP") +
    items.$ruleName.priorityнетInteger
    +
    + +

    Ограничения

    + +
      +
    • + `items`: + +
    • +
    • + `items.$ruleName`: + +
    • +
    • + `items.$ruleName.sg_from`: + +
    • +
    • + `items.$ruleName.sg_to`: + +
    • +
    • + `items.$ruleName.ports[].s`: + +
    • +
    • + `items.$ruleName.ports[].d`: + +
    • +
    • + `items.$ruleName.type[]`: + +
    • +
    • + `items.$ruleName.priority`: + +
    • +
    +

    Пример использования

    + + + + ```hcl + resource "sgroups_rules" "rules" { + items = { + "tcp:sg(sg-local-example)sg(sg-example)" = { + sg_from = "sg-local-example" + sg_to = "sg-example" + logs = true + trace = true + transport = "tcp" + ports = [{ + d = "443,80" + s = "64231" + }] + action = "ACCEPT" + priority = -200 + } + } + } + ``` + + + + ```hcl + resource "sgroups_rules" "rules" { + items = { + "udp:sg(sg-local-example)sg(sg-example)" = { + sg_from = "sg-local-example" + sg_to = "sg-example" + logs = true + trace = true + transport = "udp" + ports = [{ + d = "443,80" + s = "64231" + }] + action = "ACCEPT" + priority = -200 + } + } + } + ``` + + + + ```hcl + resource "sgroups_icmp_rules" "rules" { + items = { + "sg(sg-local-example)sg(sg-example)icmp4" => { + sg_from = "sg-local-example" + sg_to = "sg-example" + logs = true + trace = true + ip_v = "IPv4" + type = [0,8] + action = "ACCEPT" + priority = -300 + } + } + } + ``` + + + + ```hcl + resource "sgroups_icmp_rules" "rules" { + items = { + "sg(sg-local-example)sg(sg-example)icmp6" => { + sg_from = "sg-local-example" + sg_to = "sg-example" + logs = true + trace = true + ip_v = "IPv6" + type = [0,8] + action = "ACCEPT" + priority = -300 + } + } + } + ``` + + + diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_Api.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_Api.mdx new file mode 100644 index 00000000..ca1b4b47 --- /dev/null +++ b/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_Api.mdx @@ -0,0 +1,387 @@ +import Tabs from '@theme/Tabs' +import TabItem from '@theme/TabItem' +import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' +import { DICTIONARY } from '@site/src/constants/dictionary.ts' +import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' +import { FancyboxDiagram } from '@site/src/components/commonBlocks/FancyboxDiagram' +import { RESPOND_CODES } from '@site/src/constants/errorCodes.tsx' +import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' + +#### Входные параметры + +
      +
    • `groups.grous[]` - Структура, содержащая описание создаваемых Security Group
    • +
    • `groups.groups[].defaultAction` - представляет действие по умолчанию в конце цепочек для SG
    • +
    • `groups.groups[].logs` - {DICTIONARY.log.short}
    • +
    • `groups.groups[].name` - {DICTIONARY.sgLocal.short}
    • +
    • `groups.groups[].networks` - Имена подсетей
    • +
    • `groups.groups[].trace` - {DICTIONARY.trace.short}
    • +
    • `sgIcmpRules.rules[]` - {DICTIONARY.rules.short}
    • +
    • `sgIcmpRules.rules[].ICMP` - {DICTIONARY.apiIcmp.short}
    • +
    • `sgIcmpRules.rules[].ICMP.IPv` - {DICTIONARY.icmpV.short}
    • +
    • `sgIcmpRules.rules[].ICMP.Types` - {DICTIONARY.icmpTypes.short}
    • +
    • `sgIcmpRules.rules[].Sg` - {DICTIONARY.sgLocal.short}
    • +
    • `sgIcmpRules.rules[].logs` - {DICTIONARY.log.short}
    • +
    • `sgIcmpRules.rules[].trace` - {DICTIONARY.trace.short}
    • +
    • `sgIcmpRules.rules[].action` - {DICTIONARY.action.short}
    • +
    • `syncOp` - {DICTIONARY.syncOp.short}
    • +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    названиеобязательностьтип данныхЗначение по умолчаниюAPI request
    groupssgIcmpRules
    groups.groups[]даObject[]
    groups.groups[].defaultActionда + Enum("ACCEPT", "DROP") +
    groups.groups[].logsнетBooleanfalse
    groups.groups[].nameдаString
    groups.groups[].networksнетString[][]
    groups.groups[].traceнетBooleanfalse
    sgIcmpRules.rules[]даObject[]
    sgIcmpRules.rules[].ICMPдаObject
    sgIcmpRules.rules[].ICMP.IPvдаEnum("IPv4", "IPv6")
    sgIcmpRules.rules[].ICMP.TypesнетString[][]
    sgIcmpRules.rules[].SgдаString
    sgIcmpRules.rules[].logsнетBooleanfalse
    sgIcmpRules.rules[].traceнетBooleanfalse
    sgIcmpRules.rules[].actionда + Enum("UNDEF", "ACCEPT", "DROP") +
    syncOpда + Enum("Delete", "Upsert", "FullSync") +
    +
    + +

    Ограничения

    + +
      +
    • + `groups.groups[].name`: + +
    • +
    • + `groups.groups[].networks[]`: + +
    • +
    • + `sgIcmpRules.rules[].Sg`: + +
    • +
    • + `$node.rules[].type[]`: + +
    • +
    + +#### Пример использования + + + + + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "groups": { + "groups": [{ + "defaultAction": "ACCEPT", + "logs": true, + "name": "sg-example", + "networks": ["10.0.0.0/24", "11.0.0.0/24"], + "trace": true + }] + }, + "syncOp": "Upsert" + }' + ``` + +

    Выходные параметры

    + + + + + + + + + + + + + + + + +
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    + +

    Возможные ошибки API

    + + + + +

    Диаграмма последовательности

    + + + + ```mermaid + sequenceDiagram + participant user as User + participant server as Server + participant db as Database + + user->>server: Добавить Security Group + + alt Ошибка в запросе + server-->>user: Показать ошибку в запросе + end + + server->>db: Отправить запрос + db->>db: Проверка входящего запроса + + alt SG c таким названием уже существует + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Пересечение значений source портов + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Некорректное значение поля определяющее действие с данными из запроса + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + db->>db: Сохранить данные о SG в БД + + db-->>server: Ответ с успешно добавленной новой SG + server-->>user: Успешно добавленная новая SG + ``` + + +
    + + + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "sgIcmpRules": { + "rules": [{ + "ICMP": { + "IPv": "IPv4", + "Types": [0,8] + }, + "Sg": "sg-example", + "logs": true, + "trace": true, + "action": "DROP", + }, + { + "ICMP": { + "IPv": "IPv6", + "Types": [0,8] + }, + "Sg": "sg-example", + "logs": true, + "trace": true, + "action": "DROP", + }] + }, + "syncOp": "Upsert" + }' + ``` + +

    Выходные параметры

    + + + + + + + + + + + + + + + + +
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    + +

    Возможные ошибки API

    + + + + + + + ```mermaid + sequenceDiagram + participant user as User + participant server as Server + participant db as Database + + user->>server: Добавить Security Group + + alt Ошибка в запросе + server-->>user: Показать ошибку в запросе + end + + server->>db: Отправить запрос + db->>db: Проверка входящего запроса + + alt SG c таким названием уже существует + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Некорректное значение кода ICMP + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Некорректное значение IPv + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + db->>db: Сохранить данные о SG в БД + + db-->>server: Ответ с успешно добавленной новой SG + server-->>user: Успешно добавленная новая SG + ``` + + +
    +
    diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_Nftables.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_Nftables.mdx new file mode 100644 index 00000000..9934b354 --- /dev/null +++ b/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_Nftables.mdx @@ -0,0 +1,132 @@ +import { DICTIONARY } from '@site/src/constants/dictionary.ts' + +
    + В этом разделе мы покажем, как ресурс `groups`, созданный с помощью Terraform/API, внедряется в настройки nftables. В + контексте HBF мы интерпретируем ресурс groups как проекцию на ресурсы `IPSet` и `Chains` которые функционируют в + рамках инструмента nftables, обеспечивая более широкие возможности для управления подсетями и правилами. +
    +
      +
    • `$Trace` - {DICTIONARY.trace.short}
    • +
    • `$Transport` - {DICTIONARY.transport.short}
    • +
    • `$TypeList` - {DICTIONARY.icmpTypes.short}
    • +
    • `$Log` - {DICTIONARY.log.short}
    • +
    • `$Counter` - {DICTIONARY.nftCounter.short}
    • +
    • `$Verdict` - {DICTIONARY.nftRuleVerdict.short}
    • +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    шаблон параметраструктура параметразначениеобщиеicmp
    $Trace`nftrace set` +
      +
    • + 1 - трассировка включена +
    • +
    • + 0 - трассировка выключена +
    • +
    +
    $Transport`icmp`
    $TypeList`type {}`Набор целочисленных значений от 0 до 255
    $Log + `log` + `level debug flags ip options`
    $Counter + `counter` + `packets 0 bytes 0`
    $Verdict`accept` +
    + + $Verdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле может принимать значение `accept` или `drop` в зависимости от указанного в правиле. + +
    + Подробнее: [Verdict statement](/tech-docs/to-nft/nftables/verdict-statement) +
    +
    + +#### Шаблон + +```hcl +chain INGRESS-INPUT-sgName { + # ********** + $Trace $Transport $TypeList $Counter $Log $Verdict //ICMP + # ********** + $Trace $Counter $Log $Verdict //Общие +} + +chain EGRESS-POSTROUTING-sgName { + # ********** + $Trace $Transport $TypeList $Counter $Log $Verdict //ICMP + # ********** + $Trace $Counter $Log $Verdict //Общие +} +``` + +#### Пример использования + +```hcl +chain INGRESS-INPUT-sg-example { + # ********** + nftrace set 1 icmp type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options drop //ICMP + nftrace set 1 icmpv6 type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options drop //ICMP + # ********** + nftrace set 1 counter packets 0 bytes 0 log level debug flags ip options accept //Общие +} + + +chain EGRESS-POSTROUTING-sg-example { + # ********** + nftrace set 1 icmp type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options drop //ICMP + nftrace set 1 icmpv6 type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options drop //ICMP + # ********** + nftrace set 1 counter packets 0 bytes 0 log level debug flags ip options accept //Общие +} +``` diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_TerraformModule.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_TerraformModule.mdx new file mode 100644 index 00000000..f56dcfc9 --- /dev/null +++ b/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_TerraformModule.mdx @@ -0,0 +1,159 @@ +import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' +import { DICTIONARY } from '@site/src/constants/dictionary.ts' +import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' + +
    +

    {DICTIONARY.terraformModule.full}

    +
    +
    + Далее везде в документе подразумевается что все места, содержащие переменную `$transport` подразумевается одно из двух + значений: `icmp`, `icmp6`. +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    название параметраописаниетип данныхзначение по умолчанию
    nameНазвание Security GroupString
    cidrs[]Список CIDR, связанных с Security GroupString[][]
    default_rules + Структура, описывающая правила по умолчанию, для пакетов не соответствующих ни одному из установленных правил + в цепочке. + Object{}
    default_rules.access + Структура, описывающая взаимодействие с пакетами не соответствующими ни одному из установленных правил в + таблице. + Object{}
    default_rules.access.default.logs{DICTIONARY.log.short}Booleanfalse
    default_rules.access.default.trace{DICTIONARY.trace.short}Booleanfalse
    default_rules.access.default.action + Определяет действие по умолчанию для пакетов, не соответствующих ни одному из установленных правил в цепочке. + + Enum("ACCEPT", "DROP") + `ACCEPT`
    default_rules.access.$transport + Структура, описывающая взаимодействие с ICMP-трафиком по умолчанию. Для обработки ICMP-трафика добавляется + соответствующее правило в начало цепочки. + Object{}
    default_rules.access.$transport.logs{DICTIONARY.log.short}Booleanfalse
    default_rules.access.$transport.trace{DICTIONARY.trace.short}Booleanfalse
    default_rules.access.$transport.type[]{DICTIONARY.icmpTypes.short}Integer[][]
    default_rules.access.$transport.action{DICTIONARY.action.short}Enum("ACCEPT", "DROP")`ACCEPT`
    +
    + +#### Ограничения + +
      +
    • + `name`: + +
    • +
    • + `cidrs[]`: + +
    • +
    • + `default_rules.access.icmp.type`: + +
    • +
    • + `default_rules.access.icmp6.type`: + +
    • +
    + +#### [Пример использования](https://github.com/H-BF/swarm-spec-template/blob/master/spec/sg-example.yaml#L2) + +```yaml +name: sg-example +cidrs: + - 10.0.0.0/24 + - 11.0.0.0/24 +default_rules: + access: + default: + logs: true + trace: true + action: ACCEPT + + icmp: + action: DROP + logs: true + trace: true + type: [0, 8] + + icmp6: + action: DROP + logs: true + trace: true + type: [0, 8] +``` diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_TerraformResource.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_TerraformResource.mdx new file mode 100644 index 00000000..f993858f --- /dev/null +++ b/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_TerraformResource.mdx @@ -0,0 +1,163 @@ +import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' +import { DICTIONARY } from '@site/src/constants/dictionary.ts' +import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' + +
    +

    {DICTIONARY.terraformResource.full}

    +
    +
    + Далее везде в документе подразумевается что все места, содержащие переменную `$transport` ( + {DICTIONARY.transport.short}) подразумевается одно из двух значений: `icmp`, `icmp6`. +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    названиеобязательностьтип данныхдоп. описание
    itemsдаObjectCписок ресурсов создаваемые terraform ресурсом.
    items.keyдаStringУникальный ключ блока items.
    items.key.nameдаStringИмя Security Group.
    items.key.networksдаString[] + Список содержащий имена подсетей которые включены в указанную группу безопасности. Т.к. описывается + имплементация Terrafom module в Terraform resource то имя Networks совпадает с CIDR хотя им не является. +
    items.key.logsнетBoolean{DICTIONARY.log.short}
    items.key.traceнетBoolean{DICTIONARY.trace.short}
    items.key.default_actionдаEnum("DROP", "ACCEPT") + Определяет действие по умолчанию для пакетов, не соответствующих ни одному из установленных правил в цепочке. +
    items.key.$transportдаObject + Структура, описывающая взаимодействие с ICMP-трафиком по умолчанию. Для обработки ICMP-трафика добавляется + соответствующее правило в начало цепочки. +
    items.key.$transport.logsнетBoolean{DICTIONARY.log.short}
    items.key.$transport.traceнетBoolean{DICTIONARY.trace.short}
    items.key.$transport.type[]даString[]{DICTIONARY.icmpTypes.short}
    items.key.$transport.actionдаEnum("ACCEPT", "DROP"){DICTIONARY.action.short}
    +
    + +#### Ограничения + +
      +
    • + `items`: + +
    • +
    • + `items.key`: + +
    • +
    • + `items.key.name`: + +
    • +
    • + `items.key.networks`: + +
    • +
    • + `items.key.icmp.type`: + +
    • +
    • + `items.key.icmp6.type`: + +
    • +
    + +#### Пример использования + +```hcl +resource "sgroups_groups" "groups" { + items = { + key = { + name = "sg-example" + networks = ["10.0.0.0/24", "11.0.0.0/24"] + logs = true + trace = true + default_action = "ACCEPT" + icmp = { + logs = true + trace = true + type = [0, 8] + action = "DROP" + } + icmp6 = { + logs = true + trace = true + type = [0, 8] + action = "DROP" + } + } + } +} +``` diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/rule-configuration/networks.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/rule-configuration/networks.mdx index e03e3dd8..efd83594 100644 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/rule-configuration/networks.mdx +++ b/documentation/versioned_docs/version-v1.13.0/tech-docs/rule-configuration/networks.mdx @@ -4,10 +4,10 @@ id: networks import Tabs from '@theme/Tabs' import TabItem from '@theme/TabItem' -import TerraforModule from '@site/src/snippets/networks/_TerraformModule.mdx' -import TerraforResource from '@site/src/snippets/networks/_TerraformResource.mdx' -import Api from '@site/src/snippets/networks/_Api.mdx' -import Nftables from '@site/src/snippets/networks/_Nftables.mdx' +import TerraforModule from '../../snippets/networks/_TerraformModule.mdx' +import TerraforResource from '../../snippets/networks/_TerraformResource.mdx' +import Api from '../../snippets/networks/_Api.mdx' +import Nftables from '../../snippets/networks/_Nftables.mdx' # Networks diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/rule-configuration/s2c-ie.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/rule-configuration/s2c-ie.mdx index 3df4828d..46fc4d68 100644 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/rule-configuration/s2c-ie.mdx +++ b/documentation/versioned_docs/version-v1.13.0/tech-docs/rule-configuration/s2c-ie.mdx @@ -4,18 +4,18 @@ id: s2c-ie import Tabs from '@theme/Tabs' import TabItem from '@theme/TabItem' -import TerraforModule from '@site/src/snippets/s2c-ie/_TerraformModule.mdx' -import TerraformResource from '@site/src/snippets/s2c-ie/_TerraformResource.mdx' -import Nftables from '@site/src/snippets/s2c-ie/_Nftables.mdx' -import Api from '@site/src/snippets/s2c-ie/_Api.mdx' +import TerraforModule from '../../snippets/s2c-ie/_TerraformModule.mdx' +import TerraformResource from '../../snippets/s2c-ie/_TerraformResource.mdx' +import Nftables from '../../snippets/s2c-ie/_Nftables.mdx' +import Api from '../../snippets/s2c-ie/_Api.mdx' # Sgroup to CIDR (Ingress/Egress)
    - Ресурс `Security Group to CIDR` представляет собой введенную нами абстракцию, которая обеспечивает гибкое управление и контроль за - сетевым трафиком между различными группами безопасности и подсетями, используя TCP, UDP и ICMP протоколы. Этот ресурс - дает возможность детально настроить, какой трафик разрешен к передаче между группами безопасности и определенными - подсетями, тем самым гарантируя высокий уровень защиты и управления сетевой инфраструктурой. + Ресурс `Security Group to CIDR` представляет собой введенную нами абстракцию, которая обеспечивает гибкое управление и + контроль за сетевым трафиком между различными группами безопасности и подсетями, используя TCP, UDP и ICMP протоколы. + Этот ресурс дает возможность детально настроить, какой трафик разрешен к передаче между группами безопасности и + определенными подсетями, тем самым гарантируя высокий уровень защиты и управления сетевой инфраструктурой.
    - Ресурс `Security Group to FQDN` представляет собой введенную нами абстракцию, которая обеспечивает гибкое управление и контроль за сетевым - трафиком между различными группами безопасности и FQDN записями, используя TCP, UDP протоколы. Этот ресурс дает - возможность детально настроить, какой трафик разрешен к передаче между группами безопасности и определенными FQDN - записями, тем самым гарантируя высокий уровень защиты и управления сетевой инфраструктурой. + Ресурс `Security Group to FQDN` представляет собой введенную нами абстракцию, которая обеспечивает гибкое управление и + контроль за сетевым трафиком между различными группами безопасности и FQDN записями, используя TCP, UDP протоколы. + Этот ресурс дает возможность детально настроить, какой трафик разрешен к передаче между группами безопасности и + определенными FQDN записями, тем самым гарантируя высокий уровень защиты и управления сетевой инфраструктурой. +
  • `networks[]` - {DICTIONARY.networks.short}
  • +
  • `networks[].name` - название подсети.
  • +
  • `networks[].network` - объект содержащий CIDR подсети
  • +
  • `networks[].network.CIDR` - {DICTIONARY.cidr.short}
  • +
  • `syncOp` - {DICTIONARY.syncOp.short}
  • + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    названиеобязательностьтип данныхзначение по умолчанию
    networks[]даObject[]
    networks[].nameдаString
    networks[].networkдаObject
    networks[].network.CIDRдаString
    syncOpдаEnum("Delete", "Upsert", "FullSync")
    +
    + +

    Ограничения

    + +
      +
    • + `networks.networks[].name`: + +
    • +
    • + `networks.networks[].network.CIDR`: + +
    • +
    + +

    Пример использования

    + +```bash +curl '127.0.0.1:9007/v1/sync' \ +--header 'Content-Type: application/json' \ +--data '{ + "networks": { + "networks": [{ + "name": "nw-1", + "network": { + "CIDR": "10.0.0.0/24" + } + }] + }, + "syncOp": "Upsert" +}' +``` + +

    Выходные параметры

    + +
    + + + + + + + + + + + + + + + +
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    +
    + +

    Возможные ошибки API

    + + + + +

    Диаграмма последовательности

    + + + +```mermaid +sequenceDiagram +participant user as User +participant server as Server +participant db as Database + +user->>server: Добавить сеть + +alt Ошибка в запросе + server-->>user: Показать ошибку в запросе +end + +server->>db: Отправить запрос +db->>db: Проверка входящего запроса + +alt Сеть с таким названием уже существует + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе +end + +alt Пересечение значений CIDR + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе +end + +alt Некорректное значение поля определяющее действие с данными из запроса + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе +end + +db->>db: Сохранить данные о сети в БД + +db-->>server: Ответ с успешно добавленной новой сетью +server-->>user: Успешно добавленная новая сеть +``` + + diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/networks/_Nftables.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/networks/_Nftables.mdx new file mode 100644 index 00000000..9d2a78bd --- /dev/null +++ b/documentation/versioned_docs/version-v1.14.0/snippets/networks/_Nftables.mdx @@ -0,0 +1,96 @@ +
    + В этом разделе мы покажем, как ресурс networks, созданный с помощью Terraform/API, внедряется в настройки nftables. В + контексте HBF мы интерпретируем ресурс networks как проекцию на поле `elements` ресурса `IPSet`, который функционирует + в рамках инструмента nftables, обеспечивая более широкие возможности для управления подсетями. +
    +
      +
    • `$IPSet_Name` - Наименование IPSet
    • +
    • `$type` - Описывает тип данных
    • +
    • `$flags` - Описывает свойства IPSet.
    • +
    • `$elements` - Указывает массив содержащихся в IPSet элементов подсетей (CIDR)
    • +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    шаблон параметраструктура параметразначения
    $IPSet_Name`^NetIPv[4|6]-.*` + Примеры значений: +
      +
    • + NetIPv4-sg-example - для описания массивов IP адресов типа v4 +
    • +
    • + NetIPv6-sg-example - для описания массивов IP адресов типа v6 +
    • +
    +
    $type`type` + Могут быть установлены следующие значения: +
      +
    • + ipv4_addr - для описания массивов IP адресов типа v4 +
    • +
    • + ipv6_addr - для описания массивов IP адресов типа v6 +
    • +
    +
    $flags`flags` + Установлены следующие значения: +
      +
    • + constant - флаг используется если значение элементов в множестве являются постоянными и не могут + быть изменены +
    • +
    • + interval - флаг используется для создания диапазона элементов множества +
    • +
    +
    $elements`elements = {}`Значения CIDR, в случае нескольких значений перечисляются через запятую
    +
    + +#### Шаблон + +```hcl +set $IPSet_Name { + $type + $flags + $elements +} +``` + +#### Пример использования + +```hcl +set NetIPv4-sg-example { + type ipv4_addr + flags constant,interval + elements = { 10.0.0.0/24 } <- networks +} +``` diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/networks/_TerraformModule.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/networks/_TerraformModule.mdx new file mode 100644 index 00000000..da3add65 --- /dev/null +++ b/documentation/versioned_docs/version-v1.14.0/snippets/networks/_TerraformModule.mdx @@ -0,0 +1,57 @@ +import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' +import { DICTIONARY } from '@site/src/constants/dictionary.ts' +import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' + +
    +

    {DICTIONARY.terraformModule.full}

    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    название параметраописаниетип данныхзначение по умолчанию
    nameИмя Security GroupString
    cidrs[]Список CIDR, связанных с Security GroupString[][]
    +
    + +#### Ограничения + +
      +
    • + `name`: + +
    • +
    • + `cidrs[]`: + +
    • +
    + +

    + Пример использования +

    + +```yaml +name: sg-example +cidrs: + - 10.0.0.0/24 +``` diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/networks/_TerraformResource.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/networks/_TerraformResource.mdx new file mode 100644 index 00000000..4433b3bc --- /dev/null +++ b/documentation/versioned_docs/version-v1.14.0/snippets/networks/_TerraformResource.mdx @@ -0,0 +1,80 @@ +import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' +import { DICTIONARY } from '@site/src/constants/dictionary.ts' +import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' + +
    +

    {DICTIONARY.terraformResource.full}

    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    названиеобязательностьтип данныхдоп. описание
    itemsдаObjectCписок ресурсов создаваемые terraform.
    items.keyдаStringУникальный ключ блока items.
    items.key.nameдаstringИмя подсети.
    items.key.cidrдаstring{DICTIONARY.cidr.short}
    +
    + +#### Ограничения + +
      +
    • + `items`: + +
    • +
    • + `items.key`: + +
    • +
    • + `items.key.name`: + +
    • +
    • + `items.key.cidr`: + +
    • +
    + +#### Пример использования + +```hcl +resource "sgroups_networks" "networks" { + items = { + key = { + name = "nw-1" + cidr = "10.0.0.0/24" + } + } +} +``` diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/s2c-ie/_Api.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/s2c-ie/_Api.mdx new file mode 100644 index 00000000..4641fd9c --- /dev/null +++ b/documentation/versioned_docs/version-v1.14.0/snippets/s2c-ie/_Api.mdx @@ -0,0 +1,763 @@ +import Tabs from '@theme/Tabs' +import TabItem from '@theme/TabItem' + +import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' +import { DICTIONARY } from '@site/src/constants/dictionary.ts' +import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' +import { FancyboxDiagram } from '@site/src/components/commonBlocks/FancyboxDiagram' +import { RESPOND_CODES } from '@site/src/constants/errorCodes.tsx' +import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' + +#### Входные параметры + +
      +
    • `$node.rules[]` - {DICTIONARY.rules.short}
    • +
    • `$node.rules[].cidr` - {DICTIONARY.cidrSet.short}
    • +
    • `$node.rules[].sg` - {DICTIONARY.sgLocal.short}
    • +
    • `$node.rules[].logs` - {DICTIONARY.log.short}
    • +
    • `$node.rules[].trace` - {DICTIONARY.trace.short}
    • +
    • `$node.rules[].ports` - {DICTIONARY.ports.short}
    • +
    • `$node.rules[].ports[].d` - {DICTIONARY.dstPorts.short}
    • +
    • `$node.rules[].ports[].s` - {DICTIONARY.srcPorts.short}
    • +
    • `$node.rules[].traffic` - {DICTIONARY.traffic.short}
    • +
    • `$node.rules[].transport` - {DICTIONARY.transport.short}
    • +
    • `$node.rules[].ICMP` - {DICTIONARY.apiIcmp.short}
    • +
    • `$node.rules[].ICMP.IPv` - {DICTIONARY.icmpV.short}
    • +
    • `$node.rules[].ICMP.Types` - {DICTIONARY.icmpTypes.short}
    • +
    • `$node.rules[].action` - {DICTIONARY.action.short}
    • +
    • `$node.rules[].priority` - {DICTIONARY.priorityst.short}
    • +
    • `$node.rules[].priority.some` - {DICTIONARY.priority.short}
    • +
    • `syncOp` - {DICTIONARY.syncOp.short}
    • +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Области применения полей относительно используемого протокола
    названиеобязательностьтип данныхзначение по умолчаниюtransport*
    TCPUDPICMP
    $node.rules[]даObjectnull
    $node.rules[].CIDRдаString
    $node.rules[].SGдаString
    $node.rules[].logsнетBooleanfalse
    $node.rules[].traceнетBooleanfalse
    $node.rules[].portsнетObject[]null
    $node.rules[].ports[].dнетStringnull
    $node.rules[].ports[].sнетStringnull
    $node.rules[].trafficдаEnum("Ingress", "Egress")
    $node.rules[].transportнетEnum("TCP", "UDP")TCP
    $node.rules[].ICMPдаObject
    $node.rules[].ICMP.IPvдаEnum("IPv4", "IPv6")
    $node.rules[].ICMP.TypesнетString[][]
    $node.rules[].actionда + Enum("UNDEF", "ACCEPT", "DROP") +
    $node.rules[].priorityнетObject
    $node.rules[].priority.someнетInteger
    syncOpда + Enum("Delete", "Upsert", "FullSync") +
    +
    + +

    Ограничения

    + +
      +
    • + `$node.rules[].SG`: + +
    • +
    • + `$node.rules[].CIDR`: + +
    • +
    • + `$node.rules[].ports[].s`: + +
    • +
    • + `$node.rules[].ports[].d`: + +
    • +
    • + `$node.rules[].type[]`: + +
    • +
    + +

    Пример использования

    + + + +
    +
    +

    Ingress

    + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "cidrSgRules": { + "rules": [ + { + "traffic": "Ingress", + "CIDR": "10.0.0.0/8", + "SG": "sg-local-example", + "logs": true, + "trace": true, + "ports": [{ + "d": "64321", + "s": "443,80" + }], + "transport": "TCP", + "action": "ACCEPT", + "priority": { + "some": 300 + } + } + ] + }, + "syncOp": "Upsert" + }' + ``` +
    +
    +

    Egress

    + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "cidrSgRules": { + "rules": [ + { + "traffic": "Egress", + "CIDR": "10.0.0.0/8", + "SG": "sg-local-example", + "logs": true, + "trace": true, + "ports": [{ + "d": "64321", + "s": "443,80" + }], + "transport": "TCP", + "action": "ACCEPT", + "priority": { + "some": 300 + } + } + ] + }, + "syncOp": "Upsert" + }' + ``` +
    +
    + +

    Выходные параметры

    + +
    + + + + + + + + + + + + + + + +
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    +
    + +

    Возможные ошибки API

    + + + + +

    Диаграмма последовательности

    + + + + ```mermaid + sequenceDiagram + participant user as User + participant server as Server + participant db as Database + + user->>server: Добавить IE-CIDR-SG правило + + alt Ошибка в запросе + server-->>user: Показать ошибку в запросе + end + + server->>db: Отправить запрос + db->>db: Проверка входящего запроса + + alt Нет такого значения имени SG + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Пересечение значений source портов + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + db->>db: Сохранить данные о IE-CIDR-SG в БД + + db-->>server: Ответ с успешно добавленным новым IE-CIDR-SG правилом + server-->>user: Успешно добавленное новое IE-CIDR-SG правило + ``` + + +
    + +
    +
    +

    Ingress

    + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "cidrSgRules": { + "rules": [ + { + "traffic": "Ingress", + "CIDR": "10.0.0.0/8", + "SG": "sg-local-example", + "logs": true, + "trace": true, + "ports": [{ + "d": "64321", + "s": "443,80" + }], + "transport": "UDP", + "action": "ACCEPT", + "priority": { + "some": 300 + } + } + ] + }, + "syncOp": "Upsert" + }' + ``` +
    +
    +

    Egress

    + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "cidrSgRules": { + "rules": [ + { + "traffic": "Egress", + "CIDR": "10.0.0.0/8", + "SG": "sg-local-example", + "logs": true, + "trace": true, + "ports": [{ + "d": "64321", + "s": "443,80" + }], + "transport": "UDP", + "action": "ACCEPT", + "priority": { + "some": 300 + } + } + ] + }, + "syncOp": "Upsert" + }' + ``` +
    +
    + +

    Выходные параметры

    + +
    + + + + + + + + + + + + + + + +
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    +
    + +

    Возможные ошибки API

    + + + + +

    Диаграмма последовательности

    + + + + ```mermaid + sequenceDiagram + participant user as User + participant server as Server + participant db as Database + + user->>server: Добавить IE-CIDR-SG правило + + alt Ошибка в запросе + server-->>user: Показать ошибку в запросе + end + + server->>db: Отправить запрос + db->>db: Проверка входящего запроса + + alt Нет такого значения имени SG + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Пересечение значений source портов + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + db->>db: Сохранить данные о IE-CIDR-SG в БД + + db-->>server: Ответ с успешно добавленным новым IE-CIDR-SG правилом + server-->>user: Успешно добавленное новое IE-CIDR-SG правило + ``` + + +
    + +
    +
    +

    Ingress

    + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "cidrSgIcmpRules": { + "rules": [ + { + "traffic": "Ingress", + "CIDR": "10.0.0.0/8", + "SG": "sg-local-example", + "logs": true, + "trace": true, + "ICMP": { + "IPv": "IPv4", + "Types": [0, 8] + }, + "action": "ACCEPT", + "priority": { + "some": 200 + } + } + ] + }, + "syncOp": "Upsert" + }' + ``` +
    +
    +

    Egress

    + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "cidrSgIcmpRules": { + "rules": [ + { + "traffic": "Egress", + "CIDR": "10.0.0.0/8", + "SG": "sg-local-example", + "logs": true, + "trace": true, + "ICMP": { + "IPv": "IPv4", + "Types": [0, 8] + }, + "action": "ACCEPT", + "priority": { + "some": 200 + } + } + ] + }, + "syncOp": "Upsert" + }' + ``` +
    +
    + +

    Выходные параметры

    + +
    + + + + + + + + + + + + + + + +
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    +
    + +

    Возможные ошибки API

    + + + + +

    Диаграмма последовательности

    + + + + ```mermaid + sequenceDiagram + participant user as User + participant server as Server + participant db as Database + + user->>server: Добавить IE-CIDR-SG правило + + alt Ошибка в запросе + server-->>user: Показать ошибку в запросе + end + + server->>db: Отправить запрос + db->>db: Проверка входящего запроса + + alt Нет такого значения имени SG + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Некорректное значение кода ICMP + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Некорректное значение IPv + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + db->>db: Сохранить данные о IE-CIDR-SG в БД + + db-->>server: Ответ с успешно добавленным новым IE-CIDR-SG правилом + server-->>user: Успешно добавленное новое IE-CIDR-SG правило + ``` + + +
    + + +
    +
    +

    Ingress

    + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "cidrSgIcmpRules": { + "rules": [ + { + "traffic": "Ingress", + "CIDR": "::ffff:a00:0/104", + "SG": "sg-local-example", + "logs": true, + "trace": true, + "ICMP": { + "IPv": "IPv6", + "Types": [0, 8] + }, + "action": "ACCEPT", + "priority": { + "some": 200 + } + } + ] + }, + "syncOp": "Upsert" + }' + ``` +
    +
    +

    Egress

    + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "cidrSgIcmpRules": { + "rules": [ + { + "traffic": "Egress", + "CIDR": "::ffff:a00:0/104", + "SG": "sg-local-example", + "logs": true, + "trace": true, + "ICMP": { + "IPv": "IPv6", + "Types": [0, 8] + }, + "action": "ACCEPT", + "priority": { + "some": 200 + } + } + ] + }, + "syncOp": "Upsert" + }' + ``` +
    +
    + +

    Выходные параметры

    + +
    + + + + + + + + + + + + + + + +
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    +
    + +

    Возможные ошибки API

    + + + + +

    Диаграмма последовательности

    + + + + ```mermaid + sequenceDiagram + participant user as User + participant server as Server + participant db as Database + + user->>server: Добавить IE-CIDR-SG правило + + alt Ошибка в запросе + server-->>user: Показать ошибку в запросе + end + + server->>db: Отправить запрос + db->>db: Проверка входящего запроса + + alt Нет такого значения имени SG + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Некорректное значение кода ICMP + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Некорректное значение IPv + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + db->>db: Сохранить данные о IE-CIDR-SG в БД + + db-->>server: Ответ с успешно добавленным новым IE-CIDR-SG правилом + server-->>user: Успешно добавленное новое IE-CIDR-SG правило + ``` + + +
    +
    diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/s2c-ie/_Nftables.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/s2c-ie/_Nftables.mdx new file mode 100644 index 00000000..36ac6dd1 --- /dev/null +++ b/documentation/versioned_docs/version-v1.14.0/snippets/s2c-ie/_Nftables.mdx @@ -0,0 +1,329 @@ +import Tabs from '@theme/Tabs' +import TabItem from '@theme/TabItem' +import { DICTIONARY } from '@site/src/constants/dictionary.ts' + +
    + В этом разделе мы покажем, как правила фильтрации трафика, созданные с помощью Terraform и API, внедряются в настройки + nftables. Это позволяет легко интегрировать сложные правила безопасности прямо в вашу систему фильтрации трафика. +
    +
      +
    • `$Trace` - {DICTIONARY.trace.short}
    • +
    • `$SrcCIDR` - {DICTIONARY.srcDstCidr.short}
    • +
    • `$DstCIDR` - {DICTIONARY.srcDstCidr.short}
    • +
    • `$Transport` - {DICTIONARY.transport.short}
    • +
    • `$NftRuleType` - {DICTIONARY.nftRuleType.short}
    • +
    • `$IcmpTypeList` - {DICTIONARY.icmpTypes.short}
    • +
    • `$SrcPorts` - {DICTIONARY.srcPorts.short}
    • +
    • `$DstPorts` - {DICTIONARY.dstPorts.short}
    • +
    • `$NftCounter` - {DICTIONARY.nftCounter.short}
    • +
    • `$Log` - {DICTIONARY.log.short}
    • +
    • `$NftRuleVerdict` - {DICTIONARY.nftRuleVerdict.short}
    • +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Области применения полей относительно используемого протокола
    шаблон параметраструктура параметразначенияtransport*
    TCPUDPICMP
    $Trace`nftrace set` +
      +
    • + 1 - трассировка включена +
    • +
    • + 0 - трассировка выключена +
    • +
    +
    $SrcCIDR + `saddr` + `${CIDR}`
    $DstCIDR + `daddr` + `${CIDR}`
    $Transport + Enum("tcp", "udp", "icmp") +
    $NftRuleType`ip`
    $IcmpTypeList`type {}`Набор целочисленных значений от 0 до 255
    $SrcPorts`sport {}`Набор целочисленных значений от 0 до 65535
    $DstPorts`dport {}`Набор целочисленных значений от 0 до 65535
    $NftCounter + `counter` + `packets 0 bytes 0`
    $Log + `log` + `level debug flags ip options`
    $NftRuleVerdict`accept` +
    + + $NftRuleVerdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле может принимать значение `accept` или `drop` в зависимости от указанного в правиле. + +
    + Подробнее: [Verdict statement](/tech-docs/to-nft/nftables/verdict-statement) +
    +
    + +

    Пример использования

    + + + + + + #### Шаблон + + ```hcl + chain INGRESS-INPUT-sgName { + # ********** + $Trace $NftRuleType $SrcCIDR $Transport $SrcPorts $DstPorts $NftCounter $Log $NftRuleVerdict + # ********** + } + ``` + + #### Пример использования + + ```hcl + chain INGRESS-INPUT-sg-local-example { + # ********** + nftrace set 1 ip saddr { 10.0.0.0/8 } tcp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + # ********** + } + ``` + + + #### Шаблон + + ```hcl + chain EGRESS-POSTROUTING-sgName { + # ********** + $Trace $NftRuleType $DstCIDR $Transport $SrcPorts $DstPorts $NftCounter $Log $NftRuleVerdict + # ********** + } + ``` + + #### Пример использования + + ```hcl + chain EGRESS-POSTROUTING-sg-local-example { + # ********** + nftrace set 1 ip daddr { 10.0.0.0/8 } tcp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + # ********** + } + ``` + + + + + + + #### Шаблон + + ```hcl + chain INGRESS-INPUT-sgName { + # ********** + $Trace $NftRuleType $SrcCIDR $Transport $SrcPorts $DstPorts $NftCounter $Log $NftRuleVerdict + # ********** + } + ``` + + #### Пример использования + + ```hcl + chain INGRESS-INPUT-sg-local-example { + # ********** + nftrace set 1 ip saddr { 10.0.0.0/8 } udp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + # ********** + } + ``` + + + #### Шаблон + + ```hcl + chain EGRESS-POSTROUTING-sgName { + # ********** + $Trace $NftRuleType $DstCIDR $Transport $SrcPorts $DstPorts $NftCounter $Log $NftRuleVerdict + # ********** + } + ``` + + #### Пример использования + + ```hcl + chain EGRESS-POSTROUTING-sg-local-example { + # ********** + nftrace set 1 ip daddr { 10.0.0.0/8 } udp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + # ********** + } + ``` + + + + + + + #### Шаблон + + ```hcl + chain INGRESS-INPUT-sgName { + # ********** + $Trace $NftRuleType $DstCIDR $Transport $IcmpTypeList $NftCounter $Log $NftRuleVerdict + $Trace $NftRuleType $DstCIDR $Transport $IcmpTypeList $NftCounter $Log $NftRuleVerdict + # ********** + } + ``` + + #### Пример использования + + ```hcl + chain INGRESS-INPUT-sg-local-example { + # ********** + nftrace set 1 ip saddr { 10.0.0.0/8 } icmp type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options accept + nftrace set 1 ip saddr { ::ffff:a00:0/104 } icmp6 type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options accept + # ********** + } + ``` + + + #### Шаблон + + ```hcl + chain EGRESS-POSTROUTING-sgName { + # ********** + $Trace $NftRuleType $DstCIDR $Transport $IcmpTypeList $NftCounter $Log $NftRuleVerdict + $Trace $NftRuleType $DstCIDR $Transport $IcmpTypeList $NftCounter $Log $NftRuleVerdict + # ********** + } + ``` + + #### Пример использования + + ```hcl + chain EGRESS-POSTROUTING-sg-local-example { + # ********** + nftrace set 1 ip daddr { 10.0.0.0/8 } icmp type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options accept + nftrace set 1 ip daddr { ::ffff:a00:0/104 } icmp6 type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options accept + # ********** + } + ``` + + + + + diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/s2c-ie/_TerraformModule.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/s2c-ie/_TerraformModule.mdx new file mode 100644 index 00000000..0f405fcf --- /dev/null +++ b/documentation/versioned_docs/version-v1.14.0/snippets/s2c-ie/_TerraformModule.mdx @@ -0,0 +1,428 @@ +import Tabs from '@theme/Tabs' +import TabItem from '@theme/TabItem' + +import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' +import { DICTIONARY } from '@site/src/constants/dictionary.ts' +import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' + +
    +

    {DICTIONARY.terraformModule.full}

    +
    +
    + Далее везде в документе подразумевается что все места, содержащие переменную `$traffic`, могут принять одно из двух + значений: `Ingress` `Egress`. Аналогчично для `$transport` подразумевается одно из четырех значений: `tcp`, `udp`, + `icmpIPv4`, `icmpIPv6` +
    + +
      +
    • `rules` - {DICTIONARY.rules.short}
    • +
    • `rules.$traffic[]` - {DICTIONARY.traffic.short}
    • +
    • `rules.$traffic[].cidrSet[]` - {DICTIONARY.cidrSet.short}
    • +
    • `rules.$traffic[].access.$transport` - {DICTIONARY.transport.short}
    • +
    • `rules.$traffic[].access.$transport.action` - {DICTIONARY.action.short}
    • +
    • `rules.$traffic[].access.$transport.priority` - {DICTIONARY.priority.short}
    • +
    • `rules.$traffic[].access.$transport.logs` - {DICTIONARY.log.short}
    • +
    • `rules.$traffic[].access.$transport.trace` - {DICTIONARY.trace.short}
    • +
    • `rules.$traffic[].access.$transport.ports[].description` - {DICTIONARY.description.short}
    • +
    • `rules.$traffic[].access.$transport.ports[].ports_to[]` - {DICTIONARY.dstPorts.short}
    • +
    • `rules.$traffic[].access.$transport.ports[].ports_from[]` - {DICTIONARY.srcPorts.short}
    • +
    • `rules.$traffic[].access.$transport.types[].description` - {DICTIONARY.description.short}
    • +
    • `rules.$traffic[].access.$transport.types[].type[]` - {DICTIONARY.icmpTypes.short}
    • + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Области применения полей относительно используемого протокола
    название параметратип данныхзначение по умолчаниюtransport*
    TCPUDPICMP
    rulesObject[][]
    rules.$traffic[]Object[]
    rules.$traffic[].cidrSet[]String[]
    rules.$traffic[].access.$transportObject
    rules.$traffic[].access.$transport.action + Enum("ACCEPT", "DROP") +
    rules.$traffic[].access.$transport.priorityString
    rules.$traffic[].access.$transport.logBooleanfalse
    rules.$traffic[].access.$transport.traceBooleanfalse
    rules.$traffic[].access.$transport.ports[]Object[]{}
    rules.$traffic[].access.$transport.ports[].descriptionString""
    rules.$traffic[].access.$transport.ports[].ports_to[]Integer[]null
    rules.$traffic[].access.$transport.ports[].ports_from[]Integer[]null
    rules.$traffic[].access.$transport.types[]Object[]
    rules.$traffic[].access.$transport.types[].descriptionString""
    rules.$traffic[].access.$transport.types[].type[]Integer[]null
    +
    + +

    Ограничения

    + +
      +
    • + `name`: + +
    • +
    • + `rules.$traffic[].cidrSet`: + +
    • +
    • + `rules.$traffic[].access.$transport.priority`: + +
    • +
    • + `rules.$traffic[].access.$transport.ports[].ports_to[]`: + +
    • +
    • + `rules.$traffic[].access.$transport.ports[].ports_from[]`: + +
    • +
    • + `rules.$traffic[].access.$transport.types[].type[]`: + +
    • +
    + +

    Пример использования

    + + + +
    +
    +

    Ingress

    + + ```yaml + name: sg-local-example + rules: + ingress: + - cidrSet: + - "10.0.0.0/8" + access: + tcp: + action: ACCEPT + priority: 300 + logs: true + trace: true + ports: + - description: "example" + ports_from: + - 64231 + ports_to: + - 443 + - 80 + ``` + +
    +
    +

    Egress

    + + ```yaml + name: sg-local-example + rules: + egress: + - cidrSet: + - "10.0.0.0/8" + access: + tcp: + action: ACCEPT + priority: 300 + logs: true + trace: true + ports: + - description: "example" + ports_from: + - 64231 + ports_to: + - 443 + - 80 + ``` + +
    +
    + +
    + +
    +
    +

    Ingress

    + + ```yaml + name: sg-local-example + rules: + ingress: + - cidrSet: + - "10.0.0.0/8" + access: + udp: + action: ACCEPT + priority: 300 + logs: true + trace: true + ports: + - description: "example" + ports_from: + - 64231 + ports_to: + - 443 + - 80 + ``` + +
    +
    +

    Egress

    + + ```yaml + name: sg-local-example + rules: + egress: + - cidrSet: + - "10.0.0.0/8" + access: + udp: + action: ACCEPT + priority: 300 + logs: true + trace: true + ports: + - description: "example" + ports_from: + - 64231 + ports_to: + - 443 + - 80 + ``` +
    +
    + +
    + +
    +
    +

    Ingress

    + + ```yaml + name: sg-local-example + rules: + ingress: + - cidrSet: + - "10.0.0.0/8" + access: + icmpIPv4: + action: ACCEPT + priority: 200 + logs: true + trace: true + types: + - description: "example" + type: + - 0 + - 8 + ``` + +
    +
    +

    Egress

    + + ```yaml + name: sg-local-example + rules: + egress: + - cidrSet: + - "10.0.0.0/8" + access: + icmpIPv4: + action: ACCEPT + priority: 200 + logs: true + trace: true + types: + - description: "example" + type: + - 0 + - 8 + ``` +
    +
    + +
    + + +
    +
    +

    Ingress

    + + ```yaml + name: sg-local-example + rules: + ingress: + - cidrSet: + - "::ffff:a00:0/104" + access: + icmpIPv6: + action: ACCEPT + priority: 200 + logs: true + trace: true + types: + - description: "example" + type: + - 0 + - 8 + ``` + +
    +
    +

    Egress

    + + ```yaml + name: sg-local-example + rules: + egress: + - cidrSet: + - "::ffff:a00:0/104" + access: + icmpIPv6: + action: ACCEPT + priority: 200 + logs: true + trace: true + types: + - description: "example" + type: + - 0 + - 8 + ``` +
    +
    + +
    + +
    diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/s2c-ie/_TerraformResource.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/s2c-ie/_TerraformResource.mdx new file mode 100644 index 00000000..cb5cb22c --- /dev/null +++ b/documentation/versioned_docs/version-v1.14.0/snippets/s2c-ie/_TerraformResource.mdx @@ -0,0 +1,454 @@ +import Tabs from '@theme/Tabs' +import TabItem from '@theme/TabItem' +import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' +import { DICTIONARY } from '@site/src/constants/dictionary.ts' +import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' + +
    +

    {DICTIONARY.terraformResource.full}

    +
    +
      +
    • `items` - список ресурсов создаваемые terraform ресурсом.
    • +
    • `items.$ruleName` - уникальное имя создаваемого ресурса.
    • +
    • `items.$ruleName.traffic` - {DICTIONARY.traffic.short}
    • +
    • `items.$ruleName.transport` - {DICTIONARY.transport.short}
    • +
    • `items.$ruleName.cidr` - {DICTIONARY.cidrSet.short}
    • +
    • `items.$ruleName.sg_name` - {DICTIONARY.sgLocal.short}
    • +
    • `items.$ruleName.ports` - {DICTIONARY.ports.short}
    • +
    • `items.$ruleName.ports[].d` - {DICTIONARY.dstPorts.short}
    • +
    • `items.$ruleName.ports[].s` - {DICTIONARY.srcPorts.short}
    • +
    • `items.$ruleName.logs` - {DICTIONARY.log.short}
    • +
    • `items.$ruleName.trace` - {DICTIONARY.trace.short}
    • +
    • `items.$ruleName.ip_v` - {DICTIONARY.icmpV.short}
    • +
    • `items.$ruleName.type` - {DICTIONARY.icmpTypes.short}
    • +
    • `items.$ruleName.action` - {DICTIONARY.action.short}
    • +
    • `items.$ruleName.priority` - {DICTIONARY.priority.short}
    • +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Области применения полей относительно используемого протокола
    названиеобязательностьтип данныхзначение по умолчаниюtransport*
    TCPUDPICMP
    itemsдаObject
    items.$ruleNameдаObject
    items.$ruleName.trafficда + Enum("ingress", "egress") +
    items.$ruleName.transportдаEnum("TCP", "UDP")
    items.$ruleName.cidrдаString
    items.$ruleName.sg_nameдаString
    items.$ruleName.portsнетObject[]null
    items.$ruleName.ports[].dнетString""
    items.$ruleName.ports[].sнетString""
    items.$ruleName.logsнетBooleanfalse
    items.$ruleName.traceнетBooleanfalse
    items.$ruleName.ip_vдаEnum("IPv4", "IPv6")
    items.$ruleName.typeдаString[]null
    items.$ruleName.actionда + Enum("ACCEPT", "DROP") +
    items.$ruleName.priorityнетInteger
    +
    + +

    Ограничения

    + +
      +
    • + `items`: + +
    • +
    • + `items.$ruleName`: + +
    • +
    • + `items.$ruleName.sg_name`: + +
    • +
    • + `items.$ruleName.cidr`: + +
    • +
    • + `items.$ruleName.ports[].s`: + +
    • +
    • + `items.$ruleName.ports[].d`: + +
    • +
    • + `items.$ruleName.type[]`: + +
    • +
    • + `items.$ruleName.priority`: + +
    • +
    + +

    Пример использования

    + + + +
    +
    +

    Ingress

    + + + ```hcl + resource "sgroups_cidr_rules" "rules" { + items = { + "tcp:cidr(10.0.0.0/8)sg(sg-example)ingress" = { + traffic = "ingress" + logs = true + trace = true + sg_name = "sg-local-example" + cidr = "10.0.0.0/8" + transport = "tcp" + ports = [{ + d = "80" + s = "" + }] + action = "ACCEPT" + priority = 300 + } + } + } + ``` + + +
    +
    +

    Egress

    + + + ```hcl + resource "sgroups_cidr_rules" "rules" { + items = { + "tcp:cidr(10.0.0.0/8)sg(sg-example)egress" = { + traffic = "egress" + logs = true + trace = true + sg_name = "sg-local-example" + cidr = "10.0.0.0/8" + transport = "tcp" + ports = [{ + d = "80" + s = "" + }] + action = "ACCEPT" + priority = 300 + } + } + } + ``` + + +
    +
    +
    + + +
    +
    +

    Ingress

    + + + ```hcl + resource "sgroups_cidr_rules" "rules" { + items = { + "udp:cidr(10.0.0.0/8)sg(sg-example)ingress" = { + traffic = "ingress" + logs = true + trace = true + sg_name = "sg-local-example" + cidr = "10.0.0.0/8" + transport = "udp" + ports = [{ + d = "80" + s = "" + }] + action = "ACCEPT" + priority = 300 + } + } + } + ``` + + +
    +
    +

    Egress

    + + + ```hcl + resource "sgroups_cidr_rules" "rules" { + items = { + "udp:cidr(10.0.0.0/8)sg(sg-example)egress" = { + traffic = "egress" + logs = true + trace = true + sg_name = "sg-local-example" + cidr = "10.0.0.0/8" + transport = "udp" + ports = [{ + d = "80" + s = "" + }] + action = "ACCEPT" + priority = 300 + } + } + } + ``` +
    +
    +
    + + +
    +
    +

    Ingress

    + + ```hcl + resource "sgroups_cidr_icmp_rules" "rules" { + items = { + "icmp4:cidr(10.0.0.0/8)sg(sg-example)ingress" = { + traffic = "ingress" + logs = true + trace = true + sg_name = "sg-local-example" + cidr = "10.0.0.0/8" + ip_v = "IPv4" + type = [0,8] + action = "ACCEPT" + priority = 200 + } + } + } + ``` + + +
    +
    +

    Egress

    + + + ```hcl + resource "sgroups_cidr_icmp_rules" "rules" { + items = { + "icmp4:cidr(10.0.0.0/8)sg(sg-example)egress" = { + traffic = "egress" + logs = true + trace = true + sg_name = "sg-local-example" + cidr = "10.0.0.0/8" + ip_v = "IPv4" + type = [0,8] + action = "ACCEPT" + priority = 200 + } + } + } + ``` +
    +
    +
    + + + +
    +
    +

    Ingress

    + + ```hcl + resource "sgroups_cidr_icmp_rules" "rules" { + items = { + "icmp6:cidr(::ffff:a00:0/104)sg(sg-example)ingress" = { + traffic = "ingress" + logs = true + trace = true + sg_name = "sg-local-example" + cidr = "::ffff:a00:0/104" + ip_v = "IPv6" + type = [0,8] + action = "ACCEPT" + priority = 200 + } + } + } + ``` + + +
    +
    +

    Egress

    + + + ```hcl + resource "sgroups_cidr_icmp_rules" "rules" { + items = { + "icmp6:cidr(::ffff:a00:0/104)sg(sg-example)egress" = { + traffic = "egress" + logs = true + trace = true + sg_name = "sg-local-example" + cidr = "::ffff:a00:0/104" + ip_v = "IPv6" + type = [0,8] + action = "ACCEPT" + priority = 200 + } + } + } + ``` +
    +
    +
    + +
    diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/s2f-e/_Api.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/s2f-e/_Api.mdx new file mode 100644 index 00000000..22350d03 --- /dev/null +++ b/documentation/versioned_docs/version-v1.14.0/snippets/s2f-e/_Api.mdx @@ -0,0 +1,307 @@ +import Tabs from '@theme/Tabs' +import TabItem from '@theme/TabItem' +import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' +import { DICTIONARY } from '@site/src/constants/dictionary.ts' +import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' +import { FancyboxDiagram } from '@site/src/components/commonBlocks/FancyboxDiagram' +import { RESPOND_CODES } from '@site/src/constants/errorCodes.tsx' +import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' + +#### Входные параметры + +
      +
    • `fqdnRules.rules` - {DICTIONARY.rules.short}
    • +
    • `fqdnRules.rules[].FQDN` - {DICTIONARY.fqdn.short}
    • +
    • `fqdnRules.rules[].logs` - {DICTIONARY.log.short}
    • +
    • `fqdnRules.rules[].ports` - {DICTIONARY.trace.short}
    • +
    • `fqdnRules.rules[].ports[].d` - {DICTIONARY.dstPorts.short}
    • +
    • `fqdnRules.rules[].ports[].s` - {DICTIONARY.srcPorts.short}
    • +
    • `fqdnRules.rules[].sgFrom` - {DICTIONARY.sgLocal.short}
    • +
    • `fqdnRules.rules[].transport` - {DICTIONARY.transport.short}
    • +
    • `fqdnRules.rules[].action` - {DICTIONARY.action.short}
    • +
    • `fqdnRules.rules[].priority` - {DICTIONARY.priorityst.short}
    • +
    • `fqdnRules.rules[].priority.some` - {DICTIONARY.priority.short}
    • + {/*
    • `fqdnRules.rules[].protocols` - {DICTIONARY.l7ProtocolList.short}
    • */} +
    • `syncOp` - {DICTIONARY.syncOp.short}
    • +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {/* + + + + + + + */} + + + + + + + + + +
    Области применения полей относительно используемого протокола
    названиеобязательностьтип данныхзначение по умолчаниюtransport*
    TCPUDP
    fqdnRules.rulesдаObject
    fqdnRules.rules[].FQDNдаString
    fqdnRules.rules[].logsнетBooleanfalse
    fqdnRules.rules[].portsнетObject[]null
    fqdnRules.rules[].ports[].dнетStringnull
    fqdnRules.rules[].ports[].sнетStringnull
    fqdnRules.rules[].sgFromдаString
    fqdnRules.rules[].transportдаEnum("TCP", "UDP")
    fqdnRules.rules[].actionдаEnum("UNDEF", "ACCEPT", "DROP")
    fqdnRules.rules[].priorityнетObject
    fqdnRules.rules[].priority.someнетInteger
    fqdnRules.rules[].protocolsнетObject[]
    syncOpда + Enum("Delete", "Upsert", "FullSync") +
    +
    + +

    Ограничения

    + +
      +
    • + `fqdnRules.rules[].FQDN`: + +
    • +
    • + `fqdnRules.rules[].sgFrom`: + +
    • +
    • + `fqdnRules.rules[].protocols[]`: + +
    • +
    • + `fqdnRules.rules[].ports[].ports_to[]`: + +
    • +
    • + `fqdnRules.rules[].ports[].ports_from[]`: + +
    • +
    + +

    Пример использования

    + + + + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "fqdnRules": { + "rules": [{ + "FQDN": "example.com", + "logs": true, + "ports": [{ + "d": "443,80", + "s": "64231" + }], + "sgFrom": "sg-local-example", + "transport": "TCP", + "action": "ACCEPT", + "priority": { + "some": 100 + } + }] + }, + "syncOp": "Upsert" + }' + ``` + + + + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "fqdnRules": { + "rules": [{ + "FQDN": "example.com", + "logs": true, + "ports": [{ + "d": "443,80", + "s": "64231" + }], + "sgFrom": "sg-local-example", + "transport": "UDP", + "action": "ACCEPT", + "priority": { + "some": 100 + } + }] + }, + "syncOp": "Upsert" + }' + ``` + + + + +

    Выходные параметры

    + +
    + + + + + + + + + + + + + + + +
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    +
    + +

    Возможные ошибки API

    + + + + +

    Диаграмма последовательности

    + + + +```mermaid + +sequenceDiagram +participant user as User +participant server as Server +participant db as Database + +user->>server: Добавить FQDN правило + +alt Ошибка в запросе +server-->>user: Показать ошибку в запросе +end + +server->>db: Отправить запрос +db->>db: Проверка входящего запроса + +alt Нет такого значения имени SG +db-->>server: Ответ с ошибкой +server-->>user: Показать ошибку в запросе +end + +alt Пересечение значений source портов +db-->>server: Ответ с ошибкой +server-->>user: Показать ошибку в запросе +end + +db->>db: Сохранить данные о FQDN в БД + +db-->>server: Ответ с успешно добавленным новым FQDN правилом +server-->>user: Успешно добавленное новое FQDN правило + +``` + + + diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/s2f-e/_Nftables.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/s2f-e/_Nftables.mdx new file mode 100644 index 00000000..9455722c --- /dev/null +++ b/documentation/versioned_docs/version-v1.14.0/snippets/s2f-e/_Nftables.mdx @@ -0,0 +1,116 @@ +
    + В этом разделе мы покажем, как правила фильтрации трафика, созданные с помощью Terraform и API, внедряются в настройки + nftables. Это позволяет легко интегрировать сложные правила безопасности прямо в вашу систему фильтрации трафика. +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Области применения полей относительно используемого протокола
    шаблон параметраструктура параметразначениеописание
    $\{Trace\}`nftrace set` +
      +
    • 1 - трассировка включена
    • +
    • 0 - трассировка выключена
    • +
    +
    Трассировка указанного правила (опциональна, можно включить/выключить)
    $\{DstFQDN\} + `saddr @${IPSet(sgName)}` + Наименование IPSet в котором описаны сети в FQDNЗначение типа string, не должно содержать в себе пробелов
    $\{Transport\}`tcp` | `udp`протокол передачи данных в цепочке правил.Одно из двух значений `tcp` | `udp`
    $\{RuleType\}`ip`Описывает, что принимает трафик типа ip
    $\{SrcPorts\}`sport {}`Набор целочисленных значений от 0 до 65535ЗЗначения `sport` (source port). Может быть как одно значение, как и множество значений портов. В случае если одно значение у порта то передается значение либо как целочисленное значение либо как название порта. Если передается массив значений портов то они должны быть внутри `{}` перечислены через запятую.
    $\{DstPorts\}`dport {}`Набор целочисленных значений от 0 до 65535ЗЗначения `dport` (destination port). Может быть как одно значение, как и множество значений портов. В случае если одно значение у порта то передается значение либо как целочисленное значение либо как название порта. Если передается массив значений портов то они должны быть внутри `{}` перечислены через запятую.
    $\{Counter\} + `counter packets 0 bytes 0` + Не параметризированныйСчетчик, учитывает количество пройденных пакетов с количеством байтов переданной информации в рамках указанной цепочки правил
    $\{Log\} + `log level debug flags ip options` + Не параметризированныйЛогирование указанного правила (опциональна, можно включить/выключить)
    $\{Verdict\}`accept` +
    Не параметризированный
    +
    +
    + $Verdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле может принимать значение `accept` или `drop` в зависимости от указанного в правиле. +
    + Подробнее: [Verdict statement](/tech-docs/to-nft/nftables/verdict-statement) +
    Вердикт политики по пакетам данных
    +
    + +#### Шаблон + +```hcl +chain EGRESS-POSTROUTING-sgName { + # ********** + ${Trace} ${RuleType} ${DstFQDN} ${Transport} ${SrcPorts} ${DstPorts} ${Counter} ${Log} ${Verdict} + # ********** +} +``` + +#### Пример использования + +```hcl +chain EGRESS-POSTROUTING-sg-local-example { + # ********** + nftrace set 1 ip daddr @NetIPv4-fqdn-example.com tcp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + nftrace set 1 ip daddr @NetIPv6-fqdn-example.com tcp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + + nftrace set 1 ip daddr @NetIPv4-fqdn-example.com udp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + nftrace set 1 ip daddr @NetIPv6-fqdn-example.com udp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + # ********** +} +``` diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/s2f-e/_TerraformModule.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/s2f-e/_TerraformModule.mdx new file mode 100644 index 00000000..2b77d4c5 --- /dev/null +++ b/documentation/versioned_docs/version-v1.14.0/snippets/s2f-e/_TerraformModule.mdx @@ -0,0 +1,224 @@ +import Tabs from '@theme/Tabs' +import TabItem from '@theme/TabItem' +import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' +import { DICTIONARY } from '@site/src/constants/dictionary.ts' +import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' + +
    +

    {DICTIONARY.terraformModule.full}

    +
    +
    + Далее везде в документе подразумевается что все места, содержащие переменную `$traffic`, могут принять значениe: + `Egress`. Аналогчично для `$transport` подразумевается одно из двух значений: `tcp`, `udp`. +
    +
      +
    • `rules` - {DICTIONARY.rules.short}
    • +
    • `rules.$traffic[]` - {DICTIONARY.traffic.short}
    • +
    • `rules.$traffic[].fqdnSet[]` - {DICTIONARY.fqdnSet.short}
    • + {/*
    • `rules.$traffic[].access.protocols[]` - {DICTIONARY.l7ProtocolList.short}
    • */} +
    • `rules.$traffic[].access.$transport` - {DICTIONARY.transport.short}
    • +
    • `rules.$traffic[].access.$transport.action` - {DICTIONARY.action.short}
    • +
    • `rules.$traffic[].access.$transport.priority` - {DICTIONARY.priority.short}
    • +
    • `rules.$traffic[].access.$transport.log` - {DICTIONARY.log.short}
    • +
    • `rules.$traffic[].access.$transport.trace` - {DICTIONARY.trace.short}
    • +
    • `rules.$traffic[].access.$transport.ports[].description` - {DICTIONARY.description.short}
    • +
    • `rules.$traffic[].access.$transport.ports[].ports_to[]` - {DICTIONARY.dstPorts.short}
    • +
    • `rules.$traffic[].access.$transport.ports[].ports_from[]` - {DICTIONARY.srcPorts.short}
    • +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Области применения полей относительно используемого протокола
    название параметратип данныхзначение по умолчаниюtransport*
    TCPUDP
    rulesObject[][]
    rules.$traffic[]Object[]
    rules.$traffic[].fqdnSet[]String[]
    rules.$traffic[].access.$transportObject
    rules.$traffic[].access.$transport.action + Enum("ACCEPT", "DROP") +
    rules.$traffic[].access.$transport.priorityString
    rules.$traffic[].access.$transport.logBooleanfalse
    rules.$traffic[].access.$transport.traceBooleanfalse
    rules.$traffic[].access.$transport.ports[]Object[]
    rules.$traffic[].access.$transport.ports[].descriptionString""
    rules.$traffic[].access.$transport.ports[].ports_to[]Integer[]null
    rules.$traffic[].access.$transport.ports[].ports_from[]Integer[]null
    +
    + +#### Ограничения + +
      +
    • + `name`: + +
    • +
    • + `rules.$traffic[].fqdnSet`: + +
    • + {/*
    • + `rules.$traffic[].protocols[]`: + +
    • */} +
    • + `rules.$traffic[].access.$transport.priority`: + +
    • +
    • + `rules.$traffic[].access.$transport.ports[].ports_to[]`: + +
    • +
    • + `rules.$traffic[].access.$transport.ports[].ports_from[]`: + +
    • +
    + +

    + + Пример использования + +

    + + + + + ```yaml + name: sg-local-example + rules: + egress: + - fqdnSet: + - example.com + access: + tcp: + action: ACCEPT + priority: 100 + logs: true + trace: true + ports: + - description: "example" + ports_from: + - 64231 + ports_to: + - 443 + - 80 + ``` + + + + ```yaml + name: sg-local-example + rules: + egress: + - fqdnSet: + - example.com + access: + udp: + action: ACCEPT + priority: 100 + logs: true + trace: true + ports: + - description: "example" + ports_from: + - 64231 + ports_to: + - 443 + - 80 + ``` + + + diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/s2f-e/_TerraformResource.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/s2f-e/_TerraformResource.mdx new file mode 100644 index 00000000..9b7b2426 --- /dev/null +++ b/documentation/versioned_docs/version-v1.14.0/snippets/s2f-e/_TerraformResource.mdx @@ -0,0 +1,236 @@ +import Tabs from '@theme/Tabs' +import TabItem from '@theme/TabItem' +import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' +import { DICTIONARY } from '@site/src/constants/dictionary.ts' +import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' + +
    +

    {DICTIONARY.terraformResource.full}

    +
    +
      +
    • `items` - список ресурсов создаваемые terraform ресурсом.
    • +
    • `items.$ruleName` - уникальное имя создаваемого ресурса.
    • +
    • `items.$ruleName.transport` - {DICTIONARY.transport.short}
    • +
    • `items.$ruleName.protocols[]` - {DICTIONARY.l7ProtocolList.short}
    • +
    • `items.$ruleName.logs` - {DICTIONARY.log.short}
    • +
    • `items.$ruleName.trace` - {DICTIONARY.trace.short}
    • +
    • `items.$ruleName.sg_from` - {DICTIONARY.sgLocal.short}
    • +
    • `items.$ruleName.fqdn` - {DICTIONARY.fqdn.short}
    • +
    • `items.$ruleName.ports[]` - {DICTIONARY.ports.short}
    • +
    • `items.$ruleName.ports[].s` - {DICTIONARY.srcPorts.short}
    • +
    • `items.$ruleName.ports[].d` - {DICTIONARY.dstPorts.short}
    • +
    • `items.$ruleName.action` - {DICTIONARY.action.short}
    • +
    • `items.$ruleName.priority` - {DICTIONARY.priority.short}
    • +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Области применения полей относительно используемого протокола
    названиеобязательностьтип данныхзначение по умолчаниюtransport*
    TCPUDP
    itemsдаObject
    items.$ruleNameдаObject
    items.$ruleName.transportдаEnum("TCP", "UDP")
    items.$ruleName.logsнетBooleanfalse
    items.$ruleName.traceнетBooleanfalse
    items.$ruleName.sg_fromдаString
    items.$ruleName.fqdnдаString
    items.$ruleName.ports[]нетObject[]null
    items.$ruleName.ports[].sнетString""
    items.$ruleName.ports[].dнетString""
    items.$ruleName.actionда + Enum("ACCEPT", "DROP") +
    items.$ruleName.priorityнетInteger
    +
    + +#### Ограничения + +
      +
    • + `items`: + +
    • +
    • + `items.$ruleName`: + +
    • +
    • + `items.$ruleName.protocols[]`: + +
    • +
    • + `items.$ruleName.sg_from`: + +
    • +
    • + `items.$ruleName.fqdn`: + +
    • +
    • + `items.$ruleName.ports[].s`: + +
    • +
    • + `items.$ruleName.ports[].d`: + +
    • +
    • + `items.$ruleName.priority`: + +
    • +
    + +#### Пример использования + + + + + ```hcl + resource "sgroups_fqdn_rules" "rules" { + items = { + "tcp:sg(sg-local-example)fqdn(example.com)" = { + transport = "tcp" + sg_from = "sg-local-example" + fqdn = "example.com" + ports = [{ + d = "443,80" + s = "64231" + }] + logs = true + trace = true + action = "ACCEPT" + priority = 100 + } + } + } + ``` + + + + ```hcl + resource "sgroups_fqdn_rules" "rules" { + items = { + "udp:sg(sg-local-example)fqdn(example.com)" = { + transport = "udp" + sg_from = "sg-local-example" + fqdn = "example.com" + ports = [{ + d = "443,80" + s = "64231" + }] + logs = true + trace = true + action = "ACCEPT" + priority = 100 + } + } + } + ``` + + + diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/s2s-ie/_Api.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/s2s-ie/_Api.mdx new file mode 100644 index 00000000..a13ccd7f --- /dev/null +++ b/documentation/versioned_docs/version-v1.14.0/snippets/s2s-ie/_Api.mdx @@ -0,0 +1,763 @@ +import Tabs from '@theme/Tabs' +import TabItem from '@theme/TabItem' +import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' +import { DICTIONARY } from '@site/src/constants/dictionary.ts' +import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' +import { FancyboxDiagram } from '@site/src/components/commonBlocks/FancyboxDiagram' +import { RESPOND_CODES } from '@site/src/constants/errorCodes.tsx' +import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' + +#### Входные параметры + +
      +
    • `$node.rules[]` - {DICTIONARY.rules.short}
    • +
    • `$node.rules[].Sg` - {DICTIONARY.sg.short}
    • +
    • `$node.rules[].SgLocal` - {DICTIONARY.sgLocal.short}
    • +
    • `$node.rules[].logs` - {DICTIONARY.log.short}
    • +
    • `$node.rules[].trace` - {DICTIONARY.trace.short}
    • +
    • `$node.rules[].ports` - {DICTIONARY.ports.short}
    • +
    • `$node.rules[].ports[].d` - {DICTIONARY.dstPorts.short}
    • +
    • `$node.rules[].ports[].s` - {DICTIONARY.srcPorts.short}
    • +
    • `$node.rules[].traffic` - {DICTIONARY.traffic.short}
    • +
    • `$node.rules[].transport` - {DICTIONARY.transport.short}
    • +
    • `$node.rules[].ICMP` - {DICTIONARY.apiIcmp.short}
    • +
    • `$node.rules[].ICMP.IPv` - {DICTIONARY.icmpV.short}
    • +
    • `$node.rules[].ICMP.Types` - {DICTIONARY.icmpTypes.short}
    • +
    • `$node.rules[].action` - {DICTIONARY.action.short}
    • +
    • `$node.rules[].priority` - {DICTIONARY.priorityst.short}
    • +
    • `$node.rules[].priority.some` - {DICTIONARY.priority.short}
    • +
    • `syncOp` - {DICTIONARY.syncOp.short}
    • +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Области применения полей относительно используемого протокола
    названиеобязательностьтип данныхзначение по умолчаниюtransport*
    TCPUDPICMP
    $node.rules[]даObject[]null
    $node.rules[].SgдаString
    $node.rules[].SgLocalдаString
    $node.rules[].logsнетBooleanfalse
    $node.rules[].traceнетBooleanfalse
    $node.rules[].portsнетObject[]null
    $node.rules[].ports[].dнетStringnull
    $node.rules[].ports[].sнетStringnull
    $node.rules[].trafficдаEnum("Ingress", "Egress")
    $node.rules[].transportнетEnum("TCP", "UDP")TCP
    $node.rules[].ICMPдаObject
    $node.rules[].ICMP.IPvдаEnum("IPv4", "IPv6")
    $node.rules[].ICMP.TypesнетString[][]
    $node.rules[].actionда + Enum("UNDEF", "ACCEPT", "DROP") +
    $node.rules[].priorityнетObject
    $node.rules[].priority.someнетInteger
    syncOpда + Enum("Delete", "Upsert", "FullSync") +
    +
    + +

    Ограничения

    + +
      +
    • + `sgSgRules.rules[].Sg`: + +
    • +
    • + `sgSgRules.rules[].SgLocal`: + +
    • +
    • + `sgSgRules.rules[].ports[].ports_to[]`: + +
    • +
    • + `sgSgRules.rules[].ports[].ports_from[]`: + +
    • +
    • + `sgSgRules.rules[].ICMP.Types[]`: + +
    • +
    + +

    Пример использования

    + + + +
    +
    +

    Ingress

    + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "sgSgRules": { + "rules": [ + { + "traffic": "Ingress", + "Sg": "sg-example", + "SgLocal": "sg-local-example", + "logs": true, + "trace": true, + "ports": [{ + "d": "64321", + "s": "443,80" + }], + "transport": "TCP", + "action": "ACCEPT", + "priority": { + "some": 0 + } + } + ] + }, + "syncOp": "Upsert" + }' + ``` +
    +
    +

    Egress

    + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "sgSgRules": { + "rules": [ + { + "traffic": "Egress", + "Sg": "sg-example", + "SgLocal": "sg-local-example", + "logs": true, + "trace": true, + "ports": [{ + "d": "64321", + "s": "443,80" + }], + "transport": "TCP", + "action": "ACCEPT", + "priority": { + "some": 0 + } + } + ] + }, + "syncOp": "Upsert" + }' + ``` +
    +
    + +

    Выходные параметры

    + +
    + + + + + + + + + + + + + + + +
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    +
    + +

    Возможные ошибки API

    + + + + +

    Диаграмма последовательности

    + + + + ```mermaid + sequenceDiagram + participant user as User + participant server as Server + participant db as Database + + user->>server: Добавить IE-SG-SG правило + + alt Ошибка в запросе + server-->>user: Показать ошибку в запросе + end + + server->>db: Отправить запрос + db->>db: Проверка входящего запроса + + alt Нет такого значения имени SG(sg и/или sg_local) + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Пересечение значений source портов + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + db->>db: Сохранить данные о IE-SG-SG в БД + + db-->>server: Ответ с успешно добавленным новым IE-SG-SG правилом + server-->>user: Успешно добавленное новое IE-SG-SG правило + ``` + + +
    + +
    +
    +

    Ingress

    + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "sgSgRules": { + "rules": [ + { + "traffic": "Ingress", + "Sg": "sg-example", + "SgLocal": "sg-local-example", + "logs": true, + "trace": true, + "ports": [{ + "d": "64321", + "s": "443,80" + }], + "transport": "UDP", + "action": "ACCEPT", + "priority": { + "some": 0 + } + } + ] + }, + "syncOp": "Upsert" + }' + ``` +
    +
    +

    Egress

    + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "sgSgRules": { + "rules": [ + { + "traffic": "Egress", + "Sg": "sg-example", + "SgLocal": "sg-local-example", + "logs": true, + "trace": true, + "ports": [{ + "d": "64321", + "s": "443,80" + }], + "transport": "UDP", + "action": "ACCEPT", + "priority": { + "some": 0 + } + } + ] + }, + "syncOp": "Upsert" + }' + ``` +
    +
    + +

    Выходные параметры

    + +
    + + + + + + + + + + + + + + + +
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    +
    + +

    Возможные ошибки API

    + + + + +

    Диаграмма последовательности

    + + + + ```mermaid + sequenceDiagram + participant user as User + participant server as Server + participant db as Database + + user->>server: Добавить IE-SG-SG правило + + alt Ошибка в запросе + server-->>user: Показать ошибку в запросе + end + + server->>db: Отправить запрос + db->>db: Проверка входящего запроса + + alt Нет такого значения имени SG(sg и/или sg_local) + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Пересечение значений source портов + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + db->>db: Сохранить данные о IE-SG-SG в БД + + db-->>server: Ответ с успешно добавленным новым IE-SG-SG правилом + server-->>user: Успешно добавленное новое IE-SG-SG правило + ``` + + +
    + +
    +
    +

    Ingress

    + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "ieSgSgIcmpRules": { + "rules": [ + { + "traffic": "Ingress", + "Sg": "sg-example", + "SgLocal": "sg-local-example", + "logs": true, + "trace": true, + "ICMP": { + "IPv": "IPv4", + "Types": [0, 8] + }, + "action": "ACCEPT", + "priority": { + "some": -100 + } + } + ] + }, + "syncOp": "Upsert" + }' + ``` +
    +
    +

    Egress

    + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "ieSgSgIcmpRules": { + "rules": [ + { + "traffic": "Egress", + "Sg": "sg-example", + "SgLocal": "sg-local-example", + "logs": true, + "trace": true, + "ICMP": { + "IPv": "IPv4", + "Types": [0, 8] + }, + "action": "ACCEPT", + "priority": { + "some": -100 + } + } + ] + }, + "syncOp": "Upsert" + }' + ``` +
    +
    + +

    Выходные параметры

    + +
    + + + + + + + + + + + + + + + +
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    +
    + +

    Возможные ошибки API

    + + + + +

    Диаграмма последовательности

    + + + + ```mermaid + sequenceDiagram + participant user as User + participant server as Server + participant db as Database + + user->>server: Добавить IE-SG-SG правило + + alt Ошибка в запросе + server-->>user: Показать ошибку в запросе + end + + server->>db: Отправить запрос + db->>db: Проверка входящего запроса + + alt Нет такого значения имени SG(sg и/или sg_local) + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Некорректное значение кода ICMP + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Некорректное значение IPv + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + db->>db: Сохранить данные о IE-SG-SG в БД + + db-->>server: Ответ с успешно добавленным новым IE-SG-SG правилом + server-->>user: Успешно добавленное новое IE-SG-SG правило + ``` + + +
    + + +
    +
    +

    Ingress

    + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "ieSgSgIcmpRules": { + "rules": [ + { + "traffic": "Ingress", + "Sg": "sg-example", + "SgLocal": "sg-local-example", + "logs": true, + "trace": true, + "ICMP": { + "IPv": "IPv6", + "Types": [0, 8] + }, + "action": "ACCEPT", + "priority": { + "some": -100 + } + } + ] + }, + "syncOp": "Upsert" + }' + ``` +
    +
    +

    Egress

    + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "ieSgSgIcmpRules": { + "rules": [ + { + "traffic": "Egress", + "Sg": "sg-example", + "SgLocal": "sg-local-example", + "logs": true, + "trace": true, + "ICMP": { + "IPv": "IPv6", + "Types": [0, 8] + }, + "action": "ACCEPT", + "priority": { + "some": -100 + } + } + ] + }, + "syncOp": "Upsert" + }' + ``` +
    +
    + +

    Выходные параметры

    + +
    + + + + + + + + + + + + + + + +
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    +
    + +

    Возможные ошибки API

    + + + + +

    Диаграмма последовательности

    + + + + ```mermaid + sequenceDiagram + participant user as User + participant server as Server + participant db as Database + + user->>server: Добавить IE-SG-SG правило + + alt Ошибка в запросе + server-->>user: Показать ошибку в запросе + end + + server->>db: Отправить запрос + db->>db: Проверка входящего запроса + + alt Нет такого значения имени SG(sg и/или sg_local) + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Некорректное значение кода ICMP + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Некорректное значение IPv + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + db->>db: Сохранить данные о IE-SG-SG в БД + + db-->>server: Ответ с успешно добавленным новым IE-SG-SG правилом + server-->>user: Успешно добавленное новое IE-SG-SG правило + ``` + + +
    + +
    diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/s2s-ie/_Nftables.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/s2s-ie/_Nftables.mdx new file mode 100644 index 00000000..eb008ae8 --- /dev/null +++ b/documentation/versioned_docs/version-v1.14.0/snippets/s2s-ie/_Nftables.mdx @@ -0,0 +1,331 @@ +import Tabs from '@theme/Tabs' +import TabItem from '@theme/TabItem' +import { DICTIONARY } from '@site/src/constants/dictionary.ts' + +
    + В этом разделе мы покажем, как правила фильтрации трафика, созданные с помощью Terraform и API, внедряются в настройки + nftables. Это позволяет легко интегрировать сложные правила безопасности прямо в вашу систему фильтрации трафика. +
    +
      +
    • `$Trace` - {DICTIONARY.trace.short}
    • +
    • `$SrcSgroup` - {DICTIONARY.sg.short}
    • +
    • `$DstGroup` - {DICTIONARY.sg.short}
    • +
    • `$Transport` - {DICTIONARY.transport.short}
    • +
    • `$NftRuleType` - {DICTIONARY.nftRuleType.short}
    • +
    • `$IcmpTypeList` - {DICTIONARY.icmpTypes.short}
    • +
    • `$SrcPorts` - {DICTIONARY.srcPorts.short}
    • +
    • `$DstPorts` - {DICTIONARY.dstPorts.short}
    • +
    • `$NftCounter` - {DICTIONARY.nftCounter.short}
    • +
    • `$Log` - {DICTIONARY.log.short}
    • +
    • `$NftRuleVerdict` - {DICTIONARY.nftRuleVerdict.short}
    • +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Области применения полей относительно используемого протокола
    шаблон параметраструктура параметразначенияtransport*
    TCPUDPICMP
    $Trace`nftrace set` +
      +
    • + 1 - трассировка включена +
    • +
    • + 0 - трассировка выключена +
    • +
    +
    $SrcSgroup + `saddr` + `@${IPSet(sgName)}`
    $DstSgroup + `daddr` + `@${IPSet(sgName)}`
    $Transport + `tcp | udp | icmp` +
    $NftRuleType`ip`
    $IcmpTypeList`type {}`Набор целочисленных значений от 0 до 255
    $SrcPorts`sport {}`Набор целочисленных значений от 1 до 65535
    $DstPorts`dport {}`Набор целочисленных значений от 1 до 65535
    $NftCounter + `counter` + `packets 0 bytes 0`
    $Log + `log` + `level debug flags ip options`
    $NftRuleVerdict`accept` +
    + + $NftRuleVerdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле может принимать значение `accept` или `drop` в зависимости от указанного в правиле. + +
    + Подробнее: [Verdict statement](/tech-docs/to-nft/nftables/verdict-statement) +
    +
    + +

    Пример использования

    + + + + + + #### Шаблон + + ```hcl + chain INGRESS-INPUT-sgName { + # ********** + $Trace $NftRuleType $SrcSgroup $Transport $SrcPorts $DstPorts $NftCounter $Log $NftRuleVerdict + # ********** + } + ``` + + #### Пример использования + + ```hcl + chain INGRESS-INPUT-sg-local-example { + # ********** + nftrace set 1 ip saddr @NetIPv4-sg-example tcp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + nftrace set 1 ip saddr @NetIPv6-sg-example tcp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + # ********** + } + ``` + + + #### Шаблон + + ```hcl + chain EGRESS-POSTROUTING-sgName { + # ********** + $Trace $NftRuleType $DstSgroup $Transport $SrcPorts $DstPorts $NftCounter $Log $NftRuleVerdict + # ********** + } + ``` + + #### Пример использования + + ```hcl + chain EGRESS-POSTROUTING-sg-local-example { + # ********** + nftrace set 1 ip daddr @NetIPv4-sg-example tcp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + nftrace set 1 ip daddr @NetIPv6-sg-example tcp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + # ********** + } + ``` + + + + + + + #### Шаблон + + ```hcl + chain INGRESS-INPUT-sgName { + # ********** + $Trace $NftRuleType $SrcSgroup $Transport $SrcPorts $DstPorts $NftCounter $Log $NftRuleVerdict + # ********** + } + ``` + + #### Пример использования + + ```hcl + chain INGRESS-INPUT-sg-local-example { + # ********** + nftrace set 1 ip saddr @NetIPv4-sg-example udp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + nftrace set 1 ip saddr @NetIPv6-sg-example udp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + # ********** + } + ``` + + + #### Шаблон + + ```hcl + chain EGRESS-POSTROUTING-sgName { + # ********** + $Trace $NftRuleType $DstSgroup $Transport $SrcPorts $DstPorts $NftCounter $Log $NftRuleVerdict + # ********** + } + ``` + + #### Пример использования + + ```hcl + chain EGRESS-POSTROUTING-sg-local-example { + # ********** + nftrace set 1 ip daddr @NetIPv4-sg-example udp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + nftrace set 1 ip daddr @NetIPv6-sg-example udp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + # ********** + } + ``` + + + + + + + #### Шаблон + + ```hcl + chain INGRESS-INPUT-sgName { + # ********** + $Trace $NftRuleType $DstSgroup $Transport $IcmpTypeList $NftCounter $Log $NftRuleVerdict + # ********** + } + ``` + + #### Пример использования + + ```hcl + chain INGRESS-INPUT-sg-local-example { + # ********** + nftrace set 1 ip saddr @NetIPv4-sg-example icmp type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options accept + nftrace set 1 ip saddr @NetIPv6-sg-example icmpv6 type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options accept + # ********** + } + ``` + + + #### Шаблон + + ```hcl + chain EGRESS-POSTROUTING-sgName { + # ********** + $Trace $NftRuleType $DstSgroup $Transport $IcmpTypeList $NftCounter $Log $NftRuleVerdict + # ********** + } + ``` + + #### Пример использования + + ```hcl + chain EGRESS-POSTROUTING-sg-local-example { + # ********** + nftrace set 1 ip daddr @NetIPv4-sg-example icmp type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options accept + nftrace set 1 ip daddr @NetIPv6-sg-example icmpv6 type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options accept + # ********** + } + ``` + + + + + diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/s2s-ie/_TerraformModule.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/s2s-ie/_TerraformModule.mdx new file mode 100644 index 00000000..b7d8eeee --- /dev/null +++ b/documentation/versioned_docs/version-v1.14.0/snippets/s2s-ie/_TerraformModule.mdx @@ -0,0 +1,422 @@ +import Tabs from '@theme/Tabs' +import TabItem from '@theme/TabItem' +import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' +import { DICTIONARY } from '@site/src/constants/dictionary.ts' +import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' + +
    +

    {DICTIONARY.terraformModule.full}

    +
    +
    + Далее везде в документе подразумевается что все места, содержащие переменную `$traffic`, могут принять одно из двух + значений: `Ingress` `Egress`. Аналогчично для `$transport` подразумевается одно из четырех значений: `tcp`, `udp`, + `icmpIPv4`, `icmpIPv6` +
    +
      +
    • `rules` - {DICTIONARY.rules.short}
    • +
    • `rules.$traffic[]` - {DICTIONARY.traffic.short}
    • +
    • `rules.$traffic[].sgroupSet[]` - {DICTIONARY.sgroupSet.short}
    • +
    • `rules.$traffic[].access.$transport` - {DICTIONARY.transport.short}
    • +
    • `rules.$traffic[].access.$transport.action` - {DICTIONARY.action.short}
    • +
    • `rules.$traffic[].access.$transport.priority` - {DICTIONARY.priority.short}
    • +
    • `rules.$traffic[].access.$transport.log` - {DICTIONARY.log.short}
    • +
    • `rules.$traffic[].access.$transport.trace` - {DICTIONARY.trace.short}
    • +
    • `rules.$traffic[].access.$transport.ports[].description` - {DICTIONARY.description.short}
    • +
    • `rules.$traffic[].access.$transport.ports[].ports_to[]` - {DICTIONARY.dstPorts.short}
    • +
    • `rules.$traffic[].access.$transport.ports[].ports_from[]` - {DICTIONARY.srcPorts.short}
    • +
    • `rules.$traffic[].access.$transport.types[].description` - {DICTIONARY.description.short}
    • +
    • `rules.$traffic[].access.$transport.types[].type[]` - {DICTIONARY.icmpTypes.short}
    • +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Области применения полей относительно используемого протокола
    название параметратип данныхзначение по умолчаниюtransport*
    TCPUDPICMP
    rulesObject[][]
    rules.$traffic[]Object[]
    rules.$traffic[].sgroupSet[]String[]
    rules.$traffic[].access.$transportObject
    rules.$traffic[].access.$transport.action + Enum("ACCEPT", "DROP") +
    rules.$traffic[].access.$transport.priorityString
    rules.$traffic[].access.$transport.logBooleanfalse
    rules.$traffic[].access.$transport.traceBooleanfalse
    rules.$traffic[].access.$transport.ports[]Object[]""
    rules.$traffic[].access.$transport.ports[].descriptionString""
    rules.$traffic[].access.$transport.ports[].ports_to[]Integer[]null
    rules.$traffic[].access.$transport.ports[].ports_from[]Integer[]null
    rules.$traffic[].access.$transport.types[]Object[]""
    rules.$traffic[].access.$transport.types[].descriptionString""
    rules.$traffic[].access.$transport.types[].type[]Integer[]null
    +
    + +

    Ограничения

    + +
      +
    • + `name`: + +
    • +
    • + `rules.$traffic[].sgroupSet`: + +
    • +
    • + `rules.$traffic[].access.$transport.priority`: + +
    • +
    • + `rules.$traffic[].access.$transport.ports[].ports_to[]`: + +
    • +
    • + `rules.$traffic[].access.$transport.ports[].ports_from[]`: + +
    • +
    • + `rules.$traffic[].access.$transport.types[].type[]`: + +
    • +
    + +

    Пример использования

    + + + +
    +
    +

    Ingress

    + + ```yaml + name: "sg-local-example" + rules: + ingress: + - sgroupSet: + - "sg-example" + access: + tcp: + action: ACCEPT + priority: 0 + logs: true + trace: true + ports: + - description: "example" + ports_from: + - 64231 + ports_to: + - 443 + - 80 + ``` +
    +
    +

    Egress

    + + + ```yaml + name: "sg-local-example" + rules: + egress: + - sgroupSet: + - "sg-example" + access: + tcp: + action: ACCEPT + priority: 0 + logs: true + trace: true + ports: + - description: "example" + ports_from: + - 64231 + ports_to: + - 443 + - 80 + ``` +
    +
    +
    + +
    +
    +

    Ingress

    + + + ```yaml + name: "sg-local-example" + rules: + ingress: + - sgroupSet: + - "sg-example" + access: + udp: + action: ACCEPT + priority: 0 + logs: true + trace: true + ports: + - description: "example" + ports_from: + - 64231 + ports_to: + - 443 + - 80 + ``` +
    +
    +

    Egress

    + + + ```yaml + name: "sg-local-example" + rules: + egress: + - sgroupSet: + - "sg-example" + access: + udp: + action: ACCEPT + priority: 0 + logs: true + trace: true + ports: + - description: "example" + ports_from: + - 64231 + ports_to: + - 443 + - 80 + ``` +
    +
    +
    + +
    +
    +

    Ingress

    + + + ```yaml + name: "sg-local-example" + rules: + ingress: + - sgroupSet: + - "sg-example" + access: + icmpIPv4: + action: ACCEPT + priority: -100 + logs: true + trace: true + types: + - description: "example" + type: + - 0 + - 8 + ``` +
    +
    +

    Egress

    + + + ```yaml + name: "sg-local-example" + rules: + egress: + - sgroupSet: + - "sg-example" + access: + icmpIPv4: + action: ACCEPT + priority: -100 + logs: true + trace: true + types: + - description: "example" + type: + - 0 + - 8 + ``` +
    +
    +
    + + +
    +
    +

    Ingress

    + + + ```yaml + name: "sg-local-example" + rules: + ingress: + - sgroupSet: + - "sg-example" + access: + icmpIPv6: + action: ACCEPT + priority: -100 + logs: true + trace: true + types: + - description: "example" + type: + - 0 + - 8 + ``` +
    +
    +

    Egress

    + + + ```yaml + name: "sg-local-example" + rules: + egress: + - sgroupSet: + - "sg-example" + access: + icmpIPv6: + action: ACCEPT + priority: -100 + logs: true + trace: true + types: + - description: "example" + type: + - 0 + - 8 + ``` +
    +
    +
    +
    diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/s2s-ie/_TerraformResource.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/s2s-ie/_TerraformResource.mdx new file mode 100644 index 00000000..824d1795 --- /dev/null +++ b/documentation/versioned_docs/version-v1.14.0/snippets/s2s-ie/_TerraformResource.mdx @@ -0,0 +1,450 @@ +import Tabs from '@theme/Tabs' +import TabItem from '@theme/TabItem' +import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' +import { DICTIONARY } from '@site/src/constants/dictionary.ts' +import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' + +
    +

    {DICTIONARY.terraformResource.full}

    +
    +
      +
    • `items` - {DICTIONARY.terraformItems.short}
    • +
    • `items.$ruleName` - {DICTIONARY.terraformRuleName.short}
    • +
    • `items.$ruleName.traffic` - {DICTIONARY.traffic.short}
    • +
    • `items.$ruleName.transport` - {DICTIONARY.transport.short}
    • +
    • `items.$ruleName.sg` - {DICTIONARY.sg.short}
    • +
    • `items.$ruleName.sg_local` - {DICTIONARY.sgLocal.short}
    • +
    • `items.$ruleName.ports` - {DICTIONARY.ports.short}
    • +
    • `items.$ruleName.ports[].d` - {DICTIONARY.dstPorts.short}
    • +
    • `items.$ruleName.ports[].s` - {DICTIONARY.srcPorts.short}
    • +
    • `items.$ruleName.logs` - {DICTIONARY.log.short}
    • +
    • `items.$ruleName.trace` - {DICTIONARY.trace.short}
    • +
    • `items.$ruleName.ip_v` - {DICTIONARY.icmpV.short}
    • +
    • `items.$ruleName.type` - {DICTIONARY.icmpTypes.short}
    • +
    • `items.$ruleName.action` - {DICTIONARY.action.short}
    • +
    • `items.$ruleName.priority` - {DICTIONARY.priority.short}
    • +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Области применения полей относительно используемого протокола
    названиеобязательностьтип данныхзначение по умолчаниюtransport*
    TCPUDPICMP
    itemsдаObject
    items.$ruleNameдаObject
    items.$ruleName.trafficда + Enum("ingress", "egress") +
    items.$ruleName.transportдаEnum("TCP", "UDP")
    items.$ruleName.sgдаString
    items.$ruleName.sg_localдаString
    items.$ruleName.portsнетObject[]null
    items.$ruleName.ports[].dнетString""
    items.$ruleName.ports[].sнетString""
    items.$ruleName.logsнетBooleanfalse
    items.$ruleName.traceнетBooleanfalse
    items.$ruleName.ip_vдаEnum("IPv4", "IPv6")
    items.$ruleName.typeдаString[]null
    items.$ruleName.actionда + Enum("ACCEPT", "DROP") +
    items.$ruleName.priorityнетInteger
    +
    + +

    Ограничения

    + +
      +
    • + `items`: + +
    • +
    • + `items.$ruleName`: + +
    • +
    • + `items.$ruleName.sg`: + +
    • +
    • + `items.$ruleName.sg_local`: + +
    • +
    • + `items.$ruleName.ports[].s`: + +
    • +
    • + `items.$ruleName.ports[].d`: + +
    • +
    • + `items.$ruleName.type[]`: + +
    • +
    • + `items.$ruleName.priority`: + +
    • +
    + +

    Пример использования

    + + + +
    +
    +

    Ingress

    + + ```hcl + resource "sgroups_ie_rules" "rules" { + items = { + "tcp:sg-local(sg-local-example)sg(sg-example)ingress" = { + traffic = "ingress" + logs = true + trace = true + sg_local = "sg-local-example" + sg = "sg-example" + transport = "tcp" + ports = [{ + d = "80" + s = "" + }] + action = "ACCEPT" + priority = 0 + } + } + } + ``` + + +
    +
    +

    Egress

    + + + ```hcl + resource "sgroups_ie_rules" "rules" { + items = { + "tcp:sg-local(sg-local-example)sg(sg-example)egress" = { + traffic = "egress" + logs = true + trace = true + sg_local = "sg-local-example" + sg = "sg-example" + transport = "tcp" + ports = [{ + d = "80" + s = "" + }] + action = "ACCEPT" + priority = 0 + } + } + } + ``` + + +
    +
    +
    + + +
    +
    +

    Ingress

    + + + ```hcl + resource "sgroups_ie_rules" "rules" { + items = { + "udp:sg-local(sg-local-example)sg(sg-example)ingress" = { + traffic = "ingress" + logs = true + trace = true + sg_local = "sg-local-example" + sg = "sg-example" + transport = "udp" + ports = [{ + d = "80" + s = "" + }] + action = "ACCEPT" + priority = 0 + } + } + } + ``` + + +
    +
    +

    Egress

    + + + ```hcl + resource "sgroups_ie_rules" "rules" { + items = { + "udp:sg-local(sg-local-example)sg(sg-example)egress" = { + traffic = "egress" + logs = true + trace = true + sg_local = "sg-local-example" + sg = "sg-example" + transport = "udp" + ports = [{ + d = "80" + s = "" + }] + action = "ACCEPT" + priority = 0 + } + } + } + ``` +
    +
    +
    + + +
    +
    +

    Ingress

    + + ```hcl + resource "sgroups_ie_icmp_rules" "rules" { + items = { + "icmp4:sg-local(sg-local-example)sg(sg-example)ingress" = { + traffic = "ingress" + logs = true + trace = true + sg_local = "sg-local-example" + sg = "sg-example" + ip_v = "IPv4" + type = [0,8] + action = "ACCEPT" + priority = -100 + } + } + } + ``` + +
    +
    +

    Egress

    + + + ```hcl + resource "sgroups_icmp_rules" "rules" { + items = { + "icmp4:sg-local(sg-local-example)sg(sg-example)egress" = { + traffic = "egress" + logs = true + trace = true + sg_local = "sg-local-example" + sg = "sg-example" + ip_v = "IPv4" + type = [0,8] + action = "ACCEPT" + priority = -100 + } + } + } + ``` +
    +
    +
    + + +
    +
    +

    Ingress

    + + ```hcl + resource "sgroups_ie_icmp_rules" "rules" { + items = { + "icmp6:sg-local(sg-local-example)sg(sg-example)ingress" = { + traffic = "ingress" + logs = true + trace = true + sg_local = "sg-local-example" + sg = "sg-example" + ip_v = "IPv6" + type = [0,8] + action = "ACCEPT" + priority = -100 + } + } + } + ``` + +
    +
    +

    Egress

    + + + ```hcl + resource "sgroups_icmp_rules" "rules" { + items = { + "icmp6:sg-local(sg-local-example)sg(sg-example)egress" = { + traffic = "egress" + logs = true + trace = true + sg_local = "sg-local-example" + sg = "sg-example" + ip_v = "IPv6" + type = [0,8] + action = "ACCEPT" + priority = -100 + } + } + } + ``` +
    +
    +
    + +
    diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/s2s/_Api.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/s2s/_Api.mdx new file mode 100644 index 00000000..07575025 --- /dev/null +++ b/documentation/versioned_docs/version-v1.14.0/snippets/s2s/_Api.mdx @@ -0,0 +1,599 @@ +import Tabs from '@theme/Tabs' +import TabItem from '@theme/TabItem' +import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' +import { DICTIONARY } from '@site/src/constants/dictionary.ts' +import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' +import { FancyboxDiagram } from '@site/src/components/commonBlocks/FancyboxDiagram' +import { RESPOND_CODES } from '@site/src/constants/errorCodes.tsx' +import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' + +#### Входные параметры + +
      +
    • `$node.rules[]` - {DICTIONARY.rules.short}
    • +
    • `$node.rules[].sgFrom` - {DICTIONARY.sg.short}
    • +
    • `$node.rules[].sgTo` - {DICTIONARY.sg.short}
    • +
    • `$node.rules[].logs` - {DICTIONARY.log.short}
    • +
    • `$node.rules[].trace` - {DICTIONARY.trace.short}
    • +
    • `$node.rules[].ports` - {DICTIONARY.ports.short}
    • +
    • `$node.rules[].ports[].d` - {DICTIONARY.dstPorts.short}
    • +
    • `$node.rules[].ports[].s` - {DICTIONARY.srcPorts.short}
    • +
    • `$node.rules[].transport` - {DICTIONARY.transport.short}
    • +
    • `$node.rules[].ICMP` - {DICTIONARY.apiIcmp.short}
    • +
    • `$node.rules[].ICMP.IPv` - {DICTIONARY.icmpV.short}
    • +
    • `$node.rules[].ICMP.Types` - {DICTIONARY.icmpTypes.short}
    • +
    • `$node.rules[].action` - {DICTIONARY.action.short}
    • +
    • `$node.rules[].priority` - {DICTIONARY.priorityst.short}
    • +
    • `$node.rules[].priority.some` - {DICTIONARY.priority.short}
    • +
    • `syncOp` - {DICTIONARY.syncOp.short}
    • +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Области применения полей относительно используемого протокола
    названиеобязательностьтип данныхзначение по умолчаниюtransport*
    TCPUDPICMP
    $node.rules[]даObject[]null
    $node.rules[].sgFromдаString
    $node.rules[].sgToдаString
    $node.rules[].logsнетBooleanfalse
    $node.rules[].traceнетBooleanfalse
    $node.rules[].portsнетObject[]null
    $node.rules[].ports[].dнетStringnull
    $node.rules[].ports[].sнетStringnull
    $node.rules[].transportнетEnum("TCP", "UDP")TCP
    $node.rules[].ICMPдаObject
    $node.rules[].ICMP.IPvдаEnum("IPv4", "IPv6")
    $node.rules[].ICMP.TypesнетString[][]
    $node.rules[].actionда + Enum("UNDEF", "ACCEPT", "DROP") +
    $node.rules[].priorityнетObject
    $node.rules[].priority.someнетInteger
    syncOpда + Enum("Delete", "Upsert", "FullSync") +
    +
    + +

    Ограничения

    + +
      +
    • + `sgSgRules.rules[].sgFrom`: + +
    • +
    • + `sgSgRules.rules[].sgTo`: + +
    • +
    • + `sgSgRules.rules[].ports[].d`: + +
    • +
    • + `sgSgRules.rules[].ports[].s`: + +
    • +
    • + `sgSgRules.rules[].ICMP.Types[]`: + +
    • +
    + +#### Пример использования + + + + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "sgRules": { + "rules": [{ + "sgFrom": "sg-local-example", + "sgTo": "sg-example", + "logs": true, + "trace": true, + "ports": [{ + "d": "443,80", + "s": "64231" + }], + "transport": "TCP", + "action": "ACCEPT", + "priority": { + "some": -200 + } + }] + }, + "syncOp": "Upsert" + }' + ``` + +

    Выходные параметры

    + +
    + + + + + + + + + + + + + + + +
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    +
    + +

    Возможные ошибки API

    + + + + +

    Диаграмма последовательности

    + + + ```mermaid + sequenceDiagram + participant user as User + participant server as Server + participant db as Database + + user->>server: Добавить IE-SG-SG правило + + alt Ошибка в запросе + server-->>user: Показать ошибку в запросе + end + + server->>db: Отправить запрос + db->>db: Проверка входящего запроса + + alt Нет такого значения имени SG(sg и/или sg_local) + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Пересечение значений source портов + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + db->>db: Сохранить данные о IE-SG-SG в БД + + db-->>server: Ответ с успешно добавленным новым IE-SG-SG правилом + server-->>user: Успешно добавленное новое IE-SG-SG правило + ``` + + +
    + + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "sgRules": { + "rules": [{ + "sgFrom": "sg-local-example", + "sgTo": "sg-example", + "logs": true, + "trace": true, + "ports": [{ + "d": "443,80", + "s": "64231" + }], + "transport": "UDP", + "action": "ACCEPT", + "priority": { + "some": -200 + } + }] + }, + "syncOp": "Upsert" + }' + ``` + +

    Выходные параметры

    + +
    + + + + + + + + + + + + + + + +
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    +
    + +

    Возможные ошибки API

    + + + + +

    Диаграмма последовательности

    + + + ```mermaid + sequenceDiagram + participant user as User + participant server as Server + participant db as Database + + user->>server: Добавить IE-SG-SG правило + + alt Ошибка в запросе + server-->>user: Показать ошибку в запросе + end + + server->>db: Отправить запрос + db->>db: Проверка входящего запроса + + alt Нет такого значения имени SG(sg и/или sg_local) + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Пересечение значений source портов + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + db->>db: Сохранить данные о IE-SG-SG в БД + + db-->>server: Ответ с успешно добавленным новым IE-SG-SG правилом + server-->>user: Успешно добавленное новое IE-SG-SG правило + ``` + + +
    + + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "sgSgIcmpRules": { + "rules": [{ + "SgFrom": "sg-local-example", + "SgTo": "sg-example", + "logs": true, + "trace": true + "ICMP": { + "IPv": "IPv4", + "Types": [0,8] + }, + "action": "ACCEPT", + "priority": { + "some": -300 + } + }] + }, + "syncOp": "Upsert" + }' + ``` + +

    Выходные параметры

    + +
    + + + + + + + + + + + + + + + +
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    +
    + +

    Возможные ошибки API

    + + + + +

    Диаграмма последовательности

    + + + ```mermaid + sequenceDiagram + participant user as User + participant server as Server + participant db as Database + + user->>server: Добавить IE-SG-SG правило + + alt Ошибка в запросе + server-->>user: Показать ошибку в запросе + end + + server->>db: Отправить запрос + db->>db: Проверка входящего запроса + + alt Нет такого значения имени SG(sg и/или sg_local) + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Некорректное значение кода ICMP + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Некорректное значение IPv + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + db->>db: Сохранить данные о IE-SG-SG в БД + + db-->>server: Ответ с успешно добавленным новым IE-SG-SG правилом + server-->>user: Успешно добавленное новое IE-SG-SG правило + ``` + + +
    + + + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "sgSgIcmpRules": { + "rules": [{ + "SgFrom": "sg-local-example", + "SgTo": "sg-example", + "logs": true, + "trace": true + "ICMP": { + "IPv": "IPv6", + "Types": [0,8] + }, + "action": "ACCEPT", + "priority": { + "some": -300 + } + }] + }, + "syncOp": "Upsert" + }' + ``` + +

    Выходные параметры

    + +
    + + + + + + + + + + + + + + + +
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    +
    + +

    Возможные ошибки API

    + + + + +

    Диаграмма последовательности

    + + + ```mermaid + sequenceDiagram + participant user as User + participant server as Server + participant db as Database + + user->>server: Добавить IE-SG-SG правило + + alt Ошибка в запросе + server-->>user: Показать ошибку в запросе + end + + server->>db: Отправить запрос + db->>db: Проверка входящего запроса + + alt Нет такого значения имени SG(sg и/или sg_local) + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Некорректное значение кода ICMP + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Некорректное значение IPv + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + db->>db: Сохранить данные о IE-SG-SG в БД + + db-->>server: Ответ с успешно добавленным новым IE-SG-SG правилом + server-->>user: Успешно добавленное новое IE-SG-SG правило + ``` + + +
    + +
    diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/s2s/_Nftables.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/s2s/_Nftables.mdx new file mode 100644 index 00000000..f8c84c63 --- /dev/null +++ b/documentation/versioned_docs/version-v1.14.0/snippets/s2s/_Nftables.mdx @@ -0,0 +1,275 @@ +import Tabs from '@theme/Tabs' +import TabItem from '@theme/TabItem' +import { DICTIONARY } from '@site/src/constants/dictionary.ts' + +
    + В этом разделе мы покажем, как правила фильтрации трафика, созданные с помощью Terraform и API, внедряются в настройки + nftables. Это позволяет легко интегрировать сложные правила безопасности прямо в вашу систему фильтрации трафика. +
    + +
      +
    • `$Trace` - {DICTIONARY.trace.short}
    • +
    • `$SrcSgroup` - {DICTIONARY.sg.short}
    • +
    • `$DstGroup` - {DICTIONARY.sg.short}
    • +
    • `$Transport` - {DICTIONARY.transport.short}
    • +
    • `$NftRuleType` - {DICTIONARY.nftRuleType.short}
    • +
    • `$IcmpTypeList` - {DICTIONARY.icmpTypes.short}
    • +
    • `$SrcPorts` - {DICTIONARY.srcPorts.short}
    • +
    • `$DstPorts` - {DICTIONARY.dstPorts.short}
    • +
    • `$NftCounter` - {DICTIONARY.nftCounter.short}
    • +
    • `$Log` - {DICTIONARY.log.short}
    • +
    • `$NftRuleVerdict` - {DICTIONARY.nftRuleVerdict.short}
    • +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Области применения полей относительно используемого протокола
    шаблон параметраструктура параметразначенияtransport*
    TCPUDPICMP
    $Trace`nftrace set` +
      +
    • + 1 - трассировка включена +
    • +
    • + 0 - трассировка выключена +
    • +
    +
    $SrcSgroup + `saddr` + `@${IPSet(sgName)}`
    $DstSgroup + `daddr` + `@${IPSet(sgName)}`
    $Transport + `tcp | udp | icmp` +
    $NftRuleType`ip`
    $IcmpTypeList`type {}`Набор целочисленных значений от 0 до 255
    $SrcPorts`sport {}`Набор целочисленных значений от 0 до 65535
    $DstPorts`dport {}`Набор целочисленных значений от 0 до 65535
    $NftCounter + `counter` + `packets 0 bytes 0`
    $Log + `log` + `level debug flags ip options`
    $NftRuleVerdict`accept` +
    + + $NftRuleVerdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле может принимать значение `accept` или `drop` в зависимости от указанного в правиле. + +
    + Подробнее: [Verdict statement](/tech-docs/to-nft/nftables/verdict-statement) +
    +
    + +

    Пример использования

    + + + + #### Шаблон + ```hcl + chain INGRESS-INPUT-sgName { + # ********** + ${Trace} ${RuleType} ${SrcSgroup} ${Transport} ${SrcPorts} ${DstPorts} ${Counter} ${Log} ${Verdict} + # ********** + } + + chain EGRESS-POSTROUTING-sgName { + # ********** + ${Trace} ${RuleType} ${DstSgroup} ${Transport} ${SrcPorts} ${DstPorts} ${Counter} ${Log} ${Verdict} + # ********** + } + ``` + + #### Пример использования + + ```hcl + chain INGRESS-INPUT-sg-example-to { + # ********** + nftrace set 1 ip saddr NetIPv4-sg-example-from tcp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + nftrace set 1 ip saddr NetIPv6-sg-example-from tcp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + # ********** + } + + chain EGRESS-POSTROUTING-sg-example-from { + # ********** + nftrace set 1 ip daddr NetIPv4-sg-example-to tcp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + nftrace set 1 ip daddr NetIPv6-sg-example-to tcp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + # ********** + } + ``` + + + + #### Шаблон + ```hcl + chain INGRESS-INPUT-sgName { + # ********** + ${Trace} ${RuleType} ${SrcSgroup} ${Transport} ${SrcPorts} ${DstPorts} ${Counter} ${Log} ${Verdict} + # ********** + } + + chain EGRESS-POSTROUTING-sgName { + # ********** + ${Trace} ${RuleType} ${DstSgroup} ${Transport} ${SrcPorts} ${DstPorts} ${Counter} ${Log} ${Verdict} + # ********** + } + ``` + + #### Пример использования + + ```hcl + chain INGRESS-INPUT-sg-example-to { + # ********** + nftrace set 1 ip saddr NetIPv4-sg-example-from udp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + nftrace set 1 ip saddr NetIPv6-sg-example-from udp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + # ********** + } + + chain EGRESS-POSTROUTING-sg-example-from { + # ********** + nftrace set 1 ip daddr NetIPv4-sg-example-to udp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + nftrace set 1 ip daddr NetIPv6-sg-example-to udp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept + # ********** + } + ``` + + + + #### Шаблон + + ```hcl + chain INGRESS-INPUT-sgName { + # ********** + ${Trace} ${RuleType} ${SrcSgroup} ${Transport} ${TypeList} ${Counter} ${Log} ${Verdict} + # ********** + } + + chain EGRESS-POSTROUTING-sgName { + # ********** + ${Trace} ${RuleType} ${DstSgroup} ${Transport} ${TypeList} ${Counter} ${Log} ${Verdict} + # ********** + } + ``` + + #### Пример использования + + ```hcl + chain INGRESS-INPUT-sg-example-to { + # ********** + nftrace set 1 ip saddr NetIPv4-v4-sg-example-from icmp type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options accept + nftrace set 1 ip saddr NetIPv6-v6-sg-example-from icmp type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options accept + # ********** + } + + chain EGRESS-POSTROUTING-sg-example-from { + # ********** + nftrace set 1 ip daddr NetIPv4-sg-example-to icmp type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options accept + nftrace set 1 ip daddr NetIPv6-sg-example-to icmp type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options accept + # ********** + } + ``` + + + diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/s2s/_TerraformModule.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/s2s/_TerraformModule.mdx new file mode 100644 index 00000000..37c8849d --- /dev/null +++ b/documentation/versioned_docs/version-v1.14.0/snippets/s2s/_TerraformModule.mdx @@ -0,0 +1,284 @@ +import Tabs from '@theme/Tabs' +import TabItem from '@theme/TabItem' +import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' +import { DICTIONARY } from '@site/src/constants/dictionary.ts' +import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' + +
    +

    {DICTIONARY.terraformModule.full}

    +
    +
    + Далее везде в документе подразумевается что все места, содержащие переменную `$transport` иогут принимать одно из + четырех значений: `tcp`, `udp`, `icmpIPv4`, `icmpIPv6`. +
    +
      +
    • `rules` - {DICTIONARY.rules.short}
    • +
    • + `rules.s2s[]` - Список правил, описывающий сетевое взаимодействие текущей Security Group с внешней Security Group. +
    • +
    • `rules.s2s[].sgroupSet[]` - {DICTIONARY.sgroupSet.short}
    • +
    • `rules.s2s[].access.$transport` - {DICTIONARY.transport.short}
    • +
    • `rules.s2s[].access.$transport.action` - {DICTIONARY.action.short}
    • +
    • `rules.s2s[].access.$transport.priority` - {DICTIONARY.priority.short}
    • +
    • `rules.s2s[].access.$transport.log` - {DICTIONARY.log.short}
    • +
    • `rules.s2s[].access.$transport.trace` - {DICTIONARY.trace.short}
    • +
    • `rules.s2s[].access.$transport.ports[].description` - {DICTIONARY.description.short}
    • +
    • `rules.s2s[].access.$transport.ports[].ports_to[]` - {DICTIONARY.dstPorts.short}
    • +
    • `rules.s2s[].access.$transport.ports[].ports_from[]` - {DICTIONARY.srcPorts.short}
    • +
    • `rules.s2s[].access.$transport.types[].description` - {DICTIONARY.description.short}
    • +
    • `rules.s2s[].access.$transport.types[].type[]` - {DICTIONARY.icmpTypes.short}
    • +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Области применения полей относительно используемого протокола
    название параметратип данныхзначение по умолчаниюtransport*
    TCPUDPICMP
    rulesObject[][]
    rules.s2sObject
    rules.s2s.sgroupSet[]String[]
    rules.s2s.access.$transportObject[]
    rules.s2s[].access.$transport.action + Enum("ACCEPT", "DROP") +
    rules.s2s[].access.$transport.priorityString
    rules.s2s[].access.$transport.logBooleanfalse
    rules.s2s[].access.$transport.traceBooleanfalse
    rules.s2s.access.$transport.ports[].descriptionString""
    rules.s2s.access.$transport.ports[].ports_to[]Integer[]null
    rules.s2s.access.$transport.ports[].ports_from[]Integer[]null
    rules.s2s[].access.$transport.types[].type[]Integer[]null
    +
    + +

    Ограничения

    + +
      +
    • + `name`: + +
    • +
    • + `rules.s2s[].sgroupSet`: + +
    • +
    • + `rules.s2s[].access.$transport.priority`: + +
    • +
    • + `rules.s2s[].access.$transport.ports[].ports_to[]`: + +
    • +
    • + `rules.s2s[].access.$transport.ports[].ports_from[]`: + +
    • +
    • + `rules.s2s[].access.$transport.types[].type[]`: + +
    • +
    + +

    + + Пример использования + +

    + + + + + ```yaml + name: sg-local-example + rules: + s2s: + - sgroupSet: + - sg-example + access: + tcp: + action: ACCEPT + priority: -200 + logs: true + trace: true + ports: + - description: "" + ports_from: + - 64231 + ports_to: + - 443 + - 80 + ``` + + + + ```yaml + name: sg-local-example + rules: + s2s: + - sgroupSet: + - sg-example + access: + udp: + action: ACCEPT + priority: -200 + logs: true + trace: true + ports: + - description: "" + ports_from: + - 64231 + ports_to: + - 443 + - 80 + ``` + + + + ```yaml + name: sg-local-example + rules: + s2s: + - sgroupSet: + - sg-example + access: + icmpIPv4: + action: ACCEPT + priority: -300 + logs: true + trace: true + types: + - description: "" + Types: + - 0 + - 8 + ``` + + + + + ```yaml + name: sg-local-example + rules: + s2s: + - sgroupSet: + - sg-example + access: + icmpIPv6: + action: ACCEPT + priority: -300 + logs: true + trace: true + types: + - description: "" + Types: + - 0 + - 8 + ``` + + diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/s2s/_TerraformResource.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/s2s/_TerraformResource.mdx new file mode 100644 index 00000000..3eacb7a2 --- /dev/null +++ b/documentation/versioned_docs/version-v1.14.0/snippets/s2s/_TerraformResource.mdx @@ -0,0 +1,306 @@ +import Tabs from '@theme/Tabs' +import TabItem from '@theme/TabItem' +import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' +import { DICTIONARY } from '@site/src/constants/dictionary.ts' +import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' + +
    +

    {DICTIONARY.terraformResource.full}

    +
    +
      +
    • `items` - {DICTIONARY.terraformItems.short}
    • +
    • `items.$ruleName` - {DICTIONARY.terraformRuleName.short}
    • +
    • `items.$ruleName.transport` - {DICTIONARY.transport.short}
    • +
    • `items.$ruleName.sg_from` - {DICTIONARY.sg.short}
    • +
    • `items.$ruleName.sg_to` - {DICTIONARY.sg.short}
    • +
    • `items.$ruleName.ports` - {DICTIONARY.ports.short}
    • +
    • `items.$ruleName.ports[].d` - {DICTIONARY.dstPorts.short}
    • +
    • `items.$ruleName.ports[].s` - {DICTIONARY.srcPorts.short}
    • +
    • `items.$ruleName.logs` - {DICTIONARY.log.short}
    • +
    • `items.$ruleName.trace` - {DICTIONARY.trace.short}
    • +
    • `items.$ruleName.ip_v` - {DICTIONARY.icmpV.short}
    • +
    • `items.$ruleName.type` - {DICTIONARY.icmpTypes.short}
    • +
    • `items.$ruleName.action` - {DICTIONARY.action.short}
    • +
    • `items.$ruleName.priority` - {DICTIONARY.priority.short}
    • +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Области применения полей относительно используемого протокола
    названиеобязательностьтип данныхзначение по умолчаниюtransport*
    TCPUDPICMP
    itemsдаObject
    items.$ruleNameдаObject
    items.$ruleName.transportдаEnum("TCP", "UDP")
    items.$ruleName.sg_fromдаString
    items.$ruleName.sg_toдаString
    items.$ruleName.portsнетObject[]null
    items.$ruleName.ports[].dнетString""
    items.$ruleName.ports[].sнетString""
    items.$ruleName.logsнетBooleanfalse
    items.$ruleName.traceнетBooleanfalse
    items.$ruleName.ip_vдаEnum("IPv4", "IPv6")
    items.$ruleName.typeдаString[]null
    items.$ruleName.actionда + Enum("ACCEPT", "DROP") +
    items.$ruleName.priorityнетInteger
    +
    + +

    Ограничения

    + +
      +
    • + `items`: + +
    • +
    • + `items.$ruleName`: + +
    • +
    • + `items.$ruleName.sg_from`: + +
    • +
    • + `items.$ruleName.sg_to`: + +
    • +
    • + `items.$ruleName.ports[].s`: + +
    • +
    • + `items.$ruleName.ports[].d`: + +
    • +
    • + `items.$ruleName.type[]`: + +
    • +
    • + `items.$ruleName.priority`: + +
    • +
    +

    Пример использования

    + + + + ```hcl + resource "sgroups_rules" "rules" { + items = { + "tcp:sg(sg-local-example)sg(sg-example)" = { + sg_from = "sg-local-example" + sg_to = "sg-example" + logs = true + trace = true + transport = "tcp" + ports = [{ + d = "443,80" + s = "64231" + }] + action = "ACCEPT" + priority = -200 + } + } + } + ``` + + + + ```hcl + resource "sgroups_rules" "rules" { + items = { + "udp:sg(sg-local-example)sg(sg-example)" = { + sg_from = "sg-local-example" + sg_to = "sg-example" + logs = true + trace = true + transport = "udp" + ports = [{ + d = "443,80" + s = "64231" + }] + action = "ACCEPT" + priority = -200 + } + } + } + ``` + + + + ```hcl + resource "sgroups_icmp_rules" "rules" { + items = { + "sg(sg-local-example)sg(sg-example)icmp4" => { + sg_from = "sg-local-example" + sg_to = "sg-example" + logs = true + trace = true + ip_v = "IPv4" + type = [0,8] + action = "ACCEPT" + priority = -300 + } + } + } + ``` + + + + ```hcl + resource "sgroups_icmp_rules" "rules" { + items = { + "sg(sg-local-example)sg(sg-example)icmp6" => { + sg_from = "sg-local-example" + sg_to = "sg-example" + logs = true + trace = true + ip_v = "IPv6" + type = [0,8] + action = "ACCEPT" + priority = -300 + } + } + } + ``` + + + diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/securityGroups/_Api.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/securityGroups/_Api.mdx new file mode 100644 index 00000000..ca1b4b47 --- /dev/null +++ b/documentation/versioned_docs/version-v1.14.0/snippets/securityGroups/_Api.mdx @@ -0,0 +1,387 @@ +import Tabs from '@theme/Tabs' +import TabItem from '@theme/TabItem' +import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' +import { DICTIONARY } from '@site/src/constants/dictionary.ts' +import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' +import { FancyboxDiagram } from '@site/src/components/commonBlocks/FancyboxDiagram' +import { RESPOND_CODES } from '@site/src/constants/errorCodes.tsx' +import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' + +#### Входные параметры + +
      +
    • `groups.grous[]` - Структура, содержащая описание создаваемых Security Group
    • +
    • `groups.groups[].defaultAction` - представляет действие по умолчанию в конце цепочек для SG
    • +
    • `groups.groups[].logs` - {DICTIONARY.log.short}
    • +
    • `groups.groups[].name` - {DICTIONARY.sgLocal.short}
    • +
    • `groups.groups[].networks` - Имена подсетей
    • +
    • `groups.groups[].trace` - {DICTIONARY.trace.short}
    • +
    • `sgIcmpRules.rules[]` - {DICTIONARY.rules.short}
    • +
    • `sgIcmpRules.rules[].ICMP` - {DICTIONARY.apiIcmp.short}
    • +
    • `sgIcmpRules.rules[].ICMP.IPv` - {DICTIONARY.icmpV.short}
    • +
    • `sgIcmpRules.rules[].ICMP.Types` - {DICTIONARY.icmpTypes.short}
    • +
    • `sgIcmpRules.rules[].Sg` - {DICTIONARY.sgLocal.short}
    • +
    • `sgIcmpRules.rules[].logs` - {DICTIONARY.log.short}
    • +
    • `sgIcmpRules.rules[].trace` - {DICTIONARY.trace.short}
    • +
    • `sgIcmpRules.rules[].action` - {DICTIONARY.action.short}
    • +
    • `syncOp` - {DICTIONARY.syncOp.short}
    • +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    названиеобязательностьтип данныхЗначение по умолчаниюAPI request
    groupssgIcmpRules
    groups.groups[]даObject[]
    groups.groups[].defaultActionда + Enum("ACCEPT", "DROP") +
    groups.groups[].logsнетBooleanfalse
    groups.groups[].nameдаString
    groups.groups[].networksнетString[][]
    groups.groups[].traceнетBooleanfalse
    sgIcmpRules.rules[]даObject[]
    sgIcmpRules.rules[].ICMPдаObject
    sgIcmpRules.rules[].ICMP.IPvдаEnum("IPv4", "IPv6")
    sgIcmpRules.rules[].ICMP.TypesнетString[][]
    sgIcmpRules.rules[].SgдаString
    sgIcmpRules.rules[].logsнетBooleanfalse
    sgIcmpRules.rules[].traceнетBooleanfalse
    sgIcmpRules.rules[].actionда + Enum("UNDEF", "ACCEPT", "DROP") +
    syncOpда + Enum("Delete", "Upsert", "FullSync") +
    +
    + +

    Ограничения

    + +
      +
    • + `groups.groups[].name`: + +
    • +
    • + `groups.groups[].networks[]`: + +
    • +
    • + `sgIcmpRules.rules[].Sg`: + +
    • +
    • + `$node.rules[].type[]`: + +
    • +
    + +#### Пример использования + + + + + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "groups": { + "groups": [{ + "defaultAction": "ACCEPT", + "logs": true, + "name": "sg-example", + "networks": ["10.0.0.0/24", "11.0.0.0/24"], + "trace": true + }] + }, + "syncOp": "Upsert" + }' + ``` + +

    Выходные параметры

    + + + + + + + + + + + + + + + + +
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    + +

    Возможные ошибки API

    + + + + +

    Диаграмма последовательности

    + + + + ```mermaid + sequenceDiagram + participant user as User + participant server as Server + participant db as Database + + user->>server: Добавить Security Group + + alt Ошибка в запросе + server-->>user: Показать ошибку в запросе + end + + server->>db: Отправить запрос + db->>db: Проверка входящего запроса + + alt SG c таким названием уже существует + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Пересечение значений source портов + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Некорректное значение поля определяющее действие с данными из запроса + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + db->>db: Сохранить данные о SG в БД + + db-->>server: Ответ с успешно добавленной новой SG + server-->>user: Успешно добавленная новая SG + ``` + + +
    + + + ```bash + curl '127.0.0.1:9007/v1/sync' \ + --header 'Content-Type: application/json' \ + --data '{ + "sgIcmpRules": { + "rules": [{ + "ICMP": { + "IPv": "IPv4", + "Types": [0,8] + }, + "Sg": "sg-example", + "logs": true, + "trace": true, + "action": "DROP", + }, + { + "ICMP": { + "IPv": "IPv6", + "Types": [0,8] + }, + "Sg": "sg-example", + "logs": true, + "trace": true, + "action": "DROP", + }] + }, + "syncOp": "Upsert" + }' + ``` + +

    Выходные параметры

    + + + + + + + + + + + + + + + + +
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    + +

    Возможные ошибки API

    + + + + + + + ```mermaid + sequenceDiagram + participant user as User + participant server as Server + participant db as Database + + user->>server: Добавить Security Group + + alt Ошибка в запросе + server-->>user: Показать ошибку в запросе + end + + server->>db: Отправить запрос + db->>db: Проверка входящего запроса + + alt SG c таким названием уже существует + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Некорректное значение кода ICMP + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + alt Некорректное значение IPv + db-->>server: Ответ с ошибкой + server-->>user: Показать ошибку в запросе + end + + db->>db: Сохранить данные о SG в БД + + db-->>server: Ответ с успешно добавленной новой SG + server-->>user: Успешно добавленная новая SG + ``` + + +
    +
    diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/securityGroups/_Nftables.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/securityGroups/_Nftables.mdx new file mode 100644 index 00000000..9934b354 --- /dev/null +++ b/documentation/versioned_docs/version-v1.14.0/snippets/securityGroups/_Nftables.mdx @@ -0,0 +1,132 @@ +import { DICTIONARY } from '@site/src/constants/dictionary.ts' + +
    + В этом разделе мы покажем, как ресурс `groups`, созданный с помощью Terraform/API, внедряется в настройки nftables. В + контексте HBF мы интерпретируем ресурс groups как проекцию на ресурсы `IPSet` и `Chains` которые функционируют в + рамках инструмента nftables, обеспечивая более широкие возможности для управления подсетями и правилами. +
    +
      +
    • `$Trace` - {DICTIONARY.trace.short}
    • +
    • `$Transport` - {DICTIONARY.transport.short}
    • +
    • `$TypeList` - {DICTIONARY.icmpTypes.short}
    • +
    • `$Log` - {DICTIONARY.log.short}
    • +
    • `$Counter` - {DICTIONARY.nftCounter.short}
    • +
    • `$Verdict` - {DICTIONARY.nftRuleVerdict.short}
    • +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    шаблон параметраструктура параметразначениеобщиеicmp
    $Trace`nftrace set` +
      +
    • + 1 - трассировка включена +
    • +
    • + 0 - трассировка выключена +
    • +
    +
    $Transport`icmp`
    $TypeList`type {}`Набор целочисленных значений от 0 до 255
    $Log + `log` + `level debug flags ip options`
    $Counter + `counter` + `packets 0 bytes 0`
    $Verdict`accept` +
    + + $Verdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле может принимать значение `accept` или `drop` в зависимости от указанного в правиле. + +
    + Подробнее: [Verdict statement](/tech-docs/to-nft/nftables/verdict-statement) +
    +
    + +#### Шаблон + +```hcl +chain INGRESS-INPUT-sgName { + # ********** + $Trace $Transport $TypeList $Counter $Log $Verdict //ICMP + # ********** + $Trace $Counter $Log $Verdict //Общие +} + +chain EGRESS-POSTROUTING-sgName { + # ********** + $Trace $Transport $TypeList $Counter $Log $Verdict //ICMP + # ********** + $Trace $Counter $Log $Verdict //Общие +} +``` + +#### Пример использования + +```hcl +chain INGRESS-INPUT-sg-example { + # ********** + nftrace set 1 icmp type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options drop //ICMP + nftrace set 1 icmpv6 type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options drop //ICMP + # ********** + nftrace set 1 counter packets 0 bytes 0 log level debug flags ip options accept //Общие +} + + +chain EGRESS-POSTROUTING-sg-example { + # ********** + nftrace set 1 icmp type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options drop //ICMP + nftrace set 1 icmpv6 type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options drop //ICMP + # ********** + nftrace set 1 counter packets 0 bytes 0 log level debug flags ip options accept //Общие +} +``` diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/securityGroups/_TerraformModule.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/securityGroups/_TerraformModule.mdx new file mode 100644 index 00000000..f56dcfc9 --- /dev/null +++ b/documentation/versioned_docs/version-v1.14.0/snippets/securityGroups/_TerraformModule.mdx @@ -0,0 +1,159 @@ +import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' +import { DICTIONARY } from '@site/src/constants/dictionary.ts' +import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' + +
    +

    {DICTIONARY.terraformModule.full}

    +
    +
    + Далее везде в документе подразумевается что все места, содержащие переменную `$transport` подразумевается одно из двух + значений: `icmp`, `icmp6`. +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    название параметраописаниетип данныхзначение по умолчанию
    nameНазвание Security GroupString
    cidrs[]Список CIDR, связанных с Security GroupString[][]
    default_rules + Структура, описывающая правила по умолчанию, для пакетов не соответствующих ни одному из установленных правил + в цепочке. + Object{}
    default_rules.access + Структура, описывающая взаимодействие с пакетами не соответствующими ни одному из установленных правил в + таблице. + Object{}
    default_rules.access.default.logs{DICTIONARY.log.short}Booleanfalse
    default_rules.access.default.trace{DICTIONARY.trace.short}Booleanfalse
    default_rules.access.default.action + Определяет действие по умолчанию для пакетов, не соответствующих ни одному из установленных правил в цепочке. + + Enum("ACCEPT", "DROP") + `ACCEPT`
    default_rules.access.$transport + Структура, описывающая взаимодействие с ICMP-трафиком по умолчанию. Для обработки ICMP-трафика добавляется + соответствующее правило в начало цепочки. + Object{}
    default_rules.access.$transport.logs{DICTIONARY.log.short}Booleanfalse
    default_rules.access.$transport.trace{DICTIONARY.trace.short}Booleanfalse
    default_rules.access.$transport.type[]{DICTIONARY.icmpTypes.short}Integer[][]
    default_rules.access.$transport.action{DICTIONARY.action.short}Enum("ACCEPT", "DROP")`ACCEPT`
    +
    + +#### Ограничения + +
      +
    • + `name`: + +
    • +
    • + `cidrs[]`: + +
    • +
    • + `default_rules.access.icmp.type`: + +
    • +
    • + `default_rules.access.icmp6.type`: + +
    • +
    + +#### [Пример использования](https://github.com/H-BF/swarm-spec-template/blob/master/spec/sg-example.yaml#L2) + +```yaml +name: sg-example +cidrs: + - 10.0.0.0/24 + - 11.0.0.0/24 +default_rules: + access: + default: + logs: true + trace: true + action: ACCEPT + + icmp: + action: DROP + logs: true + trace: true + type: [0, 8] + + icmp6: + action: DROP + logs: true + trace: true + type: [0, 8] +``` diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/securityGroups/_TerraformResource.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/securityGroups/_TerraformResource.mdx new file mode 100644 index 00000000..f993858f --- /dev/null +++ b/documentation/versioned_docs/version-v1.14.0/snippets/securityGroups/_TerraformResource.mdx @@ -0,0 +1,163 @@ +import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' +import { DICTIONARY } from '@site/src/constants/dictionary.ts' +import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' + +
    +

    {DICTIONARY.terraformResource.full}

    +
    +
    + Далее везде в документе подразумевается что все места, содержащие переменную `$transport` ( + {DICTIONARY.transport.short}) подразумевается одно из двух значений: `icmp`, `icmp6`. +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    названиеобязательностьтип данныхдоп. описание
    itemsдаObjectCписок ресурсов создаваемые terraform ресурсом.
    items.keyдаStringУникальный ключ блока items.
    items.key.nameдаStringИмя Security Group.
    items.key.networksдаString[] + Список содержащий имена подсетей которые включены в указанную группу безопасности. Т.к. описывается + имплементация Terrafom module в Terraform resource то имя Networks совпадает с CIDR хотя им не является. +
    items.key.logsнетBoolean{DICTIONARY.log.short}
    items.key.traceнетBoolean{DICTIONARY.trace.short}
    items.key.default_actionдаEnum("DROP", "ACCEPT") + Определяет действие по умолчанию для пакетов, не соответствующих ни одному из установленных правил в цепочке. +
    items.key.$transportдаObject + Структура, описывающая взаимодействие с ICMP-трафиком по умолчанию. Для обработки ICMP-трафика добавляется + соответствующее правило в начало цепочки. +
    items.key.$transport.logsнетBoolean{DICTIONARY.log.short}
    items.key.$transport.traceнетBoolean{DICTIONARY.trace.short}
    items.key.$transport.type[]даString[]{DICTIONARY.icmpTypes.short}
    items.key.$transport.actionдаEnum("ACCEPT", "DROP"){DICTIONARY.action.short}
    +
    + +#### Ограничения + +
      +
    • + `items`: + +
    • +
    • + `items.key`: + +
    • +
    • + `items.key.name`: + +
    • +
    • + `items.key.networks`: + +
    • +
    • + `items.key.icmp.type`: + +
    • +
    • + `items.key.icmp6.type`: + +
    • +
    + +#### Пример использования + +```hcl +resource "sgroups_groups" "groups" { + items = { + key = { + name = "sg-example" + networks = ["10.0.0.0/24", "11.0.0.0/24"] + logs = true + trace = true + default_action = "ACCEPT" + icmp = { + logs = true + trace = true + type = [0, 8] + action = "DROP" + } + icmp6 = { + logs = true + trace = true + type = [0, 8] + action = "DROP" + } + } + } +} +``` diff --git a/documentation/versioned_docs/version-v1.14.0/tech-docs/rule-configuration/networks.mdx b/documentation/versioned_docs/version-v1.14.0/tech-docs/rule-configuration/networks.mdx index e03e3dd8..efd83594 100644 --- a/documentation/versioned_docs/version-v1.14.0/tech-docs/rule-configuration/networks.mdx +++ b/documentation/versioned_docs/version-v1.14.0/tech-docs/rule-configuration/networks.mdx @@ -4,10 +4,10 @@ id: networks import Tabs from '@theme/Tabs' import TabItem from '@theme/TabItem' -import TerraforModule from '@site/src/snippets/networks/_TerraformModule.mdx' -import TerraforResource from '@site/src/snippets/networks/_TerraformResource.mdx' -import Api from '@site/src/snippets/networks/_Api.mdx' -import Nftables from '@site/src/snippets/networks/_Nftables.mdx' +import TerraforModule from '../../snippets/networks/_TerraformModule.mdx' +import TerraforResource from '../../snippets/networks/_TerraformResource.mdx' +import Api from '../../snippets/networks/_Api.mdx' +import Nftables from '../../snippets/networks/_Nftables.mdx' # Networks diff --git a/documentation/versioned_docs/version-v1.14.0/tech-docs/rule-configuration/s2c-ie.mdx b/documentation/versioned_docs/version-v1.14.0/tech-docs/rule-configuration/s2c-ie.mdx index 3df4828d..46fc4d68 100644 --- a/documentation/versioned_docs/version-v1.14.0/tech-docs/rule-configuration/s2c-ie.mdx +++ b/documentation/versioned_docs/version-v1.14.0/tech-docs/rule-configuration/s2c-ie.mdx @@ -4,18 +4,18 @@ id: s2c-ie import Tabs from '@theme/Tabs' import TabItem from '@theme/TabItem' -import TerraforModule from '@site/src/snippets/s2c-ie/_TerraformModule.mdx' -import TerraformResource from '@site/src/snippets/s2c-ie/_TerraformResource.mdx' -import Nftables from '@site/src/snippets/s2c-ie/_Nftables.mdx' -import Api from '@site/src/snippets/s2c-ie/_Api.mdx' +import TerraforModule from '../../snippets/s2c-ie/_TerraformModule.mdx' +import TerraformResource from '../../snippets/s2c-ie/_TerraformResource.mdx' +import Nftables from '../../snippets/s2c-ie/_Nftables.mdx' +import Api from '../../snippets/s2c-ie/_Api.mdx' # Sgroup to CIDR (Ingress/Egress)
    - Ресурс `Security Group to CIDR` представляет собой введенную нами абстракцию, которая обеспечивает гибкое управление и контроль за - сетевым трафиком между различными группами безопасности и подсетями, используя TCP, UDP и ICMP протоколы. Этот ресурс - дает возможность детально настроить, какой трафик разрешен к передаче между группами безопасности и определенными - подсетями, тем самым гарантируя высокий уровень защиты и управления сетевой инфраструктурой. + Ресурс `Security Group to CIDR` представляет собой введенную нами абстракцию, которая обеспечивает гибкое управление и + контроль за сетевым трафиком между различными группами безопасности и подсетями, используя TCP, UDP и ICMP протоколы. + Этот ресурс дает возможность детально настроить, какой трафик разрешен к передаче между группами безопасности и + определенными подсетями, тем самым гарантируя высокий уровень защиты и управления сетевой инфраструктурой.
    - Ресурс `Security Group to FQDN` представляет собой введенную нами абстракцию, которая обеспечивает гибкое управление и контроль за сетевым - трафиком между различными группами безопасности и IP адресами стоящие за FQDN записями, используя TCP, UDP протоколы. Этот ресурс дает - возможность детально настроить, какой трафик разрешен к передаче между группами безопасности и IP адресами стоящие за определенными FQDN - записями, тем самым гарантируя высокий уровень защиты и управления сетевой инфраструктурой. + Ресурс `Security Group to FQDN` представляет собой введенную нами абстракцию, которая обеспечивает гибкое управление и + контроль за сетевым трафиком между различными группами безопасности и IP адресами стоящие за FQDN записями, используя + TCP, UDP протоколы. Этот ресурс дает возможность детально настроить, какой трафик разрешен к передаче между группами + безопасности и IP адресами стоящие за определенными FQDN записями, тем самым гарантируя высокий уровень защиты и + управления сетевой инфраструктурой. Date: Fri, 12 Apr 2024 03:42:38 +0300 Subject: [PATCH 3/5] fix links --- documentation/docs/snippets/s2c-ie/_Nftables.mdx | 5 +++-- documentation/docs/snippets/s2f-e/_Nftables.mdx | 2 +- documentation/docs/snippets/s2s-ie/_Nftables.mdx | 5 +++-- documentation/docs/snippets/s2s/_Nftables.mdx | 5 +++-- documentation/docs/snippets/securityGroups/_Nftables.mdx | 5 +++-- .../version-v1.13.0/snippets/s2c-ie/_Nftables.mdx | 5 +++-- .../version-v1.13.0/snippets/s2f-e/_Nftables.mdx | 2 +- .../version-v1.13.0/snippets/s2s-ie/_Nftables.mdx | 5 +++-- .../version-v1.13.0/snippets/s2s/_Nftables.mdx | 5 +++-- .../version-v1.13.0/snippets/securityGroups/_Nftables.mdx | 5 +++-- .../version-v1.14.0/snippets/s2c-ie/_Nftables.mdx | 5 +++-- .../version-v1.14.0/snippets/s2f-e/_Nftables.mdx | 2 +- .../version-v1.14.0/snippets/s2s-ie/_Nftables.mdx | 5 +++-- .../version-v1.14.0/snippets/s2s/_Nftables.mdx | 5 +++-- .../version-v1.14.0/snippets/securityGroups/_Nftables.mdx | 5 +++-- 15 files changed, 39 insertions(+), 27 deletions(-) diff --git a/documentation/docs/snippets/s2c-ie/_Nftables.mdx b/documentation/docs/snippets/s2c-ie/_Nftables.mdx index 36ac6dd1..068e3ea6 100644 --- a/documentation/docs/snippets/s2c-ie/_Nftables.mdx +++ b/documentation/docs/snippets/s2c-ie/_Nftables.mdx @@ -142,10 +142,11 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts'
    - $NftRuleVerdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле может принимать значение `accept` или `drop` в зависимости от указанного в правиле. + $NftRuleVerdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле + может принимать значение `accept` или `drop` в зависимости от указанного в правиле.
    - Подробнее: [Verdict statement](/tech-docs/to-nft/nftables/verdict-statement) + Подробнее: [Verdict statement](../../tech-docs/to-nft/nftables/verdict-statement) ✔ ✔ diff --git a/documentation/docs/snippets/s2f-e/_Nftables.mdx b/documentation/docs/snippets/s2f-e/_Nftables.mdx index 9455722c..d3c5da88 100644 --- a/documentation/docs/snippets/s2f-e/_Nftables.mdx +++ b/documentation/docs/snippets/s2f-e/_Nftables.mdx @@ -83,7 +83,7 @@
    $Verdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле может принимать значение `accept` или `drop` в зависимости от указанного в правиле.
    - Подробнее: [Verdict statement](/tech-docs/to-nft/nftables/verdict-statement) + Подробнее: [Verdict statement](../../tech-docs/to-nft/nftables/verdict-statement) Вердикт политики по пакетам данных diff --git a/documentation/docs/snippets/s2s-ie/_Nftables.mdx b/documentation/docs/snippets/s2s-ie/_Nftables.mdx index eb008ae8..25e9860c 100644 --- a/documentation/docs/snippets/s2s-ie/_Nftables.mdx +++ b/documentation/docs/snippets/s2s-ie/_Nftables.mdx @@ -142,10 +142,11 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts'
    - $NftRuleVerdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле может принимать значение `accept` или `drop` в зависимости от указанного в правиле. + $NftRuleVerdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле + может принимать значение `accept` или `drop` в зависимости от указанного в правиле.
    - Подробнее: [Verdict statement](/tech-docs/to-nft/nftables/verdict-statement) + Подробнее: [Verdict statement](../../tech-docs/to-nft/nftables/verdict-statement) ✔ ✔ diff --git a/documentation/docs/snippets/s2s/_Nftables.mdx b/documentation/docs/snippets/s2s/_Nftables.mdx index f8c84c63..299985ed 100644 --- a/documentation/docs/snippets/s2s/_Nftables.mdx +++ b/documentation/docs/snippets/s2s/_Nftables.mdx @@ -143,10 +143,11 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts'
    - $NftRuleVerdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле может принимать значение `accept` или `drop` в зависимости от указанного в правиле. + $NftRuleVerdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле + может принимать значение `accept` или `drop` в зависимости от указанного в правиле.
    - Подробнее: [Verdict statement](/tech-docs/to-nft/nftables/verdict-statement) + Подробнее: [Verdict statement](../../tech-docs/to-nft/nftables/verdict-statement) ✔ ✔ diff --git a/documentation/docs/snippets/securityGroups/_Nftables.mdx b/documentation/docs/snippets/securityGroups/_Nftables.mdx index 9934b354..5fd73d31 100644 --- a/documentation/docs/snippets/securityGroups/_Nftables.mdx +++ b/documentation/docs/snippets/securityGroups/_Nftables.mdx @@ -80,10 +80,11 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts'
    - $Verdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле может принимать значение `accept` или `drop` в зависимости от указанного в правиле. + $Verdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле может + принимать значение `accept` или `drop` в зависимости от указанного в правиле.
    - Подробнее: [Verdict statement](/tech-docs/to-nft/nftables/verdict-statement) + Подробнее: [Verdict statement](../../tech-docs/to-nft/nftables/verdict-statement) ✔ ✔ diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_Nftables.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_Nftables.mdx index 36ac6dd1..068e3ea6 100644 --- a/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_Nftables.mdx +++ b/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_Nftables.mdx @@ -142,10 +142,11 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts'
    - $NftRuleVerdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле может принимать значение `accept` или `drop` в зависимости от указанного в правиле. + $NftRuleVerdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле + может принимать значение `accept` или `drop` в зависимости от указанного в правиле.
    - Подробнее: [Verdict statement](/tech-docs/to-nft/nftables/verdict-statement) + Подробнее: [Verdict statement](../../tech-docs/to-nft/nftables/verdict-statement) ✔ ✔ diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_Nftables.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_Nftables.mdx index 9455722c..d3c5da88 100644 --- a/documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_Nftables.mdx +++ b/documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_Nftables.mdx @@ -83,7 +83,7 @@
    $Verdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле может принимать значение `accept` или `drop` в зависимости от указанного в правиле.
    - Подробнее: [Verdict statement](/tech-docs/to-nft/nftables/verdict-statement) + Подробнее: [Verdict statement](../../tech-docs/to-nft/nftables/verdict-statement) Вердикт политики по пакетам данных diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_Nftables.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_Nftables.mdx index eb008ae8..25e9860c 100644 --- a/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_Nftables.mdx +++ b/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_Nftables.mdx @@ -142,10 +142,11 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts'
    - $NftRuleVerdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле может принимать значение `accept` или `drop` в зависимости от указанного в правиле. + $NftRuleVerdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле + может принимать значение `accept` или `drop` в зависимости от указанного в правиле.
    - Подробнее: [Verdict statement](/tech-docs/to-nft/nftables/verdict-statement) + Подробнее: [Verdict statement](../../tech-docs/to-nft/nftables/verdict-statement) ✔ ✔ diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_Nftables.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_Nftables.mdx index f8c84c63..299985ed 100644 --- a/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_Nftables.mdx +++ b/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_Nftables.mdx @@ -143,10 +143,11 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts'
    - $NftRuleVerdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле может принимать значение `accept` или `drop` в зависимости от указанного в правиле. + $NftRuleVerdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле + может принимать значение `accept` или `drop` в зависимости от указанного в правиле.
    - Подробнее: [Verdict statement](/tech-docs/to-nft/nftables/verdict-statement) + Подробнее: [Verdict statement](../../tech-docs/to-nft/nftables/verdict-statement) ✔ ✔ diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_Nftables.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_Nftables.mdx index 9934b354..5fd73d31 100644 --- a/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_Nftables.mdx +++ b/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_Nftables.mdx @@ -80,10 +80,11 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts'
    - $Verdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле может принимать значение `accept` или `drop` в зависимости от указанного в правиле. + $Verdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле может + принимать значение `accept` или `drop` в зависимости от указанного в правиле.
    - Подробнее: [Verdict statement](/tech-docs/to-nft/nftables/verdict-statement) + Подробнее: [Verdict statement](../../tech-docs/to-nft/nftables/verdict-statement) ✔ ✔ diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/s2c-ie/_Nftables.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/s2c-ie/_Nftables.mdx index 36ac6dd1..068e3ea6 100644 --- a/documentation/versioned_docs/version-v1.14.0/snippets/s2c-ie/_Nftables.mdx +++ b/documentation/versioned_docs/version-v1.14.0/snippets/s2c-ie/_Nftables.mdx @@ -142,10 +142,11 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts'
    - $NftRuleVerdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле может принимать значение `accept` или `drop` в зависимости от указанного в правиле. + $NftRuleVerdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле + может принимать значение `accept` или `drop` в зависимости от указанного в правиле.
    - Подробнее: [Verdict statement](/tech-docs/to-nft/nftables/verdict-statement) + Подробнее: [Verdict statement](../../tech-docs/to-nft/nftables/verdict-statement) ✔ ✔ diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/s2f-e/_Nftables.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/s2f-e/_Nftables.mdx index 9455722c..d3c5da88 100644 --- a/documentation/versioned_docs/version-v1.14.0/snippets/s2f-e/_Nftables.mdx +++ b/documentation/versioned_docs/version-v1.14.0/snippets/s2f-e/_Nftables.mdx @@ -83,7 +83,7 @@
    $Verdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле может принимать значение `accept` или `drop` в зависимости от указанного в правиле.
    - Подробнее: [Verdict statement](/tech-docs/to-nft/nftables/verdict-statement) + Подробнее: [Verdict statement](../../tech-docs/to-nft/nftables/verdict-statement) Вердикт политики по пакетам данных diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/s2s-ie/_Nftables.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/s2s-ie/_Nftables.mdx index eb008ae8..25e9860c 100644 --- a/documentation/versioned_docs/version-v1.14.0/snippets/s2s-ie/_Nftables.mdx +++ b/documentation/versioned_docs/version-v1.14.0/snippets/s2s-ie/_Nftables.mdx @@ -142,10 +142,11 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts'
    - $NftRuleVerdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле может принимать значение `accept` или `drop` в зависимости от указанного в правиле. + $NftRuleVerdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле + может принимать значение `accept` или `drop` в зависимости от указанного в правиле.
    - Подробнее: [Verdict statement](/tech-docs/to-nft/nftables/verdict-statement) + Подробнее: [Verdict statement](../../tech-docs/to-nft/nftables/verdict-statement) ✔ ✔ diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/s2s/_Nftables.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/s2s/_Nftables.mdx index f8c84c63..299985ed 100644 --- a/documentation/versioned_docs/version-v1.14.0/snippets/s2s/_Nftables.mdx +++ b/documentation/versioned_docs/version-v1.14.0/snippets/s2s/_Nftables.mdx @@ -143,10 +143,11 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts'
    - $NftRuleVerdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле может принимать значение `accept` или `drop` в зависимости от указанного в правиле. + $NftRuleVerdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле + может принимать значение `accept` или `drop` в зависимости от указанного в правиле.
    - Подробнее: [Verdict statement](/tech-docs/to-nft/nftables/verdict-statement) + Подробнее: [Verdict statement](../../tech-docs/to-nft/nftables/verdict-statement) ✔ ✔ diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/securityGroups/_Nftables.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/securityGroups/_Nftables.mdx index 9934b354..5fd73d31 100644 --- a/documentation/versioned_docs/version-v1.14.0/snippets/securityGroups/_Nftables.mdx +++ b/documentation/versioned_docs/version-v1.14.0/snippets/securityGroups/_Nftables.mdx @@ -80,10 +80,11 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts'
    - $Verdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле может принимать значение `accept` или `drop` в зависимости от указанного в правиле. + $Verdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле может + принимать значение `accept` или `drop` в зависимости от указанного в правиле.
    - Подробнее: [Verdict statement](/tech-docs/to-nft/nftables/verdict-statement) + Подробнее: [Verdict statement](../../tech-docs/to-nft/nftables/verdict-statement) ✔ ✔ From 13e7f572dcc0705bd72aaf99c97fa7f446aaa809 Mon Sep 17 00:00:00 2001 From: Pavel Date: Fri, 12 Apr 2024 05:06:29 +0300 Subject: [PATCH 4/5] versioned constants --- documentation/docs/info/terminology.mdx | 2 +- documentation/docs/snippets/networks/_Api.mdx | 14 +- .../snippets/networks/_TerraformModule.mdx | 6 +- .../snippets/networks/_TerraformResource.mdx | 12 +- documentation/docs/snippets/s2c-ie/_Api.mdx | 61 +-- .../docs/snippets/s2c-ie/_Nftables.mdx | 22 +- .../docs/snippets/s2c-ie/_TerraformModule.mdx | 40 +- .../snippets/s2c-ie/_TerraformResource.mdx | 93 +++-- documentation/docs/snippets/s2f-e/_Api.mdx | 41 +- .../docs/snippets/s2f-e/_TerraformModule.mdx | 38 +- .../snippets/s2f-e/_TerraformResource.mdx | 40 +- documentation/docs/snippets/s2s-ie/_Api.mdx | 60 +-- .../docs/snippets/s2s-ie/_Nftables.mdx | 22 +- .../docs/snippets/s2s-ie/_TerraformModule.mdx | 53 ++- .../snippets/s2s-ie/_TerraformResource.mdx | 48 +-- documentation/docs/snippets/s2s/_Api.mdx | 58 +-- documentation/docs/snippets/s2s/_Nftables.mdx | 22 +- .../docs/snippets/s2s/_TerraformModule.mdx | 49 ++- .../docs/snippets/s2s/_TerraformResource.mdx | 46 +-- .../docs/snippets/securityGroups/_Api.mdx | 41 +- .../snippets/securityGroups/_Nftables.mdx | 12 +- .../securityGroups/_TerraformModule.mdx | 22 +- .../securityGroups/_TerraformResource.mdx | 28 +- .../tech-docs/sgroups/api/v1/address-sg.mdx | 16 +- .../sgroups/api/v1/cidr-sg-icmp-rules.mdx | 32 +- .../sgroups/api/v1/cidr-sg-rules.mdx | 34 +- .../tech-docs/sgroups/api/v1/fqdn-rules.mdx | 34 +- .../sgroups/api/v1/ie-sg-sg-icmp-rules.mdx | 30 +- .../sgroups/api/v1/ie-sg-sg-rules.mdx | 32 +- .../tech-docs/sgroups/api/v1/networks.mdx | 14 +- .../docs/tech-docs/sgroups/api/v1/rules.mdx | 30 +- .../sgroups/api/v1/security-groups.mdx | 16 +- .../sgroups/api/v1/sg-icmp-rules.mdx | 22 +- .../sgroups/api/v1/sg-sg-icmp-rules.mdx | 30 +- .../docs/tech-docs/sgroups/api/v1/status.mdx | 2 +- .../docs/tech-docs/sgroups/api/v1/subnets.mdx | 14 +- documentation/src/constants/dictionary.ts | 372 +++++++++--------- documentation/src/constants/errorCodes.tsx | 208 +++++----- documentation/src/constants/restrictions.tsx | 230 +++++------ documentation/src/constants/terminology.tsx | 148 +++---- documentation/src/customTypes/dictionary.ts | 2 + documentation/src/customTypes/errorCodes.ts | 6 +- documentation/src/customTypes/restrictions.ts | 2 + documentation/src/customTypes/terminology.ts | 2 + .../version-v1.13.0/info/terminology.mdx | 2 +- .../snippets/networks/_Api.mdx | 14 +- .../snippets/networks/_TerraformModule.mdx | 6 +- .../snippets/networks/_TerraformResource.mdx | 12 +- .../version-v1.13.0/snippets/s2c-ie/_Api.mdx | 61 +-- .../snippets/s2c-ie/_Nftables.mdx | 22 +- .../snippets/s2c-ie/_TerraformModule.mdx | 40 +- .../snippets/s2c-ie/_TerraformResource.mdx | 93 +++-- .../version-v1.13.0/snippets/s2f-e/_Api.mdx | 41 +- .../snippets/s2f-e/_TerraformModule.mdx | 38 +- .../snippets/s2f-e/_TerraformResource.mdx | 40 +- .../version-v1.13.0/snippets/s2s-ie/_Api.mdx | 60 +-- .../snippets/s2s-ie/_Nftables.mdx | 22 +- .../snippets/s2s-ie/_TerraformModule.mdx | 53 ++- .../snippets/s2s-ie/_TerraformResource.mdx | 48 +-- .../version-v1.13.0/snippets/s2s/_Api.mdx | 58 +-- .../snippets/s2s/_Nftables.mdx | 22 +- .../snippets/s2s/_TerraformModule.mdx | 49 ++- .../snippets/s2s/_TerraformResource.mdx | 46 +-- .../snippets/securityGroups/_Api.mdx | 41 +- .../snippets/securityGroups/_Nftables.mdx | 12 +- .../securityGroups/_TerraformModule.mdx | 22 +- .../securityGroups/_TerraformResource.mdx | 28 +- .../tech-docs/sgroups/api/v1/address-sg.mdx | 16 +- .../sgroups/api/v1/cidr-sg-icmp-rules.mdx | 26 +- .../sgroups/api/v1/cidr-sg-rules.mdx | 28 +- .../tech-docs/sgroups/api/v1/fqdn-rules.mdx | 28 +- .../sgroups/api/v1/ie-sg-sg-icmp-rules.mdx | 24 +- .../sgroups/api/v1/ie-sg-sg-rules.mdx | 26 +- .../tech-docs/sgroups/api/v1/networks.mdx | 14 +- .../tech-docs/sgroups/api/v1/rules.mdx | 24 +- .../sgroups/api/v1/security-groups.mdx | 16 +- .../sgroups/api/v1/sg-icmp-rules.mdx | 20 +- .../sgroups/api/v1/sg-sg-icmp-rules.mdx | 24 +- .../tech-docs/sgroups/api/v1/status.mdx | 2 +- .../tech-docs/sgroups/api/v1/subnets.mdx | 14 +- .../version-v1.14.0/info/terminology.mdx | 2 +- .../snippets/networks/_Api.mdx | 14 +- .../snippets/networks/_TerraformModule.mdx | 6 +- .../snippets/networks/_TerraformResource.mdx | 12 +- .../version-v1.14.0/snippets/s2c-ie/_Api.mdx | 61 +-- .../snippets/s2c-ie/_Nftables.mdx | 22 +- .../snippets/s2c-ie/_TerraformModule.mdx | 40 +- .../snippets/s2c-ie/_TerraformResource.mdx | 93 +++-- .../version-v1.14.0/snippets/s2f-e/_Api.mdx | 41 +- .../snippets/s2f-e/_TerraformModule.mdx | 38 +- .../snippets/s2f-e/_TerraformResource.mdx | 40 +- .../version-v1.14.0/snippets/s2s-ie/_Api.mdx | 60 +-- .../snippets/s2s-ie/_Nftables.mdx | 22 +- .../snippets/s2s-ie/_TerraformModule.mdx | 53 ++- .../snippets/s2s-ie/_TerraformResource.mdx | 48 +-- .../version-v1.14.0/snippets/s2s/_Api.mdx | 58 +-- .../snippets/s2s/_Nftables.mdx | 22 +- .../snippets/s2s/_TerraformModule.mdx | 49 ++- .../snippets/s2s/_TerraformResource.mdx | 46 +-- .../snippets/securityGroups/_Api.mdx | 41 +- .../snippets/securityGroups/_Nftables.mdx | 12 +- .../securityGroups/_TerraformModule.mdx | 22 +- .../securityGroups/_TerraformResource.mdx | 28 +- .../tech-docs/sgroups/api/v1/address-sg.mdx | 16 +- .../sgroups/api/v1/cidr-sg-icmp-rules.mdx | 32 +- .../sgroups/api/v1/cidr-sg-rules.mdx | 34 +- .../tech-docs/sgroups/api/v1/fqdn-rules.mdx | 34 +- .../sgroups/api/v1/ie-sg-sg-icmp-rules.mdx | 30 +- .../sgroups/api/v1/ie-sg-sg-rules.mdx | 32 +- .../tech-docs/sgroups/api/v1/networks.mdx | 14 +- .../tech-docs/sgroups/api/v1/rules.mdx | 30 +- .../sgroups/api/v1/security-groups.mdx | 16 +- .../sgroups/api/v1/sg-icmp-rules.mdx | 22 +- .../sgroups/api/v1/sg-sg-icmp-rules.mdx | 30 +- .../tech-docs/sgroups/api/v1/status.mdx | 2 +- .../tech-docs/sgroups/api/v1/subnets.mdx | 14 +- 116 files changed, 2211 insertions(+), 2123 deletions(-) diff --git a/documentation/docs/info/terminology.mdx b/documentation/docs/info/terminology.mdx index 33b32c57..142b50b2 100644 --- a/documentation/docs/info/terminology.mdx +++ b/documentation/docs/info/terminology.mdx @@ -7,4 +7,4 @@ import { TERMINOLOGY } from '@site/src/constants/terminology.tsx' # Терминология - + diff --git a/documentation/docs/snippets/networks/_Api.mdx b/documentation/docs/snippets/networks/_Api.mdx index d524b402..29dac551 100644 --- a/documentation/docs/snippets/networks/_Api.mdx +++ b/documentation/docs/snippets/networks/_Api.mdx @@ -8,11 +8,11 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' #### Входные параметры
      -
    • `networks[]` - {DICTIONARY.networks.short}
    • +
    • `networks[]` - {DICTIONARY['v1.13.0'].networks.short}
    • `networks[].name` - название подсети.
    • `networks[].network` - объект содержащий CIDR подсети
    • -
    • `networks[].network.CIDR` - {DICTIONARY.cidr.short}
    • -
    • `syncOp` - {DICTIONARY.syncOp.short}
    • +
    • `networks[].network.CIDR` - {DICTIONARY['v1.13.0'].cidr.short}
    • +
    • `syncOp` - {DICTIONARY['v1.13.0'].syncOp.short}
    @@ -65,11 +65,11 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'
    • `networks.networks[].name`: - +
    • `networks.networks[].network.CIDR`: - +
    @@ -114,8 +114,8 @@ curl '127.0.0.1:9007/v1/sync' \

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    diff --git a/documentation/docs/snippets/networks/_TerraformModule.mdx b/documentation/docs/snippets/networks/_TerraformModule.mdx index da3add65..2821425f 100644 --- a/documentation/docs/snippets/networks/_TerraformModule.mdx +++ b/documentation/docs/snippets/networks/_TerraformModule.mdx @@ -3,7 +3,7 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    -

    {DICTIONARY.terraformModule.full}

    +

    {DICTIONARY['v1.13.0'].terraformModule.full}

    @@ -38,11 +38,11 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `name`: - +
    • `cidrs[]`: - +
    diff --git a/documentation/docs/snippets/networks/_TerraformResource.mdx b/documentation/docs/snippets/networks/_TerraformResource.mdx index 4433b3bc..9ab25c50 100644 --- a/documentation/docs/snippets/networks/_TerraformResource.mdx +++ b/documentation/docs/snippets/networks/_TerraformResource.mdx @@ -3,7 +3,7 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    -

    {DICTIONARY.terraformResource.full}

    +

    {DICTIONARY['v1.13.0'].terraformResource.full}

    @@ -39,7 +39,7 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' items.key.cidr да string - {DICTIONARY.cidr.short} + {DICTIONARY['v1.13.0'].cidr.short} @@ -50,19 +50,19 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `items`: - +
    • `items.key`: - +
    • `items.key.name`: - +
    • `items.key.cidr`: - +
    diff --git a/documentation/docs/snippets/s2c-ie/_Api.mdx b/documentation/docs/snippets/s2c-ie/_Api.mdx index 4641fd9c..cf1e6839 100644 --- a/documentation/docs/snippets/s2c-ie/_Api.mdx +++ b/documentation/docs/snippets/s2c-ie/_Api.mdx @@ -11,23 +11,23 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' #### Входные параметры
      -
    • `$node.rules[]` - {DICTIONARY.rules.short}
    • -
    • `$node.rules[].cidr` - {DICTIONARY.cidrSet.short}
    • -
    • `$node.rules[].sg` - {DICTIONARY.sgLocal.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY.log.short}
    • -
    • `$node.rules[].trace` - {DICTIONARY.trace.short}
    • -
    • `$node.rules[].ports` - {DICTIONARY.ports.short}
    • -
    • `$node.rules[].ports[].d` - {DICTIONARY.dstPorts.short}
    • -
    • `$node.rules[].ports[].s` - {DICTIONARY.srcPorts.short}
    • -
    • `$node.rules[].traffic` - {DICTIONARY.traffic.short}
    • -
    • `$node.rules[].transport` - {DICTIONARY.transport.short}
    • -
    • `$node.rules[].ICMP` - {DICTIONARY.apiIcmp.short}
    • -
    • `$node.rules[].ICMP.IPv` - {DICTIONARY.icmpV.short}
    • -
    • `$node.rules[].ICMP.Types` - {DICTIONARY.icmpTypes.short}
    • -
    • `$node.rules[].action` - {DICTIONARY.action.short}
    • -
    • `$node.rules[].priority` - {DICTIONARY.priorityst.short}
    • -
    • `$node.rules[].priority.some` - {DICTIONARY.priority.short}
    • -
    • `syncOp` - {DICTIONARY.syncOp.short}
    • +
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `$node.rules[].cidr` - {DICTIONARY['v1.13.0'].cidrSet.short}
    • +
    • `$node.rules[].sg` - {DICTIONARY['v1.13.0'].sgLocal.short}
    • +
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$node.rules[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$node.rules[].ports` - {DICTIONARY['v1.13.0'].ports.short}
    • +
    • `$node.rules[].ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `$node.rules[].ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `$node.rules[].traffic` - {DICTIONARY['v1.13.0'].traffic.short}
    • +
    • `$node.rules[].transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `$node.rules[].ICMP` - {DICTIONARY['v1.13.0'].apiIcmp.short}
    • +
    • `$node.rules[].ICMP.IPv` - {DICTIONARY['v1.13.0'].icmpV.short}
    • +
    • `$node.rules[].ICMP.Types` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `$node.rules[].action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `$node.rules[].priority` - {DICTIONARY['v1.13.0'].priorityst.short}
    • +
    • `$node.rules[].priority.some` - {DICTIONARY['v1.13.0'].priority.short}
    • +
    • `syncOp` - {DICTIONARY['v1.13.0'].syncOp.short}
    @@ -214,23 +214,23 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'
    • `$node.rules[].SG`: - +
    • `$node.rules[].CIDR`: - +
    • `$node.rules[].ports[].s`: - +
    • `$node.rules[].ports[].d`: - +
    • `$node.rules[].type[]`: - +
    @@ -332,8 +332,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    @@ -459,8 +459,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    @@ -584,8 +584,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    @@ -715,8 +715,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    @@ -760,4 +760,5 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' + diff --git a/documentation/docs/snippets/s2c-ie/_Nftables.mdx b/documentation/docs/snippets/s2c-ie/_Nftables.mdx index 068e3ea6..69f84387 100644 --- a/documentation/docs/snippets/s2c-ie/_Nftables.mdx +++ b/documentation/docs/snippets/s2c-ie/_Nftables.mdx @@ -7,17 +7,17 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' nftables. Это позволяет легко интегрировать сложные правила безопасности прямо в вашу систему фильтрации трафика.
      -
    • `$Trace` - {DICTIONARY.trace.short}
    • -
    • `$SrcCIDR` - {DICTIONARY.srcDstCidr.short}
    • -
    • `$DstCIDR` - {DICTIONARY.srcDstCidr.short}
    • -
    • `$Transport` - {DICTIONARY.transport.short}
    • -
    • `$NftRuleType` - {DICTIONARY.nftRuleType.short}
    • -
    • `$IcmpTypeList` - {DICTIONARY.icmpTypes.short}
    • -
    • `$SrcPorts` - {DICTIONARY.srcPorts.short}
    • -
    • `$DstPorts` - {DICTIONARY.dstPorts.short}
    • -
    • `$NftCounter` - {DICTIONARY.nftCounter.short}
    • -
    • `$Log` - {DICTIONARY.log.short}
    • -
    • `$NftRuleVerdict` - {DICTIONARY.nftRuleVerdict.short}
    • +
    • `$Trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$SrcCIDR` - {DICTIONARY['v1.13.0'].srcDstCidr.short}
    • +
    • `$DstCIDR` - {DICTIONARY['v1.13.0'].srcDstCidr.short}
    • +
    • `$Transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `$NftRuleType` - {DICTIONARY['v1.13.0'].nftRuleType.short}
    • +
    • `$IcmpTypeList` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `$SrcPorts` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `$DstPorts` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `$NftCounter` - {DICTIONARY['v1.13.0'].nftCounter.short}
    • +
    • `$Log` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$NftRuleVerdict` - {DICTIONARY['v1.13.0'].nftRuleVerdict.short}
    diff --git a/documentation/docs/snippets/s2c-ie/_TerraformModule.mdx b/documentation/docs/snippets/s2c-ie/_TerraformModule.mdx index 0f405fcf..5b65c807 100644 --- a/documentation/docs/snippets/s2c-ie/_TerraformModule.mdx +++ b/documentation/docs/snippets/s2c-ie/_TerraformModule.mdx @@ -6,7 +6,7 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    -

    {DICTIONARY.terraformModule.full}

    +

    {DICTIONARY['v1.13.0'].terraformModule.full}

    Далее везде в документе подразумевается что все места, содержащие переменную `$traffic`, могут принять одно из двух @@ -15,19 +15,19 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
      -
    • `rules` - {DICTIONARY.rules.short}
    • -
    • `rules.$traffic[]` - {DICTIONARY.traffic.short}
    • -
    • `rules.$traffic[].cidrSet[]` - {DICTIONARY.cidrSet.short}
    • -
    • `rules.$traffic[].access.$transport` - {DICTIONARY.transport.short}
    • -
    • `rules.$traffic[].access.$transport.action` - {DICTIONARY.action.short}
    • -
    • `rules.$traffic[].access.$transport.priority` - {DICTIONARY.priority.short}
    • -
    • `rules.$traffic[].access.$transport.logs` - {DICTIONARY.log.short}
    • -
    • `rules.$traffic[].access.$transport.trace` - {DICTIONARY.trace.short}
    • -
    • `rules.$traffic[].access.$transport.ports[].description` - {DICTIONARY.description.short}
    • -
    • `rules.$traffic[].access.$transport.ports[].ports_to[]` - {DICTIONARY.dstPorts.short}
    • -
    • `rules.$traffic[].access.$transport.ports[].ports_from[]` - {DICTIONARY.srcPorts.short}
    • -
    • `rules.$traffic[].access.$transport.types[].description` - {DICTIONARY.description.short}
    • -
    • `rules.$traffic[].access.$transport.types[].type[]` - {DICTIONARY.icmpTypes.short}
    • +
    • `rules` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `rules.$traffic[]` - {DICTIONARY['v1.13.0'].traffic.short}
    • +
    • `rules.$traffic[].cidrSet[]` - {DICTIONARY['v1.13.0'].cidrSet.short}
    • +
    • `rules.$traffic[].access.$transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `rules.$traffic[].access.$transport.action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `rules.$traffic[].access.$transport.priority` - {DICTIONARY['v1.13.0'].priority.short}
    • +
    • `rules.$traffic[].access.$transport.logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `rules.$traffic[].access.$transport.trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `rules.$traffic[].access.$transport.ports[].description` - {DICTIONARY['v1.13.0'].description.short}
    • +
    • `rules.$traffic[].access.$transport.ports[].ports_to[]` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `rules.$traffic[].access.$transport.ports[].ports_from[]` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `rules.$traffic[].access.$transport.types[].description` - {DICTIONARY['v1.13.0'].description.short}
    • +
    • `rules.$traffic[].access.$transport.types[].type[]` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    @@ -179,27 +179,27 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `name`: - +
    • `rules.$traffic[].cidrSet`: - +
    • `rules.$traffic[].access.$transport.priority`: - +
    • `rules.$traffic[].access.$transport.ports[].ports_to[]`: - +
    • `rules.$traffic[].access.$transport.ports[].ports_from[]`: - +
    • `rules.$traffic[].access.$transport.types[].type[]`: - +
    diff --git a/documentation/docs/snippets/s2c-ie/_TerraformResource.mdx b/documentation/docs/snippets/s2c-ie/_TerraformResource.mdx index cb5cb22c..74bc13c6 100644 --- a/documentation/docs/snippets/s2c-ie/_TerraformResource.mdx +++ b/documentation/docs/snippets/s2c-ie/_TerraformResource.mdx @@ -5,24 +5,24 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    -

    {DICTIONARY.terraformResource.full}

    +

    {DICTIONARY['v1.13.0'].terraformResource.full}

    • `items` - список ресурсов создаваемые terraform ресурсом.
    • `items.$ruleName` - уникальное имя создаваемого ресурса.
    • -
    • `items.$ruleName.traffic` - {DICTIONARY.traffic.short}
    • -
    • `items.$ruleName.transport` - {DICTIONARY.transport.short}
    • -
    • `items.$ruleName.cidr` - {DICTIONARY.cidrSet.short}
    • -
    • `items.$ruleName.sg_name` - {DICTIONARY.sgLocal.short}
    • -
    • `items.$ruleName.ports` - {DICTIONARY.ports.short}
    • -
    • `items.$ruleName.ports[].d` - {DICTIONARY.dstPorts.short}
    • -
    • `items.$ruleName.ports[].s` - {DICTIONARY.srcPorts.short}
    • -
    • `items.$ruleName.logs` - {DICTIONARY.log.short}
    • -
    • `items.$ruleName.trace` - {DICTIONARY.trace.short}
    • -
    • `items.$ruleName.ip_v` - {DICTIONARY.icmpV.short}
    • -
    • `items.$ruleName.type` - {DICTIONARY.icmpTypes.short}
    • -
    • `items.$ruleName.action` - {DICTIONARY.action.short}
    • -
    • `items.$ruleName.priority` - {DICTIONARY.priority.short}
    • +
    • `items.$ruleName.traffic` - {DICTIONARY['v1.13.0'].traffic.short}
    • +
    • `items.$ruleName.transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `items.$ruleName.cidr` - {DICTIONARY['v1.13.0'].cidrSet.short}
    • +
    • `items.$ruleName.sg_name` - {DICTIONARY['v1.13.0'].sgLocal.short}
    • +
    • `items.$ruleName.ports` - {DICTIONARY['v1.13.0'].ports.short}
    • +
    • `items.$ruleName.ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `items.$ruleName.ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `items.$ruleName.logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `items.$ruleName.trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `items.$ruleName.ip_v` - {DICTIONARY['v1.13.0'].icmpV.short}
    • +
    • `items.$ruleName.type` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `items.$ruleName.action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `items.$ruleName.priority` - {DICTIONARY['v1.13.0'].priority.short}
    @@ -189,38 +189,38 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'

    Ограничения

      -
    • - `items`: - -
    • -
    • - `items.$ruleName`: - -
    • -
    • - `items.$ruleName.sg_name`: - -
    • -
    • - `items.$ruleName.cidr`: - -
    • -
    • - `items.$ruleName.ports[].s`: - -
    • -
    • - `items.$ruleName.ports[].d`: - -
    • -
    • - `items.$ruleName.type[]`: - -
    • -
    • - `items.$ruleName.priority`: - -
    • +
    • + `items`: + +
    • +
    • + `items.$ruleName`: + +
    • +
    • + `items.$ruleName.sg_name`: + +
    • +
    • + `items.$ruleName.cidr`: + +
    • +
    • + `items.$ruleName.ports[].s`: + +
    • +
    • + `items.$ruleName.ports[].d`: + +
    • +
    • + `items.$ruleName.type[]`: + +
    • +
    • + `items.$ruleName.priority`: + +

    Пример использования

    @@ -239,7 +239,6 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'

    Ingress

    - ```hcl resource "sgroups_cidr_rules" "rules" { items = { diff --git a/documentation/docs/snippets/s2f-e/_Api.mdx b/documentation/docs/snippets/s2f-e/_Api.mdx index 22350d03..0c5bc99b 100644 --- a/documentation/docs/snippets/s2f-e/_Api.mdx +++ b/documentation/docs/snippets/s2f-e/_Api.mdx @@ -10,19 +10,19 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' #### Входные параметры
      -
    • `fqdnRules.rules` - {DICTIONARY.rules.short}
    • -
    • `fqdnRules.rules[].FQDN` - {DICTIONARY.fqdn.short}
    • -
    • `fqdnRules.rules[].logs` - {DICTIONARY.log.short}
    • -
    • `fqdnRules.rules[].ports` - {DICTIONARY.trace.short}
    • -
    • `fqdnRules.rules[].ports[].d` - {DICTIONARY.dstPorts.short}
    • -
    • `fqdnRules.rules[].ports[].s` - {DICTIONARY.srcPorts.short}
    • -
    • `fqdnRules.rules[].sgFrom` - {DICTIONARY.sgLocal.short}
    • -
    • `fqdnRules.rules[].transport` - {DICTIONARY.transport.short}
    • -
    • `fqdnRules.rules[].action` - {DICTIONARY.action.short}
    • -
    • `fqdnRules.rules[].priority` - {DICTIONARY.priorityst.short}
    • -
    • `fqdnRules.rules[].priority.some` - {DICTIONARY.priority.short}
    • - {/*
    • `fqdnRules.rules[].protocols` - {DICTIONARY.l7ProtocolList.short}
    • */} -
    • `syncOp` - {DICTIONARY.syncOp.short}
    • +
    • `fqdnRules.rules` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `fqdnRules.rules[].FQDN` - {DICTIONARY['v1.13.0'].fqdn.short}
    • +
    • `fqdnRules.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `fqdnRules.rules[].ports` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `fqdnRules.rules[].ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `fqdnRules.rules[].ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `fqdnRules.rules[].sgFrom` - {DICTIONARY['v1.13.0'].sgLocal.short}
    • +
    • `fqdnRules.rules[].transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `fqdnRules.rules[].action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `fqdnRules.rules[].priority` - {DICTIONARY['v1.13.0'].priorityst.short}
    • +
    • `fqdnRules.rules[].priority.some` - {DICTIONARY['v1.13.0'].priority.short}
    • + {/*
    • `fqdnRules.rules[].protocols` - {DICTIONARY['v1.13.0'].l7ProtocolList.short}
    • */} +
    • `syncOp` - {DICTIONARY['v1.13.0'].syncOp.short}
    @@ -157,23 +157,23 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'
    • `fqdnRules.rules[].FQDN`: - +
    • `fqdnRules.rules[].sgFrom`: - +
    • `fqdnRules.rules[].protocols[]`: - +
    • `fqdnRules.rules[].ports[].ports_to[]`: - +
    • `fqdnRules.rules[].ports[].ports_from[]`: - +
    @@ -263,8 +263,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    @@ -304,4 +304,3 @@ server-->>user: Успешно добавленное новое FQDN прави ``` - diff --git a/documentation/docs/snippets/s2f-e/_TerraformModule.mdx b/documentation/docs/snippets/s2f-e/_TerraformModule.mdx index 2b77d4c5..f01b683f 100644 --- a/documentation/docs/snippets/s2f-e/_TerraformModule.mdx +++ b/documentation/docs/snippets/s2f-e/_TerraformModule.mdx @@ -5,25 +5,25 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    -

    {DICTIONARY.terraformModule.full}

    +

    {DICTIONARY['v1.13.0'].terraformModule.full}

    Далее везде в документе подразумевается что все места, содержащие переменную `$traffic`, могут принять значениe: `Egress`. Аналогчично для `$transport` подразумевается одно из двух значений: `tcp`, `udp`.
      -
    • `rules` - {DICTIONARY.rules.short}
    • -
    • `rules.$traffic[]` - {DICTIONARY.traffic.short}
    • -
    • `rules.$traffic[].fqdnSet[]` - {DICTIONARY.fqdnSet.short}
    • - {/*
    • `rules.$traffic[].access.protocols[]` - {DICTIONARY.l7ProtocolList.short}
    • */} -
    • `rules.$traffic[].access.$transport` - {DICTIONARY.transport.short}
    • -
    • `rules.$traffic[].access.$transport.action` - {DICTIONARY.action.short}
    • -
    • `rules.$traffic[].access.$transport.priority` - {DICTIONARY.priority.short}
    • -
    • `rules.$traffic[].access.$transport.log` - {DICTIONARY.log.short}
    • -
    • `rules.$traffic[].access.$transport.trace` - {DICTIONARY.trace.short}
    • -
    • `rules.$traffic[].access.$transport.ports[].description` - {DICTIONARY.description.short}
    • -
    • `rules.$traffic[].access.$transport.ports[].ports_to[]` - {DICTIONARY.dstPorts.short}
    • -
    • `rules.$traffic[].access.$transport.ports[].ports_from[]` - {DICTIONARY.srcPorts.short}
    • +
    • `rules` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `rules.$traffic[]` - {DICTIONARY['v1.13.0'].traffic.short}
    • +
    • `rules.$traffic[].fqdnSet[]` - {DICTIONARY['v1.13.0'].fqdnSet.short}
    • + {/*
    • `rules.$traffic[].access.protocols[]` - {DICTIONARY['v1.13.0'].l7ProtocolList.short}
    • */} +
    • `rules.$traffic[].access.$transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `rules.$traffic[].access.$transport.action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `rules.$traffic[].access.$transport.priority` - {DICTIONARY['v1.13.0'].priority.short}
    • +
    • `rules.$traffic[].access.$transport.log` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `rules.$traffic[].access.$transport.trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `rules.$traffic[].access.$transport.ports[].description` - {DICTIONARY['v1.13.0'].description.short}
    • +
    • `rules.$traffic[].access.$transport.ports[].ports_to[]` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `rules.$traffic[].access.$transport.ports[].ports_from[]` - {DICTIONARY['v1.13.0'].srcPorts.short}
    @@ -137,27 +137,27 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `name`: - +
    • `rules.$traffic[].fqdnSet`: - +
    • {/*
    • `rules.$traffic[].protocols[]`: - +
    • */}
    • `rules.$traffic[].access.$transport.priority`: - +
    • `rules.$traffic[].access.$transport.ports[].ports_to[]`: - +
    • `rules.$traffic[].access.$transport.ports[].ports_from[]`: - +
    diff --git a/documentation/docs/snippets/s2f-e/_TerraformResource.mdx b/documentation/docs/snippets/s2f-e/_TerraformResource.mdx index 9b7b2426..5ab42605 100644 --- a/documentation/docs/snippets/s2f-e/_TerraformResource.mdx +++ b/documentation/docs/snippets/s2f-e/_TerraformResource.mdx @@ -5,22 +5,22 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    -

    {DICTIONARY.terraformResource.full}

    +

    {DICTIONARY['v1.13.0'].terraformResource.full}

    • `items` - список ресурсов создаваемые terraform ресурсом.
    • `items.$ruleName` - уникальное имя создаваемого ресурса.
    • -
    • `items.$ruleName.transport` - {DICTIONARY.transport.short}
    • -
    • `items.$ruleName.protocols[]` - {DICTIONARY.l7ProtocolList.short}
    • -
    • `items.$ruleName.logs` - {DICTIONARY.log.short}
    • -
    • `items.$ruleName.trace` - {DICTIONARY.trace.short}
    • -
    • `items.$ruleName.sg_from` - {DICTIONARY.sgLocal.short}
    • -
    • `items.$ruleName.fqdn` - {DICTIONARY.fqdn.short}
    • -
    • `items.$ruleName.ports[]` - {DICTIONARY.ports.short}
    • -
    • `items.$ruleName.ports[].s` - {DICTIONARY.srcPorts.short}
    • -
    • `items.$ruleName.ports[].d` - {DICTIONARY.dstPorts.short}
    • -
    • `items.$ruleName.action` - {DICTIONARY.action.short}
    • -
    • `items.$ruleName.priority` - {DICTIONARY.priority.short}
    • +
    • `items.$ruleName.transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `items.$ruleName.protocols[]` - {DICTIONARY['v1.13.0'].l7ProtocolList.short}
    • +
    • `items.$ruleName.logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `items.$ruleName.trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `items.$ruleName.sg_from` - {DICTIONARY['v1.13.0'].sgLocal.short}
    • +
    • `items.$ruleName.fqdn` - {DICTIONARY['v1.13.0'].fqdn.short}
    • +
    • `items.$ruleName.ports[]` - {DICTIONARY['v1.13.0'].ports.short}
    • +
    • `items.$ruleName.ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `items.$ruleName.ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `items.$ruleName.action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `items.$ruleName.priority` - {DICTIONARY['v1.13.0'].priority.short}
    @@ -147,35 +147,35 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `items`: - +
    • `items.$ruleName`: - +
    • `items.$ruleName.protocols[]`: - +
    • `items.$ruleName.sg_from`: - +
    • `items.$ruleName.fqdn`: - +
    • `items.$ruleName.ports[].s`: - +
    • `items.$ruleName.ports[].d`: - +
    • `items.$ruleName.priority`: - +
    diff --git a/documentation/docs/snippets/s2s-ie/_Api.mdx b/documentation/docs/snippets/s2s-ie/_Api.mdx index a13ccd7f..bab68b5a 100644 --- a/documentation/docs/snippets/s2s-ie/_Api.mdx +++ b/documentation/docs/snippets/s2s-ie/_Api.mdx @@ -10,23 +10,23 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' #### Входные параметры
      -
    • `$node.rules[]` - {DICTIONARY.rules.short}
    • -
    • `$node.rules[].Sg` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].SgLocal` - {DICTIONARY.sgLocal.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY.log.short}
    • -
    • `$node.rules[].trace` - {DICTIONARY.trace.short}
    • -
    • `$node.rules[].ports` - {DICTIONARY.ports.short}
    • -
    • `$node.rules[].ports[].d` - {DICTIONARY.dstPorts.short}
    • -
    • `$node.rules[].ports[].s` - {DICTIONARY.srcPorts.short}
    • -
    • `$node.rules[].traffic` - {DICTIONARY.traffic.short}
    • -
    • `$node.rules[].transport` - {DICTIONARY.transport.short}
    • -
    • `$node.rules[].ICMP` - {DICTIONARY.apiIcmp.short}
    • -
    • `$node.rules[].ICMP.IPv` - {DICTIONARY.icmpV.short}
    • -
    • `$node.rules[].ICMP.Types` - {DICTIONARY.icmpTypes.short}
    • -
    • `$node.rules[].action` - {DICTIONARY.action.short}
    • -
    • `$node.rules[].priority` - {DICTIONARY.priorityst.short}
    • -
    • `$node.rules[].priority.some` - {DICTIONARY.priority.short}
    • -
    • `syncOp` - {DICTIONARY.syncOp.short}
    • +
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `$node.rules[].Sg` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].SgLocal` - {DICTIONARY['v1.13.0'].sgLocal.short}
    • +
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$node.rules[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$node.rules[].ports` - {DICTIONARY['v1.13.0'].ports.short}
    • +
    • `$node.rules[].ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `$node.rules[].ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `$node.rules[].traffic` - {DICTIONARY['v1.13.0'].traffic.short}
    • +
    • `$node.rules[].transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `$node.rules[].ICMP` - {DICTIONARY['v1.13.0'].apiIcmp.short}
    • +
    • `$node.rules[].ICMP.IPv` - {DICTIONARY['v1.13.0'].icmpV.short}
    • +
    • `$node.rules[].ICMP.Types` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `$node.rules[].action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `$node.rules[].priority` - {DICTIONARY['v1.13.0'].priorityst.short}
    • +
    • `$node.rules[].priority.some` - {DICTIONARY['v1.13.0'].priority.short}
    • +
    • `syncOp` - {DICTIONARY['v1.13.0'].syncOp.short}
    @@ -213,23 +213,23 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'
    • `sgSgRules.rules[].Sg`: - +
    • `sgSgRules.rules[].SgLocal`: - +
    • `sgSgRules.rules[].ports[].ports_to[]`: - +
    • `sgSgRules.rules[].ports[].ports_from[]`: - +
    • `sgSgRules.rules[].ICMP.Types[]`: - +
    @@ -331,8 +331,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    @@ -458,8 +458,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    @@ -583,8 +583,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    @@ -714,8 +714,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    diff --git a/documentation/docs/snippets/s2s-ie/_Nftables.mdx b/documentation/docs/snippets/s2s-ie/_Nftables.mdx index 25e9860c..c560eaef 100644 --- a/documentation/docs/snippets/s2s-ie/_Nftables.mdx +++ b/documentation/docs/snippets/s2s-ie/_Nftables.mdx @@ -7,17 +7,17 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' nftables. Это позволяет легко интегрировать сложные правила безопасности прямо в вашу систему фильтрации трафика.
      -
    • `$Trace` - {DICTIONARY.trace.short}
    • -
    • `$SrcSgroup` - {DICTIONARY.sg.short}
    • -
    • `$DstGroup` - {DICTIONARY.sg.short}
    • -
    • `$Transport` - {DICTIONARY.transport.short}
    • -
    • `$NftRuleType` - {DICTIONARY.nftRuleType.short}
    • -
    • `$IcmpTypeList` - {DICTIONARY.icmpTypes.short}
    • -
    • `$SrcPorts` - {DICTIONARY.srcPorts.short}
    • -
    • `$DstPorts` - {DICTIONARY.dstPorts.short}
    • -
    • `$NftCounter` - {DICTIONARY.nftCounter.short}
    • -
    • `$Log` - {DICTIONARY.log.short}
    • -
    • `$NftRuleVerdict` - {DICTIONARY.nftRuleVerdict.short}
    • +
    • `$Trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$SrcSgroup` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$DstGroup` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$Transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `$NftRuleType` - {DICTIONARY['v1.13.0'].nftRuleType.short}
    • +
    • `$IcmpTypeList` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `$SrcPorts` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `$DstPorts` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `$NftCounter` - {DICTIONARY['v1.13.0'].nftCounter.short}
    • +
    • `$Log` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$NftRuleVerdict` - {DICTIONARY['v1.13.0'].nftRuleVerdict.short}
    diff --git a/documentation/docs/snippets/s2s-ie/_TerraformModule.mdx b/documentation/docs/snippets/s2s-ie/_TerraformModule.mdx index b7d8eeee..7dc39bd3 100644 --- a/documentation/docs/snippets/s2s-ie/_TerraformModule.mdx +++ b/documentation/docs/snippets/s2s-ie/_TerraformModule.mdx @@ -5,7 +5,7 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    -

    {DICTIONARY.terraformModule.full}

    +

    {DICTIONARY['v1.13.0'].terraformModule.full}

    Далее везде в документе подразумевается что все места, содержащие переменную `$traffic`, могут принять одно из двух @@ -13,19 +13,31 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' `icmpIPv4`, `icmpIPv6`
      -
    • `rules` - {DICTIONARY.rules.short}
    • -
    • `rules.$traffic[]` - {DICTIONARY.traffic.short}
    • -
    • `rules.$traffic[].sgroupSet[]` - {DICTIONARY.sgroupSet.short}
    • -
    • `rules.$traffic[].access.$transport` - {DICTIONARY.transport.short}
    • -
    • `rules.$traffic[].access.$transport.action` - {DICTIONARY.action.short}
    • -
    • `rules.$traffic[].access.$transport.priority` - {DICTIONARY.priority.short}
    • -
    • `rules.$traffic[].access.$transport.log` - {DICTIONARY.log.short}
    • -
    • `rules.$traffic[].access.$transport.trace` - {DICTIONARY.trace.short}
    • -
    • `rules.$traffic[].access.$transport.ports[].description` - {DICTIONARY.description.short}
    • -
    • `rules.$traffic[].access.$transport.ports[].ports_to[]` - {DICTIONARY.dstPorts.short}
    • -
    • `rules.$traffic[].access.$transport.ports[].ports_from[]` - {DICTIONARY.srcPorts.short}
    • -
    • `rules.$traffic[].access.$transport.types[].description` - {DICTIONARY.description.short}
    • -
    • `rules.$traffic[].access.$transport.types[].type[]` - {DICTIONARY.icmpTypes.short}
    • +
    • `rules` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `rules.$traffic[]` - {DICTIONARY['v1.13.0'].traffic.short}
    • +
    • `rules.$traffic[].sgroupSet[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    • +
    • `rules.$traffic[].access.$transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `rules.$traffic[].access.$transport.action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • + `rules.$traffic[].access.$transport.priority` - {DICTIONARY['v1.13.0'].priority.short} +
    • +
    • `rules.$traffic[].access.$transport.log` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `rules.$traffic[].access.$transport.trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • + `rules.$traffic[].access.$transport.ports[].description` - {DICTIONARY['v1.13.0'].description.short} +
    • +
    • + `rules.$traffic[].access.$transport.ports[].ports_to[]` - {DICTIONARY['v1.13.0'].dstPorts.short} +
    • +
    • + `rules.$traffic[].access.$transport.ports[].ports_from[]` - {DICTIONARY['v1.13.0'].srcPorts.short} +
    • +
    • + `rules.$traffic[].access.$transport.types[].description` - {DICTIONARY['v1.13.0'].description.short} +
    • +
    • + `rules.$traffic[].access.$transport.types[].type[]` - {DICTIONARY['v1.13.0'].icmpTypes.short} +
    @@ -176,27 +188,27 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `name`: - +
    • `rules.$traffic[].sgroupSet`: - +
    • `rules.$traffic[].access.$transport.priority`: - +
    • `rules.$traffic[].access.$transport.ports[].ports_to[]`: - +
    • `rules.$traffic[].access.$transport.ports[].ports_from[]`: - +
    • `rules.$traffic[].access.$transport.types[].type[]`: - +
    @@ -419,4 +431,5 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    + diff --git a/documentation/docs/snippets/s2s-ie/_TerraformResource.mdx b/documentation/docs/snippets/s2s-ie/_TerraformResource.mdx index 824d1795..ae02b234 100644 --- a/documentation/docs/snippets/s2s-ie/_TerraformResource.mdx +++ b/documentation/docs/snippets/s2s-ie/_TerraformResource.mdx @@ -5,24 +5,24 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    -

    {DICTIONARY.terraformResource.full}

    +

    {DICTIONARY['v1.13.0'].terraformResource.full}

      -
    • `items` - {DICTIONARY.terraformItems.short}
    • -
    • `items.$ruleName` - {DICTIONARY.terraformRuleName.short}
    • -
    • `items.$ruleName.traffic` - {DICTIONARY.traffic.short}
    • -
    • `items.$ruleName.transport` - {DICTIONARY.transport.short}
    • -
    • `items.$ruleName.sg` - {DICTIONARY.sg.short}
    • -
    • `items.$ruleName.sg_local` - {DICTIONARY.sgLocal.short}
    • -
    • `items.$ruleName.ports` - {DICTIONARY.ports.short}
    • -
    • `items.$ruleName.ports[].d` - {DICTIONARY.dstPorts.short}
    • -
    • `items.$ruleName.ports[].s` - {DICTIONARY.srcPorts.short}
    • -
    • `items.$ruleName.logs` - {DICTIONARY.log.short}
    • -
    • `items.$ruleName.trace` - {DICTIONARY.trace.short}
    • -
    • `items.$ruleName.ip_v` - {DICTIONARY.icmpV.short}
    • -
    • `items.$ruleName.type` - {DICTIONARY.icmpTypes.short}
    • -
    • `items.$ruleName.action` - {DICTIONARY.action.short}
    • -
    • `items.$ruleName.priority` - {DICTIONARY.priority.short}
    • +
    • `items` - {DICTIONARY['v1.13.0'].terraformItems.short}
    • +
    • `items.$ruleName` - {DICTIONARY['v1.13.0'].terraformRuleName.short}
    • +
    • `items.$ruleName.traffic` - {DICTIONARY['v1.13.0'].traffic.short}
    • +
    • `items.$ruleName.transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `items.$ruleName.sg` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `items.$ruleName.sg_local` - {DICTIONARY['v1.13.0'].sgLocal.short}
    • +
    • `items.$ruleName.ports` - {DICTIONARY['v1.13.0'].ports.short}
    • +
    • `items.$ruleName.ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `items.$ruleName.ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `items.$ruleName.logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `items.$ruleName.trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `items.$ruleName.ip_v` - {DICTIONARY['v1.13.0'].icmpV.short}
    • +
    • `items.$ruleName.type` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `items.$ruleName.action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `items.$ruleName.priority` - {DICTIONARY['v1.13.0'].priority.short}
    @@ -191,35 +191,35 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `items`: - +
    • `items.$ruleName`: - +
    • `items.$ruleName.sg`: - +
    • `items.$ruleName.sg_local`: - +
    • `items.$ruleName.ports[].s`: - +
    • `items.$ruleName.ports[].d`: - +
    • `items.$ruleName.type[]`: - +
    • `items.$ruleName.priority`: - +
    diff --git a/documentation/docs/snippets/s2s/_Api.mdx b/documentation/docs/snippets/s2s/_Api.mdx index 07575025..671fc4ec 100644 --- a/documentation/docs/snippets/s2s/_Api.mdx +++ b/documentation/docs/snippets/s2s/_Api.mdx @@ -10,22 +10,22 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' #### Входные параметры
      -
    • `$node.rules[]` - {DICTIONARY.rules.short}
    • -
    • `$node.rules[].sgFrom` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].sgTo` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY.log.short}
    • -
    • `$node.rules[].trace` - {DICTIONARY.trace.short}
    • -
    • `$node.rules[].ports` - {DICTIONARY.ports.short}
    • -
    • `$node.rules[].ports[].d` - {DICTIONARY.dstPorts.short}
    • -
    • `$node.rules[].ports[].s` - {DICTIONARY.srcPorts.short}
    • -
    • `$node.rules[].transport` - {DICTIONARY.transport.short}
    • -
    • `$node.rules[].ICMP` - {DICTIONARY.apiIcmp.short}
    • -
    • `$node.rules[].ICMP.IPv` - {DICTIONARY.icmpV.short}
    • -
    • `$node.rules[].ICMP.Types` - {DICTIONARY.icmpTypes.short}
    • -
    • `$node.rules[].action` - {DICTIONARY.action.short}
    • -
    • `$node.rules[].priority` - {DICTIONARY.priorityst.short}
    • -
    • `$node.rules[].priority.some` - {DICTIONARY.priority.short}
    • -
    • `syncOp` - {DICTIONARY.syncOp.short}
    • +
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `$node.rules[].sgFrom` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].sgTo` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$node.rules[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$node.rules[].ports` - {DICTIONARY['v1.13.0'].ports.short}
    • +
    • `$node.rules[].ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `$node.rules[].ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `$node.rules[].transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `$node.rules[].ICMP` - {DICTIONARY['v1.13.0'].apiIcmp.short}
    • +
    • `$node.rules[].ICMP.IPv` - {DICTIONARY['v1.13.0'].icmpV.short}
    • +
    • `$node.rules[].ICMP.Types` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `$node.rules[].action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `$node.rules[].priority` - {DICTIONARY['v1.13.0'].priorityst.short}
    • +
    • `$node.rules[].priority.some` - {DICTIONARY['v1.13.0'].priority.short}
    • +
    • `syncOp` - {DICTIONARY['v1.13.0'].syncOp.short}
    @@ -203,23 +203,23 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'
    • `sgSgRules.rules[].sgFrom`: - +
    • `sgSgRules.rules[].sgTo`: - +
    • `sgSgRules.rules[].ports[].d`: - +
    • `sgSgRules.rules[].ports[].s`: - +
    • `sgSgRules.rules[].ICMP.Types[]`: - +
    @@ -283,8 +283,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    @@ -371,8 +371,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    @@ -458,8 +458,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    @@ -551,8 +551,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    diff --git a/documentation/docs/snippets/s2s/_Nftables.mdx b/documentation/docs/snippets/s2s/_Nftables.mdx index 299985ed..448ef610 100644 --- a/documentation/docs/snippets/s2s/_Nftables.mdx +++ b/documentation/docs/snippets/s2s/_Nftables.mdx @@ -8,17 +8,17 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts'
      -
    • `$Trace` - {DICTIONARY.trace.short}
    • -
    • `$SrcSgroup` - {DICTIONARY.sg.short}
    • -
    • `$DstGroup` - {DICTIONARY.sg.short}
    • -
    • `$Transport` - {DICTIONARY.transport.short}
    • -
    • `$NftRuleType` - {DICTIONARY.nftRuleType.short}
    • -
    • `$IcmpTypeList` - {DICTIONARY.icmpTypes.short}
    • -
    • `$SrcPorts` - {DICTIONARY.srcPorts.short}
    • -
    • `$DstPorts` - {DICTIONARY.dstPorts.short}
    • -
    • `$NftCounter` - {DICTIONARY.nftCounter.short}
    • -
    • `$Log` - {DICTIONARY.log.short}
    • -
    • `$NftRuleVerdict` - {DICTIONARY.nftRuleVerdict.short}
    • +
    • `$Trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$SrcSgroup` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$DstGroup` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$Transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `$NftRuleType` - {DICTIONARY['v1.13.0'].nftRuleType.short}
    • +
    • `$IcmpTypeList` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `$SrcPorts` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `$DstPorts` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `$NftCounter` - {DICTIONARY['v1.13.0'].nftCounter.short}
    • +
    • `$Log` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$NftRuleVerdict` - {DICTIONARY['v1.13.0'].nftRuleVerdict.short}
    diff --git a/documentation/docs/snippets/s2s/_TerraformModule.mdx b/documentation/docs/snippets/s2s/_TerraformModule.mdx index 37c8849d..64693ba1 100644 --- a/documentation/docs/snippets/s2s/_TerraformModule.mdx +++ b/documentation/docs/snippets/s2s/_TerraformModule.mdx @@ -5,28 +5,38 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    -

    {DICTIONARY.terraformModule.full}

    +

    {DICTIONARY['v1.13.0'].terraformModule.full}

    Далее везде в документе подразумевается что все места, содержащие переменную `$transport` иогут принимать одно из четырех значений: `tcp`, `udp`, `icmpIPv4`, `icmpIPv6`.
      -
    • `rules` - {DICTIONARY.rules.short}
    • +
    • `rules` - {DICTIONARY['v1.13.0'].rules.short}
    • `rules.s2s[]` - Список правил, описывающий сетевое взаимодействие текущей Security Group с внешней Security Group.
    • -
    • `rules.s2s[].sgroupSet[]` - {DICTIONARY.sgroupSet.short}
    • -
    • `rules.s2s[].access.$transport` - {DICTIONARY.transport.short}
    • -
    • `rules.s2s[].access.$transport.action` - {DICTIONARY.action.short}
    • -
    • `rules.s2s[].access.$transport.priority` - {DICTIONARY.priority.short}
    • -
    • `rules.s2s[].access.$transport.log` - {DICTIONARY.log.short}
    • -
    • `rules.s2s[].access.$transport.trace` - {DICTIONARY.trace.short}
    • -
    • `rules.s2s[].access.$transport.ports[].description` - {DICTIONARY.description.short}
    • -
    • `rules.s2s[].access.$transport.ports[].ports_to[]` - {DICTIONARY.dstPorts.short}
    • -
    • `rules.s2s[].access.$transport.ports[].ports_from[]` - {DICTIONARY.srcPorts.short}
    • -
    • `rules.s2s[].access.$transport.types[].description` - {DICTIONARY.description.short}
    • -
    • `rules.s2s[].access.$transport.types[].type[]` - {DICTIONARY.icmpTypes.short}
    • +
    • `rules.s2s[].sgroupSet[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    • +
    • `rules.s2s[].access.$transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `rules.s2s[].access.$transport.action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `rules.s2s[].access.$transport.priority` - {DICTIONARY['v1.13.0'].priority.short}
    • +
    • `rules.s2s[].access.$transport.log` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `rules.s2s[].access.$transport.trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • + `rules.s2s[].access.$transport.ports[].description` - {DICTIONARY['v1.13.0'].description.short} +
    • +
    • + `rules.s2s[].access.$transport.ports[].ports_to[]` - {DICTIONARY['v1.13.0'].dstPorts.short} +
    • +
    • + `rules.s2s[].access.$transport.ports[].ports_from[]` - {DICTIONARY['v1.13.0'].srcPorts.short} +
    • +
    • + `rules.s2s[].access.$transport.types[].description` - {DICTIONARY['v1.13.0'].description.short} +
    • +
    • + `rules.s2s[].access.$transport.types[].type[]` - {DICTIONARY['v1.13.0'].icmpTypes.short} +
    @@ -153,27 +163,27 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `name`: - +
    • `rules.s2s[].sgroupSet`: - +
    • `rules.s2s[].access.$transport.priority`: - +
    • `rules.s2s[].access.$transport.ports[].ports_to[]`: - +
    • `rules.s2s[].access.$transport.ports[].ports_from[]`: - +
    • `rules.s2s[].access.$transport.types[].type[]`: - +
    @@ -281,4 +291,5 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' - 8 ``` + diff --git a/documentation/docs/snippets/s2s/_TerraformResource.mdx b/documentation/docs/snippets/s2s/_TerraformResource.mdx index 3eacb7a2..dfd359ae 100644 --- a/documentation/docs/snippets/s2s/_TerraformResource.mdx +++ b/documentation/docs/snippets/s2s/_TerraformResource.mdx @@ -5,23 +5,23 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    -

    {DICTIONARY.terraformResource.full}

    +

    {DICTIONARY['v1.13.0'].terraformResource.full}

      -
    • `items` - {DICTIONARY.terraformItems.short}
    • -
    • `items.$ruleName` - {DICTIONARY.terraformRuleName.short}
    • -
    • `items.$ruleName.transport` - {DICTIONARY.transport.short}
    • -
    • `items.$ruleName.sg_from` - {DICTIONARY.sg.short}
    • -
    • `items.$ruleName.sg_to` - {DICTIONARY.sg.short}
    • -
    • `items.$ruleName.ports` - {DICTIONARY.ports.short}
    • -
    • `items.$ruleName.ports[].d` - {DICTIONARY.dstPorts.short}
    • -
    • `items.$ruleName.ports[].s` - {DICTIONARY.srcPorts.short}
    • -
    • `items.$ruleName.logs` - {DICTIONARY.log.short}
    • -
    • `items.$ruleName.trace` - {DICTIONARY.trace.short}
    • -
    • `items.$ruleName.ip_v` - {DICTIONARY.icmpV.short}
    • -
    • `items.$ruleName.type` - {DICTIONARY.icmpTypes.short}
    • -
    • `items.$ruleName.action` - {DICTIONARY.action.short}
    • -
    • `items.$ruleName.priority` - {DICTIONARY.priority.short}
    • +
    • `items` - {DICTIONARY['v1.13.0'].terraformItems.short}
    • +
    • `items.$ruleName` - {DICTIONARY['v1.13.0'].terraformRuleName.short}
    • +
    • `items.$ruleName.transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `items.$ruleName.sg_from` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `items.$ruleName.sg_to` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `items.$ruleName.ports` - {DICTIONARY['v1.13.0'].ports.short}
    • +
    • `items.$ruleName.ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `items.$ruleName.ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `items.$ruleName.logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `items.$ruleName.trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `items.$ruleName.ip_v` - {DICTIONARY['v1.13.0'].icmpV.short}
    • +
    • `items.$ruleName.type` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `items.$ruleName.action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `items.$ruleName.priority` - {DICTIONARY['v1.13.0'].priority.short}
    @@ -179,35 +179,35 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `items`: - +
    • `items.$ruleName`: - +
    • `items.$ruleName.sg_from`: - +
    • `items.$ruleName.sg_to`: - +
    • `items.$ruleName.ports[].s`: - +
    • `items.$ruleName.ports[].d`: - +
    • `items.$ruleName.type[]`: - +
    • `items.$ruleName.priority`: - +

    Пример использования

    diff --git a/documentation/docs/snippets/securityGroups/_Api.mdx b/documentation/docs/snippets/securityGroups/_Api.mdx index ca1b4b47..31fbbf72 100644 --- a/documentation/docs/snippets/securityGroups/_Api.mdx +++ b/documentation/docs/snippets/securityGroups/_Api.mdx @@ -12,19 +12,19 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'
    • `groups.grous[]` - Структура, содержащая описание создаваемых Security Group
    • `groups.groups[].defaultAction` - представляет действие по умолчанию в конце цепочек для SG
    • -
    • `groups.groups[].logs` - {DICTIONARY.log.short}
    • -
    • `groups.groups[].name` - {DICTIONARY.sgLocal.short}
    • +
    • `groups.groups[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `groups.groups[].name` - {DICTIONARY['v1.13.0'].sgLocal.short}
    • `groups.groups[].networks` - Имена подсетей
    • -
    • `groups.groups[].trace` - {DICTIONARY.trace.short}
    • -
    • `sgIcmpRules.rules[]` - {DICTIONARY.rules.short}
    • -
    • `sgIcmpRules.rules[].ICMP` - {DICTIONARY.apiIcmp.short}
    • -
    • `sgIcmpRules.rules[].ICMP.IPv` - {DICTIONARY.icmpV.short}
    • -
    • `sgIcmpRules.rules[].ICMP.Types` - {DICTIONARY.icmpTypes.short}
    • -
    • `sgIcmpRules.rules[].Sg` - {DICTIONARY.sgLocal.short}
    • -
    • `sgIcmpRules.rules[].logs` - {DICTIONARY.log.short}
    • -
    • `sgIcmpRules.rules[].trace` - {DICTIONARY.trace.short}
    • -
    • `sgIcmpRules.rules[].action` - {DICTIONARY.action.short}
    • -
    • `syncOp` - {DICTIONARY.syncOp.short}
    • +
    • `groups.groups[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `sgIcmpRules.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `sgIcmpRules.rules[].ICMP` - {DICTIONARY['v1.13.0'].apiIcmp.short}
    • +
    • `sgIcmpRules.rules[].ICMP.IPv` - {DICTIONARY['v1.13.0'].icmpV.short}
    • +
    • `sgIcmpRules.rules[].ICMP.Types` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `sgIcmpRules.rules[].Sg` - {DICTIONARY['v1.13.0'].sgLocal.short}
    • +
    • `sgIcmpRules.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `sgIcmpRules.rules[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `sgIcmpRules.rules[].action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `syncOp` - {DICTIONARY['v1.13.0'].syncOp.short}
    @@ -178,19 +178,19 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'
    • `groups.groups[].name`: - +
    • `groups.groups[].networks[]`: - +
    • `sgIcmpRules.rules[].Sg`: - +
    • `$node.rules[].type[]`: - +
    @@ -243,8 +243,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    @@ -341,8 +341,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + + @@ -384,4 +384,5 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' + diff --git a/documentation/docs/snippets/securityGroups/_Nftables.mdx b/documentation/docs/snippets/securityGroups/_Nftables.mdx index 5fd73d31..609ab4e8 100644 --- a/documentation/docs/snippets/securityGroups/_Nftables.mdx +++ b/documentation/docs/snippets/securityGroups/_Nftables.mdx @@ -6,12 +6,12 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' рамках инструмента nftables, обеспечивая более широкие возможности для управления подсетями и правилами.
      -
    • `$Trace` - {DICTIONARY.trace.short}
    • -
    • `$Transport` - {DICTIONARY.transport.short}
    • -
    • `$TypeList` - {DICTIONARY.icmpTypes.short}
    • -
    • `$Log` - {DICTIONARY.log.short}
    • -
    • `$Counter` - {DICTIONARY.nftCounter.short}
    • -
    • `$Verdict` - {DICTIONARY.nftRuleVerdict.short}
    • +
    • `$Trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$Transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `$TypeList` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `$Log` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$Counter` - {DICTIONARY['v1.13.0'].nftCounter.short}
    • +
    • `$Verdict` - {DICTIONARY['v1.13.0'].nftRuleVerdict.short}
    diff --git a/documentation/docs/snippets/securityGroups/_TerraformModule.mdx b/documentation/docs/snippets/securityGroups/_TerraformModule.mdx index f56dcfc9..61171412 100644 --- a/documentation/docs/snippets/securityGroups/_TerraformModule.mdx +++ b/documentation/docs/snippets/securityGroups/_TerraformModule.mdx @@ -3,7 +3,7 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    -

    {DICTIONARY.terraformModule.full}

    +

    {DICTIONARY['v1.13.0'].terraformModule.full}

    Далее везде в документе подразумевается что все места, содержащие переменную `$transport` подразумевается одно из двух @@ -53,13 +53,13 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' default_rules.access.default.logs - {DICTIONARY.log.short} + {DICTIONARY['v1.13.0'].log.short} Boolean false default_rules.access.default.trace - {DICTIONARY.trace.short} + {DICTIONARY['v1.13.0'].trace.short} Boolean false @@ -84,25 +84,25 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' default_rules.access.$transport.logs - {DICTIONARY.log.short} + {DICTIONARY['v1.13.0'].log.short} Boolean false default_rules.access.$transport.trace - {DICTIONARY.trace.short} + {DICTIONARY['v1.13.0'].trace.short} Boolean false default_rules.access.$transport.type[] - {DICTIONARY.icmpTypes.short} + {DICTIONARY['v1.13.0'].icmpTypes.short} Integer[] [] default_rules.access.$transport.action - {DICTIONARY.action.short} + {DICTIONARY['v1.13.0'].action.short} Enum("ACCEPT", "DROP") `ACCEPT` @@ -115,19 +115,19 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `name`: - +
    • `cidrs[]`: - +
    • `default_rules.access.icmp.type`: - +
    • `default_rules.access.icmp6.type`: - +
    diff --git a/documentation/docs/snippets/securityGroups/_TerraformResource.mdx b/documentation/docs/snippets/securityGroups/_TerraformResource.mdx index f993858f..5c6bf065 100644 --- a/documentation/docs/snippets/securityGroups/_TerraformResource.mdx +++ b/documentation/docs/snippets/securityGroups/_TerraformResource.mdx @@ -3,11 +3,11 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    -

    {DICTIONARY.terraformResource.full}

    +

    {DICTIONARY['v1.13.0'].terraformResource.full}

    Далее везде в документе подразумевается что все места, содержащие переменную `$transport` ( - {DICTIONARY.transport.short}) подразумевается одно из двух значений: `icmp`, `icmp6`. + {DICTIONARY['v1.13.0'].transport.short}) подразумевается одно из двух значений: `icmp`, `icmp6`.
    @@ -52,13 +52,13 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' items.key.logs нет Boolean - {DICTIONARY.log.short} + {DICTIONARY['v1.13.0'].log.short} items.key.trace нет Boolean - {DICTIONARY.trace.short} + {DICTIONARY['v1.13.0'].trace.short} items.key.default_action @@ -81,25 +81,25 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' items.key.$transport.logs нет Boolean - {DICTIONARY.log.short} + {DICTIONARY['v1.13.0'].log.short} items.key.$transport.trace нет Boolean - {DICTIONARY.trace.short} + {DICTIONARY['v1.13.0'].trace.short} items.key.$transport.type[] да String[] - {DICTIONARY.icmpTypes.short} + {DICTIONARY['v1.13.0'].icmpTypes.short} items.key.$transport.action да Enum("ACCEPT", "DROP") - {DICTIONARY.action.short} + {DICTIONARY['v1.13.0'].action.short} @@ -110,27 +110,27 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `items`: - +
    • `items.key`: - +
    • `items.key.name`: - +
    • `items.key.networks`: - +
    • `items.key.icmp.type`: - +
    • `items.key.icmp6.type`: - +
    diff --git a/documentation/docs/tech-docs/sgroups/api/v1/address-sg.mdx b/documentation/docs/tech-docs/sgroups/api/v1/address-sg.mdx index 2600b6aa..839d1db4 100644 --- a/documentation/docs/tech-docs/sgroups/api/v1/address-sg.mdx +++ b/documentation/docs/tech-docs/sgroups/api/v1/address-sg.mdx @@ -20,7 +20,7 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts'
    • - `{address}` - {DICTIONARY.cidr.short} + `{address}` - {DICTIONARY['v1.13.0'].cidr.short}
    @@ -55,11 +55,11 @@ curl '127.0.0.1:9007/v1/10.150.0.224/sg' \

    Выходные параметры

      -
    • `$node.name` - {DICTIONARY.sg.short}
    • -
    • `$node.logs` - {DICTIONARY.log.short}
    • -
    • `$node.trace` - {DICTIONARY.trace.short}
    • -
    • `$node.networks` - {DICTIONARY.networkNames.short}
    • -
    • `$node.defaultAction` - {DICTIONARY.defaultAction.short}
    • +
    • `$node.name` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$node.trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$node.networks` - {DICTIONARY['v1.13.0'].networkNames.short}
    • +
    • `$node.defaultAction` - {DICTIONARY['v1.13.0'].defaultAction.short}
    @@ -109,8 +109,8 @@ curl '127.0.0.1:9007/v1/10.150.0.224/sg' \

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    diff --git a/documentation/docs/tech-docs/sgroups/api/v1/cidr-sg-icmp-rules.mdx b/documentation/docs/tech-docs/sgroups/api/v1/cidr-sg-icmp-rules.mdx index 40c15c0a..e9875ae6 100644 --- a/documentation/docs/tech-docs/sgroups/api/v1/cidr-sg-icmp-rules.mdx +++ b/documentation/docs/tech-docs/sgroups/api/v1/cidr-sg-icmp-rules.mdx @@ -22,7 +22,7 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' #### Входные параметры
      -
    • `sg[]` - {DICTIONARY.sgroupSet.short}
    • +
    • `sg[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    @@ -42,7 +42,7 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' Object[] - +
    @@ -51,7 +51,7 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `sg[]`: - +
    @@ -68,18 +68,18 @@ curl '127.0.0.1:9007/v1/cidr-sg-icmp/rules' \

    Выходные параметры

      -
    • `$node.rules[]` - {DICTIONARY.rules.short}
    • -
    • `$node.rules[].CIDR` - {DICTIONARY.cidr.short}
    • -
    • `$node.rules[].SG` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY.log.short}
    • -
    • `$node.rules[].trace` - {DICTIONARY.trace.short}
    • -
    • `$node.rules[].ICMP` - {DICTIONARY.apiIcmp.short}
    • -
    • `$node.rules[].ICMP.IPv` - {DICTIONARY.icmpV.short}
    • -
    • `$node.rules[].ICMP.Types[]` - {DICTIONARY.icmpTypes.short}
    • -
    • `$node.rules[].traffic` - {DICTIONARY.traffic.short}
    • -
    • `$node.rules[].action` - {DICTIONARY.action.short}
    • -
    • `$node.rules[].priority` - {DICTIONARY.priorityst.short}
    • -
    • `$node.rules[].priority.some` - {DICTIONARY.priority.short}
    • +
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `$node.rules[].CIDR` - {DICTIONARY['v1.13.0'].cidr.short}
    • +
    • `$node.rules[].SG` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$node.rules[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$node.rules[].ICMP` - {DICTIONARY['v1.13.0'].apiIcmp.short}
    • +
    • `$node.rules[].ICMP.IPv` - {DICTIONARY['v1.13.0'].icmpV.short}
    • +
    • `$node.rules[].ICMP.Types[]` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `$node.rules[].traffic` - {DICTIONARY['v1.13.0'].traffic.short}
    • +
    • `$node.rules[].action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `$node.rules[].priority` - {DICTIONARY['v1.13.0'].priorityst.short}
    • +
    • `$node.rules[].priority.some` - {DICTIONARY['v1.13.0'].priority.short}
    @@ -167,7 +167,7 @@ curl '127.0.0.1:9007/v1/cidr-sg-icmp/rules' \

    Возможные ошибки API

    - +

    Диаграмма последовательности

    diff --git a/documentation/docs/tech-docs/sgroups/api/v1/cidr-sg-rules.mdx b/documentation/docs/tech-docs/sgroups/api/v1/cidr-sg-rules.mdx index 25d3a865..bb995a3c 100644 --- a/documentation/docs/tech-docs/sgroups/api/v1/cidr-sg-rules.mdx +++ b/documentation/docs/tech-docs/sgroups/api/v1/cidr-sg-rules.mdx @@ -22,7 +22,7 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' #### Входные параметры
      -
    • `sg[]` - {DICTIONARY.sgroupSet.short}
    • +
    • `sg[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    @@ -42,7 +42,7 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' Object[] - +
    @@ -51,7 +51,7 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `sg[]`: - +
    @@ -68,19 +68,19 @@ curl '127.0.0.1:9007/v1/cidr-sg/rules' \

    Выходные параметры

      -
    • `$node.rules[]` - {DICTIONARY.rules.short}
    • -
    • `$node.rules[].CIDR` - {DICTIONARY.cidr.short}
    • -
    • `$node.rules[].SG` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY.log.short}
    • -
    • `$node.rules[].trace` - {DICTIONARY.trace.short}
    • -
    • `$node.rules[].ports` - {DICTIONARY.ports.short}
    • -
    • `$node.rules[].ports[].d` - {DICTIONARY.dstPorts.short}
    • -
    • `$node.rules[].ports[].s` - {DICTIONARY.srcPorts.short}
    • -
    • `$node.rules[].transport` - {DICTIONARY.transport.short}
    • -
    • `$node.rules[].traffic` - {DICTIONARY.traffic.short}
    • -
    • `$node.rules[].action` - {DICTIONARY.action.short}
    • -
    • `$node.rules[].priority` - {DICTIONARY.priorityst.short}
    • -
    • `$node.rules[].priority.some` - {DICTIONARY.priority.short}
    • +
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `$node.rules[].CIDR` - {DICTIONARY['v1.13.0'].cidr.short}
    • +
    • `$node.rules[].SG` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$node.rules[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$node.rules[].ports` - {DICTIONARY['v1.13.0'].ports.short}
    • +
    • `$node.rules[].ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `$node.rules[].ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `$node.rules[].transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `$node.rules[].traffic` - {DICTIONARY['v1.13.0'].traffic.short}
    • +
    • `$node.rules[].action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `$node.rules[].priority` - {DICTIONARY['v1.13.0'].priorityst.short}
    • +
    • `$node.rules[].priority.some` - {DICTIONARY['v1.13.0'].priority.short}
    @@ -173,7 +173,7 @@ curl '127.0.0.1:9007/v1/cidr-sg/rules' \

    Возможные ошибки API

    - +

    Диаграмма последовательности

    diff --git a/documentation/docs/tech-docs/sgroups/api/v1/fqdn-rules.mdx b/documentation/docs/tech-docs/sgroups/api/v1/fqdn-rules.mdx index ad9bfcb0..1ef1ec2c 100644 --- a/documentation/docs/tech-docs/sgroups/api/v1/fqdn-rules.mdx +++ b/documentation/docs/tech-docs/sgroups/api/v1/fqdn-rules.mdx @@ -22,7 +22,7 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' #### Входные параметры
      -
    • `sgFrom[]` - {DICTIONARY.sgroupSet.short}
    • +
    • `sgFrom[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    @@ -42,7 +42,7 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' Object[] - +
    @@ -51,7 +51,7 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `sgFrom[]`: - +
    @@ -68,18 +68,18 @@ curl '127.0.0.1:9007/v1/fqdn/rules' \

    Выходные параметры

      -
    • `$node.rules[]` - {DICTIONARY.rules.short}
    • -
    • `$node.rules[].FQDN` - {DICTIONARY.fqdn.short}
    • -
    • `$node.rules[].sgFrom` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY.log.short}
    • -
    • `$node.rules[].ports` - {DICTIONARY.ports.short}
    • -
    • `$node.rules[].ports[].d` - {DICTIONARY.dstPorts.short}
    • -
    • `$node.rules[].ports[].s` - {DICTIONARY.srcPorts.short}
    • -
    • `$node.rules[].transport` - {DICTIONARY.transport.short}
    • -
    • `$node.rules[].protocols` - {DICTIONARY.l7ProtocolList.short}
    • -
    • `$node.rules[].action` - {DICTIONARY.action.short}
    • -
    • `$node.rules[].priority` - {DICTIONARY.priorityst.short}
    • -
    • `$node.rules[].priority.some` - {DICTIONARY.priority.short}
    • +
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `$node.rules[].FQDN` - {DICTIONARY['v1.13.0'].fqdn.short}
    • +
    • `$node.rules[].sgFrom` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$node.rules[].ports` - {DICTIONARY['v1.13.0'].ports.short}
    • +
    • `$node.rules[].ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `$node.rules[].ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `$node.rules[].transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `$node.rules[].protocols` - {DICTIONARY['v1.13.0'].l7ProtocolList.short}
    • +
    • `$node.rules[].action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `$node.rules[].priority` - {DICTIONARY['v1.13.0'].priorityst.short}
    • +
    • `$node.rules[].priority.some` - {DICTIONARY['v1.13.0'].priority.short}
    @@ -167,8 +167,8 @@ curl '127.0.0.1:9007/v1/fqdn/rules' \

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    diff --git a/documentation/docs/tech-docs/sgroups/api/v1/ie-sg-sg-icmp-rules.mdx b/documentation/docs/tech-docs/sgroups/api/v1/ie-sg-sg-icmp-rules.mdx index 4beecf57..39312cdc 100644 --- a/documentation/docs/tech-docs/sgroups/api/v1/ie-sg-sg-icmp-rules.mdx +++ b/documentation/docs/tech-docs/sgroups/api/v1/ie-sg-sg-icmp-rules.mdx @@ -21,8 +21,8 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' #### Входные параметры
      -
    • `Sg[]` - {DICTIONARY.sgroupSet.short}
    • -
    • `SgLocal[]` - {DICTIONARY.sgroupSet.short}
    • +
    • `Sg[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    • +
    • `SgLocal[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    @@ -66,18 +66,18 @@ curl '127.0.0.1:9007/v1/ie-sg-sg-icmp/rules' \

    Выходные параметры

      -
    • `$node.rules[]` - {DICTIONARY.rules.short}
    • -
    • `$node.rules[].Sg` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].SgLocal` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY.log.short}
    • -
    • `$node.rules[].trace` - {DICTIONARY.trace.short}
    • -
    • `$node.rules[].ICMP` - {DICTIONARY.apiIcmp.short}
    • -
    • `$node.rules[].ICMP.IPv` - {DICTIONARY.icmpV.short}
    • -
    • `$node.rules[].ICMP.Types[]` - {DICTIONARY.icmpTypes.short}
    • -
    • `$node.rules[].traffic` - {DICTIONARY.traffic.short}
    • -
    • `$node.rules[].action` - {DICTIONARY.action.short}
    • -
    • `$node.rules[].priority` - {DICTIONARY.priorityst.short}
    • -
    • `$node.rules[].priority.some` - {DICTIONARY.priority.short}
    • +
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `$node.rules[].Sg` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].SgLocal` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$node.rules[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$node.rules[].ICMP` - {DICTIONARY['v1.13.0'].apiIcmp.short}
    • +
    • `$node.rules[].ICMP.IPv` - {DICTIONARY['v1.13.0'].icmpV.short}
    • +
    • `$node.rules[].ICMP.Types[]` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `$node.rules[].traffic` - {DICTIONARY['v1.13.0'].traffic.short}
    • +
    • `$node.rules[].action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `$node.rules[].priority` - {DICTIONARY['v1.13.0'].priorityst.short}
    • +
    • `$node.rules[].priority.some` - {DICTIONARY['v1.13.0'].priority.short}
    @@ -165,7 +165,7 @@ curl '127.0.0.1:9007/v1/ie-sg-sg-icmp/rules' \

    Возможные ошибки API

    - +

    Диаграмма последовательности

    diff --git a/documentation/docs/tech-docs/sgroups/api/v1/ie-sg-sg-rules.mdx b/documentation/docs/tech-docs/sgroups/api/v1/ie-sg-sg-rules.mdx index 299c7842..2052b94c 100644 --- a/documentation/docs/tech-docs/sgroups/api/v1/ie-sg-sg-rules.mdx +++ b/documentation/docs/tech-docs/sgroups/api/v1/ie-sg-sg-rules.mdx @@ -21,8 +21,8 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' #### Входные параметры
      -
    • `Sg[]` - {DICTIONARY.sgroupSet.short}
    • -
    • `SgLocal[]` - {DICTIONARY.sgroupSet.short}
    • +
    • `Sg[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    • +
    • `SgLocal[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    @@ -66,19 +66,19 @@ curl '127.0.0.1:9007/v1/ie-sg-sg/rules' \

    Выходные параметры

      -
    • `$node.rules[]` - {DICTIONARY.rules.short}
    • -
    • `$node.rules[].Sg` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].SgLocal` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY.log.short}
    • -
    • `$node.rules[].trace` - {DICTIONARY.trace.short}
    • -
    • `$node.rules[].ports` - {DICTIONARY.ports.short}
    • -
    • `$node.rules[].ports[].d` - {DICTIONARY.dstPorts.short}
    • -
    • `$node.rules[].ports[].s` - {DICTIONARY.srcPorts.short}
    • -
    • `$node.rules[].traffic` - {DICTIONARY.traffic.short}
    • -
    • `$node.rules[].transport` - {DICTIONARY.transport.short}
    • -
    • `$node.rules[].action` - {DICTIONARY.action.short}
    • -
    • `$node.rules[].priority` - {DICTIONARY.priorityst.short}
    • -
    • `$node.rules[].priority.some` - {DICTIONARY.priority.short}
    • +
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `$node.rules[].Sg` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].SgLocal` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$node.rules[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$node.rules[].ports` - {DICTIONARY['v1.13.0'].ports.short}
    • +
    • `$node.rules[].ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `$node.rules[].ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `$node.rules[].traffic` - {DICTIONARY['v1.13.0'].traffic.short}
    • +
    • `$node.rules[].transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `$node.rules[].action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `$node.rules[].priority` - {DICTIONARY['v1.13.0'].priorityst.short}
    • +
    • `$node.rules[].priority.some` - {DICTIONARY['v1.13.0'].priority.short}
    @@ -171,7 +171,7 @@ curl '127.0.0.1:9007/v1/ie-sg-sg/rules' \

    Возможные ошибки API

    - +

    Диаграмма последовательности

    diff --git a/documentation/docs/tech-docs/sgroups/api/v1/networks.mdx b/documentation/docs/tech-docs/sgroups/api/v1/networks.mdx index fdb0135a..f1d6c2f9 100644 --- a/documentation/docs/tech-docs/sgroups/api/v1/networks.mdx +++ b/documentation/docs/tech-docs/sgroups/api/v1/networks.mdx @@ -20,7 +20,7 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' #### Входные параметры
      -
    • `neteworkNames[]` - {DICTIONARY.networkNames.short}
    • +
    • `neteworkNames[]` - {DICTIONARY['v1.13.0'].networkNames.short}
    @@ -57,10 +57,10 @@ curl '127.0.0.1:9007/v1/list/networks' \

    Выходные параметры

      -
    • `$node.networks[]` - {DICTIONARY.rules.short}
    • -
    • `$node.networks[].name` - {DICTIONARY.nw.short}
    • -
    • `$node.networks[].network` - {DICTIONARY.networkObject.short}
    • -
    • `$node.networks[].network.CIDR` - {DICTIONARY.networks.short}
    • +
    • `$node.networks[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `$node.networks[].name` - {DICTIONARY['v1.13.0'].nw.short}
    • +
    • `$node.networks[].network` - {DICTIONARY['v1.13.0'].networkObject.short}
    • +
    • `$node.networks[].network.CIDR` - {DICTIONARY['v1.13.0'].networks.short}
    @@ -107,8 +107,8 @@ curl '127.0.0.1:9007/v1/list/networks' \

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    diff --git a/documentation/docs/tech-docs/sgroups/api/v1/rules.mdx b/documentation/docs/tech-docs/sgroups/api/v1/rules.mdx index 1bfdbec5..05e8a901 100644 --- a/documentation/docs/tech-docs/sgroups/api/v1/rules.mdx +++ b/documentation/docs/tech-docs/sgroups/api/v1/rules.mdx @@ -21,8 +21,8 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' #### Входные параметры
      -
    • `sgFrom[]` - {DICTIONARY.sgroupSet.short}
    • -
    • `sgTo[]` - {DICTIONARY.sgroupSet.short}
    • +
    • `sgFrom[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    • +
    • `sgTo[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    @@ -66,17 +66,17 @@ curl '127.0.0.1:9007/v1/rules' \

    Выходные параметры

      -
    • `$node.rules[]` - {DICTIONARY.rules.short}
    • -
    • `$node.rules[].sgFrom` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].sgTo` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY.log.short}
    • -
    • `$node.rules[].ports` - {DICTIONARY.ports.short}
    • -
    • `$node.rules[].ports[].d` - {DICTIONARY.dstPorts.short}
    • -
    • `$node.rules[].ports[].s` - {DICTIONARY.srcPorts.short}
    • -
    • `$node.rules[].transport` - {DICTIONARY.transport.short}
    • -
    • `$node.rules[].action` - {DICTIONARY.action.short}
    • -
    • `$node.rules[].priority` - {DICTIONARY.priorityst.short}
    • -
    • `$node.rules[].priority.some` - {DICTIONARY.priority.short}
    • +
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `$node.rules[].sgFrom` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].sgTo` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$node.rules[].ports` - {DICTIONARY['v1.13.0'].ports.short}
    • +
    • `$node.rules[].ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `$node.rules[].ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `$node.rules[].transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `$node.rules[].action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `$node.rules[].priority` - {DICTIONARY['v1.13.0'].priorityst.short}
    • +
    • `$node.rules[].priority.some` - {DICTIONARY['v1.13.0'].priority.short}
    @@ -159,8 +159,8 @@ curl '127.0.0.1:9007/v1/rules' \

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    diff --git a/documentation/docs/tech-docs/sgroups/api/v1/security-groups.mdx b/documentation/docs/tech-docs/sgroups/api/v1/security-groups.mdx index 562d9741..1ce08409 100644 --- a/documentation/docs/tech-docs/sgroups/api/v1/security-groups.mdx +++ b/documentation/docs/tech-docs/sgroups/api/v1/security-groups.mdx @@ -22,7 +22,7 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' #### Входные параметры
      -
    • `sgNames[]` - {DICTIONARY.sgroupSet.short}
    • +
    • `sgNames[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    @@ -59,12 +59,12 @@ curl '127.0.0.1:9007/v1/list/security-groups' \

    Выходные параметры

      -
    • `$node.groups[]` - {DICTIONARY.rules.short}
    • -
    • `$node.groups[].name` - {DICTIONARY.sg.short}
    • -
    • `$node.groups[].logs` - {DICTIONARY.log.short}
    • -
    • `$node.groups[].trace` - {DICTIONARY.trace.short}
    • -
    • `$node.groups[].networks` - {DICTIONARY.networks.short}
    • -
    • `$node.groups[].defaultAction` - {DICTIONARY.apiIcmp.short}
    • +
    • `$node.groups[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `$node.groups[].name` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.groups[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$node.groups[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$node.groups[].networks` - {DICTIONARY['v1.13.0'].networks.short}
    • +
    • `$node.groups[].defaultAction` - {DICTIONARY['v1.13.0'].apiIcmp.short}
    @@ -120,7 +120,7 @@ curl '127.0.0.1:9007/v1/list/security-groups' \

    Возможные ошибки API

    - +

    Диаграмма последовательности

    diff --git a/documentation/docs/tech-docs/sgroups/api/v1/sg-icmp-rules.mdx b/documentation/docs/tech-docs/sgroups/api/v1/sg-icmp-rules.mdx index b9f479c0..172d4166 100644 --- a/documentation/docs/tech-docs/sgroups/api/v1/sg-icmp-rules.mdx +++ b/documentation/docs/tech-docs/sgroups/api/v1/sg-icmp-rules.mdx @@ -20,7 +20,7 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' #### Входные параметры
      -
    • `sg[]` - {DICTIONARY.sgroupSet.short}
    • +
    • `sg[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    @@ -57,14 +57,14 @@ curl '127.0.0.1:9007/v1/sg-icmp/rules' \

    Выходные параметры

      -
    • `$node.rules[]` - {DICTIONARY.rules.short}
    • -
    • `$node.rules[].Sg` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY.log.short}
    • -
    • `$node.rules[].trace` - {DICTIONARY.trace.short}
    • -
    • `$node.rules[].ICMP` - {DICTIONARY.apiIcmp.short}
    • -
    • `$node.rules[].ICMP.IPv` - {DICTIONARY.icmpV.short}
    • -
    • `$node.rules[].ICMP.Types[]` - {DICTIONARY.icmpTypes.short}
    • -
    • `$node.rules[].action` - {DICTIONARY.action.short}
    • +
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `$node.rules[].Sg` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$node.rules[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$node.rules[].ICMP` - {DICTIONARY['v1.13.0'].apiIcmp.short}
    • +
    • `$node.rules[].ICMP.IPv` - {DICTIONARY['v1.13.0'].icmpV.short}
    • +
    • `$node.rules[].ICMP.Types[]` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `$node.rules[].action` - {DICTIONARY['v1.13.0'].action.short}
    @@ -131,8 +131,8 @@ curl '127.0.0.1:9007/v1/sg-icmp/rules' \

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    diff --git a/documentation/docs/tech-docs/sgroups/api/v1/sg-sg-icmp-rules.mdx b/documentation/docs/tech-docs/sgroups/api/v1/sg-sg-icmp-rules.mdx index 54e11a70..81169b49 100644 --- a/documentation/docs/tech-docs/sgroups/api/v1/sg-sg-icmp-rules.mdx +++ b/documentation/docs/tech-docs/sgroups/api/v1/sg-sg-icmp-rules.mdx @@ -21,8 +21,8 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' #### Входные параметры
      -
    • `sgFrom[]` - {DICTIONARY.sgroupSet.short}
    • -
    • `sgTo[]` - {DICTIONARY.sgroupSet.short}
    • +
    • `sgFrom[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    • +
    • `sgTo[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    @@ -66,17 +66,17 @@ curl '127.0.0.1:9007/v1/sg-sg-icmp/rules' \

    Выходные параметры

      -
    • `$node.rules[]` - {DICTIONARY.rules.short}
    • -
    • `$node.rules[].SgFrom` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].SgTo` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY.log.short}
    • -
    • `$node.rules[].trace` - {DICTIONARY.trace.short}
    • -
    • `$node.rules[].ICMP` - {DICTIONARY.apiIcmp.short}
    • -
    • `$node.rules[].ICMP.IPv` - {DICTIONARY.icmpV.short}
    • -
    • `$node.rules[].ICMP.Types[]` - {DICTIONARY.icmpTypes.short}
    • -
    • `$node.rules[].action` - {DICTIONARY.action.short}
    • -
    • `$node.rules[].priority` - {DICTIONARY.priorityst.short}
    • -
    • `$node.rules[].priority.some` - {DICTIONARY.priority.short}
    • +
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `$node.rules[].SgFrom` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].SgTo` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$node.rules[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$node.rules[].ICMP` - {DICTIONARY['v1.13.0'].apiIcmp.short}
    • +
    • `$node.rules[].ICMP.IPv` - {DICTIONARY['v1.13.0'].icmpV.short}
    • +
    • `$node.rules[].ICMP.Types[]` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `$node.rules[].action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `$node.rules[].priority` - {DICTIONARY['v1.13.0'].priorityst.short}
    • +
    • `$node.rules[].priority.some` - {DICTIONARY['v1.13.0'].priority.short}
    @@ -159,8 +159,8 @@ curl '127.0.0.1:9007/v1/sg-sg-icmp/rules' \

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    diff --git a/documentation/docs/tech-docs/sgroups/api/v1/status.mdx b/documentation/docs/tech-docs/sgroups/api/v1/status.mdx index 55566960..6be6451c 100644 --- a/documentation/docs/tech-docs/sgroups/api/v1/status.mdx +++ b/documentation/docs/tech-docs/sgroups/api/v1/status.mdx @@ -56,7 +56,7 @@ curl '127.0.0.1:9007/v1/sync/status' \

    Возможные ошибки API

    - +

    Диаграмма последовательности

    diff --git a/documentation/docs/tech-docs/sgroups/api/v1/subnets.mdx b/documentation/docs/tech-docs/sgroups/api/v1/subnets.mdx index d79425f4..c67470ab 100644 --- a/documentation/docs/tech-docs/sgroups/api/v1/subnets.mdx +++ b/documentation/docs/tech-docs/sgroups/api/v1/subnets.mdx @@ -19,7 +19,7 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts'
    • - `{sgName}` - {DICTIONARY.sg.short} + `{sgName}` - {DICTIONARY['v1.13.0'].sg.short}
    @@ -54,10 +54,10 @@ curl '127.0.0.1:9007/v1/sg/sg-example/subnets' \

    Выходные параметры

      -
    • `$node.networks[]` - {DICTIONARY.networkNames.short}
    • -
    • `$node.networks[].name` - {DICTIONARY.nw.short}
    • -
    • `$node.networks[].network` - {DICTIONARY.networkObject.short}
    • -
    • `$node.networks[].network.CIDR` - {DICTIONARY.cidr.short}
    • +
    • `$node.networks[]` - {DICTIONARY['v1.13.0'].networkNames.short}
    • +
    • `$node.networks[].name` - {DICTIONARY['v1.13.0'].nw.short}
    • +
    • `$node.networks[].network` - {DICTIONARY['v1.13.0'].networkObject.short}
    • +
    • `$node.networks[].network.CIDR` - {DICTIONARY['v1.13.0'].cidr.short}
    @@ -104,8 +104,8 @@ curl '127.0.0.1:9007/v1/sg/sg-example/subnets' \

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    diff --git a/documentation/src/constants/dictionary.ts b/documentation/src/constants/dictionary.ts index 049a4343..3cf4d711 100644 --- a/documentation/src/constants/dictionary.ts +++ b/documentation/src/constants/dictionary.ts @@ -1,194 +1,196 @@ -import { TDictionary } from '../customTypes/dictionary' - -export const DICTIONARY: TDictionary = { - syncOp: { - short: 'Поле определяющее действие с данными из запроса.', - full: '', - }, - - traffic: { - short: 'Поле описывающий направление трафика.', - full: '', - }, - - transport: { - short: 'Протокол L3/L4 уровня модели OSI.', - full: '', - }, - - log: { - short: 'Включить/отключить логирование.', - full: '', - }, - - trace: { - short: 'Включить/отключить трассировку.', - full: '', - }, - - ports: { - short: 'Блок описывающий набор пар портов (src-dst).', - full: '', - }, - - srcPorts: { - short: 'Набор открытых портов отправителя.', - full: '', - }, - - dstPorts: { - short: 'Набор открытых портов получателя', - full: '', - }, - - apiIcmp: { - short: 'Структура, содержащая описание создаваемых правил типа ICMP.', - full: '', - }, - - icmpV: { - short: 'Версия IP для ICMP (IPv4 или IPv6).', - full: '', - }, - - icmpTypes: { - short: 'Список, определяющий допустимые типы ICMP запросов.', - full: '', - }, - - sgroupSet: { - short: 'Список, содержащий названия Security Group(s).', - full: '', - }, - - sg: { - short: 'Security Group, с которой устанавливаются правила взаимодействия.', - full: '', - }, - - sgLocal: { - short: 'Security Group относительно которой рассматриваются правила.', - full: '', - }, - - description: { - short: 'Формальное текстовое описание.', - full: '', - }, - - rules: { - short: 'Структура, содержащая описание создаваемых правил.', - full: '', - }, - - nftRuleType: { - short: 'Характеристика описывающая, что принимается трафик типа ip.', - full: '', - }, - - nftCounter: { - short: 'Счетчик количества байтов и пакетов.', - full: '', - }, - - nftRuleVerdict: { - short: 'Результат применения правила, определяющий действие, которое будет применено к пакету.', - full: '', - }, - - terraformModule: { - short: '', - full: `Terraform module представляет собой высокоуровневую абстракцию над terraform resources, которая +import { TVersionedDictionary } from '@site/src/customTypes/dictionary' + +export const DICTIONARY: TVersionedDictionary = { + 'v1.13.0': { + syncOp: { + short: 'Поле определяющее действие с данными из запроса.', + full: '', + }, + + traffic: { + short: 'Поле описывающий направление трафика.', + full: '', + }, + + transport: { + short: 'Протокол L3/L4 уровня модели OSI.', + full: '', + }, + + log: { + short: 'Включить/отключить логирование.', + full: '', + }, + + trace: { + short: 'Включить/отключить трассировку.', + full: '', + }, + + ports: { + short: 'Блок описывающий набор пар портов (src-dst).', + full: '', + }, + + srcPorts: { + short: 'Набор открытых портов отправителя.', + full: '', + }, + + dstPorts: { + short: 'Набор открытых портов получателя', + full: '', + }, + + apiIcmp: { + short: 'Структура, содержащая описание создаваемых правил типа ICMP.', + full: '', + }, + + icmpV: { + short: 'Версия IP для ICMP (IPv4 или IPv6).', + full: '', + }, + + icmpTypes: { + short: 'Список, определяющий допустимые типы ICMP запросов.', + full: '', + }, + + sgroupSet: { + short: 'Список, содержащий названия Security Group(s).', + full: '', + }, + + sg: { + short: 'Security Group, с которой устанавливаются правила взаимодействия.', + full: '', + }, + + sgLocal: { + short: 'Security Group относительно которой рассматриваются правила.', + full: '', + }, + + description: { + short: 'Формальное текстовое описание.', + full: '', + }, + + rules: { + short: 'Структура, содержащая описание создаваемых правил.', + full: '', + }, + + nftRuleType: { + short: 'Характеристика описывающая, что принимается трафик типа ip.', + full: '', + }, + + nftCounter: { + short: 'Счетчик количества байтов и пакетов.', + full: '', + }, + + nftRuleVerdict: { + short: 'Результат применения правила, определяющий действие, которое будет применено к пакету.', + full: '', + }, + + terraformModule: { + short: '', + full: `Terraform module представляет собой высокоуровневую абстракцию над terraform resources, которая упрощает работу с ресурсами Terraform, скрывая сложность их непосредственного использования. Он предлагает простой и понятный интерфейс для взаимодействия, позволяя пользователям легко интегрироваться и управлять компонентами инфраструктуры без необходимости глубоко погружаться в детали каждого ресурса.`, - }, + }, - terraformResource: { - short: '', - full: `Terraform resource является ключевым элементом в Terraform, предназначенным для управления различными + terraformResource: { + short: '', + full: `Terraform resource является ключевым элементом в Terraform, предназначенным для управления различными аспектами инфраструктуры через код. Он позволяет задавать, настраивать и управлять инфраструктурными компонентами без привязки к их конкретным типам, обеспечивая автоматизацию развертывания и поддержки инфраструктуры согласно подходу Infrastructure as Code (IaC).`, - }, - - cidrSet: { - short: 'Список, содержащий подсети типа IP.', - full: '', - }, - - fqdnSet: { - short: 'Список, содержащий FQDN записи.', - full: '', - }, - - fqdn: { - short: 'Полное доменное имя (FQDN), для которого применяется данное правило.', - full: '', - }, - - l7ProtocolList: { - short: 'Список протоколов L7 уровня модели OSI.', - full: '', - }, - - networks: { - short: 'Массив/Список подсетей типа IP.', - full: '', - }, - - nw: { - short: 'Имя подсети', - full: '', - }, - - networkNames: { - short: 'Массив/Список имен подсетей', - full: '', - }, - - networkObject: { - short: 'Структура, содержащая описание сети', - full: '', - }, - - cidr: { - short: 'Подсеть типа IP.', - full: '', - }, - - srcDstCidr: { - short: 'CIDR, с которой устанавливаются правила взаимодействия.', - full: '', - }, - - terraformItems: { - short: 'Список ресурсов создаваемые terraform ресурсом.', - full: '', - }, - - terraformRuleName: { - short: 'Уникальное имя создаваемого ресурса.', - full: '', - }, - - defaultAction: { - short: 'Действие по умолчанию.', - full: '', - }, - - action: { - short: 'Действие для пакетов в сформированных правил в цепочке.', - full: '', - }, - - priority: { - short: 'Поле определяющее порядок применения правил в цепочке.', - full: '', - }, - - priorityst: { - short: 'Структура, содержащая описание порядка применения правил в цепочке.', - full: '', + }, + + cidrSet: { + short: 'Список, содержащий подсети типа IP.', + full: '', + }, + + fqdnSet: { + short: 'Список, содержащий FQDN записи.', + full: '', + }, + + fqdn: { + short: 'Полное доменное имя (FQDN), для которого применяется данное правило.', + full: '', + }, + + l7ProtocolList: { + short: 'Список протоколов L7 уровня модели OSI.', + full: '', + }, + + networks: { + short: 'Массив/Список подсетей типа IP.', + full: '', + }, + + nw: { + short: 'Имя подсети', + full: '', + }, + + networkNames: { + short: 'Массив/Список имен подсетей', + full: '', + }, + + networkObject: { + short: 'Структура, содержащая описание сети', + full: '', + }, + + cidr: { + short: 'Подсеть типа IP.', + full: '', + }, + + srcDstCidr: { + short: 'CIDR, с которой устанавливаются правила взаимодействия.', + full: '', + }, + + terraformItems: { + short: 'Список ресурсов создаваемые terraform ресурсом.', + full: '', + }, + + terraformRuleName: { + short: 'Уникальное имя создаваемого ресурса.', + full: '', + }, + + defaultAction: { + short: 'Действие по умолчанию.', + full: '', + }, + + action: { + short: 'Действие для пакетов в сформированных правил в цепочке.', + full: '', + }, + + priority: { + short: 'Поле определяющее порядок применения правил в цепочке.', + full: '', + }, + + priorityst: { + short: 'Структура, содержащая описание порядка применения правил в цепочке.', + full: '', + }, }, } diff --git a/documentation/src/constants/errorCodes.tsx b/documentation/src/constants/errorCodes.tsx index 9ed5f5d5..0e977aeb 100644 --- a/documentation/src/constants/errorCodes.tsx +++ b/documentation/src/constants/errorCodes.tsx @@ -1,108 +1,110 @@ -import { TRespondsCodes } from '../customTypes/errorCodes' +import { TVersionedResponseCodes } from '@site/src/customTypes/errorCodes' -export const RESPOND_CODES: TRespondsCodes = { - ok: { - grpcCode: 'OK', - httpCode: '', - grpcNumber: '0', - description: 'Успешный ответ', - }, - cancelled: { - grpcCode: 'CANCELLED', - httpCode: '', - grpcNumber: '1', - description: 'Операция была отменена', - }, +export const RESPOND_CODES: TVersionedResponseCodes = { + 'v1.13.0': { + ok: { + grpcCode: 'OK', + httpCode: '', + grpcNumber: '0', + description: 'Успешный ответ', + }, + cancelled: { + grpcCode: 'CANCELLED', + httpCode: '', + grpcNumber: '1', + description: 'Операция была отменена', + }, - unknown: { - grpcCode: 'UNKNOWN', - httpCode: '', - grpcNumber: '2', - description: 'Неизвественая ошибка', - }, + unknown: { + grpcCode: 'UNKNOWN', + httpCode: '', + grpcNumber: '2', + description: 'Неизвественая ошибка', + }, - invalid_argument: { - grpcCode: 'INVALID_ARGUMENT', - httpCode: '400', - grpcNumber: '3', - description: 'Пользователь указал некорректные значения агрументов', - }, - deadline_exceeded: { - grpcCode: 'DEADLINE_EXCEEDED', - httpCode: '', - grpcNumber: '4', - description: 'Запрос не успел вовремя обработать информацию', - }, - not_found: { - grpcCode: 'NOT_FOUND', - httpCode: '404', - grpcNumber: '5', - description: 'Не найден метод', - }, - already_exists: { - grpcCode: 'ALREADY_EXISTS', - httpCode: '', - grpcNumber: '6', - description: 'Данный объект уже существует', - }, - permition_denied: { - grpcCode: 'PERMISSION_DENIED', - httpCode: '', - grpcNumber: '7', - description: 'Доступ запрещен', - }, - resource_exhausted: { - grpcCode: 'RESOURCE_EXHAUSTED', - httpCode: '', - grpcNumber: '8', - description: 'Недостаточно места для добавления информации', - }, - failed_precondition: { - grpcCode: 'FAILED_PRECONDITION', - httpCode: '', - grpcNumber: '9', - description: 'Не выболнены усполовия предварительного запроса', - }, - aborted: { - grpcCode: 'ABORTED', - httpCode: '', - grpcNumber: '10', - description: 'Операция была отменена', - }, - out_of_range: { - grpcCode: 'OUT_OF_RANGE', - httpCode: '', - grpcNumber: '11', - description: 'Операция превысила допустимое значение', - }, - unimplemented: { - grpcCode: 'UNIMPLEMENTED', - httpCode: '', - grpcNumber: '12', - description: 'Данная операциия не поддерживается или не была реализована', - }, - internal: { - grpcCode: 'INTERNAL', - httpCode: '500', - grpcNumber: '13', - description: 'Ошибка в указанных данных', - }, - unavailable: { - grpcCode: 'UNAVAILABLE', - httpCode: '', - grpcNumber: '14', - description: 'Сервис временно недоступен', - }, - data_loss: { - grpcCode: 'NOT_FDATA_LOSSOUND', - httpCode: '', - grpcNumber: '15', - description: 'Данные были повреждены или утеряны', - }, - unauthenticated: { - grpcCode: 'UNAUTHENTICATED', - httpCode: '', - grpcNumber: '16', - description: 'У пользователя недостаточно прав для использования этого метода', + invalid_argument: { + grpcCode: 'INVALID_ARGUMENT', + httpCode: '400', + grpcNumber: '3', + description: 'Пользователь указал некорректные значения агрументов', + }, + deadline_exceeded: { + grpcCode: 'DEADLINE_EXCEEDED', + httpCode: '', + grpcNumber: '4', + description: 'Запрос не успел вовремя обработать информацию', + }, + not_found: { + grpcCode: 'NOT_FOUND', + httpCode: '404', + grpcNumber: '5', + description: 'Не найден метод', + }, + already_exists: { + grpcCode: 'ALREADY_EXISTS', + httpCode: '', + grpcNumber: '6', + description: 'Данный объект уже существует', + }, + permition_denied: { + grpcCode: 'PERMISSION_DENIED', + httpCode: '', + grpcNumber: '7', + description: 'Доступ запрещен', + }, + resource_exhausted: { + grpcCode: 'RESOURCE_EXHAUSTED', + httpCode: '', + grpcNumber: '8', + description: 'Недостаточно места для добавления информации', + }, + failed_precondition: { + grpcCode: 'FAILED_PRECONDITION', + httpCode: '', + grpcNumber: '9', + description: 'Не выболнены усполовия предварительного запроса', + }, + aborted: { + grpcCode: 'ABORTED', + httpCode: '', + grpcNumber: '10', + description: 'Операция была отменена', + }, + out_of_range: { + grpcCode: 'OUT_OF_RANGE', + httpCode: '', + grpcNumber: '11', + description: 'Операция превысила допустимое значение', + }, + unimplemented: { + grpcCode: 'UNIMPLEMENTED', + httpCode: '', + grpcNumber: '12', + description: 'Данная операциия не поддерживается или не была реализована', + }, + internal: { + grpcCode: 'INTERNAL', + httpCode: '500', + grpcNumber: '13', + description: 'Ошибка в указанных данных', + }, + unavailable: { + grpcCode: 'UNAVAILABLE', + httpCode: '', + grpcNumber: '14', + description: 'Сервис временно недоступен', + }, + data_loss: { + grpcCode: 'NOT_FDATA_LOSSOUND', + httpCode: '', + grpcNumber: '15', + description: 'Данные были повреждены или утеряны', + }, + unauthenticated: { + grpcCode: 'UNAUTHENTICATED', + httpCode: '', + grpcNumber: '16', + description: 'У пользователя недостаточно прав для использования этого метода', + }, }, } diff --git a/documentation/src/constants/restrictions.tsx b/documentation/src/constants/restrictions.tsx index 2bcabd2c..13c27e81 100644 --- a/documentation/src/constants/restrictions.tsx +++ b/documentation/src/constants/restrictions.tsx @@ -1,122 +1,124 @@ import React from 'react' -import { TRestrictions } from '../customTypes/restrictions' +import { TVersionedRestrictions } from '@site/src/customTypes/restrictions' const templateS2s = `"$\{transport\}:sg-local($\{sg_local\})sg($\{sg\})"` const templateS2sIe = `"$\{transport\}:sg-local($\{sg_local\})sg($\{sg\})$\{traffic\}"` const ttemplateS2cIe = `"$\{transport\}:cidr($\{cidr\})sg($\{sg_name\})$\{traffic\}"` const templateS2fE = `"$\{transport\}:sg($\{sg_from\})fqdn($\{fqdn\})"` -export const RESTRICTIONS: TRestrictions = { - name: [ - 'Длина значения поля не должна превышать 256 символов.', - 'Значение поля должно начинаться и заканчиваться символами без пробелов.', - 'Значение должно быть уникальным в рамках типа ресурса.', - ], - - cidr: [ - 'Значение поля должно начинаться и заканчиваться символами без пробелов.', - 'В пределах одной Security Group и направления трафика (I/E), необходимо обеспечить, непересекаемость диапазонов адресов подсетей.', - <> - Подсеть должна соответствовать формату записи, определенному в RFC{' '} - 4632. - , - ], - - fqdn: [ - 'Длина значения поля не должна превышать 256 символов.', - 'Значение поля должно начинаться и заканчиваться символами без пробелов.', - <> - FQDN должен соответствовать формату записи, определенному в RFC  - 1034,  - 1035,  - 1123. - , - ], - - sgroupSet: [ - 'Длина значения элемента не должна превышать 256 символов.', - 'Значение элемента должно начинаться и заканчиваться символами без пробелов.', - 'Повторения значений в списке не допускаются.', - 'Необходимо указать минимум одно значение.', - ], - - cidrSet: [ - 'Значение элемента должно начинаться и заканчиваться символами без пробелов.', - 'Повторения значений в списке не допускаются.', - 'Необходимо указать минимум одно значение.', - 'В пределах одной Security Group и направления трафика (I/E), необходимо обеспечить, непересекаемость диапазонов адресов подсетей.', - <> - Подсеть должна соответствовать формату записи, определенному в RFC{' '} - 4632. - , - ], - - fqdnSet: [ - 'Длина значения элемента не должна превышать 256 символов.', - 'Значение элемента должно начинаться и заканчиваться символами без пробелов.', - 'Повторения значений в списке не допускаются.', - 'Необходимо указать минимум одно значение.', - <> - FQDN должны соответствовать формату записи, определенному в RFC  - 1034,  - 1035,  - 1123. - , - ], - - srcPorts: [ - 'Значения портов должно находиться в интервале от 1 до 65535.', - 'Если значение не будет указано то будет использоваться весь диапазон портов.', - "Значения портов прописываются по одному или интервально используя '-'.", - 'Не допускаются пересечения портов в правилах в рамках одной пары Security Group. ', - ], - - dstPorts: [ - 'Значения портов должно находиться в интервале от 1 до 65535.', - 'Если значение не будет указано то будет использоваться весь диапазон портов.', - "Значения портов прописываются по одному или интервально используя '-'.", - ], - - icmpType: ['Значение должно быть числом в диапазоне от 0 до 255.', 'Повторения значений в списке не допускаются.'], - - items: ['Каждое правило должно обладать уникальным ключом для предотвращения конфликтов.'], - - protocols: [ - 'Не допускаются дубликация протоколов в списке.', - 'Значения должны соответствовать поддерживаемым протоколам.', - ], - - priority: ['Значения должны находиться в интервале от -32768 до 32767'], - - itemsRuleName_nw: ['Имя ключа должно совпадать с значением из поля name.'], - - itemsRuleName_sg: ['Имя ключа должно совпадать с значением из поля name.'], - - itemsRuleName_s2s: [ - <> - Форма ruleName должна быть организована в соответствии с определенной последовательностью, которую нужно соблюдать{' '} - {templateS2s}. - , - ], - - itemsRuleName_s2s_ie: [ - <> - Форма ruleName должна быть организована в соответствии с определенной последовательностью, которую нужно соблюдать{' '} - {templateS2sIe}. - , - ], - - itemsRuleName_s2c_ie: [ - <> - Форма ruleName должна быть организована в соответствии с определенной последовательностью, которую нужно соблюдать{' '} - {ttemplateS2cIe}. - , - ], - - itemsRuleName_s2f_e: [ - <> - Форма ruleName должна быть организована в соответствии с определенной последовательностью, которую нужно соблюдать{' '} - {templateS2fE}. - , - ], +export const RESTRICTIONS: TVersionedRestrictions = { + 'v1.13.0': { + name: [ + 'Длина значения поля не должна превышать 256 символов.', + 'Значение поля должно начинаться и заканчиваться символами без пробелов.', + 'Значение должно быть уникальным в рамках типа ресурса.', + ], + + cidr: [ + 'Значение поля должно начинаться и заканчиваться символами без пробелов.', + 'В пределах одной Security Group и направления трафика (I/E), необходимо обеспечить, непересекаемость диапазонов адресов подсетей.', + <> + Подсеть должна соответствовать формату записи, определенному в RFC{' '} + 4632. + , + ], + + fqdn: [ + 'Длина значения поля не должна превышать 256 символов.', + 'Значение поля должно начинаться и заканчиваться символами без пробелов.', + <> + FQDN должен соответствовать формату записи, определенному в RFC  + 1034,  + 1035,  + 1123. + , + ], + + sgroupSet: [ + 'Длина значения элемента не должна превышать 256 символов.', + 'Значение элемента должно начинаться и заканчиваться символами без пробелов.', + 'Повторения значений в списке не допускаются.', + 'Необходимо указать минимум одно значение.', + ], + + cidrSet: [ + 'Значение элемента должно начинаться и заканчиваться символами без пробелов.', + 'Повторения значений в списке не допускаются.', + 'Необходимо указать минимум одно значение.', + 'В пределах одной Security Group и направления трафика (I/E), необходимо обеспечить, непересекаемость диапазонов адресов подсетей.', + <> + Подсеть должна соответствовать формату записи, определенному в RFC{' '} + 4632. + , + ], + + fqdnSet: [ + 'Длина значения элемента не должна превышать 256 символов.', + 'Значение элемента должно начинаться и заканчиваться символами без пробелов.', + 'Повторения значений в списке не допускаются.', + 'Необходимо указать минимум одно значение.', + <> + FQDN должны соответствовать формату записи, определенному в RFC  + 1034,  + 1035,  + 1123. + , + ], + + srcPorts: [ + 'Значения портов должно находиться в интервале от 1 до 65535.', + 'Если значение не будет указано то будет использоваться весь диапазон портов.', + "Значения портов прописываются по одному или интервально используя '-'.", + 'Не допускаются пересечения портов в правилах в рамках одной пары Security Group. ', + ], + + dstPorts: [ + 'Значения портов должно находиться в интервале от 1 до 65535.', + 'Если значение не будет указано то будет использоваться весь диапазон портов.', + "Значения портов прописываются по одному или интервально используя '-'.", + ], + + icmpType: ['Значение должно быть числом в диапазоне от 0 до 255.', 'Повторения значений в списке не допускаются.'], + + items: ['Каждое правило должно обладать уникальным ключом для предотвращения конфликтов.'], + + protocols: [ + 'Не допускаются дубликация протоколов в списке.', + 'Значения должны соответствовать поддерживаемым протоколам.', + ], + + priority: ['Значения должны находиться в интервале от -32768 до 32767'], + + itemsRuleName_nw: ['Имя ключа должно совпадать с значением из поля name.'], + + itemsRuleName_sg: ['Имя ключа должно совпадать с значением из поля name.'], + + itemsRuleName_s2s: [ + <> + Форма ruleName должна быть организована в соответствии с определенной последовательностью, которую нужно + соблюдать {templateS2s}. + , + ], + + itemsRuleName_s2s_ie: [ + <> + Форма ruleName должна быть организована в соответствии с определенной последовательностью, которую нужно + соблюдать {templateS2sIe}. + , + ], + + itemsRuleName_s2c_ie: [ + <> + Форма ruleName должна быть организована в соответствии с определенной последовательностью, которую нужно + соблюдать {ttemplateS2cIe}. + , + ], + + itemsRuleName_s2f_e: [ + <> + Форма ruleName должна быть организована в соответствии с определенной последовательностью, которую нужно + соблюдать {templateS2fE}. + , + ], + }, } diff --git a/documentation/src/constants/terminology.tsx b/documentation/src/constants/terminology.tsx index 568df7be..955bc31e 100644 --- a/documentation/src/constants/terminology.tsx +++ b/documentation/src/constants/terminology.tsx @@ -1,81 +1,83 @@ -import { TTerminology } from '../customTypes/terminology' +import { TVersionedTerminology } from '@site/src/customTypes/terminology' -export const TERMINOLOGY: TTerminology[] = [ - { - name: 'Security group', - comment: 'SG', - definition: `это логическая группа для виртуального брандмауэра, которая включает набор инстансов или подсетей +export const TERMINOLOGY: TVersionedTerminology = { + 'v1.13.0': [ + { + name: 'Security group', + comment: 'SG', + definition: `это логическая группа для виртуального брандмауэра, которая включает набор инстансов или подсетей для фильтрации ingress/Egress правилами для сетевого трафика. Security group работает на уровне инстансов, контролируя трафик на основе правил, определенных в нем. Каждое правило содержит исходные и целевые IP-адреса/диапазоны, протокол и порт. Если трафик соответствует любому из определенных правил, он будет разрешен или запрещен в зависимости от настроек Security group.`, - }, - { - name: 'FQDN', - comment: `Fully Qualified Domain Name`, - definition: - 'имя домена, не имеющее неоднозначностей в определении. Включается в себя имена всех родительских доменов иерархии DNS.', - }, - { - name: 'ICMP', - comment: 'Internet Control Message Protocol', - definition: `сетевой протокол, входящий в стек протоколов TCP/IP. В основном используется для передачи данных сообщений об ошибках + }, + { + name: 'FQDN', + comment: `Fully Qualified Domain Name`, + definition: + 'имя домена, не имеющее неоднозначностей в определении. Включается в себя имена всех родительских доменов иерархии DNS.', + }, + { + name: 'ICMP', + comment: 'Internet Control Message Protocol', + definition: `сетевой протокол, входящий в стек протоколов TCP/IP. В основном используется для передачи данных сообщений об ошибках и других исключительных ситуациях, возникших при передаче данных, например, запрашивая услуга недоступна или хост, или маршрутизатор не отвечают. Так же на ICMP возлагают некоторые сервисные функции.`, - }, - { - name: 'Ingress', - definition: - 'трафик исходящий из инстанса в HBF правил описывающее разрешающее правило для входящего трафика инстанса.', - }, - { - name: 'Egress', - definition: - 'трафик исходящий из инстанса в HBF правил описывающее разрешающее правило для исходящего трафика инстанса.', - }, - { - name: 'CIDR', - comment: 'Classless Inter-Domain Routing', - definition: 'это подсеть которая включает в себя диапазон IP адресов.', - }, - { - name: 'Namespace', - comment: 'пространство имен', - definition: 'пространство имен.', - }, - { - name: 'Netspace', - comment: 'сеть', - definition: 'сетевое пространство имен.', - }, - { - name: 'Subnet', - comment: 'подсеть', - definition: 'часть сети с присвоенным адресом CIDR', - }, - { - name: 'ВМ', - comment: 'деплоймент/compute instance', - definition: 'виртуальная машина.', - }, - { - name: 'Array', - comment: 'массив', - definition: 'упорядоченный набор элементов, каждый из которых хранит одно значение.', - }, - { - name: 'Object', - comment: 'объект', - definition: `неупорядоченный набор пар ключ/значение. Объект начинается с открывающей фигурной скобки и заканчивается закрывающей + }, + { + name: 'Ingress', + definition: + 'трафик исходящий из инстанса в HBF правил описывающее разрешающее правило для входящего трафика инстанса.', + }, + { + name: 'Egress', + definition: + 'трафик исходящий из инстанса в HBF правил описывающее разрешающее правило для исходящего трафика инстанса.', + }, + { + name: 'CIDR', + comment: 'Classless Inter-Domain Routing', + definition: 'это подсеть которая включает в себя диапазон IP адресов.', + }, + { + name: 'Namespace', + comment: 'пространство имен', + definition: 'пространство имен.', + }, + { + name: 'Netspace', + comment: 'сеть', + definition: 'сетевое пространство имен.', + }, + { + name: 'Subnet', + comment: 'подсеть', + definition: 'часть сети с присвоенным адресом CIDR', + }, + { + name: 'ВМ', + comment: 'деплоймент/compute instance', + definition: 'виртуальная машина.', + }, + { + name: 'Array', + comment: 'массив', + definition: 'упорядоченный набор элементов, каждый из которых хранит одно значение.', + }, + { + name: 'Object', + comment: 'объект', + definition: `неупорядоченный набор пар ключ/значение. Объект начинается с открывающей фигурной скобки и заканчивается закрывающей фигурной скобкой. Каждое имя сопровождается двоеточием, пары ключ/значение разделяются запятой.`, - }, - { - name: 'Hook', - definition: `система отслеживания соединений, NAT-движок, инфраструктура логирования и пользовательские очереди остаются без изменений. + }, + { + name: 'Hook', + definition: `система отслеживания соединений, NAT-движок, инфраструктура логирования и пользовательские очереди остаются без изменений. Новым является только фреймворк классификации пакетов.`, - link: 'https://wiki.nftables.org/wiki-nftables/index.php/Netfilter_hooks', - }, - { - name: 'Resource', - definition: 'TODO', - }, -] + link: 'https://wiki.nftables.org/wiki-nftables/index.php/Netfilter_hooks', + }, + { + name: 'Resource', + definition: 'TODO', + }, + ], +} diff --git a/documentation/src/customTypes/dictionary.ts b/documentation/src/customTypes/dictionary.ts index 0acd5b39..fa81fdb9 100644 --- a/documentation/src/customTypes/dictionary.ts +++ b/documentation/src/customTypes/dictionary.ts @@ -4,3 +4,5 @@ export type TDefinition = { } export type TDictionary = Record + +export type TVersionedDictionary = Record diff --git a/documentation/src/customTypes/errorCodes.ts b/documentation/src/customTypes/errorCodes.ts index 63aa7140..0ed980b6 100644 --- a/documentation/src/customTypes/errorCodes.ts +++ b/documentation/src/customTypes/errorCodes.ts @@ -1,8 +1,10 @@ -export type TRespondsCodesItems = { +export type TResponseCodesItems = { grpcCode: string grpcNumber: string httpCode: string description: string | React.JSX.Element } -export type TRespondsCodes = Record +export type TResponseCodes = Record + +export type TVersionedResponseCodes = Record diff --git a/documentation/src/customTypes/restrictions.ts b/documentation/src/customTypes/restrictions.ts index 24aa7810..0bba0df3 100644 --- a/documentation/src/customTypes/restrictions.ts +++ b/documentation/src/customTypes/restrictions.ts @@ -1,3 +1,5 @@ export type TRestrictionItems = (string | React.JSX.Element)[] export type TRestrictions = Record + +export type TVersionedRestrictions = Record diff --git a/documentation/src/customTypes/terminology.ts b/documentation/src/customTypes/terminology.ts index c16c6d44..b4883e00 100644 --- a/documentation/src/customTypes/terminology.ts +++ b/documentation/src/customTypes/terminology.ts @@ -4,3 +4,5 @@ export type TTerminology = { definition: string | React.JSX.Element link?: string } + +export type TVersionedTerminology = Record diff --git a/documentation/versioned_docs/version-v1.13.0/info/terminology.mdx b/documentation/versioned_docs/version-v1.13.0/info/terminology.mdx index 33b32c57..142b50b2 100644 --- a/documentation/versioned_docs/version-v1.13.0/info/terminology.mdx +++ b/documentation/versioned_docs/version-v1.13.0/info/terminology.mdx @@ -7,4 +7,4 @@ import { TERMINOLOGY } from '@site/src/constants/terminology.tsx' # Терминология - + diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/networks/_Api.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/networks/_Api.mdx index d524b402..29dac551 100644 --- a/documentation/versioned_docs/version-v1.13.0/snippets/networks/_Api.mdx +++ b/documentation/versioned_docs/version-v1.13.0/snippets/networks/_Api.mdx @@ -8,11 +8,11 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' #### Входные параметры
      -
    • `networks[]` - {DICTIONARY.networks.short}
    • +
    • `networks[]` - {DICTIONARY['v1.13.0'].networks.short}
    • `networks[].name` - название подсети.
    • `networks[].network` - объект содержащий CIDR подсети
    • -
    • `networks[].network.CIDR` - {DICTIONARY.cidr.short}
    • -
    • `syncOp` - {DICTIONARY.syncOp.short}
    • +
    • `networks[].network.CIDR` - {DICTIONARY['v1.13.0'].cidr.short}
    • +
    • `syncOp` - {DICTIONARY['v1.13.0'].syncOp.short}
    @@ -65,11 +65,11 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'
    • `networks.networks[].name`: - +
    • `networks.networks[].network.CIDR`: - +
    @@ -114,8 +114,8 @@ curl '127.0.0.1:9007/v1/sync' \

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/networks/_TerraformModule.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/networks/_TerraformModule.mdx index da3add65..2821425f 100644 --- a/documentation/versioned_docs/version-v1.13.0/snippets/networks/_TerraformModule.mdx +++ b/documentation/versioned_docs/version-v1.13.0/snippets/networks/_TerraformModule.mdx @@ -3,7 +3,7 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    -

    {DICTIONARY.terraformModule.full}

    +

    {DICTIONARY['v1.13.0'].terraformModule.full}

    @@ -38,11 +38,11 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `name`: - +
    • `cidrs[]`: - +
    diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/networks/_TerraformResource.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/networks/_TerraformResource.mdx index 4433b3bc..9ab25c50 100644 --- a/documentation/versioned_docs/version-v1.13.0/snippets/networks/_TerraformResource.mdx +++ b/documentation/versioned_docs/version-v1.13.0/snippets/networks/_TerraformResource.mdx @@ -3,7 +3,7 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    -

    {DICTIONARY.terraformResource.full}

    +

    {DICTIONARY['v1.13.0'].terraformResource.full}

    @@ -39,7 +39,7 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' items.key.cidr да string - {DICTIONARY.cidr.short} + {DICTIONARY['v1.13.0'].cidr.short} @@ -50,19 +50,19 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `items`: - +
    • `items.key`: - +
    • `items.key.name`: - +
    • `items.key.cidr`: - +
    diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_Api.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_Api.mdx index 4641fd9c..cf1e6839 100644 --- a/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_Api.mdx +++ b/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_Api.mdx @@ -11,23 +11,23 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' #### Входные параметры
      -
    • `$node.rules[]` - {DICTIONARY.rules.short}
    • -
    • `$node.rules[].cidr` - {DICTIONARY.cidrSet.short}
    • -
    • `$node.rules[].sg` - {DICTIONARY.sgLocal.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY.log.short}
    • -
    • `$node.rules[].trace` - {DICTIONARY.trace.short}
    • -
    • `$node.rules[].ports` - {DICTIONARY.ports.short}
    • -
    • `$node.rules[].ports[].d` - {DICTIONARY.dstPorts.short}
    • -
    • `$node.rules[].ports[].s` - {DICTIONARY.srcPorts.short}
    • -
    • `$node.rules[].traffic` - {DICTIONARY.traffic.short}
    • -
    • `$node.rules[].transport` - {DICTIONARY.transport.short}
    • -
    • `$node.rules[].ICMP` - {DICTIONARY.apiIcmp.short}
    • -
    • `$node.rules[].ICMP.IPv` - {DICTIONARY.icmpV.short}
    • -
    • `$node.rules[].ICMP.Types` - {DICTIONARY.icmpTypes.short}
    • -
    • `$node.rules[].action` - {DICTIONARY.action.short}
    • -
    • `$node.rules[].priority` - {DICTIONARY.priorityst.short}
    • -
    • `$node.rules[].priority.some` - {DICTIONARY.priority.short}
    • -
    • `syncOp` - {DICTIONARY.syncOp.short}
    • +
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `$node.rules[].cidr` - {DICTIONARY['v1.13.0'].cidrSet.short}
    • +
    • `$node.rules[].sg` - {DICTIONARY['v1.13.0'].sgLocal.short}
    • +
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$node.rules[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$node.rules[].ports` - {DICTIONARY['v1.13.0'].ports.short}
    • +
    • `$node.rules[].ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `$node.rules[].ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `$node.rules[].traffic` - {DICTIONARY['v1.13.0'].traffic.short}
    • +
    • `$node.rules[].transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `$node.rules[].ICMP` - {DICTIONARY['v1.13.0'].apiIcmp.short}
    • +
    • `$node.rules[].ICMP.IPv` - {DICTIONARY['v1.13.0'].icmpV.short}
    • +
    • `$node.rules[].ICMP.Types` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `$node.rules[].action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `$node.rules[].priority` - {DICTIONARY['v1.13.0'].priorityst.short}
    • +
    • `$node.rules[].priority.some` - {DICTIONARY['v1.13.0'].priority.short}
    • +
    • `syncOp` - {DICTIONARY['v1.13.0'].syncOp.short}
    @@ -214,23 +214,23 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'
    • `$node.rules[].SG`: - +
    • `$node.rules[].CIDR`: - +
    • `$node.rules[].ports[].s`: - +
    • `$node.rules[].ports[].d`: - +
    • `$node.rules[].type[]`: - +
    @@ -332,8 +332,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    @@ -459,8 +459,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    @@ -584,8 +584,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    @@ -715,8 +715,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    @@ -760,4 +760,5 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' + diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_Nftables.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_Nftables.mdx index 068e3ea6..69f84387 100644 --- a/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_Nftables.mdx +++ b/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_Nftables.mdx @@ -7,17 +7,17 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' nftables. Это позволяет легко интегрировать сложные правила безопасности прямо в вашу систему фильтрации трафика.
      -
    • `$Trace` - {DICTIONARY.trace.short}
    • -
    • `$SrcCIDR` - {DICTIONARY.srcDstCidr.short}
    • -
    • `$DstCIDR` - {DICTIONARY.srcDstCidr.short}
    • -
    • `$Transport` - {DICTIONARY.transport.short}
    • -
    • `$NftRuleType` - {DICTIONARY.nftRuleType.short}
    • -
    • `$IcmpTypeList` - {DICTIONARY.icmpTypes.short}
    • -
    • `$SrcPorts` - {DICTIONARY.srcPorts.short}
    • -
    • `$DstPorts` - {DICTIONARY.dstPorts.short}
    • -
    • `$NftCounter` - {DICTIONARY.nftCounter.short}
    • -
    • `$Log` - {DICTIONARY.log.short}
    • -
    • `$NftRuleVerdict` - {DICTIONARY.nftRuleVerdict.short}
    • +
    • `$Trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$SrcCIDR` - {DICTIONARY['v1.13.0'].srcDstCidr.short}
    • +
    • `$DstCIDR` - {DICTIONARY['v1.13.0'].srcDstCidr.short}
    • +
    • `$Transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `$NftRuleType` - {DICTIONARY['v1.13.0'].nftRuleType.short}
    • +
    • `$IcmpTypeList` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `$SrcPorts` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `$DstPorts` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `$NftCounter` - {DICTIONARY['v1.13.0'].nftCounter.short}
    • +
    • `$Log` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$NftRuleVerdict` - {DICTIONARY['v1.13.0'].nftRuleVerdict.short}
    diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_TerraformModule.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_TerraformModule.mdx index 0f405fcf..5b65c807 100644 --- a/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_TerraformModule.mdx +++ b/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_TerraformModule.mdx @@ -6,7 +6,7 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    -

    {DICTIONARY.terraformModule.full}

    +

    {DICTIONARY['v1.13.0'].terraformModule.full}

    Далее везде в документе подразумевается что все места, содержащие переменную `$traffic`, могут принять одно из двух @@ -15,19 +15,19 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
      -
    • `rules` - {DICTIONARY.rules.short}
    • -
    • `rules.$traffic[]` - {DICTIONARY.traffic.short}
    • -
    • `rules.$traffic[].cidrSet[]` - {DICTIONARY.cidrSet.short}
    • -
    • `rules.$traffic[].access.$transport` - {DICTIONARY.transport.short}
    • -
    • `rules.$traffic[].access.$transport.action` - {DICTIONARY.action.short}
    • -
    • `rules.$traffic[].access.$transport.priority` - {DICTIONARY.priority.short}
    • -
    • `rules.$traffic[].access.$transport.logs` - {DICTIONARY.log.short}
    • -
    • `rules.$traffic[].access.$transport.trace` - {DICTIONARY.trace.short}
    • -
    • `rules.$traffic[].access.$transport.ports[].description` - {DICTIONARY.description.short}
    • -
    • `rules.$traffic[].access.$transport.ports[].ports_to[]` - {DICTIONARY.dstPorts.short}
    • -
    • `rules.$traffic[].access.$transport.ports[].ports_from[]` - {DICTIONARY.srcPorts.short}
    • -
    • `rules.$traffic[].access.$transport.types[].description` - {DICTIONARY.description.short}
    • -
    • `rules.$traffic[].access.$transport.types[].type[]` - {DICTIONARY.icmpTypes.short}
    • +
    • `rules` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `rules.$traffic[]` - {DICTIONARY['v1.13.0'].traffic.short}
    • +
    • `rules.$traffic[].cidrSet[]` - {DICTIONARY['v1.13.0'].cidrSet.short}
    • +
    • `rules.$traffic[].access.$transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `rules.$traffic[].access.$transport.action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `rules.$traffic[].access.$transport.priority` - {DICTIONARY['v1.13.0'].priority.short}
    • +
    • `rules.$traffic[].access.$transport.logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `rules.$traffic[].access.$transport.trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `rules.$traffic[].access.$transport.ports[].description` - {DICTIONARY['v1.13.0'].description.short}
    • +
    • `rules.$traffic[].access.$transport.ports[].ports_to[]` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `rules.$traffic[].access.$transport.ports[].ports_from[]` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `rules.$traffic[].access.$transport.types[].description` - {DICTIONARY['v1.13.0'].description.short}
    • +
    • `rules.$traffic[].access.$transport.types[].type[]` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    @@ -179,27 +179,27 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `name`: - +
    • `rules.$traffic[].cidrSet`: - +
    • `rules.$traffic[].access.$transport.priority`: - +
    • `rules.$traffic[].access.$transport.ports[].ports_to[]`: - +
    • `rules.$traffic[].access.$transport.ports[].ports_from[]`: - +
    • `rules.$traffic[].access.$transport.types[].type[]`: - +
    diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_TerraformResource.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_TerraformResource.mdx index cb5cb22c..74bc13c6 100644 --- a/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_TerraformResource.mdx +++ b/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_TerraformResource.mdx @@ -5,24 +5,24 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    -

    {DICTIONARY.terraformResource.full}

    +

    {DICTIONARY['v1.13.0'].terraformResource.full}

    • `items` - список ресурсов создаваемые terraform ресурсом.
    • `items.$ruleName` - уникальное имя создаваемого ресурса.
    • -
    • `items.$ruleName.traffic` - {DICTIONARY.traffic.short}
    • -
    • `items.$ruleName.transport` - {DICTIONARY.transport.short}
    • -
    • `items.$ruleName.cidr` - {DICTIONARY.cidrSet.short}
    • -
    • `items.$ruleName.sg_name` - {DICTIONARY.sgLocal.short}
    • -
    • `items.$ruleName.ports` - {DICTIONARY.ports.short}
    • -
    • `items.$ruleName.ports[].d` - {DICTIONARY.dstPorts.short}
    • -
    • `items.$ruleName.ports[].s` - {DICTIONARY.srcPorts.short}
    • -
    • `items.$ruleName.logs` - {DICTIONARY.log.short}
    • -
    • `items.$ruleName.trace` - {DICTIONARY.trace.short}
    • -
    • `items.$ruleName.ip_v` - {DICTIONARY.icmpV.short}
    • -
    • `items.$ruleName.type` - {DICTIONARY.icmpTypes.short}
    • -
    • `items.$ruleName.action` - {DICTIONARY.action.short}
    • -
    • `items.$ruleName.priority` - {DICTIONARY.priority.short}
    • +
    • `items.$ruleName.traffic` - {DICTIONARY['v1.13.0'].traffic.short}
    • +
    • `items.$ruleName.transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `items.$ruleName.cidr` - {DICTIONARY['v1.13.0'].cidrSet.short}
    • +
    • `items.$ruleName.sg_name` - {DICTIONARY['v1.13.0'].sgLocal.short}
    • +
    • `items.$ruleName.ports` - {DICTIONARY['v1.13.0'].ports.short}
    • +
    • `items.$ruleName.ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `items.$ruleName.ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `items.$ruleName.logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `items.$ruleName.trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `items.$ruleName.ip_v` - {DICTIONARY['v1.13.0'].icmpV.short}
    • +
    • `items.$ruleName.type` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `items.$ruleName.action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `items.$ruleName.priority` - {DICTIONARY['v1.13.0'].priority.short}
    @@ -189,38 +189,38 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'

    Ограничения

      -
    • - `items`: - -
    • -
    • - `items.$ruleName`: - -
    • -
    • - `items.$ruleName.sg_name`: - -
    • -
    • - `items.$ruleName.cidr`: - -
    • -
    • - `items.$ruleName.ports[].s`: - -
    • -
    • - `items.$ruleName.ports[].d`: - -
    • -
    • - `items.$ruleName.type[]`: - -
    • -
    • - `items.$ruleName.priority`: - -
    • +
    • + `items`: + +
    • +
    • + `items.$ruleName`: + +
    • +
    • + `items.$ruleName.sg_name`: + +
    • +
    • + `items.$ruleName.cidr`: + +
    • +
    • + `items.$ruleName.ports[].s`: + +
    • +
    • + `items.$ruleName.ports[].d`: + +
    • +
    • + `items.$ruleName.type[]`: + +
    • +
    • + `items.$ruleName.priority`: + +

    Пример использования

    @@ -239,7 +239,6 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'

    Ingress

    - ```hcl resource "sgroups_cidr_rules" "rules" { items = { diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_Api.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_Api.mdx index 22350d03..0c5bc99b 100644 --- a/documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_Api.mdx +++ b/documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_Api.mdx @@ -10,19 +10,19 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' #### Входные параметры
      -
    • `fqdnRules.rules` - {DICTIONARY.rules.short}
    • -
    • `fqdnRules.rules[].FQDN` - {DICTIONARY.fqdn.short}
    • -
    • `fqdnRules.rules[].logs` - {DICTIONARY.log.short}
    • -
    • `fqdnRules.rules[].ports` - {DICTIONARY.trace.short}
    • -
    • `fqdnRules.rules[].ports[].d` - {DICTIONARY.dstPorts.short}
    • -
    • `fqdnRules.rules[].ports[].s` - {DICTIONARY.srcPorts.short}
    • -
    • `fqdnRules.rules[].sgFrom` - {DICTIONARY.sgLocal.short}
    • -
    • `fqdnRules.rules[].transport` - {DICTIONARY.transport.short}
    • -
    • `fqdnRules.rules[].action` - {DICTIONARY.action.short}
    • -
    • `fqdnRules.rules[].priority` - {DICTIONARY.priorityst.short}
    • -
    • `fqdnRules.rules[].priority.some` - {DICTIONARY.priority.short}
    • - {/*
    • `fqdnRules.rules[].protocols` - {DICTIONARY.l7ProtocolList.short}
    • */} -
    • `syncOp` - {DICTIONARY.syncOp.short}
    • +
    • `fqdnRules.rules` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `fqdnRules.rules[].FQDN` - {DICTIONARY['v1.13.0'].fqdn.short}
    • +
    • `fqdnRules.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `fqdnRules.rules[].ports` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `fqdnRules.rules[].ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `fqdnRules.rules[].ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `fqdnRules.rules[].sgFrom` - {DICTIONARY['v1.13.0'].sgLocal.short}
    • +
    • `fqdnRules.rules[].transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `fqdnRules.rules[].action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `fqdnRules.rules[].priority` - {DICTIONARY['v1.13.0'].priorityst.short}
    • +
    • `fqdnRules.rules[].priority.some` - {DICTIONARY['v1.13.0'].priority.short}
    • + {/*
    • `fqdnRules.rules[].protocols` - {DICTIONARY['v1.13.0'].l7ProtocolList.short}
    • */} +
    • `syncOp` - {DICTIONARY['v1.13.0'].syncOp.short}
    @@ -157,23 +157,23 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'
    • `fqdnRules.rules[].FQDN`: - +
    • `fqdnRules.rules[].sgFrom`: - +
    • `fqdnRules.rules[].protocols[]`: - +
    • `fqdnRules.rules[].ports[].ports_to[]`: - +
    • `fqdnRules.rules[].ports[].ports_from[]`: - +
    @@ -263,8 +263,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    @@ -304,4 +304,3 @@ server-->>user: Успешно добавленное новое FQDN прави ``` - diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_TerraformModule.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_TerraformModule.mdx index 2b77d4c5..f01b683f 100644 --- a/documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_TerraformModule.mdx +++ b/documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_TerraformModule.mdx @@ -5,25 +5,25 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    -

    {DICTIONARY.terraformModule.full}

    +

    {DICTIONARY['v1.13.0'].terraformModule.full}

    Далее везде в документе подразумевается что все места, содержащие переменную `$traffic`, могут принять значениe: `Egress`. Аналогчично для `$transport` подразумевается одно из двух значений: `tcp`, `udp`.
      -
    • `rules` - {DICTIONARY.rules.short}
    • -
    • `rules.$traffic[]` - {DICTIONARY.traffic.short}
    • -
    • `rules.$traffic[].fqdnSet[]` - {DICTIONARY.fqdnSet.short}
    • - {/*
    • `rules.$traffic[].access.protocols[]` - {DICTIONARY.l7ProtocolList.short}
    • */} -
    • `rules.$traffic[].access.$transport` - {DICTIONARY.transport.short}
    • -
    • `rules.$traffic[].access.$transport.action` - {DICTIONARY.action.short}
    • -
    • `rules.$traffic[].access.$transport.priority` - {DICTIONARY.priority.short}
    • -
    • `rules.$traffic[].access.$transport.log` - {DICTIONARY.log.short}
    • -
    • `rules.$traffic[].access.$transport.trace` - {DICTIONARY.trace.short}
    • -
    • `rules.$traffic[].access.$transport.ports[].description` - {DICTIONARY.description.short}
    • -
    • `rules.$traffic[].access.$transport.ports[].ports_to[]` - {DICTIONARY.dstPorts.short}
    • -
    • `rules.$traffic[].access.$transport.ports[].ports_from[]` - {DICTIONARY.srcPorts.short}
    • +
    • `rules` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `rules.$traffic[]` - {DICTIONARY['v1.13.0'].traffic.short}
    • +
    • `rules.$traffic[].fqdnSet[]` - {DICTIONARY['v1.13.0'].fqdnSet.short}
    • + {/*
    • `rules.$traffic[].access.protocols[]` - {DICTIONARY['v1.13.0'].l7ProtocolList.short}
    • */} +
    • `rules.$traffic[].access.$transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `rules.$traffic[].access.$transport.action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `rules.$traffic[].access.$transport.priority` - {DICTIONARY['v1.13.0'].priority.short}
    • +
    • `rules.$traffic[].access.$transport.log` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `rules.$traffic[].access.$transport.trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `rules.$traffic[].access.$transport.ports[].description` - {DICTIONARY['v1.13.0'].description.short}
    • +
    • `rules.$traffic[].access.$transport.ports[].ports_to[]` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `rules.$traffic[].access.$transport.ports[].ports_from[]` - {DICTIONARY['v1.13.0'].srcPorts.short}
    @@ -137,27 +137,27 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `name`: - +
    • `rules.$traffic[].fqdnSet`: - +
    • {/*
    • `rules.$traffic[].protocols[]`: - +
    • */}
    • `rules.$traffic[].access.$transport.priority`: - +
    • `rules.$traffic[].access.$transport.ports[].ports_to[]`: - +
    • `rules.$traffic[].access.$transport.ports[].ports_from[]`: - +
    diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_TerraformResource.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_TerraformResource.mdx index 9b7b2426..5ab42605 100644 --- a/documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_TerraformResource.mdx +++ b/documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_TerraformResource.mdx @@ -5,22 +5,22 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    -

    {DICTIONARY.terraformResource.full}

    +

    {DICTIONARY['v1.13.0'].terraformResource.full}

    • `items` - список ресурсов создаваемые terraform ресурсом.
    • `items.$ruleName` - уникальное имя создаваемого ресурса.
    • -
    • `items.$ruleName.transport` - {DICTIONARY.transport.short}
    • -
    • `items.$ruleName.protocols[]` - {DICTIONARY.l7ProtocolList.short}
    • -
    • `items.$ruleName.logs` - {DICTIONARY.log.short}
    • -
    • `items.$ruleName.trace` - {DICTIONARY.trace.short}
    • -
    • `items.$ruleName.sg_from` - {DICTIONARY.sgLocal.short}
    • -
    • `items.$ruleName.fqdn` - {DICTIONARY.fqdn.short}
    • -
    • `items.$ruleName.ports[]` - {DICTIONARY.ports.short}
    • -
    • `items.$ruleName.ports[].s` - {DICTIONARY.srcPorts.short}
    • -
    • `items.$ruleName.ports[].d` - {DICTIONARY.dstPorts.short}
    • -
    • `items.$ruleName.action` - {DICTIONARY.action.short}
    • -
    • `items.$ruleName.priority` - {DICTIONARY.priority.short}
    • +
    • `items.$ruleName.transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `items.$ruleName.protocols[]` - {DICTIONARY['v1.13.0'].l7ProtocolList.short}
    • +
    • `items.$ruleName.logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `items.$ruleName.trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `items.$ruleName.sg_from` - {DICTIONARY['v1.13.0'].sgLocal.short}
    • +
    • `items.$ruleName.fqdn` - {DICTIONARY['v1.13.0'].fqdn.short}
    • +
    • `items.$ruleName.ports[]` - {DICTIONARY['v1.13.0'].ports.short}
    • +
    • `items.$ruleName.ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `items.$ruleName.ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `items.$ruleName.action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `items.$ruleName.priority` - {DICTIONARY['v1.13.0'].priority.short}
    @@ -147,35 +147,35 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `items`: - +
    • `items.$ruleName`: - +
    • `items.$ruleName.protocols[]`: - +
    • `items.$ruleName.sg_from`: - +
    • `items.$ruleName.fqdn`: - +
    • `items.$ruleName.ports[].s`: - +
    • `items.$ruleName.ports[].d`: - +
    • `items.$ruleName.priority`: - +
    diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_Api.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_Api.mdx index a13ccd7f..bab68b5a 100644 --- a/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_Api.mdx +++ b/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_Api.mdx @@ -10,23 +10,23 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' #### Входные параметры
      -
    • `$node.rules[]` - {DICTIONARY.rules.short}
    • -
    • `$node.rules[].Sg` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].SgLocal` - {DICTIONARY.sgLocal.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY.log.short}
    • -
    • `$node.rules[].trace` - {DICTIONARY.trace.short}
    • -
    • `$node.rules[].ports` - {DICTIONARY.ports.short}
    • -
    • `$node.rules[].ports[].d` - {DICTIONARY.dstPorts.short}
    • -
    • `$node.rules[].ports[].s` - {DICTIONARY.srcPorts.short}
    • -
    • `$node.rules[].traffic` - {DICTIONARY.traffic.short}
    • -
    • `$node.rules[].transport` - {DICTIONARY.transport.short}
    • -
    • `$node.rules[].ICMP` - {DICTIONARY.apiIcmp.short}
    • -
    • `$node.rules[].ICMP.IPv` - {DICTIONARY.icmpV.short}
    • -
    • `$node.rules[].ICMP.Types` - {DICTIONARY.icmpTypes.short}
    • -
    • `$node.rules[].action` - {DICTIONARY.action.short}
    • -
    • `$node.rules[].priority` - {DICTIONARY.priorityst.short}
    • -
    • `$node.rules[].priority.some` - {DICTIONARY.priority.short}
    • -
    • `syncOp` - {DICTIONARY.syncOp.short}
    • +
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `$node.rules[].Sg` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].SgLocal` - {DICTIONARY['v1.13.0'].sgLocal.short}
    • +
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$node.rules[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$node.rules[].ports` - {DICTIONARY['v1.13.0'].ports.short}
    • +
    • `$node.rules[].ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `$node.rules[].ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `$node.rules[].traffic` - {DICTIONARY['v1.13.0'].traffic.short}
    • +
    • `$node.rules[].transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `$node.rules[].ICMP` - {DICTIONARY['v1.13.0'].apiIcmp.short}
    • +
    • `$node.rules[].ICMP.IPv` - {DICTIONARY['v1.13.0'].icmpV.short}
    • +
    • `$node.rules[].ICMP.Types` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `$node.rules[].action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `$node.rules[].priority` - {DICTIONARY['v1.13.0'].priorityst.short}
    • +
    • `$node.rules[].priority.some` - {DICTIONARY['v1.13.0'].priority.short}
    • +
    • `syncOp` - {DICTIONARY['v1.13.0'].syncOp.short}
    @@ -213,23 +213,23 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'
    • `sgSgRules.rules[].Sg`: - +
    • `sgSgRules.rules[].SgLocal`: - +
    • `sgSgRules.rules[].ports[].ports_to[]`: - +
    • `sgSgRules.rules[].ports[].ports_from[]`: - +
    • `sgSgRules.rules[].ICMP.Types[]`: - +
    @@ -331,8 +331,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    @@ -458,8 +458,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    @@ -583,8 +583,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    @@ -714,8 +714,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_Nftables.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_Nftables.mdx index 25e9860c..c560eaef 100644 --- a/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_Nftables.mdx +++ b/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_Nftables.mdx @@ -7,17 +7,17 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' nftables. Это позволяет легко интегрировать сложные правила безопасности прямо в вашу систему фильтрации трафика.
      -
    • `$Trace` - {DICTIONARY.trace.short}
    • -
    • `$SrcSgroup` - {DICTIONARY.sg.short}
    • -
    • `$DstGroup` - {DICTIONARY.sg.short}
    • -
    • `$Transport` - {DICTIONARY.transport.short}
    • -
    • `$NftRuleType` - {DICTIONARY.nftRuleType.short}
    • -
    • `$IcmpTypeList` - {DICTIONARY.icmpTypes.short}
    • -
    • `$SrcPorts` - {DICTIONARY.srcPorts.short}
    • -
    • `$DstPorts` - {DICTIONARY.dstPorts.short}
    • -
    • `$NftCounter` - {DICTIONARY.nftCounter.short}
    • -
    • `$Log` - {DICTIONARY.log.short}
    • -
    • `$NftRuleVerdict` - {DICTIONARY.nftRuleVerdict.short}
    • +
    • `$Trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$SrcSgroup` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$DstGroup` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$Transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `$NftRuleType` - {DICTIONARY['v1.13.0'].nftRuleType.short}
    • +
    • `$IcmpTypeList` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `$SrcPorts` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `$DstPorts` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `$NftCounter` - {DICTIONARY['v1.13.0'].nftCounter.short}
    • +
    • `$Log` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$NftRuleVerdict` - {DICTIONARY['v1.13.0'].nftRuleVerdict.short}
    diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_TerraformModule.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_TerraformModule.mdx index b7d8eeee..7dc39bd3 100644 --- a/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_TerraformModule.mdx +++ b/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_TerraformModule.mdx @@ -5,7 +5,7 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    -

    {DICTIONARY.terraformModule.full}

    +

    {DICTIONARY['v1.13.0'].terraformModule.full}

    Далее везде в документе подразумевается что все места, содержащие переменную `$traffic`, могут принять одно из двух @@ -13,19 +13,31 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' `icmpIPv4`, `icmpIPv6`
      -
    • `rules` - {DICTIONARY.rules.short}
    • -
    • `rules.$traffic[]` - {DICTIONARY.traffic.short}
    • -
    • `rules.$traffic[].sgroupSet[]` - {DICTIONARY.sgroupSet.short}
    • -
    • `rules.$traffic[].access.$transport` - {DICTIONARY.transport.short}
    • -
    • `rules.$traffic[].access.$transport.action` - {DICTIONARY.action.short}
    • -
    • `rules.$traffic[].access.$transport.priority` - {DICTIONARY.priority.short}
    • -
    • `rules.$traffic[].access.$transport.log` - {DICTIONARY.log.short}
    • -
    • `rules.$traffic[].access.$transport.trace` - {DICTIONARY.trace.short}
    • -
    • `rules.$traffic[].access.$transport.ports[].description` - {DICTIONARY.description.short}
    • -
    • `rules.$traffic[].access.$transport.ports[].ports_to[]` - {DICTIONARY.dstPorts.short}
    • -
    • `rules.$traffic[].access.$transport.ports[].ports_from[]` - {DICTIONARY.srcPorts.short}
    • -
    • `rules.$traffic[].access.$transport.types[].description` - {DICTIONARY.description.short}
    • -
    • `rules.$traffic[].access.$transport.types[].type[]` - {DICTIONARY.icmpTypes.short}
    • +
    • `rules` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `rules.$traffic[]` - {DICTIONARY['v1.13.0'].traffic.short}
    • +
    • `rules.$traffic[].sgroupSet[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    • +
    • `rules.$traffic[].access.$transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `rules.$traffic[].access.$transport.action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • + `rules.$traffic[].access.$transport.priority` - {DICTIONARY['v1.13.0'].priority.short} +
    • +
    • `rules.$traffic[].access.$transport.log` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `rules.$traffic[].access.$transport.trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • + `rules.$traffic[].access.$transport.ports[].description` - {DICTIONARY['v1.13.0'].description.short} +
    • +
    • + `rules.$traffic[].access.$transport.ports[].ports_to[]` - {DICTIONARY['v1.13.0'].dstPorts.short} +
    • +
    • + `rules.$traffic[].access.$transport.ports[].ports_from[]` - {DICTIONARY['v1.13.0'].srcPorts.short} +
    • +
    • + `rules.$traffic[].access.$transport.types[].description` - {DICTIONARY['v1.13.0'].description.short} +
    • +
    • + `rules.$traffic[].access.$transport.types[].type[]` - {DICTIONARY['v1.13.0'].icmpTypes.short} +
    @@ -176,27 +188,27 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `name`: - +
    • `rules.$traffic[].sgroupSet`: - +
    • `rules.$traffic[].access.$transport.priority`: - +
    • `rules.$traffic[].access.$transport.ports[].ports_to[]`: - +
    • `rules.$traffic[].access.$transport.ports[].ports_from[]`: - +
    • `rules.$traffic[].access.$transport.types[].type[]`: - +
    @@ -419,4 +431,5 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    + diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_TerraformResource.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_TerraformResource.mdx index 824d1795..ae02b234 100644 --- a/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_TerraformResource.mdx +++ b/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_TerraformResource.mdx @@ -5,24 +5,24 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    -

    {DICTIONARY.terraformResource.full}

    +

    {DICTIONARY['v1.13.0'].terraformResource.full}

      -
    • `items` - {DICTIONARY.terraformItems.short}
    • -
    • `items.$ruleName` - {DICTIONARY.terraformRuleName.short}
    • -
    • `items.$ruleName.traffic` - {DICTIONARY.traffic.short}
    • -
    • `items.$ruleName.transport` - {DICTIONARY.transport.short}
    • -
    • `items.$ruleName.sg` - {DICTIONARY.sg.short}
    • -
    • `items.$ruleName.sg_local` - {DICTIONARY.sgLocal.short}
    • -
    • `items.$ruleName.ports` - {DICTIONARY.ports.short}
    • -
    • `items.$ruleName.ports[].d` - {DICTIONARY.dstPorts.short}
    • -
    • `items.$ruleName.ports[].s` - {DICTIONARY.srcPorts.short}
    • -
    • `items.$ruleName.logs` - {DICTIONARY.log.short}
    • -
    • `items.$ruleName.trace` - {DICTIONARY.trace.short}
    • -
    • `items.$ruleName.ip_v` - {DICTIONARY.icmpV.short}
    • -
    • `items.$ruleName.type` - {DICTIONARY.icmpTypes.short}
    • -
    • `items.$ruleName.action` - {DICTIONARY.action.short}
    • -
    • `items.$ruleName.priority` - {DICTIONARY.priority.short}
    • +
    • `items` - {DICTIONARY['v1.13.0'].terraformItems.short}
    • +
    • `items.$ruleName` - {DICTIONARY['v1.13.0'].terraformRuleName.short}
    • +
    • `items.$ruleName.traffic` - {DICTIONARY['v1.13.0'].traffic.short}
    • +
    • `items.$ruleName.transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `items.$ruleName.sg` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `items.$ruleName.sg_local` - {DICTIONARY['v1.13.0'].sgLocal.short}
    • +
    • `items.$ruleName.ports` - {DICTIONARY['v1.13.0'].ports.short}
    • +
    • `items.$ruleName.ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `items.$ruleName.ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `items.$ruleName.logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `items.$ruleName.trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `items.$ruleName.ip_v` - {DICTIONARY['v1.13.0'].icmpV.short}
    • +
    • `items.$ruleName.type` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `items.$ruleName.action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `items.$ruleName.priority` - {DICTIONARY['v1.13.0'].priority.short}
    @@ -191,35 +191,35 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `items`: - +
    • `items.$ruleName`: - +
    • `items.$ruleName.sg`: - +
    • `items.$ruleName.sg_local`: - +
    • `items.$ruleName.ports[].s`: - +
    • `items.$ruleName.ports[].d`: - +
    • `items.$ruleName.type[]`: - +
    • `items.$ruleName.priority`: - +
    diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_Api.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_Api.mdx index 07575025..671fc4ec 100644 --- a/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_Api.mdx +++ b/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_Api.mdx @@ -10,22 +10,22 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' #### Входные параметры
      -
    • `$node.rules[]` - {DICTIONARY.rules.short}
    • -
    • `$node.rules[].sgFrom` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].sgTo` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY.log.short}
    • -
    • `$node.rules[].trace` - {DICTIONARY.trace.short}
    • -
    • `$node.rules[].ports` - {DICTIONARY.ports.short}
    • -
    • `$node.rules[].ports[].d` - {DICTIONARY.dstPorts.short}
    • -
    • `$node.rules[].ports[].s` - {DICTIONARY.srcPorts.short}
    • -
    • `$node.rules[].transport` - {DICTIONARY.transport.short}
    • -
    • `$node.rules[].ICMP` - {DICTIONARY.apiIcmp.short}
    • -
    • `$node.rules[].ICMP.IPv` - {DICTIONARY.icmpV.short}
    • -
    • `$node.rules[].ICMP.Types` - {DICTIONARY.icmpTypes.short}
    • -
    • `$node.rules[].action` - {DICTIONARY.action.short}
    • -
    • `$node.rules[].priority` - {DICTIONARY.priorityst.short}
    • -
    • `$node.rules[].priority.some` - {DICTIONARY.priority.short}
    • -
    • `syncOp` - {DICTIONARY.syncOp.short}
    • +
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `$node.rules[].sgFrom` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].sgTo` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$node.rules[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$node.rules[].ports` - {DICTIONARY['v1.13.0'].ports.short}
    • +
    • `$node.rules[].ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `$node.rules[].ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `$node.rules[].transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `$node.rules[].ICMP` - {DICTIONARY['v1.13.0'].apiIcmp.short}
    • +
    • `$node.rules[].ICMP.IPv` - {DICTIONARY['v1.13.0'].icmpV.short}
    • +
    • `$node.rules[].ICMP.Types` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `$node.rules[].action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `$node.rules[].priority` - {DICTIONARY['v1.13.0'].priorityst.short}
    • +
    • `$node.rules[].priority.some` - {DICTIONARY['v1.13.0'].priority.short}
    • +
    • `syncOp` - {DICTIONARY['v1.13.0'].syncOp.short}
    @@ -203,23 +203,23 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'
    • `sgSgRules.rules[].sgFrom`: - +
    • `sgSgRules.rules[].sgTo`: - +
    • `sgSgRules.rules[].ports[].d`: - +
    • `sgSgRules.rules[].ports[].s`: - +
    • `sgSgRules.rules[].ICMP.Types[]`: - +
    @@ -283,8 +283,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    @@ -371,8 +371,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    @@ -458,8 +458,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    @@ -551,8 +551,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_Nftables.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_Nftables.mdx index 299985ed..448ef610 100644 --- a/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_Nftables.mdx +++ b/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_Nftables.mdx @@ -8,17 +8,17 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts'
      -
    • `$Trace` - {DICTIONARY.trace.short}
    • -
    • `$SrcSgroup` - {DICTIONARY.sg.short}
    • -
    • `$DstGroup` - {DICTIONARY.sg.short}
    • -
    • `$Transport` - {DICTIONARY.transport.short}
    • -
    • `$NftRuleType` - {DICTIONARY.nftRuleType.short}
    • -
    • `$IcmpTypeList` - {DICTIONARY.icmpTypes.short}
    • -
    • `$SrcPorts` - {DICTIONARY.srcPorts.short}
    • -
    • `$DstPorts` - {DICTIONARY.dstPorts.short}
    • -
    • `$NftCounter` - {DICTIONARY.nftCounter.short}
    • -
    • `$Log` - {DICTIONARY.log.short}
    • -
    • `$NftRuleVerdict` - {DICTIONARY.nftRuleVerdict.short}
    • +
    • `$Trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$SrcSgroup` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$DstGroup` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$Transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `$NftRuleType` - {DICTIONARY['v1.13.0'].nftRuleType.short}
    • +
    • `$IcmpTypeList` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `$SrcPorts` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `$DstPorts` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `$NftCounter` - {DICTIONARY['v1.13.0'].nftCounter.short}
    • +
    • `$Log` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$NftRuleVerdict` - {DICTIONARY['v1.13.0'].nftRuleVerdict.short}
    diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_TerraformModule.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_TerraformModule.mdx index 37c8849d..64693ba1 100644 --- a/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_TerraformModule.mdx +++ b/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_TerraformModule.mdx @@ -5,28 +5,38 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    -

    {DICTIONARY.terraformModule.full}

    +

    {DICTIONARY['v1.13.0'].terraformModule.full}

    Далее везде в документе подразумевается что все места, содержащие переменную `$transport` иогут принимать одно из четырех значений: `tcp`, `udp`, `icmpIPv4`, `icmpIPv6`.
      -
    • `rules` - {DICTIONARY.rules.short}
    • +
    • `rules` - {DICTIONARY['v1.13.0'].rules.short}
    • `rules.s2s[]` - Список правил, описывающий сетевое взаимодействие текущей Security Group с внешней Security Group.
    • -
    • `rules.s2s[].sgroupSet[]` - {DICTIONARY.sgroupSet.short}
    • -
    • `rules.s2s[].access.$transport` - {DICTIONARY.transport.short}
    • -
    • `rules.s2s[].access.$transport.action` - {DICTIONARY.action.short}
    • -
    • `rules.s2s[].access.$transport.priority` - {DICTIONARY.priority.short}
    • -
    • `rules.s2s[].access.$transport.log` - {DICTIONARY.log.short}
    • -
    • `rules.s2s[].access.$transport.trace` - {DICTIONARY.trace.short}
    • -
    • `rules.s2s[].access.$transport.ports[].description` - {DICTIONARY.description.short}
    • -
    • `rules.s2s[].access.$transport.ports[].ports_to[]` - {DICTIONARY.dstPorts.short}
    • -
    • `rules.s2s[].access.$transport.ports[].ports_from[]` - {DICTIONARY.srcPorts.short}
    • -
    • `rules.s2s[].access.$transport.types[].description` - {DICTIONARY.description.short}
    • -
    • `rules.s2s[].access.$transport.types[].type[]` - {DICTIONARY.icmpTypes.short}
    • +
    • `rules.s2s[].sgroupSet[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    • +
    • `rules.s2s[].access.$transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `rules.s2s[].access.$transport.action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `rules.s2s[].access.$transport.priority` - {DICTIONARY['v1.13.0'].priority.short}
    • +
    • `rules.s2s[].access.$transport.log` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `rules.s2s[].access.$transport.trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • + `rules.s2s[].access.$transport.ports[].description` - {DICTIONARY['v1.13.0'].description.short} +
    • +
    • + `rules.s2s[].access.$transport.ports[].ports_to[]` - {DICTIONARY['v1.13.0'].dstPorts.short} +
    • +
    • + `rules.s2s[].access.$transport.ports[].ports_from[]` - {DICTIONARY['v1.13.0'].srcPorts.short} +
    • +
    • + `rules.s2s[].access.$transport.types[].description` - {DICTIONARY['v1.13.0'].description.short} +
    • +
    • + `rules.s2s[].access.$transport.types[].type[]` - {DICTIONARY['v1.13.0'].icmpTypes.short} +
    @@ -153,27 +163,27 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `name`: - +
    • `rules.s2s[].sgroupSet`: - +
    • `rules.s2s[].access.$transport.priority`: - +
    • `rules.s2s[].access.$transport.ports[].ports_to[]`: - +
    • `rules.s2s[].access.$transport.ports[].ports_from[]`: - +
    • `rules.s2s[].access.$transport.types[].type[]`: - +
    @@ -281,4 +291,5 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' - 8 ``` + diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_TerraformResource.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_TerraformResource.mdx index 3eacb7a2..dfd359ae 100644 --- a/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_TerraformResource.mdx +++ b/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_TerraformResource.mdx @@ -5,23 +5,23 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    -

    {DICTIONARY.terraformResource.full}

    +

    {DICTIONARY['v1.13.0'].terraformResource.full}

      -
    • `items` - {DICTIONARY.terraformItems.short}
    • -
    • `items.$ruleName` - {DICTIONARY.terraformRuleName.short}
    • -
    • `items.$ruleName.transport` - {DICTIONARY.transport.short}
    • -
    • `items.$ruleName.sg_from` - {DICTIONARY.sg.short}
    • -
    • `items.$ruleName.sg_to` - {DICTIONARY.sg.short}
    • -
    • `items.$ruleName.ports` - {DICTIONARY.ports.short}
    • -
    • `items.$ruleName.ports[].d` - {DICTIONARY.dstPorts.short}
    • -
    • `items.$ruleName.ports[].s` - {DICTIONARY.srcPorts.short}
    • -
    • `items.$ruleName.logs` - {DICTIONARY.log.short}
    • -
    • `items.$ruleName.trace` - {DICTIONARY.trace.short}
    • -
    • `items.$ruleName.ip_v` - {DICTIONARY.icmpV.short}
    • -
    • `items.$ruleName.type` - {DICTIONARY.icmpTypes.short}
    • -
    • `items.$ruleName.action` - {DICTIONARY.action.short}
    • -
    • `items.$ruleName.priority` - {DICTIONARY.priority.short}
    • +
    • `items` - {DICTIONARY['v1.13.0'].terraformItems.short}
    • +
    • `items.$ruleName` - {DICTIONARY['v1.13.0'].terraformRuleName.short}
    • +
    • `items.$ruleName.transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `items.$ruleName.sg_from` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `items.$ruleName.sg_to` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `items.$ruleName.ports` - {DICTIONARY['v1.13.0'].ports.short}
    • +
    • `items.$ruleName.ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `items.$ruleName.ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `items.$ruleName.logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `items.$ruleName.trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `items.$ruleName.ip_v` - {DICTIONARY['v1.13.0'].icmpV.short}
    • +
    • `items.$ruleName.type` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `items.$ruleName.action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `items.$ruleName.priority` - {DICTIONARY['v1.13.0'].priority.short}
    @@ -179,35 +179,35 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `items`: - +
    • `items.$ruleName`: - +
    • `items.$ruleName.sg_from`: - +
    • `items.$ruleName.sg_to`: - +
    • `items.$ruleName.ports[].s`: - +
    • `items.$ruleName.ports[].d`: - +
    • `items.$ruleName.type[]`: - +
    • `items.$ruleName.priority`: - +

    Пример использования

    diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_Api.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_Api.mdx index ca1b4b47..31fbbf72 100644 --- a/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_Api.mdx +++ b/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_Api.mdx @@ -12,19 +12,19 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'
    • `groups.grous[]` - Структура, содержащая описание создаваемых Security Group
    • `groups.groups[].defaultAction` - представляет действие по умолчанию в конце цепочек для SG
    • -
    • `groups.groups[].logs` - {DICTIONARY.log.short}
    • -
    • `groups.groups[].name` - {DICTIONARY.sgLocal.short}
    • +
    • `groups.groups[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `groups.groups[].name` - {DICTIONARY['v1.13.0'].sgLocal.short}
    • `groups.groups[].networks` - Имена подсетей
    • -
    • `groups.groups[].trace` - {DICTIONARY.trace.short}
    • -
    • `sgIcmpRules.rules[]` - {DICTIONARY.rules.short}
    • -
    • `sgIcmpRules.rules[].ICMP` - {DICTIONARY.apiIcmp.short}
    • -
    • `sgIcmpRules.rules[].ICMP.IPv` - {DICTIONARY.icmpV.short}
    • -
    • `sgIcmpRules.rules[].ICMP.Types` - {DICTIONARY.icmpTypes.short}
    • -
    • `sgIcmpRules.rules[].Sg` - {DICTIONARY.sgLocal.short}
    • -
    • `sgIcmpRules.rules[].logs` - {DICTIONARY.log.short}
    • -
    • `sgIcmpRules.rules[].trace` - {DICTIONARY.trace.short}
    • -
    • `sgIcmpRules.rules[].action` - {DICTIONARY.action.short}
    • -
    • `syncOp` - {DICTIONARY.syncOp.short}
    • +
    • `groups.groups[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `sgIcmpRules.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `sgIcmpRules.rules[].ICMP` - {DICTIONARY['v1.13.0'].apiIcmp.short}
    • +
    • `sgIcmpRules.rules[].ICMP.IPv` - {DICTIONARY['v1.13.0'].icmpV.short}
    • +
    • `sgIcmpRules.rules[].ICMP.Types` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `sgIcmpRules.rules[].Sg` - {DICTIONARY['v1.13.0'].sgLocal.short}
    • +
    • `sgIcmpRules.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `sgIcmpRules.rules[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `sgIcmpRules.rules[].action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `syncOp` - {DICTIONARY['v1.13.0'].syncOp.short}
    @@ -178,19 +178,19 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'
    • `groups.groups[].name`: - +
    • `groups.groups[].networks[]`: - +
    • `sgIcmpRules.rules[].Sg`: - +
    • `$node.rules[].type[]`: - +
    @@ -243,8 +243,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    @@ -341,8 +341,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + + @@ -384,4 +384,5 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' + diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_Nftables.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_Nftables.mdx index 5fd73d31..609ab4e8 100644 --- a/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_Nftables.mdx +++ b/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_Nftables.mdx @@ -6,12 +6,12 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' рамках инструмента nftables, обеспечивая более широкие возможности для управления подсетями и правилами.
      -
    • `$Trace` - {DICTIONARY.trace.short}
    • -
    • `$Transport` - {DICTIONARY.transport.short}
    • -
    • `$TypeList` - {DICTIONARY.icmpTypes.short}
    • -
    • `$Log` - {DICTIONARY.log.short}
    • -
    • `$Counter` - {DICTIONARY.nftCounter.short}
    • -
    • `$Verdict` - {DICTIONARY.nftRuleVerdict.short}
    • +
    • `$Trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$Transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `$TypeList` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `$Log` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$Counter` - {DICTIONARY['v1.13.0'].nftCounter.short}
    • +
    • `$Verdict` - {DICTIONARY['v1.13.0'].nftRuleVerdict.short}
    diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_TerraformModule.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_TerraformModule.mdx index f56dcfc9..61171412 100644 --- a/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_TerraformModule.mdx +++ b/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_TerraformModule.mdx @@ -3,7 +3,7 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    -

    {DICTIONARY.terraformModule.full}

    +

    {DICTIONARY['v1.13.0'].terraformModule.full}

    Далее везде в документе подразумевается что все места, содержащие переменную `$transport` подразумевается одно из двух @@ -53,13 +53,13 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' default_rules.access.default.logs - {DICTIONARY.log.short} + {DICTIONARY['v1.13.0'].log.short} Boolean false default_rules.access.default.trace - {DICTIONARY.trace.short} + {DICTIONARY['v1.13.0'].trace.short} Boolean false @@ -84,25 +84,25 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' default_rules.access.$transport.logs - {DICTIONARY.log.short} + {DICTIONARY['v1.13.0'].log.short} Boolean false default_rules.access.$transport.trace - {DICTIONARY.trace.short} + {DICTIONARY['v1.13.0'].trace.short} Boolean false default_rules.access.$transport.type[] - {DICTIONARY.icmpTypes.short} + {DICTIONARY['v1.13.0'].icmpTypes.short} Integer[] [] default_rules.access.$transport.action - {DICTIONARY.action.short} + {DICTIONARY['v1.13.0'].action.short} Enum("ACCEPT", "DROP") `ACCEPT` @@ -115,19 +115,19 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `name`: - +
    • `cidrs[]`: - +
    • `default_rules.access.icmp.type`: - +
    • `default_rules.access.icmp6.type`: - +
    diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_TerraformResource.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_TerraformResource.mdx index f993858f..5c6bf065 100644 --- a/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_TerraformResource.mdx +++ b/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_TerraformResource.mdx @@ -3,11 +3,11 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    -

    {DICTIONARY.terraformResource.full}

    +

    {DICTIONARY['v1.13.0'].terraformResource.full}

    Далее везде в документе подразумевается что все места, содержащие переменную `$transport` ( - {DICTIONARY.transport.short}) подразумевается одно из двух значений: `icmp`, `icmp6`. + {DICTIONARY['v1.13.0'].transport.short}) подразумевается одно из двух значений: `icmp`, `icmp6`.
    @@ -52,13 +52,13 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' items.key.logs нет Boolean - {DICTIONARY.log.short} + {DICTIONARY['v1.13.0'].log.short} items.key.trace нет Boolean - {DICTIONARY.trace.short} + {DICTIONARY['v1.13.0'].trace.short} items.key.default_action @@ -81,25 +81,25 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' items.key.$transport.logs нет Boolean - {DICTIONARY.log.short} + {DICTIONARY['v1.13.0'].log.short} items.key.$transport.trace нет Boolean - {DICTIONARY.trace.short} + {DICTIONARY['v1.13.0'].trace.short} items.key.$transport.type[] да String[] - {DICTIONARY.icmpTypes.short} + {DICTIONARY['v1.13.0'].icmpTypes.short} items.key.$transport.action да Enum("ACCEPT", "DROP") - {DICTIONARY.action.short} + {DICTIONARY['v1.13.0'].action.short} @@ -110,27 +110,27 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `items`: - +
    • `items.key`: - +
    • `items.key.name`: - +
    • `items.key.networks`: - +
    • `items.key.icmp.type`: - +
    • `items.key.icmp6.type`: - +
    diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/address-sg.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/address-sg.mdx index 2600b6aa..839d1db4 100644 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/address-sg.mdx +++ b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/address-sg.mdx @@ -20,7 +20,7 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts'
    • - `{address}` - {DICTIONARY.cidr.short} + `{address}` - {DICTIONARY['v1.13.0'].cidr.short}
    @@ -55,11 +55,11 @@ curl '127.0.0.1:9007/v1/10.150.0.224/sg' \

    Выходные параметры

      -
    • `$node.name` - {DICTIONARY.sg.short}
    • -
    • `$node.logs` - {DICTIONARY.log.short}
    • -
    • `$node.trace` - {DICTIONARY.trace.short}
    • -
    • `$node.networks` - {DICTIONARY.networkNames.short}
    • -
    • `$node.defaultAction` - {DICTIONARY.defaultAction.short}
    • +
    • `$node.name` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$node.trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$node.networks` - {DICTIONARY['v1.13.0'].networkNames.short}
    • +
    • `$node.defaultAction` - {DICTIONARY['v1.13.0'].defaultAction.short}
    @@ -109,8 +109,8 @@ curl '127.0.0.1:9007/v1/10.150.0.224/sg' \

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/cidr-sg-icmp-rules.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/cidr-sg-icmp-rules.mdx index 2609bc8b..cdbe5cc4 100644 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/cidr-sg-icmp-rules.mdx +++ b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/cidr-sg-icmp-rules.mdx @@ -22,7 +22,7 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' #### Входные параметры
      -
    • `sg[]` - {DICTIONARY.sgroupSet.short}
    • +
    • `sg[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    @@ -42,7 +42,7 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' Object[] - +
    @@ -51,7 +51,7 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `sg[]`: - +
    @@ -68,15 +68,15 @@ curl '127.0.0.1:9007/v1/cidr-sg-icmp/rules' \

    Выходные параметры

      -
    • `$node.rules[]` - {DICTIONARY.rules.short}
    • -
    • `$node.rules[].CIDR` - {DICTIONARY.cidr.short}
    • -
    • `$node.rules[].SG` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY.log.short}
    • -
    • `$node.rules[].trace` - {DICTIONARY.trace.short}
    • -
    • `$node.rules[].ICMP` - {DICTIONARY.apiIcmp.short}
    • -
    • `$node.rules[].ICMP.IPv` - {DICTIONARY.icmpV.short}
    • -
    • `$node.rules[].ICMP.Types[]` - {DICTIONARY.icmpTypes.short}
    • -
    • `$node.rules[].traffic` - {DICTIONARY.traffic.short}
    • +
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `$node.rules[].CIDR` - {DICTIONARY['v1.13.0'].cidr.short}
    • +
    • `$node.rules[].SG` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$node.rules[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$node.rules[].ICMP` - {DICTIONARY['v1.13.0'].apiIcmp.short}
    • +
    • `$node.rules[].ICMP.IPv` - {DICTIONARY['v1.13.0'].icmpV.short}
    • +
    • `$node.rules[].ICMP.Types[]` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `$node.rules[].traffic` - {DICTIONARY['v1.13.0'].traffic.short}
    @@ -148,7 +148,7 @@ curl '127.0.0.1:9007/v1/cidr-sg-icmp/rules' \

    Возможные ошибки API

    - +

    Диаграмма последовательности

    diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/cidr-sg-rules.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/cidr-sg-rules.mdx index ff0d930b..427244ae 100644 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/cidr-sg-rules.mdx +++ b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/cidr-sg-rules.mdx @@ -22,7 +22,7 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' #### Входные параметры
      -
    • `sg[]` - {DICTIONARY.sgroupSet.short}
    • +
    • `sg[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    @@ -42,7 +42,7 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' Object[] - +
    @@ -51,7 +51,7 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `sg[]`: - +
    @@ -68,16 +68,16 @@ curl '127.0.0.1:9007/v1/cidr-sg/rules' \

    Выходные параметры

      -
    • `$node.rules[]` - {DICTIONARY.rules.short}
    • -
    • `$node.rules[].CIDR` - {DICTIONARY.cidr.short}
    • -
    • `$node.rules[].SG` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY.log.short}
    • -
    • `$node.rules[].trace` - {DICTIONARY.trace.short}
    • -
    • `$node.rules[].ports` - {DICTIONARY.ports.short}
    • -
    • `$node.rules[].ports[].d` - {DICTIONARY.dstPorts.short}
    • -
    • `$node.rules[].ports[].s` - {DICTIONARY.srcPorts.short}
    • -
    • `$node.rules[].transport` - {DICTIONARY.transport.short}
    • -
    • `$node.rules[].traffic` - {DICTIONARY.traffic.short}
    • +
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `$node.rules[].CIDR` - {DICTIONARY['v1.13.0'].cidr.short}
    • +
    • `$node.rules[].SG` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$node.rules[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$node.rules[].ports` - {DICTIONARY['v1.13.0'].ports.short}
    • +
    • `$node.rules[].ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `$node.rules[].ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `$node.rules[].transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `$node.rules[].traffic` - {DICTIONARY['v1.13.0'].traffic.short}
    @@ -154,7 +154,7 @@ curl '127.0.0.1:9007/v1/cidr-sg/rules' \

    Возможные ошибки API

    - +

    Диаграмма последовательности

    diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/fqdn-rules.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/fqdn-rules.mdx index f028e40e..04fc9440 100644 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/fqdn-rules.mdx +++ b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/fqdn-rules.mdx @@ -22,7 +22,7 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' #### Входные параметры
      -
    • `sgFrom[]` - {DICTIONARY.sgroupSet.short}
    • +
    • `sgFrom[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    @@ -42,7 +42,7 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' Object[] - +
    @@ -51,7 +51,7 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `sgFrom[]`: - +
    @@ -68,15 +68,15 @@ curl '127.0.0.1:9007/v1/fqdn/rules' \

    Выходные параметры

      -
    • `$node.rules[]` - {DICTIONARY.rules.short}
    • -
    • `$node.rules[].FQDN` - {DICTIONARY.fqdn.short}
    • -
    • `$node.rules[].sgFrom` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY.log.short}
    • -
    • `$node.rules[].ports` - {DICTIONARY.ports.short}
    • -
    • `$node.rules[].ports[].d` - {DICTIONARY.dstPorts.short}
    • -
    • `$node.rules[].ports[].s` - {DICTIONARY.srcPorts.short}
    • -
    • `$node.rules[].transport` - {DICTIONARY.transport.short}
    • -
    • `$node.rules[].protocols` - {DICTIONARY.l7ProtocolList.short}
    • +
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `$node.rules[].FQDN` - {DICTIONARY['v1.13.0'].fqdn.short}
    • +
    • `$node.rules[].sgFrom` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$node.rules[].ports` - {DICTIONARY['v1.13.0'].ports.short}
    • +
    • `$node.rules[].ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `$node.rules[].ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `$node.rules[].transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `$node.rules[].protocols` - {DICTIONARY['v1.13.0'].l7ProtocolList.short}
    @@ -148,8 +148,8 @@ curl '127.0.0.1:9007/v1/fqdn/rules' \

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/ie-sg-sg-icmp-rules.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/ie-sg-sg-icmp-rules.mdx index 41394a2b..b5ca2115 100644 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/ie-sg-sg-icmp-rules.mdx +++ b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/ie-sg-sg-icmp-rules.mdx @@ -21,8 +21,8 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' #### Входные параметры
      -
    • `Sg[]` - {DICTIONARY.sgroupSet.short}
    • -
    • `SgLocal[]` - {DICTIONARY.sgroupSet.short}
    • +
    • `Sg[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    • +
    • `SgLocal[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    @@ -66,15 +66,15 @@ curl '127.0.0.1:9007/v1/ie-sg-sg-icmp/rules' \

    Выходные параметры

      -
    • `$node.rules[]` - {DICTIONARY.rules.short}
    • -
    • `$node.rules[].Sg` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].SgLocal` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY.log.short}
    • -
    • `$node.rules[].trace` - {DICTIONARY.trace.short}
    • -
    • `$node.rules[].ICMP` - {DICTIONARY.apiIcmp.short}
    • -
    • `$node.rules[].ICMP.IPv` - {DICTIONARY.icmpV.short}
    • -
    • `$node.rules[].ICMP.Types[]` - {DICTIONARY.icmpTypes.short}
    • -
    • `$node.rules[].traffic` - {DICTIONARY.traffic.short}
    • +
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `$node.rules[].Sg` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].SgLocal` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$node.rules[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$node.rules[].ICMP` - {DICTIONARY['v1.13.0'].apiIcmp.short}
    • +
    • `$node.rules[].ICMP.IPv` - {DICTIONARY['v1.13.0'].icmpV.short}
    • +
    • `$node.rules[].ICMP.Types[]` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `$node.rules[].traffic` - {DICTIONARY['v1.13.0'].traffic.short}
    @@ -146,7 +146,7 @@ curl '127.0.0.1:9007/v1/ie-sg-sg-icmp/rules' \

    Возможные ошибки API

    - +

    Диаграмма последовательности

    diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/ie-sg-sg-rules.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/ie-sg-sg-rules.mdx index 2bdeb1d0..2f14cf57 100644 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/ie-sg-sg-rules.mdx +++ b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/ie-sg-sg-rules.mdx @@ -21,8 +21,8 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' #### Входные параметры
      -
    • `Sg[]` - {DICTIONARY.sgroupSet.short}
    • -
    • `SgLocal[]` - {DICTIONARY.sgroupSet.short}
    • +
    • `Sg[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    • +
    • `SgLocal[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    @@ -66,16 +66,16 @@ curl '127.0.0.1:9007/v1/ie-sg-sg/rules' \

    Выходные параметры

      -
    • `$node.rules[]` - {DICTIONARY.rules.short}
    • -
    • `$node.rules[].Sg` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].SgLocal` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY.log.short}
    • -
    • `$node.rules[].trace` - {DICTIONARY.trace.short}
    • -
    • `$node.rules[].ports` - {DICTIONARY.ports.short}
    • -
    • `$node.rules[].ports[].d` - {DICTIONARY.dstPorts.short}
    • -
    • `$node.rules[].ports[].s` - {DICTIONARY.srcPorts.short}
    • -
    • `$node.rules[].traffic` - {DICTIONARY.traffic.short}
    • -
    • `$node.rules[].transport` - {DICTIONARY.transport.short}
    • +
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `$node.rules[].Sg` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].SgLocal` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$node.rules[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$node.rules[].ports` - {DICTIONARY['v1.13.0'].ports.short}
    • +
    • `$node.rules[].ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `$node.rules[].ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `$node.rules[].traffic` - {DICTIONARY['v1.13.0'].traffic.short}
    • +
    • `$node.rules[].transport` - {DICTIONARY['v1.13.0'].transport.short}
    @@ -152,7 +152,7 @@ curl '127.0.0.1:9007/v1/ie-sg-sg/rules' \

    Возможные ошибки API

    - +

    Диаграмма последовательности

    diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/networks.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/networks.mdx index fdb0135a..f1d6c2f9 100644 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/networks.mdx +++ b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/networks.mdx @@ -20,7 +20,7 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' #### Входные параметры
      -
    • `neteworkNames[]` - {DICTIONARY.networkNames.short}
    • +
    • `neteworkNames[]` - {DICTIONARY['v1.13.0'].networkNames.short}
    @@ -57,10 +57,10 @@ curl '127.0.0.1:9007/v1/list/networks' \

    Выходные параметры

      -
    • `$node.networks[]` - {DICTIONARY.rules.short}
    • -
    • `$node.networks[].name` - {DICTIONARY.nw.short}
    • -
    • `$node.networks[].network` - {DICTIONARY.networkObject.short}
    • -
    • `$node.networks[].network.CIDR` - {DICTIONARY.networks.short}
    • +
    • `$node.networks[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `$node.networks[].name` - {DICTIONARY['v1.13.0'].nw.short}
    • +
    • `$node.networks[].network` - {DICTIONARY['v1.13.0'].networkObject.short}
    • +
    • `$node.networks[].network.CIDR` - {DICTIONARY['v1.13.0'].networks.short}
    @@ -107,8 +107,8 @@ curl '127.0.0.1:9007/v1/list/networks' \

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/rules.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/rules.mdx index d03ac5de..b859983f 100644 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/rules.mdx +++ b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/rules.mdx @@ -21,8 +21,8 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' #### Входные параметры
      -
    • `sgFrom[]` - {DICTIONARY.sgroupSet.short}
    • -
    • `sgTo[]` - {DICTIONARY.sgroupSet.short}
    • +
    • `sgFrom[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    • +
    • `sgTo[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    @@ -66,14 +66,14 @@ curl '127.0.0.1:9007/v1/rules' \

    Выходные параметры

      -
    • `$node.rules[]` - {DICTIONARY.rules.short}
    • -
    • `$node.rules[].sgFrom` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].sgTo` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY.log.short}
    • -
    • `$node.rules[].ports` - {DICTIONARY.ports.short}
    • -
    • `$node.rules[].ports[].d` - {DICTIONARY.dstPorts.short}
    • -
    • `$node.rules[].ports[].s` - {DICTIONARY.srcPorts.short}
    • -
    • `$node.rules[].transport` - {DICTIONARY.transport.short}
    • +
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `$node.rules[].sgFrom` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].sgTo` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$node.rules[].ports` - {DICTIONARY['v1.13.0'].ports.short}
    • +
    • `$node.rules[].ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `$node.rules[].ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `$node.rules[].transport` - {DICTIONARY['v1.13.0'].transport.short}
    @@ -140,8 +140,8 @@ curl '127.0.0.1:9007/v1/rules' \

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/security-groups.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/security-groups.mdx index 562d9741..1ce08409 100644 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/security-groups.mdx +++ b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/security-groups.mdx @@ -22,7 +22,7 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' #### Входные параметры
      -
    • `sgNames[]` - {DICTIONARY.sgroupSet.short}
    • +
    • `sgNames[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    @@ -59,12 +59,12 @@ curl '127.0.0.1:9007/v1/list/security-groups' \

    Выходные параметры

      -
    • `$node.groups[]` - {DICTIONARY.rules.short}
    • -
    • `$node.groups[].name` - {DICTIONARY.sg.short}
    • -
    • `$node.groups[].logs` - {DICTIONARY.log.short}
    • -
    • `$node.groups[].trace` - {DICTIONARY.trace.short}
    • -
    • `$node.groups[].networks` - {DICTIONARY.networks.short}
    • -
    • `$node.groups[].defaultAction` - {DICTIONARY.apiIcmp.short}
    • +
    • `$node.groups[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `$node.groups[].name` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.groups[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$node.groups[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$node.groups[].networks` - {DICTIONARY['v1.13.0'].networks.short}
    • +
    • `$node.groups[].defaultAction` - {DICTIONARY['v1.13.0'].apiIcmp.short}
    @@ -120,7 +120,7 @@ curl '127.0.0.1:9007/v1/list/security-groups' \

    Возможные ошибки API

    - +

    Диаграмма последовательности

    diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/sg-icmp-rules.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/sg-icmp-rules.mdx index 97616e9a..e23b8e74 100644 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/sg-icmp-rules.mdx +++ b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/sg-icmp-rules.mdx @@ -20,7 +20,7 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' #### Входные параметры
      -
    • `sg[]` - {DICTIONARY.sgroupSet.short}
    • +
    • `sg[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    @@ -57,13 +57,13 @@ curl '127.0.0.1:9007/v1/sg-icmp/rules' \

    Выходные параметры

      -
    • `$node.rules[]` - {DICTIONARY.rules.short}
    • -
    • `$node.rules[].Sg` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY.log.short}
    • -
    • `$node.rules[].trace` - {DICTIONARY.trace.short}
    • -
    • `$node.rules[].ICMP` - {DICTIONARY.apiIcmp.short}
    • -
    • `$node.rules[].ICMP.IPv` - {DICTIONARY.icmpV.short}
    • -
    • `$node.rules[].ICMP.Types[]` - {DICTIONARY.icmpTypes.short}
    • +
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `$node.rules[].Sg` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$node.rules[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$node.rules[].ICMP` - {DICTIONARY['v1.13.0'].apiIcmp.short}
    • +
    • `$node.rules[].ICMP.IPv` - {DICTIONARY['v1.13.0'].icmpV.short}
    • +
    • `$node.rules[].ICMP.Types[]` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    @@ -125,8 +125,8 @@ curl '127.0.0.1:9007/v1/sg-icmp/rules' \

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/sg-sg-icmp-rules.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/sg-sg-icmp-rules.mdx index e9e69332..dbc52f54 100644 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/sg-sg-icmp-rules.mdx +++ b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/sg-sg-icmp-rules.mdx @@ -21,8 +21,8 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' #### Входные параметры
      -
    • `sgFrom[]` - {DICTIONARY.sgroupSet.short}
    • -
    • `sgTo[]` - {DICTIONARY.sgroupSet.short}
    • +
    • `sgFrom[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    • +
    • `sgTo[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    @@ -66,14 +66,14 @@ curl '127.0.0.1:9007/v1/sg-sg-icmp/rules' \

    Выходные параметры

      -
    • `$node.rules[]` - {DICTIONARY.rules.short}
    • -
    • `$node.rules[].SgFrom` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].SgTo` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY.log.short}
    • -
    • `$node.rules[].trace` - {DICTIONARY.trace.short}
    • -
    • `$node.rules[].ICMP` - {DICTIONARY.apiIcmp.short}
    • -
    • `$node.rules[].ICMP.IPv` - {DICTIONARY.icmpV.short}
    • -
    • `$node.rules[].ICMP.Types[]` - {DICTIONARY.icmpTypes.short}
    • +
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `$node.rules[].SgFrom` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].SgTo` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$node.rules[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$node.rules[].ICMP` - {DICTIONARY['v1.13.0'].apiIcmp.short}
    • +
    • `$node.rules[].ICMP.IPv` - {DICTIONARY['v1.13.0'].icmpV.short}
    • +
    • `$node.rules[].ICMP.Types[]` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    @@ -140,8 +140,8 @@ curl '127.0.0.1:9007/v1/sg-sg-icmp/rules' \

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/status.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/status.mdx index 55566960..6be6451c 100644 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/status.mdx +++ b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/status.mdx @@ -56,7 +56,7 @@ curl '127.0.0.1:9007/v1/sync/status' \

    Возможные ошибки API

    - +

    Диаграмма последовательности

    diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/subnets.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/subnets.mdx index d79425f4..c67470ab 100644 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/subnets.mdx +++ b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/subnets.mdx @@ -19,7 +19,7 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts'
    • - `{sgName}` - {DICTIONARY.sg.short} + `{sgName}` - {DICTIONARY['v1.13.0'].sg.short}
    @@ -54,10 +54,10 @@ curl '127.0.0.1:9007/v1/sg/sg-example/subnets' \

    Выходные параметры

      -
    • `$node.networks[]` - {DICTIONARY.networkNames.short}
    • -
    • `$node.networks[].name` - {DICTIONARY.nw.short}
    • -
    • `$node.networks[].network` - {DICTIONARY.networkObject.short}
    • -
    • `$node.networks[].network.CIDR` - {DICTIONARY.cidr.short}
    • +
    • `$node.networks[]` - {DICTIONARY['v1.13.0'].networkNames.short}
    • +
    • `$node.networks[].name` - {DICTIONARY['v1.13.0'].nw.short}
    • +
    • `$node.networks[].network` - {DICTIONARY['v1.13.0'].networkObject.short}
    • +
    • `$node.networks[].network.CIDR` - {DICTIONARY['v1.13.0'].cidr.short}
    @@ -104,8 +104,8 @@ curl '127.0.0.1:9007/v1/sg/sg-example/subnets' \

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    diff --git a/documentation/versioned_docs/version-v1.14.0/info/terminology.mdx b/documentation/versioned_docs/version-v1.14.0/info/terminology.mdx index 33b32c57..142b50b2 100644 --- a/documentation/versioned_docs/version-v1.14.0/info/terminology.mdx +++ b/documentation/versioned_docs/version-v1.14.0/info/terminology.mdx @@ -7,4 +7,4 @@ import { TERMINOLOGY } from '@site/src/constants/terminology.tsx' # Терминология - + diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/networks/_Api.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/networks/_Api.mdx index d524b402..29dac551 100644 --- a/documentation/versioned_docs/version-v1.14.0/snippets/networks/_Api.mdx +++ b/documentation/versioned_docs/version-v1.14.0/snippets/networks/_Api.mdx @@ -8,11 +8,11 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' #### Входные параметры
      -
    • `networks[]` - {DICTIONARY.networks.short}
    • +
    • `networks[]` - {DICTIONARY['v1.13.0'].networks.short}
    • `networks[].name` - название подсети.
    • `networks[].network` - объект содержащий CIDR подсети
    • -
    • `networks[].network.CIDR` - {DICTIONARY.cidr.short}
    • -
    • `syncOp` - {DICTIONARY.syncOp.short}
    • +
    • `networks[].network.CIDR` - {DICTIONARY['v1.13.0'].cidr.short}
    • +
    • `syncOp` - {DICTIONARY['v1.13.0'].syncOp.short}
    @@ -65,11 +65,11 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'
    • `networks.networks[].name`: - +
    • `networks.networks[].network.CIDR`: - +
    @@ -114,8 +114,8 @@ curl '127.0.0.1:9007/v1/sync' \

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/networks/_TerraformModule.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/networks/_TerraformModule.mdx index da3add65..2821425f 100644 --- a/documentation/versioned_docs/version-v1.14.0/snippets/networks/_TerraformModule.mdx +++ b/documentation/versioned_docs/version-v1.14.0/snippets/networks/_TerraformModule.mdx @@ -3,7 +3,7 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    -

    {DICTIONARY.terraformModule.full}

    +

    {DICTIONARY['v1.13.0'].terraformModule.full}

    @@ -38,11 +38,11 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `name`: - +
    • `cidrs[]`: - +
    diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/networks/_TerraformResource.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/networks/_TerraformResource.mdx index 4433b3bc..9ab25c50 100644 --- a/documentation/versioned_docs/version-v1.14.0/snippets/networks/_TerraformResource.mdx +++ b/documentation/versioned_docs/version-v1.14.0/snippets/networks/_TerraformResource.mdx @@ -3,7 +3,7 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    -

    {DICTIONARY.terraformResource.full}

    +

    {DICTIONARY['v1.13.0'].terraformResource.full}

    @@ -39,7 +39,7 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' items.key.cidr да string - {DICTIONARY.cidr.short} + {DICTIONARY['v1.13.0'].cidr.short} @@ -50,19 +50,19 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `items`: - +
    • `items.key`: - +
    • `items.key.name`: - +
    • `items.key.cidr`: - +
    diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/s2c-ie/_Api.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/s2c-ie/_Api.mdx index 4641fd9c..cf1e6839 100644 --- a/documentation/versioned_docs/version-v1.14.0/snippets/s2c-ie/_Api.mdx +++ b/documentation/versioned_docs/version-v1.14.0/snippets/s2c-ie/_Api.mdx @@ -11,23 +11,23 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' #### Входные параметры
      -
    • `$node.rules[]` - {DICTIONARY.rules.short}
    • -
    • `$node.rules[].cidr` - {DICTIONARY.cidrSet.short}
    • -
    • `$node.rules[].sg` - {DICTIONARY.sgLocal.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY.log.short}
    • -
    • `$node.rules[].trace` - {DICTIONARY.trace.short}
    • -
    • `$node.rules[].ports` - {DICTIONARY.ports.short}
    • -
    • `$node.rules[].ports[].d` - {DICTIONARY.dstPorts.short}
    • -
    • `$node.rules[].ports[].s` - {DICTIONARY.srcPorts.short}
    • -
    • `$node.rules[].traffic` - {DICTIONARY.traffic.short}
    • -
    • `$node.rules[].transport` - {DICTIONARY.transport.short}
    • -
    • `$node.rules[].ICMP` - {DICTIONARY.apiIcmp.short}
    • -
    • `$node.rules[].ICMP.IPv` - {DICTIONARY.icmpV.short}
    • -
    • `$node.rules[].ICMP.Types` - {DICTIONARY.icmpTypes.short}
    • -
    • `$node.rules[].action` - {DICTIONARY.action.short}
    • -
    • `$node.rules[].priority` - {DICTIONARY.priorityst.short}
    • -
    • `$node.rules[].priority.some` - {DICTIONARY.priority.short}
    • -
    • `syncOp` - {DICTIONARY.syncOp.short}
    • +
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `$node.rules[].cidr` - {DICTIONARY['v1.13.0'].cidrSet.short}
    • +
    • `$node.rules[].sg` - {DICTIONARY['v1.13.0'].sgLocal.short}
    • +
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$node.rules[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$node.rules[].ports` - {DICTIONARY['v1.13.0'].ports.short}
    • +
    • `$node.rules[].ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `$node.rules[].ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `$node.rules[].traffic` - {DICTIONARY['v1.13.0'].traffic.short}
    • +
    • `$node.rules[].transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `$node.rules[].ICMP` - {DICTIONARY['v1.13.0'].apiIcmp.short}
    • +
    • `$node.rules[].ICMP.IPv` - {DICTIONARY['v1.13.0'].icmpV.short}
    • +
    • `$node.rules[].ICMP.Types` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `$node.rules[].action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `$node.rules[].priority` - {DICTIONARY['v1.13.0'].priorityst.short}
    • +
    • `$node.rules[].priority.some` - {DICTIONARY['v1.13.0'].priority.short}
    • +
    • `syncOp` - {DICTIONARY['v1.13.0'].syncOp.short}
    @@ -214,23 +214,23 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'
    • `$node.rules[].SG`: - +
    • `$node.rules[].CIDR`: - +
    • `$node.rules[].ports[].s`: - +
    • `$node.rules[].ports[].d`: - +
    • `$node.rules[].type[]`: - +
    @@ -332,8 +332,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    @@ -459,8 +459,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    @@ -584,8 +584,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    @@ -715,8 +715,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    @@ -760,4 +760,5 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' + diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/s2c-ie/_Nftables.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/s2c-ie/_Nftables.mdx index 068e3ea6..69f84387 100644 --- a/documentation/versioned_docs/version-v1.14.0/snippets/s2c-ie/_Nftables.mdx +++ b/documentation/versioned_docs/version-v1.14.0/snippets/s2c-ie/_Nftables.mdx @@ -7,17 +7,17 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' nftables. Это позволяет легко интегрировать сложные правила безопасности прямо в вашу систему фильтрации трафика.
      -
    • `$Trace` - {DICTIONARY.trace.short}
    • -
    • `$SrcCIDR` - {DICTIONARY.srcDstCidr.short}
    • -
    • `$DstCIDR` - {DICTIONARY.srcDstCidr.short}
    • -
    • `$Transport` - {DICTIONARY.transport.short}
    • -
    • `$NftRuleType` - {DICTIONARY.nftRuleType.short}
    • -
    • `$IcmpTypeList` - {DICTIONARY.icmpTypes.short}
    • -
    • `$SrcPorts` - {DICTIONARY.srcPorts.short}
    • -
    • `$DstPorts` - {DICTIONARY.dstPorts.short}
    • -
    • `$NftCounter` - {DICTIONARY.nftCounter.short}
    • -
    • `$Log` - {DICTIONARY.log.short}
    • -
    • `$NftRuleVerdict` - {DICTIONARY.nftRuleVerdict.short}
    • +
    • `$Trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$SrcCIDR` - {DICTIONARY['v1.13.0'].srcDstCidr.short}
    • +
    • `$DstCIDR` - {DICTIONARY['v1.13.0'].srcDstCidr.short}
    • +
    • `$Transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `$NftRuleType` - {DICTIONARY['v1.13.0'].nftRuleType.short}
    • +
    • `$IcmpTypeList` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `$SrcPorts` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `$DstPorts` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `$NftCounter` - {DICTIONARY['v1.13.0'].nftCounter.short}
    • +
    • `$Log` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$NftRuleVerdict` - {DICTIONARY['v1.13.0'].nftRuleVerdict.short}
    diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/s2c-ie/_TerraformModule.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/s2c-ie/_TerraformModule.mdx index 0f405fcf..5b65c807 100644 --- a/documentation/versioned_docs/version-v1.14.0/snippets/s2c-ie/_TerraformModule.mdx +++ b/documentation/versioned_docs/version-v1.14.0/snippets/s2c-ie/_TerraformModule.mdx @@ -6,7 +6,7 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    -

    {DICTIONARY.terraformModule.full}

    +

    {DICTIONARY['v1.13.0'].terraformModule.full}

    Далее везде в документе подразумевается что все места, содержащие переменную `$traffic`, могут принять одно из двух @@ -15,19 +15,19 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
      -
    • `rules` - {DICTIONARY.rules.short}
    • -
    • `rules.$traffic[]` - {DICTIONARY.traffic.short}
    • -
    • `rules.$traffic[].cidrSet[]` - {DICTIONARY.cidrSet.short}
    • -
    • `rules.$traffic[].access.$transport` - {DICTIONARY.transport.short}
    • -
    • `rules.$traffic[].access.$transport.action` - {DICTIONARY.action.short}
    • -
    • `rules.$traffic[].access.$transport.priority` - {DICTIONARY.priority.short}
    • -
    • `rules.$traffic[].access.$transport.logs` - {DICTIONARY.log.short}
    • -
    • `rules.$traffic[].access.$transport.trace` - {DICTIONARY.trace.short}
    • -
    • `rules.$traffic[].access.$transport.ports[].description` - {DICTIONARY.description.short}
    • -
    • `rules.$traffic[].access.$transport.ports[].ports_to[]` - {DICTIONARY.dstPorts.short}
    • -
    • `rules.$traffic[].access.$transport.ports[].ports_from[]` - {DICTIONARY.srcPorts.short}
    • -
    • `rules.$traffic[].access.$transport.types[].description` - {DICTIONARY.description.short}
    • -
    • `rules.$traffic[].access.$transport.types[].type[]` - {DICTIONARY.icmpTypes.short}
    • +
    • `rules` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `rules.$traffic[]` - {DICTIONARY['v1.13.0'].traffic.short}
    • +
    • `rules.$traffic[].cidrSet[]` - {DICTIONARY['v1.13.0'].cidrSet.short}
    • +
    • `rules.$traffic[].access.$transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `rules.$traffic[].access.$transport.action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `rules.$traffic[].access.$transport.priority` - {DICTIONARY['v1.13.0'].priority.short}
    • +
    • `rules.$traffic[].access.$transport.logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `rules.$traffic[].access.$transport.trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `rules.$traffic[].access.$transport.ports[].description` - {DICTIONARY['v1.13.0'].description.short}
    • +
    • `rules.$traffic[].access.$transport.ports[].ports_to[]` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `rules.$traffic[].access.$transport.ports[].ports_from[]` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `rules.$traffic[].access.$transport.types[].description` - {DICTIONARY['v1.13.0'].description.short}
    • +
    • `rules.$traffic[].access.$transport.types[].type[]` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    @@ -179,27 +179,27 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `name`: - +
    • `rules.$traffic[].cidrSet`: - +
    • `rules.$traffic[].access.$transport.priority`: - +
    • `rules.$traffic[].access.$transport.ports[].ports_to[]`: - +
    • `rules.$traffic[].access.$transport.ports[].ports_from[]`: - +
    • `rules.$traffic[].access.$transport.types[].type[]`: - +
    diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/s2c-ie/_TerraformResource.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/s2c-ie/_TerraformResource.mdx index cb5cb22c..74bc13c6 100644 --- a/documentation/versioned_docs/version-v1.14.0/snippets/s2c-ie/_TerraformResource.mdx +++ b/documentation/versioned_docs/version-v1.14.0/snippets/s2c-ie/_TerraformResource.mdx @@ -5,24 +5,24 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    -

    {DICTIONARY.terraformResource.full}

    +

    {DICTIONARY['v1.13.0'].terraformResource.full}

    • `items` - список ресурсов создаваемые terraform ресурсом.
    • `items.$ruleName` - уникальное имя создаваемого ресурса.
    • -
    • `items.$ruleName.traffic` - {DICTIONARY.traffic.short}
    • -
    • `items.$ruleName.transport` - {DICTIONARY.transport.short}
    • -
    • `items.$ruleName.cidr` - {DICTIONARY.cidrSet.short}
    • -
    • `items.$ruleName.sg_name` - {DICTIONARY.sgLocal.short}
    • -
    • `items.$ruleName.ports` - {DICTIONARY.ports.short}
    • -
    • `items.$ruleName.ports[].d` - {DICTIONARY.dstPorts.short}
    • -
    • `items.$ruleName.ports[].s` - {DICTIONARY.srcPorts.short}
    • -
    • `items.$ruleName.logs` - {DICTIONARY.log.short}
    • -
    • `items.$ruleName.trace` - {DICTIONARY.trace.short}
    • -
    • `items.$ruleName.ip_v` - {DICTIONARY.icmpV.short}
    • -
    • `items.$ruleName.type` - {DICTIONARY.icmpTypes.short}
    • -
    • `items.$ruleName.action` - {DICTIONARY.action.short}
    • -
    • `items.$ruleName.priority` - {DICTIONARY.priority.short}
    • +
    • `items.$ruleName.traffic` - {DICTIONARY['v1.13.0'].traffic.short}
    • +
    • `items.$ruleName.transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `items.$ruleName.cidr` - {DICTIONARY['v1.13.0'].cidrSet.short}
    • +
    • `items.$ruleName.sg_name` - {DICTIONARY['v1.13.0'].sgLocal.short}
    • +
    • `items.$ruleName.ports` - {DICTIONARY['v1.13.0'].ports.short}
    • +
    • `items.$ruleName.ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `items.$ruleName.ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `items.$ruleName.logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `items.$ruleName.trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `items.$ruleName.ip_v` - {DICTIONARY['v1.13.0'].icmpV.short}
    • +
    • `items.$ruleName.type` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `items.$ruleName.action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `items.$ruleName.priority` - {DICTIONARY['v1.13.0'].priority.short}
    @@ -189,38 +189,38 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'

    Ограничения

      -
    • - `items`: - -
    • -
    • - `items.$ruleName`: - -
    • -
    • - `items.$ruleName.sg_name`: - -
    • -
    • - `items.$ruleName.cidr`: - -
    • -
    • - `items.$ruleName.ports[].s`: - -
    • -
    • - `items.$ruleName.ports[].d`: - -
    • -
    • - `items.$ruleName.type[]`: - -
    • -
    • - `items.$ruleName.priority`: - -
    • +
    • + `items`: + +
    • +
    • + `items.$ruleName`: + +
    • +
    • + `items.$ruleName.sg_name`: + +
    • +
    • + `items.$ruleName.cidr`: + +
    • +
    • + `items.$ruleName.ports[].s`: + +
    • +
    • + `items.$ruleName.ports[].d`: + +
    • +
    • + `items.$ruleName.type[]`: + +
    • +
    • + `items.$ruleName.priority`: + +

    Пример использования

    @@ -239,7 +239,6 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'

    Ingress

    - ```hcl resource "sgroups_cidr_rules" "rules" { items = { diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/s2f-e/_Api.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/s2f-e/_Api.mdx index 22350d03..0c5bc99b 100644 --- a/documentation/versioned_docs/version-v1.14.0/snippets/s2f-e/_Api.mdx +++ b/documentation/versioned_docs/version-v1.14.0/snippets/s2f-e/_Api.mdx @@ -10,19 +10,19 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' #### Входные параметры
      -
    • `fqdnRules.rules` - {DICTIONARY.rules.short}
    • -
    • `fqdnRules.rules[].FQDN` - {DICTIONARY.fqdn.short}
    • -
    • `fqdnRules.rules[].logs` - {DICTIONARY.log.short}
    • -
    • `fqdnRules.rules[].ports` - {DICTIONARY.trace.short}
    • -
    • `fqdnRules.rules[].ports[].d` - {DICTIONARY.dstPorts.short}
    • -
    • `fqdnRules.rules[].ports[].s` - {DICTIONARY.srcPorts.short}
    • -
    • `fqdnRules.rules[].sgFrom` - {DICTIONARY.sgLocal.short}
    • -
    • `fqdnRules.rules[].transport` - {DICTIONARY.transport.short}
    • -
    • `fqdnRules.rules[].action` - {DICTIONARY.action.short}
    • -
    • `fqdnRules.rules[].priority` - {DICTIONARY.priorityst.short}
    • -
    • `fqdnRules.rules[].priority.some` - {DICTIONARY.priority.short}
    • - {/*
    • `fqdnRules.rules[].protocols` - {DICTIONARY.l7ProtocolList.short}
    • */} -
    • `syncOp` - {DICTIONARY.syncOp.short}
    • +
    • `fqdnRules.rules` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `fqdnRules.rules[].FQDN` - {DICTIONARY['v1.13.0'].fqdn.short}
    • +
    • `fqdnRules.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `fqdnRules.rules[].ports` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `fqdnRules.rules[].ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `fqdnRules.rules[].ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `fqdnRules.rules[].sgFrom` - {DICTIONARY['v1.13.0'].sgLocal.short}
    • +
    • `fqdnRules.rules[].transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `fqdnRules.rules[].action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `fqdnRules.rules[].priority` - {DICTIONARY['v1.13.0'].priorityst.short}
    • +
    • `fqdnRules.rules[].priority.some` - {DICTIONARY['v1.13.0'].priority.short}
    • + {/*
    • `fqdnRules.rules[].protocols` - {DICTIONARY['v1.13.0'].l7ProtocolList.short}
    • */} +
    • `syncOp` - {DICTIONARY['v1.13.0'].syncOp.short}
    @@ -157,23 +157,23 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'
    • `fqdnRules.rules[].FQDN`: - +
    • `fqdnRules.rules[].sgFrom`: - +
    • `fqdnRules.rules[].protocols[]`: - +
    • `fqdnRules.rules[].ports[].ports_to[]`: - +
    • `fqdnRules.rules[].ports[].ports_from[]`: - +
    @@ -263,8 +263,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    @@ -304,4 +304,3 @@ server-->>user: Успешно добавленное новое FQDN прави ``` - diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/s2f-e/_TerraformModule.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/s2f-e/_TerraformModule.mdx index 2b77d4c5..f01b683f 100644 --- a/documentation/versioned_docs/version-v1.14.0/snippets/s2f-e/_TerraformModule.mdx +++ b/documentation/versioned_docs/version-v1.14.0/snippets/s2f-e/_TerraformModule.mdx @@ -5,25 +5,25 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    -

    {DICTIONARY.terraformModule.full}

    +

    {DICTIONARY['v1.13.0'].terraformModule.full}

    Далее везде в документе подразумевается что все места, содержащие переменную `$traffic`, могут принять значениe: `Egress`. Аналогчично для `$transport` подразумевается одно из двух значений: `tcp`, `udp`.
      -
    • `rules` - {DICTIONARY.rules.short}
    • -
    • `rules.$traffic[]` - {DICTIONARY.traffic.short}
    • -
    • `rules.$traffic[].fqdnSet[]` - {DICTIONARY.fqdnSet.short}
    • - {/*
    • `rules.$traffic[].access.protocols[]` - {DICTIONARY.l7ProtocolList.short}
    • */} -
    • `rules.$traffic[].access.$transport` - {DICTIONARY.transport.short}
    • -
    • `rules.$traffic[].access.$transport.action` - {DICTIONARY.action.short}
    • -
    • `rules.$traffic[].access.$transport.priority` - {DICTIONARY.priority.short}
    • -
    • `rules.$traffic[].access.$transport.log` - {DICTIONARY.log.short}
    • -
    • `rules.$traffic[].access.$transport.trace` - {DICTIONARY.trace.short}
    • -
    • `rules.$traffic[].access.$transport.ports[].description` - {DICTIONARY.description.short}
    • -
    • `rules.$traffic[].access.$transport.ports[].ports_to[]` - {DICTIONARY.dstPorts.short}
    • -
    • `rules.$traffic[].access.$transport.ports[].ports_from[]` - {DICTIONARY.srcPorts.short}
    • +
    • `rules` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `rules.$traffic[]` - {DICTIONARY['v1.13.0'].traffic.short}
    • +
    • `rules.$traffic[].fqdnSet[]` - {DICTIONARY['v1.13.0'].fqdnSet.short}
    • + {/*
    • `rules.$traffic[].access.protocols[]` - {DICTIONARY['v1.13.0'].l7ProtocolList.short}
    • */} +
    • `rules.$traffic[].access.$transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `rules.$traffic[].access.$transport.action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `rules.$traffic[].access.$transport.priority` - {DICTIONARY['v1.13.0'].priority.short}
    • +
    • `rules.$traffic[].access.$transport.log` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `rules.$traffic[].access.$transport.trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `rules.$traffic[].access.$transport.ports[].description` - {DICTIONARY['v1.13.0'].description.short}
    • +
    • `rules.$traffic[].access.$transport.ports[].ports_to[]` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `rules.$traffic[].access.$transport.ports[].ports_from[]` - {DICTIONARY['v1.13.0'].srcPorts.short}
    @@ -137,27 +137,27 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `name`: - +
    • `rules.$traffic[].fqdnSet`: - +
    • {/*
    • `rules.$traffic[].protocols[]`: - +
    • */}
    • `rules.$traffic[].access.$transport.priority`: - +
    • `rules.$traffic[].access.$transport.ports[].ports_to[]`: - +
    • `rules.$traffic[].access.$transport.ports[].ports_from[]`: - +
    diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/s2f-e/_TerraformResource.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/s2f-e/_TerraformResource.mdx index 9b7b2426..5ab42605 100644 --- a/documentation/versioned_docs/version-v1.14.0/snippets/s2f-e/_TerraformResource.mdx +++ b/documentation/versioned_docs/version-v1.14.0/snippets/s2f-e/_TerraformResource.mdx @@ -5,22 +5,22 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    -

    {DICTIONARY.terraformResource.full}

    +

    {DICTIONARY['v1.13.0'].terraformResource.full}

    • `items` - список ресурсов создаваемые terraform ресурсом.
    • `items.$ruleName` - уникальное имя создаваемого ресурса.
    • -
    • `items.$ruleName.transport` - {DICTIONARY.transport.short}
    • -
    • `items.$ruleName.protocols[]` - {DICTIONARY.l7ProtocolList.short}
    • -
    • `items.$ruleName.logs` - {DICTIONARY.log.short}
    • -
    • `items.$ruleName.trace` - {DICTIONARY.trace.short}
    • -
    • `items.$ruleName.sg_from` - {DICTIONARY.sgLocal.short}
    • -
    • `items.$ruleName.fqdn` - {DICTIONARY.fqdn.short}
    • -
    • `items.$ruleName.ports[]` - {DICTIONARY.ports.short}
    • -
    • `items.$ruleName.ports[].s` - {DICTIONARY.srcPorts.short}
    • -
    • `items.$ruleName.ports[].d` - {DICTIONARY.dstPorts.short}
    • -
    • `items.$ruleName.action` - {DICTIONARY.action.short}
    • -
    • `items.$ruleName.priority` - {DICTIONARY.priority.short}
    • +
    • `items.$ruleName.transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `items.$ruleName.protocols[]` - {DICTIONARY['v1.13.0'].l7ProtocolList.short}
    • +
    • `items.$ruleName.logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `items.$ruleName.trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `items.$ruleName.sg_from` - {DICTIONARY['v1.13.0'].sgLocal.short}
    • +
    • `items.$ruleName.fqdn` - {DICTIONARY['v1.13.0'].fqdn.short}
    • +
    • `items.$ruleName.ports[]` - {DICTIONARY['v1.13.0'].ports.short}
    • +
    • `items.$ruleName.ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `items.$ruleName.ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `items.$ruleName.action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `items.$ruleName.priority` - {DICTIONARY['v1.13.0'].priority.short}
    @@ -147,35 +147,35 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `items`: - +
    • `items.$ruleName`: - +
    • `items.$ruleName.protocols[]`: - +
    • `items.$ruleName.sg_from`: - +
    • `items.$ruleName.fqdn`: - +
    • `items.$ruleName.ports[].s`: - +
    • `items.$ruleName.ports[].d`: - +
    • `items.$ruleName.priority`: - +
    diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/s2s-ie/_Api.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/s2s-ie/_Api.mdx index a13ccd7f..bab68b5a 100644 --- a/documentation/versioned_docs/version-v1.14.0/snippets/s2s-ie/_Api.mdx +++ b/documentation/versioned_docs/version-v1.14.0/snippets/s2s-ie/_Api.mdx @@ -10,23 +10,23 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' #### Входные параметры
      -
    • `$node.rules[]` - {DICTIONARY.rules.short}
    • -
    • `$node.rules[].Sg` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].SgLocal` - {DICTIONARY.sgLocal.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY.log.short}
    • -
    • `$node.rules[].trace` - {DICTIONARY.trace.short}
    • -
    • `$node.rules[].ports` - {DICTIONARY.ports.short}
    • -
    • `$node.rules[].ports[].d` - {DICTIONARY.dstPorts.short}
    • -
    • `$node.rules[].ports[].s` - {DICTIONARY.srcPorts.short}
    • -
    • `$node.rules[].traffic` - {DICTIONARY.traffic.short}
    • -
    • `$node.rules[].transport` - {DICTIONARY.transport.short}
    • -
    • `$node.rules[].ICMP` - {DICTIONARY.apiIcmp.short}
    • -
    • `$node.rules[].ICMP.IPv` - {DICTIONARY.icmpV.short}
    • -
    • `$node.rules[].ICMP.Types` - {DICTIONARY.icmpTypes.short}
    • -
    • `$node.rules[].action` - {DICTIONARY.action.short}
    • -
    • `$node.rules[].priority` - {DICTIONARY.priorityst.short}
    • -
    • `$node.rules[].priority.some` - {DICTIONARY.priority.short}
    • -
    • `syncOp` - {DICTIONARY.syncOp.short}
    • +
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `$node.rules[].Sg` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].SgLocal` - {DICTIONARY['v1.13.0'].sgLocal.short}
    • +
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$node.rules[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$node.rules[].ports` - {DICTIONARY['v1.13.0'].ports.short}
    • +
    • `$node.rules[].ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `$node.rules[].ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `$node.rules[].traffic` - {DICTIONARY['v1.13.0'].traffic.short}
    • +
    • `$node.rules[].transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `$node.rules[].ICMP` - {DICTIONARY['v1.13.0'].apiIcmp.short}
    • +
    • `$node.rules[].ICMP.IPv` - {DICTIONARY['v1.13.0'].icmpV.short}
    • +
    • `$node.rules[].ICMP.Types` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `$node.rules[].action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `$node.rules[].priority` - {DICTIONARY['v1.13.0'].priorityst.short}
    • +
    • `$node.rules[].priority.some` - {DICTIONARY['v1.13.0'].priority.short}
    • +
    • `syncOp` - {DICTIONARY['v1.13.0'].syncOp.short}
    @@ -213,23 +213,23 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'
    • `sgSgRules.rules[].Sg`: - +
    • `sgSgRules.rules[].SgLocal`: - +
    • `sgSgRules.rules[].ports[].ports_to[]`: - +
    • `sgSgRules.rules[].ports[].ports_from[]`: - +
    • `sgSgRules.rules[].ICMP.Types[]`: - +
    @@ -331,8 +331,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    @@ -458,8 +458,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    @@ -583,8 +583,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    @@ -714,8 +714,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/s2s-ie/_Nftables.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/s2s-ie/_Nftables.mdx index 25e9860c..c560eaef 100644 --- a/documentation/versioned_docs/version-v1.14.0/snippets/s2s-ie/_Nftables.mdx +++ b/documentation/versioned_docs/version-v1.14.0/snippets/s2s-ie/_Nftables.mdx @@ -7,17 +7,17 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' nftables. Это позволяет легко интегрировать сложные правила безопасности прямо в вашу систему фильтрации трафика.
      -
    • `$Trace` - {DICTIONARY.trace.short}
    • -
    • `$SrcSgroup` - {DICTIONARY.sg.short}
    • -
    • `$DstGroup` - {DICTIONARY.sg.short}
    • -
    • `$Transport` - {DICTIONARY.transport.short}
    • -
    • `$NftRuleType` - {DICTIONARY.nftRuleType.short}
    • -
    • `$IcmpTypeList` - {DICTIONARY.icmpTypes.short}
    • -
    • `$SrcPorts` - {DICTIONARY.srcPorts.short}
    • -
    • `$DstPorts` - {DICTIONARY.dstPorts.short}
    • -
    • `$NftCounter` - {DICTIONARY.nftCounter.short}
    • -
    • `$Log` - {DICTIONARY.log.short}
    • -
    • `$NftRuleVerdict` - {DICTIONARY.nftRuleVerdict.short}
    • +
    • `$Trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$SrcSgroup` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$DstGroup` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$Transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `$NftRuleType` - {DICTIONARY['v1.13.0'].nftRuleType.short}
    • +
    • `$IcmpTypeList` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `$SrcPorts` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `$DstPorts` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `$NftCounter` - {DICTIONARY['v1.13.0'].nftCounter.short}
    • +
    • `$Log` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$NftRuleVerdict` - {DICTIONARY['v1.13.0'].nftRuleVerdict.short}
    diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/s2s-ie/_TerraformModule.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/s2s-ie/_TerraformModule.mdx index b7d8eeee..7dc39bd3 100644 --- a/documentation/versioned_docs/version-v1.14.0/snippets/s2s-ie/_TerraformModule.mdx +++ b/documentation/versioned_docs/version-v1.14.0/snippets/s2s-ie/_TerraformModule.mdx @@ -5,7 +5,7 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    -

    {DICTIONARY.terraformModule.full}

    +

    {DICTIONARY['v1.13.0'].terraformModule.full}

    Далее везде в документе подразумевается что все места, содержащие переменную `$traffic`, могут принять одно из двух @@ -13,19 +13,31 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' `icmpIPv4`, `icmpIPv6`
      -
    • `rules` - {DICTIONARY.rules.short}
    • -
    • `rules.$traffic[]` - {DICTIONARY.traffic.short}
    • -
    • `rules.$traffic[].sgroupSet[]` - {DICTIONARY.sgroupSet.short}
    • -
    • `rules.$traffic[].access.$transport` - {DICTIONARY.transport.short}
    • -
    • `rules.$traffic[].access.$transport.action` - {DICTIONARY.action.short}
    • -
    • `rules.$traffic[].access.$transport.priority` - {DICTIONARY.priority.short}
    • -
    • `rules.$traffic[].access.$transport.log` - {DICTIONARY.log.short}
    • -
    • `rules.$traffic[].access.$transport.trace` - {DICTIONARY.trace.short}
    • -
    • `rules.$traffic[].access.$transport.ports[].description` - {DICTIONARY.description.short}
    • -
    • `rules.$traffic[].access.$transport.ports[].ports_to[]` - {DICTIONARY.dstPorts.short}
    • -
    • `rules.$traffic[].access.$transport.ports[].ports_from[]` - {DICTIONARY.srcPorts.short}
    • -
    • `rules.$traffic[].access.$transport.types[].description` - {DICTIONARY.description.short}
    • -
    • `rules.$traffic[].access.$transport.types[].type[]` - {DICTIONARY.icmpTypes.short}
    • +
    • `rules` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `rules.$traffic[]` - {DICTIONARY['v1.13.0'].traffic.short}
    • +
    • `rules.$traffic[].sgroupSet[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    • +
    • `rules.$traffic[].access.$transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `rules.$traffic[].access.$transport.action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • + `rules.$traffic[].access.$transport.priority` - {DICTIONARY['v1.13.0'].priority.short} +
    • +
    • `rules.$traffic[].access.$transport.log` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `rules.$traffic[].access.$transport.trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • + `rules.$traffic[].access.$transport.ports[].description` - {DICTIONARY['v1.13.0'].description.short} +
    • +
    • + `rules.$traffic[].access.$transport.ports[].ports_to[]` - {DICTIONARY['v1.13.0'].dstPorts.short} +
    • +
    • + `rules.$traffic[].access.$transport.ports[].ports_from[]` - {DICTIONARY['v1.13.0'].srcPorts.short} +
    • +
    • + `rules.$traffic[].access.$transport.types[].description` - {DICTIONARY['v1.13.0'].description.short} +
    • +
    • + `rules.$traffic[].access.$transport.types[].type[]` - {DICTIONARY['v1.13.0'].icmpTypes.short} +
    @@ -176,27 +188,27 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `name`: - +
    • `rules.$traffic[].sgroupSet`: - +
    • `rules.$traffic[].access.$transport.priority`: - +
    • `rules.$traffic[].access.$transport.ports[].ports_to[]`: - +
    • `rules.$traffic[].access.$transport.ports[].ports_from[]`: - +
    • `rules.$traffic[].access.$transport.types[].type[]`: - +
    @@ -419,4 +431,5 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    + diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/s2s-ie/_TerraformResource.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/s2s-ie/_TerraformResource.mdx index 824d1795..ae02b234 100644 --- a/documentation/versioned_docs/version-v1.14.0/snippets/s2s-ie/_TerraformResource.mdx +++ b/documentation/versioned_docs/version-v1.14.0/snippets/s2s-ie/_TerraformResource.mdx @@ -5,24 +5,24 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    -

    {DICTIONARY.terraformResource.full}

    +

    {DICTIONARY['v1.13.0'].terraformResource.full}

      -
    • `items` - {DICTIONARY.terraformItems.short}
    • -
    • `items.$ruleName` - {DICTIONARY.terraformRuleName.short}
    • -
    • `items.$ruleName.traffic` - {DICTIONARY.traffic.short}
    • -
    • `items.$ruleName.transport` - {DICTIONARY.transport.short}
    • -
    • `items.$ruleName.sg` - {DICTIONARY.sg.short}
    • -
    • `items.$ruleName.sg_local` - {DICTIONARY.sgLocal.short}
    • -
    • `items.$ruleName.ports` - {DICTIONARY.ports.short}
    • -
    • `items.$ruleName.ports[].d` - {DICTIONARY.dstPorts.short}
    • -
    • `items.$ruleName.ports[].s` - {DICTIONARY.srcPorts.short}
    • -
    • `items.$ruleName.logs` - {DICTIONARY.log.short}
    • -
    • `items.$ruleName.trace` - {DICTIONARY.trace.short}
    • -
    • `items.$ruleName.ip_v` - {DICTIONARY.icmpV.short}
    • -
    • `items.$ruleName.type` - {DICTIONARY.icmpTypes.short}
    • -
    • `items.$ruleName.action` - {DICTIONARY.action.short}
    • -
    • `items.$ruleName.priority` - {DICTIONARY.priority.short}
    • +
    • `items` - {DICTIONARY['v1.13.0'].terraformItems.short}
    • +
    • `items.$ruleName` - {DICTIONARY['v1.13.0'].terraformRuleName.short}
    • +
    • `items.$ruleName.traffic` - {DICTIONARY['v1.13.0'].traffic.short}
    • +
    • `items.$ruleName.transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `items.$ruleName.sg` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `items.$ruleName.sg_local` - {DICTIONARY['v1.13.0'].sgLocal.short}
    • +
    • `items.$ruleName.ports` - {DICTIONARY['v1.13.0'].ports.short}
    • +
    • `items.$ruleName.ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `items.$ruleName.ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `items.$ruleName.logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `items.$ruleName.trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `items.$ruleName.ip_v` - {DICTIONARY['v1.13.0'].icmpV.short}
    • +
    • `items.$ruleName.type` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `items.$ruleName.action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `items.$ruleName.priority` - {DICTIONARY['v1.13.0'].priority.short}
    @@ -191,35 +191,35 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `items`: - +
    • `items.$ruleName`: - +
    • `items.$ruleName.sg`: - +
    • `items.$ruleName.sg_local`: - +
    • `items.$ruleName.ports[].s`: - +
    • `items.$ruleName.ports[].d`: - +
    • `items.$ruleName.type[]`: - +
    • `items.$ruleName.priority`: - +
    diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/s2s/_Api.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/s2s/_Api.mdx index 07575025..671fc4ec 100644 --- a/documentation/versioned_docs/version-v1.14.0/snippets/s2s/_Api.mdx +++ b/documentation/versioned_docs/version-v1.14.0/snippets/s2s/_Api.mdx @@ -10,22 +10,22 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' #### Входные параметры
      -
    • `$node.rules[]` - {DICTIONARY.rules.short}
    • -
    • `$node.rules[].sgFrom` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].sgTo` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY.log.short}
    • -
    • `$node.rules[].trace` - {DICTIONARY.trace.short}
    • -
    • `$node.rules[].ports` - {DICTIONARY.ports.short}
    • -
    • `$node.rules[].ports[].d` - {DICTIONARY.dstPorts.short}
    • -
    • `$node.rules[].ports[].s` - {DICTIONARY.srcPorts.short}
    • -
    • `$node.rules[].transport` - {DICTIONARY.transport.short}
    • -
    • `$node.rules[].ICMP` - {DICTIONARY.apiIcmp.short}
    • -
    • `$node.rules[].ICMP.IPv` - {DICTIONARY.icmpV.short}
    • -
    • `$node.rules[].ICMP.Types` - {DICTIONARY.icmpTypes.short}
    • -
    • `$node.rules[].action` - {DICTIONARY.action.short}
    • -
    • `$node.rules[].priority` - {DICTIONARY.priorityst.short}
    • -
    • `$node.rules[].priority.some` - {DICTIONARY.priority.short}
    • -
    • `syncOp` - {DICTIONARY.syncOp.short}
    • +
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `$node.rules[].sgFrom` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].sgTo` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$node.rules[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$node.rules[].ports` - {DICTIONARY['v1.13.0'].ports.short}
    • +
    • `$node.rules[].ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `$node.rules[].ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `$node.rules[].transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `$node.rules[].ICMP` - {DICTIONARY['v1.13.0'].apiIcmp.short}
    • +
    • `$node.rules[].ICMP.IPv` - {DICTIONARY['v1.13.0'].icmpV.short}
    • +
    • `$node.rules[].ICMP.Types` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `$node.rules[].action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `$node.rules[].priority` - {DICTIONARY['v1.13.0'].priorityst.short}
    • +
    • `$node.rules[].priority.some` - {DICTIONARY['v1.13.0'].priority.short}
    • +
    • `syncOp` - {DICTIONARY['v1.13.0'].syncOp.short}
    @@ -203,23 +203,23 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'
    • `sgSgRules.rules[].sgFrom`: - +
    • `sgSgRules.rules[].sgTo`: - +
    • `sgSgRules.rules[].ports[].d`: - +
    • `sgSgRules.rules[].ports[].s`: - +
    • `sgSgRules.rules[].ICMP.Types[]`: - +
    @@ -283,8 +283,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    @@ -371,8 +371,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    @@ -458,8 +458,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    @@ -551,8 +551,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/s2s/_Nftables.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/s2s/_Nftables.mdx index 299985ed..448ef610 100644 --- a/documentation/versioned_docs/version-v1.14.0/snippets/s2s/_Nftables.mdx +++ b/documentation/versioned_docs/version-v1.14.0/snippets/s2s/_Nftables.mdx @@ -8,17 +8,17 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts'
      -
    • `$Trace` - {DICTIONARY.trace.short}
    • -
    • `$SrcSgroup` - {DICTIONARY.sg.short}
    • -
    • `$DstGroup` - {DICTIONARY.sg.short}
    • -
    • `$Transport` - {DICTIONARY.transport.short}
    • -
    • `$NftRuleType` - {DICTIONARY.nftRuleType.short}
    • -
    • `$IcmpTypeList` - {DICTIONARY.icmpTypes.short}
    • -
    • `$SrcPorts` - {DICTIONARY.srcPorts.short}
    • -
    • `$DstPorts` - {DICTIONARY.dstPorts.short}
    • -
    • `$NftCounter` - {DICTIONARY.nftCounter.short}
    • -
    • `$Log` - {DICTIONARY.log.short}
    • -
    • `$NftRuleVerdict` - {DICTIONARY.nftRuleVerdict.short}
    • +
    • `$Trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$SrcSgroup` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$DstGroup` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$Transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `$NftRuleType` - {DICTIONARY['v1.13.0'].nftRuleType.short}
    • +
    • `$IcmpTypeList` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `$SrcPorts` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `$DstPorts` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `$NftCounter` - {DICTIONARY['v1.13.0'].nftCounter.short}
    • +
    • `$Log` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$NftRuleVerdict` - {DICTIONARY['v1.13.0'].nftRuleVerdict.short}
    diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/s2s/_TerraformModule.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/s2s/_TerraformModule.mdx index 37c8849d..64693ba1 100644 --- a/documentation/versioned_docs/version-v1.14.0/snippets/s2s/_TerraformModule.mdx +++ b/documentation/versioned_docs/version-v1.14.0/snippets/s2s/_TerraformModule.mdx @@ -5,28 +5,38 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    -

    {DICTIONARY.terraformModule.full}

    +

    {DICTIONARY['v1.13.0'].terraformModule.full}

    Далее везде в документе подразумевается что все места, содержащие переменную `$transport` иогут принимать одно из четырех значений: `tcp`, `udp`, `icmpIPv4`, `icmpIPv6`.
      -
    • `rules` - {DICTIONARY.rules.short}
    • +
    • `rules` - {DICTIONARY['v1.13.0'].rules.short}
    • `rules.s2s[]` - Список правил, описывающий сетевое взаимодействие текущей Security Group с внешней Security Group.
    • -
    • `rules.s2s[].sgroupSet[]` - {DICTIONARY.sgroupSet.short}
    • -
    • `rules.s2s[].access.$transport` - {DICTIONARY.transport.short}
    • -
    • `rules.s2s[].access.$transport.action` - {DICTIONARY.action.short}
    • -
    • `rules.s2s[].access.$transport.priority` - {DICTIONARY.priority.short}
    • -
    • `rules.s2s[].access.$transport.log` - {DICTIONARY.log.short}
    • -
    • `rules.s2s[].access.$transport.trace` - {DICTIONARY.trace.short}
    • -
    • `rules.s2s[].access.$transport.ports[].description` - {DICTIONARY.description.short}
    • -
    • `rules.s2s[].access.$transport.ports[].ports_to[]` - {DICTIONARY.dstPorts.short}
    • -
    • `rules.s2s[].access.$transport.ports[].ports_from[]` - {DICTIONARY.srcPorts.short}
    • -
    • `rules.s2s[].access.$transport.types[].description` - {DICTIONARY.description.short}
    • -
    • `rules.s2s[].access.$transport.types[].type[]` - {DICTIONARY.icmpTypes.short}
    • +
    • `rules.s2s[].sgroupSet[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    • +
    • `rules.s2s[].access.$transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `rules.s2s[].access.$transport.action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `rules.s2s[].access.$transport.priority` - {DICTIONARY['v1.13.0'].priority.short}
    • +
    • `rules.s2s[].access.$transport.log` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `rules.s2s[].access.$transport.trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • + `rules.s2s[].access.$transport.ports[].description` - {DICTIONARY['v1.13.0'].description.short} +
    • +
    • + `rules.s2s[].access.$transport.ports[].ports_to[]` - {DICTIONARY['v1.13.0'].dstPorts.short} +
    • +
    • + `rules.s2s[].access.$transport.ports[].ports_from[]` - {DICTIONARY['v1.13.0'].srcPorts.short} +
    • +
    • + `rules.s2s[].access.$transport.types[].description` - {DICTIONARY['v1.13.0'].description.short} +
    • +
    • + `rules.s2s[].access.$transport.types[].type[]` - {DICTIONARY['v1.13.0'].icmpTypes.short} +
    @@ -153,27 +163,27 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `name`: - +
    • `rules.s2s[].sgroupSet`: - +
    • `rules.s2s[].access.$transport.priority`: - +
    • `rules.s2s[].access.$transport.ports[].ports_to[]`: - +
    • `rules.s2s[].access.$transport.ports[].ports_from[]`: - +
    • `rules.s2s[].access.$transport.types[].type[]`: - +
    @@ -281,4 +291,5 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' - 8 ``` + diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/s2s/_TerraformResource.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/s2s/_TerraformResource.mdx index 3eacb7a2..dfd359ae 100644 --- a/documentation/versioned_docs/version-v1.14.0/snippets/s2s/_TerraformResource.mdx +++ b/documentation/versioned_docs/version-v1.14.0/snippets/s2s/_TerraformResource.mdx @@ -5,23 +5,23 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    -

    {DICTIONARY.terraformResource.full}

    +

    {DICTIONARY['v1.13.0'].terraformResource.full}

      -
    • `items` - {DICTIONARY.terraformItems.short}
    • -
    • `items.$ruleName` - {DICTIONARY.terraformRuleName.short}
    • -
    • `items.$ruleName.transport` - {DICTIONARY.transport.short}
    • -
    • `items.$ruleName.sg_from` - {DICTIONARY.sg.short}
    • -
    • `items.$ruleName.sg_to` - {DICTIONARY.sg.short}
    • -
    • `items.$ruleName.ports` - {DICTIONARY.ports.short}
    • -
    • `items.$ruleName.ports[].d` - {DICTIONARY.dstPorts.short}
    • -
    • `items.$ruleName.ports[].s` - {DICTIONARY.srcPorts.short}
    • -
    • `items.$ruleName.logs` - {DICTIONARY.log.short}
    • -
    • `items.$ruleName.trace` - {DICTIONARY.trace.short}
    • -
    • `items.$ruleName.ip_v` - {DICTIONARY.icmpV.short}
    • -
    • `items.$ruleName.type` - {DICTIONARY.icmpTypes.short}
    • -
    • `items.$ruleName.action` - {DICTIONARY.action.short}
    • -
    • `items.$ruleName.priority` - {DICTIONARY.priority.short}
    • +
    • `items` - {DICTIONARY['v1.13.0'].terraformItems.short}
    • +
    • `items.$ruleName` - {DICTIONARY['v1.13.0'].terraformRuleName.short}
    • +
    • `items.$ruleName.transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `items.$ruleName.sg_from` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `items.$ruleName.sg_to` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `items.$ruleName.ports` - {DICTIONARY['v1.13.0'].ports.short}
    • +
    • `items.$ruleName.ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `items.$ruleName.ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `items.$ruleName.logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `items.$ruleName.trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `items.$ruleName.ip_v` - {DICTIONARY['v1.13.0'].icmpV.short}
    • +
    • `items.$ruleName.type` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `items.$ruleName.action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `items.$ruleName.priority` - {DICTIONARY['v1.13.0'].priority.short}
    @@ -179,35 +179,35 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `items`: - +
    • `items.$ruleName`: - +
    • `items.$ruleName.sg_from`: - +
    • `items.$ruleName.sg_to`: - +
    • `items.$ruleName.ports[].s`: - +
    • `items.$ruleName.ports[].d`: - +
    • `items.$ruleName.type[]`: - +
    • `items.$ruleName.priority`: - +

    Пример использования

    diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/securityGroups/_Api.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/securityGroups/_Api.mdx index ca1b4b47..31fbbf72 100644 --- a/documentation/versioned_docs/version-v1.14.0/snippets/securityGroups/_Api.mdx +++ b/documentation/versioned_docs/version-v1.14.0/snippets/securityGroups/_Api.mdx @@ -12,19 +12,19 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'
    • `groups.grous[]` - Структура, содержащая описание создаваемых Security Group
    • `groups.groups[].defaultAction` - представляет действие по умолчанию в конце цепочек для SG
    • -
    • `groups.groups[].logs` - {DICTIONARY.log.short}
    • -
    • `groups.groups[].name` - {DICTIONARY.sgLocal.short}
    • +
    • `groups.groups[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `groups.groups[].name` - {DICTIONARY['v1.13.0'].sgLocal.short}
    • `groups.groups[].networks` - Имена подсетей
    • -
    • `groups.groups[].trace` - {DICTIONARY.trace.short}
    • -
    • `sgIcmpRules.rules[]` - {DICTIONARY.rules.short}
    • -
    • `sgIcmpRules.rules[].ICMP` - {DICTIONARY.apiIcmp.short}
    • -
    • `sgIcmpRules.rules[].ICMP.IPv` - {DICTIONARY.icmpV.short}
    • -
    • `sgIcmpRules.rules[].ICMP.Types` - {DICTIONARY.icmpTypes.short}
    • -
    • `sgIcmpRules.rules[].Sg` - {DICTIONARY.sgLocal.short}
    • -
    • `sgIcmpRules.rules[].logs` - {DICTIONARY.log.short}
    • -
    • `sgIcmpRules.rules[].trace` - {DICTIONARY.trace.short}
    • -
    • `sgIcmpRules.rules[].action` - {DICTIONARY.action.short}
    • -
    • `syncOp` - {DICTIONARY.syncOp.short}
    • +
    • `groups.groups[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `sgIcmpRules.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `sgIcmpRules.rules[].ICMP` - {DICTIONARY['v1.13.0'].apiIcmp.short}
    • +
    • `sgIcmpRules.rules[].ICMP.IPv` - {DICTIONARY['v1.13.0'].icmpV.short}
    • +
    • `sgIcmpRules.rules[].ICMP.Types` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `sgIcmpRules.rules[].Sg` - {DICTIONARY['v1.13.0'].sgLocal.short}
    • +
    • `sgIcmpRules.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `sgIcmpRules.rules[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `sgIcmpRules.rules[].action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `syncOp` - {DICTIONARY['v1.13.0'].syncOp.short}
    @@ -178,19 +178,19 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'
    • `groups.groups[].name`: - +
    • `groups.groups[].networks[]`: - +
    • `sgIcmpRules.rules[].Sg`: - +
    • `$node.rules[].type[]`: - +
    @@ -243,8 +243,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    @@ -341,8 +341,8 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx'

    Возможные ошибки API

    - - + + @@ -384,4 +384,5 @@ import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' + diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/securityGroups/_Nftables.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/securityGroups/_Nftables.mdx index 5fd73d31..609ab4e8 100644 --- a/documentation/versioned_docs/version-v1.14.0/snippets/securityGroups/_Nftables.mdx +++ b/documentation/versioned_docs/version-v1.14.0/snippets/securityGroups/_Nftables.mdx @@ -6,12 +6,12 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' рамках инструмента nftables, обеспечивая более широкие возможности для управления подсетями и правилами.
      -
    • `$Trace` - {DICTIONARY.trace.short}
    • -
    • `$Transport` - {DICTIONARY.transport.short}
    • -
    • `$TypeList` - {DICTIONARY.icmpTypes.short}
    • -
    • `$Log` - {DICTIONARY.log.short}
    • -
    • `$Counter` - {DICTIONARY.nftCounter.short}
    • -
    • `$Verdict` - {DICTIONARY.nftRuleVerdict.short}
    • +
    • `$Trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$Transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `$TypeList` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `$Log` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$Counter` - {DICTIONARY['v1.13.0'].nftCounter.short}
    • +
    • `$Verdict` - {DICTIONARY['v1.13.0'].nftRuleVerdict.short}
    diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/securityGroups/_TerraformModule.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/securityGroups/_TerraformModule.mdx index f56dcfc9..61171412 100644 --- a/documentation/versioned_docs/version-v1.14.0/snippets/securityGroups/_TerraformModule.mdx +++ b/documentation/versioned_docs/version-v1.14.0/snippets/securityGroups/_TerraformModule.mdx @@ -3,7 +3,7 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    -

    {DICTIONARY.terraformModule.full}

    +

    {DICTIONARY['v1.13.0'].terraformModule.full}

    Далее везде в документе подразумевается что все места, содержащие переменную `$transport` подразумевается одно из двух @@ -53,13 +53,13 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' default_rules.access.default.logs - {DICTIONARY.log.short} + {DICTIONARY['v1.13.0'].log.short} Boolean false default_rules.access.default.trace - {DICTIONARY.trace.short} + {DICTIONARY['v1.13.0'].trace.short} Boolean false @@ -84,25 +84,25 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' default_rules.access.$transport.logs - {DICTIONARY.log.short} + {DICTIONARY['v1.13.0'].log.short} Boolean false default_rules.access.$transport.trace - {DICTIONARY.trace.short} + {DICTIONARY['v1.13.0'].trace.short} Boolean false default_rules.access.$transport.type[] - {DICTIONARY.icmpTypes.short} + {DICTIONARY['v1.13.0'].icmpTypes.short} Integer[] [] default_rules.access.$transport.action - {DICTIONARY.action.short} + {DICTIONARY['v1.13.0'].action.short} Enum("ACCEPT", "DROP") `ACCEPT` @@ -115,19 +115,19 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `name`: - +
    • `cidrs[]`: - +
    • `default_rules.access.icmp.type`: - +
    • `default_rules.access.icmp6.type`: - +
    diff --git a/documentation/versioned_docs/version-v1.14.0/snippets/securityGroups/_TerraformResource.mdx b/documentation/versioned_docs/version-v1.14.0/snippets/securityGroups/_TerraformResource.mdx index f993858f..5c6bf065 100644 --- a/documentation/versioned_docs/version-v1.14.0/snippets/securityGroups/_TerraformResource.mdx +++ b/documentation/versioned_docs/version-v1.14.0/snippets/securityGroups/_TerraformResource.mdx @@ -3,11 +3,11 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    -

    {DICTIONARY.terraformResource.full}

    +

    {DICTIONARY['v1.13.0'].terraformResource.full}

    Далее везде в документе подразумевается что все места, содержащие переменную `$transport` ( - {DICTIONARY.transport.short}) подразумевается одно из двух значений: `icmp`, `icmp6`. + {DICTIONARY['v1.13.0'].transport.short}) подразумевается одно из двух значений: `icmp`, `icmp6`.
    @@ -52,13 +52,13 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' items.key.logs нет Boolean - {DICTIONARY.log.short} + {DICTIONARY['v1.13.0'].log.short} items.key.trace нет Boolean - {DICTIONARY.trace.short} + {DICTIONARY['v1.13.0'].trace.short} items.key.default_action @@ -81,25 +81,25 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' items.key.$transport.logs нет Boolean - {DICTIONARY.log.short} + {DICTIONARY['v1.13.0'].log.short} items.key.$transport.trace нет Boolean - {DICTIONARY.trace.short} + {DICTIONARY['v1.13.0'].trace.short} items.key.$transport.type[] да String[] - {DICTIONARY.icmpTypes.short} + {DICTIONARY['v1.13.0'].icmpTypes.short} items.key.$transport.action да Enum("ACCEPT", "DROP") - {DICTIONARY.action.short} + {DICTIONARY['v1.13.0'].action.short} @@ -110,27 +110,27 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `items`: - +
    • `items.key`: - +
    • `items.key.name`: - +
    • `items.key.networks`: - +
    • `items.key.icmp.type`: - +
    • `items.key.icmp6.type`: - +
    diff --git a/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/address-sg.mdx b/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/address-sg.mdx index 2600b6aa..839d1db4 100644 --- a/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/address-sg.mdx +++ b/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/address-sg.mdx @@ -20,7 +20,7 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts'
    • - `{address}` - {DICTIONARY.cidr.short} + `{address}` - {DICTIONARY['v1.13.0'].cidr.short}
    @@ -55,11 +55,11 @@ curl '127.0.0.1:9007/v1/10.150.0.224/sg' \

    Выходные параметры

      -
    • `$node.name` - {DICTIONARY.sg.short}
    • -
    • `$node.logs` - {DICTIONARY.log.short}
    • -
    • `$node.trace` - {DICTIONARY.trace.short}
    • -
    • `$node.networks` - {DICTIONARY.networkNames.short}
    • -
    • `$node.defaultAction` - {DICTIONARY.defaultAction.short}
    • +
    • `$node.name` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$node.trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$node.networks` - {DICTIONARY['v1.13.0'].networkNames.short}
    • +
    • `$node.defaultAction` - {DICTIONARY['v1.13.0'].defaultAction.short}
    @@ -109,8 +109,8 @@ curl '127.0.0.1:9007/v1/10.150.0.224/sg' \

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    diff --git a/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/cidr-sg-icmp-rules.mdx b/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/cidr-sg-icmp-rules.mdx index 40c15c0a..e9875ae6 100644 --- a/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/cidr-sg-icmp-rules.mdx +++ b/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/cidr-sg-icmp-rules.mdx @@ -22,7 +22,7 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' #### Входные параметры
      -
    • `sg[]` - {DICTIONARY.sgroupSet.short}
    • +
    • `sg[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    @@ -42,7 +42,7 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' Object[] - +
    @@ -51,7 +51,7 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `sg[]`: - +
    @@ -68,18 +68,18 @@ curl '127.0.0.1:9007/v1/cidr-sg-icmp/rules' \

    Выходные параметры

      -
    • `$node.rules[]` - {DICTIONARY.rules.short}
    • -
    • `$node.rules[].CIDR` - {DICTIONARY.cidr.short}
    • -
    • `$node.rules[].SG` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY.log.short}
    • -
    • `$node.rules[].trace` - {DICTIONARY.trace.short}
    • -
    • `$node.rules[].ICMP` - {DICTIONARY.apiIcmp.short}
    • -
    • `$node.rules[].ICMP.IPv` - {DICTIONARY.icmpV.short}
    • -
    • `$node.rules[].ICMP.Types[]` - {DICTIONARY.icmpTypes.short}
    • -
    • `$node.rules[].traffic` - {DICTIONARY.traffic.short}
    • -
    • `$node.rules[].action` - {DICTIONARY.action.short}
    • -
    • `$node.rules[].priority` - {DICTIONARY.priorityst.short}
    • -
    • `$node.rules[].priority.some` - {DICTIONARY.priority.short}
    • +
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `$node.rules[].CIDR` - {DICTIONARY['v1.13.0'].cidr.short}
    • +
    • `$node.rules[].SG` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$node.rules[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$node.rules[].ICMP` - {DICTIONARY['v1.13.0'].apiIcmp.short}
    • +
    • `$node.rules[].ICMP.IPv` - {DICTIONARY['v1.13.0'].icmpV.short}
    • +
    • `$node.rules[].ICMP.Types[]` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `$node.rules[].traffic` - {DICTIONARY['v1.13.0'].traffic.short}
    • +
    • `$node.rules[].action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `$node.rules[].priority` - {DICTIONARY['v1.13.0'].priorityst.short}
    • +
    • `$node.rules[].priority.some` - {DICTIONARY['v1.13.0'].priority.short}
    @@ -167,7 +167,7 @@ curl '127.0.0.1:9007/v1/cidr-sg-icmp/rules' \

    Возможные ошибки API

    - +

    Диаграмма последовательности

    diff --git a/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/cidr-sg-rules.mdx b/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/cidr-sg-rules.mdx index 25d3a865..bb995a3c 100644 --- a/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/cidr-sg-rules.mdx +++ b/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/cidr-sg-rules.mdx @@ -22,7 +22,7 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' #### Входные параметры
      -
    • `sg[]` - {DICTIONARY.sgroupSet.short}
    • +
    • `sg[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    @@ -42,7 +42,7 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' Object[] - +
    @@ -51,7 +51,7 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `sg[]`: - +
    @@ -68,19 +68,19 @@ curl '127.0.0.1:9007/v1/cidr-sg/rules' \

    Выходные параметры

      -
    • `$node.rules[]` - {DICTIONARY.rules.short}
    • -
    • `$node.rules[].CIDR` - {DICTIONARY.cidr.short}
    • -
    • `$node.rules[].SG` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY.log.short}
    • -
    • `$node.rules[].trace` - {DICTIONARY.trace.short}
    • -
    • `$node.rules[].ports` - {DICTIONARY.ports.short}
    • -
    • `$node.rules[].ports[].d` - {DICTIONARY.dstPorts.short}
    • -
    • `$node.rules[].ports[].s` - {DICTIONARY.srcPorts.short}
    • -
    • `$node.rules[].transport` - {DICTIONARY.transport.short}
    • -
    • `$node.rules[].traffic` - {DICTIONARY.traffic.short}
    • -
    • `$node.rules[].action` - {DICTIONARY.action.short}
    • -
    • `$node.rules[].priority` - {DICTIONARY.priorityst.short}
    • -
    • `$node.rules[].priority.some` - {DICTIONARY.priority.short}
    • +
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `$node.rules[].CIDR` - {DICTIONARY['v1.13.0'].cidr.short}
    • +
    • `$node.rules[].SG` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$node.rules[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$node.rules[].ports` - {DICTIONARY['v1.13.0'].ports.short}
    • +
    • `$node.rules[].ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `$node.rules[].ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `$node.rules[].transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `$node.rules[].traffic` - {DICTIONARY['v1.13.0'].traffic.short}
    • +
    • `$node.rules[].action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `$node.rules[].priority` - {DICTIONARY['v1.13.0'].priorityst.short}
    • +
    • `$node.rules[].priority.some` - {DICTIONARY['v1.13.0'].priority.short}
    @@ -173,7 +173,7 @@ curl '127.0.0.1:9007/v1/cidr-sg/rules' \

    Возможные ошибки API

    - +

    Диаграмма последовательности

    diff --git a/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/fqdn-rules.mdx b/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/fqdn-rules.mdx index ad9bfcb0..1ef1ec2c 100644 --- a/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/fqdn-rules.mdx +++ b/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/fqdn-rules.mdx @@ -22,7 +22,7 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' #### Входные параметры
      -
    • `sgFrom[]` - {DICTIONARY.sgroupSet.short}
    • +
    • `sgFrom[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    @@ -42,7 +42,7 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' Object[] - +
    @@ -51,7 +51,7 @@ import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx'
    • `sgFrom[]`: - +
    @@ -68,18 +68,18 @@ curl '127.0.0.1:9007/v1/fqdn/rules' \

    Выходные параметры

      -
    • `$node.rules[]` - {DICTIONARY.rules.short}
    • -
    • `$node.rules[].FQDN` - {DICTIONARY.fqdn.short}
    • -
    • `$node.rules[].sgFrom` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY.log.short}
    • -
    • `$node.rules[].ports` - {DICTIONARY.ports.short}
    • -
    • `$node.rules[].ports[].d` - {DICTIONARY.dstPorts.short}
    • -
    • `$node.rules[].ports[].s` - {DICTIONARY.srcPorts.short}
    • -
    • `$node.rules[].transport` - {DICTIONARY.transport.short}
    • -
    • `$node.rules[].protocols` - {DICTIONARY.l7ProtocolList.short}
    • -
    • `$node.rules[].action` - {DICTIONARY.action.short}
    • -
    • `$node.rules[].priority` - {DICTIONARY.priorityst.short}
    • -
    • `$node.rules[].priority.some` - {DICTIONARY.priority.short}
    • +
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `$node.rules[].FQDN` - {DICTIONARY['v1.13.0'].fqdn.short}
    • +
    • `$node.rules[].sgFrom` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$node.rules[].ports` - {DICTIONARY['v1.13.0'].ports.short}
    • +
    • `$node.rules[].ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `$node.rules[].ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `$node.rules[].transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `$node.rules[].protocols` - {DICTIONARY['v1.13.0'].l7ProtocolList.short}
    • +
    • `$node.rules[].action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `$node.rules[].priority` - {DICTIONARY['v1.13.0'].priorityst.short}
    • +
    • `$node.rules[].priority.some` - {DICTIONARY['v1.13.0'].priority.short}
    @@ -167,8 +167,8 @@ curl '127.0.0.1:9007/v1/fqdn/rules' \

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    diff --git a/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/ie-sg-sg-icmp-rules.mdx b/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/ie-sg-sg-icmp-rules.mdx index 4beecf57..39312cdc 100644 --- a/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/ie-sg-sg-icmp-rules.mdx +++ b/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/ie-sg-sg-icmp-rules.mdx @@ -21,8 +21,8 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' #### Входные параметры
      -
    • `Sg[]` - {DICTIONARY.sgroupSet.short}
    • -
    • `SgLocal[]` - {DICTIONARY.sgroupSet.short}
    • +
    • `Sg[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    • +
    • `SgLocal[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    @@ -66,18 +66,18 @@ curl '127.0.0.1:9007/v1/ie-sg-sg-icmp/rules' \

    Выходные параметры

      -
    • `$node.rules[]` - {DICTIONARY.rules.short}
    • -
    • `$node.rules[].Sg` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].SgLocal` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY.log.short}
    • -
    • `$node.rules[].trace` - {DICTIONARY.trace.short}
    • -
    • `$node.rules[].ICMP` - {DICTIONARY.apiIcmp.short}
    • -
    • `$node.rules[].ICMP.IPv` - {DICTIONARY.icmpV.short}
    • -
    • `$node.rules[].ICMP.Types[]` - {DICTIONARY.icmpTypes.short}
    • -
    • `$node.rules[].traffic` - {DICTIONARY.traffic.short}
    • -
    • `$node.rules[].action` - {DICTIONARY.action.short}
    • -
    • `$node.rules[].priority` - {DICTIONARY.priorityst.short}
    • -
    • `$node.rules[].priority.some` - {DICTIONARY.priority.short}
    • +
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `$node.rules[].Sg` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].SgLocal` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$node.rules[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$node.rules[].ICMP` - {DICTIONARY['v1.13.0'].apiIcmp.short}
    • +
    • `$node.rules[].ICMP.IPv` - {DICTIONARY['v1.13.0'].icmpV.short}
    • +
    • `$node.rules[].ICMP.Types[]` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `$node.rules[].traffic` - {DICTIONARY['v1.13.0'].traffic.short}
    • +
    • `$node.rules[].action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `$node.rules[].priority` - {DICTIONARY['v1.13.0'].priorityst.short}
    • +
    • `$node.rules[].priority.some` - {DICTIONARY['v1.13.0'].priority.short}
    @@ -165,7 +165,7 @@ curl '127.0.0.1:9007/v1/ie-sg-sg-icmp/rules' \

    Возможные ошибки API

    - +

    Диаграмма последовательности

    diff --git a/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/ie-sg-sg-rules.mdx b/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/ie-sg-sg-rules.mdx index 299c7842..2052b94c 100644 --- a/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/ie-sg-sg-rules.mdx +++ b/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/ie-sg-sg-rules.mdx @@ -21,8 +21,8 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' #### Входные параметры
      -
    • `Sg[]` - {DICTIONARY.sgroupSet.short}
    • -
    • `SgLocal[]` - {DICTIONARY.sgroupSet.short}
    • +
    • `Sg[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    • +
    • `SgLocal[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    @@ -66,19 +66,19 @@ curl '127.0.0.1:9007/v1/ie-sg-sg/rules' \

    Выходные параметры

      -
    • `$node.rules[]` - {DICTIONARY.rules.short}
    • -
    • `$node.rules[].Sg` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].SgLocal` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY.log.short}
    • -
    • `$node.rules[].trace` - {DICTIONARY.trace.short}
    • -
    • `$node.rules[].ports` - {DICTIONARY.ports.short}
    • -
    • `$node.rules[].ports[].d` - {DICTIONARY.dstPorts.short}
    • -
    • `$node.rules[].ports[].s` - {DICTIONARY.srcPorts.short}
    • -
    • `$node.rules[].traffic` - {DICTIONARY.traffic.short}
    • -
    • `$node.rules[].transport` - {DICTIONARY.transport.short}
    • -
    • `$node.rules[].action` - {DICTIONARY.action.short}
    • -
    • `$node.rules[].priority` - {DICTIONARY.priorityst.short}
    • -
    • `$node.rules[].priority.some` - {DICTIONARY.priority.short}
    • +
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `$node.rules[].Sg` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].SgLocal` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$node.rules[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$node.rules[].ports` - {DICTIONARY['v1.13.0'].ports.short}
    • +
    • `$node.rules[].ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `$node.rules[].ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `$node.rules[].traffic` - {DICTIONARY['v1.13.0'].traffic.short}
    • +
    • `$node.rules[].transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `$node.rules[].action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `$node.rules[].priority` - {DICTIONARY['v1.13.0'].priorityst.short}
    • +
    • `$node.rules[].priority.some` - {DICTIONARY['v1.13.0'].priority.short}
    @@ -171,7 +171,7 @@ curl '127.0.0.1:9007/v1/ie-sg-sg/rules' \

    Возможные ошибки API

    - +

    Диаграмма последовательности

    diff --git a/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/networks.mdx b/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/networks.mdx index fdb0135a..f1d6c2f9 100644 --- a/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/networks.mdx +++ b/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/networks.mdx @@ -20,7 +20,7 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' #### Входные параметры
      -
    • `neteworkNames[]` - {DICTIONARY.networkNames.short}
    • +
    • `neteworkNames[]` - {DICTIONARY['v1.13.0'].networkNames.short}
    @@ -57,10 +57,10 @@ curl '127.0.0.1:9007/v1/list/networks' \

    Выходные параметры

      -
    • `$node.networks[]` - {DICTIONARY.rules.short}
    • -
    • `$node.networks[].name` - {DICTIONARY.nw.short}
    • -
    • `$node.networks[].network` - {DICTIONARY.networkObject.short}
    • -
    • `$node.networks[].network.CIDR` - {DICTIONARY.networks.short}
    • +
    • `$node.networks[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `$node.networks[].name` - {DICTIONARY['v1.13.0'].nw.short}
    • +
    • `$node.networks[].network` - {DICTIONARY['v1.13.0'].networkObject.short}
    • +
    • `$node.networks[].network.CIDR` - {DICTIONARY['v1.13.0'].networks.short}
    @@ -107,8 +107,8 @@ curl '127.0.0.1:9007/v1/list/networks' \

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    diff --git a/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/rules.mdx b/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/rules.mdx index 1bfdbec5..05e8a901 100644 --- a/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/rules.mdx +++ b/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/rules.mdx @@ -21,8 +21,8 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' #### Входные параметры
      -
    • `sgFrom[]` - {DICTIONARY.sgroupSet.short}
    • -
    • `sgTo[]` - {DICTIONARY.sgroupSet.short}
    • +
    • `sgFrom[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    • +
    • `sgTo[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    @@ -66,17 +66,17 @@ curl '127.0.0.1:9007/v1/rules' \

    Выходные параметры

      -
    • `$node.rules[]` - {DICTIONARY.rules.short}
    • -
    • `$node.rules[].sgFrom` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].sgTo` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY.log.short}
    • -
    • `$node.rules[].ports` - {DICTIONARY.ports.short}
    • -
    • `$node.rules[].ports[].d` - {DICTIONARY.dstPorts.short}
    • -
    • `$node.rules[].ports[].s` - {DICTIONARY.srcPorts.short}
    • -
    • `$node.rules[].transport` - {DICTIONARY.transport.short}
    • -
    • `$node.rules[].action` - {DICTIONARY.action.short}
    • -
    • `$node.rules[].priority` - {DICTIONARY.priorityst.short}
    • -
    • `$node.rules[].priority.some` - {DICTIONARY.priority.short}
    • +
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `$node.rules[].sgFrom` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].sgTo` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$node.rules[].ports` - {DICTIONARY['v1.13.0'].ports.short}
    • +
    • `$node.rules[].ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • +
    • `$node.rules[].ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • +
    • `$node.rules[].transport` - {DICTIONARY['v1.13.0'].transport.short}
    • +
    • `$node.rules[].action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `$node.rules[].priority` - {DICTIONARY['v1.13.0'].priorityst.short}
    • +
    • `$node.rules[].priority.some` - {DICTIONARY['v1.13.0'].priority.short}
    @@ -159,8 +159,8 @@ curl '127.0.0.1:9007/v1/rules' \

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    diff --git a/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/security-groups.mdx b/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/security-groups.mdx index 562d9741..1ce08409 100644 --- a/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/security-groups.mdx +++ b/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/security-groups.mdx @@ -22,7 +22,7 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' #### Входные параметры
      -
    • `sgNames[]` - {DICTIONARY.sgroupSet.short}
    • +
    • `sgNames[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    @@ -59,12 +59,12 @@ curl '127.0.0.1:9007/v1/list/security-groups' \

    Выходные параметры

      -
    • `$node.groups[]` - {DICTIONARY.rules.short}
    • -
    • `$node.groups[].name` - {DICTIONARY.sg.short}
    • -
    • `$node.groups[].logs` - {DICTIONARY.log.short}
    • -
    • `$node.groups[].trace` - {DICTIONARY.trace.short}
    • -
    • `$node.groups[].networks` - {DICTIONARY.networks.short}
    • -
    • `$node.groups[].defaultAction` - {DICTIONARY.apiIcmp.short}
    • +
    • `$node.groups[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `$node.groups[].name` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.groups[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$node.groups[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$node.groups[].networks` - {DICTIONARY['v1.13.0'].networks.short}
    • +
    • `$node.groups[].defaultAction` - {DICTIONARY['v1.13.0'].apiIcmp.short}
    @@ -120,7 +120,7 @@ curl '127.0.0.1:9007/v1/list/security-groups' \

    Возможные ошибки API

    - +

    Диаграмма последовательности

    diff --git a/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/sg-icmp-rules.mdx b/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/sg-icmp-rules.mdx index b9f479c0..172d4166 100644 --- a/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/sg-icmp-rules.mdx +++ b/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/sg-icmp-rules.mdx @@ -20,7 +20,7 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' #### Входные параметры
      -
    • `sg[]` - {DICTIONARY.sgroupSet.short}
    • +
    • `sg[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    @@ -57,14 +57,14 @@ curl '127.0.0.1:9007/v1/sg-icmp/rules' \

    Выходные параметры

      -
    • `$node.rules[]` - {DICTIONARY.rules.short}
    • -
    • `$node.rules[].Sg` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY.log.short}
    • -
    • `$node.rules[].trace` - {DICTIONARY.trace.short}
    • -
    • `$node.rules[].ICMP` - {DICTIONARY.apiIcmp.short}
    • -
    • `$node.rules[].ICMP.IPv` - {DICTIONARY.icmpV.short}
    • -
    • `$node.rules[].ICMP.Types[]` - {DICTIONARY.icmpTypes.short}
    • -
    • `$node.rules[].action` - {DICTIONARY.action.short}
    • +
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `$node.rules[].Sg` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$node.rules[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$node.rules[].ICMP` - {DICTIONARY['v1.13.0'].apiIcmp.short}
    • +
    • `$node.rules[].ICMP.IPv` - {DICTIONARY['v1.13.0'].icmpV.short}
    • +
    • `$node.rules[].ICMP.Types[]` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `$node.rules[].action` - {DICTIONARY['v1.13.0'].action.short}
    @@ -131,8 +131,8 @@ curl '127.0.0.1:9007/v1/sg-icmp/rules' \

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    diff --git a/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/sg-sg-icmp-rules.mdx b/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/sg-sg-icmp-rules.mdx index 54e11a70..81169b49 100644 --- a/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/sg-sg-icmp-rules.mdx +++ b/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/sg-sg-icmp-rules.mdx @@ -21,8 +21,8 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts' #### Входные параметры
      -
    • `sgFrom[]` - {DICTIONARY.sgroupSet.short}
    • -
    • `sgTo[]` - {DICTIONARY.sgroupSet.short}
    • +
    • `sgFrom[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    • +
    • `sgTo[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    @@ -66,17 +66,17 @@ curl '127.0.0.1:9007/v1/sg-sg-icmp/rules' \

    Выходные параметры

      -
    • `$node.rules[]` - {DICTIONARY.rules.short}
    • -
    • `$node.rules[].SgFrom` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].SgTo` - {DICTIONARY.sg.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY.log.short}
    • -
    • `$node.rules[].trace` - {DICTIONARY.trace.short}
    • -
    • `$node.rules[].ICMP` - {DICTIONARY.apiIcmp.short}
    • -
    • `$node.rules[].ICMP.IPv` - {DICTIONARY.icmpV.short}
    • -
    • `$node.rules[].ICMP.Types[]` - {DICTIONARY.icmpTypes.short}
    • -
    • `$node.rules[].action` - {DICTIONARY.action.short}
    • -
    • `$node.rules[].priority` - {DICTIONARY.priorityst.short}
    • -
    • `$node.rules[].priority.some` - {DICTIONARY.priority.short}
    • +
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • +
    • `$node.rules[].SgFrom` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].SgTo` - {DICTIONARY['v1.13.0'].sg.short}
    • +
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • +
    • `$node.rules[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • +
    • `$node.rules[].ICMP` - {DICTIONARY['v1.13.0'].apiIcmp.short}
    • +
    • `$node.rules[].ICMP.IPv` - {DICTIONARY['v1.13.0'].icmpV.short}
    • +
    • `$node.rules[].ICMP.Types[]` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • +
    • `$node.rules[].action` - {DICTIONARY['v1.13.0'].action.short}
    • +
    • `$node.rules[].priority` - {DICTIONARY['v1.13.0'].priorityst.short}
    • +
    • `$node.rules[].priority.some` - {DICTIONARY['v1.13.0'].priority.short}
    @@ -159,8 +159,8 @@ curl '127.0.0.1:9007/v1/sg-sg-icmp/rules' \

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    diff --git a/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/status.mdx b/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/status.mdx index 55566960..6be6451c 100644 --- a/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/status.mdx +++ b/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/status.mdx @@ -56,7 +56,7 @@ curl '127.0.0.1:9007/v1/sync/status' \

    Возможные ошибки API

    - +

    Диаграмма последовательности

    diff --git a/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/subnets.mdx b/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/subnets.mdx index d79425f4..c67470ab 100644 --- a/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/subnets.mdx +++ b/documentation/versioned_docs/version-v1.14.0/tech-docs/sgroups/api/v1/subnets.mdx @@ -19,7 +19,7 @@ import { DICTIONARY } from '@site/src/constants/dictionary.ts'
    • - `{sgName}` - {DICTIONARY.sg.short} + `{sgName}` - {DICTIONARY['v1.13.0'].sg.short}
    @@ -54,10 +54,10 @@ curl '127.0.0.1:9007/v1/sg/sg-example/subnets' \

    Выходные параметры

      -
    • `$node.networks[]` - {DICTIONARY.networkNames.short}
    • -
    • `$node.networks[].name` - {DICTIONARY.nw.short}
    • -
    • `$node.networks[].network` - {DICTIONARY.networkObject.short}
    • -
    • `$node.networks[].network.CIDR` - {DICTIONARY.cidr.short}
    • +
    • `$node.networks[]` - {DICTIONARY['v1.13.0'].networkNames.short}
    • +
    • `$node.networks[].name` - {DICTIONARY['v1.13.0'].nw.short}
    • +
    • `$node.networks[].network` - {DICTIONARY['v1.13.0'].networkObject.short}
    • +
    • `$node.networks[].network.CIDR` - {DICTIONARY['v1.13.0'].cidr.short}
    @@ -104,8 +104,8 @@ curl '127.0.0.1:9007/v1/sg/sg-example/subnets' \

    Возможные ошибки API

    - - + +

    Диаграмма последовательности

    From fade383bc5370218fcadef5841617ad86ac5e0d4 Mon Sep 17 00:00:00 2001 From: Pavel Date: Wed, 17 Apr 2024 17:57:56 +0300 Subject: [PATCH 5/5] remove v1.13.0 --- .../version-v1.13.0/info/introduction.mdx | 74 - .../version-v1.13.0/info/terminology.mdx | 10 - .../version-v1.13.0/info/toolset.mdx | 86 -- .../snippets/networks/_Api.mdx | 160 -- .../snippets/networks/_Nftables.mdx | 96 -- .../snippets/networks/_TerraformModule.mdx | 57 - .../snippets/networks/_TerraformResource.mdx | 80 - .../version-v1.13.0/snippets/s2c-ie/_Api.mdx | 764 --------- .../snippets/s2c-ie/_Nftables.mdx | 330 ---- .../snippets/s2c-ie/_TerraformModule.mdx | 428 ------ .../snippets/s2c-ie/_TerraformResource.mdx | 453 ------ .../version-v1.13.0/snippets/s2f-e/_Api.mdx | 306 ---- .../snippets/s2f-e/_Nftables.mdx | 116 -- .../snippets/s2f-e/_TerraformModule.mdx | 224 --- .../snippets/s2f-e/_TerraformResource.mdx | 236 --- .../version-v1.13.0/snippets/s2s-ie/_Api.mdx | 763 --------- .../snippets/s2s-ie/_Nftables.mdx | 332 ---- .../snippets/s2s-ie/_TerraformModule.mdx | 435 ------ .../snippets/s2s-ie/_TerraformResource.mdx | 450 ------ .../version-v1.13.0/snippets/s2s/_Api.mdx | 599 -------- .../snippets/s2s/_Nftables.mdx | 276 ---- .../snippets/s2s/_TerraformModule.mdx | 295 ---- .../snippets/s2s/_TerraformResource.mdx | 306 ---- .../snippets/securityGroups/_Api.mdx | 388 ----- .../snippets/securityGroups/_Nftables.mdx | 133 -- .../securityGroups/_TerraformModule.mdx | 159 -- .../securityGroups/_TerraformResource.mdx | 163 -- .../version-v1.13.0/tech-docs/components.mdx | 71 - .../tech-docs/rule-configuration/networks.mdx | 50 - .../tech-docs/rule-configuration/s2c-ie.mdx | 54 - .../tech-docs/rule-configuration/s2f-e.mdx | 52 - .../tech-docs/rule-configuration/s2s-ie.mdx | 54 - .../tech-docs/rule-configuration/s2s.mdx | 53 - .../rule-configuration/security-groups.mdx | 53 - .../tech-docs/sgroups/api/v1/address-sg.mdx | 143 -- .../sgroups/api/v1/cidr-sg-icmp-rules.mdx | 181 --- .../sgroups/api/v1/cidr-sg-rules.mdx | 187 --- .../tech-docs/sgroups/api/v1/fqdn-rules.mdx | 182 --- .../sgroups/api/v1/ie-sg-sg-icmp-rules.mdx | 179 --- .../sgroups/api/v1/ie-sg-sg-rules.mdx | 185 --- .../tech-docs/sgroups/api/v1/networks.mdx | 141 -- .../tech-docs/sgroups/api/v1/rules.mdx | 174 --- .../sgroups/api/v1/security-groups.mdx | 153 -- .../sgroups/api/v1/sg-icmp-rules.mdx | 159 -- .../sgroups/api/v1/sg-sg-icmp-rules.mdx | 174 --- .../tech-docs/sgroups/api/v1/status.mdx | 84 - .../tech-docs/sgroups/api/v1/subnets.mdx | 138 -- .../tech-docs/sgroups/api/v1/sync.mdx | 112 -- .../tech-docs/sgroups/database.mdx | 1361 ----------------- .../tech-docs/sgroups/goose.mdx | 212 --- .../tech-docs/sgroups/installation.mdx | 622 -------- .../tech-docs/sgroups/monitoring.mdx | 270 ---- .../tech-docs/system-requirements.md | 20 - .../tech-docs/terraform/provider.mdx | 88 -- .../tech-docs/terraform/spec.mdx | 62 - .../tech-docs/to-nft/installation.mdx | 784 ---------- .../tech-docs/to-nft/monitoring.mdx | 235 --- .../tech-docs/to-nft/nftables/chains.mdx | 498 ------ .../to-nft/nftables/config-base-rules.mdx | 101 -- .../to-nft/nftables/icmp-desciptions.mdx | 394 ----- .../tech-docs/to-nft/nftables/ip-set.mdx | 110 -- .../to-nft/nftables/rules-priority.mdx | 47 - .../to-nft/nftables/verdict-statement.mdx | 50 - .../version-v1.13.0-sidebars.json | 241 --- documentation/versions.json | 5 +- 65 files changed, 1 insertion(+), 15397 deletions(-) delete mode 100644 documentation/versioned_docs/version-v1.13.0/info/introduction.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/info/terminology.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/info/toolset.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/networks/_Api.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/networks/_Nftables.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/networks/_TerraformModule.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/networks/_TerraformResource.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_Api.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_Nftables.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_TerraformModule.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_TerraformResource.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_Api.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_Nftables.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_TerraformModule.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_TerraformResource.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_Api.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_Nftables.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_TerraformModule.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_TerraformResource.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/s2s/_Api.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/s2s/_Nftables.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/s2s/_TerraformModule.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/s2s/_TerraformResource.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_Api.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_Nftables.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_TerraformModule.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_TerraformResource.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/tech-docs/components.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/tech-docs/rule-configuration/networks.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/tech-docs/rule-configuration/s2c-ie.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/tech-docs/rule-configuration/s2f-e.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/tech-docs/rule-configuration/s2s-ie.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/tech-docs/rule-configuration/s2s.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/tech-docs/rule-configuration/security-groups.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/address-sg.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/cidr-sg-icmp-rules.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/cidr-sg-rules.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/fqdn-rules.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/ie-sg-sg-icmp-rules.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/ie-sg-sg-rules.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/networks.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/rules.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/security-groups.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/sg-icmp-rules.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/sg-sg-icmp-rules.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/status.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/subnets.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/sync.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/database.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/goose.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/installation.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/monitoring.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/tech-docs/system-requirements.md delete mode 100644 documentation/versioned_docs/version-v1.13.0/tech-docs/terraform/provider.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/tech-docs/terraform/spec.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/tech-docs/to-nft/installation.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/tech-docs/to-nft/monitoring.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/tech-docs/to-nft/nftables/chains.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/tech-docs/to-nft/nftables/config-base-rules.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/tech-docs/to-nft/nftables/icmp-desciptions.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/tech-docs/to-nft/nftables/ip-set.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/tech-docs/to-nft/nftables/rules-priority.mdx delete mode 100644 documentation/versioned_docs/version-v1.13.0/tech-docs/to-nft/nftables/verdict-statement.mdx delete mode 100644 documentation/versioned_sidebars/version-v1.13.0-sidebars.json diff --git a/documentation/versioned_docs/version-v1.13.0/info/introduction.mdx b/documentation/versioned_docs/version-v1.13.0/info/introduction.mdx deleted file mode 100644 index 1511a6d7..00000000 --- a/documentation/versioned_docs/version-v1.13.0/info/introduction.mdx +++ /dev/null @@ -1,74 +0,0 @@ ---- -id: introduction ---- - -# Что такое SGroups - -SGroups - это Host Based NGFW с использованием технологии nftables. -Данный продукт распространяется по лицензии MIT. - -Он был создан для: - -- упрощения процесса настройки/поддержки правил сетевого трафика; -- увеличения надежности передаваемых данных в условиях нулевого доверия. - -Что делает его идеальным решением для использования в крупных корпоративных сетях, а также в малых и средних предприятиях. - -## Какие проблемы решает - -
    - Проект разрабатывается с учетом потребностей крупных финансовых компаний, которые столкнулись с рядом проблем в - области сетовой изоляции. Среди этих проблем можно выделить: -
    - -- неоднородность конфигурации межсетевого оборудования от разных производителей; -- сложность и высокая стоимость точечной изоляции (ip to ip, team to team); -- отсутствие единого декларативного подхода к конфигурации сетевых правил; -- высокая стоимость оборудования. - -## Преимущества - -
    - Использование SGroups, работающего на уровне операционной системы Linux, обладает несколькими преимуществами по - сравнению с железными брандмауэра от популярных производителей сетевого оборудования: -
    - -
      -
    • -
      Удобство управления.
      -
      - Управление и настройка SGroups осуществляется с помощью инструментов управления операционной системы, что - обеспечивает простоту и удобство в работе, а также сокращает затраты на обслуживание. Это значительно упрощает - задачу администрирования и управления системой. -
      -
    • -
    • -
      Низкая стоимость.
      -
      - SGroups предоставляет возможность использовать уже имеющееся оборудование, что позволяет снизить затраты на - приобретение дополнительного оборудования. Это особенно полезно для небольших организаций или отделов, у которых - ограниченный бюджет на IT-инфраструктуру. -
      -
    • -
    • -
      Гибкость.
      -
      - SGroups обеспечивает возможность настройки политик безопасности на уровне отдельных приложений и сервисов, что - позволяет более гибко контролировать защиту. -
      -
    • -
    • -
      Масштабируемость.
      -
      - SGroups обладает возможностью легкого масштабирования на большом количестве серверов, без необходимости - приобретения дополнительного оборудования и проведения сложной интеграции. -
      -
    • -
    • -
      Улучшенная защита.
      -
      - SGroups обладает высоким уровнем безопасности, так как он работает на уровне операционной системы каждого - устройства в сети, что позволяет обеспечить защиту на более глубоком уровне. -
      -
    • -
    diff --git a/documentation/versioned_docs/version-v1.13.0/info/terminology.mdx b/documentation/versioned_docs/version-v1.13.0/info/terminology.mdx deleted file mode 100644 index 142b50b2..00000000 --- a/documentation/versioned_docs/version-v1.13.0/info/terminology.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -id: terminology ---- - -import { Terminology } from '@site/src/components/commonBlocks/Terminology' -import { TERMINOLOGY } from '@site/src/constants/terminology.tsx' - -# Терминология - - diff --git a/documentation/versioned_docs/version-v1.13.0/info/toolset.mdx b/documentation/versioned_docs/version-v1.13.0/info/toolset.mdx deleted file mode 100644 index cfa6c22d..00000000 --- a/documentation/versioned_docs/version-v1.13.0/info/toolset.mdx +++ /dev/null @@ -1,86 +0,0 @@ ---- -id: toolset ---- - -# Выбор инструмента - - - Изначально было принято решение использовать технологию ebpf, так как она обладает рядом очевидных преимуществ по - сравнению с nftables и iptables. Однако, учитывая тот факт, что многие крупные компании до сих пор используют - устаревшие версии ядра Linux, которые не поддерживают ebpf, мы были вынуждены пересмотреть свое решение в пользу - nftables (преимущества описаны ниже). - - - - Наша команда всегда учитывает потребности наших клиентов и разрабатывает архитектуру с учетом возможности - использования SGroups на ebpf. Мы уверены, что в будущем это обеспечит наибольшую эффективность и безопасность работы - нашей инфраструктуры для всех наших пользователей. - - -## iptables - -
    -Плюсы - - - Имеет длительную историю использования и широкое распространение. - - Обладает качественной документацией и обширным набором ресурсов для обучения и отладки. - - Представляет собой мощный инструмент для управления трафиком с обширным набором настроек и возможностей. - - Обеспечивается хорошей поддержкой и имеет широкое сообщество пользователей. - - Совместим с другими инструментами, такими как fail2ban, для обеспечения дополнительной защиты сервера. - -
    - -
    -Минусы - - - Обладает сложным и запутанным синтаксисом, что может затруднить работу начинающих пользователей. - - Не полностью поддерживает декларативную конфигурацию, что усложняет отслеживание и управление правилами. - - Некоторые функции, такие как обработка фрагментированных пакетов, могут работать медленнее, чем в nftables и ebpf. - - Имеет ограниченную гибкость по сравнению с более современными решениями, такими как nftables и ebpf. - -
    - -## ebpf - -
    -Плюсы - -- Высокая производительность и гибкость достигаются за счет использования JIT-компиляции и возможности динамической загрузки и отключения программ. Это особенно важно в условиях высокой нагрузки и сложной сетевой инфраструктуры. -- Более широкий набор инструментов для анализа сетевых пакетов и принятия решений на основе различных метрик позволяет эффективно контролировать сетевой трафик. -- Универсальность ebpf позволяет использовать эту технологию не только для задач брандмауэра, но и для мониторинга и анализа сетевого трафика. - -
    - -
    -Минусы - - - Ограничения в возможностях: ebpf не поддерживает некоторые функции, которые могут быть полезны в качестве брандмауэра, например, отслеживание состояния соединения. - - Сложность настройки: использование ebpf требует определенного уровня знаний, что может сделать его настройку и использование более сложным для неопытных пользователей. Учитывайте это при выборе инструмента для обеспечения безопасности вашей сетевой инфраструктуры. - -
    - -## nftables - -
    -Плюсы - - - Имеет простой и понятный синтаксис, что упрощает конфигурирование и отладку правил. - - Обеспечивает полностью декларативный подход к конфигурации брандмауэра. - - Обрабатывает фрагменты пакетов быстрее, чем iptables. - - Поддерживает широкий спектр функций, включая отложенное применение правил и автоматическое управление временными правилами. - - Позволяет динамически обновлять правила без перезагрузки или перекомпиляции ядра, что особенно важно в случаях, когда необходимо быстро изменить конфигурацию брандмауэра в реальном времени. - - Обладает возможностью группировки правил для более эффективного управления правилами, связанными с различными группами пакетов. - - Обладает поддержкой более сложных типов матчей, которые могут использоваться для определения конкретных условий, таких как наличие определенных флагов TCP или значений IP-адресов. - - Поддерживает нативный синтаксис для работы с IP-адресами и другими типами данных, что упрощает конфигурацию брандмауэра. - - Позволяет отслеживать состояние соединений, что позволяет создавать более сложные правила, основанные на состоянии соединения. - -
    - -
    -Минусы - - - Относительно новый инструмент, поэтому у него меньше сообщество пользователей и ресурсов для обучения и отладки, чем у iptables. - - Некоторые функции, такие как поддержка определенных модулей ядра, могут быть ограничены. - - Не все возможности, доступные в iptables, могут быть доступны в nftables. - -
    diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/networks/_Api.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/networks/_Api.mdx deleted file mode 100644 index 29dac551..00000000 --- a/documentation/versioned_docs/version-v1.13.0/snippets/networks/_Api.mdx +++ /dev/null @@ -1,160 +0,0 @@ -import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' -import { DICTIONARY } from '@site/src/constants/dictionary.ts' -import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' -import { FancyboxDiagram } from '@site/src/components/commonBlocks/FancyboxDiagram' -import { RESPOND_CODES } from '@site/src/constants/errorCodes.tsx' -import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' - -#### Входные параметры - -
      -
    • `networks[]` - {DICTIONARY['v1.13.0'].networks.short}
    • -
    • `networks[].name` - название подсети.
    • -
    • `networks[].network` - объект содержащий CIDR подсети
    • -
    • `networks[].network.CIDR` - {DICTIONARY['v1.13.0'].cidr.short}
    • -
    • `syncOp` - {DICTIONARY['v1.13.0'].syncOp.short}
    • -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    названиеобязательностьтип данныхзначение по умолчанию
    networks[]даObject[]
    networks[].nameдаString
    networks[].networkдаObject
    networks[].network.CIDRдаString
    syncOpдаEnum("Delete", "Upsert", "FullSync")
    -
    - -

    Ограничения

    - -
      -
    • - `networks.networks[].name`: - -
    • -
    • - `networks.networks[].network.CIDR`: - -
    • -
    - -

    Пример использования

    - -```bash -curl '127.0.0.1:9007/v1/sync' \ ---header 'Content-Type: application/json' \ ---data '{ - "networks": { - "networks": [{ - "name": "nw-1", - "network": { - "CIDR": "10.0.0.0/24" - } - }] - }, - "syncOp": "Upsert" -}' -``` - -

    Выходные параметры

    - -
    - - - - - - - - - - - - - - - -
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    -
    - -

    Возможные ошибки API

    - - - - -

    Диаграмма последовательности

    - - - -```mermaid -sequenceDiagram -participant user as User -participant server as Server -participant db as Database - -user->>server: Добавить сеть - -alt Ошибка в запросе - server-->>user: Показать ошибку в запросе -end - -server->>db: Отправить запрос -db->>db: Проверка входящего запроса - -alt Сеть с таким названием уже существует - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе -end - -alt Пересечение значений CIDR - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе -end - -alt Некорректное значение поля определяющее действие с данными из запроса - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе -end - -db->>db: Сохранить данные о сети в БД - -db-->>server: Ответ с успешно добавленной новой сетью -server-->>user: Успешно добавленная новая сеть -``` - - diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/networks/_Nftables.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/networks/_Nftables.mdx deleted file mode 100644 index 9d2a78bd..00000000 --- a/documentation/versioned_docs/version-v1.13.0/snippets/networks/_Nftables.mdx +++ /dev/null @@ -1,96 +0,0 @@ -
    - В этом разделе мы покажем, как ресурс networks, созданный с помощью Terraform/API, внедряется в настройки nftables. В - контексте HBF мы интерпретируем ресурс networks как проекцию на поле `elements` ресурса `IPSet`, который функционирует - в рамках инструмента nftables, обеспечивая более широкие возможности для управления подсетями. -
    -
      -
    • `$IPSet_Name` - Наименование IPSet
    • -
    • `$type` - Описывает тип данных
    • -
    • `$flags` - Описывает свойства IPSet.
    • -
    • `$elements` - Указывает массив содержащихся в IPSet элементов подсетей (CIDR)
    • -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    шаблон параметраструктура параметразначения
    $IPSet_Name`^NetIPv[4|6]-.*` - Примеры значений: -
      -
    • - NetIPv4-sg-example - для описания массивов IP адресов типа v4 -
    • -
    • - NetIPv6-sg-example - для описания массивов IP адресов типа v6 -
    • -
    -
    $type`type` - Могут быть установлены следующие значения: -
      -
    • - ipv4_addr - для описания массивов IP адресов типа v4 -
    • -
    • - ipv6_addr - для описания массивов IP адресов типа v6 -
    • -
    -
    $flags`flags` - Установлены следующие значения: -
      -
    • - constant - флаг используется если значение элементов в множестве являются постоянными и не могут - быть изменены -
    • -
    • - interval - флаг используется для создания диапазона элементов множества -
    • -
    -
    $elements`elements = {}`Значения CIDR, в случае нескольких значений перечисляются через запятую
    -
    - -#### Шаблон - -```hcl -set $IPSet_Name { - $type - $flags - $elements -} -``` - -#### Пример использования - -```hcl -set NetIPv4-sg-example { - type ipv4_addr - flags constant,interval - elements = { 10.0.0.0/24 } <- networks -} -``` diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/networks/_TerraformModule.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/networks/_TerraformModule.mdx deleted file mode 100644 index 2821425f..00000000 --- a/documentation/versioned_docs/version-v1.13.0/snippets/networks/_TerraformModule.mdx +++ /dev/null @@ -1,57 +0,0 @@ -import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' -import { DICTIONARY } from '@site/src/constants/dictionary.ts' -import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' - -
    -

    {DICTIONARY['v1.13.0'].terraformModule.full}

    -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - -
    название параметраописаниетип данныхзначение по умолчанию
    nameИмя Security GroupString
    cidrs[]Список CIDR, связанных с Security GroupString[][]
    -
    - -#### Ограничения - -
      -
    • - `name`: - -
    • -
    • - `cidrs[]`: - -
    • -
    - -

    - Пример использования -

    - -```yaml -name: sg-example -cidrs: - - 10.0.0.0/24 -``` diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/networks/_TerraformResource.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/networks/_TerraformResource.mdx deleted file mode 100644 index 9ab25c50..00000000 --- a/documentation/versioned_docs/version-v1.13.0/snippets/networks/_TerraformResource.mdx +++ /dev/null @@ -1,80 +0,0 @@ -import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' -import { DICTIONARY } from '@site/src/constants/dictionary.ts' -import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' - -
    -

    {DICTIONARY['v1.13.0'].terraformResource.full}

    -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    названиеобязательностьтип данныхдоп. описание
    itemsдаObjectCписок ресурсов создаваемые terraform.
    items.keyдаStringУникальный ключ блока items.
    items.key.nameдаstringИмя подсети.
    items.key.cidrдаstring{DICTIONARY['v1.13.0'].cidr.short}
    -
    - -#### Ограничения - -
      -
    • - `items`: - -
    • -
    • - `items.key`: - -
    • -
    • - `items.key.name`: - -
    • -
    • - `items.key.cidr`: - -
    • -
    - -#### Пример использования - -```hcl -resource "sgroups_networks" "networks" { - items = { - key = { - name = "nw-1" - cidr = "10.0.0.0/24" - } - } -} -``` diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_Api.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_Api.mdx deleted file mode 100644 index cf1e6839..00000000 --- a/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_Api.mdx +++ /dev/null @@ -1,764 +0,0 @@ -import Tabs from '@theme/Tabs' -import TabItem from '@theme/TabItem' - -import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' -import { DICTIONARY } from '@site/src/constants/dictionary.ts' -import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' -import { FancyboxDiagram } from '@site/src/components/commonBlocks/FancyboxDiagram' -import { RESPOND_CODES } from '@site/src/constants/errorCodes.tsx' -import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' - -#### Входные параметры - -
      -
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • -
    • `$node.rules[].cidr` - {DICTIONARY['v1.13.0'].cidrSet.short}
    • -
    • `$node.rules[].sg` - {DICTIONARY['v1.13.0'].sgLocal.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • -
    • `$node.rules[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • -
    • `$node.rules[].ports` - {DICTIONARY['v1.13.0'].ports.short}
    • -
    • `$node.rules[].ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • -
    • `$node.rules[].ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • -
    • `$node.rules[].traffic` - {DICTIONARY['v1.13.0'].traffic.short}
    • -
    • `$node.rules[].transport` - {DICTIONARY['v1.13.0'].transport.short}
    • -
    • `$node.rules[].ICMP` - {DICTIONARY['v1.13.0'].apiIcmp.short}
    • -
    • `$node.rules[].ICMP.IPv` - {DICTIONARY['v1.13.0'].icmpV.short}
    • -
    • `$node.rules[].ICMP.Types` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • -
    • `$node.rules[].action` - {DICTIONARY['v1.13.0'].action.short}
    • -
    • `$node.rules[].priority` - {DICTIONARY['v1.13.0'].priorityst.short}
    • -
    • `$node.rules[].priority.some` - {DICTIONARY['v1.13.0'].priority.short}
    • -
    • `syncOp` - {DICTIONARY['v1.13.0'].syncOp.short}
    • -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Области применения полей относительно используемого протокола
    названиеобязательностьтип данныхзначение по умолчаниюtransport*
    TCPUDPICMP
    $node.rules[]даObjectnull
    $node.rules[].CIDRдаString
    $node.rules[].SGдаString
    $node.rules[].logsнетBooleanfalse
    $node.rules[].traceнетBooleanfalse
    $node.rules[].portsнетObject[]null
    $node.rules[].ports[].dнетStringnull
    $node.rules[].ports[].sнетStringnull
    $node.rules[].trafficдаEnum("Ingress", "Egress")
    $node.rules[].transportнетEnum("TCP", "UDP")TCP
    $node.rules[].ICMPдаObject
    $node.rules[].ICMP.IPvдаEnum("IPv4", "IPv6")
    $node.rules[].ICMP.TypesнетString[][]
    $node.rules[].actionда - Enum("UNDEF", "ACCEPT", "DROP") -
    $node.rules[].priorityнетObject
    $node.rules[].priority.someнетInteger
    syncOpда - Enum("Delete", "Upsert", "FullSync") -
    -
    - -

    Ограничения

    - -
      -
    • - `$node.rules[].SG`: - -
    • -
    • - `$node.rules[].CIDR`: - -
    • -
    • - `$node.rules[].ports[].s`: - -
    • -
    • - `$node.rules[].ports[].d`: - -
    • -
    • - `$node.rules[].type[]`: - -
    • -
    - -

    Пример использования

    - - - -
    -
    -

    Ingress

    - ```bash - curl '127.0.0.1:9007/v1/sync' \ - --header 'Content-Type: application/json' \ - --data '{ - "cidrSgRules": { - "rules": [ - { - "traffic": "Ingress", - "CIDR": "10.0.0.0/8", - "SG": "sg-local-example", - "logs": true, - "trace": true, - "ports": [{ - "d": "64321", - "s": "443,80" - }], - "transport": "TCP", - "action": "ACCEPT", - "priority": { - "some": 300 - } - } - ] - }, - "syncOp": "Upsert" - }' - ``` -
    -
    -

    Egress

    - ```bash - curl '127.0.0.1:9007/v1/sync' \ - --header 'Content-Type: application/json' \ - --data '{ - "cidrSgRules": { - "rules": [ - { - "traffic": "Egress", - "CIDR": "10.0.0.0/8", - "SG": "sg-local-example", - "logs": true, - "trace": true, - "ports": [{ - "d": "64321", - "s": "443,80" - }], - "transport": "TCP", - "action": "ACCEPT", - "priority": { - "some": 300 - } - } - ] - }, - "syncOp": "Upsert" - }' - ``` -
    -
    - -

    Выходные параметры

    - -
    - - - - - - - - - - - - - - - -
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    -
    - -

    Возможные ошибки API

    - - - - -

    Диаграмма последовательности

    - - - - ```mermaid - sequenceDiagram - participant user as User - participant server as Server - participant db as Database - - user->>server: Добавить IE-CIDR-SG правило - - alt Ошибка в запросе - server-->>user: Показать ошибку в запросе - end - - server->>db: Отправить запрос - db->>db: Проверка входящего запроса - - alt Нет такого значения имени SG - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе - end - - alt Пересечение значений source портов - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе - end - - db->>db: Сохранить данные о IE-CIDR-SG в БД - - db-->>server: Ответ с успешно добавленным новым IE-CIDR-SG правилом - server-->>user: Успешно добавленное новое IE-CIDR-SG правило - ``` - - -
    - -
    -
    -

    Ingress

    - ```bash - curl '127.0.0.1:9007/v1/sync' \ - --header 'Content-Type: application/json' \ - --data '{ - "cidrSgRules": { - "rules": [ - { - "traffic": "Ingress", - "CIDR": "10.0.0.0/8", - "SG": "sg-local-example", - "logs": true, - "trace": true, - "ports": [{ - "d": "64321", - "s": "443,80" - }], - "transport": "UDP", - "action": "ACCEPT", - "priority": { - "some": 300 - } - } - ] - }, - "syncOp": "Upsert" - }' - ``` -
    -
    -

    Egress

    - ```bash - curl '127.0.0.1:9007/v1/sync' \ - --header 'Content-Type: application/json' \ - --data '{ - "cidrSgRules": { - "rules": [ - { - "traffic": "Egress", - "CIDR": "10.0.0.0/8", - "SG": "sg-local-example", - "logs": true, - "trace": true, - "ports": [{ - "d": "64321", - "s": "443,80" - }], - "transport": "UDP", - "action": "ACCEPT", - "priority": { - "some": 300 - } - } - ] - }, - "syncOp": "Upsert" - }' - ``` -
    -
    - -

    Выходные параметры

    - -
    - - - - - - - - - - - - - - - -
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    -
    - -

    Возможные ошибки API

    - - - - -

    Диаграмма последовательности

    - - - - ```mermaid - sequenceDiagram - participant user as User - participant server as Server - participant db as Database - - user->>server: Добавить IE-CIDR-SG правило - - alt Ошибка в запросе - server-->>user: Показать ошибку в запросе - end - - server->>db: Отправить запрос - db->>db: Проверка входящего запроса - - alt Нет такого значения имени SG - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе - end - - alt Пересечение значений source портов - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе - end - - db->>db: Сохранить данные о IE-CIDR-SG в БД - - db-->>server: Ответ с успешно добавленным новым IE-CIDR-SG правилом - server-->>user: Успешно добавленное новое IE-CIDR-SG правило - ``` - - -
    - -
    -
    -

    Ingress

    - ```bash - curl '127.0.0.1:9007/v1/sync' \ - --header 'Content-Type: application/json' \ - --data '{ - "cidrSgIcmpRules": { - "rules": [ - { - "traffic": "Ingress", - "CIDR": "10.0.0.0/8", - "SG": "sg-local-example", - "logs": true, - "trace": true, - "ICMP": { - "IPv": "IPv4", - "Types": [0, 8] - }, - "action": "ACCEPT", - "priority": { - "some": 200 - } - } - ] - }, - "syncOp": "Upsert" - }' - ``` -
    -
    -

    Egress

    - ```bash - curl '127.0.0.1:9007/v1/sync' \ - --header 'Content-Type: application/json' \ - --data '{ - "cidrSgIcmpRules": { - "rules": [ - { - "traffic": "Egress", - "CIDR": "10.0.0.0/8", - "SG": "sg-local-example", - "logs": true, - "trace": true, - "ICMP": { - "IPv": "IPv4", - "Types": [0, 8] - }, - "action": "ACCEPT", - "priority": { - "some": 200 - } - } - ] - }, - "syncOp": "Upsert" - }' - ``` -
    -
    - -

    Выходные параметры

    - -
    - - - - - - - - - - - - - - - -
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    -
    - -

    Возможные ошибки API

    - - - - -

    Диаграмма последовательности

    - - - - ```mermaid - sequenceDiagram - participant user as User - participant server as Server - participant db as Database - - user->>server: Добавить IE-CIDR-SG правило - - alt Ошибка в запросе - server-->>user: Показать ошибку в запросе - end - - server->>db: Отправить запрос - db->>db: Проверка входящего запроса - - alt Нет такого значения имени SG - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе - end - - alt Некорректное значение кода ICMP - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе - end - - alt Некорректное значение IPv - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе - end - - db->>db: Сохранить данные о IE-CIDR-SG в БД - - db-->>server: Ответ с успешно добавленным новым IE-CIDR-SG правилом - server-->>user: Успешно добавленное новое IE-CIDR-SG правило - ``` - - -
    - - -
    -
    -

    Ingress

    - ```bash - curl '127.0.0.1:9007/v1/sync' \ - --header 'Content-Type: application/json' \ - --data '{ - "cidrSgIcmpRules": { - "rules": [ - { - "traffic": "Ingress", - "CIDR": "::ffff:a00:0/104", - "SG": "sg-local-example", - "logs": true, - "trace": true, - "ICMP": { - "IPv": "IPv6", - "Types": [0, 8] - }, - "action": "ACCEPT", - "priority": { - "some": 200 - } - } - ] - }, - "syncOp": "Upsert" - }' - ``` -
    -
    -

    Egress

    - ```bash - curl '127.0.0.1:9007/v1/sync' \ - --header 'Content-Type: application/json' \ - --data '{ - "cidrSgIcmpRules": { - "rules": [ - { - "traffic": "Egress", - "CIDR": "::ffff:a00:0/104", - "SG": "sg-local-example", - "logs": true, - "trace": true, - "ICMP": { - "IPv": "IPv6", - "Types": [0, 8] - }, - "action": "ACCEPT", - "priority": { - "some": 200 - } - } - ] - }, - "syncOp": "Upsert" - }' - ``` -
    -
    - -

    Выходные параметры

    - -
    - - - - - - - - - - - - - - - -
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    -
    - -

    Возможные ошибки API

    - - - - -

    Диаграмма последовательности

    - - - - ```mermaid - sequenceDiagram - participant user as User - participant server as Server - participant db as Database - - user->>server: Добавить IE-CIDR-SG правило - - alt Ошибка в запросе - server-->>user: Показать ошибку в запросе - end - - server->>db: Отправить запрос - db->>db: Проверка входящего запроса - - alt Нет такого значения имени SG - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе - end - - alt Некорректное значение кода ICMP - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе - end - - alt Некорректное значение IPv - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе - end - - db->>db: Сохранить данные о IE-CIDR-SG в БД - - db-->>server: Ответ с успешно добавленным новым IE-CIDR-SG правилом - server-->>user: Успешно добавленное новое IE-CIDR-SG правило - ``` - - -
    - -
    diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_Nftables.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_Nftables.mdx deleted file mode 100644 index 69f84387..00000000 --- a/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_Nftables.mdx +++ /dev/null @@ -1,330 +0,0 @@ -import Tabs from '@theme/Tabs' -import TabItem from '@theme/TabItem' -import { DICTIONARY } from '@site/src/constants/dictionary.ts' - -
    - В этом разделе мы покажем, как правила фильтрации трафика, созданные с помощью Terraform и API, внедряются в настройки - nftables. Это позволяет легко интегрировать сложные правила безопасности прямо в вашу систему фильтрации трафика. -
    -
      -
    • `$Trace` - {DICTIONARY['v1.13.0'].trace.short}
    • -
    • `$SrcCIDR` - {DICTIONARY['v1.13.0'].srcDstCidr.short}
    • -
    • `$DstCIDR` - {DICTIONARY['v1.13.0'].srcDstCidr.short}
    • -
    • `$Transport` - {DICTIONARY['v1.13.0'].transport.short}
    • -
    • `$NftRuleType` - {DICTIONARY['v1.13.0'].nftRuleType.short}
    • -
    • `$IcmpTypeList` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • -
    • `$SrcPorts` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • -
    • `$DstPorts` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • -
    • `$NftCounter` - {DICTIONARY['v1.13.0'].nftCounter.short}
    • -
    • `$Log` - {DICTIONARY['v1.13.0'].log.short}
    • -
    • `$NftRuleVerdict` - {DICTIONARY['v1.13.0'].nftRuleVerdict.short}
    • -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Области применения полей относительно используемого протокола
    шаблон параметраструктура параметразначенияtransport*
    TCPUDPICMP
    $Trace`nftrace set` -
      -
    • - 1 - трассировка включена -
    • -
    • - 0 - трассировка выключена -
    • -
    -
    $SrcCIDR - `saddr` - `${CIDR}`
    $DstCIDR - `daddr` - `${CIDR}`
    $Transport - Enum("tcp", "udp", "icmp") -
    $NftRuleType`ip`
    $IcmpTypeList`type {}`Набор целочисленных значений от 0 до 255
    $SrcPorts`sport {}`Набор целочисленных значений от 0 до 65535
    $DstPorts`dport {}`Набор целочисленных значений от 0 до 65535
    $NftCounter - `counter` - `packets 0 bytes 0`
    $Log - `log` - `level debug flags ip options`
    $NftRuleVerdict`accept` -
    - - $NftRuleVerdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле - может принимать значение `accept` или `drop` в зависимости от указанного в правиле. - -
    - Подробнее: [Verdict statement](../../tech-docs/to-nft/nftables/verdict-statement) -
    -
    - -

    Пример использования

    - - - - - - #### Шаблон - - ```hcl - chain INGRESS-INPUT-sgName { - # ********** - $Trace $NftRuleType $SrcCIDR $Transport $SrcPorts $DstPorts $NftCounter $Log $NftRuleVerdict - # ********** - } - ``` - - #### Пример использования - - ```hcl - chain INGRESS-INPUT-sg-local-example { - # ********** - nftrace set 1 ip saddr { 10.0.0.0/8 } tcp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept - # ********** - } - ``` - - - #### Шаблон - - ```hcl - chain EGRESS-POSTROUTING-sgName { - # ********** - $Trace $NftRuleType $DstCIDR $Transport $SrcPorts $DstPorts $NftCounter $Log $NftRuleVerdict - # ********** - } - ``` - - #### Пример использования - - ```hcl - chain EGRESS-POSTROUTING-sg-local-example { - # ********** - nftrace set 1 ip daddr { 10.0.0.0/8 } tcp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept - # ********** - } - ``` - - - - - - - #### Шаблон - - ```hcl - chain INGRESS-INPUT-sgName { - # ********** - $Trace $NftRuleType $SrcCIDR $Transport $SrcPorts $DstPorts $NftCounter $Log $NftRuleVerdict - # ********** - } - ``` - - #### Пример использования - - ```hcl - chain INGRESS-INPUT-sg-local-example { - # ********** - nftrace set 1 ip saddr { 10.0.0.0/8 } udp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept - # ********** - } - ``` - - - #### Шаблон - - ```hcl - chain EGRESS-POSTROUTING-sgName { - # ********** - $Trace $NftRuleType $DstCIDR $Transport $SrcPorts $DstPorts $NftCounter $Log $NftRuleVerdict - # ********** - } - ``` - - #### Пример использования - - ```hcl - chain EGRESS-POSTROUTING-sg-local-example { - # ********** - nftrace set 1 ip daddr { 10.0.0.0/8 } udp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept - # ********** - } - ``` - - - - - - - #### Шаблон - - ```hcl - chain INGRESS-INPUT-sgName { - # ********** - $Trace $NftRuleType $DstCIDR $Transport $IcmpTypeList $NftCounter $Log $NftRuleVerdict - $Trace $NftRuleType $DstCIDR $Transport $IcmpTypeList $NftCounter $Log $NftRuleVerdict - # ********** - } - ``` - - #### Пример использования - - ```hcl - chain INGRESS-INPUT-sg-local-example { - # ********** - nftrace set 1 ip saddr { 10.0.0.0/8 } icmp type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options accept - nftrace set 1 ip saddr { ::ffff:a00:0/104 } icmp6 type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options accept - # ********** - } - ``` - - - #### Шаблон - - ```hcl - chain EGRESS-POSTROUTING-sgName { - # ********** - $Trace $NftRuleType $DstCIDR $Transport $IcmpTypeList $NftCounter $Log $NftRuleVerdict - $Trace $NftRuleType $DstCIDR $Transport $IcmpTypeList $NftCounter $Log $NftRuleVerdict - # ********** - } - ``` - - #### Пример использования - - ```hcl - chain EGRESS-POSTROUTING-sg-local-example { - # ********** - nftrace set 1 ip daddr { 10.0.0.0/8 } icmp type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options accept - nftrace set 1 ip daddr { ::ffff:a00:0/104 } icmp6 type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options accept - # ********** - } - ``` - - - - - diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_TerraformModule.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_TerraformModule.mdx deleted file mode 100644 index 5b65c807..00000000 --- a/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_TerraformModule.mdx +++ /dev/null @@ -1,428 +0,0 @@ -import Tabs from '@theme/Tabs' -import TabItem from '@theme/TabItem' - -import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' -import { DICTIONARY } from '@site/src/constants/dictionary.ts' -import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' - -
    -

    {DICTIONARY['v1.13.0'].terraformModule.full}

    -
    -
    - Далее везде в документе подразумевается что все места, содержащие переменную `$traffic`, могут принять одно из двух - значений: `Ingress` `Egress`. Аналогчично для `$transport` подразумевается одно из четырех значений: `tcp`, `udp`, - `icmpIPv4`, `icmpIPv6` -
    - -
      -
    • `rules` - {DICTIONARY['v1.13.0'].rules.short}
    • -
    • `rules.$traffic[]` - {DICTIONARY['v1.13.0'].traffic.short}
    • -
    • `rules.$traffic[].cidrSet[]` - {DICTIONARY['v1.13.0'].cidrSet.short}
    • -
    • `rules.$traffic[].access.$transport` - {DICTIONARY['v1.13.0'].transport.short}
    • -
    • `rules.$traffic[].access.$transport.action` - {DICTIONARY['v1.13.0'].action.short}
    • -
    • `rules.$traffic[].access.$transport.priority` - {DICTIONARY['v1.13.0'].priority.short}
    • -
    • `rules.$traffic[].access.$transport.logs` - {DICTIONARY['v1.13.0'].log.short}
    • -
    • `rules.$traffic[].access.$transport.trace` - {DICTIONARY['v1.13.0'].trace.short}
    • -
    • `rules.$traffic[].access.$transport.ports[].description` - {DICTIONARY['v1.13.0'].description.short}
    • -
    • `rules.$traffic[].access.$transport.ports[].ports_to[]` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • -
    • `rules.$traffic[].access.$transport.ports[].ports_from[]` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • -
    • `rules.$traffic[].access.$transport.types[].description` - {DICTIONARY['v1.13.0'].description.short}
    • -
    • `rules.$traffic[].access.$transport.types[].type[]` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Области применения полей относительно используемого протокола
    название параметратип данныхзначение по умолчаниюtransport*
    TCPUDPICMP
    rulesObject[][]
    rules.$traffic[]Object[]
    rules.$traffic[].cidrSet[]String[]
    rules.$traffic[].access.$transportObject
    rules.$traffic[].access.$transport.action - Enum("ACCEPT", "DROP") -
    rules.$traffic[].access.$transport.priorityString
    rules.$traffic[].access.$transport.logBooleanfalse
    rules.$traffic[].access.$transport.traceBooleanfalse
    rules.$traffic[].access.$transport.ports[]Object[]{}
    rules.$traffic[].access.$transport.ports[].descriptionString""
    rules.$traffic[].access.$transport.ports[].ports_to[]Integer[]null
    rules.$traffic[].access.$transport.ports[].ports_from[]Integer[]null
    rules.$traffic[].access.$transport.types[]Object[]
    rules.$traffic[].access.$transport.types[].descriptionString""
    rules.$traffic[].access.$transport.types[].type[]Integer[]null
    -
    - -

    Ограничения

    - -
      -
    • - `name`: - -
    • -
    • - `rules.$traffic[].cidrSet`: - -
    • -
    • - `rules.$traffic[].access.$transport.priority`: - -
    • -
    • - `rules.$traffic[].access.$transport.ports[].ports_to[]`: - -
    • -
    • - `rules.$traffic[].access.$transport.ports[].ports_from[]`: - -
    • -
    • - `rules.$traffic[].access.$transport.types[].type[]`: - -
    • -
    - -

    Пример использования

    - - - -
    -
    -

    Ingress

    - - ```yaml - name: sg-local-example - rules: - ingress: - - cidrSet: - - "10.0.0.0/8" - access: - tcp: - action: ACCEPT - priority: 300 - logs: true - trace: true - ports: - - description: "example" - ports_from: - - 64231 - ports_to: - - 443 - - 80 - ``` - -
    -
    -

    Egress

    - - ```yaml - name: sg-local-example - rules: - egress: - - cidrSet: - - "10.0.0.0/8" - access: - tcp: - action: ACCEPT - priority: 300 - logs: true - trace: true - ports: - - description: "example" - ports_from: - - 64231 - ports_to: - - 443 - - 80 - ``` - -
    -
    - -
    - -
    -
    -

    Ingress

    - - ```yaml - name: sg-local-example - rules: - ingress: - - cidrSet: - - "10.0.0.0/8" - access: - udp: - action: ACCEPT - priority: 300 - logs: true - trace: true - ports: - - description: "example" - ports_from: - - 64231 - ports_to: - - 443 - - 80 - ``` - -
    -
    -

    Egress

    - - ```yaml - name: sg-local-example - rules: - egress: - - cidrSet: - - "10.0.0.0/8" - access: - udp: - action: ACCEPT - priority: 300 - logs: true - trace: true - ports: - - description: "example" - ports_from: - - 64231 - ports_to: - - 443 - - 80 - ``` -
    -
    - -
    - -
    -
    -

    Ingress

    - - ```yaml - name: sg-local-example - rules: - ingress: - - cidrSet: - - "10.0.0.0/8" - access: - icmpIPv4: - action: ACCEPT - priority: 200 - logs: true - trace: true - types: - - description: "example" - type: - - 0 - - 8 - ``` - -
    -
    -

    Egress

    - - ```yaml - name: sg-local-example - rules: - egress: - - cidrSet: - - "10.0.0.0/8" - access: - icmpIPv4: - action: ACCEPT - priority: 200 - logs: true - trace: true - types: - - description: "example" - type: - - 0 - - 8 - ``` -
    -
    - -
    - - -
    -
    -

    Ingress

    - - ```yaml - name: sg-local-example - rules: - ingress: - - cidrSet: - - "::ffff:a00:0/104" - access: - icmpIPv6: - action: ACCEPT - priority: 200 - logs: true - trace: true - types: - - description: "example" - type: - - 0 - - 8 - ``` - -
    -
    -

    Egress

    - - ```yaml - name: sg-local-example - rules: - egress: - - cidrSet: - - "::ffff:a00:0/104" - access: - icmpIPv6: - action: ACCEPT - priority: 200 - logs: true - trace: true - types: - - description: "example" - type: - - 0 - - 8 - ``` -
    -
    - -
    - -
    diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_TerraformResource.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_TerraformResource.mdx deleted file mode 100644 index 74bc13c6..00000000 --- a/documentation/versioned_docs/version-v1.13.0/snippets/s2c-ie/_TerraformResource.mdx +++ /dev/null @@ -1,453 +0,0 @@ -import Tabs from '@theme/Tabs' -import TabItem from '@theme/TabItem' -import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' -import { DICTIONARY } from '@site/src/constants/dictionary.ts' -import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' - -
    -

    {DICTIONARY['v1.13.0'].terraformResource.full}

    -
    -
      -
    • `items` - список ресурсов создаваемые terraform ресурсом.
    • -
    • `items.$ruleName` - уникальное имя создаваемого ресурса.
    • -
    • `items.$ruleName.traffic` - {DICTIONARY['v1.13.0'].traffic.short}
    • -
    • `items.$ruleName.transport` - {DICTIONARY['v1.13.0'].transport.short}
    • -
    • `items.$ruleName.cidr` - {DICTIONARY['v1.13.0'].cidrSet.short}
    • -
    • `items.$ruleName.sg_name` - {DICTIONARY['v1.13.0'].sgLocal.short}
    • -
    • `items.$ruleName.ports` - {DICTIONARY['v1.13.0'].ports.short}
    • -
    • `items.$ruleName.ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • -
    • `items.$ruleName.ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • -
    • `items.$ruleName.logs` - {DICTIONARY['v1.13.0'].log.short}
    • -
    • `items.$ruleName.trace` - {DICTIONARY['v1.13.0'].trace.short}
    • -
    • `items.$ruleName.ip_v` - {DICTIONARY['v1.13.0'].icmpV.short}
    • -
    • `items.$ruleName.type` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • -
    • `items.$ruleName.action` - {DICTIONARY['v1.13.0'].action.short}
    • -
    • `items.$ruleName.priority` - {DICTIONARY['v1.13.0'].priority.short}
    • -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Области применения полей относительно используемого протокола
    названиеобязательностьтип данныхзначение по умолчаниюtransport*
    TCPUDPICMP
    itemsдаObject
    items.$ruleNameдаObject
    items.$ruleName.trafficда - Enum("ingress", "egress") -
    items.$ruleName.transportдаEnum("TCP", "UDP")
    items.$ruleName.cidrдаString
    items.$ruleName.sg_nameдаString
    items.$ruleName.portsнетObject[]null
    items.$ruleName.ports[].dнетString""
    items.$ruleName.ports[].sнетString""
    items.$ruleName.logsнетBooleanfalse
    items.$ruleName.traceнетBooleanfalse
    items.$ruleName.ip_vдаEnum("IPv4", "IPv6")
    items.$ruleName.typeдаString[]null
    items.$ruleName.actionда - Enum("ACCEPT", "DROP") -
    items.$ruleName.priorityнетInteger
    -
    - -

    Ограничения

    - -
      -
    • - `items`: - -
    • -
    • - `items.$ruleName`: - -
    • -
    • - `items.$ruleName.sg_name`: - -
    • -
    • - `items.$ruleName.cidr`: - -
    • -
    • - `items.$ruleName.ports[].s`: - -
    • -
    • - `items.$ruleName.ports[].d`: - -
    • -
    • - `items.$ruleName.type[]`: - -
    • -
    • - `items.$ruleName.priority`: - -
    • -
    - -

    Пример использования

    - - - -
    -
    -

    Ingress

    - - ```hcl - resource "sgroups_cidr_rules" "rules" { - items = { - "tcp:cidr(10.0.0.0/8)sg(sg-example)ingress" = { - traffic = "ingress" - logs = true - trace = true - sg_name = "sg-local-example" - cidr = "10.0.0.0/8" - transport = "tcp" - ports = [{ - d = "80" - s = "" - }] - action = "ACCEPT" - priority = 300 - } - } - } - ``` - - -
    -
    -

    Egress

    - - - ```hcl - resource "sgroups_cidr_rules" "rules" { - items = { - "tcp:cidr(10.0.0.0/8)sg(sg-example)egress" = { - traffic = "egress" - logs = true - trace = true - sg_name = "sg-local-example" - cidr = "10.0.0.0/8" - transport = "tcp" - ports = [{ - d = "80" - s = "" - }] - action = "ACCEPT" - priority = 300 - } - } - } - ``` - - -
    -
    -
    - - -
    -
    -

    Ingress

    - - - ```hcl - resource "sgroups_cidr_rules" "rules" { - items = { - "udp:cidr(10.0.0.0/8)sg(sg-example)ingress" = { - traffic = "ingress" - logs = true - trace = true - sg_name = "sg-local-example" - cidr = "10.0.0.0/8" - transport = "udp" - ports = [{ - d = "80" - s = "" - }] - action = "ACCEPT" - priority = 300 - } - } - } - ``` - - -
    -
    -

    Egress

    - - - ```hcl - resource "sgroups_cidr_rules" "rules" { - items = { - "udp:cidr(10.0.0.0/8)sg(sg-example)egress" = { - traffic = "egress" - logs = true - trace = true - sg_name = "sg-local-example" - cidr = "10.0.0.0/8" - transport = "udp" - ports = [{ - d = "80" - s = "" - }] - action = "ACCEPT" - priority = 300 - } - } - } - ``` -
    -
    -
    - - -
    -
    -

    Ingress

    - - ```hcl - resource "sgroups_cidr_icmp_rules" "rules" { - items = { - "icmp4:cidr(10.0.0.0/8)sg(sg-example)ingress" = { - traffic = "ingress" - logs = true - trace = true - sg_name = "sg-local-example" - cidr = "10.0.0.0/8" - ip_v = "IPv4" - type = [0,8] - action = "ACCEPT" - priority = 200 - } - } - } - ``` - - -
    -
    -

    Egress

    - - - ```hcl - resource "sgroups_cidr_icmp_rules" "rules" { - items = { - "icmp4:cidr(10.0.0.0/8)sg(sg-example)egress" = { - traffic = "egress" - logs = true - trace = true - sg_name = "sg-local-example" - cidr = "10.0.0.0/8" - ip_v = "IPv4" - type = [0,8] - action = "ACCEPT" - priority = 200 - } - } - } - ``` -
    -
    -
    - - - -
    -
    -

    Ingress

    - - ```hcl - resource "sgroups_cidr_icmp_rules" "rules" { - items = { - "icmp6:cidr(::ffff:a00:0/104)sg(sg-example)ingress" = { - traffic = "ingress" - logs = true - trace = true - sg_name = "sg-local-example" - cidr = "::ffff:a00:0/104" - ip_v = "IPv6" - type = [0,8] - action = "ACCEPT" - priority = 200 - } - } - } - ``` - - -
    -
    -

    Egress

    - - - ```hcl - resource "sgroups_cidr_icmp_rules" "rules" { - items = { - "icmp6:cidr(::ffff:a00:0/104)sg(sg-example)egress" = { - traffic = "egress" - logs = true - trace = true - sg_name = "sg-local-example" - cidr = "::ffff:a00:0/104" - ip_v = "IPv6" - type = [0,8] - action = "ACCEPT" - priority = 200 - } - } - } - ``` -
    -
    -
    - -
    diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_Api.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_Api.mdx deleted file mode 100644 index 0c5bc99b..00000000 --- a/documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_Api.mdx +++ /dev/null @@ -1,306 +0,0 @@ -import Tabs from '@theme/Tabs' -import TabItem from '@theme/TabItem' -import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' -import { DICTIONARY } from '@site/src/constants/dictionary.ts' -import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' -import { FancyboxDiagram } from '@site/src/components/commonBlocks/FancyboxDiagram' -import { RESPOND_CODES } from '@site/src/constants/errorCodes.tsx' -import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' - -#### Входные параметры - -
      -
    • `fqdnRules.rules` - {DICTIONARY['v1.13.0'].rules.short}
    • -
    • `fqdnRules.rules[].FQDN` - {DICTIONARY['v1.13.0'].fqdn.short}
    • -
    • `fqdnRules.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • -
    • `fqdnRules.rules[].ports` - {DICTIONARY['v1.13.0'].trace.short}
    • -
    • `fqdnRules.rules[].ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • -
    • `fqdnRules.rules[].ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • -
    • `fqdnRules.rules[].sgFrom` - {DICTIONARY['v1.13.0'].sgLocal.short}
    • -
    • `fqdnRules.rules[].transport` - {DICTIONARY['v1.13.0'].transport.short}
    • -
    • `fqdnRules.rules[].action` - {DICTIONARY['v1.13.0'].action.short}
    • -
    • `fqdnRules.rules[].priority` - {DICTIONARY['v1.13.0'].priorityst.short}
    • -
    • `fqdnRules.rules[].priority.some` - {DICTIONARY['v1.13.0'].priority.short}
    • - {/*
    • `fqdnRules.rules[].protocols` - {DICTIONARY['v1.13.0'].l7ProtocolList.short}
    • */} -
    • `syncOp` - {DICTIONARY['v1.13.0'].syncOp.short}
    • -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {/* - - - - - - - */} - - - - - - - - - -
    Области применения полей относительно используемого протокола
    названиеобязательностьтип данныхзначение по умолчаниюtransport*
    TCPUDP
    fqdnRules.rulesдаObject
    fqdnRules.rules[].FQDNдаString
    fqdnRules.rules[].logsнетBooleanfalse
    fqdnRules.rules[].portsнетObject[]null
    fqdnRules.rules[].ports[].dнетStringnull
    fqdnRules.rules[].ports[].sнетStringnull
    fqdnRules.rules[].sgFromдаString
    fqdnRules.rules[].transportдаEnum("TCP", "UDP")
    fqdnRules.rules[].actionдаEnum("UNDEF", "ACCEPT", "DROP")
    fqdnRules.rules[].priorityнетObject
    fqdnRules.rules[].priority.someнетInteger
    fqdnRules.rules[].protocolsнетObject[]
    syncOpда - Enum("Delete", "Upsert", "FullSync") -
    -
    - -

    Ограничения

    - -
      -
    • - `fqdnRules.rules[].FQDN`: - -
    • -
    • - `fqdnRules.rules[].sgFrom`: - -
    • -
    • - `fqdnRules.rules[].protocols[]`: - -
    • -
    • - `fqdnRules.rules[].ports[].ports_to[]`: - -
    • -
    • - `fqdnRules.rules[].ports[].ports_from[]`: - -
    • -
    - -

    Пример использования

    - - - - ```bash - curl '127.0.0.1:9007/v1/sync' \ - --header 'Content-Type: application/json' \ - --data '{ - "fqdnRules": { - "rules": [{ - "FQDN": "example.com", - "logs": true, - "ports": [{ - "d": "443,80", - "s": "64231" - }], - "sgFrom": "sg-local-example", - "transport": "TCP", - "action": "ACCEPT", - "priority": { - "some": 100 - } - }] - }, - "syncOp": "Upsert" - }' - ``` - - - - ```bash - curl '127.0.0.1:9007/v1/sync' \ - --header 'Content-Type: application/json' \ - --data '{ - "fqdnRules": { - "rules": [{ - "FQDN": "example.com", - "logs": true, - "ports": [{ - "d": "443,80", - "s": "64231" - }], - "sgFrom": "sg-local-example", - "transport": "UDP", - "action": "ACCEPT", - "priority": { - "some": 100 - } - }] - }, - "syncOp": "Upsert" - }' - ``` - - - - -

    Выходные параметры

    - -
    - - - - - - - - - - - - - - - -
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    -
    - -

    Возможные ошибки API

    - - - - -

    Диаграмма последовательности

    - - - -```mermaid - -sequenceDiagram -participant user as User -participant server as Server -participant db as Database - -user->>server: Добавить FQDN правило - -alt Ошибка в запросе -server-->>user: Показать ошибку в запросе -end - -server->>db: Отправить запрос -db->>db: Проверка входящего запроса - -alt Нет такого значения имени SG -db-->>server: Ответ с ошибкой -server-->>user: Показать ошибку в запросе -end - -alt Пересечение значений source портов -db-->>server: Ответ с ошибкой -server-->>user: Показать ошибку в запросе -end - -db->>db: Сохранить данные о FQDN в БД - -db-->>server: Ответ с успешно добавленным новым FQDN правилом -server-->>user: Успешно добавленное новое FQDN правило - -``` - - diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_Nftables.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_Nftables.mdx deleted file mode 100644 index d3c5da88..00000000 --- a/documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_Nftables.mdx +++ /dev/null @@ -1,116 +0,0 @@ -
    - В этом разделе мы покажем, как правила фильтрации трафика, созданные с помощью Terraform и API, внедряются в настройки - nftables. Это позволяет легко интегрировать сложные правила безопасности прямо в вашу систему фильтрации трафика. -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Области применения полей относительно используемого протокола
    шаблон параметраструктура параметразначениеописание
    $\{Trace\}`nftrace set` -
      -
    • 1 - трассировка включена
    • -
    • 0 - трассировка выключена
    • -
    -
    Трассировка указанного правила (опциональна, можно включить/выключить)
    $\{DstFQDN\} - `saddr @${IPSet(sgName)}` - Наименование IPSet в котором описаны сети в FQDNЗначение типа string, не должно содержать в себе пробелов
    $\{Transport\}`tcp` | `udp`протокол передачи данных в цепочке правил.Одно из двух значений `tcp` | `udp`
    $\{RuleType\}`ip`Описывает, что принимает трафик типа ip
    $\{SrcPorts\}`sport {}`Набор целочисленных значений от 0 до 65535ЗЗначения `sport` (source port). Может быть как одно значение, как и множество значений портов. В случае если одно значение у порта то передается значение либо как целочисленное значение либо как название порта. Если передается массив значений портов то они должны быть внутри `{}` перечислены через запятую.
    $\{DstPorts\}`dport {}`Набор целочисленных значений от 0 до 65535ЗЗначения `dport` (destination port). Может быть как одно значение, как и множество значений портов. В случае если одно значение у порта то передается значение либо как целочисленное значение либо как название порта. Если передается массив значений портов то они должны быть внутри `{}` перечислены через запятую.
    $\{Counter\} - `counter packets 0 bytes 0` - Не параметризированныйСчетчик, учитывает количество пройденных пакетов с количеством байтов переданной информации в рамках указанной цепочки правил
    $\{Log\} - `log level debug flags ip options` - Не параметризированныйЛогирование указанного правила (опциональна, можно включить/выключить)
    $\{Verdict\}`accept` -
    Не параметризированный
    -
    -
    - $Verdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле может принимать значение `accept` или `drop` в зависимости от указанного в правиле. -
    - Подробнее: [Verdict statement](../../tech-docs/to-nft/nftables/verdict-statement) -
    Вердикт политики по пакетам данных
    -
    - -#### Шаблон - -```hcl -chain EGRESS-POSTROUTING-sgName { - # ********** - ${Trace} ${RuleType} ${DstFQDN} ${Transport} ${SrcPorts} ${DstPorts} ${Counter} ${Log} ${Verdict} - # ********** -} -``` - -#### Пример использования - -```hcl -chain EGRESS-POSTROUTING-sg-local-example { - # ********** - nftrace set 1 ip daddr @NetIPv4-fqdn-example.com tcp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept - nftrace set 1 ip daddr @NetIPv6-fqdn-example.com tcp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept - - nftrace set 1 ip daddr @NetIPv4-fqdn-example.com udp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept - nftrace set 1 ip daddr @NetIPv6-fqdn-example.com udp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept - # ********** -} -``` diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_TerraformModule.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_TerraformModule.mdx deleted file mode 100644 index f01b683f..00000000 --- a/documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_TerraformModule.mdx +++ /dev/null @@ -1,224 +0,0 @@ -import Tabs from '@theme/Tabs' -import TabItem from '@theme/TabItem' -import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' -import { DICTIONARY } from '@site/src/constants/dictionary.ts' -import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' - -
    -

    {DICTIONARY['v1.13.0'].terraformModule.full}

    -
    -
    - Далее везде в документе подразумевается что все места, содержащие переменную `$traffic`, могут принять значениe: - `Egress`. Аналогчично для `$transport` подразумевается одно из двух значений: `tcp`, `udp`. -
    -
      -
    • `rules` - {DICTIONARY['v1.13.0'].rules.short}
    • -
    • `rules.$traffic[]` - {DICTIONARY['v1.13.0'].traffic.short}
    • -
    • `rules.$traffic[].fqdnSet[]` - {DICTIONARY['v1.13.0'].fqdnSet.short}
    • - {/*
    • `rules.$traffic[].access.protocols[]` - {DICTIONARY['v1.13.0'].l7ProtocolList.short}
    • */} -
    • `rules.$traffic[].access.$transport` - {DICTIONARY['v1.13.0'].transport.short}
    • -
    • `rules.$traffic[].access.$transport.action` - {DICTIONARY['v1.13.0'].action.short}
    • -
    • `rules.$traffic[].access.$transport.priority` - {DICTIONARY['v1.13.0'].priority.short}
    • -
    • `rules.$traffic[].access.$transport.log` - {DICTIONARY['v1.13.0'].log.short}
    • -
    • `rules.$traffic[].access.$transport.trace` - {DICTIONARY['v1.13.0'].trace.short}
    • -
    • `rules.$traffic[].access.$transport.ports[].description` - {DICTIONARY['v1.13.0'].description.short}
    • -
    • `rules.$traffic[].access.$transport.ports[].ports_to[]` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • -
    • `rules.$traffic[].access.$transport.ports[].ports_from[]` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Области применения полей относительно используемого протокола
    название параметратип данныхзначение по умолчаниюtransport*
    TCPUDP
    rulesObject[][]
    rules.$traffic[]Object[]
    rules.$traffic[].fqdnSet[]String[]
    rules.$traffic[].access.$transportObject
    rules.$traffic[].access.$transport.action - Enum("ACCEPT", "DROP") -
    rules.$traffic[].access.$transport.priorityString
    rules.$traffic[].access.$transport.logBooleanfalse
    rules.$traffic[].access.$transport.traceBooleanfalse
    rules.$traffic[].access.$transport.ports[]Object[]
    rules.$traffic[].access.$transport.ports[].descriptionString""
    rules.$traffic[].access.$transport.ports[].ports_to[]Integer[]null
    rules.$traffic[].access.$transport.ports[].ports_from[]Integer[]null
    -
    - -#### Ограничения - -
      -
    • - `name`: - -
    • -
    • - `rules.$traffic[].fqdnSet`: - -
    • - {/*
    • - `rules.$traffic[].protocols[]`: - -
    • */} -
    • - `rules.$traffic[].access.$transport.priority`: - -
    • -
    • - `rules.$traffic[].access.$transport.ports[].ports_to[]`: - -
    • -
    • - `rules.$traffic[].access.$transport.ports[].ports_from[]`: - -
    • -
    - -

    - - Пример использования - -

    - - - - - ```yaml - name: sg-local-example - rules: - egress: - - fqdnSet: - - example.com - access: - tcp: - action: ACCEPT - priority: 100 - logs: true - trace: true - ports: - - description: "example" - ports_from: - - 64231 - ports_to: - - 443 - - 80 - ``` - - - - ```yaml - name: sg-local-example - rules: - egress: - - fqdnSet: - - example.com - access: - udp: - action: ACCEPT - priority: 100 - logs: true - trace: true - ports: - - description: "example" - ports_from: - - 64231 - ports_to: - - 443 - - 80 - ``` - - - diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_TerraformResource.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_TerraformResource.mdx deleted file mode 100644 index 5ab42605..00000000 --- a/documentation/versioned_docs/version-v1.13.0/snippets/s2f-e/_TerraformResource.mdx +++ /dev/null @@ -1,236 +0,0 @@ -import Tabs from '@theme/Tabs' -import TabItem from '@theme/TabItem' -import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' -import { DICTIONARY } from '@site/src/constants/dictionary.ts' -import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' - -
    -

    {DICTIONARY['v1.13.0'].terraformResource.full}

    -
    -
      -
    • `items` - список ресурсов создаваемые terraform ресурсом.
    • -
    • `items.$ruleName` - уникальное имя создаваемого ресурса.
    • -
    • `items.$ruleName.transport` - {DICTIONARY['v1.13.0'].transport.short}
    • -
    • `items.$ruleName.protocols[]` - {DICTIONARY['v1.13.0'].l7ProtocolList.short}
    • -
    • `items.$ruleName.logs` - {DICTIONARY['v1.13.0'].log.short}
    • -
    • `items.$ruleName.trace` - {DICTIONARY['v1.13.0'].trace.short}
    • -
    • `items.$ruleName.sg_from` - {DICTIONARY['v1.13.0'].sgLocal.short}
    • -
    • `items.$ruleName.fqdn` - {DICTIONARY['v1.13.0'].fqdn.short}
    • -
    • `items.$ruleName.ports[]` - {DICTIONARY['v1.13.0'].ports.short}
    • -
    • `items.$ruleName.ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • -
    • `items.$ruleName.ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • -
    • `items.$ruleName.action` - {DICTIONARY['v1.13.0'].action.short}
    • -
    • `items.$ruleName.priority` - {DICTIONARY['v1.13.0'].priority.short}
    • -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Области применения полей относительно используемого протокола
    названиеобязательностьтип данныхзначение по умолчаниюtransport*
    TCPUDP
    itemsдаObject
    items.$ruleNameдаObject
    items.$ruleName.transportдаEnum("TCP", "UDP")
    items.$ruleName.logsнетBooleanfalse
    items.$ruleName.traceнетBooleanfalse
    items.$ruleName.sg_fromдаString
    items.$ruleName.fqdnдаString
    items.$ruleName.ports[]нетObject[]null
    items.$ruleName.ports[].sнетString""
    items.$ruleName.ports[].dнетString""
    items.$ruleName.actionда - Enum("ACCEPT", "DROP") -
    items.$ruleName.priorityнетInteger
    -
    - -#### Ограничения - -
      -
    • - `items`: - -
    • -
    • - `items.$ruleName`: - -
    • -
    • - `items.$ruleName.protocols[]`: - -
    • -
    • - `items.$ruleName.sg_from`: - -
    • -
    • - `items.$ruleName.fqdn`: - -
    • -
    • - `items.$ruleName.ports[].s`: - -
    • -
    • - `items.$ruleName.ports[].d`: - -
    • -
    • - `items.$ruleName.priority`: - -
    • -
    - -#### Пример использования - - - - - ```hcl - resource "sgroups_fqdn_rules" "rules" { - items = { - "tcp:sg(sg-local-example)fqdn(example.com)" = { - transport = "tcp" - sg_from = "sg-local-example" - fqdn = "example.com" - ports = [{ - d = "443,80" - s = "64231" - }] - logs = true - trace = true - action = "ACCEPT" - priority = 100 - } - } - } - ``` - - - - ```hcl - resource "sgroups_fqdn_rules" "rules" { - items = { - "udp:sg(sg-local-example)fqdn(example.com)" = { - transport = "udp" - sg_from = "sg-local-example" - fqdn = "example.com" - ports = [{ - d = "443,80" - s = "64231" - }] - logs = true - trace = true - action = "ACCEPT" - priority = 100 - } - } - } - ``` - - - diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_Api.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_Api.mdx deleted file mode 100644 index bab68b5a..00000000 --- a/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_Api.mdx +++ /dev/null @@ -1,763 +0,0 @@ -import Tabs from '@theme/Tabs' -import TabItem from '@theme/TabItem' -import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' -import { DICTIONARY } from '@site/src/constants/dictionary.ts' -import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' -import { FancyboxDiagram } from '@site/src/components/commonBlocks/FancyboxDiagram' -import { RESPOND_CODES } from '@site/src/constants/errorCodes.tsx' -import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' - -#### Входные параметры - -
      -
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • -
    • `$node.rules[].Sg` - {DICTIONARY['v1.13.0'].sg.short}
    • -
    • `$node.rules[].SgLocal` - {DICTIONARY['v1.13.0'].sgLocal.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • -
    • `$node.rules[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • -
    • `$node.rules[].ports` - {DICTIONARY['v1.13.0'].ports.short}
    • -
    • `$node.rules[].ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • -
    • `$node.rules[].ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • -
    • `$node.rules[].traffic` - {DICTIONARY['v1.13.0'].traffic.short}
    • -
    • `$node.rules[].transport` - {DICTIONARY['v1.13.0'].transport.short}
    • -
    • `$node.rules[].ICMP` - {DICTIONARY['v1.13.0'].apiIcmp.short}
    • -
    • `$node.rules[].ICMP.IPv` - {DICTIONARY['v1.13.0'].icmpV.short}
    • -
    • `$node.rules[].ICMP.Types` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • -
    • `$node.rules[].action` - {DICTIONARY['v1.13.0'].action.short}
    • -
    • `$node.rules[].priority` - {DICTIONARY['v1.13.0'].priorityst.short}
    • -
    • `$node.rules[].priority.some` - {DICTIONARY['v1.13.0'].priority.short}
    • -
    • `syncOp` - {DICTIONARY['v1.13.0'].syncOp.short}
    • -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Области применения полей относительно используемого протокола
    названиеобязательностьтип данныхзначение по умолчаниюtransport*
    TCPUDPICMP
    $node.rules[]даObject[]null
    $node.rules[].SgдаString
    $node.rules[].SgLocalдаString
    $node.rules[].logsнетBooleanfalse
    $node.rules[].traceнетBooleanfalse
    $node.rules[].portsнетObject[]null
    $node.rules[].ports[].dнетStringnull
    $node.rules[].ports[].sнетStringnull
    $node.rules[].trafficдаEnum("Ingress", "Egress")
    $node.rules[].transportнетEnum("TCP", "UDP")TCP
    $node.rules[].ICMPдаObject
    $node.rules[].ICMP.IPvдаEnum("IPv4", "IPv6")
    $node.rules[].ICMP.TypesнетString[][]
    $node.rules[].actionда - Enum("UNDEF", "ACCEPT", "DROP") -
    $node.rules[].priorityнетObject
    $node.rules[].priority.someнетInteger
    syncOpда - Enum("Delete", "Upsert", "FullSync") -
    -
    - -

    Ограничения

    - -
      -
    • - `sgSgRules.rules[].Sg`: - -
    • -
    • - `sgSgRules.rules[].SgLocal`: - -
    • -
    • - `sgSgRules.rules[].ports[].ports_to[]`: - -
    • -
    • - `sgSgRules.rules[].ports[].ports_from[]`: - -
    • -
    • - `sgSgRules.rules[].ICMP.Types[]`: - -
    • -
    - -

    Пример использования

    - - - -
    -
    -

    Ingress

    - ```bash - curl '127.0.0.1:9007/v1/sync' \ - --header 'Content-Type: application/json' \ - --data '{ - "sgSgRules": { - "rules": [ - { - "traffic": "Ingress", - "Sg": "sg-example", - "SgLocal": "sg-local-example", - "logs": true, - "trace": true, - "ports": [{ - "d": "64321", - "s": "443,80" - }], - "transport": "TCP", - "action": "ACCEPT", - "priority": { - "some": 0 - } - } - ] - }, - "syncOp": "Upsert" - }' - ``` -
    -
    -

    Egress

    - ```bash - curl '127.0.0.1:9007/v1/sync' \ - --header 'Content-Type: application/json' \ - --data '{ - "sgSgRules": { - "rules": [ - { - "traffic": "Egress", - "Sg": "sg-example", - "SgLocal": "sg-local-example", - "logs": true, - "trace": true, - "ports": [{ - "d": "64321", - "s": "443,80" - }], - "transport": "TCP", - "action": "ACCEPT", - "priority": { - "some": 0 - } - } - ] - }, - "syncOp": "Upsert" - }' - ``` -
    -
    - -

    Выходные параметры

    - -
    - - - - - - - - - - - - - - - -
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    -
    - -

    Возможные ошибки API

    - - - - -

    Диаграмма последовательности

    - - - - ```mermaid - sequenceDiagram - participant user as User - participant server as Server - participant db as Database - - user->>server: Добавить IE-SG-SG правило - - alt Ошибка в запросе - server-->>user: Показать ошибку в запросе - end - - server->>db: Отправить запрос - db->>db: Проверка входящего запроса - - alt Нет такого значения имени SG(sg и/или sg_local) - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе - end - - alt Пересечение значений source портов - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе - end - - db->>db: Сохранить данные о IE-SG-SG в БД - - db-->>server: Ответ с успешно добавленным новым IE-SG-SG правилом - server-->>user: Успешно добавленное новое IE-SG-SG правило - ``` - - -
    - -
    -
    -

    Ingress

    - ```bash - curl '127.0.0.1:9007/v1/sync' \ - --header 'Content-Type: application/json' \ - --data '{ - "sgSgRules": { - "rules": [ - { - "traffic": "Ingress", - "Sg": "sg-example", - "SgLocal": "sg-local-example", - "logs": true, - "trace": true, - "ports": [{ - "d": "64321", - "s": "443,80" - }], - "transport": "UDP", - "action": "ACCEPT", - "priority": { - "some": 0 - } - } - ] - }, - "syncOp": "Upsert" - }' - ``` -
    -
    -

    Egress

    - ```bash - curl '127.0.0.1:9007/v1/sync' \ - --header 'Content-Type: application/json' \ - --data '{ - "sgSgRules": { - "rules": [ - { - "traffic": "Egress", - "Sg": "sg-example", - "SgLocal": "sg-local-example", - "logs": true, - "trace": true, - "ports": [{ - "d": "64321", - "s": "443,80" - }], - "transport": "UDP", - "action": "ACCEPT", - "priority": { - "some": 0 - } - } - ] - }, - "syncOp": "Upsert" - }' - ``` -
    -
    - -

    Выходные параметры

    - -
    - - - - - - - - - - - - - - - -
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    -
    - -

    Возможные ошибки API

    - - - - -

    Диаграмма последовательности

    - - - - ```mermaid - sequenceDiagram - participant user as User - participant server as Server - participant db as Database - - user->>server: Добавить IE-SG-SG правило - - alt Ошибка в запросе - server-->>user: Показать ошибку в запросе - end - - server->>db: Отправить запрос - db->>db: Проверка входящего запроса - - alt Нет такого значения имени SG(sg и/или sg_local) - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе - end - - alt Пересечение значений source портов - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе - end - - db->>db: Сохранить данные о IE-SG-SG в БД - - db-->>server: Ответ с успешно добавленным новым IE-SG-SG правилом - server-->>user: Успешно добавленное новое IE-SG-SG правило - ``` - - -
    - -
    -
    -

    Ingress

    - ```bash - curl '127.0.0.1:9007/v1/sync' \ - --header 'Content-Type: application/json' \ - --data '{ - "ieSgSgIcmpRules": { - "rules": [ - { - "traffic": "Ingress", - "Sg": "sg-example", - "SgLocal": "sg-local-example", - "logs": true, - "trace": true, - "ICMP": { - "IPv": "IPv4", - "Types": [0, 8] - }, - "action": "ACCEPT", - "priority": { - "some": -100 - } - } - ] - }, - "syncOp": "Upsert" - }' - ``` -
    -
    -

    Egress

    - ```bash - curl '127.0.0.1:9007/v1/sync' \ - --header 'Content-Type: application/json' \ - --data '{ - "ieSgSgIcmpRules": { - "rules": [ - { - "traffic": "Egress", - "Sg": "sg-example", - "SgLocal": "sg-local-example", - "logs": true, - "trace": true, - "ICMP": { - "IPv": "IPv4", - "Types": [0, 8] - }, - "action": "ACCEPT", - "priority": { - "some": -100 - } - } - ] - }, - "syncOp": "Upsert" - }' - ``` -
    -
    - -

    Выходные параметры

    - -
    - - - - - - - - - - - - - - - -
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    -
    - -

    Возможные ошибки API

    - - - - -

    Диаграмма последовательности

    - - - - ```mermaid - sequenceDiagram - participant user as User - participant server as Server - participant db as Database - - user->>server: Добавить IE-SG-SG правило - - alt Ошибка в запросе - server-->>user: Показать ошибку в запросе - end - - server->>db: Отправить запрос - db->>db: Проверка входящего запроса - - alt Нет такого значения имени SG(sg и/или sg_local) - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе - end - - alt Некорректное значение кода ICMP - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе - end - - alt Некорректное значение IPv - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе - end - - db->>db: Сохранить данные о IE-SG-SG в БД - - db-->>server: Ответ с успешно добавленным новым IE-SG-SG правилом - server-->>user: Успешно добавленное новое IE-SG-SG правило - ``` - - -
    - - -
    -
    -

    Ingress

    - ```bash - curl '127.0.0.1:9007/v1/sync' \ - --header 'Content-Type: application/json' \ - --data '{ - "ieSgSgIcmpRules": { - "rules": [ - { - "traffic": "Ingress", - "Sg": "sg-example", - "SgLocal": "sg-local-example", - "logs": true, - "trace": true, - "ICMP": { - "IPv": "IPv6", - "Types": [0, 8] - }, - "action": "ACCEPT", - "priority": { - "some": -100 - } - } - ] - }, - "syncOp": "Upsert" - }' - ``` -
    -
    -

    Egress

    - ```bash - curl '127.0.0.1:9007/v1/sync' \ - --header 'Content-Type: application/json' \ - --data '{ - "ieSgSgIcmpRules": { - "rules": [ - { - "traffic": "Egress", - "Sg": "sg-example", - "SgLocal": "sg-local-example", - "logs": true, - "trace": true, - "ICMP": { - "IPv": "IPv6", - "Types": [0, 8] - }, - "action": "ACCEPT", - "priority": { - "some": -100 - } - } - ] - }, - "syncOp": "Upsert" - }' - ``` -
    -
    - -

    Выходные параметры

    - -
    - - - - - - - - - - - - - - - -
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    -
    - -

    Возможные ошибки API

    - - - - -

    Диаграмма последовательности

    - - - - ```mermaid - sequenceDiagram - participant user as User - participant server as Server - participant db as Database - - user->>server: Добавить IE-SG-SG правило - - alt Ошибка в запросе - server-->>user: Показать ошибку в запросе - end - - server->>db: Отправить запрос - db->>db: Проверка входящего запроса - - alt Нет такого значения имени SG(sg и/или sg_local) - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе - end - - alt Некорректное значение кода ICMP - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе - end - - alt Некорректное значение IPv - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе - end - - db->>db: Сохранить данные о IE-SG-SG в БД - - db-->>server: Ответ с успешно добавленным новым IE-SG-SG правилом - server-->>user: Успешно добавленное новое IE-SG-SG правило - ``` - - -
    - -
    diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_Nftables.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_Nftables.mdx deleted file mode 100644 index c560eaef..00000000 --- a/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_Nftables.mdx +++ /dev/null @@ -1,332 +0,0 @@ -import Tabs from '@theme/Tabs' -import TabItem from '@theme/TabItem' -import { DICTIONARY } from '@site/src/constants/dictionary.ts' - -
    - В этом разделе мы покажем, как правила фильтрации трафика, созданные с помощью Terraform и API, внедряются в настройки - nftables. Это позволяет легко интегрировать сложные правила безопасности прямо в вашу систему фильтрации трафика. -
    -
      -
    • `$Trace` - {DICTIONARY['v1.13.0'].trace.short}
    • -
    • `$SrcSgroup` - {DICTIONARY['v1.13.0'].sg.short}
    • -
    • `$DstGroup` - {DICTIONARY['v1.13.0'].sg.short}
    • -
    • `$Transport` - {DICTIONARY['v1.13.0'].transport.short}
    • -
    • `$NftRuleType` - {DICTIONARY['v1.13.0'].nftRuleType.short}
    • -
    • `$IcmpTypeList` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • -
    • `$SrcPorts` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • -
    • `$DstPorts` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • -
    • `$NftCounter` - {DICTIONARY['v1.13.0'].nftCounter.short}
    • -
    • `$Log` - {DICTIONARY['v1.13.0'].log.short}
    • -
    • `$NftRuleVerdict` - {DICTIONARY['v1.13.0'].nftRuleVerdict.short}
    • -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Области применения полей относительно используемого протокола
    шаблон параметраструктура параметразначенияtransport*
    TCPUDPICMP
    $Trace`nftrace set` -
      -
    • - 1 - трассировка включена -
    • -
    • - 0 - трассировка выключена -
    • -
    -
    $SrcSgroup - `saddr` - `@${IPSet(sgName)}`
    $DstSgroup - `daddr` - `@${IPSet(sgName)}`
    $Transport - `tcp | udp | icmp` -
    $NftRuleType`ip`
    $IcmpTypeList`type {}`Набор целочисленных значений от 0 до 255
    $SrcPorts`sport {}`Набор целочисленных значений от 1 до 65535
    $DstPorts`dport {}`Набор целочисленных значений от 1 до 65535
    $NftCounter - `counter` - `packets 0 bytes 0`
    $Log - `log` - `level debug flags ip options`
    $NftRuleVerdict`accept` -
    - - $NftRuleVerdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле - может принимать значение `accept` или `drop` в зависимости от указанного в правиле. - -
    - Подробнее: [Verdict statement](../../tech-docs/to-nft/nftables/verdict-statement) -
    -
    - -

    Пример использования

    - - - - - - #### Шаблон - - ```hcl - chain INGRESS-INPUT-sgName { - # ********** - $Trace $NftRuleType $SrcSgroup $Transport $SrcPorts $DstPorts $NftCounter $Log $NftRuleVerdict - # ********** - } - ``` - - #### Пример использования - - ```hcl - chain INGRESS-INPUT-sg-local-example { - # ********** - nftrace set 1 ip saddr @NetIPv4-sg-example tcp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept - nftrace set 1 ip saddr @NetIPv6-sg-example tcp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept - # ********** - } - ``` - - - #### Шаблон - - ```hcl - chain EGRESS-POSTROUTING-sgName { - # ********** - $Trace $NftRuleType $DstSgroup $Transport $SrcPorts $DstPorts $NftCounter $Log $NftRuleVerdict - # ********** - } - ``` - - #### Пример использования - - ```hcl - chain EGRESS-POSTROUTING-sg-local-example { - # ********** - nftrace set 1 ip daddr @NetIPv4-sg-example tcp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept - nftrace set 1 ip daddr @NetIPv6-sg-example tcp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept - # ********** - } - ``` - - - - - - - #### Шаблон - - ```hcl - chain INGRESS-INPUT-sgName { - # ********** - $Trace $NftRuleType $SrcSgroup $Transport $SrcPorts $DstPorts $NftCounter $Log $NftRuleVerdict - # ********** - } - ``` - - #### Пример использования - - ```hcl - chain INGRESS-INPUT-sg-local-example { - # ********** - nftrace set 1 ip saddr @NetIPv4-sg-example udp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept - nftrace set 1 ip saddr @NetIPv6-sg-example udp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept - # ********** - } - ``` - - - #### Шаблон - - ```hcl - chain EGRESS-POSTROUTING-sgName { - # ********** - $Trace $NftRuleType $DstSgroup $Transport $SrcPorts $DstPorts $NftCounter $Log $NftRuleVerdict - # ********** - } - ``` - - #### Пример использования - - ```hcl - chain EGRESS-POSTROUTING-sg-local-example { - # ********** - nftrace set 1 ip daddr @NetIPv4-sg-example udp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept - nftrace set 1 ip daddr @NetIPv6-sg-example udp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept - # ********** - } - ``` - - - - - - - #### Шаблон - - ```hcl - chain INGRESS-INPUT-sgName { - # ********** - $Trace $NftRuleType $DstSgroup $Transport $IcmpTypeList $NftCounter $Log $NftRuleVerdict - # ********** - } - ``` - - #### Пример использования - - ```hcl - chain INGRESS-INPUT-sg-local-example { - # ********** - nftrace set 1 ip saddr @NetIPv4-sg-example icmp type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options accept - nftrace set 1 ip saddr @NetIPv6-sg-example icmpv6 type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options accept - # ********** - } - ``` - - - #### Шаблон - - ```hcl - chain EGRESS-POSTROUTING-sgName { - # ********** - $Trace $NftRuleType $DstSgroup $Transport $IcmpTypeList $NftCounter $Log $NftRuleVerdict - # ********** - } - ``` - - #### Пример использования - - ```hcl - chain EGRESS-POSTROUTING-sg-local-example { - # ********** - nftrace set 1 ip daddr @NetIPv4-sg-example icmp type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options accept - nftrace set 1 ip daddr @NetIPv6-sg-example icmpv6 type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options accept - # ********** - } - ``` - - - - - diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_TerraformModule.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_TerraformModule.mdx deleted file mode 100644 index 7dc39bd3..00000000 --- a/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_TerraformModule.mdx +++ /dev/null @@ -1,435 +0,0 @@ -import Tabs from '@theme/Tabs' -import TabItem from '@theme/TabItem' -import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' -import { DICTIONARY } from '@site/src/constants/dictionary.ts' -import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' - -
    -

    {DICTIONARY['v1.13.0'].terraformModule.full}

    -
    -
    - Далее везде в документе подразумевается что все места, содержащие переменную `$traffic`, могут принять одно из двух - значений: `Ingress` `Egress`. Аналогчично для `$transport` подразумевается одно из четырех значений: `tcp`, `udp`, - `icmpIPv4`, `icmpIPv6` -
    -
      -
    • `rules` - {DICTIONARY['v1.13.0'].rules.short}
    • -
    • `rules.$traffic[]` - {DICTIONARY['v1.13.0'].traffic.short}
    • -
    • `rules.$traffic[].sgroupSet[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    • -
    • `rules.$traffic[].access.$transport` - {DICTIONARY['v1.13.0'].transport.short}
    • -
    • `rules.$traffic[].access.$transport.action` - {DICTIONARY['v1.13.0'].action.short}
    • -
    • - `rules.$traffic[].access.$transport.priority` - {DICTIONARY['v1.13.0'].priority.short} -
    • -
    • `rules.$traffic[].access.$transport.log` - {DICTIONARY['v1.13.0'].log.short}
    • -
    • `rules.$traffic[].access.$transport.trace` - {DICTIONARY['v1.13.0'].trace.short}
    • -
    • - `rules.$traffic[].access.$transport.ports[].description` - {DICTIONARY['v1.13.0'].description.short} -
    • -
    • - `rules.$traffic[].access.$transport.ports[].ports_to[]` - {DICTIONARY['v1.13.0'].dstPorts.short} -
    • -
    • - `rules.$traffic[].access.$transport.ports[].ports_from[]` - {DICTIONARY['v1.13.0'].srcPorts.short} -
    • -
    • - `rules.$traffic[].access.$transport.types[].description` - {DICTIONARY['v1.13.0'].description.short} -
    • -
    • - `rules.$traffic[].access.$transport.types[].type[]` - {DICTIONARY['v1.13.0'].icmpTypes.short} -
    • -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Области применения полей относительно используемого протокола
    название параметратип данныхзначение по умолчаниюtransport*
    TCPUDPICMP
    rulesObject[][]
    rules.$traffic[]Object[]
    rules.$traffic[].sgroupSet[]String[]
    rules.$traffic[].access.$transportObject
    rules.$traffic[].access.$transport.action - Enum("ACCEPT", "DROP") -
    rules.$traffic[].access.$transport.priorityString
    rules.$traffic[].access.$transport.logBooleanfalse
    rules.$traffic[].access.$transport.traceBooleanfalse
    rules.$traffic[].access.$transport.ports[]Object[]""
    rules.$traffic[].access.$transport.ports[].descriptionString""
    rules.$traffic[].access.$transport.ports[].ports_to[]Integer[]null
    rules.$traffic[].access.$transport.ports[].ports_from[]Integer[]null
    rules.$traffic[].access.$transport.types[]Object[]""
    rules.$traffic[].access.$transport.types[].descriptionString""
    rules.$traffic[].access.$transport.types[].type[]Integer[]null
    -
    - -

    Ограничения

    - -
      -
    • - `name`: - -
    • -
    • - `rules.$traffic[].sgroupSet`: - -
    • -
    • - `rules.$traffic[].access.$transport.priority`: - -
    • -
    • - `rules.$traffic[].access.$transport.ports[].ports_to[]`: - -
    • -
    • - `rules.$traffic[].access.$transport.ports[].ports_from[]`: - -
    • -
    • - `rules.$traffic[].access.$transport.types[].type[]`: - -
    • -
    - -

    Пример использования

    - - - -
    -
    -

    Ingress

    - - ```yaml - name: "sg-local-example" - rules: - ingress: - - sgroupSet: - - "sg-example" - access: - tcp: - action: ACCEPT - priority: 0 - logs: true - trace: true - ports: - - description: "example" - ports_from: - - 64231 - ports_to: - - 443 - - 80 - ``` -
    -
    -

    Egress

    - - - ```yaml - name: "sg-local-example" - rules: - egress: - - sgroupSet: - - "sg-example" - access: - tcp: - action: ACCEPT - priority: 0 - logs: true - trace: true - ports: - - description: "example" - ports_from: - - 64231 - ports_to: - - 443 - - 80 - ``` -
    -
    -
    - -
    -
    -

    Ingress

    - - - ```yaml - name: "sg-local-example" - rules: - ingress: - - sgroupSet: - - "sg-example" - access: - udp: - action: ACCEPT - priority: 0 - logs: true - trace: true - ports: - - description: "example" - ports_from: - - 64231 - ports_to: - - 443 - - 80 - ``` -
    -
    -

    Egress

    - - - ```yaml - name: "sg-local-example" - rules: - egress: - - sgroupSet: - - "sg-example" - access: - udp: - action: ACCEPT - priority: 0 - logs: true - trace: true - ports: - - description: "example" - ports_from: - - 64231 - ports_to: - - 443 - - 80 - ``` -
    -
    -
    - -
    -
    -

    Ingress

    - - - ```yaml - name: "sg-local-example" - rules: - ingress: - - sgroupSet: - - "sg-example" - access: - icmpIPv4: - action: ACCEPT - priority: -100 - logs: true - trace: true - types: - - description: "example" - type: - - 0 - - 8 - ``` -
    -
    -

    Egress

    - - - ```yaml - name: "sg-local-example" - rules: - egress: - - sgroupSet: - - "sg-example" - access: - icmpIPv4: - action: ACCEPT - priority: -100 - logs: true - trace: true - types: - - description: "example" - type: - - 0 - - 8 - ``` -
    -
    -
    - - -
    -
    -

    Ingress

    - - - ```yaml - name: "sg-local-example" - rules: - ingress: - - sgroupSet: - - "sg-example" - access: - icmpIPv6: - action: ACCEPT - priority: -100 - logs: true - trace: true - types: - - description: "example" - type: - - 0 - - 8 - ``` -
    -
    -

    Egress

    - - - ```yaml - name: "sg-local-example" - rules: - egress: - - sgroupSet: - - "sg-example" - access: - icmpIPv6: - action: ACCEPT - priority: -100 - logs: true - trace: true - types: - - description: "example" - type: - - 0 - - 8 - ``` -
    -
    -
    - -
    diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_TerraformResource.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_TerraformResource.mdx deleted file mode 100644 index ae02b234..00000000 --- a/documentation/versioned_docs/version-v1.13.0/snippets/s2s-ie/_TerraformResource.mdx +++ /dev/null @@ -1,450 +0,0 @@ -import Tabs from '@theme/Tabs' -import TabItem from '@theme/TabItem' -import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' -import { DICTIONARY } from '@site/src/constants/dictionary.ts' -import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' - -
    -

    {DICTIONARY['v1.13.0'].terraformResource.full}

    -
    -
      -
    • `items` - {DICTIONARY['v1.13.0'].terraformItems.short}
    • -
    • `items.$ruleName` - {DICTIONARY['v1.13.0'].terraformRuleName.short}
    • -
    • `items.$ruleName.traffic` - {DICTIONARY['v1.13.0'].traffic.short}
    • -
    • `items.$ruleName.transport` - {DICTIONARY['v1.13.0'].transport.short}
    • -
    • `items.$ruleName.sg` - {DICTIONARY['v1.13.0'].sg.short}
    • -
    • `items.$ruleName.sg_local` - {DICTIONARY['v1.13.0'].sgLocal.short}
    • -
    • `items.$ruleName.ports` - {DICTIONARY['v1.13.0'].ports.short}
    • -
    • `items.$ruleName.ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • -
    • `items.$ruleName.ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • -
    • `items.$ruleName.logs` - {DICTIONARY['v1.13.0'].log.short}
    • -
    • `items.$ruleName.trace` - {DICTIONARY['v1.13.0'].trace.short}
    • -
    • `items.$ruleName.ip_v` - {DICTIONARY['v1.13.0'].icmpV.short}
    • -
    • `items.$ruleName.type` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • -
    • `items.$ruleName.action` - {DICTIONARY['v1.13.0'].action.short}
    • -
    • `items.$ruleName.priority` - {DICTIONARY['v1.13.0'].priority.short}
    • -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Области применения полей относительно используемого протокола
    названиеобязательностьтип данныхзначение по умолчаниюtransport*
    TCPUDPICMP
    itemsдаObject
    items.$ruleNameдаObject
    items.$ruleName.trafficда - Enum("ingress", "egress") -
    items.$ruleName.transportдаEnum("TCP", "UDP")
    items.$ruleName.sgдаString
    items.$ruleName.sg_localдаString
    items.$ruleName.portsнетObject[]null
    items.$ruleName.ports[].dнетString""
    items.$ruleName.ports[].sнетString""
    items.$ruleName.logsнетBooleanfalse
    items.$ruleName.traceнетBooleanfalse
    items.$ruleName.ip_vдаEnum("IPv4", "IPv6")
    items.$ruleName.typeдаString[]null
    items.$ruleName.actionда - Enum("ACCEPT", "DROP") -
    items.$ruleName.priorityнетInteger
    -
    - -

    Ограничения

    - -
      -
    • - `items`: - -
    • -
    • - `items.$ruleName`: - -
    • -
    • - `items.$ruleName.sg`: - -
    • -
    • - `items.$ruleName.sg_local`: - -
    • -
    • - `items.$ruleName.ports[].s`: - -
    • -
    • - `items.$ruleName.ports[].d`: - -
    • -
    • - `items.$ruleName.type[]`: - -
    • -
    • - `items.$ruleName.priority`: - -
    • -
    - -

    Пример использования

    - - - -
    -
    -

    Ingress

    - - ```hcl - resource "sgroups_ie_rules" "rules" { - items = { - "tcp:sg-local(sg-local-example)sg(sg-example)ingress" = { - traffic = "ingress" - logs = true - trace = true - sg_local = "sg-local-example" - sg = "sg-example" - transport = "tcp" - ports = [{ - d = "80" - s = "" - }] - action = "ACCEPT" - priority = 0 - } - } - } - ``` - - -
    -
    -

    Egress

    - - - ```hcl - resource "sgroups_ie_rules" "rules" { - items = { - "tcp:sg-local(sg-local-example)sg(sg-example)egress" = { - traffic = "egress" - logs = true - trace = true - sg_local = "sg-local-example" - sg = "sg-example" - transport = "tcp" - ports = [{ - d = "80" - s = "" - }] - action = "ACCEPT" - priority = 0 - } - } - } - ``` - - -
    -
    -
    - - -
    -
    -

    Ingress

    - - - ```hcl - resource "sgroups_ie_rules" "rules" { - items = { - "udp:sg-local(sg-local-example)sg(sg-example)ingress" = { - traffic = "ingress" - logs = true - trace = true - sg_local = "sg-local-example" - sg = "sg-example" - transport = "udp" - ports = [{ - d = "80" - s = "" - }] - action = "ACCEPT" - priority = 0 - } - } - } - ``` - - -
    -
    -

    Egress

    - - - ```hcl - resource "sgroups_ie_rules" "rules" { - items = { - "udp:sg-local(sg-local-example)sg(sg-example)egress" = { - traffic = "egress" - logs = true - trace = true - sg_local = "sg-local-example" - sg = "sg-example" - transport = "udp" - ports = [{ - d = "80" - s = "" - }] - action = "ACCEPT" - priority = 0 - } - } - } - ``` -
    -
    -
    - - -
    -
    -

    Ingress

    - - ```hcl - resource "sgroups_ie_icmp_rules" "rules" { - items = { - "icmp4:sg-local(sg-local-example)sg(sg-example)ingress" = { - traffic = "ingress" - logs = true - trace = true - sg_local = "sg-local-example" - sg = "sg-example" - ip_v = "IPv4" - type = [0,8] - action = "ACCEPT" - priority = -100 - } - } - } - ``` - -
    -
    -

    Egress

    - - - ```hcl - resource "sgroups_icmp_rules" "rules" { - items = { - "icmp4:sg-local(sg-local-example)sg(sg-example)egress" = { - traffic = "egress" - logs = true - trace = true - sg_local = "sg-local-example" - sg = "sg-example" - ip_v = "IPv4" - type = [0,8] - action = "ACCEPT" - priority = -100 - } - } - } - ``` -
    -
    -
    - - -
    -
    -

    Ingress

    - - ```hcl - resource "sgroups_ie_icmp_rules" "rules" { - items = { - "icmp6:sg-local(sg-local-example)sg(sg-example)ingress" = { - traffic = "ingress" - logs = true - trace = true - sg_local = "sg-local-example" - sg = "sg-example" - ip_v = "IPv6" - type = [0,8] - action = "ACCEPT" - priority = -100 - } - } - } - ``` - -
    -
    -

    Egress

    - - - ```hcl - resource "sgroups_icmp_rules" "rules" { - items = { - "icmp6:sg-local(sg-local-example)sg(sg-example)egress" = { - traffic = "egress" - logs = true - trace = true - sg_local = "sg-local-example" - sg = "sg-example" - ip_v = "IPv6" - type = [0,8] - action = "ACCEPT" - priority = -100 - } - } - } - ``` -
    -
    -
    - -
    diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_Api.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_Api.mdx deleted file mode 100644 index 671fc4ec..00000000 --- a/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_Api.mdx +++ /dev/null @@ -1,599 +0,0 @@ -import Tabs from '@theme/Tabs' -import TabItem from '@theme/TabItem' -import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' -import { DICTIONARY } from '@site/src/constants/dictionary.ts' -import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' -import { FancyboxDiagram } from '@site/src/components/commonBlocks/FancyboxDiagram' -import { RESPOND_CODES } from '@site/src/constants/errorCodes.tsx' -import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' - -#### Входные параметры - -
      -
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • -
    • `$node.rules[].sgFrom` - {DICTIONARY['v1.13.0'].sg.short}
    • -
    • `$node.rules[].sgTo` - {DICTIONARY['v1.13.0'].sg.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • -
    • `$node.rules[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • -
    • `$node.rules[].ports` - {DICTIONARY['v1.13.0'].ports.short}
    • -
    • `$node.rules[].ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • -
    • `$node.rules[].ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • -
    • `$node.rules[].transport` - {DICTIONARY['v1.13.0'].transport.short}
    • -
    • `$node.rules[].ICMP` - {DICTIONARY['v1.13.0'].apiIcmp.short}
    • -
    • `$node.rules[].ICMP.IPv` - {DICTIONARY['v1.13.0'].icmpV.short}
    • -
    • `$node.rules[].ICMP.Types` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • -
    • `$node.rules[].action` - {DICTIONARY['v1.13.0'].action.short}
    • -
    • `$node.rules[].priority` - {DICTIONARY['v1.13.0'].priorityst.short}
    • -
    • `$node.rules[].priority.some` - {DICTIONARY['v1.13.0'].priority.short}
    • -
    • `syncOp` - {DICTIONARY['v1.13.0'].syncOp.short}
    • -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Области применения полей относительно используемого протокола
    названиеобязательностьтип данныхзначение по умолчаниюtransport*
    TCPUDPICMP
    $node.rules[]даObject[]null
    $node.rules[].sgFromдаString
    $node.rules[].sgToдаString
    $node.rules[].logsнетBooleanfalse
    $node.rules[].traceнетBooleanfalse
    $node.rules[].portsнетObject[]null
    $node.rules[].ports[].dнетStringnull
    $node.rules[].ports[].sнетStringnull
    $node.rules[].transportнетEnum("TCP", "UDP")TCP
    $node.rules[].ICMPдаObject
    $node.rules[].ICMP.IPvдаEnum("IPv4", "IPv6")
    $node.rules[].ICMP.TypesнетString[][]
    $node.rules[].actionда - Enum("UNDEF", "ACCEPT", "DROP") -
    $node.rules[].priorityнетObject
    $node.rules[].priority.someнетInteger
    syncOpда - Enum("Delete", "Upsert", "FullSync") -
    -
    - -

    Ограничения

    - -
      -
    • - `sgSgRules.rules[].sgFrom`: - -
    • -
    • - `sgSgRules.rules[].sgTo`: - -
    • -
    • - `sgSgRules.rules[].ports[].d`: - -
    • -
    • - `sgSgRules.rules[].ports[].s`: - -
    • -
    • - `sgSgRules.rules[].ICMP.Types[]`: - -
    • -
    - -#### Пример использования - - - - ```bash - curl '127.0.0.1:9007/v1/sync' \ - --header 'Content-Type: application/json' \ - --data '{ - "sgRules": { - "rules": [{ - "sgFrom": "sg-local-example", - "sgTo": "sg-example", - "logs": true, - "trace": true, - "ports": [{ - "d": "443,80", - "s": "64231" - }], - "transport": "TCP", - "action": "ACCEPT", - "priority": { - "some": -200 - } - }] - }, - "syncOp": "Upsert" - }' - ``` - -

    Выходные параметры

    - -
    - - - - - - - - - - - - - - - -
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    -
    - -

    Возможные ошибки API

    - - - - -

    Диаграмма последовательности

    - - - ```mermaid - sequenceDiagram - participant user as User - participant server as Server - participant db as Database - - user->>server: Добавить IE-SG-SG правило - - alt Ошибка в запросе - server-->>user: Показать ошибку в запросе - end - - server->>db: Отправить запрос - db->>db: Проверка входящего запроса - - alt Нет такого значения имени SG(sg и/или sg_local) - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе - end - - alt Пересечение значений source портов - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе - end - - db->>db: Сохранить данные о IE-SG-SG в БД - - db-->>server: Ответ с успешно добавленным новым IE-SG-SG правилом - server-->>user: Успешно добавленное новое IE-SG-SG правило - ``` - - -
    - - ```bash - curl '127.0.0.1:9007/v1/sync' \ - --header 'Content-Type: application/json' \ - --data '{ - "sgRules": { - "rules": [{ - "sgFrom": "sg-local-example", - "sgTo": "sg-example", - "logs": true, - "trace": true, - "ports": [{ - "d": "443,80", - "s": "64231" - }], - "transport": "UDP", - "action": "ACCEPT", - "priority": { - "some": -200 - } - }] - }, - "syncOp": "Upsert" - }' - ``` - -

    Выходные параметры

    - -
    - - - - - - - - - - - - - - - -
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    -
    - -

    Возможные ошибки API

    - - - - -

    Диаграмма последовательности

    - - - ```mermaid - sequenceDiagram - participant user as User - participant server as Server - participant db as Database - - user->>server: Добавить IE-SG-SG правило - - alt Ошибка в запросе - server-->>user: Показать ошибку в запросе - end - - server->>db: Отправить запрос - db->>db: Проверка входящего запроса - - alt Нет такого значения имени SG(sg и/или sg_local) - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе - end - - alt Пересечение значений source портов - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе - end - - db->>db: Сохранить данные о IE-SG-SG в БД - - db-->>server: Ответ с успешно добавленным новым IE-SG-SG правилом - server-->>user: Успешно добавленное новое IE-SG-SG правило - ``` - - -
    - - ```bash - curl '127.0.0.1:9007/v1/sync' \ - --header 'Content-Type: application/json' \ - --data '{ - "sgSgIcmpRules": { - "rules": [{ - "SgFrom": "sg-local-example", - "SgTo": "sg-example", - "logs": true, - "trace": true - "ICMP": { - "IPv": "IPv4", - "Types": [0,8] - }, - "action": "ACCEPT", - "priority": { - "some": -300 - } - }] - }, - "syncOp": "Upsert" - }' - ``` - -

    Выходные параметры

    - -
    - - - - - - - - - - - - - - - -
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    -
    - -

    Возможные ошибки API

    - - - - -

    Диаграмма последовательности

    - - - ```mermaid - sequenceDiagram - participant user as User - participant server as Server - participant db as Database - - user->>server: Добавить IE-SG-SG правило - - alt Ошибка в запросе - server-->>user: Показать ошибку в запросе - end - - server->>db: Отправить запрос - db->>db: Проверка входящего запроса - - alt Нет такого значения имени SG(sg и/или sg_local) - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе - end - - alt Некорректное значение кода ICMP - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе - end - - alt Некорректное значение IPv - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе - end - - db->>db: Сохранить данные о IE-SG-SG в БД - - db-->>server: Ответ с успешно добавленным новым IE-SG-SG правилом - server-->>user: Успешно добавленное новое IE-SG-SG правило - ``` - - -
    - - - ```bash - curl '127.0.0.1:9007/v1/sync' \ - --header 'Content-Type: application/json' \ - --data '{ - "sgSgIcmpRules": { - "rules": [{ - "SgFrom": "sg-local-example", - "SgTo": "sg-example", - "logs": true, - "trace": true - "ICMP": { - "IPv": "IPv6", - "Types": [0,8] - }, - "action": "ACCEPT", - "priority": { - "some": -300 - } - }] - }, - "syncOp": "Upsert" - }' - ``` - -

    Выходные параметры

    - -
    - - - - - - - - - - - - - - - -
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    -
    - -

    Возможные ошибки API

    - - - - -

    Диаграмма последовательности

    - - - ```mermaid - sequenceDiagram - participant user as User - participant server as Server - participant db as Database - - user->>server: Добавить IE-SG-SG правило - - alt Ошибка в запросе - server-->>user: Показать ошибку в запросе - end - - server->>db: Отправить запрос - db->>db: Проверка входящего запроса - - alt Нет такого значения имени SG(sg и/или sg_local) - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе - end - - alt Некорректное значение кода ICMP - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе - end - - alt Некорректное значение IPv - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе - end - - db->>db: Сохранить данные о IE-SG-SG в БД - - db-->>server: Ответ с успешно добавленным новым IE-SG-SG правилом - server-->>user: Успешно добавленное новое IE-SG-SG правило - ``` - - -
    - -
    diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_Nftables.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_Nftables.mdx deleted file mode 100644 index 448ef610..00000000 --- a/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_Nftables.mdx +++ /dev/null @@ -1,276 +0,0 @@ -import Tabs from '@theme/Tabs' -import TabItem from '@theme/TabItem' -import { DICTIONARY } from '@site/src/constants/dictionary.ts' - -
    - В этом разделе мы покажем, как правила фильтрации трафика, созданные с помощью Terraform и API, внедряются в настройки - nftables. Это позволяет легко интегрировать сложные правила безопасности прямо в вашу систему фильтрации трафика. -
    - -
      -
    • `$Trace` - {DICTIONARY['v1.13.0'].trace.short}
    • -
    • `$SrcSgroup` - {DICTIONARY['v1.13.0'].sg.short}
    • -
    • `$DstGroup` - {DICTIONARY['v1.13.0'].sg.short}
    • -
    • `$Transport` - {DICTIONARY['v1.13.0'].transport.short}
    • -
    • `$NftRuleType` - {DICTIONARY['v1.13.0'].nftRuleType.short}
    • -
    • `$IcmpTypeList` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • -
    • `$SrcPorts` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • -
    • `$DstPorts` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • -
    • `$NftCounter` - {DICTIONARY['v1.13.0'].nftCounter.short}
    • -
    • `$Log` - {DICTIONARY['v1.13.0'].log.short}
    • -
    • `$NftRuleVerdict` - {DICTIONARY['v1.13.0'].nftRuleVerdict.short}
    • -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Области применения полей относительно используемого протокола
    шаблон параметраструктура параметразначенияtransport*
    TCPUDPICMP
    $Trace`nftrace set` -
      -
    • - 1 - трассировка включена -
    • -
    • - 0 - трассировка выключена -
    • -
    -
    $SrcSgroup - `saddr` - `@${IPSet(sgName)}`
    $DstSgroup - `daddr` - `@${IPSet(sgName)}`
    $Transport - `tcp | udp | icmp` -
    $NftRuleType`ip`
    $IcmpTypeList`type {}`Набор целочисленных значений от 0 до 255
    $SrcPorts`sport {}`Набор целочисленных значений от 0 до 65535
    $DstPorts`dport {}`Набор целочисленных значений от 0 до 65535
    $NftCounter - `counter` - `packets 0 bytes 0`
    $Log - `log` - `level debug flags ip options`
    $NftRuleVerdict`accept` -
    - - $NftRuleVerdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле - может принимать значение `accept` или `drop` в зависимости от указанного в правиле. - -
    - Подробнее: [Verdict statement](../../tech-docs/to-nft/nftables/verdict-statement) -
    -
    - -

    Пример использования

    - - - - #### Шаблон - ```hcl - chain INGRESS-INPUT-sgName { - # ********** - ${Trace} ${RuleType} ${SrcSgroup} ${Transport} ${SrcPorts} ${DstPorts} ${Counter} ${Log} ${Verdict} - # ********** - } - - chain EGRESS-POSTROUTING-sgName { - # ********** - ${Trace} ${RuleType} ${DstSgroup} ${Transport} ${SrcPorts} ${DstPorts} ${Counter} ${Log} ${Verdict} - # ********** - } - ``` - - #### Пример использования - - ```hcl - chain INGRESS-INPUT-sg-example-to { - # ********** - nftrace set 1 ip saddr NetIPv4-sg-example-from tcp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept - nftrace set 1 ip saddr NetIPv6-sg-example-from tcp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept - # ********** - } - - chain EGRESS-POSTROUTING-sg-example-from { - # ********** - nftrace set 1 ip daddr NetIPv4-sg-example-to tcp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept - nftrace set 1 ip daddr NetIPv6-sg-example-to tcp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept - # ********** - } - ``` - - - - #### Шаблон - ```hcl - chain INGRESS-INPUT-sgName { - # ********** - ${Trace} ${RuleType} ${SrcSgroup} ${Transport} ${SrcPorts} ${DstPorts} ${Counter} ${Log} ${Verdict} - # ********** - } - - chain EGRESS-POSTROUTING-sgName { - # ********** - ${Trace} ${RuleType} ${DstSgroup} ${Transport} ${SrcPorts} ${DstPorts} ${Counter} ${Log} ${Verdict} - # ********** - } - ``` - - #### Пример использования - - ```hcl - chain INGRESS-INPUT-sg-example-to { - # ********** - nftrace set 1 ip saddr NetIPv4-sg-example-from udp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept - nftrace set 1 ip saddr NetIPv6-sg-example-from udp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept - # ********** - } - - chain EGRESS-POSTROUTING-sg-example-from { - # ********** - nftrace set 1 ip daddr NetIPv4-sg-example-to udp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept - nftrace set 1 ip daddr NetIPv6-sg-example-to udp dport { 80, 443 } sport { 64231 } counter packets 0 bytes 0 log level debug flags ip options accept - # ********** - } - ``` - - - - #### Шаблон - - ```hcl - chain INGRESS-INPUT-sgName { - # ********** - ${Trace} ${RuleType} ${SrcSgroup} ${Transport} ${TypeList} ${Counter} ${Log} ${Verdict} - # ********** - } - - chain EGRESS-POSTROUTING-sgName { - # ********** - ${Trace} ${RuleType} ${DstSgroup} ${Transport} ${TypeList} ${Counter} ${Log} ${Verdict} - # ********** - } - ``` - - #### Пример использования - - ```hcl - chain INGRESS-INPUT-sg-example-to { - # ********** - nftrace set 1 ip saddr NetIPv4-v4-sg-example-from icmp type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options accept - nftrace set 1 ip saddr NetIPv6-v6-sg-example-from icmp type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options accept - # ********** - } - - chain EGRESS-POSTROUTING-sg-example-from { - # ********** - nftrace set 1 ip daddr NetIPv4-sg-example-to icmp type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options accept - nftrace set 1 ip daddr NetIPv6-sg-example-to icmp type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options accept - # ********** - } - ``` - - - diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_TerraformModule.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_TerraformModule.mdx deleted file mode 100644 index 64693ba1..00000000 --- a/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_TerraformModule.mdx +++ /dev/null @@ -1,295 +0,0 @@ -import Tabs from '@theme/Tabs' -import TabItem from '@theme/TabItem' -import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' -import { DICTIONARY } from '@site/src/constants/dictionary.ts' -import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' - -
    -

    {DICTIONARY['v1.13.0'].terraformModule.full}

    -
    -
    - Далее везде в документе подразумевается что все места, содержащие переменную `$transport` иогут принимать одно из - четырех значений: `tcp`, `udp`, `icmpIPv4`, `icmpIPv6`. -
    -
      -
    • `rules` - {DICTIONARY['v1.13.0'].rules.short}
    • -
    • - `rules.s2s[]` - Список правил, описывающий сетевое взаимодействие текущей Security Group с внешней Security Group. -
    • -
    • `rules.s2s[].sgroupSet[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    • -
    • `rules.s2s[].access.$transport` - {DICTIONARY['v1.13.0'].transport.short}
    • -
    • `rules.s2s[].access.$transport.action` - {DICTIONARY['v1.13.0'].action.short}
    • -
    • `rules.s2s[].access.$transport.priority` - {DICTIONARY['v1.13.0'].priority.short}
    • -
    • `rules.s2s[].access.$transport.log` - {DICTIONARY['v1.13.0'].log.short}
    • -
    • `rules.s2s[].access.$transport.trace` - {DICTIONARY['v1.13.0'].trace.short}
    • -
    • - `rules.s2s[].access.$transport.ports[].description` - {DICTIONARY['v1.13.0'].description.short} -
    • -
    • - `rules.s2s[].access.$transport.ports[].ports_to[]` - {DICTIONARY['v1.13.0'].dstPorts.short} -
    • -
    • - `rules.s2s[].access.$transport.ports[].ports_from[]` - {DICTIONARY['v1.13.0'].srcPorts.short} -
    • -
    • - `rules.s2s[].access.$transport.types[].description` - {DICTIONARY['v1.13.0'].description.short} -
    • -
    • - `rules.s2s[].access.$transport.types[].type[]` - {DICTIONARY['v1.13.0'].icmpTypes.short} -
    • -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Области применения полей относительно используемого протокола
    название параметратип данныхзначение по умолчаниюtransport*
    TCPUDPICMP
    rulesObject[][]
    rules.s2sObject
    rules.s2s.sgroupSet[]String[]
    rules.s2s.access.$transportObject[]
    rules.s2s[].access.$transport.action - Enum("ACCEPT", "DROP") -
    rules.s2s[].access.$transport.priorityString
    rules.s2s[].access.$transport.logBooleanfalse
    rules.s2s[].access.$transport.traceBooleanfalse
    rules.s2s.access.$transport.ports[].descriptionString""
    rules.s2s.access.$transport.ports[].ports_to[]Integer[]null
    rules.s2s.access.$transport.ports[].ports_from[]Integer[]null
    rules.s2s[].access.$transport.types[].type[]Integer[]null
    -
    - -

    Ограничения

    - -
      -
    • - `name`: - -
    • -
    • - `rules.s2s[].sgroupSet`: - -
    • -
    • - `rules.s2s[].access.$transport.priority`: - -
    • -
    • - `rules.s2s[].access.$transport.ports[].ports_to[]`: - -
    • -
    • - `rules.s2s[].access.$transport.ports[].ports_from[]`: - -
    • -
    • - `rules.s2s[].access.$transport.types[].type[]`: - -
    • -
    - -

    - - Пример использования - -

    - - - - - ```yaml - name: sg-local-example - rules: - s2s: - - sgroupSet: - - sg-example - access: - tcp: - action: ACCEPT - priority: -200 - logs: true - trace: true - ports: - - description: "" - ports_from: - - 64231 - ports_to: - - 443 - - 80 - ``` - - - - ```yaml - name: sg-local-example - rules: - s2s: - - sgroupSet: - - sg-example - access: - udp: - action: ACCEPT - priority: -200 - logs: true - trace: true - ports: - - description: "" - ports_from: - - 64231 - ports_to: - - 443 - - 80 - ``` - - - - ```yaml - name: sg-local-example - rules: - s2s: - - sgroupSet: - - sg-example - access: - icmpIPv4: - action: ACCEPT - priority: -300 - logs: true - trace: true - types: - - description: "" - Types: - - 0 - - 8 - ``` - - - - - ```yaml - name: sg-local-example - rules: - s2s: - - sgroupSet: - - sg-example - access: - icmpIPv6: - action: ACCEPT - priority: -300 - logs: true - trace: true - types: - - description: "" - Types: - - 0 - - 8 - ``` - - - diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_TerraformResource.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_TerraformResource.mdx deleted file mode 100644 index dfd359ae..00000000 --- a/documentation/versioned_docs/version-v1.13.0/snippets/s2s/_TerraformResource.mdx +++ /dev/null @@ -1,306 +0,0 @@ -import Tabs from '@theme/Tabs' -import TabItem from '@theme/TabItem' -import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' -import { DICTIONARY } from '@site/src/constants/dictionary.ts' -import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' - -
    -

    {DICTIONARY['v1.13.0'].terraformResource.full}

    -
    -
      -
    • `items` - {DICTIONARY['v1.13.0'].terraformItems.short}
    • -
    • `items.$ruleName` - {DICTIONARY['v1.13.0'].terraformRuleName.short}
    • -
    • `items.$ruleName.transport` - {DICTIONARY['v1.13.0'].transport.short}
    • -
    • `items.$ruleName.sg_from` - {DICTIONARY['v1.13.0'].sg.short}
    • -
    • `items.$ruleName.sg_to` - {DICTIONARY['v1.13.0'].sg.short}
    • -
    • `items.$ruleName.ports` - {DICTIONARY['v1.13.0'].ports.short}
    • -
    • `items.$ruleName.ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • -
    • `items.$ruleName.ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • -
    • `items.$ruleName.logs` - {DICTIONARY['v1.13.0'].log.short}
    • -
    • `items.$ruleName.trace` - {DICTIONARY['v1.13.0'].trace.short}
    • -
    • `items.$ruleName.ip_v` - {DICTIONARY['v1.13.0'].icmpV.short}
    • -
    • `items.$ruleName.type` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • -
    • `items.$ruleName.action` - {DICTIONARY['v1.13.0'].action.short}
    • -
    • `items.$ruleName.priority` - {DICTIONARY['v1.13.0'].priority.short}
    • -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Области применения полей относительно используемого протокола
    названиеобязательностьтип данныхзначение по умолчаниюtransport*
    TCPUDPICMP
    itemsдаObject
    items.$ruleNameдаObject
    items.$ruleName.transportдаEnum("TCP", "UDP")
    items.$ruleName.sg_fromдаString
    items.$ruleName.sg_toдаString
    items.$ruleName.portsнетObject[]null
    items.$ruleName.ports[].dнетString""
    items.$ruleName.ports[].sнетString""
    items.$ruleName.logsнетBooleanfalse
    items.$ruleName.traceнетBooleanfalse
    items.$ruleName.ip_vдаEnum("IPv4", "IPv6")
    items.$ruleName.typeдаString[]null
    items.$ruleName.actionда - Enum("ACCEPT", "DROP") -
    items.$ruleName.priorityнетInteger
    -
    - -

    Ограничения

    - -
      -
    • - `items`: - -
    • -
    • - `items.$ruleName`: - -
    • -
    • - `items.$ruleName.sg_from`: - -
    • -
    • - `items.$ruleName.sg_to`: - -
    • -
    • - `items.$ruleName.ports[].s`: - -
    • -
    • - `items.$ruleName.ports[].d`: - -
    • -
    • - `items.$ruleName.type[]`: - -
    • -
    • - `items.$ruleName.priority`: - -
    • -
    -

    Пример использования

    - - - - ```hcl - resource "sgroups_rules" "rules" { - items = { - "tcp:sg(sg-local-example)sg(sg-example)" = { - sg_from = "sg-local-example" - sg_to = "sg-example" - logs = true - trace = true - transport = "tcp" - ports = [{ - d = "443,80" - s = "64231" - }] - action = "ACCEPT" - priority = -200 - } - } - } - ``` - - - - ```hcl - resource "sgroups_rules" "rules" { - items = { - "udp:sg(sg-local-example)sg(sg-example)" = { - sg_from = "sg-local-example" - sg_to = "sg-example" - logs = true - trace = true - transport = "udp" - ports = [{ - d = "443,80" - s = "64231" - }] - action = "ACCEPT" - priority = -200 - } - } - } - ``` - - - - ```hcl - resource "sgroups_icmp_rules" "rules" { - items = { - "sg(sg-local-example)sg(sg-example)icmp4" => { - sg_from = "sg-local-example" - sg_to = "sg-example" - logs = true - trace = true - ip_v = "IPv4" - type = [0,8] - action = "ACCEPT" - priority = -300 - } - } - } - ``` - - - - ```hcl - resource "sgroups_icmp_rules" "rules" { - items = { - "sg(sg-local-example)sg(sg-example)icmp6" => { - sg_from = "sg-local-example" - sg_to = "sg-example" - logs = true - trace = true - ip_v = "IPv6" - type = [0,8] - action = "ACCEPT" - priority = -300 - } - } - } - ``` - - - diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_Api.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_Api.mdx deleted file mode 100644 index 31fbbf72..00000000 --- a/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_Api.mdx +++ /dev/null @@ -1,388 +0,0 @@ -import Tabs from '@theme/Tabs' -import TabItem from '@theme/TabItem' -import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' -import { DICTIONARY } from '@site/src/constants/dictionary.ts' -import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' -import { FancyboxDiagram } from '@site/src/components/commonBlocks/FancyboxDiagram' -import { RESPOND_CODES } from '@site/src/constants/errorCodes.tsx' -import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' - -#### Входные параметры - -
      -
    • `groups.grous[]` - Структура, содержащая описание создаваемых Security Group
    • -
    • `groups.groups[].defaultAction` - представляет действие по умолчанию в конце цепочек для SG
    • -
    • `groups.groups[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • -
    • `groups.groups[].name` - {DICTIONARY['v1.13.0'].sgLocal.short}
    • -
    • `groups.groups[].networks` - Имена подсетей
    • -
    • `groups.groups[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • -
    • `sgIcmpRules.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • -
    • `sgIcmpRules.rules[].ICMP` - {DICTIONARY['v1.13.0'].apiIcmp.short}
    • -
    • `sgIcmpRules.rules[].ICMP.IPv` - {DICTIONARY['v1.13.0'].icmpV.short}
    • -
    • `sgIcmpRules.rules[].ICMP.Types` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • -
    • `sgIcmpRules.rules[].Sg` - {DICTIONARY['v1.13.0'].sgLocal.short}
    • -
    • `sgIcmpRules.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • -
    • `sgIcmpRules.rules[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • -
    • `sgIcmpRules.rules[].action` - {DICTIONARY['v1.13.0'].action.short}
    • -
    • `syncOp` - {DICTIONARY['v1.13.0'].syncOp.short}
    • -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    названиеобязательностьтип данныхЗначение по умолчаниюAPI request
    groupssgIcmpRules
    groups.groups[]даObject[]
    groups.groups[].defaultActionда - Enum("ACCEPT", "DROP") -
    groups.groups[].logsнетBooleanfalse
    groups.groups[].nameдаString
    groups.groups[].networksнетString[][]
    groups.groups[].traceнетBooleanfalse
    sgIcmpRules.rules[]даObject[]
    sgIcmpRules.rules[].ICMPдаObject
    sgIcmpRules.rules[].ICMP.IPvдаEnum("IPv4", "IPv6")
    sgIcmpRules.rules[].ICMP.TypesнетString[][]
    sgIcmpRules.rules[].SgдаString
    sgIcmpRules.rules[].logsнетBooleanfalse
    sgIcmpRules.rules[].traceнетBooleanfalse
    sgIcmpRules.rules[].actionда - Enum("UNDEF", "ACCEPT", "DROP") -
    syncOpда - Enum("Delete", "Upsert", "FullSync") -
    -
    - -

    Ограничения

    - -
      -
    • - `groups.groups[].name`: - -
    • -
    • - `groups.groups[].networks[]`: - -
    • -
    • - `sgIcmpRules.rules[].Sg`: - -
    • -
    • - `$node.rules[].type[]`: - -
    • -
    - -#### Пример использования - - - - - ```bash - curl '127.0.0.1:9007/v1/sync' \ - --header 'Content-Type: application/json' \ - --data '{ - "groups": { - "groups": [{ - "defaultAction": "ACCEPT", - "logs": true, - "name": "sg-example", - "networks": ["10.0.0.0/24", "11.0.0.0/24"], - "trace": true - }] - }, - "syncOp": "Upsert" - }' - ``` - -

    Выходные параметры

    - - - - - - - - - - - - - - - - -
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    - -

    Возможные ошибки API

    - - - - -

    Диаграмма последовательности

    - - - - ```mermaid - sequenceDiagram - participant user as User - participant server as Server - participant db as Database - - user->>server: Добавить Security Group - - alt Ошибка в запросе - server-->>user: Показать ошибку в запросе - end - - server->>db: Отправить запрос - db->>db: Проверка входящего запроса - - alt SG c таким названием уже существует - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе - end - - alt Пересечение значений source портов - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе - end - - alt Некорректное значение поля определяющее действие с данными из запроса - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе - end - - db->>db: Сохранить данные о SG в БД - - db-->>server: Ответ с успешно добавленной новой SG - server-->>user: Успешно добавленная новая SG - ``` - - -
    - - - ```bash - curl '127.0.0.1:9007/v1/sync' \ - --header 'Content-Type: application/json' \ - --data '{ - "sgIcmpRules": { - "rules": [{ - "ICMP": { - "IPv": "IPv4", - "Types": [0,8] - }, - "Sg": "sg-example", - "logs": true, - "trace": true, - "action": "DROP", - }, - { - "ICMP": { - "IPv": "IPv6", - "Types": [0,8] - }, - "Sg": "sg-example", - "logs": true, - "trace": true, - "action": "DROP", - }] - }, - "syncOp": "Upsert" - }' - ``` - -

    Выходные параметры

    - - - - - - - - - - - - - - - - -
    названиетип данныхописание
    -Objectв случае успеха возвращается пустое тело
    - -

    Возможные ошибки API

    - - - - - - - ```mermaid - sequenceDiagram - participant user as User - participant server as Server - participant db as Database - - user->>server: Добавить Security Group - - alt Ошибка в запросе - server-->>user: Показать ошибку в запросе - end - - server->>db: Отправить запрос - db->>db: Проверка входящего запроса - - alt SG c таким названием уже существует - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе - end - - alt Некорректное значение кода ICMP - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе - end - - alt Некорректное значение IPv - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе - end - - db->>db: Сохранить данные о SG в БД - - db-->>server: Ответ с успешно добавленной новой SG - server-->>user: Успешно добавленная новая SG - ``` - - -
    - -
    diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_Nftables.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_Nftables.mdx deleted file mode 100644 index 609ab4e8..00000000 --- a/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_Nftables.mdx +++ /dev/null @@ -1,133 +0,0 @@ -import { DICTIONARY } from '@site/src/constants/dictionary.ts' - -
    - В этом разделе мы покажем, как ресурс `groups`, созданный с помощью Terraform/API, внедряется в настройки nftables. В - контексте HBF мы интерпретируем ресурс groups как проекцию на ресурсы `IPSet` и `Chains` которые функционируют в - рамках инструмента nftables, обеспечивая более широкие возможности для управления подсетями и правилами. -
    -
      -
    • `$Trace` - {DICTIONARY['v1.13.0'].trace.short}
    • -
    • `$Transport` - {DICTIONARY['v1.13.0'].transport.short}
    • -
    • `$TypeList` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • -
    • `$Log` - {DICTIONARY['v1.13.0'].log.short}
    • -
    • `$Counter` - {DICTIONARY['v1.13.0'].nftCounter.short}
    • -
    • `$Verdict` - {DICTIONARY['v1.13.0'].nftRuleVerdict.short}
    • -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    шаблон параметраструктура параметразначениеобщиеicmp
    $Trace`nftrace set` -
      -
    • - 1 - трассировка включена -
    • -
    • - 0 - трассировка выключена -
    • -
    -
    $Transport`icmp`
    $TypeList`type {}`Набор целочисленных значений от 0 до 255
    $Log - `log` - `level debug flags ip options`
    $Counter - `counter` - `packets 0 bytes 0`
    $Verdict`accept` -
    - - $Verdict определяет действие, которое будет применено к пакету в соответсвии с правилом. Это поле может - принимать значение `accept` или `drop` в зависимости от указанного в правиле. - -
    - Подробнее: [Verdict statement](../../tech-docs/to-nft/nftables/verdict-statement) -
    -
    - -#### Шаблон - -```hcl -chain INGRESS-INPUT-sgName { - # ********** - $Trace $Transport $TypeList $Counter $Log $Verdict //ICMP - # ********** - $Trace $Counter $Log $Verdict //Общие -} - -chain EGRESS-POSTROUTING-sgName { - # ********** - $Trace $Transport $TypeList $Counter $Log $Verdict //ICMP - # ********** - $Trace $Counter $Log $Verdict //Общие -} -``` - -#### Пример использования - -```hcl -chain INGRESS-INPUT-sg-example { - # ********** - nftrace set 1 icmp type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options drop //ICMP - nftrace set 1 icmpv6 type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options drop //ICMP - # ********** - nftrace set 1 counter packets 0 bytes 0 log level debug flags ip options accept //Общие -} - - -chain EGRESS-POSTROUTING-sg-example { - # ********** - nftrace set 1 icmp type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options drop //ICMP - nftrace set 1 icmpv6 type { 0, 8 } counter packets 0 bytes 0 log level debug flags ip options drop //ICMP - # ********** - nftrace set 1 counter packets 0 bytes 0 log level debug flags ip options accept //Общие -} -``` diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_TerraformModule.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_TerraformModule.mdx deleted file mode 100644 index 61171412..00000000 --- a/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_TerraformModule.mdx +++ /dev/null @@ -1,159 +0,0 @@ -import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' -import { DICTIONARY } from '@site/src/constants/dictionary.ts' -import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' - -
    -

    {DICTIONARY['v1.13.0'].terraformModule.full}

    -
    -
    - Далее везде в документе подразумевается что все места, содержащие переменную `$transport` подразумевается одно из двух - значений: `icmp`, `icmp6`. -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    название параметраописаниетип данныхзначение по умолчанию
    nameНазвание Security GroupString
    cidrs[]Список CIDR, связанных с Security GroupString[][]
    default_rules - Структура, описывающая правила по умолчанию, для пакетов не соответствующих ни одному из установленных правил - в цепочке. - Object{}
    default_rules.access - Структура, описывающая взаимодействие с пакетами не соответствующими ни одному из установленных правил в - таблице. - Object{}
    default_rules.access.default.logs{DICTIONARY['v1.13.0'].log.short}Booleanfalse
    default_rules.access.default.trace{DICTIONARY['v1.13.0'].trace.short}Booleanfalse
    default_rules.access.default.action - Определяет действие по умолчанию для пакетов, не соответствующих ни одному из установленных правил в цепочке. - - Enum("ACCEPT", "DROP") - `ACCEPT`
    default_rules.access.$transport - Структура, описывающая взаимодействие с ICMP-трафиком по умолчанию. Для обработки ICMP-трафика добавляется - соответствующее правило в начало цепочки. - Object{}
    default_rules.access.$transport.logs{DICTIONARY['v1.13.0'].log.short}Booleanfalse
    default_rules.access.$transport.trace{DICTIONARY['v1.13.0'].trace.short}Booleanfalse
    default_rules.access.$transport.type[]{DICTIONARY['v1.13.0'].icmpTypes.short}Integer[][]
    default_rules.access.$transport.action{DICTIONARY['v1.13.0'].action.short}Enum("ACCEPT", "DROP")`ACCEPT`
    -
    - -#### Ограничения - -
      -
    • - `name`: - -
    • -
    • - `cidrs[]`: - -
    • -
    • - `default_rules.access.icmp.type`: - -
    • -
    • - `default_rules.access.icmp6.type`: - -
    • -
    - -#### [Пример использования](https://github.com/H-BF/swarm-spec-template/blob/master/spec/sg-example.yaml#L2) - -```yaml -name: sg-example -cidrs: - - 10.0.0.0/24 - - 11.0.0.0/24 -default_rules: - access: - default: - logs: true - trace: true - action: ACCEPT - - icmp: - action: DROP - logs: true - trace: true - type: [0, 8] - - icmp6: - action: DROP - logs: true - trace: true - type: [0, 8] -``` diff --git a/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_TerraformResource.mdx b/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_TerraformResource.mdx deleted file mode 100644 index 5c6bf065..00000000 --- a/documentation/versioned_docs/version-v1.13.0/snippets/securityGroups/_TerraformResource.mdx +++ /dev/null @@ -1,163 +0,0 @@ -import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' -import { DICTIONARY } from '@site/src/constants/dictionary.ts' -import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' - -
    -

    {DICTIONARY['v1.13.0'].terraformResource.full}

    -
    -
    - Далее везде в документе подразумевается что все места, содержащие переменную `$transport` ( - {DICTIONARY['v1.13.0'].transport.short}) подразумевается одно из двух значений: `icmp`, `icmp6`. -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    названиеобязательностьтип данныхдоп. описание
    itemsдаObjectCписок ресурсов создаваемые terraform ресурсом.
    items.keyдаStringУникальный ключ блока items.
    items.key.nameдаStringИмя Security Group.
    items.key.networksдаString[] - Список содержащий имена подсетей которые включены в указанную группу безопасности. Т.к. описывается - имплементация Terrafom module в Terraform resource то имя Networks совпадает с CIDR хотя им не является. -
    items.key.logsнетBoolean{DICTIONARY['v1.13.0'].log.short}
    items.key.traceнетBoolean{DICTIONARY['v1.13.0'].trace.short}
    items.key.default_actionдаEnum("DROP", "ACCEPT") - Определяет действие по умолчанию для пакетов, не соответствующих ни одному из установленных правил в цепочке. -
    items.key.$transportдаObject - Структура, описывающая взаимодействие с ICMP-трафиком по умолчанию. Для обработки ICMP-трафика добавляется - соответствующее правило в начало цепочки. -
    items.key.$transport.logsнетBoolean{DICTIONARY['v1.13.0'].log.short}
    items.key.$transport.traceнетBoolean{DICTIONARY['v1.13.0'].trace.short}
    items.key.$transport.type[]даString[]{DICTIONARY['v1.13.0'].icmpTypes.short}
    items.key.$transport.actionдаEnum("ACCEPT", "DROP"){DICTIONARY['v1.13.0'].action.short}
    -
    - -#### Ограничения - -
      -
    • - `items`: - -
    • -
    • - `items.key`: - -
    • -
    • - `items.key.name`: - -
    • -
    • - `items.key.networks`: - -
    • -
    • - `items.key.icmp.type`: - -
    • -
    • - `items.key.icmp6.type`: - -
    • -
    - -#### Пример использования - -```hcl -resource "sgroups_groups" "groups" { - items = { - key = { - name = "sg-example" - networks = ["10.0.0.0/24", "11.0.0.0/24"] - logs = true - trace = true - default_action = "ACCEPT" - icmp = { - logs = true - trace = true - type = [0, 8] - action = "DROP" - } - icmp6 = { - logs = true - trace = true - type = [0, 8] - action = "DROP" - } - } - } -} -``` diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/components.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/components.mdx deleted file mode 100644 index d53e8bcf..00000000 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/components.mdx +++ /dev/null @@ -1,71 +0,0 @@ ---- -id: components ---- - -import { FancyboxDiagram } from '@site/src/components/commonBlocks/FancyboxDiagram' - -# - -
    - - -```mermaid -flowchart LR - client([Клиент]) - agent[Агент] - api[API] - db[(База данных)] - nl[netlink] - nf[netfilter] - - subgraph Узел - nl<-->|socket|agent - nl-->|socket|nf - end - - subgraph Сервер - api-->|sql|db - end - - agent<-->|gRPC|api - client-->|https, gRPC|api -``` - - -
    - -## Сервер - -Сервером является приложение состоящие из API-сервиса и базы данных. - - - API: данный сервис разработан на языке программирования Go и предоставляет реализацию подходов GRPC и REST API - с использованием protobuf схем. Он реализует интерфейс взаимодействия 'агентов' с данными, хранящимися в базе данных. - - - - База данных: В качестве базы данных выступает PostgreSQL. Используется для хранения матрицы сетевого - взаимодействия. - - -## Узел - - - Агент: программное обеспечение осуществляющее конфигурацию netfilter'а в соответствии с правилами, указанные в - API. Взаимодействие агента с API происходит через протокол gRPC, а получение конфигурации осуществляется посредством - push/pull-запросов. - - - - netlink: механизм, который позволяет различным компонентам операционной системы обмениваться информацией. Это - как система передачи сообщений между разными частями операционной системы Linux, чтобы они могли работать вместе. - - - - netfilter: часть ядра Linux, которая отвечает за фильтрацию и манипуляцию сетевым трафиком в операционной - системе. - - -## Клиент - -Клиент - это инструмент, который использует для взаимодействия интерфейсы API. diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/rule-configuration/networks.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/rule-configuration/networks.mdx deleted file mode 100644 index efd83594..00000000 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/rule-configuration/networks.mdx +++ /dev/null @@ -1,50 +0,0 @@ ---- -id: networks ---- - -import Tabs from '@theme/Tabs' -import TabItem from '@theme/TabItem' -import TerraforModule from '../../snippets/networks/_TerraformModule.mdx' -import TerraforResource from '../../snippets/networks/_TerraformResource.mdx' -import Api from '../../snippets/networks/_Api.mdx' -import Nftables from '../../snippets/networks/_Nftables.mdx' - -# Networks - -
    - Ресурс `Networks` представляет собой введенную нами абстракцию, которая позволяет определять группы IP-адресов или - подсетей, доступных для управления Host Based NGFW. Эти подсети затем могут быть связаны с конкретными группами - безопасности для логического разделения и использоваться в правилах для разрешения или блокирования доступа к - определенным ресурсам в вашей сети. -
    - - - - - - - - - - - -
    - Более подробную документацию по API можно посмотреть [здесь](../sgroups/api/v1/sync.mdx).
    - Более подробно по организации БД можно посмотреть [здесь](../sgroups/database.mdx#tbl_network). -
    - -
    - - - - - -
    diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/rule-configuration/s2c-ie.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/rule-configuration/s2c-ie.mdx deleted file mode 100644 index 46fc4d68..00000000 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/rule-configuration/s2c-ie.mdx +++ /dev/null @@ -1,54 +0,0 @@ ---- -id: s2c-ie ---- - -import Tabs from '@theme/Tabs' -import TabItem from '@theme/TabItem' -import TerraforModule from '../../snippets/s2c-ie/_TerraformModule.mdx' -import TerraformResource from '../../snippets/s2c-ie/_TerraformResource.mdx' -import Nftables from '../../snippets/s2c-ie/_Nftables.mdx' -import Api from '../../snippets/s2c-ie/_Api.mdx' - -# Sgroup to CIDR (Ingress/Egress) - -
    - Ресурс `Security Group to CIDR` представляет собой введенную нами абстракцию, которая обеспечивает гибкое управление и - контроль за сетевым трафиком между различными группами безопасности и подсетями, используя TCP, UDP и ICMP протоколы. - Этот ресурс дает возможность детально настроить, какой трафик разрешен к передаче между группами безопасности и - определенными подсетями, тем самым гарантируя высокий уровень защиты и управления сетевой инфраструктурой. -
    - - - - - - - - - - - -
    - Более подробную документацию по API можно посмотреть [здесь](../sgroups/api/v1/sync.mdx).
    - Более подробно по организации БД можно посмотреть [здесь](../sgroups/database.mdx#tbl_cidr_sg_rule) и [здесь](../sgroups/database.mdx#tbl_cidr_sg_icmp_rule). -
    -
    - Далее везде в документе подразумевается что все места, содержащие переменную `$node`, могут принять одно из двух значений: `cidrSgRules` `cidrSgIcmpRules`. -
    - - -
    - - - - - -
    diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/rule-configuration/s2f-e.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/rule-configuration/s2f-e.mdx deleted file mode 100644 index 8677163a..00000000 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/rule-configuration/s2f-e.mdx +++ /dev/null @@ -1,52 +0,0 @@ ---- -id: s2f-e ---- - -import Tabs from '@theme/Tabs' -import TabItem from '@theme/TabItem' -import TerraforModule from '../../snippets/s2f-e/_TerraformModule.mdx' -import TerraformResource from '../../snippets/s2f-e/_TerraformResource.mdx' -import Nftables from '../../snippets/s2f-e/_Nftables.mdx' -import Api from '../../snippets/s2f-e/_Api.mdx' - -# Sgroup to FQDN (Egress) - -
    - Ресурс `Security Group to FQDN` представляет собой введенную нами абстракцию, которая обеспечивает гибкое управление и - контроль за сетевым трафиком между различными группами безопасности и FQDN записями, используя TCP, UDP протоколы. - Этот ресурс дает возможность детально настроить, какой трафик разрешен к передаче между группами безопасности и - определенными FQDN записями, тем самым гарантируя высокий уровень защиты и управления сетевой инфраструктурой. -
    - - - - - - - - - - - - -
    - Более подробную документацию по API можно посмотреть [здесь](../sgroups/api/v1/sync.mdx).
    - Более подробно по организации БД можно посмотреть [здесь](../sgroups/database.mdx#tbl_fqdn_rule). -
    - - -
    - - - - - -
    diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/rule-configuration/s2s-ie.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/rule-configuration/s2s-ie.mdx deleted file mode 100644 index 5dbe822e..00000000 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/rule-configuration/s2s-ie.mdx +++ /dev/null @@ -1,54 +0,0 @@ ---- -id: s2s-ie ---- - -import Tabs from '@theme/Tabs' -import TabItem from '@theme/TabItem' -import TerraforModule from '../../snippets/s2s-ie/_TerraformModule.mdx' -import TerraformResource from '../../snippets/s2s-ie/_TerraformResource.mdx' -import Nftables from '../../snippets/s2s-ie/_Nftables.mdx' -import Api from '../../snippets/s2s-ie/_Api.mdx' - -# Sgroup to Sgroup (Ingress/Egress) - -
    - Ресурс `Security Group to Security Group` представляет собой введенную нами абстракцию, которая обеспечивает гибкое - управление и контроль сетевого трафика между разными группами безопасности, используя протоколы TCP, UDP и ICMP. Этот - ресурс позволяет точно настраивать, какой трафик может передаваться между группами, обеспечивая таким образом высокий - уровень защиты и контроля в сетевой инфраструктуре. -
    - - - - - - - - - - - -
    - Более подробную документацию по API можно посмотреть [здесь](../sgroups/api/v1/sync.mdx).
    - Более подробно по организации БД можно посмотреть [здесь](../sgroups/database.mdx#tbl_ie_sg_sg_rule) и [здесь](../sgroups/database.mdx#tbl_ie_sg_sg_icmp_rule). -
    -
    - Далее везде в документе подразумевается что все места, содержащие переменную `$node`, могут принять одно из двух - значений: `sgSgRules`, `ieSgSgIcmpRules`. -
    - -
    - - - - - -
    diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/rule-configuration/s2s.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/rule-configuration/s2s.mdx deleted file mode 100644 index 6eaa653c..00000000 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/rule-configuration/s2s.mdx +++ /dev/null @@ -1,53 +0,0 @@ ---- -id: s2s ---- - -import Tabs from '@theme/Tabs' -import TabItem from '@theme/TabItem' -import TerraforModule from '../../snippets/s2s/_TerraformModule.mdx' -import TerraformResource from '../../snippets/s2s/_TerraformResource.mdx' -import Nftables from '../../snippets/s2s/_Nftables.mdx' -import Api from '../../snippets/s2s/_Api.mdx' - -# Sgroup to Sgroup - -
    - Данный тип правил управляет обменом данными между различными группами безопасности. Он автоматически создает два - правила на хостах: одно для исходящего трафика от инициирующей стороны и другое для входящего трафика от группы - безопасности, к которой предоставлен доступ. -
    - - - - - - - - - - - -
    - Более подробную документацию по API можно посмотреть [здесь](../sgroups/api/v1/sync.mdx).
    - Более подробно по организации БД можно посмотреть [здесь](../sgroups/database.mdx#tbl_sg_rule) и [здесь](../sgroups/database.mdx#tbl_sg_sg_icmp_rule) . -
    -
    - Далее везде в документе подразумевается что все места, содержащие переменную `$node`, могут принять одно из двух значений: `sgRules`, `sgSgIcmpRules`. -
    - - -
    - - - - - -
    diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/rule-configuration/security-groups.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/rule-configuration/security-groups.mdx deleted file mode 100644 index 006315d2..00000000 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/rule-configuration/security-groups.mdx +++ /dev/null @@ -1,53 +0,0 @@ ---- -id: security-groups ---- - -import Tabs from '@theme/Tabs' -import TabItem from '@theme/TabItem' -import Api from '../../snippets/securityGroups/_Api.mdx' -import Nftables from '../../snippets/securityGroups/_Nftables.mdx' -import TerraforModule from '../../snippets/securityGroups/_TerraformModule.mdx' -import TerraformResource from '../../snippets/securityGroups/_TerraformResource.mdx' - -# Security Groups - -
    - Ресурс `Groups` представляет собой введенную нами абстракцию, которая позволят объединить подсети в логические группы - и применять к ним единые правила сетевого взаимодействия. -
    - - - - - - - - - - - - -
    - Более подробную документацию по API можно посмотреть [здесь](../sgroups/api/v1/sync.mdx).
    - Более подробно по организации БД можно посмотреть [здесь](../sgroups/database.mdx#tbl_sg) и [здесь](../sgroups/database.mdx#tbl_sg_icmp_rule). -
    -
    - Приведеные ранее примеры создания Security Group c правилами по умолчанию для ICMP с использованием Terraform Module и - Terraform Resource преобразуются в два API запроса. -
    - -
    - - - - - -
    diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/address-sg.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/address-sg.mdx deleted file mode 100644 index 839d1db4..00000000 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/address-sg.mdx +++ /dev/null @@ -1,143 +0,0 @@ ---- -id: address-sg ---- - -import { FancyboxDiagram } from '@site/src/components/commonBlocks/FancyboxDiagram' -import { RESPOND_CODES } from '@site/src/constants/errorCodes.tsx' -import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' -import { DICTIONARY } from '@site/src/constants/dictionary.ts' - -# GET /v1/\{address\}/sg - -
    Этот метод отображает Security Group по IP или CIDR входящей в нее подсети.
    - -
    - Более подробно по организации БД можно посмотреть [здесь](../../database.mdx#tbl_network) и - [здесь](../../database.mdx#tbl_sg). -
    - -#### Входные параметры - -
      -
    • - `{address}` - {DICTIONARY['v1.13.0'].cidr.short} -
    • -
    - -
    - - - - - - - - - - - - - - - - - -
    названиеобязательностьтип данныхЗначение по умолчанию
    \{address\}даString
    -
    - -

    Пример использования

    - -```bash -curl '127.0.0.1:9007/v1/10.150.0.224/sg' \ ---header 'Content-Type: application/json' -``` - -

    Выходные параметры

    - -
      -
    • `$node.name` - {DICTIONARY['v1.13.0'].sg.short}
    • -
    • `$node.logs` - {DICTIONARY['v1.13.0'].log.short}
    • -
    • `$node.trace` - {DICTIONARY['v1.13.0'].trace.short}
    • -
    • `$node.networks` - {DICTIONARY['v1.13.0'].networkNames.short}
    • -
    • `$node.defaultAction` - {DICTIONARY['v1.13.0'].defaultAction.short}
    • -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    названиетип данных
    $node.nameString
    $node.logsBoolean
    $node.traceBoolean
    $node.networksObject[]
    $node.defaultActionString
    -
    - -

    Пример ответа

    - -```bash -{ - "name": "network-example", - "logs": "false", - "name": "false", - "network": ["network-example"], - "defaultAction": "DROP" -} -``` - -

    Возможные ошибки API

    - - - - -

    Диаграмма последовательности

    - - - -```mermaid -sequenceDiagram -participant user as User -participant server as Server -participant db as Database - -user->>server: Отобразить SG по IP или CIDR - -alt Ошибка в запросе - server-->>user: Показать ошибку в запросе -end - -server->>db: Отправить запрос -db->>db: Проверка входящего запроса - -alt Возникла ошибка при некорректном вводе IP или CIDR - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе -end - -db-->>server: Ответ с SG по указаному IP или CIDR соответствующий запросу -server-->>user: Список доступных сетей связанных с SG соответствующий запросу -``` - - diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/cidr-sg-icmp-rules.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/cidr-sg-icmp-rules.mdx deleted file mode 100644 index cdbe5cc4..00000000 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/cidr-sg-icmp-rules.mdx +++ /dev/null @@ -1,181 +0,0 @@ ---- -id: cidr-sg-icmp-rules ---- - -import { FancyboxDiagram } from '@site/src/components/commonBlocks/FancyboxDiagram' -import { RESPOND_CODES } from '@site/src/constants/errorCodes.tsx' -import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' -import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' -import { DICTIONARY } from '@site/src/constants/dictionary.ts' -import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' - -# POST /v1/cidr-sg-icmp/rules - -
    - Этот метод отображает список Security Group to CIDR правил, в соответствии с указанным списком Security Groups. -
    - -
    - Более подробно по организации БД можно посмотреть [здесь](../../database.mdx#tbl_cidr_sg_icmp_rule). -
    - -#### Входные параметры - -
      -
    • `sg[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    • -
    - -
    - - - - - - - - - - - - - - - - - -
    названиеобязательностьтип данныхЗначение по умолчанию
    sg[]даObject[]
    -
    - -

    Ограничения

    - -
      -
    • - `sg[]`: - -
    • -
    - -

    Пример использования

    - -```bash -curl '127.0.0.1:9007/v1/cidr-sg-icmp/rules' \ ---header 'Content-Type: application/json' \ ---data '{ - "sg": ["sg-example"] -}' -``` - -

    Выходные параметры

    - -
      -
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • -
    • `$node.rules[].CIDR` - {DICTIONARY['v1.13.0'].cidr.short}
    • -
    • `$node.rules[].SG` - {DICTIONARY['v1.13.0'].sg.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • -
    • `$node.rules[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • -
    • `$node.rules[].ICMP` - {DICTIONARY['v1.13.0'].apiIcmp.short}
    • -
    • `$node.rules[].ICMP.IPv` - {DICTIONARY['v1.13.0'].icmpV.short}
    • -
    • `$node.rules[].ICMP.Types[]` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • -
    • `$node.rules[].traffic` - {DICTIONARY['v1.13.0'].traffic.short}
    • -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    названиетип данных
    $node.rules[]Object[]
    $node.rules[].CIDRString
    $node.rules[].sgString
    $node.rules[].logsBoolean
    $node.rules[].ICMPObject
    $node.rules[].ICMP.IPvString
    $node.rules[].ICMP.Types[]Object[]
    $node.rules[].traceBoolean
    $node.rules[].trafficString
    -
    - -

    Пример ответа

    - -```bash -{ - "rules": [{ - "CIDR": "10.0.0.0/24", - "sg": "sg-example", - "logs": "true", - "ICMP": { - "IPv": "IPv4", - "Types": [0, 8] - }, - "trace": "true", - "traffic": "ingress", - }] -} -``` - -

    Возможные ошибки API

    - - - -

    Диаграмма последовательности

    - - - -```mermaid -sequenceDiagram -participant user as User -participant server as Server -participant db as Database - -user->>server: Отобразить список CIDR-SG-ICMP правил для входящего и исходящего траффика - -alt Ошибка в запросе - server-->>user: Показать ошибку в запросе -end - -server->>db: Отправить запрос -db->>db: Проверка входящего запроса - -alt Указано некорректное значение существующего параметра - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе -end - -db-->>server: Ответ со списком CIDR-SG-ICMP правил соответствующий запросу -server-->>user: Список CIDR-SG-ICMP правил соответствующий запросу -``` - - diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/cidr-sg-rules.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/cidr-sg-rules.mdx deleted file mode 100644 index 427244ae..00000000 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/cidr-sg-rules.mdx +++ /dev/null @@ -1,187 +0,0 @@ ---- -id: cidr-sg-rules ---- - -import { FancyboxDiagram } from '@site/src/components/commonBlocks/FancyboxDiagram' -import { RESPOND_CODES } from '@site/src/constants/errorCodes.tsx' -import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' -import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' -import { DICTIONARY } from '@site/src/constants/dictionary.ts' -import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' - -# POST /v1/cidr-sg/rules - -
    - Этот метод отображает список Security Group to CIDR правил, в соответствии с указанным списком Security Groups. -
    - -
    - Более подробно по организации БД можно посмотреть [здесь](../../database.mdx#tbl_cidr_sg_rule). -
    - -#### Входные параметры - -
      -
    • `sg[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    • -
    - -
    - - - - - - - - - - - - - - - - - -
    названиеобязательностьтип данныхЗначение по умолчанию
    sg[]даObject[]
    -
    - -

    Ограничения

    - -
      -
    • - `sg[]`: - -
    • -
    - -

    Пример использования

    - -```bash -curl '127.0.0.1:9007/v1/cidr-sg/rules' \ ---header 'Content-Type: application/json' \ ---data '{ - "sg": ["sg-example"] -}' -``` - -

    Выходные параметры

    - -
      -
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • -
    • `$node.rules[].CIDR` - {DICTIONARY['v1.13.0'].cidr.short}
    • -
    • `$node.rules[].SG` - {DICTIONARY['v1.13.0'].sg.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • -
    • `$node.rules[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • -
    • `$node.rules[].ports` - {DICTIONARY['v1.13.0'].ports.short}
    • -
    • `$node.rules[].ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • -
    • `$node.rules[].ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • -
    • `$node.rules[].transport` - {DICTIONARY['v1.13.0'].transport.short}
    • -
    • `$node.rules[].traffic` - {DICTIONARY['v1.13.0'].traffic.short}
    • -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    названиетип данных
    $node.rules[]Object[]
    $node.rules[].CIDRString
    $node.rules[].sgString
    $node.rules[].logsBoolean
    $node.rules[].portsObject[]
    $node.rules[].ports[].dString
    $node.rules[].ports[].sString
    $node.rules[].traceBoolean
    $node.rules[].trafficString
    $node.rules[].transportString
    -
    - -

    Пример ответа

    - -```bash -{ - "rules": [{ - "CIDR": "10.0.0.0/24", - "sg": "sg-example", - "logs": "true", - "ports": [{ - "d": "7800", - "s": "" - }], - "trace": "true", - "traffic": "ingress", - "transport": "TCP", - }] -} -``` - -

    Возможные ошибки API

    - - - -

    Диаграмма последовательности

    - - - -```mermaid -sequenceDiagram -participant user as User -participant server as Server -participant db as Database - -user->>server: Отобразить список CIDR-SG правил для входящего и исходящего траффика - -alt Ошибка в запросе - server-->>user: Показать ошибку в запросе -end - -server->>db: Отправить запрос -db->>db: Проверка входящего запроса - -alt Указано некорректное значение существующего параметра - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе -end - -db-->>server: Ответ со списком CIDR-SG правил соответствующий запросу -server-->>user: Список CIDR-SG правил соответствующий запросу -``` - - diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/fqdn-rules.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/fqdn-rules.mdx deleted file mode 100644 index 04fc9440..00000000 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/fqdn-rules.mdx +++ /dev/null @@ -1,182 +0,0 @@ ---- -id: fqdn-rules ---- - -import { FancyboxDiagram } from '@site/src/components/commonBlocks/FancyboxDiagram' -import { RESPOND_CODES } from '@site/src/constants/errorCodes.tsx' -import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' -import { Restrictions } from '@site/src/components/commonBlocks/Restrictions' -import { DICTIONARY } from '@site/src/constants/dictionary.ts' -import { RESTRICTIONS } from '@site/src/constants/restrictions.tsx' - -# POST /v1/fqdn/rules - -
    - Этот метод отображает список Security Group to FQDN правил, в соответствии с указанным списком Security Groups. -
    - -
    - Более подробно по организации БД можно посмотреть [здесь](../../database.mdx#tbl_fqdn_rule). -
    - -#### Входные параметры - -
      -
    • `sgFrom[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    • -
    - -
    - - - - - - - - - - - - - - - - - -
    названиеобязательностьтип данныхЗначение по умолчанию
    sgFrom[]даObject[]
    -
    - -

    Ограничения

    - -
      -
    • - `sgFrom[]`: - -
    • -
    - -

    Пример использования

    - -```bash -curl '127.0.0.1:9007/v1/fqdn/rules' \ ---header 'Content-Type: application/json' \ ---data '{ - "sgFrom": ["sg-example"] -}' -``` - -

    Выходные параметры

    - -
      -
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • -
    • `$node.rules[].FQDN` - {DICTIONARY['v1.13.0'].fqdn.short}
    • -
    • `$node.rules[].sgFrom` - {DICTIONARY['v1.13.0'].sg.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • -
    • `$node.rules[].ports` - {DICTIONARY['v1.13.0'].ports.short}
    • -
    • `$node.rules[].ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • -
    • `$node.rules[].ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • -
    • `$node.rules[].transport` - {DICTIONARY['v1.13.0'].transport.short}
    • -
    • `$node.rules[].protocols` - {DICTIONARY['v1.13.0'].l7ProtocolList.short}
    • -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    названиетип данных
    $node.rules[]Object[]
    $node.rules[].FQDNString
    $node.rules[].sgFromString
    $node.rules[].logsBoolean
    $node.rules[].portsObject[]
    $node.rules[].ports[].dString
    $node.rules[].ports[].sString
    $node.rules[].protocolsObject[]
    $node.rules[].transportString
    -
    - -

    Пример ответа

    - -```bash -{ - "rules": [{ - "FQDN": "example.com", - "sgFrom": "sg-example", - "logs": "true", - "ports": [{ - "d": "7800", - "s": "" - }], - "protocols": ["ssh"], - "transport": "TCP", - }] -} -``` - -

    Возможные ошибки API

    - - - - -

    Диаграмма последовательности

    - - - -```mermaid -sequenceDiagram -participant user as User -participant server as Server -participant db as Database - -user->>server: Отобразить FQDN правил - -alt Ошибка в запросе - server-->>user: Показать ошибку в запросе -end - -server->>db: Отправить запрос -db->>db: Проверка входящего запроса - -alt Указано некорректное значение существующего параметра - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе -end - -db-->>server: Ответ со списком FQDN правил соответствующий запросу -server-->>user: Список FQDN правил соответствующий запросу -``` - - diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/ie-sg-sg-icmp-rules.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/ie-sg-sg-icmp-rules.mdx deleted file mode 100644 index b5ca2115..00000000 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/ie-sg-sg-icmp-rules.mdx +++ /dev/null @@ -1,179 +0,0 @@ ---- -id: ie-sg-sg-icmp-rules ---- - -import { FancyboxDiagram } from '@site/src/components/commonBlocks/FancyboxDiagram' -import { RESPOND_CODES } from '@site/src/constants/errorCodes.tsx' -import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' -import { DICTIONARY } from '@site/src/constants/dictionary.ts' - -# POST /v1/ie-sg-sg-icmp/rules - -
    - Этот метод отображает список Security Group to Security Group правил, в соответствии с указанным списком Security - Groups и типом траффика. -
    - -
    - Более подробно по организации БД можно посмотреть [здесь](../../database.mdx#tbl_ie_sg_sg_icmp_rule). -
    - -#### Входные параметры - -
      -
    • `Sg[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    • -
    • `SgLocal[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    • -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - -
    названиеобязательностьтип данныхЗначение по умолчанию
    Sg[]даObject[]
    SgLocal[]даObject[]
    -
    - -

    Пример использования

    - -```bash -curl '127.0.0.1:9007/v1/ie-sg-sg-icmp/rules' \ ---header 'Content-Type: application/json' \ ---data '{ - "Sg": ["sg-example"], - "SgLocal": ["sg-example-2"] -}' -``` - -

    Выходные параметры

    - -
      -
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • -
    • `$node.rules[].Sg` - {DICTIONARY['v1.13.0'].sg.short}
    • -
    • `$node.rules[].SgLocal` - {DICTIONARY['v1.13.0'].sg.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • -
    • `$node.rules[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • -
    • `$node.rules[].ICMP` - {DICTIONARY['v1.13.0'].apiIcmp.short}
    • -
    • `$node.rules[].ICMP.IPv` - {DICTIONARY['v1.13.0'].icmpV.short}
    • -
    • `$node.rules[].ICMP.Types[]` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • -
    • `$node.rules[].traffic` - {DICTIONARY['v1.13.0'].traffic.short}
    • -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    названиетип данных
    $node.rules[]Object[]
    $node.rules[].SgString
    $node.rules[].SgLocalString
    $node.rules[].logsBoolean
    $node.rules[].traceBoolean
    $node.rules[].ICMPObject
    $node.rules[].ICMP.IPvString
    $node.rules[].ICMP.Types[]Object[]
    $node.rules[].trafficString
    -
    - -

    Пример ответа

    - -```bash -{ - "rules": [{ - "Sg": "sg-example", - "SgLocal": "sg-example-2", - "logs": "true", - "trace": "true", - "traffic": "ingress", - "ICMP": { - "IPv": "IPv4", - "Types": [0, 8] - }, - }] -} -``` - -

    Возможные ошибки API

    - - - -

    Диаграмма последовательности

    - - - -```mermaid -sequenceDiagram -participant user as User -participant server as Server -participant db as Database - -user->>server: Отобразить список IE-SG-SG:ICMP правил для входящего и исходящего траффика - -alt Ошибка в запросе - server-->>user: Показать ошибку в запросе -end - -server->>db: Отправить запрос -db->>db: Проверка входящего запроса - -alt sg и/или sg_local были указаны некорректно - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе -end - -db-->>server: Ответ со списком IE-SG-SG:ICMP правил входящего и исходящего траффика соответствующий запросу -server-->>user: Список IE-SG-SG:ICMP правил входящего и исходящего траффика соответствующий запросу -``` - - diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/ie-sg-sg-rules.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/ie-sg-sg-rules.mdx deleted file mode 100644 index 2f14cf57..00000000 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/ie-sg-sg-rules.mdx +++ /dev/null @@ -1,185 +0,0 @@ ---- -id: ie-sg-sg-rules ---- - -import { FancyboxDiagram } from '@site/src/components/commonBlocks/FancyboxDiagram' -import { RESPOND_CODES } from '@site/src/constants/errorCodes.tsx' -import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' -import { DICTIONARY } from '@site/src/constants/dictionary.ts' - -# POST /v1/ie-sg-sg/rules - -
    - Этот метод отображает список Security Group to Security Group правил, в соответствии с указанным списком Security - Groups и типом траффика. -
    - -
    - Более подробно по организации БД можно посмотреть [здесь](../../database.mdx#tbl_ie_sg_sg_rule). -
    - -#### Входные параметры - -
      -
    • `Sg[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    • -
    • `SgLocal[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    • -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - -
    названиеобязательностьтип данныхЗначение по умолчанию
    Sg[]даObject[]
    SgLocal[]даObject[]
    -
    - -

    Пример использования

    - -```bash -curl '127.0.0.1:9007/v1/ie-sg-sg/rules' \ ---header 'Content-Type: application/json' \ ---data '{ - "Sg": ["sg-example"], - "SgLocal": ["sg-example-2"] -}' -``` - -

    Выходные параметры

    - -
      -
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • -
    • `$node.rules[].Sg` - {DICTIONARY['v1.13.0'].sg.short}
    • -
    • `$node.rules[].SgLocal` - {DICTIONARY['v1.13.0'].sg.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • -
    • `$node.rules[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • -
    • `$node.rules[].ports` - {DICTIONARY['v1.13.0'].ports.short}
    • -
    • `$node.rules[].ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • -
    • `$node.rules[].ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • -
    • `$node.rules[].traffic` - {DICTIONARY['v1.13.0'].traffic.short}
    • -
    • `$node.rules[].transport` - {DICTIONARY['v1.13.0'].transport.short}
    • -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    названиетип данных
    $node.rules[]Object[]
    $node.rules[].SgString
    $node.rules[].SgLocalString
    $node.rules[].logsBoolean
    $node.rules[].traceBoolean
    $node.rules[].portsObject[]
    $node.rules[].ports[].sString
    $node.rules[].ports[].dString[]
    $node.rules[].trafficString
    $node.rules[].transportString
    -
    - -

    Пример ответа

    - -```bash -{ - "rules": [{ - "Sg": "sg-example", - "SgLocal": "sg-example-2", - "logs": "true", - "trace": "true", - "ports": [{ - "d": "7800", - "s": "4446" - }], - "traffic": "ingress", - "transport": "TCP", - }] -} -``` - -

    Возможные ошибки API

    - - - -

    Диаграмма последовательности

    - - - -```mermaid -sequenceDiagram -participant user as User -participant server as Server -participant db as Database - -user->>server: Отобразить список IE-SG-SG правил для входящего и исходящего траффика - -alt Ошибка в запросе - server-->>user: Показать ошибку в запросе -end - -server->>db: Отправить запрос -db->>db: Проверка входящего запроса - -alt Sg и/или SgLocal были указаны некорректно - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе -end - -db-->>server: Ответ со списком IE-SG-SG правил входящего и исходящего траффика соответствующий запросу -server-->>user: Список IE-SG-SG правил входящего и исходящего траффика соответствующий запросу -``` - - diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/networks.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/networks.mdx deleted file mode 100644 index f1d6c2f9..00000000 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/networks.mdx +++ /dev/null @@ -1,141 +0,0 @@ ---- -id: networks ---- - -import { FancyboxDiagram } from '@site/src/components/commonBlocks/FancyboxDiagram' -import { RESPOND_CODES } from '@site/src/constants/errorCodes.tsx' -import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' -import { DICTIONARY } from '@site/src/constants/dictionary.ts' - -# POST /v1/list/networks - -
    - Этот метод отображает список подсетей (networks) и их IP, в соответствии с указанным списком имен подсетей (networks). -
    - -
    - Более подробно по организации БД можно посмотреть [здесь](../../database.mdx#tbl_network). -
    - -#### Входные параметры - -
      -
    • `neteworkNames[]` - {DICTIONARY['v1.13.0'].networkNames.short}
    • -
    - -
    - - - - - - - - - - - - - - - - - -
    названиеобязательностьтип данныхЗначение по умолчанию
    neteworkNames[]даObject[]
    -
    - -

    Пример использования

    - -```bash -curl '127.0.0.1:9007/v1/list/networks' \ ---header 'Content-Type: application/json' \ ---data '{ - "neteworkNames": ["network-example"] -}' -``` - -

    Выходные параметры

    - -
      -
    • `$node.networks[]` - {DICTIONARY['v1.13.0'].rules.short}
    • -
    • `$node.networks[].name` - {DICTIONARY['v1.13.0'].nw.short}
    • -
    • `$node.networks[].network` - {DICTIONARY['v1.13.0'].networkObject.short}
    • -
    • `$node.networks[].network.CIDR` - {DICTIONARY['v1.13.0'].networks.short}
    • -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - -
    названиетип данных
    $node.networks[]Object[]
    $node.networks[].nameString
    $node.networks[].networkObject
    $node.networks[].network.CIDRString
    -
    - -

    Пример ответа

    - -```bash -{ - "networks": [{ - "network": "network-example", - "ICMP": { - "CIDR": "10.150.0.220/32" - }, - }] -} -``` - -

    Возможные ошибки API

    - - - - -

    Диаграмма последовательности

    - - - -```mermaid -sequenceDiagram -participant user as User -participant server as Server -participant db as Database - -user->>server: Отобразить список доступных сетей - -alt Ошибка в запросе - server-->>user: Показать ошибку в запросе -end - -server->>db: Отправить запрос -db->>db: Проверка входящего запроса - -alt Указано некорректное значение существующего параметра - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе -end - -db-->>server: Ответ со списком доступных сетей соответствующий запросу -server-->>user: Список доступных сетей соответствующий запросу -``` - - diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/rules.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/rules.mdx deleted file mode 100644 index b859983f..00000000 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/rules.mdx +++ /dev/null @@ -1,174 +0,0 @@ ---- -id: rules ---- - -import { FancyboxDiagram } from '@site/src/components/commonBlocks/FancyboxDiagram' -import { RESPOND_CODES } from '@site/src/constants/errorCodes.tsx' -import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' -import { DICTIONARY } from '@site/src/constants/dictionary.ts' - -# POST /v1/rules - -
    - Этот метод отображает список Security Group to Security Group правил, в соответствии с указанным списком Security - Groups. -
    - -
    - Более подробно по организации БД можно посмотреть [здесь](../../database.mdx#tbl_sg_rule). -
    - -#### Входные параметры - -
      -
    • `sgFrom[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    • -
    • `sgTo[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    • -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - -
    названиеобязательностьтип данныхЗначение по умолчанию
    sgFrom[]даObject[]
    sgTo[]даObject[]
    -
    - -

    Пример использования

    - -```bash -curl '127.0.0.1:9007/v1/rules' \ ---header 'Content-Type: application/json' \ ---data '{ - "sgFrom": ["sg-example"], - "sgTo": ["sg-example-2"] -}' -``` - -

    Выходные параметры

    - -
      -
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • -
    • `$node.rules[].sgFrom` - {DICTIONARY['v1.13.0'].sg.short}
    • -
    • `$node.rules[].sgTo` - {DICTIONARY['v1.13.0'].sg.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • -
    • `$node.rules[].ports` - {DICTIONARY['v1.13.0'].ports.short}
    • -
    • `$node.rules[].ports[].d` - {DICTIONARY['v1.13.0'].dstPorts.short}
    • -
    • `$node.rules[].ports[].s` - {DICTIONARY['v1.13.0'].srcPorts.short}
    • -
    • `$node.rules[].transport` - {DICTIONARY['v1.13.0'].transport.short}
    • -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    названиетип данных
    $node.rules[]Object[]
    $node.rules[].sgFromString
    $node.rules[].sgToString
    $node.rules[].logsBoolean
    $node.rules[].portsObject[]
    $node.rules[].ports.dString
    $node.rules[].ports.sString
    $node.rules[].transportString
    -
    - -

    Пример ответа

    - -```bash -{ - "rules": [{ - "sgFrom": "sg-example", - "sgTo": "sg-example-2", - "logs": "true", - "transport": "TCP", - "ports": [{ - "d": "5000", - "s": "" - }], - }] -} -``` - -

    Возможные ошибки API

    - - - - -

    Диаграмма последовательности

    - - - -```mermaid -sequenceDiagram -participant user as User -participant server as Server -participant db as Database - -user->>server: Отобразить список правил SG ограниченных по условиям from>to - -alt Ошибка в запросе - server-->>user: Показать ошибку в запросе -end - -server->>db: Отправить запрос -db->>db: Проверка входящего запроса - -alt Указано некорректное значение существующего параметра - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе -end - -db-->>server: Ответ со списком правил SG ограниченных по условиям from>to соответствующий запросу -server-->>user: Список правил SG ограниченных по условиям from>to соответствующий запросу -``` - - diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/security-groups.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/security-groups.mdx deleted file mode 100644 index 1ce08409..00000000 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/security-groups.mdx +++ /dev/null @@ -1,153 +0,0 @@ ---- -id: security-groups ---- - -import { FancyboxDiagram } from '@site/src/components/commonBlocks/FancyboxDiagram' -import { RESPOND_CODES } from '@site/src/constants/errorCodes.tsx' -import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' -import { DICTIONARY } from '@site/src/constants/dictionary.ts' - -# POST /v1/list/security-groups - -
    - Этот метод отображает список сетей (networks) и действия по умолчанию, в соответствии с указанным списком имен - Security Groups. -
    - -
    - Более подробно по организации БД можно посмотреть [здесь](../../database.mdx#tbl_network) и - [здесь](../../database.mdx#tbl_sg). -
    - -#### Входные параметры - -
      -
    • `sgNames[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    • -
    - -
    - - - - - - - - - - - - - - - - - -
    названиеобязательностьтип данныхЗначение по умолчанию
    sgNames[]даObject[]
    -
    - -

    Пример использования

    - -```bash -curl '127.0.0.1:9007/v1/list/security-groups' \ ---header 'Content-Type: application/json' \ ---data '{ - "sgNames": ["sg-example"] -}' -``` - -

    Выходные параметры

    - -
      -
    • `$node.groups[]` - {DICTIONARY['v1.13.0'].rules.short}
    • -
    • `$node.groups[].name` - {DICTIONARY['v1.13.0'].sg.short}
    • -
    • `$node.groups[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • -
    • `$node.groups[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • -
    • `$node.groups[].networks` - {DICTIONARY['v1.13.0'].networks.short}
    • -
    • `$node.groups[].defaultAction` - {DICTIONARY['v1.13.0'].apiIcmp.short}
    • -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    названиетип данных
    $node.groups[]Object[]
    $node.groups[].nameString
    $node.groups[].logsBoolean
    $node.groups[].traceBoolean
    $node.groups[].networksObject[]
    $node.groups[].defaultActionString
    -
    - -

    Пример ответа

    - -```bash -{ - "groups": [{ - "name": "sg-example", - "logs": "true", - "trace": "true", - "networks": ["network-example"], - "defaultAction": "DROP" - }] -} -``` - -

    Возможные ошибки API

    - - - -

    Диаграмма последовательности

    - - - -```mermaid -sequenceDiagram -participant user as User -participant server as Server -participant db as Database - -user->>server: Отобразить список Security Group - -alt Ошибка в запросе - server-->>user: Показать ошибку в запросе -end - -server->>db: Отправить запрос -db->>db: Проверка входящего запроса - -alt Указано некорректное значение существующего параметра - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе -end - -db-->>server: Ответ со списком Security Group соответствующий запросу -server-->>user: Список доступных сетей соответствующий запросу -``` - - diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/sg-icmp-rules.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/sg-icmp-rules.mdx deleted file mode 100644 index e23b8e74..00000000 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/sg-icmp-rules.mdx +++ /dev/null @@ -1,159 +0,0 @@ ---- -id: sg-icmp-rules ---- - -import { FancyboxDiagram } from '@site/src/components/commonBlocks/FancyboxDiagram' -import { RESPOND_CODES } from '@site/src/constants/errorCodes.tsx' -import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' -import { DICTIONARY } from '@site/src/constants/dictionary.ts' - -# POST /v1/sg-icmp/rules - -
    - Этот метод отображает список Security Group правил, в соответствии с указанным списком Security Groups. -
    - -
    - Более подробно по организации БД можно посмотреть [здесь](../../database.mdx#tbl_sg_icmp_rule). -
    - -#### Входные параметры - -
      -
    • `sg[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    • -
    - -
    - - - - - - - - - - - - - - - - - -
    названиеобязательностьтип данныхЗначение по умолчанию
    sg[]даObject[]
    -
    - -

    Пример использования

    - -```bash -curl '127.0.0.1:9007/v1/sg-icmp/rules' \ ---header 'Content-Type: application/json' \ ---data '{ - "sg": ["sg-example"] -}' -``` - -

    Выходные параметры

    - -
      -
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • -
    • `$node.rules[].Sg` - {DICTIONARY['v1.13.0'].sg.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • -
    • `$node.rules[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • -
    • `$node.rules[].ICMP` - {DICTIONARY['v1.13.0'].apiIcmp.short}
    • -
    • `$node.rules[].ICMP.IPv` - {DICTIONARY['v1.13.0'].icmpV.short}
    • -
    • `$node.rules[].ICMP.Types[]` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    названиетип данных
    $node.rules[]Object[]
    $node.rules[].SgString
    $node.rules[].logsBoolean
    $node.rules[].traceBoolean
    $node.rules[].ICMPObject
    $node.rules[].ICMP.IPvString
    $node.rules[].ICMP.Types[]Object[]
    -
    - -

    Пример ответа

    - -```bash -{ - "rules": [{ - "Sg": "sg-example", - "logs": "true", - "trace": "true", - "ICMP": { - "IPv": "IPv4", - "Types": [0, 8] - }, - }] -} -``` - -

    Возможные ошибки API

    - - - - -

    Диаграмма последовательности

    - - - -```mermaid -sequenceDiagram -participant user as User -participant server as Server -participant db as Database - -user->>server: Отобразить список правил SG:ICMP ограниченных по типу SG - -alt Ошибка в запросе - server-->>user: Показать ошибку в запросе -end - -server->>db: Отправить запрос -db->>db: Проверка входящего запроса - -alt Указано некорректное значение существующего параметра - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе -end - -db-->>server: Ответ со списком правил SG:ICMP ограниченных по типу SG соответствующий запросу -server-->>user: Список правил SG:ICMP ограниченных по типу SG соответствующий запросу -``` - - diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/sg-sg-icmp-rules.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/sg-sg-icmp-rules.mdx deleted file mode 100644 index dbc52f54..00000000 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/sg-sg-icmp-rules.mdx +++ /dev/null @@ -1,174 +0,0 @@ ---- -id: sg-sg-icmp-rules ---- - -import { FancyboxDiagram } from '@site/src/components/commonBlocks/FancyboxDiagram' -import { RESPOND_CODES } from '@site/src/constants/errorCodes.tsx' -import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' -import { DICTIONARY } from '@site/src/constants/dictionary.ts' - -# POST /v1/sg-sg-icmp/rules - -
    - Этот метод отображает список Security Group to Security Group правил, в соответствии с указанным списком Security - Groups. -
    - -
    - Более подробно по организации БД можно посмотреть [здесь](../../database.mdx#tbl_sg_sg_icmp_rule). -
    - -#### Входные параметры - -
      -
    • `sgFrom[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    • -
    • `sgTo[]` - {DICTIONARY['v1.13.0'].sgroupSet.short}
    • -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - -
    названиеобязательностьтип данныхЗначение по умолчанию
    sgFrom[]даObject[]
    sgTo[]даObject[]
    -
    - -

    Пример использования

    - -```bash -curl '127.0.0.1:9007/v1/sg-sg-icmp/rules' \ ---header 'Content-Type: application/json' \ ---data '{ - "sgFrom": ["sg-example"], - "sgTo": ["sg-example-2"] -}' -``` - -

    Выходные параметры

    - -
      -
    • `$node.rules[]` - {DICTIONARY['v1.13.0'].rules.short}
    • -
    • `$node.rules[].SgFrom` - {DICTIONARY['v1.13.0'].sg.short}
    • -
    • `$node.rules[].SgTo` - {DICTIONARY['v1.13.0'].sg.short}
    • -
    • `$node.rules[].logs` - {DICTIONARY['v1.13.0'].log.short}
    • -
    • `$node.rules[].trace` - {DICTIONARY['v1.13.0'].trace.short}
    • -
    • `$node.rules[].ICMP` - {DICTIONARY['v1.13.0'].apiIcmp.short}
    • -
    • `$node.rules[].ICMP.IPv` - {DICTIONARY['v1.13.0'].icmpV.short}
    • -
    • `$node.rules[].ICMP.Types[]` - {DICTIONARY['v1.13.0'].icmpTypes.short}
    • -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    названиетип данных
    $node.rules[]Object[]
    $node.rules[].SgFromString
    $node.rules[].SgToString
    $node.rules[].logsBoolean
    $node.rules[].traceBoolean
    $node.rules[].ICMPObject
    $node.rules[].ICMP.IPvString
    $node.rules[].ICMP.Types[]Object[]
    -
    - -

    Пример ответа

    - -```bash -{ - "rules": [{ - "SgFrom": "sg-example", - "SgTo": "sg-example-2", - "logs": "true", - "trace": "true", - "ICMP": { - "IPv": "IPv4", - "Types": [0, 8] - }, - }] -} -``` - -

    Возможные ошибки API

    - - - - -

    Диаграмма последовательности

    - - - -```mermaid -sequenceDiagram -participant user as User -participant server as Server -participant db as Database - -user->>server: Отобразить список правил SG-SG:ICMP ограниченных по типу SG from>to - -alt Ошибка в запросе - server-->>user: Показать ошибку в запросе -end - -server->>db: Отправить запрос -db->>db: Проверка входящего запроса - -alt Указано некорректное значение существующего параметра - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе -end - -db-->>server: Ответ со списком правил SG-SG:ICMP ограниченных по типу SG from>to соответствующий запросу -server-->>user: Список правил SG-SG:ICMP ограниченных по типу SG from>to соответствующий запросу -``` - - diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/status.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/status.mdx deleted file mode 100644 index 6be6451c..00000000 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/status.mdx +++ /dev/null @@ -1,84 +0,0 @@ ---- -id: status ---- - -import { FancyboxDiagram } from '@site/src/components/commonBlocks/FancyboxDiagram' -import { RESPOND_CODES } from '@site/src/constants/errorCodes.tsx' -import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' - -# GET /v1/sync/status - -
    Этот метод отображает дату последнего успешного изменения данных.
    - -
    - Более подробно по организации БД можно посмотреть [здесь](../../database.mdx#tbl_sync_status). -
    - -#### Входные параметры - -

    Пример использования

    - -```bash -curl '127.0.0.1:9007/v1/sync/status' \ ---header 'Content-Type: application/json' -``` - -

    Выходные параметры

    - -
      -
    • `$node.updatedAt` - Дата последнего успешного изменения данных
    • -
    - -
    - - - - - - - - - - - - - -
    названиетип данных
    $node.updatedAtString
    -
    - -

    Пример ответа

    - -```bash -{ - "updatedAt": "2023-11-21T17:02:30.717786Z" -} -``` - -

    Возможные ошибки API

    - - - -

    Диаграмма последовательности

    - - - -```mermaid -sequenceDiagram -participant user as User -participant server as Server -participant db as Database - -user->>server: Отобразить статус последнего успешного обновления БД - -alt Ошибка в запросе - server-->>user: Показать ошибку в запросе -end - -server->>db: Отправить запрос -db->>db: Проверка входящего запроса - -db-->>server: Ответ с датой последнего успешного обновления БД -server-->>user: Дата последнего успешного обновления БД -``` - - diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/subnets.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/subnets.mdx deleted file mode 100644 index c67470ab..00000000 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/subnets.mdx +++ /dev/null @@ -1,138 +0,0 @@ ---- -id: subnets ---- - -import { FancyboxDiagram } from '@site/src/components/commonBlocks/FancyboxDiagram' -import { RESPOND_CODES } from '@site/src/constants/errorCodes.tsx' -import Codes from '@site/src/components/commonBlocks/Codes/_Codes.mdx' -import { DICTIONARY } from '@site/src/constants/dictionary.ts' - -# GET /v1/sg/\{sgName\}/subnets - -
    Этот метод отображает список подсетей по указанной Security Group.
    - -
    - Более подробно по организации БД можно посмотреть [здесь](../../database.mdx#tbl_network). -
    - -#### Входные параметры - -
      -
    • - `{sgName}` - {DICTIONARY['v1.13.0'].sg.short} -
    • -
    - -
    - - - - - - - - - - - - - - - - - -
    названиеобязательностьтип данныхЗначение по умолчанию
    \{sgName\}даString
    -
    - -

    Пример использования

    - -```bash -curl '127.0.0.1:9007/v1/sg/sg-example/subnets' \ ---header 'Content-Type: application/json' -``` - -

    Выходные параметры

    - -
      -
    • `$node.networks[]` - {DICTIONARY['v1.13.0'].networkNames.short}
    • -
    • `$node.networks[].name` - {DICTIONARY['v1.13.0'].nw.short}
    • -
    • `$node.networks[].network` - {DICTIONARY['v1.13.0'].networkObject.short}
    • -
    • `$node.networks[].network.CIDR` - {DICTIONARY['v1.13.0'].cidr.short}
    • -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - -
    названиетип данных
    $node.networks[]Object[]
    $node.networks[].nameString
    $node.networks[].networkObject
    $node.networks[].network.CIDRString
    -
    - -

    Пример ответа

    - -```bash -{ - "networks": [{ - "name": "network-example", - "network": { - "CIDR": "10.150.0.222/32" - }, - }] -} -``` - -

    Возможные ошибки API

    - - - - -

    Диаграмма последовательности

    - - - -```mermaid -sequenceDiagram -participant user as User -participant server as Server -participant db as Database - -user->>server: Отобразить список доступных сетей связанных с SG - -alt Ошибка в запросе - server-->>user: Показать ошибку в запросе -end - -server->>db: Отправить запрос -db->>db: Проверка входящего запроса - -alt Возникла ошибка при некорректном вводе SG - db-->>server: Ответ с ошибкой - server-->>user: Показать ошибку в запросе -end - -db-->>server: Ответ со списком доступных сетей связанных с SG соответствующий запросу -server-->>user: Список доступных сетей связанных с SG соответствующий запросу -``` - - diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/sync.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/sync.mdx deleted file mode 100644 index cc070be9..00000000 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/api/v1/sync.mdx +++ /dev/null @@ -1,112 +0,0 @@ ---- -id: sync ---- - -import Tabs from '@theme/Tabs' -import TabItem from '@theme/TabItem' -import ApiNetworks from '../../../../snippets/networks/_Api.mdx' -import ApiSg from '../../../../snippets/securityGroups/_Api.mdx' -import ApiS2sie from '../../../../snippets/s2s-ie/_Api.mdx' -import ApiS2s from '../../../../snippets/s2s/_Api.mdx' -import ApiS2f from '../../../../snippets/s2f-e/_Api.mdx' -import ApiS2c from '../../../../snippets/s2c-ie/_Api.mdx' - -# POST /v1/sync - - - - -
    - Ресурс `Networks` представляет собой введенную нами абстракцию, которая позволяет определять группы IP-адресов или - подсетей, доступных для управления Host Based NGFW. Эти подсети затем могут быть связаны с конкретными группами - безопасности для логического разделения и использоваться в правилах для разрешения или блокирования доступа к - определенным ресурсам в вашей сети. -
    -
    - Более подробно по организации БД можно посмотреть [здесь](../../database.mdx#tbl_network). -
    - -
    - - -
    - Ресурс `Groups` представляет собой введенную нами абстракцию, которая позволят объединить подсети в логические группы - и применять к ним единые правила сетевого взаимодействия. -
    -
    - Более подробно по организации БД можно посмотреть [здесь](../../database.mdx#tbl_sg) и [здесь](../../database.mdx#tbl_sg_icmp_rule). -
    - -
    - - - - - -
    - Данный тип правил управляет обменом данными между различными группами безопасности. Он автоматически создает два - правила на хостах: одно для исходящего трафика от инициирующей стороны и другое для входящего трафика от группы - безопасности, к которой предоставлен доступ. -
    -
    - Более подробно по организации БД можно посмотреть [здесь](../../database.mdx#tbl_sg_rule) и [здесь](../../database.mdx#tbl_sg_sg_icmp_rule). -
    - -
    - -
    - Ресурс `Security Group to Security Group` представляет собой введенную нами абстракцию, которая обеспечивает гибкое - управление и контроль сетевого трафика между разными группами безопасности, используя протоколы TCP, UDP и ICMP. Этот - ресурс позволяет точно настраивать, какой трафик может передаваться между группами, обеспечивая таким образом высокий - уровень защиты и контроля в сетевой инфраструктуре. -
    -
    - Более подробно по организации БД можно посмотреть [здесь](../../database.mdx#tbl_ie_sg_sg_rule) и - [здесь](../../database.mdx#tbl_ie_sg_sg_icmp_rule). -
    - -
    - -
    - Ресурс `Security Group to CIDR` представляет собой введенную нами абстракцию, которая обеспечивает гибкое управление и контроль за - сетевым трафиком между различными группами безопасности и подсетями, используя TCP, UDP и ICMP протоколы. Этот ресурс - дает возможность детально настроить, какой трафик разрешен к передаче между группами безопасности и определенными - подсетями, тем самым гарантируя высокий уровень защиты и управления сетевой инфраструктурой. -
    -
    - Более подробно по организации БД можно посмотреть [здесь](../../database.mdx#tbl_cidr_sg_rule) и [здесь](../../database.mdx#tbl_cidr_sg_icmp_rule). -
    - -
    - -
    - Ресурс `Security Group to FQDN` представляет собой введенную нами абстракцию, которая обеспечивает гибкое управление и контроль за сетевым - трафиком между различными группами безопасности и FQDN записями, используя TCP, UDP протоколы. Этот ресурс дает - возможность детально настроить, какой трафик разрешен к передаче между группами безопасности и определенными FQDN - записями, тем самым гарантируя высокий уровень защиты и управления сетевой инфраструктурой. -
    -
    - Более подробно по организации БД можно посмотреть [здесь](../../database.mdx#tbl_fqdn_rule). -
    - -
    -
    -
    - -
    diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/database.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/database.mdx deleted file mode 100644 index e804c890..00000000 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/database.mdx +++ /dev/null @@ -1,1361 +0,0 @@ ---- -id: database ---- - -import { FancyboxImage } from '@site/src/components/commonBlocks/FancyboxImage' - -# Описание базы данных - -Ниже приводится схема и описание таблиц базы данных, созданных для стандартного использования HBF-Server. - -HBF-Server поддерживает PostgreSQL версии 14.8 - -Поскольку HBF-Server взаимодействует с этой базой данных самостоятельно, конечному пользователю не нужно беспокоиться о ее структуре и о том как хранятся данные. - -## Схема базы данных - -На диаграмме ниже представлен визуальный обзор базы данных HBF-Server и связей между таблицами. В приведенном ниже Обзоре Таблиц, содержатся дополнительные сведения о таблицах и столбцах базы данных. - - - -## **Обзор таблиц (сущности)** - -В этом разделе представлен обзор всех таблиц, созданных для стандартного использования HBF-Server. С последующим детальным описанием, что находится в каждой таблице. - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    **Название таблицы****Описание****Соответствующие области взаимодействия интерфейса (API)**
    [tbl_network](#tbl_network) - таблица tbl_network хранит информацию о IP Subnets c уникальным названием, CIDR и ссылкой на SG к сети которой - она принадлежит - -
      -
    • [Отобразить список доступных сетей (Networks)](./api/v1/networks.mdx)
    • -
    • [Отобразить список доступных сетей (Networks) связанных с SG](./api/v1/subnets.mdx)
    • -
    • [Отобразить SG по IP или CIDR](./api/v1/address-sg.mdx)
    • -
    • [Внести изменения в БД](./api/v1/sync.mdx)
    • -
    -
    [tbl_sg](#tbl_sg) - таблица tbl_sg хранит информацию о Security Groups (SG) с уникальным названием, правилом применяемым для - входящих или исходящих пакетов, также возможностью включить логирование - -
      -
    • [Отобразить список Security Groups (SG)](./api/v1/security-groups.mdx)
    • -
    • [Внести изменения в БД](./api/v1/sync.mdx)
    • -
    -
    [tbl_ie_sg_sg_rule](#tbl_ie_sg_sg_rule) - таблица tbl_ie_sg_sg_rule хранит информацию SG-SG правил для входящего и исходящего траффика с сетевым - транспортным протоколами и диапазоном портов - -
      -
    • - [Отобразить список IE-SG-SG правил для входящего и исходящего траффика](./api/v1/ie-sg-sg-rules.mdx) -
    • -
    • [Внести изменения в БД](./api/v1/sync.mdx)
    • -
    -
    [tbl_ie_sg_sg_icmp_rule](#tbl_ie_sg_sg_icmp_rule) - таблица tbl_ie_sg_sg_icmp_rule хранит информацию SG-SG правил для входящего и исходящего траффика через - сетевой протокол ICMP - -
      -
    • - [Отобразить список IE-SG-SG-ICMP правил для входящего и исходящего траффика](./api/v1/ie-sg-sg-icmp-rules) -
    • -
    • [Внести изменения в БД](./api/v1/sync.mdx)
    • -
    -
    [tbl_cidr_sg_rule](#tbl_cidr_sg_rule) - таблица tbl_cidr_sg_rule хранит информацию CIDR-SG правил для входящего и исходящего траффика с сетевым - транспортным протоколом, бесклассовой междоменной маршрутизацией (CIDR) и диапазоном портов - -
      -
    • [Отобразить список CIRD-SG правил для входящего и исходящего траффика](./api/v1/cidr-sg-rules.mdx)
    • -
    • [Внести изменения в БД](./api/v1/sync.mdx)
    • -
    -
    [tbl_cidr_sg_icmp_rule](#tbl_cidr_sg_icmp_rule) - таблица tbl_cidr_sg_icmp_rule хранит информацию CIDR-SG правил для входящего и исходящего траффика с сетевым - протоколом ICMP, бесклассовой междоменной маршрутизацией (CIDR) - -
      -
    • [Отобразить список CIRD-SG правил для входящего и исходящего траффика](./api/v1/cidr-sg-icmp-rules.mdx)
    • -
    • [Внести изменения в БД](./api/v1/sync.mdx)
    • -
    -
    [tbl_fqdn_rule](#tbl_fqdn_rule) - таблица tbl_fqdn_rule хранит информацию SG-to-FQDN правил с сетевым транспортным протоколом и диапазоном - портов - -
      -
    • [Отобразить список полных доменных имен (FQDN)](./api/v1/fqdn-rules.mdx)
    • -
    • [Внести изменения в БД](./api/v1/sync.mdx)
    • -
    -
    [tbl_sg_icmp_rule](#tbl_sg_icmp_rule)таблица tbl_sg_icmp_rule хранит информацию SG:ICMP правил -
      -
    • [Отобразить список правил SG:ICMP ограниченных по типу SG](./api/v1/sg-icmp-rules.mdx)
    • -
    • [Внести изменения в БД](./api/v1/sync.mdx)
    • -
    -
    [tbl_sg_rule](#tbl_sg_rule) - таблица tbl_sg_rules хранит информацию о правилах виртуального файрволла который можно настраивать для того - чтобы контролировать входящий и выходящий трафик - -
      -
    • [Отобразить список SG правил ограниченных по условиям from -> to](./api/v1/rules.mdx)
    • -
    • [Внести изменения в БД](./api/v1/sync.mdx)
    • -
    -
    [tbl_sg_sg_icmp_rule](#tbl_sg_sg_icmp_rule)таблица tbl_sg_sg_icmp_rule хранит информацию SG-SG:ICMP правил -
      -
    • - [Отобразить список правил SG-SG:ICMP ограниченных по типу SG from -> to](./api/v1/sg-sg-icmp-rules.mdx) -
    • -
    • [Внести изменения в БД](./api/v1/sync.mdx)
    • -
    -
    [tbl_sync_status](#tbl_sync_status) - в таблице tbl_sync_status хранится информация об изменениях внесенных пользователем (дата последнего успешного - изменения и кол-во изменённых строк) - -
      -
    • [Отобразить статус последнего успешного обновления БД](./api/v1/status.mdx)
    • -
    -
    -
    - -## **Подробное описание таблиц** - -Ниже приведены конкретные поля в каждой из таблиц, созданных для стандартного использования HBF-Server - -### tbl_network - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ПолеТипNullКлючПо умолчаниюДополнительно
    idint(8)PRIauto_increment
    sgint(8)YESFKвнешний ключ к таблице tbl_sg.id
    namecnameALT -
      -
    • длина значения не должна превышать 256 символов
    • -
    • значения должно начинаться и заканчиваться символами без пробелов
    • -
    • значение должно быть уникальным
    • -
    -
    networkcidr -
      -
    • значение от 7 до 19 байт пример `192.168.100.128/25`
    • -
    • сетевые интервалы не должны пересекаться
    • -
    -
    -
    - -Ключи - -
    - - - - - - - - - - - - - - - -
    Имя ключаТипПоля
    Alternative keySimple Keycname
    -
    - -### tbl_sg - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ПолеТипNullКлючПо умолчаниюДополнительно
    idint(8)PRIauto_increment
    namecnameALT -
      -
    • длина значения не должна превышать 256 символов
    • -
    • значения должно начинаться и заканчиваться символами без пробелов
    • -
    • значение должно быть уникальным
    • -
    -
    logsboolfalse
    traceboolfalse
    default_actionchain_default_action‘DROP’::chain_default_action - одно из двух значений: -
      -
    • ACCEPT
    • -
    • DROP
    • -
    -
    -
    - -Ключи - -
    - - - - - - - - - - - - - - - -
    Имя ключаТипПоля
    Alternative keySimple Keycname
    -
    - -### tbl_ie_sg_sg_rule - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ПолеТипNullКлючПо умолчаниюДополнительно
    idint(8)PRIauto_increment
    protoprotoALT - одно из двух значений: -
      -
    • tcp
    • -
    • udp
    • -
    -
    sgint(8)FK/ALTвнешний ключ к таблице tbl_sg.id
    sg_localint(8)FK/ALTвнешний ключ к таблице tbl_sg.id
    traffictrafficALT - одно из двух значений: -
      -
    • ingress
    • -
    • egress
    • -
    -
    portssg_rule_ports[]YES -
      -
    • должно быть указано значение порта исходящего либо входящего трафика
    • -
    • значение должно находиться в интервале от 1 до 65535
    • -
    • - интервалы введённых значений портов для исходящего трафика не должны пересекаться -
    • -
    -
    logsbool
    tracebool
    -
    - -Ключи - -
    - - - - - - - - - - - - - - - -
    Имя ключаТипПоля
    Alternative keyCompound Key -
      -
    • proto
    • -
    • sg
    • -
    • sg_local
    • -
    • traffic
    • -
    -
    -
    - -### tbl_ie_sg_sg_icmp_rule - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ПолеТипNullКлючПо умолчаниюДополнительно
    idint(8)PRIauto_increment
    sgint(8)FK/ALTвнешний ключ к таблице tbl_sg.id
    sg_localint(8)FK/ALTвнешний ключ к таблице tbl_sg.id
    traffictrafficALTодно из двух значений "ingress" или "egress"
    ip_vip_familyALTодно из двух значений "IPv6" или "IPv4"
    typesicmp_typesмассив из smallint[] кодов типа ICMP
    logsBooleanfalse
    traceBooleanfalse
    -
    - -Ключи - -
    - - - - - - - - - - - - - - - -
    Имя ключаТипПоля
    Alternative keyCompound Key -
      -
    • sg
    • -
    • sg_local
    • -
    • traffic
    • -
    • ip_v
    • -
    -
    -
    - -### tbl_cidr_sg_rule - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ПолеТипNullКлючПо умолчаниюДополнительно
    idint(8)PRIauto_increment
    protoprotoALT - одно из двух значений: -
      -
    • tcp
    • -
    • udp
    • -
    -
    cidrcidrALT - значение cidr (диапазон ip адресов) в рамках одного правила (proto, sg, traffic) не должны пересекаться -
    sgint(8)FK/ALTвнешний ключ к таблице tbl_sg.id
    traffictrafficALT -
      -
    • ingress
    • -
    • egress
    • -
    -
    portssg_rule_ports[]YES -
      -
    • должно быть указано значение порта исходящего либо входящего трафика
    • -
    • значение должно находиться в интервале от 1 до 65535
    • -
    • - интервалы введённых значений портов для исходящего трафика не должны пересекаться -
    • -
    -
    logsbool
    tracebool
    -
    - -Ключи - -
    - - - - - - - - - - - - - - - -
    Имя ключаТипПоля
    Alternative keyCompound Key -
      -
    • proto
    • -
    • cidr
    • -
    • sg
    • -
    • traffic
    • -
    -
    -
    - -### tbl_cidr_sg_icmp_rule - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ПолеТипNullКлючПо умолчаниюДополнительно
    idint(8)PRIauto_increment
    cidrcidrALT - значение cidr (диапазон ip адресов) в рамках одного правила (ip_v, sg, traffic) не должны пересекаться -
    sgint(8)FK/ALTвнешний ключ к таблице tbl_sg.id
    traffictrafficALT -
      -
    • ingress
    • -
    • egress
    • -
    -
    ip_vip_familyALT - одно из двух значений: -
      -
    • IPv6
    • -
    • IPv4
    • -
    -
    typesicmp_types - массив из smallint[] кодов типа ICMP -
    logsbool
    tracebool
    -
    - -Ключи - -
    - - - - - - - - - - - - - - - -
    Имя ключаТипПоля
    Alternative keyCompound Key -
      -
    • ip_v
    • -
    • cidr
    • -
    • sg
    • -
    • traffic
    • -
    -
    -
    - -### tbl_fqdn_rule - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ПолеТипNullКлючПо умолчаниюДополнительно
    idint(8)PRIauto_increment
    sg_fromint(8)FK/ALTвнешний ключ к таблице tbl_sg.id
    fqdn_tofqdnALT -
      -
    • длина значения не должна превышать 256 символов
    • -
    • - значение начинается со строки, которая содержит один или более символов, являющихся буквами нижнего - регистра, цифрами, символом `.` или символами `_` и `-` (кроме первого символа, который не может быть `-` - или `_`), и должна быть длиной от 1 до 62 символов -
    • -
    • - затем может следовать любое количество строк, начинающихся с символа `.`, за которым идет один символ, - являющийся буквой нижнего регистра, цифрой, символом `_` или символом `-`, и длина строки от 0 до 62 - символов -
    • -
    -
    protoprotoALT - одно из двух значений: -
      -
    • tcp
    • -
    • udp
    • -
    -
    portssg_rule_ports[]YES -
      -
    • должно быть указано значение порта исходящего либо входящего трафика
    • -
    • значение должно находиться в интервале от 1 до 65535
    • -
    • - интервалы введённых значений портов для исходящего трафика не должны пересекаться -
    • -
    -
    logsboolfalse
    ndpi_protocolscitext -
      -
    • - количество элементов в массиве (наименований протоколов) не должно превышать 255 -
    • -
    • - значение элемента (наименование протокола) не должно начинаться или заканчиваться пробелом и не должно - быть пустым -
    • -
    -
    -
    - -Ключи - -
    - - - - - - - - - - - - - - - -
    Имя ключаТипПоля
    Alternative keyCompound Key -
      -
    • sg_from
    • -
    • fqdn_to
    • -
    • proto
    • -
    -
    -
    - -### tbl_sg_icmp_rule - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ПолеТипNullКлючПо умолчаниюДополнительно
    idint(8)PRIauto_increment
    ip_vip_familyALT - одно из двух значений: -
      -
    • IPv6
    • -
    • IPv4
    • -
    -
    typesicmp_typesмассив из smallint[] кодов типа ICMP
    sgint(8)FK/ALTвнешний ключ к таблице tbl_sg.id
    logsbool
    tracebool
    -
    - -Ключи - -
    - - - - - - - - - - - - - - - -
    Имя ключаТипПоля
    Alternative keyCompound Key -
      -
    • ip_v
    • -
    • sg
    • -
    -
    -
    - -### tbl_sg_rule - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ПолеТипNullКлючПо умолчаниюДополнительно
    idint(8)PRIauto_increment
    sg_fromint(8)FK/ALTвнешний ключ к таблице tbl_sg.id
    sg_toint(8)FK/ALTвнешний ключ к таблице tbl_sg.id
    protoprotoALT - одно из двух значений: -
      -
    • tcp
    • -
    • udp
    • -
    -
    portssg_rule_ports[]YES -
      -
    • должно быть указано значение порта исходящего либо входящего трафика
    • -
    • значение должно находиться в интервале от 1 до 65535
    • -
    • - интервалы введённых значений портов для исходящего трафика не должны пересекаться -
    • -
    -
    logsboolfalse
    -
    - -Ключи - -
    - - - - - - - - - - - - - - - -
    Имя ключаТипПоля
    Alternative keyCompound Key -
      -
    • sg_from
    • -
    • sg_to
    • -
    • proto
    • -
    -
    -
    - -### tbl_sg_sg_icmp_rule - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ПолеТипNullКлючПо умолчаниюДополнительно
    idint(8)PRIauto_increment
    ip_vip_familyALT - одно из двух значений: -
      -
    • IPv6
    • -
    • IPv4
    • -
    -
    typesicmp_typesмассив из smallint[] кодов типа ICMP
    sg_fromint(8)FK/ALTвнешний ключ к таблице tbl_sg.id
    sg_toint(8)FK/ALTвнешний ключ к таблице tbl_sg.id
    logsbool
    tracebool
    -
    - -Ключи - -
    - - - - - - - - - - - - - - - -
    Имя ключаТипПоля
    Alternative keyCompound Key -
      -
    • ip_v
    • -
    • sg_from
    • -
    • sg_to
    • -
    -
    -
    - -### tbl_sync_status - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ПолеТипNullКлючПо умолчаниюДополнительно
    idint(8)PRIauto_increment
    total_affected_rowsint(8) - при любой процедуре (удаление/добавление/редактирование) данных в таблицах, tbl_network, tbl_sg, - tbl_fqdn_rule, tbl_sg_rule, tbl_sg_icmp_rule, tbl_sg_sg_icmp_rule, будет учтена сумма всех изменённых строк -
    updated_attimstamptzYESдата изменения
    -
    diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/goose.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/goose.mdx deleted file mode 100644 index 459680cf..00000000 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/goose.mdx +++ /dev/null @@ -1,212 +0,0 @@ ---- -id: goose ---- - -import Tabs from '@theme/Tabs' -import TabItem from '@theme/TabItem' - -# Миграция - -
    - В качестве инструмента для миграции базы данных использует goose. Когда в качестве хранилища используется - Postgres, goose запускается перед началом работы hbf-server'a. Более подробную информацию о goose можно найти - [здесь](https://github.com/pressly/goose). -
    - -
    - Перед запуском *goose* необходимо настроить скрипт миграции командой: -
    - - ```bash - cat < migration.sh - #!/bin/bash - SG_DB_USER="user" - SG_DB_PASSWORD="password" - SG_DB_URL="localhost:5432" - SG_DB_NAME="swarm" - - SG_STORAGE_POSTGRES_URL="postgres://${SG_DB_USER}:${SG_DB_PASSWORD}@${SG_DB_URL}/${SG_DB_NAME}?sslmode=disable" - - export SG_STORAGE_POSTGRES_URL=$SG_STORAGE_POSTGRES_URL - - exec ./bin/goose postgres $SG_STORAGE_POSTGRES_URL up - EOF - ``` - - - - #### Сборка - Перед сборкой необходимо склонировать репозиторий - - ```bash - export VERSION=1.9.1 - git clone https://github.com/H-BF/sgroups - cd sgroups - git fetch --tags --all - git checkout tags/v${VERSION} - make .install-goose - ``` - -
    - После сборки, скомпилированный бинарный файл будет доступен в папке `./bin/goose` в корне репозитория (не путать с `/bin`, - расположенным в корне файловой системы). -
    - - -
    - По умолчанию файлы миграции расположены в папке `./internal/registry/sgroups/pg/migrations`, но пользователь может - указать и другой путь, определив переменную окружения `PG_MIGRATIONS`. -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Используемые переменные
    НазваниеОписаниеЗначение по умолчанию
    `SG_STORAGE_POSTGRES_URL`Переменная необходимая для подключения к БД
    `PG_MIGRATIONS`Переменная, содержащая путь к файлам миграций"./internal/registry/sgroups/pg/migrations"
    `SG_DB_USER`Имя пользователя БД
    `SG_DB_PASSWORD`Пароль пользователя БД
    `SG_DB_URL`Адрес базы данных (HOST:PORT)
    `SG_DB_NAME`Имя БДswarm
    - - #### Запуск - - Для выполнения миграции базы данных вручную пользователь может запустить следующую команду (рекомендуемый способ): - - ```bash - sh migration.sh - ``` - -
    - - - #### Сборка - -
    - Перед развертыванием убедитесь, что у вас установлен [docker](https://docs.docker.com/engine/install/): -
    - - ```bash title='Get docker version' - docker -v - ``` - -
    - Клонируем репозиторий, переходим в директорию репозитория и переключаемся на тег необходимой версии командой: -
    - - ```bash - export VERSION=1.9.1 - git clone https://github.com/H-BF/sgroups - cd sgroups - git fetch --tags --all - git checkout tags/v${VERSION} - ``` - -
    - Собираем образ *goose* командой: -
    - - ```bash - docker build -f docker/Dockerfile.goose --tag goose:v$(cat VERSION) . - ``` - -
    - По умолчанию файлы миграции расположены в папке `./internal/registry/sgroups/pg/migrations`, но пользователь может - указать и другой путь, определив переменную окружения `PG_MIGRATIONS`. -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Используемые переменные
    НазваниеОписаниеЗначение по умолчанию
    `SG_STORAGE_POSTGRES_URL`Переменная необходимая для подключения к БД
    `PG_MIGRATIONS`Переменная, содержащая путь к файлам миграций"./internal/registry/sgroups/pg/migrations"
    `SG_DB_USER`Имя пользователя БД
    `SG_DB_PASSWORD`Пароль пользователя БД
    `SG_DB_URL`Адрес базы данных (HOST:PORT)
    `SG_DB_NAME`Имя БДswarm
    - - #### Запуск -
    - Для выполнения миграции базы данных с помощью Docker необходимо выполнить команду: -
    - - ```bash - docker run -d -t --name=goose-migration --rm \ - -v "./migration.sh:/app/migration.sh" \ - --entrypoint /app/migration.sh \ - goose:$(cat VERSION) - ``` - -
    -
    diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/installation.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/installation.mdx deleted file mode 100644 index 57de8cc2..00000000 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/installation.mdx +++ /dev/null @@ -1,622 +0,0 @@ ---- -id: installation-server ---- - -import Tabs from '@theme/Tabs' -import TabItem from '@theme/TabItem' - -# Установка - -
    - Перед развертыванием, пользователь должен решить, где hbf-server будет хранить данные. Предоставляется два варианта - для выбора: -
      -
    • In Memory.
    • -
    • Postgres: В этом случае необходимо перед запуском hbf-server выполнить [миграцию базы данных](./goose.mdx).
    • -
    -
    - -
    - Независимо от выбранного метода установки hbf-server, необходимо сконфигурировать следующие переменные окружения: -

    `HBF_SERVER` - IP-адрес hbf-server.

    - -```bash title='Setup HBF_SERVER' -export HBF_SERVER=0.0.0.0 -``` - -{' '} - -

    `HBF_SERVER_PORT` - порт, используемый hbf-server.

    - -```bash title='Setup HBF_SERVER_PORT' -export HBF_SERVER_PORT=9650 -``` - -{' '} - -

    `VERSION` - версия hbf-server.

    - -```bash title='Setup VERSION' -export VERSION=1.9.1 -``` - -{' '} - -

    `SG_STORAGE_TYPE` - тип хранилища для hbf-server. Допустимые значени: `internal` или `postgres`.

    - -В случае выбора типа хранилища "In Memory" установите переменную окружения командой: - -```bash title='Setup SG_STORAGE_TYPE' -export SG_STORAGE_TYPE=internal -``` - -В случае выбора типа хранилища "Postgres" установите переменную окружения командой: - -```bash title='Setup SG_STORAGE_TYPE' -export SG_STORAGE_TYPE=postgres -``` - -{' '} - -

    - `SG_STORAGE_POSTGRES_URL` - URL для подключения к Postgres базе данных. Для корректного формирования воспользуйтесь - командой: -

    - -```bash title='Setup SG_STORAGE_POSTGRES_URL' -cat < setup.sh -#!/bin/bash -SG_DB_USER="user" -SG_DB_PASSWORD="password" -SG_DB_URL="localhost:5432" -SG_DB_NAME="swarm" - -SG_STORAGE_POSTGRES_URL="postgres://${SG_DB_USER}:${SG_DB_PASSWORD}@${SG_DB_URL}/${SG_DB_NAME}?sslmode=disable" - -export SG_STORAGE_POSTGRES_URL=$SG_STORAGE_POSTGRES_URL -EOF -sh setup.sh -``` - -
    - - - - -
    - Перед развертыванием убедитесь, что у вас установлен [docker](https://docs.docker.com/engine/install/): -
    - -```bash title='Get docker version' -docker -v -``` - -{' '} - -
    Клонируем репозиторий, переходим в директорию репозитория и переключаемся на тег необходимой версии командой:
    - -```bash title='Git setup' -git clone https://github.com/H-BF/sgroups -cd sgroups -git fetch --tags --all -git checkout tags/v${VERSION} -``` - -{' '} - -
    Создайте конфигурационный файл для hbf-server командой:
    - -```bash title='Configuration file setup' -cat < config-server.yaml ---- -logger: - # log level - level: INFO - -metrics: - # enable api metrics - enable: true - -healthcheck: - # enables|disables health check handler - enable: true - -server: - # server endpoint - endpoint: tcp://${HBF_SERVER}:${HBF_SERVER_PORT} - # graceful shutdown period - graceful-shutdown: 30s -EOF -``` - -{' '} - -
    Собираем образ hbf-server командой:
    - -```bash -docker build -f docker/Dockerfile.server --tag sgroups:v$(cat VERSION) . -``` - -{' '} - -
    В случае выбора типа хранилища "In Memory" запустите hbf-server командой:
    - -```bash -docker run \ --d \ --v ./config-server.yaml:/opt/swarm/etc/sgroups/config-server.yaml \ ---name hbf-server \ ---entrypoint "/app/bin/sgroups" \ ---env SG_STORAGE_TYPE \ -sgroups:v$(cat VERSION) -config /opt/swarm/etc/sgroups/config-server.yaml -``` - -{' '} - -
    В случае выбора типа хранилища "Postgres" запустите hbf-server командой:
    - -```bash -sh setup.sh -docker run \ --d \ --v ./config-server.yaml:/opt/swarm/etc/sgroups/config-server.yaml \ ---name hbf-server \ ---entrypoint "/app/bin/sgroups" \ ---env SG_STORAGE_TYPE \ ---env SG_STORAGE_POSTGRES_URL \ -sgroups:v$(cat VERSION) -config /opt/swarm/etc/sgroups/config-server.yaml -``` - -
    - - -{' '} - -{' '} - -
    Устанавливаем дополнительные переменные окружения командой:
    - -```bash title='Environment setup' -export PACKAGE_TYPE=deb -export URL=https://github.com/H-BF/sgroups/releases/download -export RELEASE=v$VERSION/sgroups-$VERSION-any.$PACKAGE_TYPE -``` - -{' '} - -
    Скачиваем и устанавливаем deb-пакет командой:
    - -```bash title='Install deb package' -sudo wget -O /tmp/sgroups.deb $URL/$RELEASE -sudo dpkg -i /tmp/sgroups.deb -``` - -{' '} - -
    Создайте конфигурационный файл для hbf-server.service командой:
    - -```bash title='Server service setup' -cat < /etc/systemd/system/hbf-server.service -[Unit] -Description=sgroups -Documentation=TODO: -After=network.target - -[Service] -EnvironmentFile=/opt/swarm/etc/sgroups/env -ExecStart=/opt/swarm/sbin/sgroups --config=/opt/swarm/etc/sgroups/config.yaml -Restart=always -RestartSec=5 -Delegate=yes -KillMode=process -OOMScoreAdjust=-999 -LimitNOFILE=1048576 -LimitNPROC=infinity -LimitCORE=infinity - -[Install] -WantedBy=multi-user.target -EOF -``` - -{' '} - -
    Создайте конфигурационный файл для hbf-server командой:
    - -```bash title='Setup server service' -cat < /opt/swarm/etc/sgroups/config.yaml ---- -logger: - # log level - level: INFO - -metrics: - # enable api metrics - enable: true - -healthcheck: - # enables|disables health check handler - enable: true - -server: - # server endpoint - endpoint: tcp://${HBF_SERVER}:${HBF_SERVER_PORT} - # graceful shutdown period - graceful-shutdown: 30s -EOF -``` - -{' '} - -
    В случае выбора типа хранилища "In Memory" необходимо настроить файл */opt/swarm/etc/sgroups/env* командой:
    - -```bash title="Environment file setup" -mkdir -p /opt/swarm/etc/sgroups -cat < /opt/swarm/etc/sgroups/env -#!/bin/bash -SG_STORAGE_TYPE=${SG_STORAGE_TYPE} -EOF -``` - -{' '} - -
    В случае выбора типа хранилища "Postgres" необходимо настроить файл */opt/swarm/etc/sgroups/env* командой:
    - -```bash title="Environment file setup" -mkdir -p /opt/swarm/etc/sgroups -cat < /opt/swarm/etc/sgroups/env -#!/bin/bash -SG_STORAGE_TYPE=${SG_STORAGE_TYPE} -SG_STORAGE_POSTGRES_URL=${SG_STORAGE_POSTGRES_URL} -EOF -``` - -{' '} - -
    Запустите сервис hbf-server.service командой:
    - -```bash title='Server service start' -systemctl enable hbf-server.service -systemctl start hbf-server.service -``` - -
    - - -{' '} - -{' '} - -
    Настроим необходимые переменные окружения командой:
    - -```bash title='bash' -export PACKAGE_TYPE=rpm -export URL=https://github.com/H-BF/sgroups/releases/download -export RELEASE=v$VERSION/sgroups-$VERSION-any.$PACKAGE_TYPE -``` - -{' '} - -
    Скачиваем и устанавливаем rpm-пакет командой:
    - -```bash title='Install rpm package' -sudo wget -O /tmp/sgroups.rpm $URL/$RELEASE -sudo yum localinstall -i /tmp/sgroups.rpm -``` - -{' '} - -
    Создайте конфигурационный файл для hbf-server.service командой:
    - -```bash title='Server service setup' -cat < /etc/systemd/system/hbf-server.service -[Unit] -Description=sgroups -Documentation=TODO: -After=network.target - -[Service] -EnvironmentFile=/opt/swarm/etc/sgroups/env -ExecStart=/opt/swarm/sbin/sgroups --config=/opt/swarm/etc/sgroups/config.yaml -Restart=always -RestartSec=5 -Delegate=yes -KillMode=process -OOMScoreAdjust=-999 -LimitNOFILE=1048576 -LimitNPROC=infinity -LimitCORE=infinity - -[Install] -WantedBy=multi-user.target -EOF -``` - -{' '} - -
    Создайте конфигурационный файл для hbf-server командой:
    - -```bash title='Setup server service' -cat < /opt/swarm/etc/sgroups/config.yaml ---- -logger: - # log level - level: INFO - -metrics: - # enable api metrics - enable: true - -healthcheck: - # enables|disables health check handler - enable: true - -server: - # server endpoint - endpoint: tcp://${HBF_SERVER}:${HBF_SERVER_PORT} - # graceful shutdown period - graceful-shutdown: 30s -EOF -``` - -{' '} - -
    В случае выбора типа хранилища "In Memory" необходимо настроить файл */opt/swarm/etc/sgroups/env* командой:
    - -```bash title="Environment file setup" -mkdir -p /opt/swarm/etc/sgroups -cat < /opt/swarm/etc/sgroups/env -#!/bin/bash -SG_STORAGE_TYPE=${SG_STORAGE_TYPE} -EOF -``` - -{' '} - -
    В случае выбора типа хранилища "Postgres" необходимо настроить файл */opt/swarm/etc/sgroups/env* командой:
    - -```bash title="Environment file setup" -mkdir -p /opt/swarm/etc/sgroups -cat < /opt/swarm/etc/sgroups/env -#!/bin/bash -SG_STORAGE_TYPE=${SG_STORAGE_TYPE} -SG_STORAGE_POSTGRES_URL=${SG_STORAGE_POSTGRES_URL} -EOF -``` - -{' '} - -
    Запустите сервис hbf-server.service командой:
    - -```bash title='Server service start' -systemctl enable hbf-server.service -systemctl start hbf-server.service -``` - -
    - - - -{' '} - -

    Перед развертыванием, необходимо создать директории для хранения бинарного файла и файлов конфигурации командой:

    - -```bash title='Environment setup' -mkdir -p /opt/swarm/sbin -mkdir -p /opt/swarm/etc/to-nft -``` - -{' '} - -

    - Клонируем репозиторий, переходим в директорию репозитория, переключаемся на тег необходимой версии и Создайте - необходимые директории командой: -

    - -```bash title='Git setup' -git clone https://github.com/H-BF/sgroups -cd sgroups -git fetch --tags --all -git checkout tags/v${VERSION} -make sg-service platform=linux/amd64 -cp bin/sgroups /opt/swarm/sbin/hbf-server -``` - -{' '} - -

    Создайте конфигурационный файл для hbf-server командой:

    - -```bash title='Configuration file setup' -cat < /opt/swarm/etc/sgroups/config-server.yaml ---- -logger: - # log level - level: INFO - -metrics: - # enable api metrics - enable: true - -healthcheck: - # enables|disables health check handler - enable: true - -server: - # server endpoint - endpoint: tcp://${HBF_SERVER}:${HBF_SERVER_PORT} - # graceful shutdown period - graceful-shutdown: 30s -EOF -``` - -{' '} - -

    Создайте конфигурационный файл для hbf-server.service командой:

    - -```bash title='Server service setup' -cat < /etc/systemd/system/hbf-server.service -[Unit] -Description=sgroups -Documentation=TODO: -After=network.target - -[Service] -EnvironmentFile=/opt/swarm/etc/sgroups/env -ExecStart=/opt/swarm/sbin/hbf-server --config=/opt/swarm/etc/sgroups/config-server.yaml -Restart=always -RestartSec=5 -Delegate=yes -KillMode=process -OOMScoreAdjust=-999 -LimitNOFILE=1048576 -LimitNPROC=infinity -LimitCORE=infinity - -[Install] -WantedBy=multi-user.target -EOF -``` - -{' '} - -
    В случае выбора типа хранилища "In Memory" необходимо настроить файл */opt/swarm/etc/sgroups/env* командой:
    - -```bash title="Environment file setup" -cat < /opt/swarm/etc/sgroups/env -#!/bin/bash -export SG_STORAGE_TYPE=${SG_STORAGE_TYPE} -EOF -``` - -{' '} - -
    В случае выбора типа хранилища "Postgres" необходимо настроить файл */opt/swarm/etc/sgroups/env* командой:
    - -```bash title="Environment file setup" -cat < /opt/swarm/etc/sgroups/env -#!/bin/bash -SG_STORAGE_TYPE=${SG_STORAGE_TYPE} -SG_STORAGE_POSTGRES_URL=${SG_STORAGE_POSTGRES_URL} -EOF -``` - -{' '} - -
    Запустите сервис hbf-server.service командой:
    - -```bash title='Server service start' -systemctl enable hbf-server.service -systemctl start hbf-server.service -``` - -
    -
    - -#### Параметры конфигурационного файла - -
    - Для настройки агентов требуется использовать конфигурационный файл, который содержит поля, позволяющие настраивать - параметры в соответствии с потребностями пользователей. Так же есть алтьтернативный способ - переменные окружения. - Обратите внимание, что переменные окружения являются более приоритетными, чем параметры из файла. Так же часть - параметров можно настроить через файл, а часть через переменные окружения. -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Параметры файла config-server.yaml
    ПараметрОписаниеТипОбязательно
    -

    logger.level

    -

    `SG_LOGGER_LEVEL`

    -
    Уровень логгирования. Допустимые значения: `TRACE`, `DEBUG`, `INFO`, `WARN`, `ERROR`, `FATAL`, `PANIC`.StringНет
    -

    server.endpoint

    -

    `SG_SERVER_ENDPOINT`

    -
    IP адрес и порт hbf-сервер. Рекомендуемое значение: `0.0.0.0:9650`.StringДа
    -

    server.graceful-shutdow

    -

    `SG_SERVER_GRACEFUL_SHUTDOW`

    -
    - Определяет период времени, в течение которого процесс сервера должен корректно завершиться. По истечению - периода, процесс завершиться с кодом 1. Значение по умолчанию: `10s` - StringНет
    -

    telemetry.metrics.enable

    -

    `SG_METRICS_ENABLE`

    -
    - Включить/Отключить возможность получения метрик. Значение по умолчанию: `true`. Пример получения метрик: `curl - 0.0.0.0:9650/metrics`. - BooleanНет
    -

    healthcheck.enable

    -

    `SG_HEALTHCHECK_ENABLE`

    -
    - Включить/Отключить возможность получения информации о статусе hbf-сервера. Значение по умолчанию: `true`. - Пример получения статуса: `curl 0.0.0.0:9650/healthcheck`. - BooleanНет
    -

    storage.type

    -

    `SG_STORAGE_TYPE`

    -
    - Подключаемый тип базы данных. Значение по умолчанию: `internal`. Допустимые значения: `internal`, `postgres`. - StringНет
    -

    storage.postgres.url

    -

    `SG_STORAGE_POSTGRES_URL`

    -
    - URL для подключения к базе данных Postgres. При использовании `storage.type:postgres`, данный параметр должен - иметь корректный URL подключения. В ином случае, в параметре нет необходимости. - StringНет
    -
    diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/monitoring.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/monitoring.mdx deleted file mode 100644 index 10f0a169..00000000 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/sgroups/monitoring.mdx +++ /dev/null @@ -1,270 +0,0 @@ ---- -id: monitoring ---- - -# Мониторинг - -
    - Информация о состоянии сервера основывается на метриках. В таблице ниже предоставлены доступные метрики и их описания. -
    - -
    - - Зеленым - - цветом выделены ключевые метрики. -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Metric NameMetric TypeDescription
    go_gc_duration_secondssummaryСводка длительности пауз циклов сборки мусора
    go_gc_duration_seconds_countcounterСводка длительности пауз циклов сборки мусора
    go_gc_duration_seconds_sumcounterСумма длительности паузы циклов сборки мусора
    go_goroutinesgaugeКоличество текущих горутин
    go_infogaugeИнформация о среде выполнения
    go_memstats_alloc_bytesgaugeКоличество выделенных и все еще используемых байтов
    go_memstats_alloc_bytes_totalcounterОбщее количество выделенных байтов, даже если они были освобождены
    go_memstats_buck_hash_sys_bytesgaugeКоличество байтов, используемых хэш-таблицей профилирования
    go_memstats_frees_totalcounterОбщее количество "освобожденных" объектов кучи
    go_memstats_gc_sys_bytesgaugeКоличество байтов, используемых для метаданных системы сборки мусора
    go_memstats_heap_alloc_bytesgaugeКоличество выделенных и все еще используемых байтов кучи
    go_memstats_heap_idle_bytesgaugeКоличество байтов кучи в ожидании использования
    go_memstats_heap_inuse_bytesgaugeКоличество байтов кучи, используемых в данный момент
    go_memstats_heap_objectsgaugeКоличество выделенных объектов
    go_memstats_heap_released_bytesgaugeКоличество байтов кучи, освобожденных в ОС
    go_memstats_heap_sys_bytesgaugeКоличество байтов кучи, полученных от системы
    go_memstats_last_gc_time_secondsgaugeКоличество секунд с 1970 года последней сборки мусора
    go_memstats_lookups_totalcounterОбщее количество поисков указателей
    go_memstats_mallocs_totalcounterОбщее количество выделений памяти
    go_memstats_mcache_inuse_bytesgaugeКоличество байтов, используемых структурами mcache
    go_memstats_mcache_sys_bytesgaugeКоличество байтов, используемых структурами mcache, полученных из системы
    go_memstats_mspan_inuse_bytesgaugeКоличество байтов, используемых структурами mspan
    go_memstats_mspan_sys_bytesgaugeКоличество байтов, используемых структурами mspan, полученных из системы
    go_memstats_next_gc_bytesgaugeКоличество байтов кучи при следующей сборке мусора
    go_memstats_other_sys_bytesgaugeКоличество байтов, используемых для других системных выделений
    go_memstats_stack_inuse_bytesgaugeКоличество байтов, используемых выделителем стека
    go_memstats_stack_sys_bytesgaugeКоличество байтов, полученных от системы для выделителя стека
    go_memstats_sys_bytesgaugeКоличество байтов, полученных от системы
    go_threadsgaugeКоличество созданных ОС потоков
    - healthcheck - gaugeИндикатор проверки состояния процесса (0 или 1)
    - process_cpu_seconds_total - counterОбщее количество времени CPU пользователя и системы в секундах
    process_max_fdsgaugeМаксимальное количество открытых дескрипторов файлов
    process_open_fdsgaugeКоличество открытых дескрипторов файлов
    - process_resident_memory_bytes - gaugeРазмер резидентной памяти в байтах
    process_start_time_secondsgaugeВремя запуска процесса с начала эпохи Unix в секундах
    process_virtual_memory_bytesgaugeРазмер виртуальной памяти в байтах
    process_virtual_memory_max_bytesgaugeМаксимальный объем доступной виртуальной памяти в байтах
    - promhttp_metric_handler_requests_in_flight - counterКоличество обрабатываемых запросов в моменте на ручке /metrics
    promhttp_metric_handler_requests_totalcounterКотичество запросов на ручку /metrics
    - server_grpc_connections - gaugeКоличество подключенных на данный момент агентов
    server_grpc_response_time_sumhistogramСуммарная гистограмма времени ответа по всем методам
    server_grpc_response_time_counthistogramГистограмма времени ответа по каждому методу
    server_grpc_response_time_buckethistogramГистограмма времени ответа
    server_grpc_methods_startedcounterКоличество заходов в метод
    server_grpc_methods_finishedcounterКоличество выходов из метод
    server_grpc_messagescounterКоличество полученных и отправленных сообщений
    -
    diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/system-requirements.md b/documentation/versioned_docs/version-v1.13.0/tech-docs/system-requirements.md deleted file mode 100644 index 8eac52ae..00000000 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/system-requirements.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -id: installation-system-requirements ---- - -# Требования - -:::info "SGroups совместим с `x86_64`, `amd64`, `armhf`, `arm64`, `s390x` архитектурами." -::: - -Для установки потребуется: - -`linux kernel >= 3.10.0` - -`nft --version >= v0.9.3 (Topsy)` - -`go version >= 1.19` - -`postgresql >= 14.8` - ---- diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/terraform/provider.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/terraform/provider.mdx deleted file mode 100644 index ac54355b..00000000 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/terraform/provider.mdx +++ /dev/null @@ -1,88 +0,0 @@ ---- -id: provider-terraform ---- - -import Tabs from '@theme/Tabs' -import TabItem from '@theme/TabItem' - -# Установка провайдера - - - - -
    - Перед развертыванием убедитесь, что у вас установлен [terraform](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli): - - ```bash - terraform -v - ``` - Далее установкой убедитесь, что вы корректно указали версию, - установив переменную `VERSION` без символа 'v', а также переменные `OS` и `ARCH`. - -
    - -```bash title='Environment setup' -export VERSION=1.9.1 -export OS=linux -export ARCH=amd64 -export GIT=https://github.com/H-BF/sgroups/releases/download/v${VERSION} -export RELEASE_NAME=terraform-provider-sgroups -export PLUGIN_PATH=~/.terraform.d/plugins/registry.terraform.io/sgroups -export PROVIDER_PATH=${PLUGIN_PATH}/${VERSION}/${OS}_${ARCH}/${RELEASE_NAME}_v${VERSION} -mkdir -p ${PLUGIN_PATH}/${VERSION}/${OS}_${ARCH} -``` - -```bash title='Install provider' -wget -O ${PROVIDER_PATH} ${GIT}/${RELEASE_NAME} -chmod +x ${PROVIDER_PATH} -``` - -```bash title='Terraform setup' -cat <> ~/.terraformrc -plugin_cache_dir = "${HOME}/.terraform.d/plugin-cache" -disable_checkpoint = true -EOF -``` - -
    - - -{' '} - -
    - Перед развертыванием убедитесь, что вы корректно указали версию, установив переменную `VERSION` без символа 'v', а - также переменные `OS` и `ARCH`. -
    - -```bash title='Environment setup' -export VERSION=1.9.1 -export OS=linux -export ARCH=amd64 -export RELEASE_NAME=terraform-provider-sgroups -export PLUGIN_PATH=~/.terraform.d/plugins/registry.terraform.io/sgroups -export PROVIDER_PATH=${PLUGIN_PATH}/${VERSION}/${OS}_${ARCH}/${RELEASE_NAME}_v${VERSION} -mkdir -p ${PLUGIN_PATH}/${VERSION}/${OS}_${ARCH} -``` - -```bash title='Build provider' -git clone https://github.com/H-BF/sgroups -cd sgroups -make sgroups-tf-v2 -cp bin/${RELEASE_NAME} ${PROVIDER_PATH} -chmod +x ${PROVIDER_PATH} -``` - -```bash title='Terraform setup' -cat <> ~/.terraformrc -plugin_cache_dir = "${HOME}/.terraform.d/plugin-cache" -disable_checkpoint = true -EOF -``` - -
    -
    diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/terraform/spec.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/terraform/spec.mdx deleted file mode 100644 index 2d13693c..00000000 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/terraform/spec.mdx +++ /dev/null @@ -1,62 +0,0 @@ ---- -id: spec-terraform ---- - -# Запуск - -
    - После установки провайдера, пользователь может приступать к описанию собственных sgroups. В качестве отправной точки, - воспользуемся готовым шаблоном. -
    - -```bash title='Install terraform-spec-template' -git clone https://github.com/H-BF/swarm-spec-template -cd swarm-spec-template -``` - -
    - Следующим шагом настроим файл *providers.tf*: -
      -
    • - Убедитесь, что вы корректно настроили backend, - который будет хранить актуальный terraform-state. -
    • -
    • - Убедитесь, что вы корректно указали версию провайдер в секции required_providers. -
    • -
    • - Убедитесь, что вы корректно указали IP адресс и порт hbf-server'a. - Либо укажите данное значение через переменную окружения `SGROUPS_ADDRESS`. -
    • -
    • - Убедитесь, что вы корректно указали период времени ожидания подключения к серверу. - Либо укажите данное значение через переменную окружения `SGROUPS_DIAL_DURATION`. -
    • -
    - - Далее убедимся в корректной настройке файл *main.tf*: -
      -
    • - Убедитесь, что вы корректно настроили параметр source. Важной часть параметра, является то, куда ссылается - Все возможные варианты описания данного параметра можно найти в официальной документации. -
    • -
    - - Воспользуйтесь предоставленными в репозитории sgroups для проверки работоспособности провайдера. - Для этого выполните команду (важно устанавливать флаг `--parallelism=1`): - - ```bash title='Run terraform plan' - terraform plan --parallelism=1 - ``` - Результатом выполнения команды, должен быть список ресурсов, которые описаны в директории *spec/*. - - Следующим шагом будет описание собственных sgroups опираясь, на примеры из документации. Вы можете создавать любую иерархичность в директорию *spec/*, поскольку при описании - сетевых политик sgroups, они ссылаются *на имена sgroups*, а не на пути расположения файлов до sgroups. - - Для того, чтобы применить описанные правила, выполните команду (важно устанавливать флаг `--parallelism=1`): - - ```bash title='Run terraform plan' - terraform apply --auto-approve --parallelism=1 - ``` - -
    diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/to-nft/installation.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/to-nft/installation.mdx deleted file mode 100644 index 59838080..00000000 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/to-nft/installation.mdx +++ /dev/null @@ -1,784 +0,0 @@ ---- -id: installation-agent ---- - -import Tabs from '@theme/Tabs' -import TabItem from '@theme/TabItem' - -# Установка - -
    - В не зависимости от выбраного вида установки hbf-server, необходимо настроить общие переменные окружения:
    -

    `HBF_SERVER` - IP-адрес hbf-server.

    - - ```bash title='Setup HBF_SERVER' - export HBF_SERVER=0.0.0.0 - ``` - -

    `HBF_SERVER_PORT` - порт, используемый hbf-server.

    - - ```bash title='Setup HBF_SERVER_PORT' - export HBF_SERVER_PORT=9650 - ``` - -

    `DNS_SERVER` - Список доверенных IP-адресов DNS серверов.

    - - ```bash title='Setup DNS_SERVER' - export DNS_SERVER=['8.8.8.8'] - ``` - -

    `VERSION` - версия агента, которую пользователь хочет установить.

    - - ```bash title='Setup VERSION' - export VERSION=1.9.1 - ``` - -
    - - - - - -{' '} - -
    Перед развертыванием убедитесь, что у вас установлен [docker](https://docs.docker.com/engine/install/):
    - -```bash title='Get docker version' -docker -v -``` - -{' '} - -
    Клонируем репозиторий, переходим в директорию репозитория и переключаемся на тег необходимой версии командой:
    - -```bash title='Git setup' -git clone https://github.com/H-BF/sgroups -cd sgroups -git fetch --tags --all -git checkout tags/v${VERSION} -``` - -{' '} - -
    Создайте конфигурационный файл для hbf-agent командой:
    - -```bash title='Configuration file setup' -cat < config-agent.yaml ---- -graceful-shutdown: 10s - -logger: - level: DEBUG - -fqdn-rules: - strategy: dns - -extapi: - svc: - def-daial-duration: 10s - sgroups: - dial-duration: 3s - address: 'tcp://${HBF_SERVER}:${HBF_SERVER_PORT}' - sync-status: - interval: 3s #mandatory - push: true - -netlink: - watcher: #netlink watcher - linger: 1s - -base-rules: - networks: ['${HBF_SERVER}/32'] - -dns: - nameservers: ${DNS_SERVER} - proto: tcp - port: 53 - dial-duration: 3s - read-duration: 5s #default - write-duration: 5s #default 5s - retries: 5 #default 1 - retry-timeout: 3s #default 1s - -telemetry: - useragent: "string" - endpoint: 0.0.0.0:9660 - metrics: - enable: true - healthcheck: - enable: true -EOF -``` - -{' '} - -
    Собираем образ hbf-agent командой:
    - -```bash -docker build -f docker/Dockerfile.agent --tag to-nft:v${VERSION} . -``` - -{' '} - -
    Запускаем hbf-agent командой:
    - -```bash -docker run \ --d \ --v ./config-agent.yaml:/opt/swarm/etc/to-nft/config-agent.yaml \ ---name hbf-agent \ ---entrypoint "/app/bin/to-nft" \ ---privileged \ ---user=0 \ -to-nft:v${VERSION} -config /opt/swarm/etc/to-nft/config-agent.yaml -``` - -
    - - - -{' '} - -
    Настроим необходимые переменные окружения командой:
    - -```bash title='Environment setup' -export PACKAGE_TYPE=deb -export URL=https://github.com/H-BF/sgroups/releases/download -export RELEASE=v$VERSION/to-nft-$VERSION-any.$PACKAGE_TYPE -``` - -{' '} - -
    Скачиваем и устанавливаем deb-пакет командой:
    - -```bash title='Install deb package' -sudo wget -O /tmp/to-nft.deb $URL/$RELEASE -sudo dpkg -i /tmp/to-nft.deb -``` - -{' '} - -
    Создайте конфигурационный файл для hbf-agent командой:
    - -```bash title='Configuration file setup' -mkdir -p /opt/swarm/etc/to-nft -cat < /opt/swarm/etc/to-nft/config-agent.yaml ---- -graceful-shutdown: 10s - -logger: - level: DEBUG - -fqdn-rules: - strategy: dns - -extapi: - svc: - def-daial-duration: 10s - sgroups: - dial-duration: 3s - address: 'tcp://${HBF_SERVER}:${HBF_SERVER_PORT}' - sync-status: - interval: 3s #mandatory - push: true - -netlink: - watcher: #netlink watcher - linger: 1s - -base-rules: - networks: ['${HBF_SERVER}/32'] - -dns: - nameservers: ${DNS_SERVER} - proto: tcp - port: 53 - dial-duration: 3s - read-duration: 5s #default - write-duration: 5s #default 5s - retries: 5 #default 1 - retry-timeout: 3s #default 1s - -telemetry: - useragent: "string" - endpoint: 0.0.0.0:9660 - metrics: - enable: true - healthcheck: - enable: true -EOF -``` - -{' '} - -
    Запустите сервис hbf-server.service командой:
    - -```bash title='Agent service start' -systemctl enable hbf-agent.service -systemctl start hbf-agent.service -``` - -
    - - -
    - Настроим необходимые переменные окружения командой: -
    - -```bash title='Environment setup' -export PACKAGE_TYPE=rpm -export URL=https://github.com/H-BF/sgroups/releases/download -export RELEASE=v$VERSION/to-nft-$VERSION-any.$PACKAGE_TYPE -``` - -{' '} - -
    Создайте конфигурационный файл для hbf-agent командой:
    - -```bash title='Configuration file setup' -mkdir -p /opt/swarm/etc/to-nft -cat < /opt/swarm/etc/to-nft/config-agent.yaml ---- -graceful-shutdown: 10s - -logger: - level: DEBUG - -fqdn-rules: - strategy: dns - -extapi: - svc: - def-daial-duration: 10s - sgroups: - dial-duration: 3s - address: 'tcp://${HBF_SERVER}:${HBF_SERVER_PORT}' - sync-status: - interval: 3s #mandatory - push: true - -netlink: - watcher: #netlink watcher - linger: 1s - -base-rules: - networks: ['${HBF_SERVER}/32'] - -dns: - nameservers: ${DNS_SERVER} - proto: tcp - port: 53 - dial-duration: 3s - read-duration: 5s #default - write-duration: 5s #default 5s - retries: 5 #default 1 - retry-timeout: 3s #default 1s - -telemetry: - useragent: "string" - endpoint: 0.0.0.0:9660 - metrics: - enable: true - healthcheck: - enable: true -EOF -``` - -{' '} - -
    Скачиваем и устанавливаем rpm-пакет командой:
    - -```bash title='Install rpm package' -sudo wget -O /tmp/to-nft.rpm $URL/$RELEASE -sudo yum localinstall /tmp/to-nft.rpm -``` - -{' '} - -
    Запустите сервис hbf-agent.service командой:
    - -```bash title='Agent service start' -systemctl enable hbf-agent.service -systemctl start hbf-agent.service -``` - -
    - - - -{' '} - -

    Перед развертыванием, необходимо создать директории для хранения бинарного файла и файлов конфигурации командой:

    - -```bash title='Environment setup' -mkdir -p /opt/swarm/sbin -mkdir -p /opt/swarm/etc/to-nft -``` - -{' '} - -

    - Клонируем репозиторий, переходим в директорию репозитория, переключаемся на тег необходимой версии и Создайте - необходимые директории командой: -

    - -```bash title='Git setup' -git clone https://github.com/H-BF/sgroups -cd sgroups -git fetch --tags --all -git checkout tags/v${VERSION} -make to-nft platform=linux/amd64 -cp bin/to-nft /opt/swarm/sbin/hbf-agent -``` - -{' '} - -

    Создайте конфигурационный файл для hbf-agent командой:

    - -```bash title='Configuration file setup' -cat < /opt/swarm/etc/to-nft/config-agent.yaml ---- -graceful-shutdown: 10s - -logger: - level: DEBUG - -fqdn-rules: - strategy: dns - -extapi: - svc: - def-daial-duration: 10s - sgroups: - dial-duration: 3s - address: 'tcp://${HBF_SERVER}:${HBF_SERVER_PORT}' - sync-status: - interval: 3s #mandatory - push: true - -netlink: - watcher: #netlink watcher - linger: 1s - -base-rules: - networks: ['${HBF_SERVER}/32'] - -dns: - nameservers: ${DNS_SERVER} - proto: tcp - port: 53 - dial-duration: 3s - read-duration: 5s #default - write-duration: 5s #default 5s - retries: 5 #default 1 - retry-timeout: 3s #default 1s - -telemetry: - useragent: "string" - endpoint: 0.0.0.0:9660 - metrics: - enable: true - healthcheck: - enable: true -EOF -``` - -{' '} - -

    Создайте конфигурационный файл для hbf-server.agent командой:

    - -```bash title='Agent service setup' -cat < /etc/systemd/system/hbf-agent.service -[Unit] -Description=hbf agent -After=network.target - -[Service] -ExecStart=/opt/swarm/sbin/hbf-agent --config=/opt/swarm/etc/to-nft/config-agent.yaml -Restart=always -RestartSec=5 -Delegate=yes -KillMode=process -OOMScoreAdjust=-999 -LimitNOFILE=1048576 -LimitNPROC=infinity -LimitCORE=infinity - -[Install] -WantedBy=multi-user.target -EOF -``` - -{' '} - -
    Запустите сервис hbf-server.service командой:
    - -```bash title='Agent service start' -systemctl enable hbf-agent.service -systemctl start hbf-agent.service -``` - -
    - - -
    - Перед развертыванием убедитесь, что у вас установлен [ansible](https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html): - - ```bash - ansible-playbook --version - ``` - Далее убедитесь, что вы корректно указали версию, установив переменную `VERSION` без символа 'v'. - Следующим шагом склонируйте репозиторий: - -
    - -```bash -git clone https://github.com/H-BF/ansible -cd ansible -git fetch --tags --all -git checkout tags/v${VERSION} -``` - -#### Требования - -{' '} - -
    - Перед выполнением ansible-playbook убедитесь, что текущая версия дистрибутива ОС имеет необходимый пакет - linux-headers. Как пример, на Ubuntu/Debian, вы можете проверить это с помощью команды: -
    - -```bash -apt search linux-headers-$(uname -r) -``` - -В случае, если такой пакет существует вывод будет следующим: - -```bash -Sorting... Done -Full Text Search... Done -linux-headers-5.10.0-26-amd64/oldstable, now 5.10.197-1 amd64 [installed] - Header files for Linux 5.10.0-26-amd64 -``` - -{' '} - -
    - Сообщение `linux-headers-5.10.0-26-amd64/oldstable, now 5.10.197-1 amd64 [installed]` говорит о том, что необходимый - пакет заголовков найден. В противном случае необходимо обновить версию ядра до ближайшей версии имеющей пакет - `linux-headers-$(uname -r)` -
    - -#### Использование - -{' '} - -
    - Перед запуском плейбука убедитесь, что вы добавили необходимые хосты в `env/hosts`. Чтобы выполнить плейбук, - запустите: -
    - -```bash -ansible-playbook main.yaml -``` - -#### Удаление - -
    - Чтобы удалить определенные компоненты hbf-agent, установите переменную `_enabled: false`. - Если вы удаляете сам _hbf-agent_, все правила, созданные им в _nft_, будут автоматически удалены. -
    -
    - -
    - -#### Параметры конфигурационного файла - -
    - Для настройки агентов требуется использовать конфигурационный файл, который содержит поля, позволяющие настраивать - параметры в соответствии с потребностями пользователей. Так же есть алтьтернативный способ - переменные окружения. - Обратите внимание, что переменные окружения являются более приоритетными, чем параметры из файла. Так же часть - параметров можно настроить через файл, а часть через переменные окружения. -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Параметры файла config-agent.yaml
    Параметр / Переменная окруженияОписаниеТипОбязательно
    -

    exit-on-success

    -

    `NFT_EXIT_ON_SUCCESS`

    -
    Завершение процесса, если успешно применилась конфигурация для nft. Значение по умолчанию: `false`.BooleanНет
    -

    continue-on-failure

    -

    `NFT_CONTINUE_ON_FAILURE`

    -
    - В случае ошибки на уровне job, агент не завершает свою работу (идет на цикл перезапуска своих job). Значение - по умолчанию: `true` - BooleanНет
    -

    logger.level

    -

    `NFT_LOGGER_LEVEL`

    -
    Уровень логгирования. Допустимые значения: `TRACE`, `DEBUG`, `INFO`, `WARN`, `ERROR`, `FATAL`, `PANIC`.StringНет
    -

    graceful-shutdown

    -

    `NFT_GRACEFUL_SHUTDOWN`

    -
    - Определяет период времени, в течение которого процесс агента должен корректно завершиться. По истечению - периода, процесс завершиться с кодом 1. Значение по умолчанию: `10s` - StringНет
    -

    netns

    -

    `NFT_NETNS`

    -
    Имя сетевого namespac'a.StringНет
    -

    netlink.watcher.linger

    -

    `NFT_NETLINK_WATCHER_LINGER`

    -
    Время, в течение которого из netlink'а ожидаются события. Минимальное значение: `1s`.String
    -

    base-rules.networks

    -

    `NFT_BASE_RULES_NETWORKS`

    -
    - Список IP адресов, к которым всегда должен egress быть доступ. Не рекомендуется устанавливать в качестве - значения пустой список. - ListДа
    -

    fqdn-rules.strategy

    -

    `NFT_FQDN_RULES_STRATEGY`

    -
    - Способ обработки fqdn-правил. Значение по умолчанию: `dns`. Допустимые значения: `dns`, `ndpi`, `combine`. - StringНет
    -

    dns.nameservers

    -

    `NFT_DNS_NAMESERVERS`

    -
    Список доверенных IP-адресов DNS серверов.ListДа
    -

    dns.proto

    -

    `NFT_DNS_PROTO`

    -
    - Протокол L4, используемый DNS сервером. Значение по умолчанию: `udp`. Допустимые значения: `udp`, `tcp`. - StringДа
    -

    dns.port

    -

    `NFT_DNS_PORT`

    -
    Порт, используемый DNS сервером. Значение по умолчанию: `53`.IntДа
    -

    dns.retries

    -

    `NFT_DNS_RETRIES`

    -
    Количество повторных запросов к DNS серверу при сбое. Значение по умолчанию: `3`.IntНет
    -

    dns.retry-timeout

    -

    `NFT_DNS_RETRY_TIMEOUT`

    -
    Период между повторным запросом DNS сервера при сбое. Значение по умолчанию: `1s`.StringНет
    -

    dns.dial-duration

    -

    `NFT_DNS_DIAL_DURATION`

    -
    Период времени подключения к DNS серверу. Значение по умолчанию: `3s`.StringНет
    -

    dns.write-duration

    -

    `NFT_DNS_WRITE_DURATION`

    -
    - Максимальное временя ожидания ответа от DNS сервера при запросе резолва FQDN. Значение по умолчанию: `5s`. - StringНет
    -

    dns.read-duration

    -

    `NFT_DNS_READ_DURATION`

    -
    Максимальное временя ожидания ответа от DNS сервера. Значение по умолчанию: `5s`.StringНет
    -

    extapi.svc.def-dial-duration

    -

    `NFT_EXTAPI_SVC_DEF_DIAL_DURATION`

    -
    Длительность ожидания подключения к службе.StringНет
    -

    extapi.svc.sgroups.address

    -

    `NFT_EXTAPI_SVC_SGROUPS_ADDRESS`

    -
    IP адрес hbf-сервера.StringДа
    -

    extapi.svc.sgroups.dial-duration

    -

    `NFT_EXTAPI_SVC_SGROUPS_DIAL_DURATION`

    -
    Продолжительность ожидания подключения к hbf-серверу.StringНет
    -

    extapi.svc.sgroups.sync-status.interval

    -

    `NFT_EXTAPI_SVC_SGROUPS_SYNC_STATUS_INTERVAL`

    -
    Период синхронизации с hbf-сервером. Значение по умолчанию: `10s`.StringДа
    -

    extapi.svc.sgroups.sync-status.push

    -

    `NFT_EXTAPI_SVC_SGROUPS_SYNC_STATUS_PUSH`

    -
    Использовать push модель для синхронизации с hbf-сервером. Значение по умолчанию: `false`.BooleanНет
    -

    telemetry.endpoint

    -

    `NFT_TELEMETRY_ENDPOINT`

    -
    IP адрес и порт, для доступа к метрикам. Рекомендуемое значение: `0.0.0.0:9660`.StringНет
    -

    telemetry.metrics.enable

    -

    `NFT_TELEMETRY_METRICS_ENABLE`

    -
    - Включить/Отключить возможность получения метрик. Значение по умолчанию: `true`. Пример получения метрик: `curl - 0.0.0.0:9660/metrics`. - BooleanНет
    -

    telemetry.healthcheck.enable

    -

    `NFT_TELEMETRY_HEALTHCHECK_ENABLE`

    -
    - Включить/Отключить возможность получения информации о статусе hbf-агента. Значение по умолчанию: `true`. - Пример получения статуса: `curl 0.0.0.0:9660/healthcheck`. - BooleanНет
    -

    telemetry.useragent

    -

    `NFT_TELEMETRY_USERAGENT`

    -
    Позволяет устанавливать метку в параметры метрикStringНет
    -

    telemetry.profile.enable

    -

    `NFT_TELEMETRY_PROFILE_ENABLE`

    -
    - Включить/Отключить возможность получения профиля hbf-агента. Значение по умолчанию: `true`. Пример получения - профиля: `curl 0.0.0.0:9660/debug/pprof/goroutine?debug=2`. - BooleanНет
    -
    diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/to-nft/monitoring.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/to-nft/monitoring.mdx deleted file mode 100644 index 59da4964..00000000 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/to-nft/monitoring.mdx +++ /dev/null @@ -1,235 +0,0 @@ ---- -id: monitoring ---- - -# Мониторинг - -
    - Информация о состоянии агента на различных узлах основывается на метриках. В таблице ниже предоставлены доступные - метрики и их описания.{' '} - - Зеленым - - цветом выделены ключевые метрики. -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Название метрикиТип метрикиОписание
    - agent_applied_configs - counterКоличество успешно примененных конфигураций
    go_gc_duration_secondssummaryСводка длительности паузы циклов сборки мусора
    go_gc_duration_seconds_sumcounterСумма длительности паузы циклов сборки мусора
    go_gc_duration_seconds_countcounterКоличество циклов сборки мусора
    go_goroutinesgaugeКоличество горутин, существующих в данный момент
    - go_info - gaugeИнформация о среде выполнения Go
    go_memstats_alloc_bytesgaugeКоличество выделенных и еще используемых байтов
    go_memstats_alloc_bytes_totalcounterОбщее количество выделенных байтов, даже если они освобождены
    go_memstats_buck_hash_sys_bytesgaugeКоличество байтов, используемых хэш-таблицей профилирования
    go_memstats_frees_totalcounterОбщее количество освобождений
    go_memstats_gc_sys_bytesgaugeКоличество байтов, используемых для метаданных системы сборки мусора
    go_memstats_heap_alloc_bytesgaugeКоличество выделенных байтов кучи и еще используемых
    go_memstats_heap_idle_bytesgaugeКоличество байтов кучи в ожидании использования
    go_memstats_heap_inuse_bytesgaugeКоличество используемых байтов кучи
    go_memstats_heap_objectsgaugeКоличество выделенных объектов
    go_memstats_heap_released_bytesgaugeКоличество байтов кучи, освобожденных в ОС
    go_memstats_heap_sys_bytesgaugeКоличество байтов кучи, полученных от системы
    go_memstats_last_gc_time_secondsgaugeКоличество секунд с 1970 года последней сборки мусора
    go_memstats_lookups_totalcounterОбщее количество запросов указателей
    go_memstats_mallocs_totalcounterОбщее количество выделений памяти
    go_memstats_mcache_inuse_bytesgaugeКоличество байтов, используемых структурами mcache
    go_memstats_mcache_sys_bytesgaugeКоличество байтов, используемых структурами mcache, полученных от системы
    go_memstats_mspan_inuse_bytesgaugeКоличество байтов, используемых структурами mspan
    go_memstats_mspan_sys_bytesgaugeКоличество байтов, используемых структурами mspan, полученных от системы
    go_memstats_next_gc_bytesgaugeКоличество байтов кучи, когда произойдет следующая сборка мусора
    go_memstats_other_sys_bytesgaugeКоличество байтов, используемых для других системных выделений
    go_memstats_stack_inuse_bytesgaugeКоличество байтов, используемых аллокатором стека
    go_memstats_stack_sys_bytesgaugeКоличество байтов, полученных от системы для аллокатора стека
    go_memstats_sys_bytesgaugeКоличество байтов, полученных от системы
    go_threadsgaugeКоличество созданных потоков ОС
    - healthcheck - gaugeИндикатор проверки состояния процесса (0 или 1)
    - process_cpu_seconds_total - counterОбщее количество времени процессора, затраченного в секундах
    process_max_fdsgaugeМаксимальное количество открытых файловых дескрипторов
    process_open_fdsgaugeКоличество открытых файловых дескрипторов
    - process_resident_memory_bytes - gaugeРазмер резидентной памяти в байтах
    process_start_time_secondsgaugeВремя запуска процесса с начала эпохи Unix в секундах
    process_virtual_memory_bytesgaugeРазмер виртуальной памяти в байтах
    process_virtual_memory_max_bytesgaugeМаксимальное количество виртуальной памяти в байтах
    - promhttp_metric_handler_errors_total - counterОбщее количество http ошибок, выявленных обработчиком
    -
    diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/to-nft/nftables/chains.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/to-nft/nftables/chains.mdx deleted file mode 100644 index 2b62b3ad..00000000 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/to-nft/nftables/chains.mdx +++ /dev/null @@ -1,498 +0,0 @@ ---- -id: chains ---- - -import Tabs from '@theme/Tabs' -import TabItem from '@theme/TabItem' - -# Chains - -
    - В нашей реализации структуры мы вводим для INPUT и OUTPUT понятие 2-х цепочек. *Первая* цепочка является точкой входа - для пакетов из сетевого стека, в ней указывается хук (input, prerouting, postrouting) и приоритет выполнения, так же - эта цепочка используется для маршрутизации в последующие цепочки по принадлежности к той или иной Security Group. - *Вторая* цепочка содержит наборы правил, относящиеся только к конкретной Security Group. -
    - - - - - - - - - - - - - - - - - - - - - - - - - - {/* - - - - */} - - - - - - -
    Наименование цепочкиТипОписание
    INGRESS-INPUTIngress - Первая цепочка является точкой входа для пакетов из сетевого стека, в ней указывается хук (input) и - приоритет выполнения 0 (filter). Так же используется для маршрутизации в последующие цепочки по принадлежности к - той или иной Security Group. -
    INGRESS-INPUT-$sgNameIngress - Вторая цепочка содержит наборы правил, относящиеся только к конкретной Security Group. -
    EGRESS-POSTROUTINGEgress - Первая цепочка является точкой входа для пакетов из сетевого стека, в ней указывается хук (postrouting) и - приоритет выполнения 300. Так же используется для маршрутизации в последующие цепочки по принадлежности к той - или иной Security Group. -
    - FW-OUT-POSTROUTING-DPI-$sgName - Egress - Вторая цепочка содержит набор s2f правил при включённом режиме "DPI" и данные правила относятся только к - конкретной Security Group -
    - EGRESS-POSTROUTING-$sgName - Egress - Вторая цепочка содержит наборы правил, относящиеся только к конкретной Security Group. -
    - - - - - #### Описание -
    - Правило перехода в цепочку `INGRESS-INPUT-sgName` с проверкой что трафик является входящим и предназначен для указанной Security Group. -
    - - #### Параметры - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Шаблон параметраСтруктура параметраЗначениеОписание
    $BaseRules -
    - Base Rules - набор правил, которые прописываются статично из конфиграционнного файла агента для того что бы всегда был доступ до высококритичных сервисов таких как HBF и DNS. -
    - Подробнее: [Config Base Rules](./config-base-rules.mdx) -
    $RuleType`ip`Указатель на трафик типа IP
    $DstSgroup`daddr``@${IPSet({sgName})}`Значение типа string, не должно содержать в себе пробелов
    $sgNameНазвание Security Group
    $Counter`counter`` packets 0 bytes 0`Счетчик, учитывает количество пройденных пакетов с количеством байтов переданной информации в рамках указанной цепочки правил
    $PolicyVerdict`policy``drop` -
    - Policy $Verdict устанавливается для цепочек с целью установки базового правила, которое будет применено к пакету если установленное правило не удовлетворили условия. По умолчанию drop. -
    - Подробнее: [Verdict statement](./verdict-statement.mdx) -
    $Verdict`goto` -
    - Так как данное правило используется для проверки типа трафика то переход на другую цепочку правил происходит только с помощью goto. -
    - Подробнее: [Verdict statement](./verdict-statement.mdx) -
    $Hook`hook`inputПриоритет выполнения цепочки характеризующий стадию прохождения трафика
    $HookPriority`priority`0Приоритет выполнения цепочки одного типа
    -
    - - #### Шаблон - - ```hcl - chain INGRESS-INPUT { - type filter $Hook $HookPriority; $PolicyVerdict; - $BaseRules - # ********** - $RuleType $DstSgroup $Counter $Verdict INGRESS-INPUT-$sgName - # ********** - $Counter - } - ``` - - #### Пример использования - - ```hcl - chain INGRESS-INPUT { - type filter hook input priority 0; policy drop; - ip saddr { 1.1.1.1, 2.2.2.2} accept - # ********** - ip daddr @NetIPv4-exampleSG counter packets 0 bytes 0 goto INGRESS-INPUT-exampleSG - # ********** - counter packets 0 bytes 0 - } - ``` - - ```hcl - table inet main-1705582480 { - - chain INGRESS-INPUT { - type filter hook input priority filter; policy drop; - ip saddr { 1.1.1.1, 2.2.2.2} accept - # ****** - ip daddr @NetIPv4-no-routed counter packets 0 bytes 0 goto INGRESS-INPUT-no-routed - ip daddr @NetIPv4-exampleSG counter packets 0 bytes 0 goto INGRESS-INPUT-exampleSG - counter packets 0 bytes 0 - } - - chain INGRESS-INPUT-no-routed { - ct state established,related counter packets 0 bytes 0 accept - # ****** - counter packets 0 bytes 0 accept - } - - chain INGRESS-INPUT-exampleSG { - ct state established,related counter packets 0 bytes 0 accept - # ****** - counter packets 0 bytes 0 accept - } - - } - ``` -
    - - #### Описание - -
    - Правило перехода в цепочку `EGRESS-POSTROUTING-$sgName` с проверкой что трафик является исходящим и предназначен для - указанной Security Group. -
    - - #### Параметры - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Шаблон параметраСтруктура параметраЗначениеОписание
    $BaseRules -
    - Base Rules - набор правил, которые прописываются статично из конфиграционнного файла агента для того что бы всегда был доступ до высококритичных сервисов таких как HBF и DNS. -
    - Подробнее: [Config Base Rules](./config-base-rules.mdx) -
    $RuleType`ip`Указатель на трафик типа IP
    $SrcSgroup`saddr``@${IPSet({sgName})}`Значение типа string, не должно содержать в себе пробелов
    $sgNameНазвание Security Group
    $Counter`counter``packets 0 bytes 0`Счетчик, учитывает количество пройденных пакетов с количеством байтов переданной информации в рамках указанной цепочки правил
    $PolicyVerdict`policy``drop` -
    - Policy $Verdict устанавливается для цепочек с целью установки базового правила, которое будет применено к пакету если установленное правило не удовлетворили условия. По умолчанию drop. -
    - Подробнее: [Verdict statement](./verdict-statement.mdx) -
    $Verdict`goto` -
    - Так как данное правило используется для проверки типа трафика то переход на другую цепочку правил происходит только с помощью goto. -
    - Подробнее: [Verdict statement](./verdict-statement.mdx) -
    $Hook`hook`inputПриоритет выполнения цепочки характерезующий стадию прохождения трафика
    $HookPriority`priority`0Приоритет выполнения цепочки одного типа
    -
    - - #### Шаблон - - ```hcl - chain EGRESS-POSTROUTING { - type filter $Hook $HookPriority; $PolicyVerdict; - $BaseRules - # ********** - $RuleType $SrcSgroup $Counter $Verdict EGRESS-POSTROUTING-$sgName - # ********** - $Counter - } - ``` - - #### Пример использования - - ```hcl - chain EGRESS-POSTROUTING { - type filter hook postrouting priority 300; policy drop; - ip daddr { 1.1.1.1, 2.2.2.2} accept - # ********** - ip saddr @NetIPv4-exampleSG counter packets 0 bytes 0 goto EGRESS-POSTROUTING-exampleSG - # ********** - counter packets 0 bytes 0 - } - ``` - - ```hcl - table inet main-1705582480 { - - chain EGRESS-POSTROUTING { - type filter hook postrouting priority 300; policy drop; - ip daddr { 1.1.1.1, 2.2.2.2} accept - # ********** - ip saddr @NetIPv4-exampleSG counter packets 0 bytes 0 goto EGRESS-POSTROUTING-exampleSG - ip saddr @NetIPv4-no-routed counter packets 0 bytes 0 goto EGRESS-POSTROUTING-no-routed - counter packets 0 bytes 0 - } - - chain EGRESS-POSTROUTING-no-routed { - ct state established,related counter packets 0 bytes 0 accept - # ****** - counter packets 0 bytes 0 accept - } - - chain EGRESS-POSTROUTING-exampleSG { - ct state established,related counter packets 0 bytes 0 accept - # ****** - counter packets 0 bytes 0 accept - } - ``` -
    - {/* - #### Описание - -
    - Правило перехода в цепочку FW-OUT-POSTROUTING-DPI-$sgName при включённом режиме "DPI" для Egress - Security Group to FQDN правила и в цепочку FW-OUT-POSTROUTING-$sgName для всех остальных правил с - проверкой что трафик является исходящим и предназначен для указанной Security Group. -
    - - #### Параметры - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Шаблон параметраСтруктура параметраЗначениеОписание
    $\{RuleType\}`ip`Описывает, что принимает трафик типа ip
    $\{SrcSgroup\} - `saddr @${IPSet({sgName})}` - Наименование IPSet в котором описаны сети от Security GroupЗначение типа string, не должно содержать в себе пробелов
    $\{sgName\}Название Security Group
    $\{Counter\} - `counter packets 0 bytes 0` - Не параметризированныйСчетчик, учитывает количество пройденных пакетов с количеством байтов переданной информации в рамках указанной цепочки правил
    $\{Verdict\} - `goto {chainName} | jump {chainName}` - -
    Не параметризированный
    -
    -
    - * При включённом режиме "DPI" для Egress Security Group to FQDN переход происходит с помощью jump. Для всех остальных правил переход на другую цепочку правил происходит с помощью goto. -
    - Подробнее: [Verdict statement](./verdict-statement.mdx) -
    Вердикт политики по пакетам данных
    $\{HookPriority\} - `priority {IntValue}` - 0Приоритет выполнения цепочки одного типа
    -
    - - #### Шаблон - - ```hcl - chain FW-OUT-POSTROUTING { - type filter ${Hook} ${HookPriority}; policy accept; - # ********** - ${RuleType} ${SrcSgroup} ${Counter} ${Verdict} FW-OUT-POSTROUTING-DPI-${sgName} - ${RuleType} ${SrcSgroup} ${Counter} ${Verdict} FW-OUT-POSTROUTING-${sgName} - # ********** - ${Counter} - } - ``` - - #### Пример использования - - ```hcl - chain FW-OUT-POSTROUTING { - type filter hook postrouting priority 300; policy accept; - # ********** - ip saddr @NetIPv4-exampleSG counter packets 0 bytes 0 jump FW-OUT-POSTROUTING-DPI-exampleSG - ip saddr @NetIPv4-exampleSG counter packets 0 bytes 0 goto FW-OUT-POSTROUTING-exampleSG - # ********** - counter packets 0 bytes 0 drop - } - ``` - --- - - ```hcl - table inet main-1705582480 { - - chain FW-OUT-POSTROUTING { - type filter hook postrouting priority 300; policy accept; - # ********** - ip saddr @NetIPv4-exampleSG counter packets 0 bytes 0 goto FW-OUT-POSTROUTING-exampleSG - drop - } - - chain FW-OUT-POSTROUTING-DPI-exampleSG { - # ********** - } - - chain FW-OUT-POSTROUTING-exampleSG { - ct state established,related counter packets 0 bytes 0 accept - # ****** - counter packets 0 bytes 0 accept - } - ``` -
    */} - -
    diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/to-nft/nftables/config-base-rules.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/to-nft/nftables/config-base-rules.mdx deleted file mode 100644 index c361943a..00000000 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/to-nft/nftables/config-base-rules.mdx +++ /dev/null @@ -1,101 +0,0 @@ ---- -id: config-base-rules ---- - -# Config Base Rules - -## Описание - -
    - Base Rules - набор правил, которые прописываются статично из конфиграционнного файла агента для того что бы всегда был - доступ до высококритичных сервисов таких как HBF и DNS. -
    - -## Параметры - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Шаблон параметраСтруктура параметраЗначениеОписание
    $\{SrcCIDR\} - `saddr {CIDR}` - Массив подсетейСписок сетей в которые разрешаем трафик
    $\{DstCIDR\} - `daddr {CIDR}` - Массив подсетейСписок сетей в которые разрешаем трафик
    $\{RuleType\}`ip`Описывает, что принимает трафик типа ip
    $\{Verdict\}`accept` -
    Не параметризированный
    -
    -
    - * Так как данное правило используется для проверки типа трафика то переход на другую цепочку правил происходит только с помощью goto. -
    - Подробнее: [Verdict statement](./verdict-statement.mdx) -
    Вердикт политики по пакетам данных
    -
    - -## Конфигурационный файл - -```yaml -base-rules: - networks: - - '1.1.1.1' - - '2.2.2.2' -``` - -## Шаблон - -``` -chain EGRESS-POSTROUTING { - ${RuleType} ${DstCIDR} ${Verdict} - # ********** -} - -chain INGRESS-INPUT { - ${RuleType} ${SrcCIDR} ${Verdict} - # ********** -} -``` - -## Пример использования - -``` -chain EGRESS-POSTROUTING { - ip daddr { 1.1.1.1, 2.2.2.2} accept - # ********** -} - -chain INGRESS-INPUT { - ip saddr { 1.1.1.1, 2.2.2.2} accept - # ********** -} -``` diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/to-nft/nftables/icmp-desciptions.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/to-nft/nftables/icmp-desciptions.mdx deleted file mode 100644 index d30e1c58..00000000 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/to-nft/nftables/icmp-desciptions.mdx +++ /dev/null @@ -1,394 +0,0 @@ ---- -id: icmp-desciptions ---- - -# ICMP Дескрипторы - -import Tabs from '@theme/Tabs' -import TabItem from '@theme/TabItem' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ЗначениеДескриптор
    0Echo Reply
    1Unassigned
    2Unassigned
    3Destination Unreachable
    4Source Quench (Deprecated)
    5Redirect
    6Alternate Host Address (Deprecated)
    7Unassigned
    8Echo
    9Router Advertisement
    10Router Solicitation
    11Time Exceeded
    12Parameter Problem
    13Timestamp
    14Timestamp Reply
    15Information Request (Deprecated)
    16Information Reply (Deprecated)
    17Address Mask Request (Deprecated)
    18Address Mask Reply (Deprecated)
    19Reserved (for Security)
    20-29Reserved (for Robustness Experiment)
    30Traceroute (Deprecated)
    31Datagram Conversion Error (Deprecated)
    32Mobile Host Redirect (Deprecated)
    33IPv6 Where-Are-You (Deprecated)
    34IPv6 I-Am-Here (Deprecated)
    35Mobile Registration Request (Deprecated)
    36Mobile Registration Reply (Deprecated)
    37Domain Name Request (Deprecated)
    38Domain Name Reply (Deprecated)
    39SKIP (Deprecated)
    40Photuris
    41ICMP messages utilized by experimental mobility protocols such as Seamoby
    42Extended Echo Request
    43Extended Echo Reply
    44-252Unassigned
    253RFC3692-style Experiment 1
    254RFC3692-style Experiment 2
    255Reserved
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ЗначениеДескриптор
    0Reserved
    1Destination Unreachable
    2Packet Too Big
    3Time Exceeded
    4Parameter Problem
    5-99Unassigned
    100Private experimentation
    101Private experimentation
    102-126Unassigned
    127Reserved for expansion of ICMPv6 error messages
    128Echo Request
    129Echo Reply
    130Multicast Listener Query
    131Multicast Listener Report
    132Multicast Listener Done
    133Router Solicitation
    134Router Advertisement
    135Neighbor Solicitation
    136Neighbor Advertisement
    137Redirect Message
    138Router Renumbering
    139ICMP Node Information Query
    140ICMP Node Information Response
    141Inverse Neighbor Discovery Solicitation Message
    142Inverse Neighbor Discovery Advertisement Message
    143Version 2 Multicast Listener Report
    144Home Agent Address Discovery Request Message
    145Home Agent Address Discovery Reply Message
    146Mobile Prefix Solicitation
    147Mobile Prefix Advertisement
    148Certification Path Solicitation Message
    149Certification Path Advertisement Message
    150ICMP messages utilized by experimental mobility protocols such as Seamoby
    151Multicast Router Advertisement
    152Multicast Router Solicitation
    153Multicast Router Termination
    154FMIPv6 Messages
    155RPL Control Message
    156ILNPv6 Locator Update Message
    157Duplicate Address Request
    158Duplicate Address Confirmation
    159MPL Control Message
    160Extended Echo Request
    161Extended Echo Reply
    162-199Unassigned
    200Private experimentation
    201Private experimentation
    202-254Unassigned
    255Reserved for expansion of ICMPv6 informational messages
    -
    - -
    diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/to-nft/nftables/ip-set.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/to-nft/nftables/ip-set.mdx deleted file mode 100644 index 6feb87b8..00000000 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/to-nft/nftables/ip-set.mdx +++ /dev/null @@ -1,110 +0,0 @@ ---- -id: ipset ---- - -import Tabs from '@theme/Tabs' -import TabItem from '@theme/TabItem' - -# IPSet - -## Описание - -
    - IPSet представляет собой структуру данных, позволяющую хранить и организовывать множество элементов для использования - в правилах nftables. Он используется для обработки больших списков элементов с минимальными затратами на ресурсы. В - нашем случае IPSet формируется для описания массива IP-адресов, относящихся к FQDN или Security Groups, для - дальнейшего использования в описаниях правил. -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Наименование параметраОписаниеЗначения
    IPSet_NameНаименование IPSet - Должно соответствовать одному из шаблонов: -
      -
    • NetIPv4-$\{NAME\} - для описания массивов IP адресов типа v4
    • -
    • NetIPv6-$\{NAME\} - для описания массивов IP адресов типа v6
    • -
    -
    typeОписывает тип данных - Могут быть установлены следующие значения: -
      -
    • ipv4_addr - для описания массивов IP адресов типа v4
    • -
    • ipv6_addr - для описания массивов IP адресов типа v6
    • -
    -
    flagsОписывает свойства IPSet - Установлены следующие значения: -
      -
    • constant - флаг используется если значение элементов в множестве являются постоянными и не могут быть изменены
    • -
    • interval - флаг используется для создания диапазона элементов множества
    • -
    -
    elementsУказывает массив содержащихся в IPSet элементов подсетей (CIDR)Значения CIDR, в случае нескольких значений перечисляются через запятую
    -
    - -## Шаблон - -```hcl -set ${IPSet_Name} { - type ${type} - flags ${flags} - elements ${elements} -} -``` - -## Пример использования - - - - ```hcl - set NetIPv4-sg-local-example { - type ipv4_addr - flags constant,interval - elements = { 10.168.24.0/23 } - } - ``` - - - - ```hcl - set NetIPv4-fqdn-example.com { - type ipv4_addr - flags interval - elements = { 10.10.24.0 } - } - ``` - - - diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/to-nft/nftables/rules-priority.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/to-nft/nftables/rules-priority.mdx deleted file mode 100644 index fcaaf972..00000000 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/to-nft/nftables/rules-priority.mdx +++ /dev/null @@ -1,47 +0,0 @@ ---- -id: rules-priority ---- - -# Приоритет правил - -
    - Приоритет правил в nftables определяет порядок в котором правила применяются к пакетам или сетевым потокам. Чем ниже - значение преоритета, тем выше преоритет имеет правило. Значение приоритета могут варьироваться от -32768 до 32767, - однако обычно они ограничиваются диапазоном от -300 до 300 для удобства управления и понимания.
    - Ниже представлена птаблица преодитета правил в nftables: -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ПравилоЗначение приоритета
    Sgroup to Sgroup (icmp) (legacy)-300
    Sgroup to Sgroup (tcp\|udp) (legacy)-200
    Sgroup to Sgroup (icmp) (ingress/egress)-100
    Sgroup to Sgroup (tcp\|udp) (ingress/egress)0
    Sgroup to FQDN (tcp\|udp)100
    Sgroup to CIDR (icmp) (ingress/egress)200
    Sgroup to CIDR (tcp\|udp) (ingress/egress)300
    diff --git a/documentation/versioned_docs/version-v1.13.0/tech-docs/to-nft/nftables/verdict-statement.mdx b/documentation/versioned_docs/version-v1.13.0/tech-docs/to-nft/nftables/verdict-statement.mdx deleted file mode 100644 index c7dafe32..00000000 --- a/documentation/versioned_docs/version-v1.13.0/tech-docs/to-nft/nftables/verdict-statement.mdx +++ /dev/null @@ -1,50 +0,0 @@ ---- -id: verdict-statement ---- - -# Verdict Statment - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ЗначениеОписание
    accept - Терминирующие правило которое разрещает трафик, попавший под это условие, и завершает обработку пакета в текущей - таблице. -
    drop - Терминирующие правило которое запрещает трафик, попавший под это условие, и завершает обработку пакета в текущей - таблице. -
    - goto chain - - Переход на другую цепочку в рамках указанного правила. После завершения правил в этой цепочке обратно в ту же - цепочку трафик попасть не сможет. -
    - - jump chain - - - Переход на другую цепочку в рамках указанного правила. После завершения правил в этой цепочке трафик вернется в - исходную цепочку. -
    diff --git a/documentation/versioned_sidebars/version-v1.13.0-sidebars.json b/documentation/versioned_sidebars/version-v1.13.0-sidebars.json deleted file mode 100644 index 15a60901..00000000 --- a/documentation/versioned_sidebars/version-v1.13.0-sidebars.json +++ /dev/null @@ -1,241 +0,0 @@ -{ - "informationSidebar": [ - { - "type": "doc", - "label": "Введение", - "id": "info/introduction" - }, - { - "type": "doc", - "label": "Выбор инструмента", - "id": "info/toolset" - }, - { - "type": "doc", - "label": "Терминология", - "id": "info/terminology" - } - ], - "techDocs": [ - { - "type": "doc", - "label": "Компоненты", - "id": "tech-docs/components" - }, - { - "type": "doc", - "label": "Требования", - "id": "tech-docs/installation-system-requirements" - }, - { - "type": "category", - "label": "HBF-агент", - "collapsed": false, - "items": [ - { - "type": "doc", - "label": "Установка", - "id": "tech-docs/to-nft/installation-agent" - }, - { - "type": "doc", - "label": "Мониторинг", - "id": "tech-docs/to-nft/monitoring" - }, - { - "type": "category", - "label": "Nftables", - "items": [ - { - "type": "doc", - "label": "IPSet", - "id": "tech-docs/to-nft/nftables/ipset" - }, - { - "type": "doc", - "label": "Chains", - "id": "tech-docs/to-nft/nftables/chains" - }, - { - "type": "doc", - "label": "Verdict statement", - "id": "tech-docs/to-nft/nftables/verdict-statement" - }, - { - "type": "doc", - "label": "Icmp-дескрипторы", - "id": "tech-docs/to-nft/nftables/icmp-desciptions" - }, - { - "type": "doc", - "label": "Config Base Rules", - "id": "tech-docs/to-nft/nftables/config-base-rules" - }, - { - "type": "doc", - "label": "Приоритет правил", - "id": "tech-docs/to-nft/nftables/rules-priority" - } - ] - } - ] - }, - { - "type": "category", - "label": "HBF-сервер", - "collapsed": false, - "items": [ - { - "type": "doc", - "label": "Установка", - "id": "tech-docs/sgroups/installation-server" - }, - { - "type": "doc", - "label": "Миграция", - "id": "tech-docs/sgroups/goose" - }, - { - "type": "doc", - "label": "Мониторинг", - "id": "tech-docs/sgroups/monitoring" - }, - { - "type": "doc", - "label": "Описание базы данных", - "id": "tech-docs/sgroups/database" - }, - { - "type": "category", - "label": "API", - "items": [ - { - "type": "doc", - "label": "POST /v1/sync", - "id": "tech-docs/sgroups/api/v1/sync" - }, - { - "type": "doc", - "label": "POST /v1/list/security-groups", - "id": "tech-docs/sgroups/api/v1/security-groups" - }, - { - "type": "doc", - "label": "GET /v1/{address}/sg", - "id": "tech-docs/sgroups/api/v1/address-sg" - }, - { - "type": "doc", - "label": "POST /v1/list/networks", - "id": "tech-docs/sgroups/api/v1/networks" - }, - { - "type": "doc", - "label": "GET /v1/sg/{sgName}/subnets", - "id": "tech-docs/sgroups/api/v1/subnets" - }, - { - "type": "doc", - "label": "POST /v1/sg-sg-icmp/rules", - "id": "tech-docs/sgroups/api/v1/sg-sg-icmp-rules" - }, - { - "type": "doc", - "label": "POST /v1/sg-icmp/rules", - "id": "tech-docs/sgroups/api/v1/sg-icmp-rules" - }, - { - "type": "doc", - "label": "POST /v1/rules", - "id": "tech-docs/sgroups/api/v1/rules" - }, - { - "type": "doc", - "label": "POST /v1/fqdn/rules", - "id": "tech-docs/sgroups/api/v1/fqdn-rules" - }, - { - "type": "doc", - "label": "POST /v1/cidr-sg/rules", - "id": "tech-docs/sgroups/api/v1/cidr-sg-rules" - }, - { - "type": "doc", - "label": "POST /v1/cidr-sg-icmp/rules", - "id": "tech-docs/sgroups/api/v1/cidr-sg-icmp-rules" - }, - { - "type": "doc", - "label": "POST v1/ie-sg-sg/rules", - "id": "tech-docs/sgroups/api/v1/ie-sg-sg-rules" - }, - { - "type": "doc", - "label": "POST v1/ie-sg-sg-icmp/rules", - "id": "tech-docs/sgroups/api/v1/ie-sg-sg-icmp-rules" - }, - { - "type": "doc", - "label": "GET /v1/sync/status", - "id": "tech-docs/sgroups/api/v1/status" - } - ] - } - ] - }, - { - "type": "category", - "label": "Terraform", - "collapsed": false, - "items": [ - { - "type": "doc", - "label": "Установка провайдера", - "id": "tech-docs/terraform/provider-terraform" - }, - { - "type": "doc", - "label": "Запуск", - "id": "tech-docs/terraform/spec-terraform" - } - ] - }, - { - "type": "category", - "label": "Конфигурация ресурсов", - "collapsed": false, - "items": [ - { - "type": "doc", - "label": "Networks", - "id": "tech-docs/rule-configuration/networks" - }, - { - "type": "doc", - "label": "Security Groups", - "id": "tech-docs/rule-configuration/security-groups" - }, - { - "type": "doc", - "label": "Sgroup to Sgroup", - "id": "tech-docs/rule-configuration/s2s" - }, - { - "type": "doc", - "label": "Sgroup to Sgroup (I/E)", - "id": "tech-docs/rule-configuration/s2s-ie" - }, - { - "type": "doc", - "label": "Sgroup to CIDR (I/E)", - "id": "tech-docs/rule-configuration/s2c-ie" - }, - { - "type": "doc", - "label": "Sgroup to FQDN (E)", - "id": "tech-docs/rule-configuration/s2f-e" - } - ] - } - ] -} diff --git a/documentation/versions.json b/documentation/versions.json index 83c77032..554aefed 100644 --- a/documentation/versions.json +++ b/documentation/versions.json @@ -1,4 +1 @@ -[ - "v1.14.0", - "v1.13.0" -] +["v1.14.0"]