Skip to main content

Reference

ClientIntents example (YAML)

apiVersion: k8s.otterize.com/v1alpha3
kind: ClientIntents
metadata:
name: server
spec:
service:
# The name of the pod that will be granted access
name: server
calls:
# The AWS ARN or ARN wildcard that references the resource(s) for the authorization
- name: arn:aws:s3:::example-bucket-*/*
type: aws
# one or more AWS Actions or Action wildcards that will be provided to the specified resources
awsActions:
- "s3:PutObject"
- "s3:GetObject"
# Multiple call definitions can be defined for a single service.
- name: arn:aws:s3:::read-only-bucket-*/*
type: aws
awsActions:
- "s3:GetObject"

Otterize supports templating AWS resource names by AWS region & account ID. The templates $(AWS_REGION) & $(AWS_ACCOUNT_ID) in AWS resource ARNs will be automatically replaced with the EKS cluster's region & account ID:

apiVersion: k8s.otterize.com/v1alpha3
kind: ClientIntents
metadata:
name: server
spec:
service:
name: server
calls:
# $(AWS_REGION) & $(AWS_ACCOUNT_ID) will be replaced with the EKS cluster's region & account ID
- name: arn:aws:sqs:$(AWS_REGION):$(AWS_ACCOUNT_ID):queue1
type: aws
awsActions:
- "sqs:*"

Annotations

KeyDescriptionDefault
credentials-operator.otterize.com/create-aws-roleWhen set to true, the credential operator will create an unique AWS Role for the associated podfalse

Helm Chart options

KeyDescriptionDefault
global.aws.enabledEnable or disable AWS integrationfalse
global.aws.eksClusterNameOverrideEKS cluster name (overrides auto-detection)(none)
aws.roleARNARN of the AWS role the operator will use to access AWS. By defeault, Otterize will create a unique role for each service an annotate the service with the role's ARN.(none)

View the Helm chart reference for all other options