Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kuritka/annotation-operator
https://github.com/kuritka/annotation-operator
Last synced: 24 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/kuritka/annotation-operator
- Owner: kuritka
- Created: 2022-11-28T12:15:49.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-01-13T13:54:12.000Z (almost 2 years ago)
- Last Synced: 2024-10-05T11:41:30.922Z (about 1 month ago)
- Language: Go
- Size: 446 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# annotation-controller
Demonstrates reconciliation on the top of ingress only
- No CRD
- No GSLB
- No test
- Not completed
- keeping state within the annotations`k8gb.io/status` is written back by controller at the end of reconciliation.
`k8gb.io/strategy` is mandatory
```yaml
kind: Ingress
metadata:
annotations:
k8gb.io/dns-ttl-seconds: "351"
k8gb.io/status: '{"serviceHealth":{"demo.cloud.example.com":"Healthy"},"healthyRecords":{"demo.cloud.example.com":["172.18.0.5","172.18.0.6","172.18.0.3","172.18.0.4"]},"geoTag":"us","hosts":"demo.cloud.example.com"}'
k8gb.io/strategy: roundRobin
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"networking.k8s.io/v1","kind":"Ingress","metadata":{"annotations":{"k8gb.io/strategy":"roundRobin","x.y.io/ep":"[{\"addresses\":[\"1.2.3.4\"],\"port\":80}]","xxx":"xxx"},"name":"ing","namespace":"demo"},"spec":{"ingressClassName":"nginx","rules":[{"host":"demo.cloud.example.com","http":{"paths":[{"backend":{"service":{"name":"frontend-podinfo","port":{"name":"http"}}},"path":"/","pathType":"Prefix"}]}}]}}
``````yaml
endpoints:
- dnsName: localtargets-demo.cloud.example.com
recordTTL: 351
recordType: A
targets:
- 172.18.0.5
- 172.18.0.6
- dnsName: demo.cloud.example.com
labels:
strategy: roundRobin
recordTTL: 351
recordType: A
targets:
- 172.18.0.5
- 172.18.0.6
- 172.18.0.3
- 172.18.0.4
```