Authoring devfiles
Defining attributes
As a developer, you can use devfile attributes to configure various features and properties according to the needs of users and tools. Attributes are implementation-dependent and written in free-form YAML.
Attributes can be defined at the top level of the devfile, or in the following objects:
components
commands
projects
starterProjects
endpoints
metadata
: Attributes in metadata are deprecated. Use top-level attributes instead.
Prerequisites
Procedure
Define attributes in a component:
Java Quarkus example
---- schemaVersion: 2.2.0 metadata: name: java-quarkus ... components: - name: outerloop-deploy attributes: deployment/replicas: 1 deployment/cpuLimit: "100m" deployment/cpuRequest: 10m deployment/memoryLimit: 250Mi deployment/memoryRequest: 100Mi deployment/container-port: 8081 kubernetes: uri: outerloop-deploy.yaml ----
Define a custom attribute at the devfile level.
When no editor is specified, a default editor is provided. To represent this user-defined example, use the
editorFree
attribute as shown in the following example:A devfile without an editor
---- schemaVersion: 2.2.0 attributes: editorFree: true metadata: name: petclinic-dev-environment components: - name: myapp kubernetes: uri: my-app.yaml ----