cloudfoundry-community / cloudfoundry-community/rustfs-boshrelease

Sample manifests for TLS?

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

Nobody has claimed this yet.

Dominant language
Shell
Stars
0
Forks
1
PR merge metrics
No merged PRs in 30d

Description

I was working on enabling HTTPS/TLS for both the external communication and the peer communications...

But I got a lot of peer related errors like:

{"timestamp":"2026-06-17T18:14:35.178901233Z","level":"ERROR","fields":{"message":"TLS handshake failed: received corrupt message of type InvalidContentType","peer_addr":"10.0.4.203:55080"},"target":"rustfs::server::http","filename":"rustfs/src/server/http.rs","line_number":907,"threadName":"rustfs-worker","threadId":"ThreadId(4)"}

... I also saw some errors of the sort:

{"timestamp":"2026-06-17T18:07:02.116671215Z","level":"WARN","fields":{"message":"Evicting cached remote lock connection after RPC failure","addr":"http://a98a8c0a-a5a5-4cd9-9c1d-f717ec1a41ea.rustfs.default.rustfs.bosh:9000/var/vcap/store/rustfs-server/data0","op":"lock","reason":"code: 'Unknown error', message: \"h2 protocol error: http2 error\", source: tonic::transport::Error(Transport, hyper::Error(Http2, Error { kind: GoAway(b\"\", FRAME_SIZE_ERROR, Library) }))","resource_summary":".rustfs.sys/config/iam/sts/5IS48KOQA2ZXMANSCBSM/identity.json@latest"},"target":"rustfs_ecstore::rpc::remote_locker","filename":"crates/ecstore/src/rpc/remote_locker.rs","line_number":98,"threadName":"rustfs-worker","threadId":"ThreadId(5)"}

(note the http:// in the addr section)

My ops files are as follows:

enable-endpoint-tls.yml:

---
- type: replace
  path: /instance_groups/name=rustfs/jobs/name=rustfs-server/properties/rustfs/tls?
  value:
    certificate: |
      ((rustfs_endpoint_cert.certificate))
      ((rustfs_endpoint_ca.certificate))
    key: |
      ((rustfs_endpoint_cert.private_key))

- type: replace
  path: /variables?/-
  value:
    name: rustfs_endpoint_ca
    options:
      common_name: rustfs_endpoint_ca
      is_ca: true
    type: certificate

- type: replace
  path: /variables?/-
  value:
    name: rustfs_endpoint_cert
    options:
      alternative_names: ((rustfs_alternative_names))
      ca: rustfs_endpoint_ca
      common_name: rustfs_endpoint_cert
    type: certificate

enable-peer-tls.yml

---
- type: replace
  path: /instance_groups/name=rustfs/jobs/name=rustfs-server/properties/rustfs/peer?/tls?
  value:
    ca: |
      ((rustfs_peer_ca.certificate))
    certificate: |
      ((rustfs_peer_cert.certificate))
    key: |
      ((rustfs_peer_cert.private_key))

- type: replace
  path: /variables?/-
  value:
    name: rustfs_peer_ca
    options:
      common_name: rustfs_peer_ca
      is_ca: true
    type: certificate

- type: replace
  path: /variables?/-
  value:
    name: rustfs_peer_cert
    options:
      ca: rustfs_peer_ca
      common_name: rustfs_peer_cert
    type: certificate

The only variable is rustfs_alternative_names which is really the array of names like:

rustfs_alternative_names:
  - 's3.lan'
  - '*.s3.lan'

Curious if you've been successful and could add proper configuration?

Thanks!

Contributor guide

Open the contributing guide

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 with enable-endpoint-tls.yml and enable-peer-tls.yml, then inspect the BOSH properties under rustfs/tls and rustfs/peer/tls. Reproduce the HTTPS and peer-communication setup described in the issue and verify the resulting manifests address the TLS handshake, HTTP/2, and http:// endpoint errors. Done means documented sample configurations for both TLS paths.

Written by the indexing model from the issue text.

Assessment

Tech stack
yaml
Domain
devops, security
Issue type
Documentation
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.