Scribe is a tool that automates the propagation of annotations across Kubernetes resources based on the annotations in a Namespace. This simplifies the process of managing annotations for multiple resources, ensuring consistency and reducing manual intervention.
Scribe is designed to streamline the management of Kubernetes annotations by observing namespaces and propagating specific annotations to all resources under its scope, such as Deployments, Pods, or other related objects. For example, you can use Scribe to automatically add annotations to enable features like auto-reload on updates, using tools like Reloader.
The following example demonstrates how Scribe propagates the reloader.stakater.com/auto=true
annotation from the namespace to all observed resources within that namespace:
---
apiVersion: v1
kind: Namespace
metadata:
name: reloader-example
annotations:
# annotations below will be propagated to all resources
# observed by the scribe controller - e.g. Deployments
scribe.anza-labs.dev/annotations: |
reloader.stakater.com/auto=true
This ensures all resources in the reloader-example
namespace will inherit the specified annotation, allowing for seamless automation and consistency across deployments.
Installation of scribe is done via Helm Chart. To submit the issues or read more about installation process, please visit the Charts repository.
We welcome contributions to Scribe! Whether you're fixing a bug, improving the documentation, or adding new features, we'd love your help.
To contribute:
- Fork the repository.
- Create a feature branch (
git checkout -b feature-branch-name
). - Commit your changes following the Conventional Commits specification (e.g.,
feat: add new feature
orfix: resolve issue with X
).- See Conventional Commits for more details.
- Push to the branch (
git push origin feature-branch-name
). - Open a Pull Request for review.
Make sure to follow the coding standards, and ensure that your code passes all tests and validations. We use make
to help with common tasks. Run make help
for more information on all available make
targets.
Copyright 2024 anza-labs contributors.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.