Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

wip: Add view for apirule v2 #1680

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions config/ui-extensions/apirules-v1beta1/dataSources
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
relatedGateways:
resource:
kind: Gateway
group: networking.istio.io
version: v1beta1
namespace: null
relatedServices:
resource:
kind: Service
version: v1
namespace: null
virtualServices:
resource:
kind: VirtualService
group: networking.istio.io
version: v1beta1
namespace: null
filter: '$item.metadata.labels."apirule.gateway.kyma-project.io/v1beta1" = $root.metadata.name & "." & $root.metadata.namespace'
170 changes: 170 additions & 0 deletions config/ui-extensions/apirules-v1beta1/details
Original file line number Diff line number Diff line change
@@ -0,0 +1,170 @@
header:
- name: status
widget: Badge
highlights:
positive:
- 'OK'
negative:
- 'ERROR'
critical:
- 'SKIPPED'
source: 'status.APIRuleStatus.code ? status.APIRuleStatus.code : "UNKNOWN"'
description: status.APIRuleStatus.desc
- name: host
widget: ExternalLink
source: 'spec.host'
link: 'status.APIRuleStatus.code = "OK" ? "https://" & $virtualServices().items[0].spec.hosts[0] : ""'
body:
- simple: true
widget: Alert
severity: warning
source: '"alert.spec.jwks_url_http"'
visibility: '$count(spec.rules.accessStrategies.config.jwks_urls)>0 and $reduce(spec.rules.accessStrategies.config.jwks_urls,function($i, $j){$i or $substringBefore($j,"://")="http"},false)'
- simple: true
widget: Alert
severity: warning
source: '"alert.spec.trusted_issuers_http"'
visibility: '$count(spec.rules.accessStrategies.config.trusted_issuers)>0 and $reduce(spec.rules.accessStrategies.config.trusted_issuers,function($i, $j){$i or $substringBefore($j,"://")="http"},false)'
- simple: true
widget: Alert
severity: warning
source: '"alert.corsPolicy"'
visibility: '$not($exists(spec.corsPolicy))'
- simple: true
widget: Alert
severity: warning
source: '"alert.gateway.details"'
visibility: '$not($exists($match(spec.gateway,/^[a-z0-9_]+(-[a-z0-9_]+)*\/[a-z0-9_]+(-[a-z0-9_]+)*$/))[0])'
- widget: Panel
name: corsPolicy
source: spec.corsPolicy
visibility: $exists(spec.corsPolicy)
children:
- name: corsAllowMethods
source: allowMethods
widget: JoinedArray
visibility: '$not($count(allowMethods)=0)'
- name: corsAllowOriginsRegex
source: $join(allowOrigins.regex,",")
widget: Text
visibility: '$not($count(allowOrigins.regex)=0)'
- name: corsAllowOriginsPrefix
source: $join(allowOrigins.prefix,",")
widget: Text
visibility: '$not($count(allowOrigins.prefix)=0)'
- name: corsAllowOriginsExact
source: $join(allowOrigins.exact,",")
widget: Text
visibility: '$not($count(allowOrigins.exact)=0)'
- name: corsExposeHeaders
source: exposeHeaders
widget: JoinedArray
visibility: '$not($count(exposeHeaders)=0)'
- name: corsAllowHeaders
source: allowHeaders
widget: JoinedArray
visibility: '$not($count(allowHeaders)=0)'
- name: corsAllowCredentials
source: allowCredentials
widget: Badge
visibility: '$exists(allowCredentials)'
- name: corsMaxAge
source: maxAge
widget: Text
visibility: '$exists(maxAge)'
- name: general
source: spec
widget: Panel
visibility: $exists(spec.timeout)
children:
- source: timeout
name: details.timeout
- name: service
source: spec.service
widget: Panel
children:
- name: service.name
source: name
widget: ResourceLink
resource:
name: $root.spec.service.name
namespace: $root.metadata.namespace
kind: '"Service"'
- name: service.port
source: port
- source: spec.rules
widget: Table
name: rules
children:
- source: $item.path
name: rules.path
- source: $item.methods
name: rules.methods
widget: Badge
collapsible:
- name: general
source: $item
widget: Panel
visibility: $exists($item.timeout)
children:
- source: $item.timeout
name: details.timeout
- source: $item.accessStrategies
widget: Table
disablePadding: true
name: accessStrategies
children:
- source: $item.handler
name: accessStrategies.handlers
widget: Badge
- source: $item.config.required_scope
name: accessStrategies.required_scope
widget: JoinedArray
- source: $item.config.jwks_urls
name: accessStrategies.jwks_urls
widget: JoinedArray
- source: $item.config.trusted_issuers
name: accessStrategies.trusted_issuers
widget: JoinedArray
- source: $item.config.introspection_url
name: accessStrategies.introspection_url
widget: Text
- source: $item.config.introspection_request_headers
name: accessStrategies.introspection_request_headers
widget: Labels
- source: $item.config.token_from
name: accessStrategies.token_from
widget: Labels
- source: $item.mutators
widget: Table
disablePadding: true
name: mutators
visibility: $exists($item.mutators)
children:
- source: $item.handler
name: mutators.handlers
widget: Badge
- source: $item.config
name: mutators.config
widget: CodeViewer
description: "Configuration for {{[Ory Oathkeeper Rule mutators]https://www.ory.sh/docs/oathkeeper/pipeline/mutator}}"
language: "'yaml'"
visibility: '$exists($value)'
- name: service
source: $item.service
widget: Panel
visibility: $exists($item.service)
children:
- name: service.name
source: $item.service.name
widget: ResourceLink
resource:
name: $item.service.name
namespace: $root.metadata.namespace
kind: '"Service"'
- name: service.port
source: $item.service.port
- widget: ResourceList
source: $virtualServices()
name: virtualService
disableCreate: true
Loading