Deployments¶
Here you have the list of deployments created with Krateo.
Deployment card¶
Every deployment card has the following information:
- icon
- title
- description
- tags
- creation date
If you want to see the details of a deployment, click on the card.
Deployment details¶
Every deployment page has the following tabs in this order:
- overview
- custom tabs
- events
- values
- settings
Overview¶
This tab shows the following information:
- description
- links
Events¶
This tab shows the events of the deployment. Every logs has
- source
- reason
- timestamp
- level (info, warning, error, debug)
- message
Values¶
This tab shows the deployment.yaml file.
Settings¶
From this tab you can delete the deployment. This action is irreversible, but Krateo asks to you a confirm before delete deployment.
Custom tabs¶
You can customize the deployment page with custom plugins.
Currently, Krateo has the following plugins:
Argocd¶
This plugin shows the ArgoCD application details, required values are
endpointName
: the name of the endpointicon
: fontawesome iconname
: name of the tabtype
: argocdvalue
: argocd application name
Kubernetes¶
This plugin shows the kubernetes components, selected by label, required values are
icon
: fontawesome iconname
: name of the tabtype
: kubernetesvalue
: label selector, eg.app.kubernetes.io/name=nginx
. you can also use the deploymentId (value: deploymentId)
Doc¶
This plugin shows the markdown file from the repository, required values are
endpointName
: the name of the endpointicon
: fontawesome iconname
: name of the tabtype
: docvalues
: list of files to render
The form must be like this:
[organization_name][repository_name]file_name
For example:
'[krateoplatformops][guest-fire-smoked21]README.md'
(please note the single quotes around the value).
This plugins supports:
- GitHub
- Bitbucket (on-premise)
Pipeline¶
This plugin shows the list of last ten pipeline execution, required values are
endpointName
: the name of the endpointicon
: fontawesome iconname
: name of the tabtype
: docvalues
: list of pipelines to fetch
The form must be like this:
[organization_name][repository_name]file_name
For example:
'[krateoplatformops][guest-fire-smoked21]Build Docker image for every commit'
(please note the single quotes around the value).
This plugins supports:
- GitHub actions
- Jenkins
Capi (cluster api)¶
This plugin shows the cluster api config file, required values are
endpointName
: the name of the endpointicon
: fontawesome iconname
: name of the tabtype
: capivalue
: cluster id
Keptn¶
This plugin shows the keptn delivery status, required values are
endpointName
: the name of the endpointicon
: fontawesome iconname
: name of the tabtype
: keptnvalue
: keptn project name + keptn service name
eg. '[krateo]demo'
(please note the single quotes around the value).
Deployment.yaml¶
Example¶
# {{=<% %>=}}
---
apiVersion: deployment.krateo.io/v1alpha1
kind: FireworksApp
metadata:
name: <%#norm%>{{name}}<%/norm%>-fireworksapp
spec:
owner: mauro
title: <% name %>
description: Fireworks App Deployment
icon: 'fa-solid fa-fire'
tags:
- fireworks
- template
- krateo
- katy perry
links:
- url: https://github.com/<% organizationName %>/<% repositoryName %>
title: <% organizationName %>/<% repositoryName %>
icon: 'fa-brands fa-git'
plugins:
- name: resources
value: <%#norm%>{{name}}<%/norm%>-fireworksapp
type: argocd
icon: fa-solid fa-diagram-project
endpointName: argocd
- name: documentation
values:
- '[krateoplatformops][<% owner %>-fire-<%#norm%>{{name}}<%/norm%>]README.md'
type: doc
icon: fa-solid fa-book
endpointName: github
- name: kubernetes
value: deploymentId
type: kubernetes
icon: fa-brands fa-docker
- name: pipelines
values:
- '[krateoplatformops][<% owner %>-fire-<%#norm%>{{name}}<%/norm%>]Build Docker image for every commit'
type: pipeline
icon: fa-solid fa-person-running
endpointName: github
values:
replicas: <% replicas %>
organizationName: krateoplatformops
repositoryName: <% owner %>-fire-<%#norm%>{{name}}<%/norm%>
destinationApiUrl: <% destinationEndpoint.target %>
host: <% host %>
description: Cause baby, you're a firework. Come on, show 'em what you're worth
endpointName: <% destinationEndpoint.friendlyName %>
namespace: krateo-system
fromRepo:
schema: https
organizationName: krateoplatformops
repositoryName: krateo-template-fireworksapp
toRepo:
schema: https
organizationName: krateoplatformops
repositoryName: <% owner %>-fire-<%#norm%>{{name}}<%/norm%>
apiUrl: https://api.github.com
Structure¶
apiVersion
: deployment.krateo.io/v1alpha1kind
: depends by the composition
Metadata¶
name
: name of the deployment
Spec¶
owner
: owner of the templatetitle
: title of the templatedescription
: description of the templateicon
: fontawesome icon name. List of available icons is here fontawesome.comtags
: array of tags to identify your templatelinks
: array of links (overview tab)- plugins: list of plugins (tabs)
values
: list of values to render the template
Values¶
This is a object that contains the values to render the template.
You can specify properties with default value or getting the value from the form.
Here an example:
values:
organizationName: krateoplatformops
repositoryName: <% repositoryName %>
organizationName
has a default value, repositoryName
is a value from the form.
Endpoints¶
When you use a field as endpoint
you can use the value like an object.
Endpoint object has this structure (for example):
{
"friendlyName": "krateo",
"target": "https://krateo.io",
"token": "token"
}
Use the target value like this:
endpoint.target
Functions¶
The deployment service supports some functions to manipulate the values. Available functions are:
lower
: convert the value to lowercaseupper
: convert the value to uppercasenospaces
: remove all spaces from the valuespacedash
: replace all spaces with dashnorm
: normalize the value (convert all spaces to dash and convert to lowercase)
The value inside the function must be enclosed by {{
and }}
.
Example¶
<%#norm%>{{name}}<%/norm%>