├── .github ├── ISSUE_TEMPLATE │ ├── bug-report.md │ ├── feature-request.md │ └── support-question.md ├── dependabot.yml └── workflows │ ├── lint.yml │ └── test-unit.yml ├── .gitignore ├── CODEOWNERS ├── CONTRIBUTING.md ├── DCO ├── LICENSE ├── Makefile ├── README.md ├── SECURITY.md ├── code-of-conduct.md ├── docs ├── WELCOME.md └── tutorial.md ├── go.mod ├── go.sum ├── hack └── check-license.sh ├── pkg └── quarkus │ └── v1beta │ ├── api.go │ ├── api_test.go │ ├── init.go │ ├── init_test.go │ ├── plugin.go │ ├── plugin_test.go │ ├── scaffolds │ ├── api.go │ ├── doc.go │ ├── init.go │ └── internal │ │ └── templates │ │ ├── applicationproperties.go │ │ ├── controller │ │ └── controller.go │ │ ├── doc.go │ │ ├── gitignore.go │ │ ├── makefile.go │ │ ├── model │ │ ├── model.go │ │ ├── modelspec.go │ │ └── modelstatus.go │ │ ├── operatorfile.go │ │ ├── operatorfile_test.go │ │ ├── pomxml.go │ │ ├── templates_suite_test.go │ │ └── util │ │ ├── file.go │ │ ├── file_test.go │ │ └── util_suite_test.go │ ├── util │ ├── util.go │ ├── util_suite_test.go │ └── util_test.go │ └── v1_suite_test.go ├── release.sh └── testdata └── quarkus └── memcached-quarkus-operator ├── .gitignore ├── Makefile ├── PROJECT ├── README.md ├── bundle.Dockerfile ├── bundle ├── manifests │ ├── cache.example.com_memcacheds.yaml │ ├── memcached-quarkus-operator-operator-view_rbac.authorization.k8s.io_v1_rolebinding.yaml │ ├── memcached-quarkus-operator-operator_v1_service.yaml │ └── memcached-quarkus-operator.clusterserviceversion.yaml └── metadata │ └── annotations.yaml ├── pom.xml └── src └── main ├── java └── com │ └── example │ ├── Memcached.java │ ├── MemcachedReconciler.java │ ├── MemcachedSpec.java │ └── MemcachedStatus.java └── resources ├── application.properties └── memcached-sample.yaml /.github/ISSUE_TEMPLATE/bug-report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug Report 3 | about: If things aren't working as expected. 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | ## Bug Report 11 | 12 | 18 | 19 | #### What did you do? 20 | 21 | 22 | 23 | #### What did you expect to see? 24 | 25 | 26 | 27 | #### What did you see instead? Under which circumstances? 28 | 29 | 30 | 31 | #### Environment 32 | 33 | **Operator type:** 34 | 35 | 36 | 37 | 38 | 39 | **Kubernetes cluster type:** 40 | 41 | 42 | 43 | `$ operator-sdk version` 44 | 45 | 46 | 47 | `$ java -version` (if language is Java) 48 | 49 | 50 | 51 | `$ kubectl version` 52 | 53 | 54 | 55 | #### Possible Solution 56 | 57 | 58 | 59 | #### Additional context 60 | 61 | 62 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature-request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature Request 3 | about: Suggest a feature 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | ## Feature Request 11 | 12 | #### Describe the problem you need a feature to resolve. 13 | 14 | 19 | 20 | #### Describe the solution you'd like. 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/support-question.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Support Question 3 | about: Any support questions you might have. 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | 17 | 18 | ## Type of question 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | ## Question 28 | 29 | #### What did you do? 30 | 31 | 32 | 33 | #### What did you expect to see? 34 | 35 | 36 | 37 | #### What did you see instead? Under which circumstances? 38 | 39 | 40 | 41 | #### Environment 42 | 43 | **Operator type:** 44 | 45 | 46 | 47 | 48 | 49 | **Kubernetes cluster type:** 50 | 51 | 52 | 53 | `$ operator-sdk version` 54 | 55 | 56 | 57 | `$ java -version` (if language is Java) 58 | 59 | 60 | 61 | `$ kubectl version` 62 | 63 | 64 | 65 | #### Additional context 66 | 67 | 68 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | # To get started with Dependabot version updates, you'll need to specify which 2 | # package ecosystems to update and where the package manifests are located. 3 | # Please see the documentation for all configuration options: 4 | # https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates 5 | 6 | version: 2 7 | updates: 8 | - package-ecosystem: "github-actions" 9 | directory: "/" 10 | schedule: 11 | interval: "weekly" 12 | - package-ecosystem: "" # See documentation for possible values 13 | directory: "/" # Location of package manifests 14 | schedule: 15 | interval: "weekly" 16 | -------------------------------------------------------------------------------- /.github/workflows/lint.yml: -------------------------------------------------------------------------------- 1 | name: lint 2 | on: 3 | pull_request: {} 4 | 5 | jobs: 6 | lint: 7 | name: lint 8 | runs-on: ubuntu-22.04 9 | steps: 10 | - uses: actions/checkout@v4 11 | with: 12 | fetch-depth: 0 13 | - uses: actions/setup-go@v5 14 | with: 15 | go-version-file: "go.mod" 16 | - run: make lint 17 | -------------------------------------------------------------------------------- /.github/workflows/test-unit.yml: -------------------------------------------------------------------------------- 1 | name: test-unit 2 | on: 3 | pull_request: {} 4 | 5 | jobs: 6 | unit: 7 | name: unit 8 | runs-on: ubuntu-22.04 9 | steps: 10 | - uses: actions/checkout@v4 11 | with: 12 | fetch-depth: 0 13 | - uses: actions/setup-go@v5 14 | with: 15 | go-version-file: "go.mod" 16 | - run: make test 17 | - uses: shogo82148/actions-goveralls@v1 18 | with: 19 | path-to-profile: coverage.out 20 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Binaries for programs and plugins 2 | *.exe 3 | *.exe~ 4 | *.dll 5 | *.so 6 | *.dylib 7 | 8 | # Test binary, built with `go test -c` 9 | *.test 10 | 11 | # Output of the go coverage tool, specifically when used with LiteIDE 12 | *.out 13 | 14 | # Dependency directories (remove the comment below to include it) 15 | # vendor/ 16 | -------------------------------------------------------------------------------- /CODEOWNERS: -------------------------------------------------------------------------------- 1 | 2 | ############################################## 3 | # 4 | # List of approvers for this repository 5 | # 6 | ############################################## 7 | # 8 | # Learn about membership in java-operator-plugins: 9 | # https://github.com/operator-framework/java-operator-plugins/blob/main/CONTRIBUTING.md 10 | # 11 | 12 | * @operator-framework/java-operator-plugins 13 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # How to contribute 2 | 3 | Java Operator is Apache 2.0 licensed and accepts contributions via GitHub pull requests. This document outlines some of the conventions on commit message formatting, contact points for developers, and other resources to help get contributions into the Java Operator. 4 | 5 | ## Certificate of Origin 6 | 7 | By contributing to this project you agree to the Developer Certificate of 8 | Origin (DCO). This document was created by the Linux Kernel community and is a 9 | simple statement that you, as a contributor, have the legal right to make the 10 | contribution. See the [DCO](DCO) file for details. 11 | 12 | ## Email and Chat 13 | 14 | - Email: [operator-framework][operator_framework] 15 | 16 | ## Getting started 17 | 18 | - Fork the repository on GitHub 19 | 20 | https://github.com/operator-framework/java-operator-plugins.git 21 | 22 | - If you want to build/run the project, use command 23 | `TBD` 24 | 25 | ## Reporting bugs and creating issues 26 | 27 | Reporting bugs is one of the best ways to contribute. However, a good bug report has some very specific qualities, so please read over our short document on reporting issues before submitting a bug report. This document might contain links to known issues, another good reason to take a look there before reporting a bug. 28 | 29 | ## Contribution flow 30 | 31 | This is a rough outline of what a contributor's workflow looks like: 32 | 33 | - Create a topic branch from where to base the contribution. This is usually master. 34 | - Make commits of logical units. 35 | - Make sure commit messages are in the proper format (see below). 36 | - Check your work after running all Unit and Regression Tests. You should run all the unit tests by hitting the following command 37 | `TBD` 38 | - Push changes in a topic branch to a personal fork of the repository. 39 | - Submit a pull request to operator-framework/operator-sdk. 40 | - The PR must receive a LGTM from two maintainers found in the MAINTAINERS file. 41 | 42 | Thanks for contributing! 43 | 44 | ### Code style 45 | 46 | The coding style suggested by the Java community is used in Java operator. See the [style doc](https://google.github.io/styleguide/javaguide.html) for details. 47 | 48 | Please follow this style to make operator-sdk easy to review, maintain and develop. 49 | 50 | ### Format of the commit message 51 | 52 | We follow a rough convention for commit messages that is designed to answer two 53 | questions: what changed and why. The subject line should feature the what and 54 | the body of the commit should describe the why. 55 | 56 | ``` 57 | scripts: add the test-cluster command 58 | 59 | this uses tmux to setup a test cluster that can easily be killed and started for debugging. 60 | 61 | Fixes #38 62 | ``` 63 | 64 | The format can be described more formally as follows: 65 | 66 | ``` 67 | : 68 | 69 | 70 | 71 |