Skip to content

Commit 069fdad

Browse files
authored
Merge pull request #46 from PDOK/PDOK-18066-readme
Updated README
2 parents 3eba8a2 + 64bcc6d commit 069fdad

File tree

1 file changed

+50
-57
lines changed

1 file changed

+50
-57
lines changed

README.md

Lines changed: 50 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,21 @@
11
# atom-operator
2-
// TODO(user): Add simple overview of use/purpose
2+
_Kubernetes controller/operator to serve an Atomfeed according to spec._
3+
4+
[![Build](https://github.com/PDOK/atom-operator/actions/workflows/build-and-publish-image.yml/badge.svg)](https://github.com/PDOK/atom-operator/actions/workflows/build-and-publish-image.yml)
5+
[![Lint (go)](https://github.com/PDOK/atom-operator/actions/workflows/lint.yml/badge.svg)](https://github.com/PDOK/atom-operator/actions/workflows/lint.yml)
6+
[![GitHub license](https://img.shields.io/github/license/PDOK/atom-operator)](https://github.com/PDOK/atom-operator/blob/master/LICENSE)
37

48
## Description
5-
// TODO(user): An in-depth paragraph about your project and overview of use
9+
This Kubernetes controller cq operator (an operator could be described as a specialized controller)
10+
ensures that the necessary resources are created or kept up-to-date in a cluster
11+
to serve feeds of the [Atom Syndication Format](https://www.ietf.org/rfc/rfc4287.txt). This repository is a complete solution to generate Atomfeeds according to a CR schema.
12+
This operator uses a Custom Resource(CR) called _Atom_ as the input for the deployment, which is also defined in this repository.
13+
614

715
## Getting Started
816

917
### Prerequisites
10-
- go version v1.23.0+
18+
- go version v1.24.0+
1119
- docker version 17.03+.
1220
- kubectl version v1.11.3+.
1321
- Access to a Kubernetes v1.11.3+ cluster.
@@ -66,70 +74,55 @@ make uninstall
6674
make undeploy
6775
```
6876

69-
## Project Distribution
77+
## Develop
7078

71-
Following the options to release and provide this solution to the users.
79+
The project is written in Go and scaffolded with [kubebuilder](https://kubebuilder.io).
7280

73-
### By providing a bundle with all YAML files
81+
### kubebuilder
7482

75-
1. Build the installer for the image built and published in the registry:
83+
Read the manual when you want/need to make changes.
84+
E.g. run `make test` before committing.
7685

77-
```sh
78-
make build-installer IMG=<some-registry>/atom-operator:tag
79-
```
86+
### Linting
8087

81-
**NOTE:** The makefile target mentioned above generates an 'install.yaml'
82-
file in the dist directory. This file contains all the resources built
83-
with Kustomize, which are necessary to install this project without its
84-
dependencies.
88+
Install [golangci-lint](https://golangci-lint.run/usage/install/) and run `golangci-lint run`
89+
from the root.
90+
(Don't run `make lint`, it uses an old version of golangci-lint.)
8591

86-
2. Using the installer
92+
# Contributing
8793

88-
Users can just run 'kubectl apply -f <URL for YAML BUNDLE>' to install
89-
the project, i.e.:
94+
### How to contribute
95+
Smooth-operator is solely developed by PDOK. Contributions are however always welcome. If you have any questions or suggestions you can create an issue in the issue tracker.
9096

91-
```sh
92-
kubectl apply -f https://raw.githubusercontent.com/<org>/atom-operator/<tag or branch>/dist/install.yaml
93-
```
97+
### Contact
98+
The maintainers can be contacted through the issue tracker.
9499

95-
### By providing a Helm Chart
100+
# Authors
101+
This project is developed by [PDOK](https://www.pdok.nl/), a platform for publication of geographic datasets of Dutch governmental institutions.
96102

97-
1. Build the chart using the optional helm plugin
103+
# License
98104

99-
```sh
100-
kubebuilder edit --plugins=helm/v1-alpha
101105
```
102-
103-
2. See that a chart was generated under 'dist/chart', and users
104-
can obtain this solution from there.
105-
106-
**NOTE:** If you change the project, you need to update the Helm Chart
107-
using the same command above to sync the latest changes. Furthermore,
108-
if you create webhooks, you need to use the above command with
109-
the '--force' flag and manually ensure that any custom configuration
110-
previously added to 'dist/chart/values.yaml' or 'dist/chart/manager/manager.yaml'
111-
is manually re-applied afterwards.
112-
113-
## Contributing
114-
// TODO(user): Add detailed information on how you would like others to contribute to this project
115-
116-
**NOTE:** Run `make help` for more information on all potential `make` targets
117-
118-
More information can be found via the [Kubebuilder Documentation](https://book.kubebuilder.io/introduction.html)
119-
120-
## License
121-
122-
Copyright 2025.
123-
124-
Licensed under the Apache License, Version 2.0 (the "License");
125-
you may not use this file except in compliance with the License.
126-
You may obtain a copy of the License at
127-
128-
http://www.apache.org/licenses/LICENSE-2.0
129-
130-
Unless required by applicable law or agreed to in writing, software
131-
distributed under the License is distributed on an "AS IS" BASIS,
132-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
133-
See the License for the specific language governing permissions and
134-
limitations under the License.
106+
MIT License
107+
108+
Copyright (c) 2025 Publieke Dienstverlening op de Kaart
109+
110+
Permission is hereby granted, free of charge, to any person obtaining a copy
111+
of this software and associated documentation files (the "Software"), to deal
112+
in the Software without restriction, including without limitation the rights
113+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
114+
copies of the Software, and to permit persons to whom the Software is
115+
furnished to do so, subject to the following conditions:
116+
117+
The above copyright notice and this permission notice shall be included in all
118+
copies or substantial portions of the Software.
119+
120+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
121+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
122+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
123+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
124+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
125+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
126+
SOFTWARE.
127+
```
135128

0 commit comments

Comments
 (0)