No description
- Jinja 67.3%
- Shell 32.7%
| fulcio-rekor-rollout@3dd21c2bca | ||
| gubernat@a844508056 | ||
| templates | ||
| .gitignore | ||
| .gitmodules | ||
| 00-push-to-appliance.sh | ||
| 01-basic-setup.sh | ||
| 02-generate-configs.sh | ||
| 03-rollout-cluster.sh | ||
| 04-rollout-fulcio+rekor.sh | ||
| 05-setup-keycloak.sh | ||
| 06-get-cosign-config.sh | ||
| make-files.yml | ||
| Readme.md | ||
| ToDo.md | ||
| variables.yml | ||
Fulcio & Rekor Appliance based on gubernat
How does it work?
Mainly this is a wrapper for two projects:
- gubernat: a system to make kubernetes based software appliances
- fulcio-rekor-rollout: an automated rollout for private instances of fulcio and rekor
The whole system is based on ansible.
Steps:
- install a minimal RHEL9 clone (I'm using almalinux 9)
- login as root
- download or copy this repo as complete tree
- configure rollout
- install
- ready!
OK, here are the details:
Install minimal OS
I'm installing a minimal rpm based os (using one of the RHEL9 clones).
Here are the parameters:
- Minimal install
- virtual machine parameters:
- Memory 4GB+
- Disk 20GB+
- minimal 2 core
Install and configure appliance
(assuming your appliance VM ip is 192.168.254.144)
Please be sure that you have cloned the two submodules with this main repo. If the content of the submodules is empty get the submodules with:
git submodule init
git submodule update
Do the following:
- edit
variables.ymlin this directory - copy this repo on your cluster:
./00-push-to-appliance.sh - enter your appliance:
ssh root@192.168.254.144and enter dircd fulcio-rekor-appliance - Execute basic setup:
./01-basic-setup.sh - Generate your config:
./02-generate-configs.sh
Don't forget to set your DNS definitions (via DNS server or local) - Rollout K8s cluster:
./03-rollout-cluster.sh - Rollout the fulcio and rekor deployment:
./04-rollout-fulcio+rekor.sh - Setup Keycloak App:
./05-setup-keycloak.sh - Generate cosign config:
./06-get-cosign-config.sh
After this you have a complete setup of fulcio and rekor!
This config works with 2 architectures:
- x86_64 ("normal" Intel / AMD 64 server )
- aarch64 (Arm64 like Raspberry Pi 4+ or Mac M1+ based VM's)