Developer Guide
August 18, 2022 ยท View on GitHub
Table of Contents
Prerequisites
To be able to develop on this project, you need to have the following tools installed:
- Git
- Make
- Go programming language
- Docker CE
- Kubernetes cluster (v1.16+). Minikube is recommended.
- Kubecfg
- Ginkgo
- git-hooks
- doctoc
The Sealed Secrets Components
Sealed Secrets is composed of three parts:
- A custom resource named
SealedSecret - A cluster-side controller / operator that manages the
SealedSecretobjects - A client-side utility: kubeseal
Controller
The controller is in charge of keeping the current state of SealedSecret objects in sync with the declared desired state.
Please refer to the Sealed Secrets Controller for the developer setup.
Kubeseal
The kubeseal utility uses asymmetric crypto to encrypt secrets that only the controller can decrypt.
Please refer to the Kubeseal Developer Guide for the developer setup.
git-hooks
To avoid easily detectable issues and prevent them from reaching main, some validations have been implemented via git hooks. To have those hooks committed in the repository you need to install a third party tool git-hooks (check prerequisites), because the hooks provided by Git are stored in the .git directory that is not included as part of the repositories.
Currently, there's a single hook at pre-commit level. This hook ensures the Table of Contents (TOC) is updated using doctoc (check prerequisites) in every .md and .txt file that uses this tool.
Configure git-hooks for this specific repository by running git hooks install. You can check with the following command if everything was configured properly:
$ git hooks list
Git hooks ARE installed in this repository.
project hooks
pre-commit
- doc-toc
Contrib hooks