Continuous Deployment Events
Continuous Deployment (CD) events are related to continuos deployment pipelines and their target environments. These events can be emitted by environments to report where software artifacts such as services, binaries, daemons, jobs or embedded software are running.
Subjects
This specification defines two subjects in this stage: environment
and service
. The term service
is used to represent a running Artifact. A service
can represent a binary that is running, a daemon, an application, a docker container. The term environment
represent any platform which has all the means to run a service
.
Subject | Description | Predicates |
---|---|---|
environment |
An environment where to run services | created , modified , deleted |
service |
A service | deployed , upgraded , rolledback , removed , published |
environment
An environment
is a platform which may run a service
.
Field | Type | Description | Examples |
---|---|---|---|
id | String |
Uniquely identifies the subject within the source. | 1234 , maven123 , builds/taskrun123 |
source | URI-Reference |
source from the context | staging/tekton , tekton-dev-123 |
name | String |
Name of the environment | dev , staging , production , ci-123 |
url | String |
URL to reference where the environment is located | https://my-cluster.zone.my-cloud-provider |
service
A service
can represent for example a binary that is running, a daemon, an application or a docker container.
Field | Type | Description | Examples |
---|---|---|---|
id | String |
Uniquely identifies the subject within the source. | service/myapp , daemonset/myapp |
source | URI-Reference |
source from the context | staging/tekton , tekton-dev-123 |
environment | Object (environment ) |
Reference for the environment where the service runs | {"id": "1234"} , {"id": "maven123, "source": "tekton-dev-123"} |
artifactId | Purl |
Identifier of the artifact deployed with this service | pkg:oci/myapp@sha256%3A0b31b1c02ff458ad9b7b81cbdf8f028bd54699fa151f221d1e8de6817db93427 , pkg:golang/mygit.com/myorg/myapp@234fd47e07d1004f0aed9c |
Events
environment created
This event represents an environment that has been created. Such an environment can be used to deploy services in.
- Event Type:
dev.cdevents.environment.created.0.1-draft
- Predicate: created
- Subject:
environment
Field | Type | Description | Examples | Mandatory ✅ | Optional ⚪ |
---|---|---|---|---|
id | String |
Uniquely identifies the subject within the source. | tenant1/12345-abcde , namespace/pipelinerun-1234 |
✅ |
source | URI-Reference |
source from the context | ⚪ | |
name | String |
Name of the environment | dev , staging , production , ci-123 |
⚪ |
url | String |
URL to reference where the environment is located | https://my-cluster.zone.my-cloud-provider |
⚪ |
environment modified
This event represents an environment that has been modified.
- Event Type:
dev.cdevents.environment.modified.0.1-draft
- Predicate: modified
- Subject:
environment
Field | Type | Description | Examples | Mandatory ✅ | Optional ⚪ |
---|---|---|---|---|
id | String |
Uniquely identifies the subject within the source. | tenant1/12345-abcde , namespace/pipelinerun-1234 |
✅ |
source | URI-Reference |
source from the context | ⚪ | |
name | String |
Name of the environment | dev , staging , production , ci-123 |
⚪ |
url | String |
URL to reference where the environment is located | https://my-cluster.zone.my-cloud-provider |
⚪ |
environment deleted
This event represents an environment that has been deleted.```
- Event Type:
dev.cdevents.environment.deleted.0.1-draft
- Predicate: deleted
- Subject:
environment
Field | Type | Description | Examples | Mandatory ✅ | Optional ⚪ |
---|---|---|---|---|
id | String |
Uniquely identifies the subject within the source. | tenant1/12345-abcde , namespace/pipelinerun-1234 |
✅ |
source | URI-Reference |
source from the context | ⚪ | |
name | String |
Name of the environment | dev , staging , production , ci-123 |
⚪ |
service deployed
This event represents a new instance of a service that has been deployed
- Event Type:
dev.cdevents.service.deployed.0.1-draft
- Predicate: deployed
- Subject:
service
Field | Type | Description | Examples | Mandatory ✅ | Optional ⚪ |
---|---|---|---|---|
id | String |
Uniquely identifies the subject within the source. | service/myapp , daemonset/myapp |
✅ |
environment | Object (environment ) |
Reference for the environment where the service runs | {"id": "1234"} , {"id": "maven123, "source": "tekton-dev-123"} |
✅ |
artifactId | Purl |
Identifier of the artifact deployed with this service | 0b31b1c02ff458ad9b7b81cbdf8f028bd54699fa151f221d1e8de6817db93427 , 927aa808433d17e315a258b98e2f1a55f8258e0cb782ccb76280646d0dbe17b5 , six-1.14.0-py2.py3-none-any.whl |
✅ |
service upgraded
This event represents an existing instance of a service that has been upgraded to a new version
- Event Type:
dev.cdevents.service.upgraded.0.1-draft
- Predicate: upgraded
- Subject:
service
Field | Type | Description | Examples | Mandatory ✅ | Optional ⚪ |
---|---|---|---|---|
id | String |
Uniquely identifies the subject within the source. | service/myapp , daemonset/myapp |
✅ |
environment | Object (environment ) |
Reference for the environment where the service runs | {"id": "1234"} , {"id": "maven123, "source": "tekton-dev-123"} |
✅ |
artifactId | Purl |
Identifier of the artifact deployed with this service | pkg:oci/myapp@sha256%3A0b31b1c02ff458ad9b7b81cbdf8f028bd54699fa151f221d1e8de6817db93427 , pkg:golang/mygit.com/myorg/myapp@234fd47e07d1004f0aed9c |
✅ |
service rolledback
This event represents an existing instance of a service that has been rolled back to a previous version
- Event Type:
dev.cdevents.service.rolledback.0.1-draft
- Predicate: rolledback
- Subject:
service
Field | Type | Description | Examples | Mandatory ✅ | Optional ⚪ |
---|---|---|---|---|
id | String |
Uniquely identifies the subject within the source. | service/myapp , daemonset/myapp |
✅ |
environment | Object (environment ) |
Reference for the environment where the service runs | {"id": "1234"} , {"id": "maven123, "source": "tekton-dev-123"} |
✅ |
artifactId | Purl |
Identifier of the artifact deployed with this service | pkg:oci/myapp@sha256%3A0b31b1c02ff458ad9b7b81cbdf8f028bd54699fa151f221d1e8de6817db93427 , pkg:golang/mygit.com/myorg/myapp@234fd47e07d1004f0aed9c |
✅ |
service removed
This event represents the removal of a previously deployed service instance and is thus not longer present in the specified environment
- Event Type:
dev.cdevents.service.removed.0.1-draft
- Predicate: removed
- Subject:
service
Field | Type | Description | Examples | Mandatory ✅ | Optional ⚪ |
---|---|---|---|---|
id | String |
Uniquely identifies the subject within the source. | service/myapp , daemonset/myapp |
✅ |
environment | Object (environment ) |
Reference for the environment where the service runs | {"id": "1234"} , {"id": "maven123, "source": "tekton-dev-123"} |
✅ |
service published
This event represents an existing instance of a service that has an accessible URL for users to interact with it. This event can be used to let other tools know that the service is ready and also available for consumption.
- Event Type:
dev.cdevents.service.published.0.1-draft
- Predicate: published
- Subject:
service
Field | Type | Description | Examples | Mandatory ✅ | Optional ⚪ |
---|---|---|---|---|
id | String |
Uniquely identifies the subject within the source. | service/myapp , daemonset/myapp |
✅ |
environment | Object (environment ) |
Reference for the environment where the service runs | {"id": "1234"} , {"id": "maven123, "source": "tekton-dev-123"} |
✅ |