You signed in with another tab or window.Reload to refresh your session.You signed out in another tab or window.Reload to refresh your session.You switched accounts on another tab or window.Reload to refresh your session.Dismiss alert
description:"Understand terminology and nuances in Codefresh"
4
4
group:getting-started
5
5
toc:true
6
6
---
7
-
Work in progress
7
+
<!--- remove WIP from header once complete-->
8
+
Familiarize yourself with the main concepts in Codefresh (listed in alphabetical order).
8
9
10
+
##Applications
11
+
An application is a deployment to a Kubernetes or any Kubernetes-compatible cluster or clusters.
12
+
Codefresh supports two types of applications:
13
+
* Containerized applications packaged as Docker images or
14
+
* Argo CD applications
9
15
10
-
###Runtime
11
-
A Runtime in Codefresh is a GitOps installation in your Codefresh account, in either a Hosted or Hybrid installation environment. Hosted Runtimes are installed on a Codefresh cluster and managed by Codefresh. Hybrid Runtimes are installed on customer clusters, and managed by the customers.
12
-
You can install a single Hosted runtime, and multiple Hybrid Runtines in a Codefresh account.
16
+
**Containerized applications**
17
+
Containerized applications are compiled, packaged, and deployed through Codefresh pipelines. Codefresh has native support for Docker artifacts, and also supports non-Dockerized applications that don’t use a Dockerfile for the actual build.
13
18
19
+
Deploy an application directly to Kubernetes through the Codefresh UI, or use Helm as a package manager to deploy to Kubernetes, again from Codefresh.
20
+
Codefresh offers several levels of visibility into your deployments :
21
+
* The Kubernetes dashboard displays the status of pods and Docker images.
22
+
* The Helm dashboard displays the applications deployed to the cluster through Helm packages.
23
+
* The Environment dashboard displays both Helm and Kubernetes releases, the status of the cluster, and most importantly that of the builds that affect it.
14
24
15
-
<!--add diagram-->
16
-
A single Runtime can connect to and manage multiple remote clusters.
Argo CD applications conform to Argo CD's application definition CRD (Custom Resource Definition). Argo CD supports several types of Kubernetes manifests, including Jsonnet, Kustomize applications, Helm charts, and YAML/json files, and supports webhook notifications from Git.
23
33
34
+
Create Argo CD applications that are fully GitOps-compliant in Codefresh. Identify and fix errors before commit with our built-in validations. The application manifest is generated, committed to Git, and synced to your cluster.
The Runner is the hybrid installation option for pipelines in your Codefresh account. The Runner is installed as a Kubernetes native application on any Kubernetes-compliant cluster. It allows you to run pipelines on your own Kubernetes cluster, including private clusters behind company firewalls.
39
+
Just as with Dockerized applications, you get full visibility into the applications and their deployment through the global Analytics, DORA metrics, and the Application dashboards. The Applications dashboard shows the current state of all the resources in the application, including information for each resource, and possible actions.
* Access to secure services (such as Git repositories or databases) that are behind the firewall and normally not accessible to the public cloud.
31
-
* The ability to use special resources in your Codefresh pipeline that are unique to your application, GPU nodes or other special hardware only present in your data center.
32
-
* Complete control over the build environment in addition to resources for pipelines.
33
43
34
-
Every Runner installation creates a runtime enviroment in your account. Assign the Runner to any pipeline to automatically run the pipeline in your own cluster. External integrations (such as Docker registry or Helm repositories) are also available to the Runner making pipelines exactly the same regardless of their runtime environment.
44
+
##Pipeline
45
+
The pipeline is the central component in Codefresh that implements CI/CD processes. Everything for CI/CD in Codefresh starts and ends with pipelines. Codefresh pipelines can do only CI, only CD, both CI and CD, or run any custom action, such as unit and integration tests.
35
46
36
-
Youcanhave multiple Runner installations in the same Codefresh account. ARunnercanalso manage multiple remoteclusters in your account.
47
+
A CI pipelinecancompile and package code, build and push Docker images. ACD pipelinecandeploy applications/artifacts to VMs, Kubernetesclusters, FTP sites, S3 buckets, and more. And a CI/CD pipeline can combine code compilation, integration, and deployment for full CI/CD.
Codefresh offers a rich set of capabilities to easily create and maintain pipelines such as ready-to-use steps for common tasks, variable, shared configuration, and more.
41
50
51
+
See:
52
+
[Introduction to Codefresh pipelines]({{site.baseurl}}/docs/pipelines/introduction-to-codefresh-pipelines/)
A project is a top-level entity in Codefresh for grouping related pipelines. Projects can group pipelines according to any criteria that is relevant to your enterprise. The criteria can be logical and based on teams, departments, or location for example, orfuntional, and based on microservices in applications.
56
+
##Project
57
+
A project is a top-level entity in Codefresh for grouping related pipelines. Projects can group pipelines according to any criteria that is relevant to your enterprise. The criteria can be logical and based on teams, departments, or location for example, orfunctional, and based on microservices in applications.
45
58
Projects centralize viewing and configuration settings for the pipelines that belong to them:
46
59
* Selecting a pipeline shows the other pipelines in the same project
47
60
* Access control and user-defined variables for the project are inherited by all the pipelines assigned to the project
@@ -51,78 +64,62 @@ There are no limits to the number of projects you can create in your account. Yo
51
64
See:
52
65
[Projects in pipelines]({{site.baseurl}}/docs/pipelines/pipelines/#pipeline-concepts)
53
66
54
-
###Pipeline
55
-
The pipeline is the central component in Codefresh that implements CI/CD processes. Everything for CI/CD in Codefresh starts and ends with pipelines. a pipeline can do only CI, only CD, both CI and CD, or run any custom action, such as unit and integration tests.
56
-
57
-
A CI pipeline can compile and package code, build and push Docker images. A CD pipeline can deploy applications/artifacts to VMs, Kubernetes clusters, FTP sites, S3 buckets, and more. And a CI/CD pipeline can combine code compilation, integration, and deployment for full CI/CD.
58
-
59
-
More to be added...
60
-
61
-
<!-- ### Workflow
62
-
A workflow is type of Kubernetes resource that lets you define and run automated workflows, and stores their state.
63
-
Argo Workflows is an open source workflow engine that orchestrates parallel tasks on Kubernetes, implemented as a set of Kubernetes custom resource definitions (CRDs).
64
-
65
-
Argo Workflows is part of the Argo project, which provides Kubernetes-native software delivery tools including Argo CD, Argo Events and Argo Rollouts.
66
-
67
-
What are worklfows in Codefresh?
68
-
Workflows in Codefresh refers to our integration with Argo Workflows to implement continours integration topped with our unique functionlaity on top of vanilla
69
-
70
-
Triggers: Codefresh offers a rich set of triggers that you can select and define through the Codefresh UI as part of creating an Argo Workflow. These include Git and Cron triggers. The triggers and the event that are mapped to sensors and
71
-
72
-
Workflow Templates: Predefined library of for Argo Workflows.
67
+
##Runner
68
+
The Runner is the hybrid installation option for pipelines in your Codefresh account. The Runner is installed as a Kubernetes native application on any Kubernetes-compliant cluster. It allows you to run pipelines on your own Kubernetes cluster, including private clusters behind company firewalls.
73
69
70
+
Codefresh Runner gives you:
71
+
* Access to secure services (such as Git repositories or databases) that are behind the firewall and normally not accessible to the public cloud.
72
+
* The ability to use special resources in your Codefresh pipeline that are unique to your application, GPU nodes or other special hardware only present in your data center.
73
+
* Complete control over the build environment in addition to resources for pipelines.
74
74
75
+
Every Runner installation creates a runtime environment in your account. Assign the Runner to any pipeline to automatically run the pipeline in your own cluster. External integrations (such as Docker registry or Helm repositories) are also available to the Runner making pipelines exactly the same regardless of their runtime environment.
75
76
76
-
Build view dashboard: The Workflows dashboard provides
77
-
See Delivery Pipelines.-->
77
+
You can have multiple Runner installations in the same Codefresh account. A Runner can also manage multiple remote clusters in your account.
A Runtime in Codefresh is a GitOps installation in your Codefresh account, in either a Hosted or Hybrid installation environment. Hosted Runtimes are installed on a Codefresh cluster and managed by Codefresh. Hybrid Runtimes are installed on customer clusters, and managed by the customers.
85
+
You can install a single Hosted runtime, and multiple Hybrid Runtines in a Codefresh account.
82
86
83
-
###Applications
84
-
An application is a deployment to a Kubernetes, or any Kubernetes-compatible cluster or clusters.
85
-
Codefresh supports two types of applications:
86
-
* Containerized applications packaged as Docker images or
87
-
* Argo CD applications
88
87
89
-
**Containerized applications**
90
-
Containerized applications are compiled, packaged,anddeployed through Codefresh pipelines. Codefresh has native support for Docker artifacts, and also supports non-Dockerized applications that don’t use a Dockerfile for the actual build.
88
+
<!--add diagram-->
89
+
A single Runtime can connect toandmanage multiple remote clusters.
91
90
92
-
Deploy an application directly to Kubernetes through the Codefresh UI, or use Helm as a package manager to deploy to Kubernetes, again from Codefresh.
93
-
Codefresh offers several levels of visibility into your deployments :
94
-
* The Kubernetes dashboard displays the status of pods and Docker images.
95
-
* The Helm dashabord displays the applications deployed to the cluster through Helm packages.
96
-
* The Environment dashbaord displays both Helm and Kubernetes releases, the status of the cluster, and most importantly that of the builds that affect it.
Argo CD applications conform to Argo CD's application definition CRD (Custom Resource Definition).ArgoCD supports several types of Kubernetes manifests, including Jsonnet, Kustomize applications, Helm charts, and YAML/json files, and supports webhook notifications from Git.
98
+
##Triggers
99
+
Triggers are events that launch pipelines andArgoWorkflows in Codefresh.
103
100
104
-
Create Argo CD applications that are fully GitOps-compliant from the Codefresh UI. Work in form mode or directly in YAML in the Create Application wizard. Built-in validation makes it easy to identify and fix errors before commit. The application manifest is generated, committed to Git, and synced to your cluster.
105
-
After creation, you can edit and optimize the application,
101
+
Codefresh pipelines offer a rich set of triggers. You have triggers based on code-repository events triggers (Git triggers), triggers based on events in external systems (Docker Hub, Azure, Quay, and more), and triggers based on scheduled jobs (Cron).
102
+
See:
103
+
[Triggers in Codefresh pipelines]({{site.baseurl}}/docs/pipelines/triggers/)
106
104
107
-
Just as with Dockerized applications, you get full visibily into the applications and their deployment thorughtheglobal Analytics, DORA metrics,and theApplication dashboards. The Applications dashboard displays the individual deployments across your enterprise. Drill down shows the current state of all the resources in the application with actionsanddetilaed information foreach resource.
105
+
For Argo Workflows in Codefresh, triggers are managed by Argo Events. You can definetheevent-sourceand theSensor that determines if and when to trigger the event. Codefresh supports GitandCron events forArgo Workflows.
108
106
107
+
To enable Argo Workflows in Codefresh, contact support.
109
108
109
+
See:
110
+
[Trigger conditions for events]({{site.baseurl}}/docs/workflows/create-pipeline/#configure-trigger-conditions-for-events)
110
111
111
-
###Triggers
112
-
Triggers are events that launch pipelines and Argo Workflows in Codefresh.
113
-
A trigger can define an event defines an event or events, mapped to one or more Git repositories.
114
-
Codefresh offers a rich set of triggers
115
112
116
113
117
-
and defines an event or event or events defined in pipelines andArgo Workflows that are mapped to one or more Git Codefresh offers a rich set of triggers that you can select and define through the Codefresh UI as part of creating an Argo Workflow. These include Git and Cron triggers. The triggers and the event that are mapped to sensors and
114
+
##Argo Workflows
118
115
119
-
###Events
120
-
TBD
116
+
A workflow is a type of Kubernetes resource that lets you define and run automated workflows, and stores their state.
117
+
Argo Workflows is an open source workflow engine that orchestrates parallel tasks on Kubernetes, implemented as a set of Kubernetes custom resource definitions (CRDs).
121
118
122
-
###Image annotations
119
+
Argo Workflows is part of the Argo project, which provides Kubernetes-native software delivery tools including Argo CD, Argo Events and Argo Rollouts.
123
120
124
-
###Argo Workflow
125
121
126
122
##Related articles
127
-
[Codefresh for CI]({{site.baseurl}}/docs/getting-started/ci-codefresh/)
128
-
[Codefresh for CD]({{site.baseurl}}/docs/getting-started/cd-codefresh/)
123
+
[Codefresh for CI]({{site.baseurl}}/docs/getting-started/ci-codefresh/)
124
+
[Codefresh for CD]({{site.baseurl}}/docs/getting-started/cd-codefresh/)
125
+
[Codefresh for GitOps]({{site.baseurl}}/docs/getting-started/gitops-codefresh/)