Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Merged by Bors] - Initial listener-operator implementation #1

Closed
wants to merge 102 commits into from
Closed
Show file tree
Hide file tree
Changes from 98 commits
Commits
Show all changes
102 commits
Select commit Hold shift + click to select a range
1bb5d6a
Initial NodePort-only PoC
nightkr Jun 28, 2022
d622e9e
Generate unique Service names per PV
nightkr Jun 28, 2022
c132113
Also support native K8s LoadBalancer services
nightkr Jun 28, 2022
57eea89
README
nightkr Jun 28, 2022
e29c62a
Move Service provisioning logic into a separate LoadBalancer controller
nightkr Jun 30, 2022
2e9e4c8
Update Nix and Tilt config from secret-operator
nightkr Aug 2, 2022
6a671e6
Fix mounting preprovisioned LBs
nightkr Aug 2, 2022
efb3002
Fix conflict with secret-operator
nightkr Aug 2, 2022
424dcd0
Fix catch 22 where pods have no known ingress addresses before they a…
nightkr Aug 4, 2022
d23befc
Don't panic when LoadBalancer is deleted during reconcile
nightkr Aug 4, 2022
48c69a9
Deduplicate ports when building LoadBalancer
nightkr Aug 8, 2022
548cac5
Add permission to create events
nightkr Aug 8, 2022
9f13ebc
Name LBs after the PVC rather than PV
nightkr Aug 15, 2022
e964e99
Expose CRD as library crate
nightkr Aug 15, 2022
87d9eef
Prefer exposing node IP address over hostname
nightkr Aug 15, 2022
7dd215e
Use serde to unpack storage params
nightkr Aug 15, 2022
b19e7f3
Start migrating towards snafuified errors
nightkr Aug 15, 2022
db96972
Cleaned up CSI error messages
nightkr Aug 16, 2022
723f879
Convert controller to use SNAFU errors too
nightkr Aug 16, 2022
6604417
Fix clippy warnings
nightkr Aug 16, 2022
d67ccea
Prioritize exposing node IP over CSI too
nightkr Aug 18, 2022
f194176
CRD docs
nightkr Aug 22, 2022
e48db37
Docs
nightkr Aug 23, 2022
4ce18d2
Merge branch 'main' into poc
nightkr Aug 23, 2022
6db022a
LB volume documentation
nightkr Aug 24, 2022
2ad7bd3
Change example pod name to something more appropriate
nightkr Aug 24, 2022
8b3d882
Initial templating
nightkr Aug 24, 2022
66297fc
Change version to nightly
nightkr Aug 24, 2022
cb1644c
Add nodeport smoke test
nightkr Aug 24, 2022
0393cf6
Lint fixes
nightkr Aug 24, 2022
4bd9ee9
s/secret-operator/lb-operator/
nightkr Aug 24, 2022
f53b431
Add license
nightkr Aug 26, 2022
614f627
Apply suggestions from code review
nightkr Aug 26, 2022
e4f800a
Update rust/lb-operator/src/csi_server/node.rs
nightkr Sep 7, 2022
c5ec87b
Update rust/lb-operator/Cargo.toml
nightkr Sep 7, 2022
fc92264
Update rust/lb-operator/src/crd.rs
nightkr Sep 7, 2022
64e32bd
Update rust/lb-operator/src/csi_server/node.rs
nightkr Sep 7, 2022
cbf84bb
Simplify and document `node_primary_address` a bit
nightkr Sep 7, 2022
236cea3
Error message for missing LBClass
nightkr Sep 7, 2022
f181ca7
Merge branch 'poc' of github.com:stackabletech/lb-operator into poc
nightkr Sep 7, 2022
2cb4064
Rename pod_dir::Error::Fs
nightkr Sep 7, 2022
e0f2571
Update rust/lb-operator/src/crd.rs
nightkr Sep 8, 2022
abfc60e
Update docs/modules/ROOT/pages/loadbalancer.adoc
nightkr Sep 8, 2022
930093a
Rename stackable-lb-operator crate to stackable-listener-operator
nightkr Sep 8, 2022
9f077b7
Rename helm chart
nightkr Sep 8, 2022
2b52e96
Post-rebrand templating
nightkr Sep 8, 2022
6474a6f
Finish rebranding
nightkr Sep 8, 2022
5cef2b3
Emphasize using our storage class rather than the direct driver
nightkr Sep 8, 2022
4aca95a
Print startup message
nightkr Sep 8, 2022
7bfac37
More rebranding
nightkr Sep 8, 2022
1987151
Rename crate directory for consistency
nightkr Sep 8, 2022
a60a12e
Update docs/modules/ROOT/pages/building.adoc
nightkr Sep 9, 2022
c9c8ef3
Update docs/modules/ROOT/pages/building.adoc
nightkr Sep 9, 2022
b4131f4
More rebranding bits and pieces
nightkr Sep 9, 2022
d2b148c
Document `--node-name`
nightkr Sep 9, 2022
1e0db1a
Fix duplicate link to listener.adoc in nav
nightkr Sep 9, 2022
654e79a
Fix the Nix build instructions
nightkr Sep 9, 2022
a6e9286
Added a note about buffering the image
nightkr Sep 9, 2022
73af0e3
Rename submodule
nightkr Sep 9, 2022
e4ee4b0
Update docs/modules/ROOT/pages/volume.adoc
nightkr Sep 9, 2022
1b0e70b
Added note about needing to buffer with more than one kind node
nightkr Sep 12, 2022
a943fce
Merge branch 'poc' of github.com:stackabletech/lb-operator into poc
nightkr Sep 12, 2022
8d1b259
Also ignore image.tar from docker builds
nightkr Sep 12, 2022
495f736
Docker workflow: Use the Docker image to also build the CRD
nightkr Sep 12, 2022
b33e2f8
Apply suggestions from code review
nightkr Sep 12, 2022
1b25092
Fix repo/tag derivation names to line up with the file names
nightkr Sep 12, 2022
2be895a
Update build docs slightly based on feedback from @siegfriedweber
nightkr Sep 12, 2022
fa45a84
Update docs/modules/ROOT/pages/building.adoc
nightkr Sep 19, 2022
ee1b2a5
Update docs/modules/ROOT/examples/usage-pod.yaml
nightkr Sep 19, 2022
b394795
Update docs/modules/ROOT/pages/index.adoc
nightkr Sep 19, 2022
21c4d53
Update docs/modules/ROOT/pages/listener.adoc
nightkr Sep 19, 2022
2124def
Update docs/modules/ROOT/pages/listener.adoc
nightkr Sep 19, 2022
7f03ef1
Update docs/modules/ROOT/pages/listener.adoc
nightkr Sep 19, 2022
3e9b303
Apply suggestions from code review
nightkr Sep 19, 2022
8dd6157
Update docs/modules/ROOT/pages/volume.adoc
nightkr Sep 19, 2022
b0729b7
Update docs/modules/ROOT/pages/volume.adoc
nightkr Sep 19, 2022
c03482e
Fix doc escaping
nightkr Sep 19, 2022
7d7f9fc
Rename preprovisioned example listener back to -lb
nightkr Sep 22, 2022
063712d
Move CRDs into operator-rs
nightkr Sep 22, 2022
b2a09b9
Drop permission to access secrets
nightkr Sep 22, 2022
8c598b9
Regenerate charts
nightkr Sep 22, 2022
b91d438
Redid Nix build linebreaks
nightkr Sep 22, 2022
b3d3ba6
Reformatted README to follow our conventions and link to Antora
nightkr Sep 22, 2022
eff7c41
Explicitly disable serviceName for example STSes
nightkr Sep 22, 2022
c2b55ba
Remove FmtByteSlice
nightkr Sep 22, 2022
a4b7cc8
Drop serde_json dependency
nightkr Sep 22, 2022
7edf94b
Update operator-rs
nightkr Sep 22, 2022
8774de1
Deploy the controller separately from the node agents
nightkr Sep 22, 2022
2ec3030
Split out gRPC definitions to a separate crate
nightkr Sep 22, 2022
f1bf0c4
Use released operator-rs 0.25.1
nightkr Sep 23, 2022
240992a
Fix clippy warning
nightkr Sep 23, 2022
0c10c8b
Might as well satisfy nightly clippy too
nightkr Sep 23, 2022
ad2511c
Add our own label rather than reusing the pod's existing labels
nightkr Sep 23, 2022
f33a6ec
Preprovisioned listeners are supported now
nightkr Sep 26, 2022
3e4c595
Use operator-rs 0.25.2, regenerate manifests
nightkr Sep 27, 2022
60b9a8e
Fix example pod indentation
nightkr Sep 27, 2022
6c2b5b1
Remove secrets permission properly this time
nightkr Sep 27, 2022
828ac4c
Burninate CLI docs page
nightkr Sep 27, 2022
41086e9
Add crate metadata for csi-grpc
nightkr Sep 27, 2022
639cfd2
Add docs import to listener_controller
nightkr Sep 27, 2022
2207313
Drop unused csi-grpc dependency on built
nightkr Sep 27, 2022
8403285
Relicense csi-grpc as Apache 2.0
nightkr Sep 28, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
debug/
target/
**/*.rs.bk

.idea/
*.iws

image.tar

# We do NOT want to ignore .git because we use the `built` crate to gather the current git commit hash at built time
# This means we need the .git directory in our Docker image, it will be thrown away and won't be included in the final image
2 changes: 2 additions & 0 deletions .flake8
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[flake8]
ignore = E111,E501,E114
49 changes: 49 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
name: "🐛 Bug Report"
description: "If something isn't working as expected 🤔."
labels: ["type/bug"]
body:
- type: markdown
attributes:
value: Thanks for taking the time to file a bug report! Please fill out this form as completely as possible.

- type: input
attributes:
label: Affected version
description: Which version do you see this bug in?

- type: textarea
attributes:
label: Current and expected behavior
description: A clear and concise description of what the operator is doing and what you would expect.
validations:
required: true

- type: textarea
attributes:
label: Possible solution
description: "If you have suggestions on a fix for the bug."

- type: textarea
attributes:
label: Additional context
description: "Add any other context about the problem here. Or a screenshot if applicable."

- type: textarea
attributes:
label: Environment
description: |
What type of kubernetes cluster you are running aginst (k3s/eks/aks/gke/other) and any other information about your environment?
placeholder: |
Examples:
Output of `kubectl version --short`

- type: dropdown
attributes:
label: Would you like to work on fixing this bug?
description: |
**NOTE**: Let us know if you would like to submit a PR for this. We are more than happy to help you through the process.
options:
- "yes"
- "no"
- "maybe"
12 changes: 12 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
blank_issues_enabled: true
contact_links:
- name: Feature request
about: 🚀 Suggest an idea for this project
url: https://github.com/stackabletech/listener-operator/discussions/new?category=ideas
- name: 🙋🏾 Question
about: Use this to ask a question about this project
url: https://github.com/stackabletech/listener-operator/discussions/new?category=q-a
- name: Other issue
about: Open an issue that doesn't fit any other category
url: https://github.com/stackabletech/listener-operator/issues/new
34 changes: 34 additions & 0 deletions .github/ISSUE_TEMPLATE/new_version.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
name: New Version
about: Request support for a new product version
title: "[NEW VERSION]"
labels: ''
assignees: ''

---

**Which new version of Stackable Listener Operator should we support?**

Please specify the version, version range or version numbers to support, please also add these to the issue title

**Additional information**

If possible, provide a link to release notes/changelog

**Changes required**

Are there any upstream changes that we need to support?
e.g. new features, changed features, deprecated features etc.



**Implementation checklist**

Please don't change anything in this list.
Not all of these steps are necessary for all versions.

- [ ] Update the Docker image
- [ ] Update documentation to include supported version(s)
- [ ] Update operator to support the new version (if needed)
- [ ] Update integration tests to test use the new versions (in addition or replacing old versions
- [ ] Update examples to use new versions
18 changes: 18 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@

# Description

*Please add a description here. This will become the commit message of the merge request later.*

<!-- Commit message above. Everything below is not added to the message. Do not change this line! -->

## Review Checklist

- [ ] Code contains useful comments
- [ ] CRD change approved (or not applicable)
- [ ] (Integration-)Test cases added (or not applicable)
- [ ] Documentation added (or not applicable)
- [ ] Changelog updated (or not applicable)
- [ ] Cargo.toml only contains references to git tags (not specific commits or branches)
- [ ] Helm chart can be installed and deployed operator works (or not applicable)

Once the review is done, comment `bors r+` (or `bors merge`) to merge. [Further information](https://bors.tech/documentation/getting-started/#reviewing-pull-requests)
Loading