diff --git a/CHANGELOG.md b/CHANGELOG.md index b47c6cd96..812556a06 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ All notable changes to this project will be documented in this file. ([#944]). - Add `/ready` endpoint to the operator Deployment, which reports the CRD installation status ([#949]). - Coordinators now have a default affinity to the OPA Pods when OPA authorization is configured ([#924]). +- Add support for 483 ([#956]). ### Changed @@ -59,6 +60,10 @@ All notable changes to this project will be documented in this file. `replicas: null`, but counting it as zero left `discovery.uri` out of `config.properties` altogether, so no pod could find the coordinator ([#945]). +### Removed + +- Remove support for 479 ([#956]). + [#909]: https://github.com/stackabletech/trino-operator/pull/909 [#913]: https://github.com/stackabletech/trino-operator/pull/913 [#918]: https://github.com/stackabletech/trino-operator/pull/918 @@ -74,6 +79,7 @@ All notable changes to this project will be documented in this file. [#945]: https://github.com/stackabletech/trino-operator/pull/945 [#949]: https://github.com/stackabletech/trino-operator/pull/949 [#953]: https://github.com/stackabletech/trino-operator/pull/953 +[#956]: https://github.com/stackabletech/trino-operator/pull/956 ## [26.7.0] - 2026-07-21 diff --git a/docs/modules/trino/examples/getting_started/code/trino.yaml b/docs/modules/trino/examples/getting_started/code/trino.yaml index 32b14f4a3..e284fe27f 100644 --- a/docs/modules/trino/examples/getting_started/code/trino.yaml +++ b/docs/modules/trino/examples/getting_started/code/trino.yaml @@ -5,7 +5,7 @@ metadata: name: simple-trino spec: image: - productVersion: "481" + productVersion: "483" clusterConfig: catalogLabelSelector: matchLabels: diff --git a/docs/modules/trino/examples/getting_started/code/trino.yaml.j2 b/docs/modules/trino/examples/getting_started/code/trino.yaml.j2 index 32b14f4a3..e284fe27f 100644 --- a/docs/modules/trino/examples/getting_started/code/trino.yaml.j2 +++ b/docs/modules/trino/examples/getting_started/code/trino.yaml.j2 @@ -5,7 +5,7 @@ metadata: name: simple-trino spec: image: - productVersion: "481" + productVersion: "483" clusterConfig: catalogLabelSelector: matchLabels: diff --git a/docs/modules/trino/partials/supported-versions.adoc b/docs/modules/trino/partials/supported-versions.adoc index 7344332f7..a3fa8911b 100644 --- a/docs/modules/trino/partials/supported-versions.adoc +++ b/docs/modules/trino/partials/supported-versions.adoc @@ -3,6 +3,6 @@ // Stackable Platform documentation. // These versions must be sorted in descending order (highest to lowest). -- 481 (Please note that we use the https://github.com/snowlift/trino-storage[trino-storage] connector version 477, as no newer version was available at the time of release) -- 479 (deprecated; Please note that we use the https://github.com/snowlift/trino-storage[trino-storage] connector version 477, as no newer version was available at the time of release) +- 483 (Note, the trino-storage connector is no longer shipped) +- 481 (Deprecated) - 477 (LTS) diff --git a/rust/operator-binary/src/config/jvm.rs b/rust/operator-binary/src/config/jvm.rs index d51dd92ce..f7837a5f2 100644 --- a/rust/operator-binary/src/config/jvm.rs +++ b/rust/operator-binary/src/config/jvm.rs @@ -127,10 +127,8 @@ fn recommended_trino_jvm_args(product_version: u16) -> Result, Error "-XX:+EnableDynamicAgentLoading".to_owned(), ]), // Copied from: - // - https://trino.io/docs/479/installation/deployment.html#jvm-config. - // However, the docs are wrong: https://github.com/trinodb/trino/commit/1ddb0f9976fcd9917aaf0b689ca0acc8635e24f1. - // According to the commit we need to add "--add-modules=jdk.incubator.vector" - 479 => Ok(vec![ + // - https://trino.io/docs/481/installation/deployment.html#jvm-config + 481 => Ok(vec![ "-XX:InitialRAMPercentage=80".to_owned(), "-XX:MaxRAMPercentage=80".to_owned(), "-XX:G1HeapRegionSize=32M".to_owned(), @@ -143,13 +141,11 @@ fn recommended_trino_jvm_args(product_version: u16) -> Result, Error "-XX:PerBytecodeRecompilationCutoff=10000".to_owned(), "-Djdk.attach.allowAttachSelf=true".to_owned(), "-Djdk.nio.maxCachedBufferSize=2000000".to_owned(), - "-Dfile.encoding=UTF-8".to_owned(), - "-XX:+EnableDynamicAgentLoading".to_owned(), "--add-modules=jdk.incubator.vector".to_owned(), ]), // Copied from: - // - https://trino.io/docs/481/installation/deployment.html#jvm-config - 481 => Ok(vec![ + // - https://trino.io/docs/483/installation/deployment.html#jvm-config + 483 => Ok(vec![ "-XX:InitialRAMPercentage=80".to_owned(), "-XX:MaxRAMPercentage=80".to_owned(), "-XX:G1HeapRegionSize=32M".to_owned(), diff --git a/tests/templates/kuttl/smoke/00-secrets.yaml.j2 b/tests/templates/kuttl/smoke/00-secrets.yaml.j2 deleted file mode 100644 index 72fe2f493..000000000 --- a/tests/templates/kuttl/smoke/00-secrets.yaml.j2 +++ /dev/null @@ -1,77 +0,0 @@ ---- -apiVersion: v1 -kind: Secret -metadata: - name: minio-credentials - labels: - secrets.stackable.tech/class: s3-credentials-class -timeout: 240 -stringData: - accessKey: minioAccessKey - secretKey: minioSecretKey - # The following two entries are used by the Bitnami chart for MinIO to - # set up credentials for accessing buckets managed by the MinIO tenant. - root-user: minioAccessKey - root-password: minioSecretKey ---- -apiVersion: secrets.stackable.tech/v1alpha1 -kind: SecretClass -metadata: - name: s3-credentials-class -spec: - backend: - k8sSearch: - searchNamespace: - pod: {} ---- -apiVersion: v1 -kind: Secret -metadata: - name: centralized-minio-users -type: Opaque -stringData: - username1: | - username=trino - password=trinotrino - disabled=false - policies=readwrite,consoleAdmin,diagnostics - setPolicies=false - ---- -apiVersion: secrets.stackable.tech/v1alpha1 -kind: SecretClass -metadata: - name: minio-tls-certificates -spec: - backend: - k8sSearch: - searchNamespace: - pod: {} ---- -apiVersion: v1 -kind: Secret -metadata: - name: minio-tls-certificates - labels: - secrets.stackable.tech/class: minio-tls-certificates -# Have a look at the folder certs on how to create this -data: - ca.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUQyVENDQXNHZ0F3SUJBZ0lVTmpxdUdZV3R5SjVhNnd5MjNIejJHUmNNbHdNd0RRWUpLb1pJaHZjTkFRRUwKQlFBd2V6RUxNQWtHQTFVRUJoTUNSRVV4R3pBWkJnTlZCQWdNRWxOamFHeGxjM2RwWnkxSWIyeHpkR1ZwYmpFTwpNQXdHQTFVRUJ3d0ZWMlZrWld3eEtEQW1CZ05WQkFvTUgxTjBZV05yWVdKc1pTQlRhV2R1YVc1bklFRjFkR2h2CmNtbDBlU0JKYm1NeEZUQVRCZ05WQkFNTURITjBZV05yWVdKc1pTNWtaVEFnRncweU16QTJNVFl4TWpVeE1ESmEKR0E4eU1USXpNRFV5TXpFeU5URXdNbG93ZXpFTE1Ba0dBMVVFQmhNQ1JFVXhHekFaQmdOVkJBZ01FbE5qYUd4bApjM2RwWnkxSWIyeHpkR1ZwYmpFT01Bd0dBMVVFQnd3RlYyVmtaV3d4S0RBbUJnTlZCQW9NSDFOMFlXTnJZV0pzClpTQlRhV2R1YVc1bklFRjFkR2h2Y21sMGVTQkpibU14RlRBVEJnTlZCQU1NREhOMFlXTnJZV0pzWlM1a1pUQ0MKQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFOblYvdmJ5M1JvNTdhMnF2UVJubjBqZQplS01VMitGMCtsWk5DQXZpR1VENWJtOGprOTFvUFpuazBiaFFxZXlFcm1EUzRXVDB6ZXZFUklCSkpEamZMMEQ4CjQ2QmU3UGlNS2UwZEdqb3FJM3o1Y09JZWpjOGFMUEhTSWxnTjZsVDNmSXJ1UzE2Y29RZ0c0dWFLaUhGNStlV0YKRFJVTGR1NmRzWXV6NmRLanFSaVVPaEh3RHd0VUprRHdQditFSXRxbzBIK01MRkxMWU0wK2xFSWFlN2RONUNRNQpTbzVXaEwyY3l2NVZKN2xqL0VBS0NWaUlFZ0NtekRSRGNSZ1NTald5SDRibjZ5WDIwMjZmUEl5V0pGeUVkTC82CmpBT0pBRERSMEd5aE5PWHJFZXFob2NTTW5JYlFWcXdBVDBrTWh1WFN2d3Zscm5MeVRwRzVqWm00bFVNMzRrTUMKQXdFQUFhTlRNRkV3SFFZRFZSME9CQllFRkVJM1JNTWl5aUJqeVExUlM4bmxPUkpWZDFwQk1COEdBMVVkSXdRWQpNQmFBRkVJM1JNTWl5aUJqeVExUlM4bmxPUkpWZDFwQk1BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJCmh2Y05BUUVMQlFBRGdnRUJBSHRLUlhkRmR0VWh0VWpvZG1ZUWNlZEFEaEhaT2hCcEtpbnpvdTRicmRrNEhmaEYKTHIvV0ZsY1JlbWxWNm1Cc0xweU11SytUZDhaVUVRNkpFUkx5NmxTL2M2cE9HeG5CNGFDbEU4YXQrQytUakpBTwpWbTNXU0k2VlIxY0ZYR2VaamxkVlE2eGtRc2tNSnpPN2RmNmlNVFB0VjVSa01lSlh0TDZYYW1FaTU0ckJvZ05ICk5yYStFSkJRQmwvWmU5ME5qZVlidjIwdVFwWmFhWkZhYVNtVm9OSERwQndsYTBvdXkrTWpPYkMzU3BnT3ExSUMKUGwzTnV3TkxWOFZiT3I1SHJoUUFvS21nU05iM1A4dmFUVnV4L1gwWWZqeS9TN045a1BCYUs5bUZqNzR6d1Y5dwpxU1ExNEtsNWpPM1YzaHJHV1laRWpET2diWnJyRVgxS1hFdXN0K1E9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K - tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUR5RENDQXJDZ0F3SUJBZ0lVQ0kyUE5OcnR6cDZRbDdHa3VhRnhtRGE2VUJvd0RRWUpLb1pJaHZjTkFRRUwKQlFBd2V6RUxNQWtHQTFVRUJoTUNSRVV4R3pBWkJnTlZCQWdNRWxOamFHeGxjM2RwWnkxSWIyeHpkR1ZwYmpFTwpNQXdHQTFVRUJ3d0ZWMlZrWld3eEtEQW1CZ05WQkFvTUgxTjBZV05yWVdKc1pTQlRhV2R1YVc1bklFRjFkR2h2CmNtbDBlU0JKYm1NeEZUQVRCZ05WQkFNTURITjBZV05yWVdKc1pTNWtaVEFnRncweU16QTJNVFl4TWpVeE1ESmEKR0E4eU1USXpNRFV5TXpFeU5URXdNbG93WGpFTE1Ba0dBMVVFQmhNQ1JFVXhHekFaQmdOVkJBZ01FbE5qYUd4bApjM2RwWnkxSWIyeHpkR1ZwYmpFT01Bd0dBMVVFQnd3RlYyVmtaV3d4RWpBUUJnTlZCQW9NQ1ZOMFlXTnJZV0pzClpURU9NQXdHQTFVRUF3d0ZiV2x1YVc4d2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS0FvSUIKQVFDanluVnorWEhCOE9DWTRwc0VFWW1qb2JwZHpUbG93d2NTUU4rWURQQ2tCZW9yMFRiODdFZ0x6SksrSllidQpwb1hCbE5JSlBRYW93SkVvL1N6U2s4ZnUyWFNNeXZBWlk0RldHeEp5Mnl4SXh2UC9pYk9HT1l1aVBHWEsyNHQ2ClpjR1RVVmhhdWlaR1Nna1dyZWpXV2g3TWpGUytjMXZhWVpxQitRMXpQczVQRk1sYzhsNVYvK2I4WjdqTUppODQKbU9mSVB4amt2SXlKcjVVa2VGM1VmTHFKUzV5NExGNHR5NEZ0MmlBZDdiYmZIYW5mdlltdjZVb0RWdE1YdFdvMQpvUVBmdjNzaFdybVJMenc2ZXVJQXRiWGM1Q2pCeUlha0NiaURuQVU4cktnK0IxSjRtdlFnckx3bzNxUHJ5Smd4ClNkaWRtWjJtRVI3RXorYzVCMG0vTGlJaEFnTUJBQUdqWHpCZE1Cc0dBMVVkRVFRVU1CS0NCVzFwYm1sdmdnbHMKYjJOaGJHaHZjM1F3SFFZRFZSME9CQllFRkpRMGdENWtFdFFyK3REcERTWjdrd1o4SDVoR01COEdBMVVkSXdRWQpNQmFBRkVJM1JNTWl5aUJqeVExUlM4bmxPUkpWZDFwQk1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQmNkaGQrClI0Sm9HdnFMQms1OWRxSVVlY2N0dUZzcmRQeHNCaU9GaFlOZ1pxZWRMTTBVTDVEenlmQUhmVk8wTGZTRURkZFgKUkpMOXlMNytrTVUwVDc2Y3ZkQzlYVkFJRTZIVXdUbzlHWXNQcXN1eVpvVmpOcEVESkN3WTNDdm9ubEpWZTRkcQovZ0FiSk1ZQitUU21ZNXlEUHovSkZZL1haellhUGI3T2RlR3VqYlZUNUl4cDk3QXBTOFlJaXY3M0Mwd1ViYzZSCmgwcmNmUmJ5a1NRVWg5dmdWZFhSU1I4RFQzV0NmZHFOek5CWVh2OW1xZlc1ejRzYkdqK2wzd1VsL0kzRi9tSXcKZnlPNEN0aTRha2lHVkhsZmZFeTB3a3pWYUJ4aGNYajJJM0JVVGhCNFpxamxzc2llVmFGa3d2WG1teVJUMG9FVwo1SCtOUEhjcXVTMXpQc2NsCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K - tls.key: LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2QUlCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktZd2dnU2lBZ0VBQW9JQkFRQ2p5blZ6K1hIQjhPQ1kKNHBzRUVZbWpvYnBkelRsb3d3Y1NRTitZRFBDa0Jlb3IwVGI4N0VnTHpKSytKWWJ1cG9YQmxOSUpQUWFvd0pFbwovU3pTazhmdTJYU015dkFaWTRGV0d4SnkyeXhJeHZQL2liT0dPWXVpUEdYSzI0dDZaY0dUVVZoYXVpWkdTZ2tXCnJlaldXaDdNakZTK2MxdmFZWnFCK1ExelBzNVBGTWxjOGw1Vi8rYjhaN2pNSmk4NG1PZklQeGprdkl5SnI1VWsKZUYzVWZMcUpTNXk0TEY0dHk0RnQyaUFkN2JiZkhhbmZ2WW12NlVvRFZ0TVh0V28xb1FQZnYzc2hXcm1STHp3NgpldUlBdGJYYzVDakJ5SWFrQ2JpRG5BVThyS2crQjFKNG12UWdyTHdvM3FQcnlKZ3hTZGlkbVoybUVSN0V6K2M1CkIwbS9MaUloQWdNQkFBRUNnZ0VBQWQzdDVzdUNFMjdXY0llc3NxZ3NoSFAwZHRzKyswVzF6K3h6WC8xTnhPRFkKWVhWNkJmbi9mRHJ4dFQ4aVFaZ2VVQzJORTFQaHZveXJXdWMvMm9xYXJjdEd1OUFZV29HNjJLdG9VMnpTSFdZLwpJN3VERTFXV2xOdlJZVFdOYW5DOGV4eGpRRzE4d0RKWjFpdFhTeEl0NWJEM3lrL3dUUlh0dCt1SnpyVjVqb2N1CmNoeERMd293aXUxQWo2ZFJDWk5CejlUSnh5TnI1ME5ZVzJVWEJhVC84N1hyRkZkSndNVFZUMEI3SE9uRzdSQlYKUWxLdzhtcVZiYU5lbmhjdk1qUjI5c3hUekhSK2p4SU8zQndPNk9Hai9PRmhGQllVN1RMWGVsZDFxb2UwdmIyRwpiOGhQcEd1cHRyNUF0OWx3MXc1d1EzSWdpdXRQTkg1cXlEeUNwRWw2RVFLQmdRRGNkYnNsT2ZLSmo3TzJMQXlZCkZ0a1RwaWxFMFYzajBxbVE5M0lqclY0K0RSbUxNRUIyOTk0MDdCVVlRUWoxL0RJYlFjb1oyRUVjVUI1cGRlSHMKN0RNRUQ2WExIYjJKVTEyK2E3c1d5Q05kS2VjZStUNy9JYmxJOFR0MzQwVWxIUTZ6U01TRGNqdmZjRkhWZ3YwcwpDYWpoRng3TmtMRVhUWnI4ZlQzWUloajR2UUtCZ1FDK01nWjFVbW9KdzlJQVFqMnVJVTVDeTl4aldlWURUQU8vCllhWEl6d2xnZTQzOE1jYmI0Y04yU2FOU0dEZ1Y3bnU1a3FpaWhwalBZV0lpaU9CcDlrVFJIWE9kUFc0N3N5ZUkKdDNrd3JwMnpWbFVnbGNNWlo2bW1WM1FWYUFOWmdqVTRSU3Y0ZS9WeFVMamJaYWZqUHRaUnNqWkdwSzBZVTFvdApWajhJZVE3Zk5RS0JnQ1ArWk11ekpsSW5VQ1FTRlF4UHpxbFNtN0pNckpPaHRXV2h3TlRxWFZTc050dHV5VmVqCktIaGpneDR1b0JQcFZSVDJMTlVEWmI0RnByRjVPYVhBK3FOVEdyS0s3SU1iUlZidHArSVVVeEhHNGFGQStIUVgKUVhVVFRhNUpRT1RLVmJnWHpWM1lyTVhTUk1valZNcDMyVWJHeTVTc1p2MXpBamJ2QzhYWjYxSFJBb0dBZEJjUQp2aGU1eFpBUzVEbUtjSGkvemlHa3ViZXJuNk9NUGdxYUtJSEdsVytVOExScFR0ajBkNFRtL1Rydk1PUEovVEU1CllVcUtoenBIcmhDaCtjdHBvY0k2U1dXdm5SenpLbzNpbVFaY0Y1VEFqUTBjY3F0RmI5UzlkRHR5bi9YTUNqYWUKYWlNdll5VUVVRll5TFpDelBGWnNycDNoVVpHKzN5RmZoQXB3TzJrQ2dZQkh3WWFQSWRXNld3NytCMmhpbjBvdwpqYTNjZXN2QTRqYU1Qd1NMVDhPTnRVMUdCU01md2N6TWJuUEhMclJ2Qjg3bjlnUGFSMndRR1VtckZFTzNMUFgvCmtSY09HcFlCSHBEWEVqRGhLa1dkUnVMT0ZnNEhMWmRWOEFOWmxRMFZTY0U4dTNkRERVTzg5cEdEbjA4cVRBcmwKeDlreHN1ZEVWcmtlclpiNVV4RlZxUT09Ci0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0K ---- -apiVersion: s3.stackable.tech/v1alpha1 -kind: S3Connection -metadata: - name: minio -spec: - host: minio - port: 9000 - accessStyle: Path - credentials: - secretClass: s3-credentials-class - tls: - verification: - server: - caCert: - secretClass: minio-tls-certificates diff --git a/tests/templates/kuttl/smoke/01-create-s3-connection.yaml b/tests/templates/kuttl/smoke/01-create-s3-connection.yaml new file mode 100644 index 000000000..26f46c12c --- /dev/null +++ b/tests/templates/kuttl/smoke/01-create-s3-connection.yaml @@ -0,0 +1,5 @@ +--- +apiVersion: kuttl.dev/v1beta1 +kind: TestStep +commands: + - script: envsubst '$NAMESPACE' < 01_s3-connection.yaml | kubectl apply -n $NAMESPACE -f - diff --git a/tests/templates/kuttl/smoke/01_s3-connection.yaml b/tests/templates/kuttl/smoke/01_s3-connection.yaml new file mode 100644 index 000000000..dcd1985b9 --- /dev/null +++ b/tests/templates/kuttl/smoke/01_s3-connection.yaml @@ -0,0 +1,43 @@ +--- +apiVersion: s3.stackable.tech/v1alpha1 +kind: S3Connection +metadata: + name: garage +spec: + # Must be the FQDN, that is the only name the "tls" SecretClass puts into the + # certificate for the service=garage scope used in garage.yaml. + host: "garage.${NAMESPACE}.svc.cluster.local" + port: 9000 + # The region must match the s3_region in garage.yaml. + region: + name: region-1 + accessStyle: Path + credentials: + secretClass: s3-credentials-class + tls: + verification: + server: + caCert: + secretClass: tls +--- +apiVersion: secrets.stackable.tech/v1alpha1 +kind: SecretClass +metadata: + name: s3-credentials-class +spec: + backend: + k8sSearch: + searchNamespace: + pod: {} +--- +apiVersion: v1 +kind: Secret +metadata: + name: garage-credentials + labels: + secrets.stackable.tech/class: s3-credentials-class +stringData: + # Garage requires the GK<24 hex> key id format and a 64 hex char secret. + # Must match the GARAGE_DEFAULT_* variables in garage.yaml. + accessKey: GK31c0ffee31c0ffee31c0ffee + secretKey: deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef diff --git a/tests/templates/kuttl/smoke/02-assert.yaml b/tests/templates/kuttl/smoke/02-assert.yaml new file mode 100644 index 000000000..20a8dae05 --- /dev/null +++ b/tests/templates/kuttl/smoke/02-assert.yaml @@ -0,0 +1,12 @@ +--- +apiVersion: kuttl.dev/v1beta1 +kind: TestAssert +timeout: 600 +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: garage +status: + readyReplicas: 1 + replicas: 1 diff --git a/tests/templates/kuttl/smoke/02-install-garage.yaml b/tests/templates/kuttl/smoke/02-install-garage.yaml new file mode 100644 index 000000000..df0d554b0 --- /dev/null +++ b/tests/templates/kuttl/smoke/02-install-garage.yaml @@ -0,0 +1,5 @@ +--- +apiVersion: kuttl.dev/v1beta1 +kind: TestStep +commands: + - script: kubectl -n $NAMESPACE apply -f 02_garage.yaml diff --git a/tests/templates/kuttl/smoke/02-install-minio.yaml.j2 b/tests/templates/kuttl/smoke/02-install-minio.yaml.j2 deleted file mode 100644 index 0be8b7a3a..000000000 --- a/tests/templates/kuttl/smoke/02-install-minio.yaml.j2 +++ /dev/null @@ -1,11 +0,0 @@ ---- -apiVersion: kuttl.dev/v1beta1 -kind: TestStep -commands: - - script: >- - helm install minio - --namespace $NAMESPACE - --version 12.6.4 - -f helm-bitnami-minio-values.yaml - --repo https://charts.bitnami.com/bitnami minio - timeout: 240 diff --git a/tests/templates/kuttl/smoke/02_garage.yaml b/tests/templates/kuttl/smoke/02_garage.yaml new file mode 100644 index 000000000..d2f3877cb --- /dev/null +++ b/tests/templates/kuttl/smoke/02_garage.yaml @@ -0,0 +1,182 @@ +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: garage +data: + # https://garagehq.deuxfleurs.fr/documentation/reference-manual/configuration/ + garage.toml: | + metadata_dir = "/var/lib/garage/meta" + data_dir = "/var/lib/garage/data" + db_engine = "lmdb" + + # Single node, no redundancy. Test data is disposable (emptyDir). + replication_factor = 1 + + # Throwaway value, this cluster is never joined by another node. + rpc_secret = "deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef" + rpc_bind_addr = "[::]:3901" + rpc_public_addr = "127.0.0.1:3901" + + [s3_api] + # Garage rejects requests signed for a different region, so this must match + # the region every client signs with (s3-connection.yaml for the products + # configured by the operators, and the upload in 04-prepare-bucket.yaml). + # The name is a provider agnostic one. + s3_region = "region-1" + api_bind_addr = "[::]:3900" + + [admin] + api_bind_addr = "[::]:3903" + # Garage terminates no TLS on any endpoint, so nginx does it and forwards to + # Garage on loopback. Mounted over /etc/nginx/nginx.conf, hence the full file. + nginx.conf: | + events {} + http { + server { + listen 9000 ssl; + ssl_certificate /stackable/tls/tls.crt; + ssl_certificate_key /stackable/tls/tls.key; + + # Don't buffer or size-limit object uploads. + client_max_body_size 0; + + location / { + proxy_pass http://127.0.0.1:3900; + # Must be the original Host, it is part of the SigV4 signature. + proxy_set_header Host $http_host; + proxy_http_version 1.1; + proxy_buffering off; + proxy_request_buffering off; + } + } + } +--- +apiVersion: v1 +kind: Service +metadata: + name: garage +spec: + selector: + app: garage + ports: + - name: https + port: 9000 + targetPort: https +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: garage + labels: + app: garage +spec: + replicas: 1 + selector: + matchLabels: + app: garage + template: + metadata: + labels: + app: garage + spec: + containers: + - name: garage + image: oci.stackable.tech/stackable/dxflrs/garage:v2.4.1 + imagePullPolicy: IfNotPresent + # The image has no entrypoint. --single-node creates the cluster + # layout, --default-bucket creates the bucket and the access key from + # the GARAGE_DEFAULT_* variables below (implies --default-access-key). + command: + - /garage + - server + - --single-node + - --default-bucket + env: + - name: GARAGE_DEFAULT_BUCKET + value: trino + # Garage requires the GK<24 hex> key id format and a 64 hex char + # secret. These are also set in s3-connection.yaml. + - name: GARAGE_DEFAULT_ACCESS_KEY + value: GK31c0ffee31c0ffee31c0ffee + - name: GARAGE_DEFAULT_SECRET_KEY + value: deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef + ports: + - name: rpc + containerPort: 3901 + - name: admin + containerPort: 3903 + readinessProbe: + httpGet: + path: /health + port: admin + volumeMounts: + - name: config + mountPath: /etc/garage.toml + subPath: garage.toml + - name: data + mountPath: /var/lib/garage + # The LimitRange in 00-limit-range.yaml rejects Pods without limits, + # and caps them at 5x the CPU request and 1x the memory request. + resources: + requests: + cpu: 500m + memory: 512Mi + limits: + cpu: "1" + memory: 512Mi + - name: nginx + image: docker.io/library/nginx:1.29-alpine + imagePullPolicy: IfNotPresent + ports: + - name: https + containerPort: 9000 + volumeMounts: + - name: config + mountPath: /etc/nginx/nginx.conf + subPath: nginx.conf + - name: tls + mountPath: /stackable/tls + resources: + requests: + cpu: 100m + memory: 128Mi + limits: + cpu: 500m + memory: 128Mi + # The Garage image ships no S3 client, so this is where the test data is + # uploaded from, see 04-prepare-bucket.yaml. It talks to Garage over + # loopback, which keeps the upload out of the TLS and DNS picture. + - name: s3-client + image: docker.io/curlimages/curl:8.17.0 + imagePullPolicy: IfNotPresent + command: + - sleep + - infinity + resources: + requests: + cpu: 100m + memory: 128Mi + limits: + cpu: 500m + memory: 128Mi + volumes: + - name: config + configMap: + name: garage + - name: data + emptyDir: {} + - name: tls + ephemeral: + volumeClaimTemplate: + metadata: + annotations: + secrets.stackable.tech/class: tls + secrets.stackable.tech/scope: service=garage + spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: "1" + storageClassName: secrets.stackable.tech diff --git a/tests/templates/kuttl/smoke/04-prepare-bucket.yaml b/tests/templates/kuttl/smoke/04-prepare-bucket.yaml new file mode 100644 index 000000000..3b52c5c9f --- /dev/null +++ b/tests/templates/kuttl/smoke/04-prepare-bucket.yaml @@ -0,0 +1,15 @@ +--- +apiVersion: kuttl.dev/v1beta1 +kind: TestStep +commands: + - script: | + POD=$(kubectl -n $NAMESPACE get pod -l app=garage -o jsonpath='{.items[0].metadata.name}') + kubectl cp -n $NAMESPACE -c s3-client yellow_tripdata_2021-07.csv $POD:/tmp + # Talks to the Garage S3 API directly (no TLS, no proxy). The region must + # match the s3_region in garage.yaml, Garage rejects other signatures. + kubectl -n $NAMESPACE exec $POD -c s3-client -- \ + curl --fail --silent --show-error \ + --aws-sigv4 "aws:amz:region-1:s3" \ + --user "GK31c0ffee31c0ffee31c0ffee:deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef" \ + --upload-file /tmp/yellow_tripdata_2021-07.csv \ + http://127.0.0.1:3900/trino/taxi-data/yellow_tripdata_2021-07.csv diff --git a/tests/templates/kuttl/smoke/04-prepare-bucket.yaml.j2 b/tests/templates/kuttl/smoke/04-prepare-bucket.yaml.j2 deleted file mode 100644 index 7ed22298f..000000000 --- a/tests/templates/kuttl/smoke/04-prepare-bucket.yaml.j2 +++ /dev/null @@ -1,10 +0,0 @@ ---- -apiVersion: kuttl.dev/v1beta1 -kind: TestStep -commands: - # give minio enough time to start - - command: sleep 5 - - script: | - POD=$(kubectl -n $NAMESPACE get pod -l app.kubernetes.io/instance=minio -o name | head -n 1 | sed -e 's#pod/##') - kubectl cp -n $NAMESPACE yellow_tripdata_2021-07.csv $POD:/tmp - kubectl -n $NAMESPACE exec $POD -- mc cp /tmp/yellow_tripdata_2021-07.csv local/trino/taxi-data/ diff --git a/tests/templates/kuttl/smoke/08-install-hive.yaml.j2 b/tests/templates/kuttl/smoke/08-install-hive.yaml.j2 index 647d6ea83..e00ff1877 100644 --- a/tests/templates/kuttl/smoke/08-install-hive.yaml.j2 +++ b/tests/templates/kuttl/smoke/08-install-hive.yaml.j2 @@ -16,7 +16,7 @@ spec: hdfs: configMap: hdfs s3: - reference: minio + reference: garage {% if lookup('env', 'VECTOR_AGGREGATOR') %} vectorAggregatorConfigMapName: vector-aggregator-discovery {% endif %} diff --git a/tests/templates/kuttl/smoke/10-install-trino.yaml.j2 b/tests/templates/kuttl/smoke/10-install-trino.yaml.j2 index 3b085475f..20fd9e77b 100644 --- a/tests/templates/kuttl/smoke/10-install-trino.yaml.j2 +++ b/tests/templates/kuttl/smoke/10-install-trino.yaml.j2 @@ -31,7 +31,7 @@ spec: metastore: configMap: hive s3: - reference: minio + reference: garage hdfs: configMap: hdfs --- @@ -47,7 +47,7 @@ spec: metastore: configMap: hive # It's fine to reuse the existing HMS for tests. Not recommended for production though, there a dedicated HMS should be used. s3: - reference: minio + reference: garage hdfs: configMap: hdfs --- diff --git a/tests/templates/kuttl/smoke/14-assert.yaml.j2 b/tests/templates/kuttl/smoke/14-assert.yaml.j2 index 77dc1c343..e42297ec5 100644 --- a/tests/templates/kuttl/smoke/14-assert.yaml.j2 +++ b/tests/templates/kuttl/smoke/14-assert.yaml.j2 @@ -84,12 +84,10 @@ commands: {% if test_scenario['values']['trino'].startswith("477") %} -Dfile.encoding=UTF-8 -XX:+EnableDynamicAgentLoading -{% elif test_scenario['values']['trino'].startswith("479") %} - -Dfile.encoding=UTF-8 - -XX:+EnableDynamicAgentLoading - --add-modules=jdk.incubator.vector {% elif test_scenario['values']['trino'].startswith("481") %} --add-modules=jdk.incubator.vector +{% elif test_scenario['values']['trino'].startswith("483") %} + --add-modules=jdk.incubator.vector {% endif %} # Arguments from jvmArgumentOverrides log.properties: | @@ -342,12 +340,10 @@ commands: {% if test_scenario['values']['trino'].startswith("477") %} -Dfile.encoding=UTF-8 -XX:+EnableDynamicAgentLoading -{% elif test_scenario['values']['trino'].startswith("479") %} - -Dfile.encoding=UTF-8 - -XX:+EnableDynamicAgentLoading - --add-modules=jdk.incubator.vector {% elif test_scenario['values']['trino'].startswith("481") %} --add-modules=jdk.incubator.vector +{% elif test_scenario['values']['trino'].startswith("483") %} + --add-modules=jdk.incubator.vector {% endif %} # Arguments from jvmArgumentOverrides log.properties: | @@ -547,9 +543,9 @@ commands: hive.security=allow-all s3.aws-access-key=${ENV\:CATALOG_HIVE_S3_AWS_ACCESS_KEY} s3.aws-secret-key=${ENV\:CATALOG_HIVE_S3_AWS_SECRET_KEY} - s3.endpoint=https\://minio\:9000/ + s3.endpoint=https\://garage.__NAMESPACE__.svc.cluster.local\:9000/ s3.path-style-access=true - s3.region=us-east-1 + s3.region=region-1 iceberg.properties: | connector.name=iceberg fs.hadoop.enabled=true @@ -559,9 +555,9 @@ commands: iceberg.security=allow-all s3.aws-access-key=${ENV\:CATALOG_ICEBERG_S3_AWS_ACCESS_KEY} s3.aws-secret-key=${ENV\:CATALOG_ICEBERG_S3_AWS_SECRET_KEY} - s3.endpoint=https\://minio\:9000/ + s3.endpoint=https\://garage.__NAMESPACE__.svc.cluster.local\:9000/ s3.path-style-access=true - s3.region=us-east-1 + s3.region=region-1 postgresql.properties: | connection-password=${ENV\:POSTGRESQL_POSTGRESQL_DATABASE_PASSWORD} connection-url=jdbc\:postgresql\://postgresql\:5432/hive @@ -598,9 +594,9 @@ commands: hive.security=allow-all s3.aws-access-key=${ENV\:CATALOG_HIVE_S3_AWS_ACCESS_KEY} s3.aws-secret-key=${ENV\:CATALOG_HIVE_S3_AWS_SECRET_KEY} - s3.endpoint=https\://minio\:9000/ + s3.endpoint=https\://garage.__NAMESPACE__.svc.cluster.local\:9000/ s3.path-style-access=true - s3.region=us-east-1 + s3.region=region-1 iceberg.properties: | connector.name=iceberg fs.hadoop.enabled=true @@ -610,9 +606,9 @@ commands: iceberg.security=allow-all s3.aws-access-key=${ENV\:CATALOG_ICEBERG_S3_AWS_ACCESS_KEY} s3.aws-secret-key=${ENV\:CATALOG_ICEBERG_S3_AWS_SECRET_KEY} - s3.endpoint=https\://minio\:9000/ + s3.endpoint=https\://garage.__NAMESPACE__.svc.cluster.local\:9000/ s3.path-style-access=true - s3.region=us-east-1 + s3.region=region-1 postgresql.properties: | connection-password=${ENV\:POSTGRESQL_POSTGRESQL_DATABASE_PASSWORD} connection-url=jdbc\:postgresql\://postgresql\:5432/hive diff --git a/tests/templates/kuttl/smoke/certs/ca.crt b/tests/templates/kuttl/smoke/certs/ca.crt deleted file mode 100644 index 4d91d2cc3..000000000 --- a/tests/templates/kuttl/smoke/certs/ca.crt +++ /dev/null @@ -1,23 +0,0 @@ ------BEGIN CERTIFICATE----- -MIID2TCCAsGgAwIBAgIUNjquGYWtyJ5a6wy23Hz2GRcMlwMwDQYJKoZIhvcNAQEL -BQAwezELMAkGA1UEBhMCREUxGzAZBgNVBAgMElNjaGxlc3dpZy1Ib2xzdGVpbjEO -MAwGA1UEBwwFV2VkZWwxKDAmBgNVBAoMH1N0YWNrYWJsZSBTaWduaW5nIEF1dGhv -cml0eSBJbmMxFTATBgNVBAMMDHN0YWNrYWJsZS5kZTAgFw0yMzA2MTYxMjUxMDJa -GA8yMTIzMDUyMzEyNTEwMlowezELMAkGA1UEBhMCREUxGzAZBgNVBAgMElNjaGxl -c3dpZy1Ib2xzdGVpbjEOMAwGA1UEBwwFV2VkZWwxKDAmBgNVBAoMH1N0YWNrYWJs -ZSBTaWduaW5nIEF1dGhvcml0eSBJbmMxFTATBgNVBAMMDHN0YWNrYWJsZS5kZTCC -ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANnV/vby3Ro57a2qvQRnn0je -eKMU2+F0+lZNCAviGUD5bm8jk91oPZnk0bhQqeyErmDS4WT0zevERIBJJDjfL0D8 -46Be7PiMKe0dGjoqI3z5cOIejc8aLPHSIlgN6lT3fIruS16coQgG4uaKiHF5+eWF -DRULdu6dsYuz6dKjqRiUOhHwDwtUJkDwPv+EItqo0H+MLFLLYM0+lEIae7dN5CQ5 -So5WhL2cyv5VJ7lj/EAKCViIEgCmzDRDcRgSSjWyH4bn6yX2026fPIyWJFyEdL/6 -jAOJADDR0GyhNOXrEeqhocSMnIbQVqwAT0kMhuXSvwvlrnLyTpG5jZm4lUM34kMC -AwEAAaNTMFEwHQYDVR0OBBYEFEI3RMMiyiBjyQ1RS8nlORJVd1pBMB8GA1UdIwQY -MBaAFEI3RMMiyiBjyQ1RS8nlORJVd1pBMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZI -hvcNAQELBQADggEBAHtKRXdFdtUhtUjodmYQcedADhHZOhBpKinzou4brdk4HfhF -Lr/WFlcRemlV6mBsLpyMuK+Td8ZUEQ6JERLy6lS/c6pOGxnB4aClE8at+C+TjJAO -Vm3WSI6VR1cFXGeZjldVQ6xkQskMJzO7df6iMTPtV5RkMeJXtL6XamEi54rBogNH -Nra+EJBQBl/Ze90NjeYbv20uQpZaaZFaaSmVoNHDpBwla0ouy+MjObC3SpgOq1IC -Pl3NuwNLV8VbOr5HrhQAoKmgSNb3P8vaTVux/X0Yfjy/S7N9kPBaK9mFj74zwV9w -qSQ14Kl5jO3V3hrGWYZEjDOgbZrrEX1KXEust+Q= ------END CERTIFICATE----- diff --git a/tests/templates/kuttl/smoke/certs/client.crt.pem b/tests/templates/kuttl/smoke/certs/client.crt.pem deleted file mode 100644 index 1f35befd6..000000000 --- a/tests/templates/kuttl/smoke/certs/client.crt.pem +++ /dev/null @@ -1,23 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDyDCCArCgAwIBAgIUCI2PNNrtzp6Ql7GkuaFxmDa6UBowDQYJKoZIhvcNAQEL -BQAwezELMAkGA1UEBhMCREUxGzAZBgNVBAgMElNjaGxlc3dpZy1Ib2xzdGVpbjEO -MAwGA1UEBwwFV2VkZWwxKDAmBgNVBAoMH1N0YWNrYWJsZSBTaWduaW5nIEF1dGhv -cml0eSBJbmMxFTATBgNVBAMMDHN0YWNrYWJsZS5kZTAgFw0yMzA2MTYxMjUxMDJa -GA8yMTIzMDUyMzEyNTEwMlowXjELMAkGA1UEBhMCREUxGzAZBgNVBAgMElNjaGxl -c3dpZy1Ib2xzdGVpbjEOMAwGA1UEBwwFV2VkZWwxEjAQBgNVBAoMCVN0YWNrYWJs -ZTEOMAwGA1UEAwwFbWluaW8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB -AQCjynVz+XHB8OCY4psEEYmjobpdzTlowwcSQN+YDPCkBeor0Tb87EgLzJK+JYbu -poXBlNIJPQaowJEo/SzSk8fu2XSMyvAZY4FWGxJy2yxIxvP/ibOGOYuiPGXK24t6 -ZcGTUVhauiZGSgkWrejWWh7MjFS+c1vaYZqB+Q1zPs5PFMlc8l5V/+b8Z7jMJi84 -mOfIPxjkvIyJr5UkeF3UfLqJS5y4LF4ty4Ft2iAd7bbfHanfvYmv6UoDVtMXtWo1 -oQPfv3shWrmRLzw6euIAtbXc5CjByIakCbiDnAU8rKg+B1J4mvQgrLwo3qPryJgx -SdidmZ2mER7Ez+c5B0m/LiIhAgMBAAGjXzBdMBsGA1UdEQQUMBKCBW1pbmlvggls -b2NhbGhvc3QwHQYDVR0OBBYEFJQ0gD5kEtQr+tDpDSZ7kwZ8H5hGMB8GA1UdIwQY -MBaAFEI3RMMiyiBjyQ1RS8nlORJVd1pBMA0GCSqGSIb3DQEBCwUAA4IBAQBcdhd+ -R4JoGvqLBk59dqIUecctuFsrdPxsBiOFhYNgZqedLM0UL5DzyfAHfVO0LfSEDddX -RJL9yL7+kMU0T76cvdC9XVAIE6HUwTo9GYsPqsuyZoVjNpEDJCwY3CvonlJVe4dq -/gAbJMYB+TSmY5yDPz/JFY/XZzYaPb7OdeGujbVT5Ixp97ApS8YIiv73C0wUbc6R -h0rcfRbykSQUh9vgVdXRSR8DT3WCfdqNzNBYXv9mqfW5z4sbGj+l3wUl/I3F/mIw -fyO4Cti4akiGVHlffEy0wkzVaBxhcXj2I3BUThB4ZqjlssieVaFkwvXmmyRT0oEW -5H+NPHcquS1zPscl ------END CERTIFICATE----- diff --git a/tests/templates/kuttl/smoke/certs/client.csr.pem b/tests/templates/kuttl/smoke/certs/client.csr.pem deleted file mode 100644 index f735c3179..000000000 --- a/tests/templates/kuttl/smoke/certs/client.csr.pem +++ /dev/null @@ -1,18 +0,0 @@ ------BEGIN CERTIFICATE REQUEST----- -MIIC0TCCAbkCAQAwXjELMAkGA1UEBhMCREUxGzAZBgNVBAgMElNjaGxlc3dpZy1I -b2xzdGVpbjEOMAwGA1UEBwwFV2VkZWwxEjAQBgNVBAoMCVN0YWNrYWJsZTEOMAwG -A1UEAwwFbWluaW8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCjynVz -+XHB8OCY4psEEYmjobpdzTlowwcSQN+YDPCkBeor0Tb87EgLzJK+JYbupoXBlNIJ -PQaowJEo/SzSk8fu2XSMyvAZY4FWGxJy2yxIxvP/ibOGOYuiPGXK24t6ZcGTUVha -uiZGSgkWrejWWh7MjFS+c1vaYZqB+Q1zPs5PFMlc8l5V/+b8Z7jMJi84mOfIPxjk -vIyJr5UkeF3UfLqJS5y4LF4ty4Ft2iAd7bbfHanfvYmv6UoDVtMXtWo1oQPfv3sh -WrmRLzw6euIAtbXc5CjByIakCbiDnAU8rKg+B1J4mvQgrLwo3qPryJgxSdidmZ2m -ER7Ez+c5B0m/LiIhAgMBAAGgLjAsBgkqhkiG9w0BCQ4xHzAdMBsGA1UdEQQUMBKC -BW1pbmlvgglsb2NhbGhvc3QwDQYJKoZIhvcNAQELBQADggEBAIXs2PGYTo8N6IZc -eVVa82AxtJPSaIeRqrTuAiKloQPZxhpEaTSAR8wxWpzyIeilMgp8UuMo2M0euxGM -gxhzOyNXFekDSoLbuvKHidhvJ+rVEVHag3VdKA22P4/OYV8HwP6yXsNWNXK6Sp6J -pKwRE3PpSN4vPbEmbxLndM9SOVghV9RCVdLMPFXg+pfTNPm2H3cYGg4yU+Cdl5Dj -voUOQzRMuvflScf+gzjBIx7xVvwo/d9szsyqPfMyTlK40kU+KGl5Mz+C7Icyljnj -8F92l4NbDrXpWuyNjoUwEH8Kdb4ioPACHgStTY0Js8vdVS7wWj6ylXPBRUd9Yxxg -BWC7YHc= ------END CERTIFICATE REQUEST----- diff --git a/tests/templates/kuttl/smoke/certs/client.key.pem b/tests/templates/kuttl/smoke/certs/client.key.pem deleted file mode 100644 index d8820420a..000000000 --- a/tests/templates/kuttl/smoke/certs/client.key.pem +++ /dev/null @@ -1,28 +0,0 @@ ------BEGIN PRIVATE KEY----- -MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCjynVz+XHB8OCY -4psEEYmjobpdzTlowwcSQN+YDPCkBeor0Tb87EgLzJK+JYbupoXBlNIJPQaowJEo -/SzSk8fu2XSMyvAZY4FWGxJy2yxIxvP/ibOGOYuiPGXK24t6ZcGTUVhauiZGSgkW -rejWWh7MjFS+c1vaYZqB+Q1zPs5PFMlc8l5V/+b8Z7jMJi84mOfIPxjkvIyJr5Uk -eF3UfLqJS5y4LF4ty4Ft2iAd7bbfHanfvYmv6UoDVtMXtWo1oQPfv3shWrmRLzw6 -euIAtbXc5CjByIakCbiDnAU8rKg+B1J4mvQgrLwo3qPryJgxSdidmZ2mER7Ez+c5 -B0m/LiIhAgMBAAECggEAAd3t5suCE27WcIessqgshHP0dts++0W1z+xzX/1NxODY -YXV6Bfn/fDrxtT8iQZgeUC2NE1PhvoyrWuc/2oqarctGu9AYWoG62KtoU2zSHWY/ -I7uDE1WWlNvRYTWNanC8exxjQG18wDJZ1itXSxIt5bD3yk/wTRXtt+uJzrV5jocu -chxDLwowiu1Aj6dRCZNBz9TJxyNr50NYW2UXBaT/87XrFFdJwMTVT0B7HOnG7RBV -QlKw8mqVbaNenhcvMjR29sxTzHR+jxIO3BwO6OGj/OFhFBYU7TLXeld1qoe0vb2G -b8hPpGuptr5At9lw1w5wQ3IgiutPNH5qyDyCpEl6EQKBgQDcdbslOfKJj7O2LAyY -FtkTpilE0V3j0qmQ93IjrV4+DRmLMEB299407BUYQQj1/DIbQcoZ2EEcUB5pdeHs -7DMED6XLHb2JU12+a7sWyCNdKece+T7/IblI8Tt340UlHQ6zSMSDcjvfcFHVgv0s -CajhFx7NkLEXTZr8fT3YIhj4vQKBgQC+MgZ1UmoJw9IAQj2uIU5Cy9xjWeYDTAO/ -YaXIzwlge438Mcbb4cN2SaNSGDgV7nu5kqiihpjPYWIiiOBp9kTRHXOdPW47syeI -t3kwrp2zVlUglcMZZ6mmV3QVaANZgjU4RSv4e/VxULjbZafjPtZRsjZGpK0YU1ot -Vj8IeQ7fNQKBgCP+ZMuzJlInUCQSFQxPzqlSm7JMrJOhtWWhwNTqXVSsNttuyVej -KHhjgx4uoBPpVRT2LNUDZb4FprF5OaXA+qNTGrKK7IMbRVbtp+IUUxHG4aFA+HQX -QXUTTa5JQOTKVbgXzV3YrMXSRMojVMp32UbGy5SsZv1zAjbvC8XZ61HRAoGAdBcQ -vhe5xZAS5DmKcHi/ziGkubern6OMPgqaKIHGlW+U8LRpTtj0d4Tm/TrvMOPJ/TE5 -YUqKhzpHrhCh+ctpocI6SWWvnRzzKo3imQZcF5TAjQ0ccqtFb9S9dDtyn/XMCjae -aiMvYyUEUFYyLZCzPFZsrp3hUZG+3yFfhApwO2kCgYBHwYaPIdW6Ww7+B2hin0ow -ja3cesvA4jaMPwSLT8ONtU1GBSMfwczMbnPHLrRvB87n9gPaR2wQGUmrFEO3LPX/ -kRcOGpYBHpDXEjDhKkWdRuLOFg4HLZdV8ANZlQ0VScE8u3dDDUO89pGDn08qTArl -x9kxsudEVrkerZb5UxFVqQ== ------END PRIVATE KEY----- diff --git a/tests/templates/kuttl/smoke/certs/generate.sh b/tests/templates/kuttl/smoke/certs/generate.sh deleted file mode 100755 index bbf0cd226..000000000 --- a/tests/templates/kuttl/smoke/certs/generate.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/bash - -echo "Creating client cert" -FQDN="minio" - -echo "Creating Root Certificate Authority" -openssl genrsa \ - -out root-ca.key.pem \ - 2048 - -echo "Self-signing the Root Certificate Authority" -openssl req \ - -x509 \ - -new \ - -nodes \ - -key root-ca.key.pem \ - -days 36500 \ - -out root-ca.crt.pem \ - -subj "/C=DE/ST=Schleswig-Holstein/L=Wedel/O=Stackable Signing Authority Inc/CN=stackable.de" - -openssl genrsa \ - -out client.key.pem \ - 2048 - -echo "Creating the CSR" -openssl req -new \ - -key client.key.pem \ - -out client.csr.pem \ - -subj "/C=DE/ST=Schleswig-Holstein/L=Wedel/O=Stackable/CN=${FQDN}" \ - -addext "subjectAltName = DNS:${FQDN}, DNS:localhost" - -echo "Signing the client cert with the root ca" -openssl x509 \ - -req -in client.csr.pem \ - -CA root-ca.crt.pem \ - -CAkey root-ca.key.pem \ - -CAcreateserial \ - -out client.crt.pem \ - -days 36500 \ - -copy_extensions copy - -echo "Copying the files to match the api of the secret-operator" -cp root-ca.crt.pem ca.crt -cp client.key.pem tls.key -cp client.crt.pem tls.crt - -echo "To create a k8s secret run" -echo "kubectl create secret generic foo --from-file=ca.crt --from-file=tls.crt --from-file=tls.key" diff --git a/tests/templates/kuttl/smoke/certs/root-ca.crt.pem b/tests/templates/kuttl/smoke/certs/root-ca.crt.pem deleted file mode 100644 index 4d91d2cc3..000000000 --- a/tests/templates/kuttl/smoke/certs/root-ca.crt.pem +++ /dev/null @@ -1,23 +0,0 @@ ------BEGIN CERTIFICATE----- -MIID2TCCAsGgAwIBAgIUNjquGYWtyJ5a6wy23Hz2GRcMlwMwDQYJKoZIhvcNAQEL -BQAwezELMAkGA1UEBhMCREUxGzAZBgNVBAgMElNjaGxlc3dpZy1Ib2xzdGVpbjEO -MAwGA1UEBwwFV2VkZWwxKDAmBgNVBAoMH1N0YWNrYWJsZSBTaWduaW5nIEF1dGhv -cml0eSBJbmMxFTATBgNVBAMMDHN0YWNrYWJsZS5kZTAgFw0yMzA2MTYxMjUxMDJa -GA8yMTIzMDUyMzEyNTEwMlowezELMAkGA1UEBhMCREUxGzAZBgNVBAgMElNjaGxl -c3dpZy1Ib2xzdGVpbjEOMAwGA1UEBwwFV2VkZWwxKDAmBgNVBAoMH1N0YWNrYWJs -ZSBTaWduaW5nIEF1dGhvcml0eSBJbmMxFTATBgNVBAMMDHN0YWNrYWJsZS5kZTCC -ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANnV/vby3Ro57a2qvQRnn0je -eKMU2+F0+lZNCAviGUD5bm8jk91oPZnk0bhQqeyErmDS4WT0zevERIBJJDjfL0D8 -46Be7PiMKe0dGjoqI3z5cOIejc8aLPHSIlgN6lT3fIruS16coQgG4uaKiHF5+eWF -DRULdu6dsYuz6dKjqRiUOhHwDwtUJkDwPv+EItqo0H+MLFLLYM0+lEIae7dN5CQ5 -So5WhL2cyv5VJ7lj/EAKCViIEgCmzDRDcRgSSjWyH4bn6yX2026fPIyWJFyEdL/6 -jAOJADDR0GyhNOXrEeqhocSMnIbQVqwAT0kMhuXSvwvlrnLyTpG5jZm4lUM34kMC -AwEAAaNTMFEwHQYDVR0OBBYEFEI3RMMiyiBjyQ1RS8nlORJVd1pBMB8GA1UdIwQY -MBaAFEI3RMMiyiBjyQ1RS8nlORJVd1pBMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZI -hvcNAQELBQADggEBAHtKRXdFdtUhtUjodmYQcedADhHZOhBpKinzou4brdk4HfhF -Lr/WFlcRemlV6mBsLpyMuK+Td8ZUEQ6JERLy6lS/c6pOGxnB4aClE8at+C+TjJAO -Vm3WSI6VR1cFXGeZjldVQ6xkQskMJzO7df6iMTPtV5RkMeJXtL6XamEi54rBogNH -Nra+EJBQBl/Ze90NjeYbv20uQpZaaZFaaSmVoNHDpBwla0ouy+MjObC3SpgOq1IC -Pl3NuwNLV8VbOr5HrhQAoKmgSNb3P8vaTVux/X0Yfjy/S7N9kPBaK9mFj74zwV9w -qSQ14Kl5jO3V3hrGWYZEjDOgbZrrEX1KXEust+Q= ------END CERTIFICATE----- diff --git a/tests/templates/kuttl/smoke/certs/root-ca.crt.srl b/tests/templates/kuttl/smoke/certs/root-ca.crt.srl deleted file mode 100644 index ca297b16c..000000000 --- a/tests/templates/kuttl/smoke/certs/root-ca.crt.srl +++ /dev/null @@ -1 +0,0 @@ -7046F738B5BC7F7DC43E1E7E2EF5B23832C7A59A diff --git a/tests/templates/kuttl/smoke/certs/root-ca.key.pem b/tests/templates/kuttl/smoke/certs/root-ca.key.pem deleted file mode 100644 index bd7a07ae9..000000000 --- a/tests/templates/kuttl/smoke/certs/root-ca.key.pem +++ /dev/null @@ -1,28 +0,0 @@ ------BEGIN PRIVATE KEY----- -MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDZ1f728t0aOe2t -qr0EZ59I3nijFNvhdPpWTQgL4hlA+W5vI5PdaD2Z5NG4UKnshK5g0uFk9M3rxESA -SSQ43y9A/OOgXuz4jCntHRo6KiN8+XDiHo3PGizx0iJYDepU93yK7ktenKEIBuLm -iohxefnlhQ0VC3bunbGLs+nSo6kYlDoR8A8LVCZA8D7/hCLaqNB/jCxSy2DNPpRC -Gnu3TeQkOUqOVoS9nMr+VSe5Y/xACglYiBIApsw0Q3EYEko1sh+G5+sl9tNunzyM -liRchHS/+owDiQAw0dBsoTTl6xHqoaHEjJyG0FasAE9JDIbl0r8L5a5y8k6RuY2Z -uJVDN+JDAgMBAAECggEABVrQUKu5qapg4FMBIHmXncfyOTgLC6i/ep2cJAajzkgT -YeIDAX9NfFn2mcxJ0QmV68VjSwMFiNUjRfAGVuuNktBknA2ZT6bKZQzBF0rv4mOT -VcugesXO8wbSV03IQ9xtkFC5Q5MgFj1tGHOxVPDFptG1d533h3gS5DdA+S+SuYrn -n8JUqjenVzYgC5CFprDXEy/ZOC/Is/oq/GujC3e6VJINueCOOrVkNKhMtktq8qkg -UtkjZQYP/d0nzR8bYGXN818MBZOg+RyA0asgkDe+n6Lr6gNzaqhECDdITDejq/0h -D8ldKD4v8CYTRAY1AteIAF0jUg2YuWZwgQ8IzL0viQKBgQD2R0AB0RHhxHJsnWoQ -EhWPyD3fo3w8Q5dIxugpP2LcloyOH6Ew5xlwnmPu0wL31D8CHad+vZnUVEqMIZqk -rZy9r0EZc2JmC1Sgpv7NkpY3johBrONIAKsStTpNpr/3EB0rAeQ9KzS0TafeYXKt -buz8Fx3kcBPosLCs9+r/+TDzhQKBgQDib1K0oQV55pFTn9OkoHPTitLsOOwpLxjC -ui8R73PhhvCK3UNftsq3U/Gj6L3wi5ATeE0SC1xCu2ZvU8K7EBRflvoGMmWfAh+O -XMfE21yLyrSgUVhsDeC2VILyxIB0sgcT7uze3TjD2Dm0vg0NQrCNa8euLAn5WIHS -QE6jd8t1JwKBgAlLDP5EjmEvkYXJttveYtPnIXaT67c2cbn8T3xm+OsL/0fJp8J5 -pfsa7vhvG/iQGMSSq+RbcTeS6rE4/2Xhaz25JEK6mOby3IGna4wEUQjNpxSbWoQ4 -CjyNfCK7/Rhskj0yOBOa0sVO/NumX7ZtriGhGa6qEAZCzJfqTwLTu2YlAoGAaEmt -ZdPjmck/law+5cugjQWbL4DoA+/VD5qAo1oNnQlxMAPITAT8SIM4/6zqDie5K750 -gKMK0xFMlGmXfmBhgcUfUktT0nA/6GmC+H+vmBK8LjpI5ztdC5zQ0s79+sEj0WJx -ZhOtWUX1DfGaQUk912SUivttfJHu+M71aQR7iHECgYEAqIPW6opxX5p3bSrfGDY0 -vqcxpTLjBAUtCig0UoI+01PiuEudCB9ed2AWkk+h0KzvtKP2VW8r4tYJFeDU2Jt3 -s3mcO3Ix1cwHdb2CjzBm4dReyBsIUIzJRPl9spz0cRYhdQkREIHJUoCskwrqCsS0 -O9W/M6BZHjhM/7eA8StNHEU= ------END PRIVATE KEY----- diff --git a/tests/templates/kuttl/smoke/certs/tls.crt b/tests/templates/kuttl/smoke/certs/tls.crt deleted file mode 100644 index 1f35befd6..000000000 --- a/tests/templates/kuttl/smoke/certs/tls.crt +++ /dev/null @@ -1,23 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDyDCCArCgAwIBAgIUCI2PNNrtzp6Ql7GkuaFxmDa6UBowDQYJKoZIhvcNAQEL -BQAwezELMAkGA1UEBhMCREUxGzAZBgNVBAgMElNjaGxlc3dpZy1Ib2xzdGVpbjEO -MAwGA1UEBwwFV2VkZWwxKDAmBgNVBAoMH1N0YWNrYWJsZSBTaWduaW5nIEF1dGhv -cml0eSBJbmMxFTATBgNVBAMMDHN0YWNrYWJsZS5kZTAgFw0yMzA2MTYxMjUxMDJa -GA8yMTIzMDUyMzEyNTEwMlowXjELMAkGA1UEBhMCREUxGzAZBgNVBAgMElNjaGxl -c3dpZy1Ib2xzdGVpbjEOMAwGA1UEBwwFV2VkZWwxEjAQBgNVBAoMCVN0YWNrYWJs -ZTEOMAwGA1UEAwwFbWluaW8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB -AQCjynVz+XHB8OCY4psEEYmjobpdzTlowwcSQN+YDPCkBeor0Tb87EgLzJK+JYbu -poXBlNIJPQaowJEo/SzSk8fu2XSMyvAZY4FWGxJy2yxIxvP/ibOGOYuiPGXK24t6 -ZcGTUVhauiZGSgkWrejWWh7MjFS+c1vaYZqB+Q1zPs5PFMlc8l5V/+b8Z7jMJi84 -mOfIPxjkvIyJr5UkeF3UfLqJS5y4LF4ty4Ft2iAd7bbfHanfvYmv6UoDVtMXtWo1 -oQPfv3shWrmRLzw6euIAtbXc5CjByIakCbiDnAU8rKg+B1J4mvQgrLwo3qPryJgx -SdidmZ2mER7Ez+c5B0m/LiIhAgMBAAGjXzBdMBsGA1UdEQQUMBKCBW1pbmlvggls -b2NhbGhvc3QwHQYDVR0OBBYEFJQ0gD5kEtQr+tDpDSZ7kwZ8H5hGMB8GA1UdIwQY -MBaAFEI3RMMiyiBjyQ1RS8nlORJVd1pBMA0GCSqGSIb3DQEBCwUAA4IBAQBcdhd+ -R4JoGvqLBk59dqIUecctuFsrdPxsBiOFhYNgZqedLM0UL5DzyfAHfVO0LfSEDddX -RJL9yL7+kMU0T76cvdC9XVAIE6HUwTo9GYsPqsuyZoVjNpEDJCwY3CvonlJVe4dq -/gAbJMYB+TSmY5yDPz/JFY/XZzYaPb7OdeGujbVT5Ixp97ApS8YIiv73C0wUbc6R -h0rcfRbykSQUh9vgVdXRSR8DT3WCfdqNzNBYXv9mqfW5z4sbGj+l3wUl/I3F/mIw -fyO4Cti4akiGVHlffEy0wkzVaBxhcXj2I3BUThB4ZqjlssieVaFkwvXmmyRT0oEW -5H+NPHcquS1zPscl ------END CERTIFICATE----- diff --git a/tests/templates/kuttl/smoke/certs/tls.key b/tests/templates/kuttl/smoke/certs/tls.key deleted file mode 100644 index d8820420a..000000000 --- a/tests/templates/kuttl/smoke/certs/tls.key +++ /dev/null @@ -1,28 +0,0 @@ ------BEGIN PRIVATE KEY----- -MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCjynVz+XHB8OCY -4psEEYmjobpdzTlowwcSQN+YDPCkBeor0Tb87EgLzJK+JYbupoXBlNIJPQaowJEo -/SzSk8fu2XSMyvAZY4FWGxJy2yxIxvP/ibOGOYuiPGXK24t6ZcGTUVhauiZGSgkW -rejWWh7MjFS+c1vaYZqB+Q1zPs5PFMlc8l5V/+b8Z7jMJi84mOfIPxjkvIyJr5Uk -eF3UfLqJS5y4LF4ty4Ft2iAd7bbfHanfvYmv6UoDVtMXtWo1oQPfv3shWrmRLzw6 -euIAtbXc5CjByIakCbiDnAU8rKg+B1J4mvQgrLwo3qPryJgxSdidmZ2mER7Ez+c5 -B0m/LiIhAgMBAAECggEAAd3t5suCE27WcIessqgshHP0dts++0W1z+xzX/1NxODY -YXV6Bfn/fDrxtT8iQZgeUC2NE1PhvoyrWuc/2oqarctGu9AYWoG62KtoU2zSHWY/ -I7uDE1WWlNvRYTWNanC8exxjQG18wDJZ1itXSxIt5bD3yk/wTRXtt+uJzrV5jocu -chxDLwowiu1Aj6dRCZNBz9TJxyNr50NYW2UXBaT/87XrFFdJwMTVT0B7HOnG7RBV -QlKw8mqVbaNenhcvMjR29sxTzHR+jxIO3BwO6OGj/OFhFBYU7TLXeld1qoe0vb2G -b8hPpGuptr5At9lw1w5wQ3IgiutPNH5qyDyCpEl6EQKBgQDcdbslOfKJj7O2LAyY -FtkTpilE0V3j0qmQ93IjrV4+DRmLMEB299407BUYQQj1/DIbQcoZ2EEcUB5pdeHs -7DMED6XLHb2JU12+a7sWyCNdKece+T7/IblI8Tt340UlHQ6zSMSDcjvfcFHVgv0s -CajhFx7NkLEXTZr8fT3YIhj4vQKBgQC+MgZ1UmoJw9IAQj2uIU5Cy9xjWeYDTAO/ -YaXIzwlge438Mcbb4cN2SaNSGDgV7nu5kqiihpjPYWIiiOBp9kTRHXOdPW47syeI -t3kwrp2zVlUglcMZZ6mmV3QVaANZgjU4RSv4e/VxULjbZafjPtZRsjZGpK0YU1ot -Vj8IeQ7fNQKBgCP+ZMuzJlInUCQSFQxPzqlSm7JMrJOhtWWhwNTqXVSsNttuyVej -KHhjgx4uoBPpVRT2LNUDZb4FprF5OaXA+qNTGrKK7IMbRVbtp+IUUxHG4aFA+HQX -QXUTTa5JQOTKVbgXzV3YrMXSRMojVMp32UbGy5SsZv1zAjbvC8XZ61HRAoGAdBcQ -vhe5xZAS5DmKcHi/ziGkubern6OMPgqaKIHGlW+U8LRpTtj0d4Tm/TrvMOPJ/TE5 -YUqKhzpHrhCh+ctpocI6SWWvnRzzKo3imQZcF5TAjQ0ccqtFb9S9dDtyn/XMCjae -aiMvYyUEUFYyLZCzPFZsrp3hUZG+3yFfhApwO2kCgYBHwYaPIdW6Ww7+B2hin0ow -ja3cesvA4jaMPwSLT8ONtU1GBSMfwczMbnPHLrRvB87n9gPaR2wQGUmrFEO3LPX/ -kRcOGpYBHpDXEjDhKkWdRuLOFg4HLZdV8ANZlQ0VScE8u3dDDUO89pGDn08qTArl -x9kxsudEVrkerZb5UxFVqQ== ------END PRIVATE KEY----- diff --git a/tests/templates/kuttl/smoke/helm-bitnami-minio-values.yaml.j2 b/tests/templates/kuttl/smoke/helm-bitnami-minio-values.yaml.j2 deleted file mode 100644 index 3436e86b3..000000000 --- a/tests/templates/kuttl/smoke/helm-bitnami-minio-values.yaml.j2 +++ /dev/null @@ -1,76 +0,0 @@ ---- -global: - security: - allowInsecureImages: true # needed starting with Chart version 14.9.0 if modifying images - -image: - repository: bitnamilegacy/minio -clientImage: - repository: bitnamilegacy/minio-client -defaultInitContainers: - volumePermissions: # volumePermissions moved under defaultInitContainers starting with Chart version 17.0.0 - enabled: false - image: - repository: bitnamilegacy/os-shell -console: - image: - repository: bitnamilegacy/minio-object-browser - -mode: standalone -disableWebUI: false -extraEnvVars: - - name: MINIO_LOG_LEVEL - value: DEBUG - -#defaultBuckets: hive - -provisioning: - enabled: true - buckets: - - name: trino - usersExistingSecrets: - - centralized-minio-users - resources: - requests: - memory: 1Gi - cpu: "512m" - limits: - memory: "1Gi" - cpu: "1" - podSecurityContext: - enabled: false - containerSecurityContext: - enabled: false - -# volumePermissions can be removed starting with Chart version 17.0.0, moved under defaultInitContainers -volumePermissions: - enabled: false - image: - repository: bitnamilegacy/os-shell - -podSecurityContext: - enabled: false - -containerSecurityContext: - enabled: false - -persistence: - enabled: false - -resources: - requests: - memory: 1Gi - cpu: "512m" - limits: - memory: "1Gi" - cpu: "1" - -auth: - existingSecret: minio-credentials - -service: - type: NodePort - -tls: - enabled: true - existingSecret: minio-tls-certificates diff --git a/tests/test-definition.yaml b/tests/test-definition.yaml index 4ad606fb1..686d7b033 100644 --- a/tests/test-definition.yaml +++ b/tests/test-definition.yaml @@ -19,13 +19,13 @@ dimensions: - name: trino values: - "477" - - "479" - "481" + - "483" # To use a custom image, add a comma and the full name after the product version # - 481,oci.stackable.tech/sdp/trino:481-stackable0.0.0-dev - name: trino-latest values: - - "481" + - "483" # To use a custom image, add a comma and the full name after the product version # - 481,oci.stackable.tech/sdp/trino:481-stackable0.0.0-dev - name: trino-delta @@ -44,9 +44,9 @@ dimensions: - name: hdfs values: - 3.5.0 + # Only test latest ZooKeeper - name: zookeeper values: - - 3.9.5 - 3.9.6 - name: keycloak values: