Skip to content

epinio/application

Folders and files

NameName
Last commit message
Last commit date

Latest commit

87dcf00 · Aug 31, 2023

History

43 Commits
Aug 30, 2023
Aug 30, 2023
Oct 7, 2021
Oct 7, 2021
Oct 7, 2021
Oct 7, 2021
Oct 7, 2021
Apr 7, 2022
Apr 19, 2022
Oct 27, 2021
Oct 27, 2021
Oct 7, 2021

Repository files navigation

The Epinio application CRD was created to replace the not-maintained App CRD.

Epinio doesn't run a controller for this CRD. It has it's own API which updates the application resource in an imperative way. The Application Custom resource is used only as a "placeholder" when an application is created without a workload. It's also used as a parent for the various other resources. This allows automatic cascading deletion of resources.

Building

This project was created with kubebuilder. You should read the docs of that project if you are planning to do some heavy work (e.g. create a controller etc). The simplest thing you may want to do is to add some field to the AppSpec struct in app_types.go.

After you do so, you will have to generate the CRD yaml to be used in Epinio.

You can do that with a single command:

make generate manifests

Making more CRDS

Requires kubebuilder and controller-gen. To install:

cd /path/to/bin/directory
wget https://github.com/kubernetes-sigs/kubebuilder/releases/download/v3.3.0/kubebuilder_linux_amd64
mv kubebuilder_linux_amd64 kubebuilder
chmod u+x ./kubebuilder
./kubebuilder --version

and

wget https://github.com/kubernetes-sigs/controller-tools/archive/refs/tags/v0.4.1.tar.gz
tar xf v0.4.1.tar.gz 
cd controller-tools-0.4.1/
go install ./cmd/controller-gen/

For each new CRD MY_CRD then run

kubebuilder create api --group application --version v1 --kind MY_CRD --resource true --force

where MY_CRD is the Kind of the new CRC.