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 - editorFreeattribute 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 ----