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

object: declare object store hosting section experimental #14080

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
3 changes: 3 additions & 0 deletions Documentation/CRDs/Object-Storage/ceph-object-store-crd.md
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,9 @@ The [zone](../../Storage-Configuration/Object-Storage-RGW/ceph-object-multisite.

## Hosting Settings

!!! warning
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm inclined to suggest we wait until the discussion in #14034 settles before we declare this experimental. We have had an upstream user confirm it worked for them. But it depends on our definition of experimental. Let's discuss.

The features provided by the `hosting` configuration section are experimental. APIs may be subject to change.

The hosting settings allow you to host buckets in the object store on a custom DNS name, enabling virtual-hosted-style access to buckets similar to AWS S3 (https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html).

* `dnsNames`: a list of DNS names to host buckets on. These names need to valid according RFC-1123. Otherwise it will fail. Each endpoint requires wildcard support like [ingress loadbalancer](https://kubernetes.io/docs/concepts/services-networking/ingress/#hostname-wildcards). Do not include the wildcard itself in the list of hostnames (e.g., use "mystore.example.com" instead of "*.mystore.example.com"). Add all the hostnames like openshift routes otherwise access will be denied, but if the hostname does not support wild card then virtual host style won't work those hostname. By default cephobjectstore service endpoint and custom endpoints from cephobjectzone is included. The feature is supported only for Ceph v18 and later versions.
Expand Down
9 changes: 6 additions & 3 deletions Documentation/CRDs/specification.md
Original file line number Diff line number Diff line change
Expand Up @@ -1980,7 +1980,8 @@ ObjectStoreHostingSpec
</td>
<td>
<em>(Optional)</em>
<p>Hosting settings for the object store</p>
<p>Hosting settings for the object store
The features provided by the <code>hosting</code> configuration section are experimental. APIs may be subject to change.</p>
</td>
</tr>
</table>
Expand Down Expand Up @@ -9038,7 +9039,8 @@ bool
(<em>Appears on:</em><a href="#ceph.rook.io/v1.ObjectStoreSpec">ObjectStoreSpec</a>)
</p>
<div>
<p>ObjectStoreHostingSpec represents the hosting settings for the object store</p>
<p>ObjectStoreHostingSpec represents the hosting settings for the object store
The features provided by the <code>hosting</code> configuration section are experimental. APIs may be subject to change.</p>
</div>
<table>
<thead>
Expand Down Expand Up @@ -9266,7 +9268,8 @@ ObjectStoreHostingSpec
</td>
<td>
<em>(Optional)</em>
<p>Hosting settings for the object store</p>
<p>Hosting settings for the object store
The features provided by the <code>hosting</code> configuration section are experimental. APIs may be subject to change.</p>
</td>
</tr>
</tbody>
Expand Down
4 changes: 3 additions & 1 deletion deploy/charts/rook-ceph/templates/resources.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11193,7 +11193,9 @@ spec:
type: object
type: object
hosting:
description: Hosting settings for the object store
description: |-
Hosting settings for the object store
The features provided by the `hosting` configuration section are experimental. APIs may be subject to change.
properties:
dnsNames:
description: |-
Expand Down
4 changes: 3 additions & 1 deletion deploy/examples/crds.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11184,7 +11184,9 @@ spec:
type: object
type: object
hosting:
description: Hosting settings for the object store
description: |-
Hosting settings for the object store
The features provided by the `hosting` configuration section are experimental. APIs may be subject to change.
properties:
dnsNames:
description: |-
Expand Down
1 change: 1 addition & 0 deletions deploy/examples/object.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@ spec:
disabled: false
readinessProbe:
disabled: false
# # The features provided by the `hosting` configuration section are experimental. APIs may be subject to change.
# hosting:
# The list of subdomain names for virtual hosting of buckets.
# dnsNames:
Expand Down
10 changes: 6 additions & 4 deletions design/ceph/object/store.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,11 @@ spec:
port: 80
securePort: 443
instances: 3
hosting:
dnsNames:
- "my-ingress.mydomain.com"
- "rook-ceph-rgw-my-store.rook-ceph.svc"
# The features provided by the `hosting` configuration section are experimental. APIs may be subject to change.
hosting:
dnsNames:
- "my-ingress.mydomain.com"
- "rook-ceph-rgw-my-store.rook-ceph.svc"
```

Now create the object store.
Expand Down Expand Up @@ -343,6 +344,7 @@ For accessing the bucket point user need to configure wildcard dns in the cluste

```yaml
spec:
# The features provided by the `hosting` configuration section are experimental. APIs may be subject to change.
hosting:
dnsNames:
- "my-ingress.mydomain.com"
Expand Down
2 changes: 2 additions & 0 deletions pkg/apis/ceph.rook.io/v1/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -1479,6 +1479,7 @@ type ObjectStoreSpec struct {
AllowUsersInNamespaces []string `json:"allowUsersInNamespaces,omitempty"`

// Hosting settings for the object store
// The features provided by the `hosting` configuration section are experimental. APIs may be subject to change.
// +optional
Hosting *ObjectStoreHostingSpec `json:"hosting,omitempty"`
}
Expand Down Expand Up @@ -1655,6 +1656,7 @@ type ObjectEndpoints struct {
}

// ObjectStoreHostingSpec represents the hosting settings for the object store
// The features provided by the `hosting` configuration section are experimental. APIs may be subject to change.
type ObjectStoreHostingSpec struct {
// A list of DNS names in which bucket can be accessed via virtual host path. These names need to valid according RFC-1123.
// Each domain requires wildcard support like ingress loadbalancer.
Expand Down