Commit Graph

39 Commits (58386edf58cf93a7c7f958de1ee1c01d9d5a5d75)

Author SHA1 Message Date
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
aarifullin e57d213595 [#26] schema: Add resource name validation method
Close #26

Signed-off-by: Airat Arifullin <aarifullin@yadro.com>
2023-12-19 16:40:59 +00:00
aarifullin 62ea96b82c [#32] morph: Remove name transformer in morph policy client
* It is not required to transform long names because
  container chains will be added by container ID
  but not by a resource name.

Signed-off-by: Airat Arifullin <aarifullin@yadro.com>
2023-12-14 12:22:53 +00:00
Denis Kirillov 1d07331f5d [#28] iam: Fix converters
Handle resource without object as bucket name instead of bucket with any object

Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-12-13 13:20:38 +00:00
Denis Kirillov 3b107e9413 [#28] chain: Add S3 chain name
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-12-13 13:20:38 +00:00
Dmitrii Stepanov 8c673ee4f4 [#21] chain: Allow to return first match result
DCO action / DCO (pull_request) Successful in 1m3s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 1m23s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 1m33s Details
Tests and linters / Tests with -race (pull_request) Successful in 1m31s Details
Tests and linters / Staticcheck (pull_request) Successful in 1m35s Details
Tests and linters / Lint (pull_request) Successful in 2m19s Details
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-12-11 11:03:03 +03:00
Dmitrii Stepanov 1375e8f7fd [#21] router: Make Deny the highest priority
DCO action / DCO (pull_request) Successful in 1m5s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 1m15s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 1m34s Details
Tests and linters / Tests with -race (pull_request) Successful in 1m31s Details
Tests and linters / Staticcheck (pull_request) Successful in 1m32s Details
Tests and linters / Lint (pull_request) Successful in 2m22s Details
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-12-08 12:37:29 +03:00
aarifullin 156018bcba [#3] policy: Introduce policy contract interface wrapper
DCO action / DCO (pull_request) Successful in 46s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 1m16s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 1m17s Details
Tests and linters / Tests with -race (pull_request) Successful in 1m33s Details
Tests and linters / Staticcheck (pull_request) Successful in 1m44s Details
Tests and linters / Lint (pull_request) Successful in 3m14s Details
Signed-off-by: Airat Arifullin <aarifullin@yadro.com>
2023-12-07 14:01:27 +03:00
aarifullin df15b38c63 [#3] engine: Refactor MorphRuleChainStorage
* Make changing state methods like AddMorphRuleChain,
  RemoveMorphRuleChain return transaction hash and VUB.

Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2023-12-06 12:25:55 +03:00
aarifullin 2d4a9fc6dc [#25] engine: Refactor ChainRouter interface
* Pass RequestTarget instead only namespace
* Refactor unit-tests and dependencies

Signed-off-by: Airat Arifullin <aarifullin@yadro.com>
2023-12-05 09:20:54 +00:00
aarifullin 4d8242584a [#25] engine: Refactor LocalOverrideStorage
* Make LocalOverrideStorage methods to receive Target type
  instead resource
* Refactor unit-tests and dependencies
* Make default chain router check local overrides not
  only for container but also for namespaces

Signed-off-by: Airat Arifullin <aarifullin@yadro.com>
2023-12-05 09:20:54 +00:00
Denis Kirillov a0a35bf4bf [#22] iam: Fix converters
DCO action / DCO (pull_request) Successful in 1m9s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 1m8s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 1m25s Details
Tests and linters / Tests with -race (pull_request) Successful in 1m21s Details
Tests and linters / Staticcheck (pull_request) Successful in 1m22s Details
Tests and linters / Lint (pull_request) Successful in 2m18s Details
Validate that actions and resources contain wildcard only at the end

Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-11-28 17:56:36 +03:00
Denis Kirillov 5fa9d91903 [#17] iam: Add converter to native/s3 policy
DCO action / DCO (pull_request) Successful in 3m18s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 3m35s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 3m46s Details
Tests and linters / Tests with -race (pull_request) Successful in 3m45s Details
Tests and linters / Staticcheck (pull_request) Successful in 3m49s Details
Tests and linters / Lint (pull_request) Successful in 5m15s Details
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-11-21 11:45:41 +03:00
Dmitrii Stepanov 5db67021e1 [#20] schema: Drop `root` from namespace definition
DCO action / DCO (pull_request) Successful in 1m1s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 1m23s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 1m18s Details
Tests and linters / Tests with -race (pull_request) Successful in 1m20s Details
Tests and linters / Staticcheck (pull_request) Successful in 1m23s Details
Tests and linters / Lint (pull_request) Successful in 2m4s Details
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-11-15 12:47:36 +03:00
aarifullin 17453d3cda [#7] engine: Revise CachedChainStorage interface
* Nuke out CachedChainStorage interface
* Introduce LocalOverrideStorage interface to manage
  local overrides
* Introduce MorphRuleChainStorage interface to manage
  chains in the policy contract
* Extend Engine interface

Signed-off-by: Airat Arifullin <aarifullin@yadro.com>
2023-11-15 09:22:42 +00:00
aarifullin a08f600d97 [#7] engine: Set project structure pattern for files
* Create pkg package
* Move chain-relates structures to pkg/chain package
* Move inmemory and interface files to pkg/engine package
* Move resource structures to pkg/resource package
* Move GlobMatch to util package

Signed-off-by: Airat Arifullin <aarifullin@yadro.com>
2023-11-15 09:22:42 +00:00
aarifullin 9472a7123e [#7] engine: Move globMatch to common util package
Signed-off-by: Airat Arifullin <aarifullin@yadro.com>
2023-11-15 09:22:42 +00:00
Dmitrii Stepanov 38985e4ec8 [#19] schema: Add native schema consts
DCO action / DCO (pull_request) Successful in 1m4s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 1m9s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 1m27s Details
Tests and linters / Tests with -race (pull_request) Successful in 1m20s Details
Tests and linters / Staticcheck (pull_request) Successful in 1m28s Details
Tests and linters / Lint (pull_request) Successful in 2m9s Details
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-11-14 13:09:51 +03:00
Dmitrii Stepanov b7645489d0 [#18] chain: Drop Actor object type
DCO action / DCO (pull_request) Successful in 58s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 1m32s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 1m27s Details
Tests and linters / Tests with -race (pull_request) Successful in 1m26s Details
Tests and linters / Staticcheck (pull_request) Successful in 1m35s Details
Tests and linters / Lint (pull_request) Successful in 3m3s Details
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-11-13 17:41:08 +03:00
Denis Kirillov 63ecf63a08 [#11] iam: Support 'NotPrincipal', 'NotAction', 'NotResource'
Tests and linters / Tests (1.21) (pull_request) Successful in 1m39s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 2m11s Details
DCO action / DCO (pull_request) Successful in 2m31s Details
Tests and linters / Staticcheck (pull_request) Successful in 2m27s Details
Tests and linters / Tests with -race (pull_request) Successful in 2m35s Details
Tests and linters / Lint (pull_request) Successful in 3m55s Details
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-11-02 14:55:48 +03:00
Denis Kirillov 8d291039d8 [#11] Support inverted action and resource
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-11-02 12:24:37 +03:00
Evgenii Stratonikov 5eee1a7334 [#14] pre-commit: Add gofumpt
DCO action / DCO (pull_request) Successful in 57s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 1m9s Details
Tests and linters / Staticcheck (pull_request) Successful in 1m21s Details
Tests and linters / Tests with -race (pull_request) Successful in 1m27s Details
Tests and linters / Lint (pull_request) Successful in 2m8s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 2m36s Details
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-11-01 11:24:25 +03:00
Evgenii Stratonikov 8dc9d9fa58 [#14] .forgejo: Add tests and lint workflows
DCO action / DCO (pull_request) Successful in 43s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 53s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 49s Details
Tests and linters / Staticcheck (pull_request) Successful in 59s Details
Tests and linters / Tests with -race (pull_request) Successful in 1m14s Details
Tests and linters / Lint (pull_request) Successful in 1m55s Details
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-11-01 11:18:57 +03:00
Evgenii Stratonikov 7f6ee39cb8 [#14] Fix linter warnings
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-11-01 11:05:03 +03:00
aarifullin 76372aac04 [#13] interface: Add methods to CachedChainStorage interface
* Introduce GetOverride, RemoveOverride, ListOverrides
* Implement them in inmemory struct

Signed-off-by: aarifullin <aarifullin@yadro.com>
2023-10-31 17:21:34 +03:00
aarifullin 35f24627f0 [#13] chain: Introduce ChainID type
Signed-off-by: aarifullin <aarifullin@yadro.com>
2023-10-31 17:21:28 +03:00
Denis Kirillov 31a308ea61 [#4] Reduce number of condition types 2023-10-23 15:44:34 +03:00
Denis Kirillov 88cf807951 [#4] Add IAM policy unmarshaler 2023-10-23 15:44:34 +03:00
Evgenii Stratonikov 5ebb2e694c [#2] Initial implementation
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-10-23 10:45:15 +03:00
True Cloud Lab af4da29b1b Initial commit 2023-10-04 08:29:00 +00:00