DEVsheds uses the garden.io open source library to enable the modular build and deployment of software modules contained in the repository.
To access the Services view, you must first deploy the system. Click on the “Deploy System” button in the top nav bar.
This opens a progress window.
Once that is done, the Services card is enabled. Click on the Services card to open a view of the project’s modules.
Modules are the basic unit of building in Garden. They are usually the first thing you add after creating the project-level configuration.
A module can correspond to a Dockerfile and its associated code, a remote Docker image, a Helm chart, and more, depending on the module type.
Configuration
The project configuration garden.yml
file should be located in the top-level directory of the project's Git repository.
In addition, each of the project's modules' garden.yml
should be located in that module's top-level directory. Modules define all the individual components of your project, including services, tasks and tests.
A garden specification is defined in a YAML file. Here is an example garden.yml
taken from the test repository.
kind: Project name: demo-project defaultEnvironment: "remote" environments: - name: local - name: remote providers: - name: local-kubernetes environments: [local] - name: kubernetes environments: [remote] context: gke_apt-phenomenon-243802_us-central1-b_devsheds namespace: ${local.env.REPO_NAME} defaultHostname: ${local.env.REPO_NAME}.devsheds.io buildMode: cluster-docker setupIngressController: nginx
See https://docs.garden.io/using-garden/ for more detail.
The following settings are required to work in the DEVsheds environment:
provider | kubernetes |
context | gke_apt-phenomenon-243802_us-central1-b_devsheds |
Hostnames | must have the pattern: *.devsheds.io |
buildMode | cluster-docker |
setupIngressController | nginx |