From ad1656ff1f6d043aff98255c686be2c0043acd0f Mon Sep 17 00:00:00 2001 From: Felix Hennig Date: Wed, 19 Apr 2023 09:14:59 +0200 Subject: [PATCH 1/8] Set version to 23.4 --- antora.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/antora.yml b/antora.yml index 8ecace773..733d838e4 100644 --- a/antora.yml +++ b/antora.yml @@ -1,5 +1,5 @@ name: home -version: "nightly" +version: "23.4" title: Stackable Documentation nav: - modules/ROOT/nav.adoc From 48f028cf4cc16fae6e7fb45b500608bb1ce7f962 Mon Sep 17 00:00:00 2001 From: Felix Hennig Date: Wed, 19 Apr 2023 09:16:30 +0200 Subject: [PATCH 2/8] set prerelease to false --- antora.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/antora.yml b/antora.yml index 733d838e4..c2e77655f 100644 --- a/antora.yml +++ b/antora.yml @@ -9,4 +9,4 @@ nav: - modules/operators/nav.adoc - modules/contributor/nav.adoc - modules/ROOT/nav2.adoc -prerelease: true +prerelease: false From bbdd67be37e95fb44d5cb64223f57ad8cc7cc2c4 Mon Sep 17 00:00:00 2001 From: Felix Hennig Date: Wed, 19 Apr 2023 09:24:15 +0200 Subject: [PATCH 3/8] fixed ref --- modules/concepts/pages/authentication.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/concepts/pages/authentication.adoc b/modules/concepts/pages/authentication.adoc index b3d5216d5..cd0286bfd 100644 --- a/modules/concepts/pages/authentication.adoc +++ b/modules/concepts/pages/authentication.adoc @@ -1,5 +1,5 @@ = Authentication -:page-aliases: nightly@commons-operator::authenticationclass.adoc +:page-aliases: 23.4@commons-operator::authenticationclass.adoc The Stackable Platform uses the AuthenticationClass as a central mechanism to handle user authentication across supported products. The authentication mechanism needs to be configured only in the AuthenticationClass which is then referenced in the product. From dd898443f00fceb427f0ae3b0ccd2fc9e729c730 Mon Sep 17 00:00:00 2001 From: Felix Hennig Date: Wed, 19 Apr 2023 09:55:47 +0200 Subject: [PATCH 4/8] fixed some links (#383) --- modules/ROOT/pages/release_notes.adoc | 16 ++++++++-------- modules/concepts/pages/authentication.adoc | 1 + 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/modules/ROOT/pages/release_notes.adoc b/modules/ROOT/pages/release_notes.adoc index c920e0214..fcc74cb2e 100644 --- a/modules/ROOT/pages/release_notes.adoc +++ b/modules/ROOT/pages/release_notes.adoc @@ -12,23 +12,23 @@ The following new major platform features were added: Cluster Operation:: -The first part of https://docs.stackable.tech/home/stable/concepts/cluster_operations.html[ClusterOperations] was rolled out in every applicable Stackable Operator. This supports pausing the cluster reconciliation and stopping the cluster completely. Pausing reconciliation will not apply any changes to the Kubernetes resources (e.g. when changing the custom resource). Stopping the cluster will set all replicas of StatefulSets, Deployments or DaemonSets to zero and therefore deleting all Pods belonging to that cluster (not the PVCs). +The first part of xref:concepts:cluster_operations.adoc[Cluster operations] was rolled out in every applicable Stackable Operator. This supports pausing the cluster reconciliation and stopping the cluster completely. Pausing reconciliation will not apply any changes to the Kubernetes resources (e.g. when changing the custom resource). Stopping the cluster will set all replicas of StatefulSets, Deployments or DaemonSets to zero and therefore deleting all Pods belonging to that cluster (not the PVCs). Status Field:: -Operators of the Stackable Data Platform create, manage and delete Kubernetes resources: in order to easily query the health state of the products - and react accordingly - Stackable Operators use several predefined condition types to capture different aspects of a product's availability. See this https://docs.stackable.tech/home/stable/contributor/adr/ADR027-status[ADR] for more information. +Operators of the Stackable Data Platform create, manage and delete Kubernetes resources: in order to easily query the health state of the products - and react accordingly - Stackable Operators use several predefined condition types to capture different aspects of a product's availability. See this xref:contributor:adr/ADR027-status[ADR] for more information. Default / Custom Affinities:: -In Kubernetes there are different ways to influence how Pods are assigned to Nodes. In some cases it makes sense to co-locate certain services that communicate a lot with each other, such as HBase regionservers with HDFS datanodes. In other cases it makes sense to distribute the Pods among as many Nodes as possible. There may also be additional requirements e.g. placing important services - such as HDFS namenodes - in different racks, datacenter rooms or even datacenters. This release implements default affinities that should suffice for many scenarios out-of-the box, while also allowing for custom affinity rules at a role and/or role-group level. See this https://docs.stackable.tech/home/stable/contributor/adr/ADR026-affinities[ADR] for more information. +In Kubernetes there are different ways to influence how Pods are assigned to Nodes. In some cases it makes sense to co-locate certain services that communicate a lot with each other, such as HBase regionservers with HDFS datanodes. In other cases it makes sense to distribute the Pods among as many Nodes as possible. There may also be additional requirements e.g. placing important services - such as HDFS namenodes - in different racks, datacenter rooms or even datacenters. This release implements default affinities that should suffice for many scenarios out-of-the box, while also allowing for custom affinity rules at a role and/or role-group level. See this xref:contributor:adr/ADR026-affinities.adoc[ADR] for more information. Log Aggregation:: -The logging framework (added to the platform in Release 23.1) offers a consistent custom resource configuration and a separate, persisted sink (defaulting to OpenSearch). This has now been rolled out across all products. See this https://docs.stackable.tech/home/stable/contributor/adr/adr025-logging_architecture[ADR] and this https://docs.stackable.tech/home/stable/concepts/logging.html[concepts page] for more information. +The logging framework (added to the platform in Release 23.1) offers a consistent custom resource configuration and a separate, persisted sink (defaulting to OpenSearch). This has now been rolled out across all products. See this xref:contributor:adr/adr025-logging_architecture[ADR] and this xref:concepts:logging.adoc[concepts page] for more information. Service Type:: -The Service type can now be specified in all products. This currently differentiates between the internal ClusterIP and the external NodePort and is forward compatible with the [ListenerClass](https://docs.stackable.tech/home/stable/listener-operator/listenerclass.html) for the automatic exposure of Services via the Listener Operator. This change is not backwards compatible with older platform releases. For security reasons, the default is set to the cluster-internal (ClusterIP) ListenerClass. A cluster can be exposed outside of Kubernetes by setting clusterConfig.listenerClass to external-unstable (NodePort) or external-stable (LoadBalancer). +The Service type can now be specified in all products. This currently differentiates between the internal ClusterIP and the external NodePort and is forward compatible with the xref:listener-operator:listenerclass.adoc[ListenerClass] for the automatic exposure of Services via the Listener Operator. This change is not backwards compatible with older platform releases. For security reasons, the default is set to the cluster-internal (ClusterIP) ListenerClass. A cluster can be exposed outside of Kubernetes by setting clusterConfig.listenerClass to external-unstable (NodePort) or external-stable (LoadBalancer). New Versions:: @@ -55,7 +55,7 @@ The following have been added to `stackablectl`: ==== Trino-iceberg demo -This is a condensed form of the https://docs.stackable.tech/stackablectl/stable/demos/data-lakehouse-iceberg-trino-spark.html[data-lakehouse-iceberg-trino-spark] demo focusing on using the lakehouse to store and modify data. It demonstrates how to integrate Trino and Iceberg and should run on a local workstation. +This is a condensed form of the xref:stackablectl::demos/data-lakehouse-iceberg-trino-spark.adoc[] demo focusing on using the lakehouse to store and modify data. It demonstrates how to integrate Trino and Iceberg and should run on a local workstation. ==== Jupyterhub/Spark demo @@ -452,7 +452,7 @@ This illustrates how to set up logging for Zookeeper and browse the results in a ==== LDAP stack and tutorial -LDAP support has now been added to multiple products. An explanation of the overall approach is given xref:concepts:authentication.adoc[here] but in order to make the configuration steps a little clearer a xref:tutorials:authentication_with_openldap.adoc[tutorial] has been added that uses a dedicated Stackable https://docs.stackable.tech/stackablectl/stable/commands/stack.html[stack] for OpenLDAP and shows its usage. +LDAP support has now been added to multiple products. An explanation of the overall approach is given xref:concepts:authentication.adoc[here] but in order to make the configuration steps a little clearer a xref:tutorials:authentication_with_openldap.adoc[tutorial] has been added that uses a dedicated Stackable xref:stackablectl::commands/stack.adoc[stack] for OpenLDAP and shows its usage. The xref:stackablectl::quickstart.adoc[quickstart guide] shows how to get started with `stackablectl`. This link lists the xref:stackablectl::demos/index.adoc[available demos]. @@ -832,7 +832,7 @@ This is the third release of the Stackable Data Platform, which this time focuse The following new major platform features were added: CPU and memory limits configurable:: -The operators now https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/[request] resources from Kubernetes for the products and required CPU and memory can now also be configured for all products. If your product instances are less performant after the update, the new defaults might be set too low and we recommend to https://docs.stackable.tech/kafka/stable/usage.html#_resource_requests[set custom requests] for your cluster. +The operators now https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/[request] resources from Kubernetes for the products and required CPU and memory can now also be configured for all products. If your product instances are less performant after the update, the new defaults might be set too low and we recommend to xref:kafka:usage-guide/storage-resources.adoc[set custom requests] for your cluster. * https://github.com/stackabletech/opa-operator/pull/347[OpenPolicyAgent] * https://github.com/stackabletech/zookeeper-operator/pull/563[Apache ZooKeeper] diff --git a/modules/concepts/pages/authentication.adoc b/modules/concepts/pages/authentication.adoc index cd0286bfd..0d232ae03 100644 --- a/modules/concepts/pages/authentication.adoc +++ b/modules/concepts/pages/authentication.adoc @@ -1,6 +1,7 @@ = Authentication :page-aliases: 23.4@commons-operator::authenticationclass.adoc + The Stackable Platform uses the AuthenticationClass as a central mechanism to handle user authentication across supported products. The authentication mechanism needs to be configured only in the AuthenticationClass which is then referenced in the product. Multiple different authentication providers are supported. From 6bab5d0aeba5fda3a0e75d400f91443e98c6b535 Mon Sep 17 00:00:00 2001 From: Andrew Kenworthy Date: Thu, 20 Apr 2023 12:07:02 +0200 Subject: [PATCH 5/8] fix to wording (#387) --- modules/ROOT/pages/release_notes.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/release_notes.adoc b/modules/ROOT/pages/release_notes.adoc index fcc74cb2e..ce54492eb 100644 --- a/modules/ROOT/pages/release_notes.adoc +++ b/modules/ROOT/pages/release_notes.adoc @@ -45,7 +45,7 @@ Additionally, there are some individual product features that are noteworthy: * https://github.com/stackabletech/airflow-operator/issues/177[Apache Airflow: load DAGs per git-sync] * https://github.com/stackabletech/hdfs-operator/issues/289[Apache HDFS: Rework HDFS TLS / Auth structs] * https://github.com/stackabletech/trino-operator/issues/395[Trino: Rework HDFS TLS / Auth structs] -* https://github.com/stackabletech/secret-operator/issues/243[Secret operator: support running the Secret operator in rootless mode ] +* https://github.com/stackabletech/secret-operator/pull/252[Secret operator: support running the Secret operator in unprivileged mode ] * https://github.com/stackabletech/secret-operator/pull/235[Secret operator: allow configuring CSI docker images] * https://github.com/stackabletech/secret-operator/issues/4[Secret operator: Kerberos keytab provisioning] From a24c0cb0d0d4de5ae9e5b5cbe1bb5255618a87f3 Mon Sep 17 00:00:00 2001 From: Felix Hennig Date: Thu, 20 Apr 2023 14:47:59 +0200 Subject: [PATCH 6/8] replace excalidraw diagrams (#388) * replaced diagrams * updated text * removed sketch effect --- .../images/s3-fully-separated.drawio.svg | 4 + modules/concepts/images/s3-inline.drawio.svg | 4 + .../concepts/images/s3-overview.drawio.svg | 4 + modules/concepts/pages/s3.adoc | 42 +- .../diagrams/S3ResourceOverview.excalidraw | 982 ------------------ .../S3ResourcesByReference.excalidraw | 321 ------ .../diagrams/S3ResourcesInlined.excalidraw | 210 ---- 7 files changed, 30 insertions(+), 1537 deletions(-) create mode 100644 modules/concepts/images/s3-fully-separated.drawio.svg create mode 100644 modules/concepts/images/s3-inline.drawio.svg create mode 100644 modules/concepts/images/s3-overview.drawio.svg delete mode 100644 modules/concepts/partials/diagrams/S3ResourceOverview.excalidraw delete mode 100644 modules/concepts/partials/diagrams/S3ResourcesByReference.excalidraw delete mode 100644 modules/concepts/partials/diagrams/S3ResourcesInlined.excalidraw diff --git a/modules/concepts/images/s3-fully-separated.drawio.svg b/modules/concepts/images/s3-fully-separated.drawio.svg new file mode 100644 index 000000000..430300cdc --- /dev/null +++ b/modules/concepts/images/s3-fully-separated.drawio.svg @@ -0,0 +1,4 @@ + + + +
DruidCluster
DruidCluster
S3Bucket
S3Bucket
S3Connection
S3Connection
S3Bucket
S3Bucket
SparkCluster
SparkCluster
TrinoCluster
TrinoCluster
Text is not SVG - cannot display
\ No newline at end of file diff --git a/modules/concepts/images/s3-inline.drawio.svg b/modules/concepts/images/s3-inline.drawio.svg new file mode 100644 index 000000000..e56f3bfa9 --- /dev/null +++ b/modules/concepts/images/s3-inline.drawio.svg @@ -0,0 +1,4 @@ + + + +
DruidCluster
DruidCluster
S3Bucket
S3Bucket
S3Connection
S3Connection
Text is not SVG - cannot display
\ No newline at end of file diff --git a/modules/concepts/images/s3-overview.drawio.svg b/modules/concepts/images/s3-overview.drawio.svg new file mode 100644 index 000000000..a7ba78c8f --- /dev/null +++ b/modules/concepts/images/s3-overview.drawio.svg @@ -0,0 +1,4 @@ + + + +
DruidCluster
DruidCluster
S3Bucket
S3Bucket
S3Connection
S3Connection
DruidCluster
DruidCluster
S3Bucket
S3Bucket
S3Connection
S3Connection
DruidCluster
DruidCluster
S3Bucket
S3Bucket
S3Connection
S3Connection
SparkCluster
SparkCluster
S3Bucket
S3Bucket
SparkCluster
SparkCluster
(A) completely inline
(A) completely inline
(B) common bucket
(B) common bucket
(D) fully separated
(D) fully separated
DruidCluster
DruidCluster
S3Bucket
S3Bucket
S3Connection
S3Connection
SparkCluster
SparkCluster
S3Bucket
S3Bucket
(C) common connection
(C) common connection
TrinoCluster
TrinoCluster
Text is not SVG - cannot display
\ No newline at end of file diff --git a/modules/concepts/pages/s3.adoc b/modules/concepts/pages/s3.adoc index 70c8dc25f..07646a780 100644 --- a/modules/concepts/pages/s3.adoc +++ b/modules/concepts/pages/s3.adoc @@ -43,19 +43,21 @@ spec: S3Bucket(s) reference S3Connection(s) objects. Both types of objects can be referenced by other resources. For example in a DruidCluster you can specify a bucket for deep storage and an S3Connection for data ingestion. S3Connection objects can be defined in a standalone fashion or they can be inlined into a bucket object. Similarly a bucket can be defined in a standalone object or inlined into an enclosing object. -[excalidraw,s3-cluster-bucket-connection-reference,svg,width=70%] ----- -include::partial$diagrams/S3ResourceOverview.excalidraw[] ----- +image::s3-overview.drawio.svg[A diagram showing four variations (A, B, C, D) of S3 resource referencing.] + +The diagram above shows four examples of how the objects can be structured. + +// Variant A +Variant A shows all S3 objects inlined in a DruidCluster resource. This is a very convenient way to quickly test something since the entire configuration is encapsulated in a single but potentially large manifest. + +// Variant B +In variant B the S3 bucket has been split out into its own resource. It can now be referred to by multiple different tools as well. + +// Variant C +In variant C the bucket is inlined in the cluster definition. This makes sense if you have a dedicated bucket for a specific purpose, if it is only used in this one cluster instance, in this single product, but they are still hosted in the same place, so they still share a connection. -The diagram above shows three examples of how the objects can be - structured. -// Option 1 -In option 1 all objects are separate from each other. This provides maximum re-usability because the same connection or bucket object can be referenced by multiple resources. It also allows for separation of concerns across team members. Cluster administrators can define S3 connection objects that developers reference in their applications. -// Option 2 -In option 2 the bucket is inlined in the cluster definition. This makes sense if you have a dedicated bucket for a specific purpose, if it is only used in this one cluster instance, in this single product. -// Option 3 -Option 3 shows all S3 objects inlined in a DruidCluster resource. This is a very convenient way to quickly test something since the entire configuration is encapsulated in a single but potentially large manifest. +// Variant D +In variant D all objects are separate from each other. This provides maximum re-usability because the same connection or bucket object can be referenced by multiple resources. It also allows for separation of concerns across team members. Cluster administrators can define S3 connection objects that developers reference in their applications. === Examples @@ -76,12 +78,9 @@ spec: ==== Inline definition -The inline definition is variant 3 in the figure above. +The inline definition is variant A in the figure above. -[excalidraw,s3-cluster-bucket-connection-reference,svg,width=70%] ----- -include::partial$diagrams/S3ResourcesInlined.excalidraw[] ----- +image::s3-inline.drawio.svg[The DruidCluster encapsulates an S3Bucket, which in turn contains an S3Connection] This variant has the advantage that everything is defined in a single file, right where it is going to be used: @@ -111,10 +110,7 @@ spec: Often multiple buckets are used across a data pipeline, as well as buckets being used by different applications, so stand-alone resource definitions that can be referenced from multiple objects make sense. -[excalidraw,s3-cluster-bucket-connection-reference,svg,width=70%] ----- -include::partial$diagrams/S3ResourcesByReference.excalidraw[] ----- +image::s3-fully-separated.drawio.svg[One S3Connection is referenced by two different S3Buckets. The first Bucket is referenced by a DruidCluster and the second bucket is referenced by a SparkCluster and TrinoCluster. No object is inlined.] The DruidCluster references the S3Bucket, which in turn references the S3Connection. First the definition of the S3Connection: @@ -132,7 +128,6 @@ spec: Then the bucket, which references the connection: - [source,yaml] ---- --- @@ -164,7 +159,6 @@ spec: == Credentials - No matter if a connection is specified inline or as a separate object, the credentials are always specified in the same way. You will need a `Secret` containing the access key ID and secret access key, a `SecretClass` and then a reference to this `SecretClass` where you want to specify the credentials. The `Secret`: @@ -211,4 +205,4 @@ credentials: == What's next -- Find details about the options of the S3 resource in the xref:reference:s3.adoc[S3 resources reference]. +Find details about the options of the S3 resource in the xref:reference:s3.adoc[S3 resources reference]. diff --git a/modules/concepts/partials/diagrams/S3ResourceOverview.excalidraw b/modules/concepts/partials/diagrams/S3ResourceOverview.excalidraw deleted file mode 100644 index a3345bcdf..000000000 --- a/modules/concepts/partials/diagrams/S3ResourceOverview.excalidraw +++ /dev/null @@ -1,982 +0,0 @@ -{ - "type": "excalidraw", - "version": 2, - "source": "https://excalidraw.com", - "elements": [ - { - "type": "rectangle", - "version": 312, - "versionNonce": 747948467, - "isDeleted": false, - "id": "xpIUEGt0KkI7qjHd49K3E", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 913, - "y": 555, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 153, - "height": 39, - "seed": 759541271, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [ - { - "type": "text", - "id": "FbqPCOjejMAPXVpN4qqZq" - }, - { - "id": "ZKrgJ8oyCX9r5ObplVpq2", - "type": "arrow" - } - ], - "updated": 1655193671049, - "link": null, - "locked": false - }, - { - "type": "text", - "version": 169, - "versionNonce": 725360381, - "isDeleted": false, - "id": "FbqPCOjejMAPXVpN4qqZq", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 918, - "y": 562.5, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 143, - "height": 24, - "seed": 1596032377, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1655193671049, - "link": null, - "locked": false, - "fontSize": 20, - "fontFamily": 1, - "text": "S3Connection", - "baseline": 17, - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "xpIUEGt0KkI7qjHd49K3E", - "originalText": "S3Connection" - }, - { - "type": "rectangle", - "version": 126, - "versionNonce": 1297554259, - "isDeleted": false, - "id": "uH67n4_jHiwTRZbg4tMtJ", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 700, - "y": 551, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 137, - "height": 45, - "seed": 837934681, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [ - { - "type": "text", - "id": "O_so9OPHfuqzEAS3COcm-" - }, - { - "id": "GH4gFqvurgBoO9xfnadz0", - "type": "arrow" - }, - { - "id": "ZKrgJ8oyCX9r5ObplVpq2", - "type": "arrow" - } - ], - "updated": 1655193671049, - "link": null, - "locked": false - }, - { - "type": "text", - "version": 131, - "versionNonce": 733558621, - "isDeleted": false, - "id": "O_so9OPHfuqzEAS3COcm-", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 705, - "y": 561.5, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 127, - "height": 24, - "seed": 574009367, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1655193671049, - "link": null, - "locked": false, - "fontSize": 20, - "fontFamily": 1, - "text": "S3Bucket", - "baseline": 17, - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "uH67n4_jHiwTRZbg4tMtJ", - "originalText": "S3Bucket" - }, - { - "type": "rectangle", - "version": 43, - "versionNonce": 1897806067, - "isDeleted": false, - "id": "9MdZML71Uldt7UrJ_ZnI-", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 472, - "y": 551, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 148, - "height": 44, - "seed": 659926841, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [ - { - "type": "text", - "id": "Z9Ic7Q_GJDdN6JALnyWQU" - }, - { - "id": "GH4gFqvurgBoO9xfnadz0", - "type": "arrow" - } - ], - "updated": 1655193671049, - "link": null, - "locked": false - }, - { - "type": "text", - "version": 34, - "versionNonce": 1639203773, - "isDeleted": false, - "id": "Z9Ic7Q_GJDdN6JALnyWQU", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 477, - "y": 561, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 138, - "height": 24, - "seed": 1389019577, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1655193671049, - "link": null, - "locked": false, - "fontSize": 20, - "fontFamily": 1, - "text": "DruidCluster", - "baseline": 17, - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "9MdZML71Uldt7UrJ_ZnI-", - "originalText": "DruidCluster" - }, - { - "type": "arrow", - "version": 38, - "versionNonce": 1970315923, - "isDeleted": false, - "id": "GH4gFqvurgBoO9xfnadz0", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 627, - "y": 572, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 69, - "height": 2, - "seed": 511920311, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1655193671050, - "link": null, - "locked": false, - "startBinding": { - "elementId": "9MdZML71Uldt7UrJ_ZnI-", - "focus": 0.055822328931572636, - "gap": 7 - }, - "endBinding": { - "elementId": "uH67n4_jHiwTRZbg4tMtJ", - "focus": 0.22876590707309857, - "gap": 4 - }, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": "arrow", - "points": [ - [ - 0, - 0 - ], - [ - 69, - -2 - ] - ] - }, - { - "type": "arrow", - "version": 29, - "versionNonce": 1364116509, - "isDeleted": false, - "id": "ZKrgJ8oyCX9r5ObplVpq2", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 847, - "y": 575, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 56, - "height": 1, - "seed": 615615417, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1655193671050, - "link": null, - "locked": false, - "startBinding": { - "elementId": "uH67n4_jHiwTRZbg4tMtJ", - "focus": 0.004140007527286413, - "gap": 10 - }, - "endBinding": { - "elementId": "xpIUEGt0KkI7qjHd49K3E", - "focus": -0.14591356439880188, - "gap": 10 - }, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": "arrow", - "points": [ - [ - 0, - 0 - ], - [ - 56, - 1 - ] - ] - }, - { - "type": "rectangle", - "version": 591, - "versionNonce": 1124390963, - "isDeleted": false, - "id": "ShDDUIjfAR4cUs5ZS_Hw7", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 914, - "y": 700.5, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 153, - "height": 39, - "seed": 236946397, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [ - { - "id": "2ceAyVC8OCwGa-aFQfmsK", - "type": "text" - }, - { - "id": "42AVzcm9HY_DUE7Idt105", - "type": "arrow" - }, - { - "type": "text", - "id": "2ceAyVC8OCwGa-aFQfmsK" - } - ], - "updated": 1655193671050, - "link": null, - "locked": false - }, - { - "type": "text", - "version": 447, - "versionNonce": 2121939069, - "isDeleted": false, - "id": "2ceAyVC8OCwGa-aFQfmsK", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 919, - "y": 708, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 143, - "height": 24, - "seed": 141620339, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1655193671050, - "link": null, - "locked": false, - "fontSize": 20, - "fontFamily": 1, - "text": "S3Connection", - "baseline": 17, - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "ShDDUIjfAR4cUs5ZS_Hw7", - "originalText": "S3Connection" - }, - { - "type": "rectangle", - "version": 327, - "versionNonce": 1740724691, - "isDeleted": false, - "id": "95W9gdcFPFkc3eGCMObeQ", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 502, - "y": 702.5, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 137, - "height": 45, - "seed": 714932285, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [ - { - "id": "C9qRQEagQJDjUQwANeCpn", - "type": "text" - }, - { - "id": "42AVzcm9HY_DUE7Idt105", - "type": "arrow" - }, - { - "type": "text", - "id": "C9qRQEagQJDjUQwANeCpn" - } - ], - "updated": 1655193671050, - "link": null, - "locked": false - }, - { - "type": "text", - "version": 330, - "versionNonce": 1928863965, - "isDeleted": false, - "id": "C9qRQEagQJDjUQwANeCpn", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 507, - "y": 713, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 127, - "height": 24, - "seed": 434105875, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1655193671050, - "link": null, - "locked": false, - "fontSize": 20, - "fontFamily": 1, - "text": "S3Bucket", - "baseline": 17, - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "95W9gdcFPFkc3eGCMObeQ", - "originalText": "S3Bucket" - }, - { - "type": "rectangle", - "version": 141, - "versionNonce": 1891411827, - "isDeleted": false, - "id": "Fl0vBzl87ULvVkSFXEUCj", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 470, - "y": 644.5, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 179, - "height": 114, - "seed": 1726738589, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [ - { - "id": "42AVzcm9HY_DUE7Idt105", - "type": "arrow" - } - ], - "updated": 1655193671050, - "link": null, - "locked": false - }, - { - "type": "arrow", - "version": 1329, - "versionNonce": 1510034845, - "isDeleted": false, - "id": "42AVzcm9HY_DUE7Idt105", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 649, - "y": 724.8548334984433, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 255, - "height": 1.4530252191227646, - "seed": 578012499, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1655193671050, - "link": null, - "locked": false, - "startBinding": { - "elementId": "Fl0vBzl87ULvVkSFXEUCj", - "focus": 0.41496824490053114, - "gap": 1 - }, - "endBinding": { - "elementId": "ShDDUIjfAR4cUs5ZS_Hw7", - "focus": -0.14591356439879996, - "gap": 10 - }, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": "arrow", - "points": [ - [ - 0, - 0 - ], - [ - 255, - -1.4530252191227646 - ] - ] - }, - { - "id": "ti1ORFDQZcMZZ4GlOXDXu", - "type": "text", - "x": 483, - "y": 656, - "width": 124, - "height": 26, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "strokeSharpness": "sharp", - "seed": 619993885, - "version": 81, - "versionNonce": 1002022579, - "isDeleted": false, - "boundElements": null, - "updated": 1655193671050, - "link": null, - "locked": false, - "text": "DruidCluster", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "left", - "verticalAlign": "top", - "baseline": 18, - "containerId": null, - "originalText": "DruidCluster" - }, - { - "type": "rectangle", - "version": 682, - "versionNonce": 857707005, - "isDeleted": false, - "id": "4Y2EY8iKZwUWyo9ZgBadc", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 508, - "y": 916, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 153, - "height": 39, - "seed": 387095965, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [ - { - "id": "-cFydgms4xE7MmAF2yH90", - "type": "text" - }, - { - "id": "-cFydgms4xE7MmAF2yH90", - "type": "text" - }, - { - "type": "text", - "id": "-cFydgms4xE7MmAF2yH90" - } - ], - "updated": 1655193671050, - "link": null, - "locked": false - }, - { - "type": "text", - "version": 536, - "versionNonce": 1037588563, - "isDeleted": false, - "id": "-cFydgms4xE7MmAF2yH90", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 513, - "y": 923.5, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 143, - "height": 24, - "seed": 254105267, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1655193671050, - "link": null, - "locked": false, - "fontSize": 20, - "fontFamily": 1, - "text": "S3Connection", - "baseline": 17, - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "4Y2EY8iKZwUWyo9ZgBadc", - "originalText": "S3Connection" - }, - { - "type": "rectangle", - "version": 411, - "versionNonce": 1823885917, - "isDeleted": false, - "id": "5zGYC9yUp_GqcJRWhC3Hu", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 502, - "y": 861, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 165, - "height": 103, - "seed": 1636229629, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [ - { - "id": "iqOSaisAJyOOh9PvisUvt", - "type": "arrow" - } - ], - "updated": 1655193671050, - "link": null, - "locked": false - }, - { - "type": "rectangle", - "version": 272, - "versionNonce": 1201075901, - "isDeleted": false, - "id": "zi7IHcxQWpVfifnYIYHxz", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 470, - "y": 803, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 205.00000000000003, - "height": 171, - "seed": 1907595869, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1655193671050, - "link": null, - "locked": false - }, - { - "type": "text", - "version": 121, - "versionNonce": 1850946867, - "isDeleted": false, - "id": "ZQKqOE6va2_56sUtrVQ4O", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 483, - "y": 814.5, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 124, - "height": 26, - "seed": 1733316499, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1655193671050, - "link": null, - "locked": false, - "fontSize": 20, - "fontFamily": 1, - "text": "DruidCluster", - "baseline": 18, - "textAlign": "left", - "verticalAlign": "top", - "containerId": null, - "originalText": "DruidCluster" - }, - { - "id": "lURCDsJo5Fj1Njx1772L3", - "type": "text", - "x": 512, - "y": 871, - "width": 95, - "height": 26, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "strokeSharpness": "sharp", - "seed": 1742987805, - "version": 60, - "versionNonce": 999041917, - "isDeleted": false, - "boundElements": null, - "updated": 1655193671051, - "link": null, - "locked": false, - "text": "S3Bucket", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "left", - "verticalAlign": "top", - "baseline": 18, - "containerId": null, - "originalText": "S3Bucket" - }, - { - "id": "lqBmV6-s9K7xoWZqxPzoi", - "type": "ellipse", - "x": 370, - "y": 547, - "width": 56, - "height": 56, - "angle": 0, - "strokeColor": "#b80069", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "strokeSharpness": "sharp", - "seed": 557522557, - "version": 87, - "versionNonce": 1902987411, - "isDeleted": false, - "boundElements": [ - { - "type": "text", - "id": "JUEMRV3lZNhi4zlDDzKps" - } - ], - "updated": 1655193760277, - "link": null, - "locked": false - }, - { - "id": "JUEMRV3lZNhi4zlDDzKps", - "type": "text", - "x": 375, - "y": 552, - "width": 46, - "height": 46, - "angle": 0, - "strokeColor": "#b80069", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "strokeSharpness": "sharp", - "seed": 1732007283, - "version": 30, - "versionNonce": 492273181, - "isDeleted": false, - "boundElements": null, - "updated": 1655193760277, - "link": null, - "locked": false, - "text": "1", - "fontSize": 36, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "middle", - "baseline": 32, - "containerId": "lqBmV6-s9K7xoWZqxPzoi", - "originalText": "1" - }, - { - "type": "ellipse", - "version": 103, - "versionNonce": 612154931, - "isDeleted": false, - "id": "AXChbBjjY_mocVqscR-RT", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 369, - "y": 673, - "strokeColor": "#b80069", - "backgroundColor": "transparent", - "width": 56, - "height": 56, - "seed": 1848828509, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [ - { - "id": "ykPcOs3qVjC8o0B-jdo36", - "type": "text" - }, - { - "type": "text", - "id": "ykPcOs3qVjC8o0B-jdo36" - } - ], - "updated": 1655193760277, - "link": null, - "locked": false - }, - { - "type": "text", - "version": 46, - "versionNonce": 2103161469, - "isDeleted": false, - "id": "ykPcOs3qVjC8o0B-jdo36", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 374, - "y": 678, - "strokeColor": "#b80069", - "backgroundColor": "transparent", - "width": 46, - "height": 46, - "seed": 1822998003, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1655193760277, - "link": null, - "locked": false, - "fontSize": 36, - "fontFamily": 1, - "text": "2", - "baseline": 32, - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "AXChbBjjY_mocVqscR-RT", - "originalText": "2" - }, - { - "type": "ellipse", - "version": 114, - "versionNonce": 1565294547, - "isDeleted": false, - "id": "yac5g3xtffw80Y9fwRihp", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 367, - "y": 866, - "strokeColor": "#b80069", - "backgroundColor": "transparent", - "width": 56, - "height": 56, - "seed": 241748029, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [ - { - "id": "nuDNjSn8613Nbey3Teasd", - "type": "text" - }, - { - "type": "text", - "id": "nuDNjSn8613Nbey3Teasd" - } - ], - "updated": 1655193760277, - "link": null, - "locked": false - }, - { - "type": "text", - "version": 57, - "versionNonce": 1268407005, - "isDeleted": false, - "id": "nuDNjSn8613Nbey3Teasd", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 372, - "y": 871, - "strokeColor": "#b80069", - "backgroundColor": "transparent", - "width": 46, - "height": 46, - "seed": 2140448275, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1655193760277, - "link": null, - "locked": false, - "fontSize": 36, - "fontFamily": 1, - "text": "3", - "baseline": 32, - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "yac5g3xtffw80Y9fwRihp", - "originalText": "3" - } - ], - "appState": { - "gridSize": null, - "viewBackgroundColor": "#ffffff" - }, - "files": {} -} \ No newline at end of file diff --git a/modules/concepts/partials/diagrams/S3ResourcesByReference.excalidraw b/modules/concepts/partials/diagrams/S3ResourcesByReference.excalidraw deleted file mode 100644 index 404a56d9c..000000000 --- a/modules/concepts/partials/diagrams/S3ResourcesByReference.excalidraw +++ /dev/null @@ -1,321 +0,0 @@ -{ - "type": "excalidraw", - "version": 2, - "source": "https://excalidraw.com", - "elements": [ - { - "id": "xpIUEGt0KkI7qjHd49K3E", - "type": "rectangle", - "x": 913, - "y": 555, - "width": 153, - "height": 39, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "strokeSharpness": "sharp", - "seed": 759541271, - "version": 311, - "versionNonce": 468497431, - "isDeleted": false, - "boundElements": [ - { - "type": "text", - "id": "FbqPCOjejMAPXVpN4qqZq" - }, - { - "id": "ZKrgJ8oyCX9r5ObplVpq2", - "type": "arrow" - } - ], - "updated": 1653990351229, - "link": null, - "locked": false - }, - { - "id": "FbqPCOjejMAPXVpN4qqZq", - "type": "text", - "x": 918, - "y": 562.5, - "width": 143, - "height": 24, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "strokeSharpness": "sharp", - "seed": 1596032377, - "version": 168, - "versionNonce": 239446521, - "isDeleted": false, - "boundElements": null, - "updated": 1653990304645, - "link": null, - "locked": false, - "text": "S3Connection", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "middle", - "baseline": 17, - "containerId": "xpIUEGt0KkI7qjHd49K3E", - "originalText": "S3Connection" - }, - { - "id": "uH67n4_jHiwTRZbg4tMtJ", - "type": "rectangle", - "x": 700, - "y": 551, - "width": 137, - "height": 45, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "strokeSharpness": "sharp", - "seed": 837934681, - "version": 125, - "versionNonce": 1895770871, - "isDeleted": false, - "boundElements": [ - { - "type": "text", - "id": "O_so9OPHfuqzEAS3COcm-" - }, - { - "id": "GH4gFqvurgBoO9xfnadz0", - "type": "arrow" - }, - { - "id": "ZKrgJ8oyCX9r5ObplVpq2", - "type": "arrow" - } - ], - "updated": 1653990351228, - "link": null, - "locked": false - }, - { - "id": "O_so9OPHfuqzEAS3COcm-", - "type": "text", - "x": 705, - "y": 561.5, - "width": 127, - "height": 24, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "strokeSharpness": "sharp", - "seed": 574009367, - "version": 130, - "versionNonce": 86073945, - "isDeleted": false, - "boundElements": null, - "updated": 1653990316345, - "link": null, - "locked": false, - "text": "S3Bucket", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "middle", - "baseline": 17, - "containerId": "uH67n4_jHiwTRZbg4tMtJ", - "originalText": "S3Bucket" - }, - { - "id": "9MdZML71Uldt7UrJ_ZnI-", - "type": "rectangle", - "x": 472, - "y": 551, - "width": 148, - "height": 44, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "strokeSharpness": "sharp", - "seed": 659926841, - "version": 42, - "versionNonce": 67860727, - "isDeleted": false, - "boundElements": [ - { - "type": "text", - "id": "Z9Ic7Q_GJDdN6JALnyWQU" - }, - { - "id": "GH4gFqvurgBoO9xfnadz0", - "type": "arrow" - } - ], - "updated": 1653990344149, - "link": null, - "locked": false - }, - { - "id": "Z9Ic7Q_GJDdN6JALnyWQU", - "type": "text", - "x": 477, - "y": 561, - "width": 138, - "height": 24, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "strokeSharpness": "sharp", - "seed": 1389019577, - "version": 33, - "versionNonce": 2062799767, - "isDeleted": false, - "boundElements": null, - "updated": 1653990332654, - "link": null, - "locked": false, - "text": "DruidCluster", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "middle", - "baseline": 17, - "containerId": "9MdZML71Uldt7UrJ_ZnI-", - "originalText": "DruidCluster" - }, - { - "id": "GH4gFqvurgBoO9xfnadz0", - "type": "arrow", - "x": 627, - "y": 572, - "width": 69, - "height": 2, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "strokeSharpness": "round", - "seed": 511920311, - "version": 37, - "versionNonce": 792589817, - "isDeleted": false, - "boundElements": null, - "updated": 1653990344150, - "link": null, - "locked": false, - "points": [ - [ - 0, - 0 - ], - [ - 69, - -2 - ] - ], - "lastCommittedPoint": null, - "startBinding": { - "elementId": "9MdZML71Uldt7UrJ_ZnI-", - "focus": 0.055822328931572636, - "gap": 7 - }, - "endBinding": { - "elementId": "uH67n4_jHiwTRZbg4tMtJ", - "focus": 0.22876590707309857, - "gap": 4 - }, - "startArrowhead": null, - "endArrowhead": "arrow" - }, - { - "id": "ZKrgJ8oyCX9r5ObplVpq2", - "type": "arrow", - "x": 847, - "y": 575, - "width": 56, - "height": 1, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "strokeSharpness": "round", - "seed": 615615417, - "version": 28, - "versionNonce": 35021817, - "isDeleted": false, - "boundElements": null, - "updated": 1653990351228, - "link": null, - "locked": false, - "points": [ - [ - 0, - 0 - ], - [ - 56, - 1 - ] - ], - "lastCommittedPoint": null, - "startBinding": { - "elementId": "uH67n4_jHiwTRZbg4tMtJ", - "focus": 0.004140007527286413, - "gap": 10 - }, - "endBinding": { - "elementId": "xpIUEGt0KkI7qjHd49K3E", - "focus": -0.14591356439880188, - "gap": 10 - }, - "startArrowhead": null, - "endArrowhead": "arrow" - } - ], - "appState": { - "gridSize": null, - "viewBackgroundColor": "#ffffff" - }, - "files": {} -} \ No newline at end of file diff --git a/modules/concepts/partials/diagrams/S3ResourcesInlined.excalidraw b/modules/concepts/partials/diagrams/S3ResourcesInlined.excalidraw deleted file mode 100644 index 2fa8cd84f..000000000 --- a/modules/concepts/partials/diagrams/S3ResourcesInlined.excalidraw +++ /dev/null @@ -1,210 +0,0 @@ -{ - "type": "excalidraw", - "version": 2, - "source": "https://excalidraw.com", - "elements": [ - { - "type": "rectangle", - "version": 682, - "versionNonce": 857707005, - "isDeleted": false, - "id": "4Y2EY8iKZwUWyo9ZgBadc", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 508, - "y": 916, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 153, - "height": 39, - "seed": 387095965, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [ - { - "id": "-cFydgms4xE7MmAF2yH90", - "type": "text" - }, - { - "id": "-cFydgms4xE7MmAF2yH90", - "type": "text" - }, - { - "type": "text", - "id": "-cFydgms4xE7MmAF2yH90" - } - ], - "updated": 1655193671050, - "link": null, - "locked": false - }, - { - "type": "text", - "version": 536, - "versionNonce": 1037588563, - "isDeleted": false, - "id": "-cFydgms4xE7MmAF2yH90", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 513, - "y": 923.5, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 143, - "height": 24, - "seed": 254105267, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1655193671050, - "link": null, - "locked": false, - "fontSize": 20, - "fontFamily": 1, - "text": "S3Connection", - "baseline": 17, - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "4Y2EY8iKZwUWyo9ZgBadc", - "originalText": "S3Connection" - }, - { - "type": "rectangle", - "version": 411, - "versionNonce": 1823885917, - "isDeleted": false, - "id": "5zGYC9yUp_GqcJRWhC3Hu", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 502, - "y": 861, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 165, - "height": 103, - "seed": 1636229629, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [ - { - "id": "iqOSaisAJyOOh9PvisUvt", - "type": "arrow" - } - ], - "updated": 1655193671050, - "link": null, - "locked": false - }, - { - "type": "rectangle", - "version": 272, - "versionNonce": 1201075901, - "isDeleted": false, - "id": "zi7IHcxQWpVfifnYIYHxz", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 470, - "y": 803, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 205.00000000000003, - "height": 171, - "seed": 1907595869, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1655193671050, - "link": null, - "locked": false - }, - { - "type": "text", - "version": 121, - "versionNonce": 1850946867, - "isDeleted": false, - "id": "ZQKqOE6va2_56sUtrVQ4O", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 483, - "y": 814.5, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 124, - "height": 26, - "seed": 1733316499, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1655193671050, - "link": null, - "locked": false, - "fontSize": 20, - "fontFamily": 1, - "text": "DruidCluster", - "baseline": 18, - "textAlign": "left", - "verticalAlign": "top", - "containerId": null, - "originalText": "DruidCluster" - }, - { - "id": "lURCDsJo5Fj1Njx1772L3", - "type": "text", - "x": 512, - "y": 871, - "width": 95, - "height": 26, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "strokeSharpness": "sharp", - "seed": 1742987805, - "version": 60, - "versionNonce": 999041917, - "isDeleted": false, - "boundElements": null, - "updated": 1655193671051, - "link": null, - "locked": false, - "text": "S3Bucket", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "left", - "verticalAlign": "top", - "baseline": 18, - "containerId": null, - "originalText": "S3Bucket" - } - ], - "appState": { - "gridSize": null, - "viewBackgroundColor": "#ffffff" - }, - "files": {} -} \ No newline at end of file From 454340fc00b72cd4768e92b3c6e2b80026bcc10c Mon Sep 17 00:00:00 2001 From: Sebastian Bernauer Date: Tue, 25 Apr 2023 10:13:48 +0200 Subject: [PATCH 7/8] Add concepts page on service exposition (#398) * Add concepts page on service exposition * Rename file * Update modules/concepts/pages/service-exposition.adoc Co-authored-by: Malte Sander * Update modules/concepts/pages/service-exposition.adoc Co-authored-by: Malte Sander * Update modules/concepts/pages/service-exposition.adoc Co-authored-by: Malte Sander * Update modules/concepts/pages/service-exposition.adoc Co-authored-by: Malte Sander * Update modules/concepts/pages/service-exposition.adoc Co-authored-by: Malte Sander * Update modules/concepts/pages/service-exposition.adoc Co-authored-by: Malte Sander * Apply suggestion --------- Co-authored-by: Malte Sander --- modules/concepts/nav.adoc | 3 ++- modules/concepts/pages/service-exposition.adoc | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 modules/concepts/pages/service-exposition.adoc diff --git a/modules/concepts/nav.adoc b/modules/concepts/nav.adoc index cb658a023..995e21c95 100644 --- a/modules/concepts/nav.adoc +++ b/modules/concepts/nav.adoc @@ -1,5 +1,6 @@ * xref:concepts:index.adoc[] ** xref:roles-and-role-groups.adoc[] +** xref:service-exposition.adoc[] ** xref:service_discovery.adoc[] ** xref:logging.adoc[] ** xref:authentication.adoc[] @@ -10,4 +11,4 @@ ** xref:s3.adoc[] ** xref:tls_server_verification.adoc[] ** xref:pod_placement.adoc[] -** xref:cluster_operations.adoc[] \ No newline at end of file +** xref:cluster_operations.adoc[] diff --git a/modules/concepts/pages/service-exposition.adoc b/modules/concepts/pages/service-exposition.adoc new file mode 100644 index 000000000..d5a10ddad --- /dev/null +++ b/modules/concepts/pages/service-exposition.adoc @@ -0,0 +1,16 @@ += Service exposition + +For some deployed products it is sufficient to be only accessible within the Kubernetes cluster, while others need to be accessible from outside the Kubernetes cluster. +This can e.g. be from your internal corporate network when running on bare metal, your internal network in your cloud provider or the Internet. + +As of the release 23.4, the Stackable Operators create Kubernetes Service objects to expose the deployed product. +For security reasons, the Services default to the `ClusterIP` type in order to avoid exposing anything to the public. +You can specify the type within the custom resource field `spec.clusterConfig.listenerClass` by setting it to either: + +* `cluster-internal` => Use `ClusterIP` (default) +* `external-unstable` => Use `NodePort` +* `external-stable` => Use `LoadBalancer` + +Please note that as of the release 23.4 not all operators support all the mentioned `Service` types. + +In a future release, the `ListenerClass` provided by the xref:listener-operator:index.adoc[listener-operator] will be supported to make things more flexible. From 7870760087f251c177558bc0d4aa048f9e6ecba9 Mon Sep 17 00:00:00 2001 From: Razvan-Daniel Mihai <84674+razvan@users.noreply.github.com> Date: Fri, 12 May 2023 13:24:30 +0200 Subject: [PATCH 8/8] Update breaking change notes on Airflow --- modules/ROOT/pages/release_notes.adoc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/ROOT/pages/release_notes.adoc b/modules/ROOT/pages/release_notes.adoc index ce54492eb..399757d18 100644 --- a/modules/ROOT/pages/release_notes.adoc +++ b/modules/ROOT/pages/release_notes.adoc @@ -101,6 +101,12 @@ spec: ``` This is an example for Trino, but the pattern is the same across all operators. +==== Stackable Operator for Apache Airflow + +Existing Airflow clusters need to be deleted and recreated. + +This is required because the UID of the Airflow user has https://github.com/stackabletech/airflow-operator/pull/219[changed] to be in line with the rest of the platform. + ==== Stackable Operator for Apache HBase * https://github.com/stackabletech/hbase-operator/issues/329[Consolidated top level configuration to clusterConfig]