Skip to content

Commit 664e6ec

Browse files
committed
Implement fix for "S3 reference inconsistency #162"
1 parent b3158b1 commit 664e6ec

File tree

21 files changed

+258
-352
lines changed

21 files changed

+258
-352
lines changed

deploy/helm/spark-k8s-operator/crds/crds.yaml

Lines changed: 69 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -757,8 +757,8 @@ spec:
757757
mode:
758758
nullable: true
759759
type: string
760-
s3bucket:
761-
description: Operators are expected to define fields for this type in order to work with S3 buckets.
760+
s3connection:
761+
description: Operators are expected to define fields for this type in order to work with S3 connections.
762762
nullable: true
763763
oneOf:
764764
- required:
@@ -767,109 +767,90 @@ spec:
767767
- reference
768768
properties:
769769
inline:
770-
description: S3 bucket specification containing only the bucket name and an inlined or referenced connection specification.
770+
description: S3 connection definition as CRD.
771771
properties:
772-
bucketName:
772+
accessStyle:
773+
description: Which access style to use. Defaults to virtual hosted-style as most of the data products out there. Have a look at the official documentation on <https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html>
774+
enum:
775+
- Path
776+
- VirtualHosted
773777
nullable: true
774778
type: string
775-
connection:
776-
description: Operators are expected to define fields for this type in order to work with S3 connections.
779+
credentials:
780+
description: If the S3 uses authentication you have to specify you S3 credentials. In the most cases a SecretClass providing `accessKey` and `secretKey` is sufficient.
777781
nullable: true
778-
oneOf:
779-
- required:
780-
- inline
781-
- required:
782-
- reference
783782
properties:
784-
inline:
785-
description: S3 connection definition as CRD.
783+
scope:
784+
description: '[Scope](https://docs.stackable.tech/secret-operator/scope.html) of the [SecretClass](https://docs.stackable.tech/secret-operator/secretclass.html)'
785+
nullable: true
786786
properties:
787-
accessStyle:
788-
description: Which access style to use. Defaults to virtual hosted-style as most of the data products out there. Have a look at the official documentation on <https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html>
789-
enum:
790-
- Path
791-
- VirtualHosted
792-
nullable: true
793-
type: string
794-
credentials:
795-
description: If the S3 uses authentication you have to specify you S3 credentials. In the most cases a SecretClass providing `accessKey` and `secretKey` is sufficient.
796-
nullable: true
797-
properties:
798-
scope:
799-
description: '[Scope](https://docs.stackable.tech/secret-operator/scope.html) of the [SecretClass](https://docs.stackable.tech/secret-operator/secretclass.html)'
800-
nullable: true
801-
properties:
802-
node:
803-
default: false
804-
type: boolean
805-
pod:
806-
default: false
807-
type: boolean
808-
services:
809-
default: []
810-
items:
811-
type: string
812-
type: array
813-
type: object
814-
secretClass:
815-
description: '[SecretClass](https://docs.stackable.tech/secret-operator/secretclass.html) containing the LDAP bind credentials'
816-
type: string
817-
required:
818-
- secretClass
787+
node:
788+
default: false
789+
type: boolean
790+
pod:
791+
default: false
792+
type: boolean
793+
services:
794+
default: []
795+
items:
796+
type: string
797+
type: array
798+
type: object
799+
secretClass:
800+
description: '[SecretClass](https://docs.stackable.tech/secret-operator/secretclass.html) containing the LDAP bind credentials'
801+
type: string
802+
required:
803+
- secretClass
804+
type: object
805+
host:
806+
description: Hostname of the S3 server without any protocol or port
807+
nullable: true
808+
type: string
809+
port:
810+
description: Port the S3 server listens on. If not specified the products will determine the port to use.
811+
format: uint16
812+
minimum: 0.0
813+
nullable: true
814+
type: integer
815+
tls:
816+
description: If you want to use TLS when talking to S3 you can enable TLS encrypted communication with this setting.
817+
nullable: true
818+
properties:
819+
verification:
820+
description: The verification method used to verify the certificates of the server and/or the client
821+
oneOf:
822+
- required:
823+
- none
824+
- required:
825+
- server
826+
properties:
827+
none:
828+
description: Use TLS but don't verify certificates
819829
type: object
820-
host:
821-
description: Hostname of the S3 server without any protocol or port
822-
nullable: true
823-
type: string
824-
port:
825-
description: Port the S3 server listens on. If not specified the products will determine the port to use.
826-
format: uint16
827-
minimum: 0.0
828-
nullable: true
829-
type: integer
830-
tls:
831-
description: If you want to use TLS when talking to S3 you can enable TLS encrypted communication with this setting.
832-
nullable: true
830+
server:
831+
description: Use TLS and ca certificate to verify the server
833832
properties:
834-
verification:
835-
description: The verification method used to verify the certificates of the server and/or the client
833+
caCert:
834+
description: Ca cert to verify the server
836835
oneOf:
837836
- required:
838-
- none
837+
- webPki
839838
- required:
840-
- server
839+
- secretClass
841840
properties:
842-
none:
843-
description: Use TLS but don't verify certificates
844-
type: object
845-
server:
846-
description: Use TLS and ca certificate to verify the server
847-
properties:
848-
caCert:
849-
description: Ca cert to verify the server
850-
oneOf:
851-
- required:
852-
- webPki
853-
- required:
854-
- secretClass
855-
properties:
856-
secretClass:
857-
description: Name of the SecretClass which will provide the ca cert. Note that a SecretClass does not need to have a key but can also work with just a ca cert. So if you got provided with a ca cert but don't have access to the key you can still use this method.
858-
type: string
859-
webPki:
860-
description: Use TLS and the ca certificates trusted by the common web browsers to verify the server. This can be useful when you e.g. use public AWS S3 or other public available services.
861-
type: object
862-
type: object
863-
required:
864-
- caCert
841+
secretClass:
842+
description: Name of the SecretClass which will provide the ca cert. Note that a SecretClass does not need to have a key but can also work with just a ca cert. So if you got provided with a ca cert but don't have access to the key you can still use this method.
843+
type: string
844+
webPki:
845+
description: Use TLS and the ca certificates trusted by the common web browsers to verify the server. This can be useful when you e.g. use public AWS S3 or other public available services.
865846
type: object
866847
type: object
867848
required:
868-
- verification
849+
- caCert
869850
type: object
870851
type: object
871-
reference:
872-
type: string
852+
required:
853+
- verification
873854
type: object
874855
type: object
875856
reference:

0 commit comments

Comments
 (0)