OpenSearch



A managed service that makes it easy to deploy, operate, and scale OpenSearch clusters in the AWS Cloud.


Example yaml file:


apiVersion: aws.boundless.software/v1alpha1
kind: OpenSearch
metadata:
  name: example-opensearch
spec:
  provider:
    region: us-east-1
  collection:
    name: example-collection
    type: VECTORSEARCH
    networkPolicy:
      - rules:
          - resourceType: dashboard
            resources:
              - tst
          - resourceType: collection
            resources:
              - example-collection
    accessPolicy:
      - principals:
          - arn:aws:iam::123456789012:role/example-role
        rules:
          - resourceType: collection
            permissions:
              - aoss:DeleteCollectionItems
            resources:
              - example-collection
    encryptionPolicy:
      kmsKeyArn: arn:aws:kms:us-east-1:123456789012:key/example-key
      rules:
        - resourceType: collection
          resources:
            - example-collection
            - example-collection2
  domain:
    name: example-opensearch
    vpcId: vpc-12345678
    volumeSize: 100
    iamArn: arn:aws:iam::123456789012:role/example-role
    clusterConfig:
      instanceType: r6g.large.search
      instanceCount: 2
      masterNodeCount: 2
      masterNodeType: m6g.large.search
    vpcConfig:
      subnetIds:
        - subnet-12345678
      securityGroupIds:
        - sg-12345678

Inputs


OpenSearchSpec


NameTypeDescription
provider*AwsProviderSpecProvider specifies the AWS provider settings for this OpenSearch domain. Required
domain*DomainSpecDomain specifies the OpenSearch domain settings. Required
collectionCollectionSpecCollectionSpec specifies the OpenSearch collection settings. Optional

CollectionSpec


NameTypeDescription
name*stringName is the name of the OpenSearch collection. Required
type*stringType is the type of the OpenSearch collection. Required
accessPolicy[]AccessRuleSpecAccess policy configuration for the collection
networkPolicy[]NetworkRuleSpecNetwork policy configuration for the collection
encryptionPolicyEncryptionPolicySpecEncryption policy configuration for the collection
tagsmap[string]stringTags specifies the database tags. Optional

NetworkRuleSpec


NameTypeDescription
rules[]RuleSpecRules is the list of rules to be applied to the OpenSearch collection. Required
vpcEndpointstringVpcEndpoint is the VPC endpoint to be used by the OpenSearch collection. Optional

EncryptionPolicySpec


NameTypeDescription
rules[]RuleSpecRules is the list of rules to be applied to the OpenSearch collection. Required
kmsKeyArnstringKmsKeyId is the KMS key ID to be used by the OpenSearch collection. Required

RuleSpec


NameTypeDescription
resourceType*stringResourceType is the type of the resource to be allowed, Dashboard and collection are the only acceptable inputs. Required
resources*[]stringResource is the resource to be allowed. Required
permissions[]stringPermissions is the list of permissions to be allowed. Required for access policy

AccessRuleSpec


NameTypeDescription
principals*[]stringPrincipal is the principal to be allowed. Required
rules*[]RuleSpecRules is the list of rules to be applied to the OpenSearch collection. Required

DomainSpec


NameTypeDescription
name*stringName is the name of the OpenSearch domain. Required
vpcId*stringVpcID is the ID of the VPC where the OpenSearch domain should be created. Required
iamArn*stringIamArn is the ARN of the IAM role to be used by the OpenSearch domain. Required
volumeSizeint32VolumeSize is the size of the volume to be used for the OpenSearch domain. Optional
clusterConfigClusterConfigClusterConfig is the cluster configuration for the OpenSearch domain. Optional
vpcConfigVPCConfigVPCConfig is the VPC configuration for the OpenSearch domain. Optional
tagsmap[string]stringTags are the tags to be applied to the OpenSearch domain. Optional

VPCConfig


NameTypeDescription
subnetIds[]stringSubnetIds is the list of subnet IDs to be used for the OpenSearch domain. Optional
securityGroupIds[]stringSecurityGroupIds is the list of security group IDs to be used for the OpenSearch domain. Optional

ClusterConfig


NameTypeDescription
instanceType*stringInstanceType is the instance type to be used for the OpenSearch cluster. Optional
instanceCount*int32InstanceCount is the number of instances to be used for the OpenSearch cluster. Optional
masterNodeCount*int32MasterNodeCount is the number of master nodes to be used for the OpenSearch cluster. Optional
masterNodeType*stringMasterNodeType is the instance type to be used for the OpenSearch master nodes. Optional

Outputs


OpenSearchStatus


NameTypeDescription
domainDomainStatusDomain provides the current status of this OpenSearch domain
collectionCollectionStatusCollection provides the current status of this OpenSearch collection

DomainStatus


NameTypeDescription
conditionmetav1.ConditionCondition provides the current condition of this OpenSearch domain
arnstringArn is the ARN of the OpenSearch domain
namestringName is the name of the OpenSearch domain
endpointstringEndpoint is the endpoint of the OpenSearch domain

CollectionStatus


NameTypeDescription
conditionmetav1.ConditionCondition provides the current condition of this OpenSearch domain
arnstringArn is the ARN of the OpenSearch domain
accessPolicyAccessPolicyStatusCurrent status of the access policy
encryptionPolicyEncryptionPolicyStatusCurrent status of the encryption policy
networkPolicyNetworkPolicyStatusCurrent status of the network policy
idstringId is the ID of the OpenSearch domain
namestringName is the name of the OpenSearch domain

NetworkPolicyStatus


NameTypeDescription
conditionmetav1.ConditionCurrent condition of the network policy
namestringName of the network policy
arnstringARN of the network policy
policyVersionstringVersion of the network policy

AccessPolicyStatus


NameTypeDescription
conditionmetav1.ConditionCurrent condition of the access policy
namestringName of the access policy
arnstringARN of the access policy
policyVersionstringVersion of the access policy

EncryptionPolicyStatus


NameTypeDescription
conditionmetav1.ConditionCurrent condition of the encryption policy
namestringName of the encryption policy
arnstringARN of the encryption policy
policyVersionstringVersion of the encryption policy