stackabletech / stackabletech/opensearch-operator

Allow adding trust anchors

Open
#60 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

customer-request size/M type/feature-new
Dominant language
Rust
Stars
0
Forks
2
Avg merge
11h 1m
Merged PRs (30d)
9

Description

Users should be able to add trust anchors. This is required, if e.g. OpenSearch should connect to a self-hosted S3 instance which is signed by a corporate certificate authority, see e.g. #56.

The CRD could be extended as follows:

---
apiVersion: opensearch.stackable.tech/v1alpha1
kind: OpenSearchCluster
spec:
  nodes:
    config:
      extraTrustAnchors:
        - value: <string>
        - valueFrom:
            configMapKeyRef:
              name: <string>
              key: <string>
        - valueFrom:
            secretKeyRef:
              name: <string>
              key: <string>

Workaround

It is already possible to add trust anchors via podOverrides:

---
apiVersion: opensearch.stackable.tech/v1alpha1
kind: OpenSearchCluster
spec:
  nodes:
    podOverrides:
      spec:
        initContainers:
          - name: init-system-keystore
            image: oci.stackable.tech/sdp/opensearch:3.1.0-stackable0.0.0-dev
            command:
              - update-ca-trust
            args:
              - extract
              - --output
              - /stackable/ca-trust
            volumeMounts:
              - name: system-trust-store
                mountPath: /stackable/ca-trust
                readOnly: false
              - name: custom-trust-anchors
                mountPath: /etc/pki/ca-trust/source/anchors/custom-tls.crt
                subPath: tls.crt
                readOnly: true
        containers:
          - name: opensearch
            volumeMounts:
              - name: system-trust-store
                mountPath: /etc/pki/java/cacerts
                subPath: java/cacerts
                readOnly: true
        volumes:
          - name: custom-trust-anchors
            secret:
              secretName: secret-with-trust-anchors
              defaultMode: 0o660
          - name: system-trust-store
            emptyDir:
              sizeLimit: 10Mi

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the OpenSearchCluster CRD and the nodes.config and podOverrides entry points. Review how existing configuration values are passed into OpenSearch pods, then compare that path with the documented init-container workaround. Done means users can provide literal, ConfigMap-backed, or Secret-backed trust anchors through extraTrustAnchors.

Written by the indexing model from the issue text.

Assessment

Tech stack
kubernetes, rust
Domain
infrastructure, security
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.