Skip to content

Commit 7982ff2

Browse files
authored
Merge pull request #75 from PDOK/PDOK-18066-readme
Updated README
2 parents d36f2a8 + 84acbf1 commit 7982ff2

File tree

3 files changed

+75
-64
lines changed

3 files changed

+75
-64
lines changed

DEVELOPMENT.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
## Local testing
2+
3+
- Start an empty cluster using `k8s-clusters/local-test/empty-cluster.sh`
4+
- Build and push the controller to the cluster using `build-and-push-locally.sh <controller-version>`
5+
- Deploy a service to the cluster, for example (running from `k8s-clusters/local-test`): `OWNER=kadaster TECHNICAL_NAME=ad docker-compose -f ./docker-compose.yaml -f ./bundle-pollers/docker-compose.services.yaml up kustomize-init`

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2024-2025 Publieke Dienstverlening op de Kaart
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 49 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,20 @@
11
# mapserver-operator
2-
// TODO(user): Add simple overview of use/purpose
2+
_Kubernetes controller/operator to serve WFS and WMS instances._
33

4-
## Description
5-
// TODO(user): An in-depth paragraph about your project and overview of use
6-
7-
## Local testing
4+
[![Build](https://github.com/PDOK/mapserver-operator/actions/workflows/build-and-publish-image.yml/badge.svg)](https://github.com/PDOK/mapserver-operator/actions/workflows/build-and-publish-image.yml)
5+
[![Lint (go)](https://github.com/PDOK/mapserver-operator/actions/workflows/lint.yml/badge.svg)](https://github.com/PDOK/mapserver-operator/actions/workflows/lint.yml)
6+
[![GitHub license](https://img.shields.io/github/license/PDOK/mapserver-operator)](https://github.com/PDOK/mapserver-operator/blob/master/LICENSE)
87

9-
- Start an empty cluster using `k8s-clusters/local-test/empty-cluster.sh`
10-
- Build and push the controller to the cluster using `build-and-push-locally.sh <controller-version>`
11-
- Deploy a service to the cluster, for example (running from `k8s-clusters/local-test`): `OWNER=kadaster TECHNICAL_NAME=ad docker-compose -f ./docker-compose.yaml -f ./bundle-pollers/docker-compose.services.yaml up kustomize-init`
8+
## Description
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 deploy instances of the [Web Map Service](https://www.ogc.org/standards/wms/)(WMS) and [Web Features Service](https://www.ogc.org/standards/wfs/)(WFS). This repository is a complete solution to deploy WMS and WFS services according to CR schemas.
12+
This operator uses two Custom Resources(CR) called _WMS_ and _WFS_ as the input for the deployment, which is also defined in this repository.
1213

1314
## Getting Started
1415

1516
### Prerequisites
16-
- go version v1.23.0+
17+
- go version v1.24.0+
1718
- docker version 17.03+.
1819
- kubectl version v1.11.3+.
1920
- Access to a Kubernetes v1.11.3+ cluster.
@@ -72,70 +73,54 @@ make uninstall
7273
make undeploy
7374
```
7475

75-
## Project Distribution
76+
## Develop
7677

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

79-
### By providing a bundle with all YAML files
80+
### kubebuilder
8081

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

83-
```sh
84-
make build-installer IMG=<some-registry>/mapserver-operator:tag
85-
```
85+
### Linting
8686

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

92-
2. Using the installer
91+
# Contributing
9392

94-
Users can just run 'kubectl apply -f <URL for YAML BUNDLE>' to install
95-
the project, i.e.:
93+
### How to contribute
94+
Mapserver-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.
9695

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

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

103-
1. Build the chart using the optional helm plugin
102+
# License
104103

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

0 commit comments

Comments
 (0)