Table of Contents
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
Sealed Secrets is composed of three parts:
- A custom resource named
SealedSecret
- A cluster-side controller / operator that manages the
SealedSecret
objects - A client-side utility: kubeseal
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.
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.
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