diff --git a/antora.yml b/antora.yml index 8ecace773..c2e77655f 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 @@ -9,4 +9,4 @@ nav: - modules/operators/nav.adoc - modules/contributor/nav.adoc - modules/ROOT/nav2.adoc -prerelease: true +prerelease: false diff --git a/modules/ROOT/pages/release_notes.adoc b/modules/ROOT/pages/release_notes.adoc index c920e0214..399757d18 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:: @@ -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] @@ -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 @@ -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] @@ -452,7 +458,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 +838,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/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/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/authentication.adoc b/modules/concepts/pages/authentication.adoc index b3d5216d5..0d232ae03 100644 --- a/modules/concepts/pages/authentication.adoc +++ b/modules/concepts/pages/authentication.adoc @@ -1,5 +1,6 @@ = 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. 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/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. 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