diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ebd708..60820e8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ All notable changes to this project will be documented in this file. ### Added +- Install and manage the OpenLineageConnection custom resource definition ([#435]). - Add `/ready` endpoint to the operator Deployment, which reports the CRD installation status ([#461]). ### Changed @@ -20,6 +21,7 @@ All notable changes to this project will be documented in this file. the object name into the name part of an annotation key, which Kubernetes limits to 63 characters, causing it to reject the entire StatefulSet ([#443]). +[#435]: https://github.com/stackabletech/commons-operator/pull/435 [#439]: https://github.com/stackabletech/commons-operator/pull/439 [#443]: https://github.com/stackabletech/commons-operator/pull/443 [#444]: https://github.com/stackabletech/commons-operator/pull/444 diff --git a/Cargo.lock b/Cargo.lock index 8ea754b..4a7e579 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -316,9 +316,9 @@ checksum = "fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04" [[package]] name = "cc" -version = "1.5.1" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f360145194ee8e21db5ee7f3fcd4fe52210864c75c985dae33218202c8bbe040" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" dependencies = [ "find-msvc-tools", "jobserver", @@ -1710,7 +1710,7 @@ dependencies = [ [[package]] name = "k8s-version" version = "0.1.3" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.119.0#ed84d456ff0b8324db3d7444659cb207564be8c9" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=main#1b564c0196eda88099de52b8af317dce88ffec70" dependencies = [ "darling 0.24.1", "regex", @@ -1852,9 +1852,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.189" +version = "0.2.190" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" [[package]] name = "libgit2-sys" @@ -1946,9 +1946,9 @@ dependencies = [ [[package]] name = "mio" -version = "1.2.3" +version = "1.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b18443e9c262bfe8fa82f51666e2642c53393f7e5c27b3e1aeab922cff5b9d8" +checksum = "1788edb87fdc09c7e26304471e2f5be8cdefb1b6930d6e3985fc02ff53bf86ee" dependencies = [ "libc", "wasi", @@ -2337,9 +2337,9 @@ dependencies = [ [[package]] name = "powerfmt" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" +checksum = "4a6394b9e965e73d0a289ee54f589087e2c676aedf60885baf52c76b771e4958" [[package]] name = "ppv-lite86" @@ -3118,7 +3118,7 @@ checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" [[package]] name = "stackable-certs" version = "0.4.1" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.119.0#ed84d456ff0b8324db3d7444659cb207564be8c9" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=main#1b564c0196eda88099de52b8af317dce88ffec70" dependencies = [ "const-oid", "ecdsa", @@ -3162,7 +3162,7 @@ dependencies = [ [[package]] name = "stackable-operator" version = "0.119.0" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.119.0#ed84d456ff0b8324db3d7444659cb207564be8c9" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=main#1b564c0196eda88099de52b8af317dce88ffec70" dependencies = [ "base64 0.23.1", "clap", @@ -3206,7 +3206,7 @@ dependencies = [ [[package]] name = "stackable-operator-derive" version = "0.3.1" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.119.0#ed84d456ff0b8324db3d7444659cb207564be8c9" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=main#1b564c0196eda88099de52b8af317dce88ffec70" dependencies = [ "darling 0.24.1", "proc-macro2", @@ -3217,7 +3217,7 @@ dependencies = [ [[package]] name = "stackable-shared" version = "0.1.2" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.119.0#ed84d456ff0b8324db3d7444659cb207564be8c9" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=main#1b564c0196eda88099de52b8af317dce88ffec70" dependencies = [ "jiff", "k8s-openapi", @@ -3234,7 +3234,7 @@ dependencies = [ [[package]] name = "stackable-telemetry" version = "0.6.5" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.119.0#ed84d456ff0b8324db3d7444659cb207564be8c9" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=main#1b564c0196eda88099de52b8af317dce88ffec70" dependencies = [ "axum", "clap", @@ -3258,7 +3258,7 @@ dependencies = [ [[package]] name = "stackable-versioned" version = "0.11.1" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.119.0#ed84d456ff0b8324db3d7444659cb207564be8c9" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=main#1b564c0196eda88099de52b8af317dce88ffec70" dependencies = [ "kube", "schemars", @@ -3272,7 +3272,7 @@ dependencies = [ [[package]] name = "stackable-versioned-macros" version = "0.11.1" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.119.0#ed84d456ff0b8324db3d7444659cb207564be8c9" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=main#1b564c0196eda88099de52b8af317dce88ffec70" dependencies = [ "convert_case", "darling 0.24.1", @@ -3289,7 +3289,7 @@ dependencies = [ [[package]] name = "stackable-webhook" version = "0.10.0" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.119.0#ed84d456ff0b8324db3d7444659cb207564be8c9" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=main#1b564c0196eda88099de52b8af317dce88ffec70" dependencies = [ "arc-swap", "async-trait", @@ -3522,9 +3522,9 @@ dependencies = [ [[package]] name = "tokio" -version = "1.53.1" +version = "1.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "202caea871b69668250d242070849eb495be178ed697a3e98aebce5bc81a0bed" +checksum = "e95f91fcc7a621e8b030f6aa23c71fe9838ae2fb4d8118b75602a328f5144044" dependencies = [ "bytes", "libc", @@ -3887,9 +3887,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.26.1" +version = "1.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ef6dac1e96601b4fb3acccccff2139741fcb757cb9a36089bf5be91cfb285ce" +checksum = "97277d36b9c3ace13e58fa6e753f8b0bbbf302a18dd193240d70f9e29681059a" dependencies = [ "js-sys", "wasm-bindgen", @@ -3925,9 +3925,9 @@ dependencies = [ [[package]] name = "want" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +checksum = "ec4cdd0dd910afe868b7ef477227d8d538b46b3075031afee8a9f2acb0a2ed0b" dependencies = [ "try-lock", ] @@ -4239,18 +4239,18 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.8.59" +version = "0.8.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +checksum = "6400fc4bb7426f6faac3fb07566122bb18622e3022bd2c36426a92ed489b1dbe" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.59" +version = "0.8.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +checksum = "99c27cc7525bad4df59a45e073c45b2c2aa820efb588234cc23a547ec69a34db" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.nix b/Cargo.nix index db54d9d..64f44a6 100644 --- a/Cargo.nix +++ b/Cargo.nix @@ -989,9 +989,9 @@ rec { }; "cc" = rec { crateName = "cc"; - version = "1.5.1"; + version = "1.6.0"; edition = "2021"; - sha256 = "0h70pg4050i16fp5v62wqxj0h8ajzvagrwz7bvdj33pfji8i8q7k"; + sha256 = "0c3n82hdi355xa6z9x4zgnpjwsh1szkkcs0zl8q8nl5ggk874j7p"; dependencies = [ { name = "find-msvc-tools"; @@ -5456,9 +5456,9 @@ rec { edition = "2024"; workspace_member = null; src = pkgs.fetchgit { - url = "https://github.com/stackabletech/operator-rs.git"; - rev = "ed84d456ff0b8324db3d7444659cb207564be8c9"; - sha256 = "1ra6n0mi633sipsgrli7hhxv64khhs00l448mqg61gxsjc4y02r0"; + url = "https://github.com/stackabletech//operator-rs.git"; + rev = "1b564c0196eda88099de52b8af317dce88ffec70"; + sha256 = "1djagzx3gjr0a3wjpsj84zlbwaxg15kq5nbivacyg0l8jqj1jnrb"; }; libName = "k8s_version"; authors = [ @@ -6117,9 +6117,9 @@ rec { }; "libc" = rec { crateName = "libc"; - version = "0.2.189"; + version = "0.2.190"; edition = "2021"; - sha256 = "1whjfs375vlng2q6yrbzs73cvp5lm3w1n2gfqajb2vgf7zg3xbry"; + sha256 = "0y5yap4bfp7rfsldcbk9pb5alcgygca5xn1n2pmh181zdpf3spff"; features = { "default" = [ "std" ]; "rustc-dep-of-std" = [ "align" "rustc-std-workspace-core" ]; @@ -6392,9 +6392,9 @@ rec { }; "mio" = rec { crateName = "mio"; - version = "1.2.3"; + version = "1.2.4"; edition = "2021"; - sha256 = "1n5ryp7j5fga38z7php5yy9k7ia24rp6cl9gm27zwar6khz4862b"; + sha256 = "1vl6px9zy0pwhlwnw3cknsqyzkg8bcpiwiq4cgicf2fwgywfv20p"; authors = [ "Carl Lerche " "Thomas de Zeeuw " @@ -7689,9 +7689,9 @@ rec { }; "powerfmt" = rec { crateName = "powerfmt"; - version = "0.2.0"; + version = "0.2.1"; edition = "2021"; - sha256 = "14ckj2xdpkhv3h6l5sdmb9f1d57z8hbfpdldjc2vl5givq2y77j3"; + sha256 = "0n293rvnpisjmxdqhq6zmrvcdql7j1c4zrcy5053vrv5x6wr8qsa"; authors = [ "Jacob Pratt " ]; @@ -10260,9 +10260,9 @@ rec { edition = "2024"; workspace_member = null; src = pkgs.fetchgit { - url = "https://github.com/stackabletech/operator-rs.git"; - rev = "ed84d456ff0b8324db3d7444659cb207564be8c9"; - sha256 = "1ra6n0mi633sipsgrli7hhxv64khhs00l448mqg61gxsjc4y02r0"; + url = "https://github.com/stackabletech//operator-rs.git"; + rev = "1b564c0196eda88099de52b8af317dce88ffec70"; + sha256 = "1djagzx3gjr0a3wjpsj84zlbwaxg15kq5nbivacyg0l8jqj1jnrb"; }; libName = "stackable_certs"; authors = [ @@ -10446,9 +10446,9 @@ rec { edition = "2024"; workspace_member = null; src = pkgs.fetchgit { - url = "https://github.com/stackabletech/operator-rs.git"; - rev = "ed84d456ff0b8324db3d7444659cb207564be8c9"; - sha256 = "1ra6n0mi633sipsgrli7hhxv64khhs00l448mqg61gxsjc4y02r0"; + url = "https://github.com/stackabletech//operator-rs.git"; + rev = "1b564c0196eda88099de52b8af317dce88ffec70"; + sha256 = "1djagzx3gjr0a3wjpsj84zlbwaxg15kq5nbivacyg0l8jqj1jnrb"; }; libName = "stackable_operator"; authors = [ @@ -10645,9 +10645,9 @@ rec { edition = "2024"; workspace_member = null; src = pkgs.fetchgit { - url = "https://github.com/stackabletech/operator-rs.git"; - rev = "ed84d456ff0b8324db3d7444659cb207564be8c9"; - sha256 = "1ra6n0mi633sipsgrli7hhxv64khhs00l448mqg61gxsjc4y02r0"; + url = "https://github.com/stackabletech//operator-rs.git"; + rev = "1b564c0196eda88099de52b8af317dce88ffec70"; + sha256 = "1djagzx3gjr0a3wjpsj84zlbwaxg15kq5nbivacyg0l8jqj1jnrb"; }; procMacro = true; libName = "stackable_operator_derive"; @@ -10680,9 +10680,9 @@ rec { edition = "2024"; workspace_member = null; src = pkgs.fetchgit { - url = "https://github.com/stackabletech/operator-rs.git"; - rev = "ed84d456ff0b8324db3d7444659cb207564be8c9"; - sha256 = "1ra6n0mi633sipsgrli7hhxv64khhs00l448mqg61gxsjc4y02r0"; + url = "https://github.com/stackabletech//operator-rs.git"; + rev = "1b564c0196eda88099de52b8af317dce88ffec70"; + sha256 = "1djagzx3gjr0a3wjpsj84zlbwaxg15kq5nbivacyg0l8jqj1jnrb"; }; libName = "stackable_shared"; authors = [ @@ -10761,9 +10761,9 @@ rec { edition = "2024"; workspace_member = null; src = pkgs.fetchgit { - url = "https://github.com/stackabletech/operator-rs.git"; - rev = "ed84d456ff0b8324db3d7444659cb207564be8c9"; - sha256 = "1ra6n0mi633sipsgrli7hhxv64khhs00l448mqg61gxsjc4y02r0"; + url = "https://github.com/stackabletech//operator-rs.git"; + rev = "1b564c0196eda88099de52b8af317dce88ffec70"; + sha256 = "1djagzx3gjr0a3wjpsj84zlbwaxg15kq5nbivacyg0l8jqj1jnrb"; }; libName = "stackable_telemetry"; authors = [ @@ -10871,9 +10871,9 @@ rec { edition = "2024"; workspace_member = null; src = pkgs.fetchgit { - url = "https://github.com/stackabletech/operator-rs.git"; - rev = "ed84d456ff0b8324db3d7444659cb207564be8c9"; - sha256 = "1ra6n0mi633sipsgrli7hhxv64khhs00l448mqg61gxsjc4y02r0"; + url = "https://github.com/stackabletech//operator-rs.git"; + rev = "1b564c0196eda88099de52b8af317dce88ffec70"; + sha256 = "1djagzx3gjr0a3wjpsj84zlbwaxg15kq5nbivacyg0l8jqj1jnrb"; }; libName = "stackable_versioned"; authors = [ @@ -10921,9 +10921,9 @@ rec { edition = "2024"; workspace_member = null; src = pkgs.fetchgit { - url = "https://github.com/stackabletech/operator-rs.git"; - rev = "ed84d456ff0b8324db3d7444659cb207564be8c9"; - sha256 = "1ra6n0mi633sipsgrli7hhxv64khhs00l448mqg61gxsjc4y02r0"; + url = "https://github.com/stackabletech//operator-rs.git"; + rev = "1b564c0196eda88099de52b8af317dce88ffec70"; + sha256 = "1djagzx3gjr0a3wjpsj84zlbwaxg15kq5nbivacyg0l8jqj1jnrb"; }; procMacro = true; libName = "stackable_versioned_macros"; @@ -10985,9 +10985,9 @@ rec { edition = "2024"; workspace_member = null; src = pkgs.fetchgit { - url = "https://github.com/stackabletech/operator-rs.git"; - rev = "ed84d456ff0b8324db3d7444659cb207564be8c9"; - sha256 = "1ra6n0mi633sipsgrli7hhxv64khhs00l448mqg61gxsjc4y02r0"; + url = "https://github.com/stackabletech//operator-rs.git"; + rev = "1b564c0196eda88099de52b8af317dce88ffec70"; + sha256 = "1djagzx3gjr0a3wjpsj84zlbwaxg15kq5nbivacyg0l8jqj1jnrb"; }; libName = "stackable_webhook"; authors = [ @@ -11659,9 +11659,9 @@ rec { }; "tokio" = rec { crateName = "tokio"; - version = "1.53.1"; + version = "1.53.2"; edition = "2021"; - sha256 = "1v8b3b45pkpbibls75yniqbvx5dlks2708141ljni5mnf6lawb10"; + sha256 = "0i202ksji8q2asvii0adzgi8m0z93z3j7apn62qfh8d6qzy92pz9"; authors = [ "Tokio Contributors " ]; @@ -13109,9 +13109,9 @@ rec { }; "uuid" = rec { crateName = "uuid"; - version = "1.26.1"; + version = "1.27.0"; edition = "2021"; - sha256 = "1kl5nb7r3gpmkc43d6nbayvzqhcp2grczk6c7bxv80b6x70xmxif"; + sha256 = "16h5h6bf5ybh1lj97lcdl41g7fqbiczpavpsb0zf3b63p4v7s9wp"; authors = [ "Ashley Mannix" "Dylan DPC" @@ -13223,9 +13223,9 @@ rec { }; "want" = rec { crateName = "want"; - version = "0.3.1"; + version = "0.3.2"; edition = "2018"; - sha256 = "03hbfrnvqqdchb5kgxyavb9jabwza0dmh2vw5kg0dq8rxl57d9xz"; + sha256 = "02zdlaqarwm9x3z1l0vm61mv8f6mv0kp4izgnxlfibqhv46xsk7c"; authors = [ "Sean McArthur " ]; @@ -14938,9 +14938,9 @@ rec { }; "zerocopy" = rec { crateName = "zerocopy"; - version = "0.8.59"; + version = "0.8.60"; edition = "2021"; - sha256 = "1jq0z0rxrmpzfrvkj3z5gb1anaxczzdiv43k67ay6yr2v7rjpybd"; + sha256 = "1ghxkd4fv4ka88v2rg9260p6465v49hmc1zvqfm6yvs2nx5zq034"; dependencies = [ { name = "zerocopy-derive"; @@ -14970,9 +14970,9 @@ rec { }; "zerocopy-derive" = rec { crateName = "zerocopy-derive"; - version = "0.8.59"; + version = "0.8.60"; edition = "2021"; - sha256 = "10pc78vxhr6lqk71yvm1aqv1h2pd6czrqgkc9570hpghya634kxc"; + sha256 = "1nrlkb37wm1sq962725mxwhahaicbg277q25kbslvbavab3prhlr"; procMacro = true; libName = "zerocopy_derive"; dependencies = [ diff --git a/Cargo.toml b/Cargo.toml index f03d44a..c591889 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -28,4 +28,4 @@ tracing = "0.1" [patch."https://github.com/stackabletech/operator-rs.git"] # stackable-operator = { path = "../operator-rs/crates/stackable-operator" } -# stackable-operator = { git = "https://github.com/stackabletech//operator-rs.git", branch = "main" } +stackable-operator = { git = "https://github.com/stackabletech//operator-rs.git", branch = "main" } diff --git a/crate-hashes.json b/crate-hashes.json index 2046087..98d1e9f 100644 --- a/crate-hashes.json +++ b/crate-hashes.json @@ -1,11 +1,11 @@ { - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.119.0#k8s-version@0.1.3": "1ra6n0mi633sipsgrli7hhxv64khhs00l448mqg61gxsjc4y02r0", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.119.0#stackable-certs@0.4.1": "1ra6n0mi633sipsgrli7hhxv64khhs00l448mqg61gxsjc4y02r0", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.119.0#stackable-operator-derive@0.3.1": "1ra6n0mi633sipsgrli7hhxv64khhs00l448mqg61gxsjc4y02r0", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.119.0#stackable-operator@0.119.0": "1ra6n0mi633sipsgrli7hhxv64khhs00l448mqg61gxsjc4y02r0", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.119.0#stackable-shared@0.1.2": "1ra6n0mi633sipsgrli7hhxv64khhs00l448mqg61gxsjc4y02r0", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.119.0#stackable-telemetry@0.6.5": "1ra6n0mi633sipsgrli7hhxv64khhs00l448mqg61gxsjc4y02r0", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.119.0#stackable-versioned-macros@0.11.1": "1ra6n0mi633sipsgrli7hhxv64khhs00l448mqg61gxsjc4y02r0", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.119.0#stackable-versioned@0.11.1": "1ra6n0mi633sipsgrli7hhxv64khhs00l448mqg61gxsjc4y02r0", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.119.0#stackable-webhook@0.10.0": "1ra6n0mi633sipsgrli7hhxv64khhs00l448mqg61gxsjc4y02r0" + "git+https://github.com/stackabletech//operator-rs.git?branch=main#k8s-version@0.1.3": "1djagzx3gjr0a3wjpsj84zlbwaxg15kq5nbivacyg0l8jqj1jnrb", + "git+https://github.com/stackabletech//operator-rs.git?branch=main#stackable-certs@0.4.1": "1djagzx3gjr0a3wjpsj84zlbwaxg15kq5nbivacyg0l8jqj1jnrb", + "git+https://github.com/stackabletech//operator-rs.git?branch=main#stackable-operator-derive@0.3.1": "1djagzx3gjr0a3wjpsj84zlbwaxg15kq5nbivacyg0l8jqj1jnrb", + "git+https://github.com/stackabletech//operator-rs.git?branch=main#stackable-operator@0.119.0": "1djagzx3gjr0a3wjpsj84zlbwaxg15kq5nbivacyg0l8jqj1jnrb", + "git+https://github.com/stackabletech//operator-rs.git?branch=main#stackable-shared@0.1.2": "1djagzx3gjr0a3wjpsj84zlbwaxg15kq5nbivacyg0l8jqj1jnrb", + "git+https://github.com/stackabletech//operator-rs.git?branch=main#stackable-telemetry@0.6.5": "1djagzx3gjr0a3wjpsj84zlbwaxg15kq5nbivacyg0l8jqj1jnrb", + "git+https://github.com/stackabletech//operator-rs.git?branch=main#stackable-versioned-macros@0.11.1": "1djagzx3gjr0a3wjpsj84zlbwaxg15kq5nbivacyg0l8jqj1jnrb", + "git+https://github.com/stackabletech//operator-rs.git?branch=main#stackable-versioned@0.11.1": "1djagzx3gjr0a3wjpsj84zlbwaxg15kq5nbivacyg0l8jqj1jnrb", + "git+https://github.com/stackabletech//operator-rs.git?branch=main#stackable-webhook@0.10.0": "1djagzx3gjr0a3wjpsj84zlbwaxg15kq5nbivacyg0l8jqj1jnrb" } \ No newline at end of file diff --git a/deploy/helm/commons-operator/Chart.yaml b/deploy/helm/commons-operator/Chart.yaml index 7b63a99..c4c374f 100644 --- a/deploy/helm/commons-operator/Chart.yaml +++ b/deploy/helm/commons-operator/Chart.yaml @@ -41,3 +41,8 @@ annotations: name: s3buckets.s3.stackable.tech displayName: S3Bucket description: S3 bucket specification containing the bucket name and an inlined or referenced connection specification. + - kind: OpenLineageConnection + version: v1alpha1 + name: openlineageconnections.lineage.stackable.tech + displayName: OpenLineageConnection + description: A reusable definition of a connection to an OpenLineage backend. diff --git a/extra/crds.yaml b/extra/crds.yaml index 4c761a3..79341e3 100644 --- a/extra/crds.yaml +++ b/extra/crds.yaml @@ -697,3 +697,109 @@ spec: type: object served: true storage: true +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: openlineageconnections.lineage.stackable.tech +spec: + group: lineage.stackable.tech + names: + kind: OpenLineageConnection + plural: openlineageconnections + singular: openlineageconnection + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: A reusable definition of a connection to an OpenLineage backend. + properties: + spec: + description: |- + OpenLineage connection definition as a resource. + Learn more about [OpenLineage](https://openlineage.io/). + oneOf: + - required: + - http + properties: + http: + description: Publish events over HTTP(S) to an OpenLineage backend such as Marquez. + properties: + credentialsSecretName: + description: |- + Name of a Secret containing the API key used to authenticate against the OpenLineage + backend. The API key must be stored under the key `apiKey`. The Secret must be located in + the same namespace as the workload using this connection. If not specified, no + authentication is used. + nullable: true + type: string + host: + description: 'Hostname or IP address of the OpenLineage backend without any protocol or port. For example: `marquez`.' + type: string + path: + default: /api/v1/lineage + description: URL path of the endpoint lineage events are sent to. + type: string + port: + description: 'Port the OpenLineage backend listens on. For example: `5000`.' + format: uint16 + maximum: 65535.0 + minimum: 0.0 + type: integer + tls: + description: Use a TLS connection. If not specified no TLS will be used. + nullable: true + properties: + verification: + description: The verification method used to verify the certificates of the server and/or the client. + oneOf: + - required: + - none + - required: + - server + properties: + none: + description: Use TLS but don't verify certificates. + type: object + server: + description: Use TLS and a CA certificate to verify the server. + properties: + caCert: + description: CA cert to verify the server. + oneOf: + - required: + - webPki + - required: + - secretClass + properties: + secretClass: + description: |- + Name of the [SecretClass](https://docs.stackable.tech/home/nightly/secret-operator/secretclass) which will provide the CA certificate. + Note that a SecretClass does not need to have a key but can also work with just a CA certificate, + so if you got provided with a CA cert but don't have access to the key you can still use this method. + type: string + webPki: + description: |- + Use TLS and the CA certificates trusted by the common web browsers to verify the server. + This can be useful when you e.g. use public AWS S3 or other public available services. + type: object + type: object + required: + - caCert + type: object + type: object + required: + - verification + type: object + required: + - host + - port + type: object + type: object + required: + - spec + title: OpenLineageConnection + type: object + served: true + storage: true diff --git a/rust/operator-binary/src/main.rs b/rust/operator-binary/src/main.rs index 29455d8..0951e19 100644 --- a/rust/operator-binary/src/main.rs +++ b/rust/operator-binary/src/main.rs @@ -11,6 +11,7 @@ use stackable_operator::{ cli::{Command, RunArguments}, crd::{ authentication::core::{self, AuthenticationClass, AuthenticationClassVersion}, + openlineage::{self, OpenLineageConnection, OpenLineageConnectionVersion}, s3::{self, S3Bucket, S3BucketVersion, S3Connection, S3ConnectionVersion}, }, eos::EndOfSupportChecker, @@ -64,6 +65,8 @@ async fn main() -> anyhow::Result<()> { .print_yaml_schema(built_info::PKG_VERSION, &SerializeOptions::default())?; S3Bucket::merged_crd(S3BucketVersion::V1Alpha1)? .print_yaml_schema(built_info::PKG_VERSION, &SerializeOptions::default())?; + OpenLineageConnection::merged_crd(OpenLineageConnectionVersion::V1Alpha1)? + .print_yaml_schema(built_info::PKG_VERSION, &SerializeOptions::default())?; } Command::Run(CommonsOperatorRunArguments { common: @@ -122,7 +125,10 @@ async fn main() -> anyhow::Result<()> { "CRD {crd} established", crd = s3::v1alpha1::S3Bucket::crd_name() )); - + let openlineage_connection_crd_check = readiness_checks.register(format!( + "CRD {crd} established", + crd = openlineage::v1alpha1::OpenLineageConnection::crd_name() + )); let webhook_server = create_webhook_server( ctx.clone(), &operator_environment, @@ -158,6 +164,12 @@ async fn main() -> anyhow::Result<()> { s3_connection_crd_check.mark_passed(); signal::crd_established(&client, s3::v1alpha1::S3Bucket::crd_name()).await?; s3_bucket_crd_check.mark_passed(); + signal::crd_established( + &client, + openlineage::v1alpha1::OpenLineageConnection::crd_name(), + ) + .await?; + openlineage_connection_crd_check.mark_passed(); anyhow::Ok(()) }; diff --git a/rust/operator-binary/src/webhooks/conversion.rs b/rust/operator-binary/src/webhooks/conversion.rs index 7722ab5..559777e 100644 --- a/rust/operator-binary/src/webhooks/conversion.rs +++ b/rust/operator-binary/src/webhooks/conversion.rs @@ -1,6 +1,7 @@ use stackable_operator::{ crd::{ authentication::core::{AuthenticationClass, AuthenticationClassVersion}, + openlineage::{OpenLineageConnection, OpenLineageConnectionVersion}, s3::{S3Bucket, S3BucketVersion, S3Connection, S3ConnectionVersion}, }, kube::Client, @@ -23,6 +24,10 @@ pub fn create_webhook(disable_crd_maintenance: bool, client: Client) -> Box _, ), + ( + OpenLineageConnection::merged_crd(OpenLineageConnectionVersion::V1Alpha1).unwrap(), + OpenLineageConnection::try_convert as fn(_) -> _, + ), ]; let conversion_webhook_options = ConversionWebhookOptions {