Skip to content

Commit 818b9b7

Browse files
committed
Merge branch 'main' into feat/spark-4
2 parents 6d872c2 + e93d8f3 commit 818b9b7

File tree

506 files changed

+31620
-17902
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

506 files changed

+31620
-17902
lines changed

.cargo/config.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
[alias]
2+
patchable = ["run", "--bin", "patchable", "--"]

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
nix/** linguist-generated
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
---
2+
name: Add new Product
3+
about: >-
4+
This template contains instructions specific to adding a new product.
5+
title: >-
6+
tracking: Add new product <PRODUCT>
7+
labels: []
8+
# Currently, projects cannot be assigned via front-matter.
9+
projects: ['stackabletech/10']
10+
assignees: ''
11+
---
12+
13+
## Tasks
14+
15+
- [ ] Create a new top-level folder for the product. The name of the folder must
16+
use the lowercase product name.
17+
- [ ] Create a README.md file outlining special considerations required to
18+
update or run the product. See existing README files as a guide of
19+
reference.
20+
- [ ] Add a `versions.py` file to the folder. Add all required key-value pairs.
21+
- [ ] Add a new "Update Product" issue template in `.github/ISSUE_TEMPLATE/`
22+
folder. See existing ones as a guide of reference.
23+
- [ ] Add a new `build_<PRODUCT>.yml` GitHub Action workflow in the
24+
`.github/workflows` folder. Use existing local action whenever possible
25+
or consider creating a new one when there is no fitting action available.
26+
- [ ] Run `.scripts/update_readme_badges.sh` to generate the new status badge.
27+
28+
_Please consider updating this template if these instructions are wrong, or
29+
could be made clearer._
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
---
2+
name: Early Pre-Release Container Image Updates
3+
about: This template can be used to track the container image updates leading up to the next Stackable release
4+
title: "chore: Update Container Images for Stackable Release YY.M.X"
5+
labels: ['epic']
6+
assignees: ''
7+
---
8+
9+
<!--
10+
DO NOT REMOVE THIS COMMENT. It is intended for people who might copy/paste from the previous release issue.
11+
This was created by an issue template: https://github.com/stackabletech/docker-images/issues/new/choose.
12+
-->
13+
14+
<!-- Update this with the parent tracking issue for the release -->
15+
Part of stackabletech/issues#xxx.
16+
17+
> [!NOTE]
18+
> Update the product versions based on what has been decided upon in the _Product Spreadsheet[^1]_.
19+
20+
[^1]: Currently this is a private spreadsheet
21+
22+
> [!IMPORTANT]
23+
> Replace the items in the task lists below with the subsequent tracking issue.
24+
25+
## Product Container Images
26+
27+
<!--
28+
Find templates for bases/products:
29+
30+
find .github/ISSUE_TEMPLATE/update-*.md -printf "%f\n" \
31+
| sort \
32+
| xargs -I {} echo "- [ ] [Create issue from template: {}](https://github.com/stackabletech/docker-images/issues/new?template={})"
33+
-->
34+
35+
<!-- todo: consider removing the ubi*-rust-builder from the release process. -->
36+
37+
- [ ] [Create issue from template: update-base-java.md](https://github.com/stackabletech/docker-images/issues/new?template=update-base-java.md)
38+
- [ ] [Create issue from template: update-base-stackable.md](https://github.com/stackabletech/docker-images/issues/new?template=update-base-stackable.md)
39+
- [ ] [Create issue from template: update-base-vector.md](https://github.com/stackabletech/docker-images/issues/new?template=update-base-vector.md)
40+
- [ ] [Create issue from template: update-product-airflow.md](https://github.com/stackabletech/docker-images/issues/new?template=update-product-airflow.md)
41+
- [ ] [Create issue from template: update-product-druid.md](https://github.com/stackabletech/docker-images/issues/new?template=update-product-druid.md)
42+
- [ ] [Create issue from template: update-product-hbase-phoenix-omid.md](https://github.com/stackabletech/docker-images/issues/new?template=update-product-hbase-phoenix-omid.md)
43+
- [ ] [Create issue from template: update-product-hdfs.md](https://github.com/stackabletech/docker-images/issues/new?template=update-product-hdfs.md)
44+
- [ ] [Create issue from template: update-product-hive.md](https://github.com/stackabletech/docker-images/issues/new?template=update-product-hive.md)
45+
- [ ] [Create issue from template: update-product-kafka.md](https://github.com/stackabletech/docker-images/issues/new?template=update-product-kafka.md)
46+
- [ ] [Create issue from template: update-product-nifi.md](https://github.com/stackabletech/docker-images/issues/new?template=update-product-nifi.md)
47+
- [ ] [Create issue from template: update-product-opa.md](https://github.com/stackabletech/docker-images/issues/new?template=update-product-opa.md)
48+
- [ ] [Create issue from template: update-product-spark.md](https://github.com/stackabletech/docker-images/issues/new?template=update-product-spark.md)
49+
- [ ] [Create issue from template: update-product-superset.md](https://github.com/stackabletech/docker-images/issues/new?template=update-product-superset.md)
50+
- [ ] [Create issue from template: update-product-trino.md](https://github.com/stackabletech/docker-images/issues/new?template=update-product-trino.md)
51+
- [ ] [Create issue from template: update-product-zookeeper.md](https://github.com/stackabletech/docker-images/issues/new?template=update-product-zookeeper.md)
52+
53+
## Additional items which don't have a tracking issue
54+
55+
- [ ] jmx_exporter (validate via hdfs-operator smoke tests)
56+
- [ ] krb5
57+
- [ ] tools (update the versions in version.py)
58+
- [ ] testing-tools (update the base, maybe keycloak)
59+
- [ ] statsd_exporter
60+
- [ ] csi-provisioner for secret-operator
61+
- [ ] csi-provisioner for listener-operator

.github/ISSUE_TEMPLATE/pre-release.md

Lines changed: 0 additions & 76 deletions
This file was deleted.
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
---
2+
name: Update Java Bases
3+
about: >-
4+
This template contains instructions specific to updating this product and/or
5+
container image(s).
6+
title: >-
7+
chore(java-bases): Update container images ahead of Stackable Release YY.M.X
8+
labels: []
9+
# Currently, projects cannot be assigned via front-matter.
10+
projects: ['stackabletech/10']
11+
assignees: ''
12+
---
13+
14+
Part of #xxx.
15+
16+
<!--
17+
This gives hints to the person doing the work.
18+
Add/Change/Remove anything that isn't applicable anymore
19+
-->
20+
- Add: `x.x.x`
21+
- Remove: `y.y.y`
22+
23+
> [!TIP]
24+
> Please add the `scheduled-for/20XX-XX` label, and add to the [Stackable Engineering][1] project.
25+
>
26+
> [1]: https://github.com/orgs/stackabletech/projects/10
27+
28+
<!-- markdownlint-disable-next-line MD028 -->
29+
> [!IMPORTANT]
30+
>
31+
> - `java-base` uses [vector](https://github.com/stackabletech/docker-images/blob/main/vector/Dockerfile) and is used as a base for java products.
32+
> - `java-devel` uses [stackable-base](https://github.com/stackabletech/docker-images/blob/main/stackable-base/Dockerfile) and is used to build java products.
33+
34+
Typically product updates will determine which version of Java is required, but
35+
we should also make new versions of Java available for use.
36+
37+
> [!TIP]
38+
> You can search for available java versions at [rpmfind.net], and search the
39+
> term `openjdk-headless`.
40+
> _It isn't perfect, as it will depend on what is available via microdnf._
41+
42+
## Update tasks
43+
44+
- [ ] Add any new versions of java to both `java-base/versions.py` and `java-devel/versions.py`
45+
- [ ] Remove versions when there are no long any references (eg: `grep java- **/versions.py | grep "1.8.0"`)
46+
47+
## Related Pull Requests
48+
49+
- _Link to the docker-images PR (product update)_
50+
51+
## Acceptance
52+
53+
> [!TIP]
54+
> This list should be completed by the assignee(s), once respective PRs have been merged. Once all items have been
55+
> checked, the issue can be moved into _Development: Done_.
56+
57+
- [ ] Can build a product image that uses the new version(s)
58+
- [ ] Both `java-base` and `java-devel` have the same Java versions in `versions.py`
59+
- [ ] Kuttl smoke test passes locally for a product using the new Java version
60+
61+
<details>
62+
<summary>Testing instructions</summary>
63+
64+
```shell
65+
# See the latest version at https://pypi.org/project/image-tools-stackabletech/
66+
pip install image-tools-stackabletech==0.0.16
67+
68+
# Test a product image can build, eg: ZooKeeper
69+
bake --product zookeeper=x.y.z # where x.y.z is a valid product version using the newly added Java version
70+
71+
kind load docker-image oci.stackable.tech/sdp/zookeeper:x.y.z-stackable0.0.0-dev
72+
73+
# Change directory into one of the operator repositories (eg: zookeeper-operator) and update the
74+
# product version in tests/test-definition.yaml
75+
./scripts/run-tests --test-suite smoke-latest # or similar
76+
```
77+
78+
</details>
79+
80+
_Please consider updating this template if these instructions are wrong, or
81+
could be made clearer._
82+
83+
[rpmfind.net]: https://rpmfind.net/linux/RPM/Development_Java.html
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
---
2+
name: Update Stackable Base
3+
about: >-
4+
This template contains instructions specific to updating this product and/or
5+
container image(s).
6+
title: >-
7+
chore(stackable-base): Update container images ahead of Stackable Release YY.M.X
8+
labels: []
9+
# Currently, projects cannot be assigned via front-matter.
10+
projects: ['stackabletech/10']
11+
assignees: ''
12+
---
13+
14+
Part of #xxx.
15+
16+
> [!TIP]
17+
> Please add the `scheduled-for/20XX-XX` label, and add to the [Stackable Engineering][1] project.
18+
>
19+
> [1]: https://github.com/orgs/stackabletech/projects/10
20+
21+
## Update tasks
22+
23+
> [!NOTE]
24+
> When updating the base image, you will likely get a build failure related to the CA certificates.
25+
> This means you will need to update the `ca-certificates-*` package and try again. The build will
26+
> fail if the blocked certificates are still found.
27+
> The package check exists so that we can remove it once (if ever) the _bad_ CA has been removed.
28+
29+
### `stackable-base`
30+
31+
- [ ] Update `FROM ...ubi-minimal` version hash in the Dockerfile
32+
- [ ] Update `CONFIG_UTILS_VERSION`
33+
34+
### `stackable-devel`
35+
36+
- [ ] Update `FROM ...ubi-minimal` version hash in the Dockerfile
37+
- [ ] Update `RUST_DEFAULT_TOOLCHAIN_VERSION` (if tools need it, eg: patchable, config-utils)
38+
- [ ] Update `CARGO_CYCLONEDX_CRATE_VERSION` (if necessary)
39+
- [ ] Update `CARGO_AUDITABLE_CRATE_VERSION` (if necessary)
40+
41+
## Related Pull Requests
42+
43+
- _Link to the docker-images PR (product update)_
44+
45+
## Acceptance
46+
47+
> [!TIP]
48+
> This list should be completed by the assignee(s), once respective PRs have been merged. Once all items have been
49+
> checked, the issue can be moved into _Development: Done_.
50+
51+
- [ ] Can build the image locally
52+
- [ ] Can build the vector image
53+
54+
<details>
55+
<summary>Testing instructions</summary>
56+
57+
```shell
58+
# See the latest version at https://pypi.org/project/image-tools-stackabletech/
59+
pip install image-tools-stackabletech==0.0.16
60+
61+
bake --product vector=x.y.z # where x.y.z is a valid version
62+
```
63+
64+
</details>
65+
66+
_Please consider updating this template if these instructions are wrong, or
67+
could be made clearer._
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
---
2+
name: Update UBI Rust Builders
3+
about: >-
4+
This template contains instructions specific to updating this product and/or
5+
container image(s).
6+
title: >-
7+
chore(ubi-rust-builders): Update container images ahead of Stackable Release YY.M.X
8+
labels: []
9+
# Currently, projects cannot be assigned via front-matter.
10+
projects: ['stackabletech/10']
11+
assignees: ''
12+
---
13+
14+
<!--
15+
I don't think we should tie rust bumps to releases - they should be done as
16+
developers need newer versions , which could be multiple times in a release.
17+
If there are no bumps in a release, we can still rely on SecObserve and Renovate
18+
to alert us to security vulnerabilities.
19+
-->
20+
Part of #xxx.
21+
22+
<!--
23+
This gives hints to the person doing the work.
24+
Add/Change/Remove anything that isn't applicable anymore
25+
-->
26+
- Add: `x.x.x`
27+
- Remove: `y.y.y`
28+
29+
> [!TIP]
30+
> Please add the `scheduled-for/20XX-XX` label, and add to the [Stackable Engineering][1] project.
31+
>
32+
> [1]: https://github.com/orgs/stackabletech/projects/10
33+
34+
## Update tasks
35+
36+
- [ ] Update UBI version hash in the Dockerfile (`FROM`)
37+
- [ ] Update `RUST_DEFAULT_TOOLCHAIN_VERSION`
38+
- [ ] Update `CARGO_CYCLONEDX_CRATE_VERSION`
39+
- [ ] Update `CARGO_AUDITABLE_CRATE_VERSION`
40+
- [ ] Update `PROTOC_VERSION`
41+
42+
## Related Pull Requests
43+
44+
- _Link to the docker-images PR (product update)_
45+
- _Bump rust toolchain in operator-rs_
46+
- _Bump rust toolchain in operator-templating_
47+
48+
## Acceptance
49+
50+
> [!TIP]
51+
> This list should be completed by the assignee(s), once respective PRs have been merged. Once all items have been
52+
> checked, the issue can be moved into _Development: Done_.
53+
54+
- [ ] Done for [ubi9-rust-builder/Dockerfile](https://github.com/stackabletech/docker-images/blob/main/ubi9-rust-builder/Dockerfile)
55+
- [ ] Can build the image locally
56+
- [ ] Can build an operator image
57+
58+
<details>
59+
<summary>Testing instructions</summary>
60+
61+
```shell
62+
docker build -t oci.stackable.tech/sdp/ubi9-rust-builder . -f ubi9-rust-builder/Dockerfile
63+
64+
# Change directory into the an operator repository and ensure the image can build
65+
docker build . -f docker/Dockerfile
66+
```
67+
68+
</details>
69+
70+
_Please consider updating this template if these instructions are wrong, or
71+
could be made clearer._

0 commit comments

Comments
 (0)