Commit Graph

79 Commits (master)

Author SHA1 Message Date
aarifullin 1f6f4163d4 [#71] docs: Introduce APE overview
Signed-off-by: Airat Arifullin <aarifullin@yadro.com>
2024-05-13 16:37:44 +00:00
Airat Arifullin 84c4872b20 [#75] chain: Refactor `ObjectType` type
DCO action / DCO (pull_request) Successful in 1m11s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 1m22s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 1m29s Details
Tests and linters / Tests with -race (pull_request) Successful in 1m39s Details
Tests and linters / Staticcheck (pull_request) Successful in 1m40s Details
Tests and linters / Lint (pull_request) Successful in 2m29s Details
* Rename `ObjectType` to `Kind`;
* Rename `Object` field in `Condition` to `ConditionKind`;
* Regenerate easy-json marshalers/unmarshalers;
* Fix unit-tests

Signed-off-by: Airat Arifullin <aarifullin@yadro.com>
2024-05-13 17:36:17 +03:00
Airat Arifullin e75200bb8e [#75] chain: Remove `ContaierResource`, `ContainerRequest` constants
Signed-off-by: Airat Arifullin <aarifullin@yadro.com>
2024-05-13 13:50:17 +03:00
Denis Kirillov 2e7518c453 [#74] docs: Describe converters
Tests and linters / Tests (1.20) (pull_request) Successful in 55s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 1m5s Details
DCO action / DCO (pull_request) Successful in 58s Details
Tests and linters / Staticcheck (pull_request) Successful in 1m14s Details
Tests and linters / Tests with -race (pull_request) Successful in 1m31s Details
Tests and linters / Lint (pull_request) Successful in 2m16s Details
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-05-07 13:10:02 +03:00
Evgenii Stratonikov 2fa27b6557 [#72] chain/test: Refactor fuzz tests
Make it possible to execute fuzz tests with different backend, such as
go-fuzz which supports coverage collection.

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-05-03 10:16:35 +00:00
Evgenii Stratonikov 38f947ac0a [#73] pre-commit: Use cached tests in hook
DCO action / DCO (pull_request) Successful in 1m41s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 1m45s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 2m22s Details
Tests and linters / Staticcheck (pull_request) Successful in 2m35s Details
Tests and linters / Tests with -race (pull_request) Successful in 2m46s Details
Tests and linters / Lint (pull_request) Successful in 3m20s Details
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-05-02 18:15:53 +03:00
Evgenii Stratonikov 34c1eafa56 [#73] Makefile: Allow to override test flags
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-05-02 18:15:53 +03:00
Evgenii Stratonikov 84c15a559c [#73] pre-commit: Remove gitlint hook
It is annoying during local development and is unused on CI.

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-05-02 18:15:53 +03:00
aarifullin c539728641 [#62] morph: List morph rules chains by traversing iterator
* Make `ListMorphRuleChains` methods use `commonclient.ReadIteratorItems`.
* Introduce `ContractStorageActor` interface.
* Iterators are used because listing by `ListChainsByPrefix` may cause
  stack overflow from neo-go side (len(items) > 1024).

Signed-off-by: Airat Arifullin <aarifullin@yadro.com>
2024-04-26 06:20:43 +00:00
Marina Biryukova 04a79f57ef [#70] iam: Support aws:MultiFactorAuthPresent key
Tests and linters / Tests (1.20) (pull_request) Successful in 1m35s Details
DCO action / DCO (pull_request) Successful in 1m16s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 1m32s Details
Tests and linters / Tests with -race (pull_request) Successful in 1m39s Details
Tests and linters / Staticcheck (pull_request) Successful in 1m51s Details
Tests and linters / Lint (pull_request) Successful in 2m32s Details
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2024-04-16 10:17:28 +03:00
Denis Kirillov ff5d05ac92 [#67] chain: Support IPAddress conditions
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-04-15 12:52:41 +00:00
Evgenii Stratonikov 0e69e48511 [#64] engine: Add user and group targets
DCO action / DCO (pull_request) Successful in 1m6s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 1m19s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 1m25s Details
Tests and linters / Tests with -race (pull_request) Successful in 1m41s Details
Tests and linters / Staticcheck (pull_request) Successful in 1m42s Details
Tests and linters / Lint (pull_request) Successful in 2m28s Details
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-04-12 16:07:34 +03:00
Denis Kirillov 530248de75 [#69] iam: Extend native actions with tree service methods
DCO action / DCO (pull_request) Successful in 1m19s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 1m47s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 1m54s Details
Tests and linters / Staticcheck (pull_request) Successful in 2m3s Details
Tests and linters / Tests with -race (pull_request) Successful in 2m13s Details
Tests and linters / Lint (pull_request) Successful in 3m24s Details
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-04-12 13:22:12 +03:00
Denis Kirillov b6a6816800 [#68] iam: Allow read object on delete operation
DCO action / DCO (pull_request) Successful in 1m4s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 1m19s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 1m24s Details
Tests and linters / Tests with -race (pull_request) Successful in 1m40s Details
Tests and linters / Staticcheck (pull_request) Successful in 1m39s Details
Tests and linters / Lint (pull_request) Successful in 2m29s Details
We must be able to read s3 multipart object from storage
(to find out the parts it consists of)
to fully delete such multipart object

Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-04-12 09:57:53 +03:00
Denis Kirillov 1f190e1668 [#58] iam: Fix native actions mapping
DCO action / DCO (pull_request) Successful in 44s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 59s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 1m19s Details
Tests and linters / Staticcheck (pull_request) Successful in 1m26s Details
Tests and linters / Tests with -race (pull_request) Successful in 1m36s Details
Tests and linters / Lint (pull_request) Successful in 2m11s Details
We have to add native:PutObject when want to delete object
 because of tombstone must be created (it's a put operation)

Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-04-10 14:48:23 +03:00
Denis Kirillov 67cf09f51d [#63] iam: Add formatters for resource/request tags
Tests and linters / Tests (1.21) (pull_request) Successful in 1m21s Details
DCO action / DCO (pull_request) Successful in 1m13s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 1m34s Details
Tests and linters / Tests with -race (pull_request) Successful in 1m44s Details
Tests and linters / Staticcheck (pull_request) Successful in 1m46s Details
Tests and linters / Lint (pull_request) Successful in 2m34s Details
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-04-10 11:14:57 +03:00
Marina Biryukova 84c6be01de [#60] chain: Support numeric conditions
DCO action / DCO (pull_request) Successful in 1m1s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 1m17s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 1m23s Details
Tests and linters / Tests with -race (pull_request) Successful in 1m42s Details
Tests and linters / Staticcheck (pull_request) Successful in 1m40s Details
Tests and linters / Lint (pull_request) Successful in 2m24s Details
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2024-04-08 14:30:43 +03:00
Denis Kirillov 67e4595a91 [#63] iam: Support tag keys
Tests and linters / Tests (1.20) (pull_request) Successful in 1m20s Details
DCO action / DCO (pull_request) Successful in 1m10s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 1m31s Details
Tests and linters / Tests with -race (pull_request) Successful in 1m52s Details
Tests and linters / Staticcheck (pull_request) Successful in 1m54s Details
Tests and linters / Lint (pull_request) Successful in 2m44s Details
Support:
* aws:PrincipalTag
* aws:ResourceTag
* aws:Request

Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-04-05 09:36:01 +03:00
Denis Kirillov 42497ad242 [#59] router: Inmemory implementation should take empty name for "root"
DCO action / DCO (pull_request) Successful in 1m0s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 1m10s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 1m27s Details
Tests and linters / Staticcheck (pull_request) Successful in 1m25s Details
Tests and linters / Tests with -race (pull_request) Successful in 1m41s Details
Tests and linters / Lint (pull_request) Successful in 2m18s Details
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-04-02 11:09:42 +03:00
Denis Kirillov 1d51f2121d [#58] iam: Support more s3 actions
DCO action / DCO (pull_request) Successful in 2m57s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 2m43s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 2m48s Details
Tests and linters / Staticcheck (pull_request) Successful in 2m58s Details
Tests and linters / Tests with -race (pull_request) Successful in 3m16s Details
Tests and linters / Lint (pull_request) Successful in 4m16s Details
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-04-01 17:18:20 +03:00
Marina Biryukova 9040e48504 [#57] iam: Add policy validation checks
Tests and linters / Tests (1.20) (pull_request) Successful in 2m56s Details
DCO action / DCO (pull_request) Successful in 3m34s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 3m18s Details
Tests and linters / Tests with -race (pull_request) Successful in 3m20s Details
Tests and linters / Staticcheck (pull_request) Successful in 3m21s Details
Tests and linters / Lint (pull_request) Successful in 4m37s Details
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2024-03-11 16:12:47 +03:00
Anton Nikiforov 2ec958cbfd [#56] storage: Allow to remove all chains by target
DCO action / DCO (pull_request) Successful in 1m16s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 1m20s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 1m24s Details
Tests and linters / Tests with -race (pull_request) Successful in 1m36s Details
Tests and linters / Staticcheck (pull_request) Successful in 1m38s Details
Tests and linters / Lint (pull_request) Successful in 2m38s Details
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2024-03-07 18:11:06 +03:00
Anton Nikiforov 8cb2de05ab [#56] Fix pre-commit issue
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2024-03-07 18:01:50 +03:00
aarifullin c13ed8447a [#52] morph: Extend MorphRuleChainStorage interface with ListTargetsIterator
DCO action / DCO (pull_request) Successful in 1m3s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 55s Details
Tests and linters / Tests with -race (pull_request) Successful in 1m25s Details
Tests and linters / Staticcheck (pull_request) Successful in 1m26s Details
Tests and linters / Lint (pull_request) Successful in 2m42s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 1m29s Details
* Update frostfs-contract package version in go.mod.
* Extend MorphRuleChainStorage interface with ListTargetsIterator and
  introduce its implementation.
* Check targets in inmemory implementation unit-tests.

Signed-off-by: Airat Arifullin <aarifullin@yadro.com>
2024-03-05 10:17:28 +03:00
aarifullin 839f22e1a3 [#55] router: Inmemory implementation should take empty name for "root"
DCO action / DCO (pull_request) Successful in 1m6s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 1m29s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 1m33s Details
Tests and linters / Staticcheck (pull_request) Successful in 1m53s Details
Tests and linters / Tests with -race (pull_request) Successful in 2m10s Details
Tests and linters / Lint (pull_request) Successful in 4m31s Details
Signed-off-by: Airat Arifullin <aarifullin@yadro.com>
2024-03-04 18:12:11 +03:00
aarifullin cf1f091e26 [#54] morph: Introduce ContractStorageReader
* Implement MorphRuleChainStorageReader interface to make
  possible to read from Policy contract without wallets.

Signed-off-by: Airat Arifullin <aarifullin@yadro.com>
2024-03-01 08:05:25 +00:00
aarifullin 9e66ce59c6 [#54] morph: Revise MorphRuleChainStorage interface
* Split MorphRuleChainStorage interface by moving read-only
  methods to a separate interface MorphRuleChainStorageReader.

Signed-off-by: Airat Arifullin <aarifullin@yadro.com>
2024-03-01 08:05:25 +00:00
Denis Kirillov c960b1b088 [#53] iam: Extend support s3 to native actions
DCO action / DCO (pull_request) Successful in 49s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 1m18s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 1m13s Details
Tests and linters / Staticcheck (pull_request) Successful in 1m11s Details
Tests and linters / Tests with -race (pull_request) Successful in 1m43s Details
Tests and linters / Lint (pull_request) Successful in 2m4s Details
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-02-26 12:42:15 +03:00
aarifullin 8354a074c4 [#49] engine: Fix target considering order
DCO action / DCO (pull_request) Successful in 1m3s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 1m12s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 1m18s Details
Tests and linters / Staticcheck (pull_request) Successful in 1m23s Details
Tests and linters / Tests with -race (pull_request) Successful in 1m32s Details
Tests and linters / Lint (pull_request) Successful in 2m16s Details
* Namespace target rules should be considered first

Signed-off-by: Airat Arifullin <aarifullin@yadro.com>
2024-02-06 14:12:36 +03:00
Evgenii Stratonikov 4a989d6bb7 [#50] .fordejo: Update DCO action
DCO action / DCO (pull_request) Successful in 1m38s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 1m31s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 1m49s Details
Tests and linters / Tests with -race (pull_request) Successful in 1m59s Details
Tests and linters / Staticcheck (pull_request) Successful in 2m0s Details
Tests and linters / Lint (pull_request) Successful in 3m21s Details
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-02-06 12:58:42 +03:00
Denis Kirillov 0edc002441 [#46] iam: Handle s3 complex actions
DCO action / DCO (pull_request) Successful in 59s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 1m11s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 1m17s Details
Tests and linters / Staticcheck (pull_request) Successful in 1m24s Details
Tests and linters / Tests with -race (pull_request) Successful in 1m33s Details
Tests and linters / Lint (pull_request) Successful in 2m17s Details
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-02-01 17:19:00 +03:00
Denis Kirillov 1cdb3e5a4a [#46] iam: Support more s3 to native actions mapping
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-02-01 17:18:55 +03:00
Denis Kirillov af388779a3 [#46] iam: Shrink rules for wildcard cases
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-01-29 11:50:24 +03:00
Denis Kirillov 8cc5173d73 [#46] iam: Support namespaces when forming native rules
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-01-29 11:50:24 +03:00
Denis Kirillov 2af381ae81 [#46] iam: Error if policy doesn't have actions
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-01-29 11:50:24 +03:00
Anton Nikiforov 8d21ab2d99 [#43] engine: Extend with target listing method
DCO action / DCO (pull_request) Successful in 1m0s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 1m1s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 1m16s Details
Tests and linters / Staticcheck (pull_request) Successful in 1m24s Details
Tests and linters / Tests with -race (pull_request) Successful in 1m33s Details
Tests and linters / Lint (pull_request) Successful in 2m15s Details
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2024-01-29 09:41:40 +03:00
Dmitrii Stepanov 0a28f0a992 [#1] gitattributes: Add easyjson files rules
DCO action / DCO (pull_request) Successful in 1m11s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 1m3s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 1m18s Details
Tests and linters / Tests with -race (pull_request) Successful in 1m35s Details
Tests and linters / Staticcheck (pull_request) Successful in 1m31s Details
Tests and linters / Lint (pull_request) Successful in 2m16s Details
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2024-01-24 11:04:03 +03:00
Dmitrii Stepanov dd0f582fc3 [#1] chain: Fix ID type from string to bytes
ID may be non UTF-8 string, so from developers POV
it is just byte slice.

Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2024-01-24 11:04:03 +03:00
Dmitrii Stepanov 5f13d91c0d [#1] native: Fix typo in owner value
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2024-01-24 11:04:03 +03:00
Dmitrii Stepanov 88c2a476b0 [#1] chain: Add json marshal/unmarshal
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2024-01-24 11:04:03 +03:00
Dmitrii Stepanov 58386edf58 [#1] chain: Add binary marshal/unmarshal
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2024-01-24 11:04:03 +03:00
Anton Nikiforov 06cbfe8691 [#876] policy: Add resource\request for container
Tests and linters / Tests (1.21) (pull_request) Successful in 1m31s Details
DCO action / DCO (pull_request) Successful in 1m16s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 1m41s Details
Tests and linters / Tests with -race (pull_request) Successful in 1m33s Details
Tests and linters / Staticcheck (pull_request) Successful in 1m34s Details
Tests and linters / Lint (pull_request) Successful in 2m17s Details
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2024-01-22 13:47:24 +03:00
Denis Kirillov c80c99b13e [#41] chain: Fix ID serialization
DCO action / DCO (pull_request) Successful in 1m35s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 1m34s Details
Tests and linters / Staticcheck (pull_request) Successful in 1m50s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 2m6s Details
Tests and linters / Tests with -race (pull_request) Successful in 2m2s Details
Tests and linters / Lint (pull_request) Successful in 3m22s Details
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-01-12 10:56:04 +03:00
Dmitrii Stepanov ed93bb5cc5 [#35] local_storage: Make thread safe
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-12-21 12:13:54 +00:00
Denis Kirillov 06e9c91014 [#33] pkg/chain: Support CondSliceContains condition
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-12-21 11:13:52 +00:00
Anton Nikiforov b82544b0fe [#876] policy: Fix `SetAdmin`
DCO action / DCO (pull_request) Successful in 1m5s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 1m14s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 1m32s Details
Tests and linters / Tests with -race (pull_request) Successful in 1m34s Details
Tests and linters / Staticcheck (pull_request) Successful in 1m34s Details
Tests and linters / Lint (pull_request) Successful in 2m23s Details
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2023-12-21 07:54:42 +03:00
Anton Nikiforov 641a1429ef [#876] policy: Add methods `Get/SetAdmin` for wrapper
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2023-12-21 04:51:21 +00:00
Dmitrii Stepanov 02e50307df [#34] native: Add container methods
Tests and linters / Tests (1.21) (pull_request) Successful in 1m28s Details
DCO action / DCO (pull_request) Successful in 1m13s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 1m37s Details
Tests and linters / Tests with -race (pull_request) Successful in 1m34s Details
Tests and linters / Staticcheck (pull_request) Successful in 1m40s Details
Tests and linters / Lint (pull_request) Successful in 2m18s Details
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-12-20 14:22:01 +03:00
Denis Kirillov 3128352693 [#36] iam: Keep s3/iam prefixes in resources
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-12-20 07:08:31 +00:00
Denis Kirillov ec39d8371a [#36] iam: Support iam actions
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-12-20 07:08:31 +00:00