Skip to content
Snippets Groups Projects
Commit 2b181f0e authored by Lyuben Penkovski's avatar Lyuben Penkovski
Browse files

Minor spelling improvements

parent add76df4
No related branches found
No related tags found
1 merge request!44Creating listing policies endpoint
Pipeline #66769 passed with stages
in 7 minutes and 16 seconds
......@@ -20,14 +20,14 @@ lint:
stage: test
tags:
- amd64-docker
before_script:
- ln -s /builds /go/src/code.vereign.com
- cd /go/src/code.vereign.com/${CI_PROJECT_PATH}
script:
- ln -s /builds /go/src/gitlab.com
- cd /go/src/gitlab.com/${CI_PROJECT_PATH}
- golangci-lint --version
- golangci-lint run
- cd ./cmd/sync
- golangci-lint run
before_script: []
unit tests:
image: golang:1.21.3
......@@ -44,8 +44,8 @@ govulncheck:
tags:
- amd64-docker
before_script:
- ln -s /builds /go/src/gitlab.com
- cd /go/src/gitlab.com/${CI_PROJECT_PATH}
- ln -s /builds /go/src/code.vereign.com
- cd /go/src/code.vereign.com/${CI_PROJECT_PATH}
script:
- go version
- go install golang.org/x/vuln/cmd/govulncheck@latest
......
......@@ -61,16 +61,16 @@ var _ = Service("policy", func() {
})
Method("ListPolicies", func() {
Description("Listing all policies")
Description("List policies from storage with optional filters.")
Payload(PoliciesRequest)
Result(PoliciesResult)
HTTP(func() {
GET("/v1/policies")
Params(func() {
Param("locked", Boolean, "return only locked or unlocked policies")
Param("rego", Boolean, "return the rego code of the policies also")
Param("data", Boolean, "return the data of the policies also")
Param("dataConfig", Boolean, "return the data config of the policies also")
Param("locked", Boolean, "Filter to return locked/unlocked policies (optional).")
Param("rego", Boolean, "Include policy source code in results (optional).")
Param("data", Boolean, "Include policy static data in results (optional). ")
Param("dataConfig", Boolean, "Include static data config (optional).")
})
Response(StatusOK)
})
......
......@@ -40,14 +40,14 @@ var UnlockRequest = Type("UnlockRequest", func() {
})
var Policy = Type("Policy", func() {
Field(1, "policyName", String, "policy name")
Field(2, "group", String, "policy group")
Field(3, "version", String, "policy version")
Field(4, "rego", String, "policy rego code")
Field(5, "data", String, "policy data")
Field(6, "dataConfig", String, "policy data config")
Field(7, "locked", Boolean, "if it true gives locked status on the policy")
Field(8, "lastUpdate", Int64, "Last update (timestamp).")
Field(1, "policyName", String, "Policy name.")
Field(2, "group", String, "Policy group.")
Field(3, "version", String, "Policy version.")
Field(4, "rego", String, "Policy rego source code.")
Field(5, "data", String, "Policy static data.")
Field(6, "dataConfig", String, "Policy static data optional configuration.")
Field(7, "locked", Boolean, "Locked specifies if the policy is locked or allowed to execute.")
Field(8, "lastUpdate", Int64, "Last update (Unix timestamp).")
Required("group", "policyName", "version", "locked", "lastUpdate")
})
......@@ -59,6 +59,6 @@ var PoliciesRequest = Type("PoliciesRequest", func() {
})
var PoliciesResult = Type("PoliciesResult", func() {
Field(1, "policies", ArrayOf(Policy), "policy list")
Field(1, "policies", ArrayOf(Policy), "JSON array of policies.")
Required("policies")
})
......@@ -246,7 +246,7 @@ COMMAND:
evaluate: Evaluate executes a policy with the given 'data' as input.
lock: Lock a policy so that it cannot be evaluated.
unlock: Unlock a policy so it can be evaluated again.
list-policies: Listing all policies
list-policies: List policies from storage with optional filters.
Additional help:
%[1]s policy COMMAND --help
......@@ -297,7 +297,7 @@ Example:
func policyListPoliciesUsage() {
fmt.Fprintf(os.Stderr, `%[1]s [flags] policy list-policies -locked BOOL -rego BOOL -data BOOL -data-config BOOL
Listing all policies
List policies from storage with optional filters.
-locked BOOL:
-rego BOOL:
-data BOOL:
......
{"swagger":"2.0","info":{"title":"Policy Service","description":"The policy service exposes HTTP API for executing policies.","version":""},"host":"localhost:8081","consumes":["application/json","application/xml","application/gob"],"produces":["application/json","application/xml","application/gob"],"paths":{"/liveness":{"get":{"tags":["health"],"summary":"Liveness health","operationId":"health#Liveness","responses":{"200":{"description":"OK response."}},"schemes":["http"]}},"/policy/{group}/{policyName}/{version}/evaluation":{"get":{"tags":["policy"],"summary":"Evaluate policy","description":"Evaluate executes a policy with the given 'data' as input.","operationId":"policy#Evaluate#1","parameters":[{"name":"group","in":"path","description":"Policy group.","required":true,"type":"string"},{"name":"policyName","in":"path","description":"Policy name.","required":true,"type":"string"},{"name":"version","in":"path","description":"Policy version.","required":true,"type":"string"},{"name":"x-evaluation-id","in":"header","description":"EvaluationID allows overwriting the randomly generated evaluationID","required":false,"type":"string"},{"name":"x-cache-ttl","in":"header","description":"Policy result cache TTL in seconds","required":false,"type":"integer"},{"name":"any","in":"body","description":"Input data passed to the policy execution runtime.","required":true,"schema":{"type":"string","format":"binary"}}],"responses":{"200":{"description":"OK response.","schema":{"type":"string","format":"binary"},"headers":{"ETag":{"description":"ETag contains unique identifier of the policy evaluation and can be used to later retrieve the results from Cache.","type":"string"}}}},"schemes":["http"]},"post":{"tags":["policy"],"summary":"Evaluate policy","description":"Evaluate executes a policy with the given 'data' as input.","operationId":"policy#Evaluate#2","parameters":[{"name":"group","in":"path","description":"Policy group.","required":true,"type":"string"},{"name":"policyName","in":"path","description":"Policy name.","required":true,"type":"string"},{"name":"version","in":"path","description":"Policy version.","required":true,"type":"string"},{"name":"x-evaluation-id","in":"header","description":"EvaluationID allows overwriting the randomly generated evaluationID","required":false,"type":"string"},{"name":"x-cache-ttl","in":"header","description":"Policy result cache TTL in seconds","required":false,"type":"integer"},{"name":"any","in":"body","description":"Input data passed to the policy execution runtime.","required":true,"schema":{"type":"string","format":"binary"}}],"responses":{"200":{"description":"OK response.","schema":{"type":"string","format":"binary"},"headers":{"ETag":{"description":"ETag contains unique identifier of the policy evaluation and can be used to later retrieve the results from Cache.","type":"string"}}}},"schemes":["http"]}},"/policy/{group}/{policyName}/{version}/evaluation/did.json":{"get":{"tags":["policy"],"summary":"Evaluate policy","description":"Evaluate executes a policy with the given 'data' as input.","operationId":"policy#Evaluate","parameters":[{"name":"group","in":"path","description":"Policy group.","required":true,"type":"string"},{"name":"policyName","in":"path","description":"Policy name.","required":true,"type":"string"},{"name":"version","in":"path","description":"Policy version.","required":true,"type":"string"},{"name":"x-evaluation-id","in":"header","description":"EvaluationID allows overwriting the randomly generated evaluationID","required":false,"type":"string"},{"name":"x-cache-ttl","in":"header","description":"Policy result cache TTL in seconds","required":false,"type":"integer"},{"name":"any","in":"body","description":"Input data passed to the policy execution runtime.","required":true,"schema":{"type":"string","format":"binary"}}],"responses":{"200":{"description":"OK response.","schema":{"type":"string","format":"binary"},"headers":{"ETag":{"description":"ETag contains unique identifier of the policy evaluation and can be used to later retrieve the results from Cache.","type":"string"}}}},"schemes":["http"]}},"/policy/{group}/{policyName}/{version}/lock":{"post":{"tags":["policy"],"summary":"Lock policy","description":"Lock a policy so that it cannot be evaluated.","operationId":"policy#Lock","parameters":[{"name":"group","in":"path","description":"Policy group.","required":true,"type":"string"},{"name":"policyName","in":"path","description":"Policy name.","required":true,"type":"string"},{"name":"version","in":"path","description":"Policy version.","required":true,"type":"string"}],"responses":{"200":{"description":"OK response."}},"schemes":["http"]},"delete":{"tags":["policy"],"summary":"Unlock policy","description":"Unlock a policy so it can be evaluated again.","operationId":"policy#Unlock","parameters":[{"name":"group","in":"path","description":"Policy group.","required":true,"type":"string"},{"name":"policyName","in":"path","description":"Policy name.","required":true,"type":"string"},{"name":"version","in":"path","description":"Policy version.","required":true,"type":"string"}],"responses":{"200":{"description":"OK response."}},"schemes":["http"]}},"/readiness":{"get":{"tags":["health"],"summary":"Readiness health","operationId":"health#Readiness","responses":{"200":{"description":"OK response."}},"schemes":["http"]}},"/v1/policies":{"get":{"tags":["policy"],"summary":"ListPolicies policy","description":"Listing all policies","operationId":"policy#ListPolicies","parameters":[{"name":"locked","in":"query","description":"return only locked or unlocked policies","required":false,"type":"boolean"},{"name":"rego","in":"query","description":"return the rego code of the policies also","required":false,"type":"boolean"},{"name":"data","in":"query","description":"return the data of the policies also","required":false,"type":"boolean"},{"name":"dataConfig","in":"query","description":"return the data config of the policies also","required":false,"type":"boolean"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/PolicyListPoliciesResponseBody","required":["policies"]}}},"schemes":["http"]}}},"definitions":{"PolicyListPoliciesResponseBody":{"title":"PolicyListPoliciesResponseBody","type":"object","properties":{"policies":{"type":"array","items":{"$ref":"#/definitions/PolicyResponseBody"},"description":"policy list","example":[{"data":"Commodi nemo fugiat id praesentium accusantium expedita.","dataConfig":"Qui non quia.","group":"Sequi adipisci et nulla.","lastUpdate":8181859392515170659,"locked":false,"policyName":"Consequatur accusamus.","rego":"Sunt in et quia cum.","version":"In quis nesciunt autem et."},{"data":"Commodi nemo fugiat id praesentium accusantium expedita.","dataConfig":"Qui non quia.","group":"Sequi adipisci et nulla.","lastUpdate":8181859392515170659,"locked":false,"policyName":"Consequatur accusamus.","rego":"Sunt in et quia cum.","version":"In quis nesciunt autem et."},{"data":"Commodi nemo fugiat id praesentium accusantium expedita.","dataConfig":"Qui non quia.","group":"Sequi adipisci et nulla.","lastUpdate":8181859392515170659,"locked":false,"policyName":"Consequatur accusamus.","rego":"Sunt in et quia cum.","version":"In quis nesciunt autem et."}]}},"example":{"policies":[{"data":"Commodi nemo fugiat id praesentium accusantium expedita.","dataConfig":"Qui non quia.","group":"Sequi adipisci et nulla.","lastUpdate":8181859392515170659,"locked":false,"policyName":"Consequatur accusamus.","rego":"Sunt in et quia cum.","version":"In quis nesciunt autem et."},{"data":"Commodi nemo fugiat id praesentium accusantium expedita.","dataConfig":"Qui non quia.","group":"Sequi adipisci et nulla.","lastUpdate":8181859392515170659,"locked":false,"policyName":"Consequatur accusamus.","rego":"Sunt in et quia cum.","version":"In quis nesciunt autem et."},{"data":"Commodi nemo fugiat id praesentium accusantium expedita.","dataConfig":"Qui non quia.","group":"Sequi adipisci et nulla.","lastUpdate":8181859392515170659,"locked":false,"policyName":"Consequatur accusamus.","rego":"Sunt in et quia cum.","version":"In quis nesciunt autem et."},{"data":"Commodi nemo fugiat id praesentium accusantium expedita.","dataConfig":"Qui non quia.","group":"Sequi adipisci et nulla.","lastUpdate":8181859392515170659,"locked":false,"policyName":"Consequatur accusamus.","rego":"Sunt in et quia cum.","version":"In quis nesciunt autem et."}]},"required":["policies"]},"PolicyResponseBody":{"title":"PolicyResponseBody","type":"object","properties":{"data":{"type":"string","description":"policy data","example":"Accusamus enim."},"dataConfig":{"type":"string","description":"policy data config","example":"Recusandae est rerum corrupti quia."},"group":{"type":"string","description":"policy group","example":"Optio quia et laborum."},"lastUpdate":{"type":"integer","description":"Last update (timestamp).","example":1029654258457164464,"format":"int64"},"locked":{"type":"boolean","description":"if it true gives locked status on the policy","example":true},"policyName":{"type":"string","description":"policy name","example":"Quia non voluptatibus error."},"rego":{"type":"string","description":"policy rego code","example":"Ut amet."},"version":{"type":"string","description":"policy version","example":"In libero perspiciatis voluptatum ut soluta."}},"example":{"data":"Totam officia necessitatibus tempore nulla animi.","dataConfig":"Consequatur vel rerum rem ipsam nam.","group":"Adipisci inventore ipsum voluptatibus recusandae.","lastUpdate":1724369781608544610,"locked":true,"policyName":"Architecto itaque voluptatum voluptas ad.","rego":"Ab perspiciatis voluptatem pariatur corporis est rem.","version":"Nisi distinctio vitae."},"required":["group","policyName","version","locked","lastUpdate"]}}}
\ No newline at end of file
{"swagger":"2.0","info":{"title":"Policy Service","description":"The policy service exposes HTTP API for executing policies.","version":""},"host":"localhost:8081","consumes":["application/json","application/xml","application/gob"],"produces":["application/json","application/xml","application/gob"],"paths":{"/liveness":{"get":{"tags":["health"],"summary":"Liveness health","operationId":"health#Liveness","responses":{"200":{"description":"OK response."}},"schemes":["http"]}},"/policy/{group}/{policyName}/{version}/evaluation":{"get":{"tags":["policy"],"summary":"Evaluate policy","description":"Evaluate executes a policy with the given 'data' as input.","operationId":"policy#Evaluate#1","parameters":[{"name":"group","in":"path","description":"Policy group.","required":true,"type":"string"},{"name":"policyName","in":"path","description":"Policy name.","required":true,"type":"string"},{"name":"version","in":"path","description":"Policy version.","required":true,"type":"string"},{"name":"x-evaluation-id","in":"header","description":"EvaluationID allows overwriting the randomly generated evaluationID","required":false,"type":"string"},{"name":"x-cache-ttl","in":"header","description":"Policy result cache TTL in seconds","required":false,"type":"integer"},{"name":"any","in":"body","description":"Input data passed to the policy execution runtime.","required":true,"schema":{"type":"string","format":"binary"}}],"responses":{"200":{"description":"OK response.","schema":{"type":"string","format":"binary"},"headers":{"ETag":{"description":"ETag contains unique identifier of the policy evaluation and can be used to later retrieve the results from Cache.","type":"string"}}}},"schemes":["http"]},"post":{"tags":["policy"],"summary":"Evaluate policy","description":"Evaluate executes a policy with the given 'data' as input.","operationId":"policy#Evaluate#2","parameters":[{"name":"group","in":"path","description":"Policy group.","required":true,"type":"string"},{"name":"policyName","in":"path","description":"Policy name.","required":true,"type":"string"},{"name":"version","in":"path","description":"Policy version.","required":true,"type":"string"},{"name":"x-evaluation-id","in":"header","description":"EvaluationID allows overwriting the randomly generated evaluationID","required":false,"type":"string"},{"name":"x-cache-ttl","in":"header","description":"Policy result cache TTL in seconds","required":false,"type":"integer"},{"name":"any","in":"body","description":"Input data passed to the policy execution runtime.","required":true,"schema":{"type":"string","format":"binary"}}],"responses":{"200":{"description":"OK response.","schema":{"type":"string","format":"binary"},"headers":{"ETag":{"description":"ETag contains unique identifier of the policy evaluation and can be used to later retrieve the results from Cache.","type":"string"}}}},"schemes":["http"]}},"/policy/{group}/{policyName}/{version}/evaluation/did.json":{"get":{"tags":["policy"],"summary":"Evaluate policy","description":"Evaluate executes a policy with the given 'data' as input.","operationId":"policy#Evaluate","parameters":[{"name":"group","in":"path","description":"Policy group.","required":true,"type":"string"},{"name":"policyName","in":"path","description":"Policy name.","required":true,"type":"string"},{"name":"version","in":"path","description":"Policy version.","required":true,"type":"string"},{"name":"x-evaluation-id","in":"header","description":"EvaluationID allows overwriting the randomly generated evaluationID","required":false,"type":"string"},{"name":"x-cache-ttl","in":"header","description":"Policy result cache TTL in seconds","required":false,"type":"integer"},{"name":"any","in":"body","description":"Input data passed to the policy execution runtime.","required":true,"schema":{"type":"string","format":"binary"}}],"responses":{"200":{"description":"OK response.","schema":{"type":"string","format":"binary"},"headers":{"ETag":{"description":"ETag contains unique identifier of the policy evaluation and can be used to later retrieve the results from Cache.","type":"string"}}}},"schemes":["http"]}},"/policy/{group}/{policyName}/{version}/lock":{"post":{"tags":["policy"],"summary":"Lock policy","description":"Lock a policy so that it cannot be evaluated.","operationId":"policy#Lock","parameters":[{"name":"group","in":"path","description":"Policy group.","required":true,"type":"string"},{"name":"policyName","in":"path","description":"Policy name.","required":true,"type":"string"},{"name":"version","in":"path","description":"Policy version.","required":true,"type":"string"}],"responses":{"200":{"description":"OK response."}},"schemes":["http"]},"delete":{"tags":["policy"],"summary":"Unlock policy","description":"Unlock a policy so it can be evaluated again.","operationId":"policy#Unlock","parameters":[{"name":"group","in":"path","description":"Policy group.","required":true,"type":"string"},{"name":"policyName","in":"path","description":"Policy name.","required":true,"type":"string"},{"name":"version","in":"path","description":"Policy version.","required":true,"type":"string"}],"responses":{"200":{"description":"OK response."}},"schemes":["http"]}},"/readiness":{"get":{"tags":["health"],"summary":"Readiness health","operationId":"health#Readiness","responses":{"200":{"description":"OK response."}},"schemes":["http"]}},"/v1/policies":{"get":{"tags":["policy"],"summary":"ListPolicies policy","description":"List policies from storage with optional filters.","operationId":"policy#ListPolicies","parameters":[{"name":"locked","in":"query","description":"Filter to return locked/unlocked policies (optional).","required":false,"type":"boolean"},{"name":"rego","in":"query","description":"Include policy source code in results (optional).","required":false,"type":"boolean"},{"name":"data","in":"query","description":"Include policy static data in results (optional). ","required":false,"type":"boolean"},{"name":"dataConfig","in":"query","description":"Include static data config (optional).","required":false,"type":"boolean"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/PolicyListPoliciesResponseBody","required":["policies"]}}},"schemes":["http"]}}},"definitions":{"PolicyListPoliciesResponseBody":{"title":"PolicyListPoliciesResponseBody","type":"object","properties":{"policies":{"type":"array","items":{"$ref":"#/definitions/PolicyResponseBody"},"description":"JSON array of policies.","example":[{"data":"Commodi nemo fugiat id praesentium accusantium expedita.","dataConfig":"Qui non quia.","group":"Sequi adipisci et nulla.","lastUpdate":8181859392515170659,"locked":false,"policyName":"Consequatur accusamus.","rego":"Sunt in et quia cum.","version":"In quis nesciunt autem et."},{"data":"Commodi nemo fugiat id praesentium accusantium expedita.","dataConfig":"Qui non quia.","group":"Sequi adipisci et nulla.","lastUpdate":8181859392515170659,"locked":false,"policyName":"Consequatur accusamus.","rego":"Sunt in et quia cum.","version":"In quis nesciunt autem et."},{"data":"Commodi nemo fugiat id praesentium accusantium expedita.","dataConfig":"Qui non quia.","group":"Sequi adipisci et nulla.","lastUpdate":8181859392515170659,"locked":false,"policyName":"Consequatur accusamus.","rego":"Sunt in et quia cum.","version":"In quis nesciunt autem et."}]}},"example":{"policies":[{"data":"Commodi nemo fugiat id praesentium accusantium expedita.","dataConfig":"Qui non quia.","group":"Sequi adipisci et nulla.","lastUpdate":8181859392515170659,"locked":false,"policyName":"Consequatur accusamus.","rego":"Sunt in et quia cum.","version":"In quis nesciunt autem et."},{"data":"Commodi nemo fugiat id praesentium accusantium expedita.","dataConfig":"Qui non quia.","group":"Sequi adipisci et nulla.","lastUpdate":8181859392515170659,"locked":false,"policyName":"Consequatur accusamus.","rego":"Sunt in et quia cum.","version":"In quis nesciunt autem et."},{"data":"Commodi nemo fugiat id praesentium accusantium expedita.","dataConfig":"Qui non quia.","group":"Sequi adipisci et nulla.","lastUpdate":8181859392515170659,"locked":false,"policyName":"Consequatur accusamus.","rego":"Sunt in et quia cum.","version":"In quis nesciunt autem et."},{"data":"Commodi nemo fugiat id praesentium accusantium expedita.","dataConfig":"Qui non quia.","group":"Sequi adipisci et nulla.","lastUpdate":8181859392515170659,"locked":false,"policyName":"Consequatur accusamus.","rego":"Sunt in et quia cum.","version":"In quis nesciunt autem et."}]},"required":["policies"]},"PolicyResponseBody":{"title":"PolicyResponseBody","type":"object","properties":{"data":{"type":"string","description":"Policy static data.","example":"Accusamus enim."},"dataConfig":{"type":"string","description":"Policy static data optional configuration.","example":"Recusandae est rerum corrupti quia."},"group":{"type":"string","description":"Policy group.","example":"Optio quia et laborum."},"lastUpdate":{"type":"integer","description":"Last update (Unix timestamp).","example":1029654258457164464,"format":"int64"},"locked":{"type":"boolean","description":"Locked specifies if the policy is locked or allowed to execute.","example":true},"policyName":{"type":"string","description":"Policy name.","example":"Quia non voluptatibus error."},"rego":{"type":"string","description":"Policy rego source code.","example":"Ut amet."},"version":{"type":"string","description":"Policy version.","example":"In libero perspiciatis voluptatum ut soluta."}},"example":{"data":"Totam officia necessitatibus tempore nulla animi.","dataConfig":"Consequatur vel rerum rem ipsam nam.","group":"Adipisci inventore ipsum voluptatibus recusandae.","lastUpdate":1724369781608544610,"locked":true,"policyName":"Architecto itaque voluptatum voluptas ad.","rego":"Ab perspiciatis voluptatem pariatur corporis est rem.","version":"Nisi distinctio vitae."},"required":["group","policyName","version","locked","lastUpdate"]}}}
\ No newline at end of file
......@@ -250,27 +250,27 @@ paths:
tags:
- policy
summary: ListPolicies policy
description: Listing all policies
description: List policies from storage with optional filters.
operationId: policy#ListPolicies
parameters:
- name: locked
in: query
description: return only locked or unlocked policies
description: Filter to return locked/unlocked policies (optional).
required: false
type: boolean
- name: rego
in: query
description: return the rego code of the policies also
description: Include policy source code in results (optional).
required: false
type: boolean
- name: data
in: query
description: return the data of the policies also
description: 'Include policy static data in results (optional). '
required: false
type: boolean
- name: dataConfig
in: query
description: return the data config of the policies also
description: Include static data config (optional).
required: false
type: boolean
responses:
......@@ -291,7 +291,7 @@ definitions:
type: array
items:
$ref: '#/definitions/PolicyResponseBody'
description: policy list
description: JSON array of policies.
example:
- data: Commodi nemo fugiat id praesentium accusantium expedita.
dataConfig: Qui non quia.
......@@ -359,36 +359,36 @@ definitions:
properties:
data:
type: string
description: policy data
description: Policy static data.
example: Accusamus enim.
dataConfig:
type: string
description: policy data config
description: Policy static data optional configuration.
example: Recusandae est rerum corrupti quia.
group:
type: string
description: policy group
description: Policy group.
example: Optio quia et laborum.
lastUpdate:
type: integer
description: Last update (timestamp).
description: Last update (Unix timestamp).
example: 1029654258457164464
format: int64
locked:
type: boolean
description: if it true gives locked status on the policy
description: Locked specifies if the policy is locked or allowed to execute.
example: true
policyName:
type: string
description: policy name
description: Policy name.
example: Quia non voluptatibus error.
rego:
type: string
description: policy rego code
description: Policy rego source code.
example: Ut amet.
version:
type: string
description: policy version
description: Policy version.
example: In libero perspiciatis voluptatum ut soluta.
example:
data: Totam officia necessitatibus tempore nulla animi.
......
This diff is collapsed.
......@@ -359,43 +359,43 @@ paths:
tags:
- policy
summary: ListPolicies policy
description: Listing all policies
description: List policies from storage with optional filters.
operationId: policy#ListPolicies
parameters:
- name: locked
in: query
description: return only locked or unlocked policies
description: Filter to return locked/unlocked policies (optional).
allowEmptyValue: true
schema:
type: boolean
description: return only locked or unlocked policies
description: Filter to return locked/unlocked policies (optional).
example: false
example: true
- name: rego
in: query
description: return the rego code of the policies also
description: Include policy source code in results (optional).
allowEmptyValue: true
schema:
type: boolean
description: return the rego code of the policies also
description: Include policy source code in results (optional).
example: false
example: true
- name: data
in: query
description: return the data of the policies also
description: 'Include policy static data in results (optional). '
allowEmptyValue: true
schema:
type: boolean
description: return the data of the policies also
description: 'Include policy static data in results (optional). '
example: false
example: false
- name: dataConfig
in: query
description: return the data config of the policies also
description: Include static data config (optional).
allowEmptyValue: true
schema:
type: boolean
description: return the data config of the policies also
description: Include static data config (optional).
example: false
example: true
responses:
......@@ -448,7 +448,7 @@ components:
type: array
items:
$ref: '#/components/schemas/Policy'
description: policy list
description: JSON array of policies.
example:
- data: Commodi nemo fugiat id praesentium accusantium expedita.
dataConfig: Qui non quia.
......@@ -515,36 +515,36 @@ components:
properties:
data:
type: string
description: policy data
description: Policy static data.
example: Ipsa ad voluptatum maxime ut.
dataConfig:
type: string
description: policy data config
description: Policy static data optional configuration.
example: Aut asperiores.
group:
type: string
description: policy group
description: Policy group.
example: Veritatis quam qui nostrum eaque.
lastUpdate:
type: integer
description: Last update (timestamp).
description: Last update (Unix timestamp).
example: 1131015782715696616
format: int64
locked:
type: boolean
description: if it true gives locked status on the policy
description: Locked specifies if the policy is locked or allowed to execute.
example: false
policyName:
type: string
description: policy name
description: Policy name.
example: Maiores et minus.
rego:
type: string
description: policy rego code
description: Policy rego source code.
example: Delectus rerum molestiae possimus cum laboriosam.
version:
type: string
description: policy version
description: Policy version.
example: Et dolores.
example:
data: Similique architecto.
......
......@@ -15,27 +15,27 @@ import (
// ListPoliciesResponseBody is the type of the "policy" service "ListPolicies"
// endpoint HTTP response body.
type ListPoliciesResponseBody struct {
// policy list
// JSON array of policies.
Policies []*PolicyResponseBody `form:"policies,omitempty" json:"policies,omitempty" xml:"policies,omitempty"`
}
// PolicyResponseBody is used to define fields on response body types.
type PolicyResponseBody struct {
// policy name
// Policy name.
PolicyName *string `form:"policyName,omitempty" json:"policyName,omitempty" xml:"policyName,omitempty"`
// policy group
// Policy group.
Group *string `form:"group,omitempty" json:"group,omitempty" xml:"group,omitempty"`
// policy version
// Policy version.
Version *string `form:"version,omitempty" json:"version,omitempty" xml:"version,omitempty"`
// policy rego code
// Policy rego source code.
Rego *string `form:"rego,omitempty" json:"rego,omitempty" xml:"rego,omitempty"`
// policy data
// Policy static data.
Data *string `form:"data,omitempty" json:"data,omitempty" xml:"data,omitempty"`
// policy data config
// Policy static data optional configuration.
DataConfig *string `form:"dataConfig,omitempty" json:"dataConfig,omitempty" xml:"dataConfig,omitempty"`
// if it true gives locked status on the policy
// Locked specifies if the policy is locked or allowed to execute.
Locked *bool `form:"locked,omitempty" json:"locked,omitempty" xml:"locked,omitempty"`
// Last update (timestamp).
// Last update (Unix timestamp).
LastUpdate *int64 `form:"lastUpdate,omitempty" json:"lastUpdate,omitempty" xml:"lastUpdate,omitempty"`
}
......
......@@ -14,27 +14,27 @@ import (
// ListPoliciesResponseBody is the type of the "policy" service "ListPolicies"
// endpoint HTTP response body.
type ListPoliciesResponseBody struct {
// policy list
// JSON array of policies.
Policies []*PolicyResponseBody `form:"policies" json:"policies" xml:"policies"`
}
// PolicyResponseBody is used to define fields on response body types.
type PolicyResponseBody struct {
// policy name
// Policy name.
PolicyName string `form:"policyName" json:"policyName" xml:"policyName"`
// policy group
// Policy group.
Group string `form:"group" json:"group" xml:"group"`
// policy version
// Policy version.
Version string `form:"version" json:"version" xml:"version"`
// policy rego code
// Policy rego source code.
Rego *string `form:"rego,omitempty" json:"rego,omitempty" xml:"rego,omitempty"`
// policy data
// Policy static data.
Data *string `form:"data,omitempty" json:"data,omitempty" xml:"data,omitempty"`
// policy data config
// Policy static data optional configuration.
DataConfig *string `form:"dataConfig,omitempty" json:"dataConfig,omitempty" xml:"dataConfig,omitempty"`
// if it true gives locked status on the policy
// Locked specifies if the policy is locked or allowed to execute.
Locked bool `form:"locked" json:"locked" xml:"locked"`
// Last update (timestamp).
// Last update (Unix timestamp).
LastUpdate int64 `form:"lastUpdate" json:"lastUpdate" xml:"lastUpdate"`
}
......
......@@ -19,7 +19,7 @@ type Service interface {
Lock(context.Context, *LockRequest) (err error)
// Unlock a policy so it can be evaluated again.
Unlock(context.Context, *UnlockRequest) (err error)
// Listing all policies
// List policies from storage with optional filters.
ListPolicies(context.Context, *PoliciesRequest) (res *PoliciesResult, err error)
}
......@@ -80,26 +80,26 @@ type PoliciesRequest struct {
// PoliciesResult is the result type of the policy service ListPolicies method.
type PoliciesResult struct {
// policy list
// JSON array of policies.
Policies []*Policy
}
type Policy struct {
// policy name
// Policy name.
PolicyName string
// policy group
// Policy group.
Group string
// policy version
// Policy version.
Version string
// policy rego code
// Policy rego source code.
Rego *string
// policy data
// Policy static data.
Data *string
// policy data config
// Policy static data optional configuration.
DataConfig *string
// if it true gives locked status on the policy
// Locked specifies if the policy is locked or allowed to execute.
Locked bool
// Last update (timestamp).
// Last update (Unix timestamp).
LastUpdate int64
}
......
......@@ -203,7 +203,7 @@ func (s *Service) Unlock(ctx context.Context, req *policy.UnlockRequest) error {
func (s *Service) ListPolicies(ctx context.Context, req *policy.PoliciesRequest) (*policy.PoliciesResult, error) {
logger := s.logger.With(
zap.String("operaiton", "listPolicies"),
zap.String("operation", "listPolicies"),
)
policies, err := s.storage.GetPolicies(ctx, req.Locked)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment