Manage packages using the package manager
This documentation is for an older version of Dagger, which is no longer actively maintained.
We encourage you to upgrade and refer to the documentation for the most current version.
If you cannot upgrade to the latest version, please contact us in the help forum on Discord. When contacting us, please let us know why you cannot move to the latest version. From there, our team will work with you on your use case.
This tutorial illustrates how to install and upgrade packages using Dagger package manager.
Installing a package
Initializing project
Create an empty directory for your new Dagger project:
mkdir project
cd project
As described in the previous tutorials, initialize your Dagger project:
dagger init
dagger new test
That will create 2 directories: .dagger
and cue.mod
where our package will reside:
.
├── cue.mod
│ ├── module.cue
│ ├── pkg
│ └── usr
├── .dagger
│ └── env
│ └── test
Install
In our example we will use gcpcloudrun
package from github
Let's first add it to our source.cue
file:
package main
import (
"github.com/dagger/packages/gcpcloudrun"
)
run: gcpcloudrun.#Run
To install it just run
dagger mod get github.com/dagger/packages/gcpcloudrun@v0.1
It should pull the v0.1
version from GitHub, leave a copy in cue.mod/pkg
and reflect the change in
cue.mod/dagger.mod
file:
cue.mod/pkg/github.com/
└── dagger
└── packages
└── gcpcloudrun
├── cue.mod
├── README.md
└── source.cue
github.com/dagger/packages/gcpcloudrun v0.1
Querying the current setup with dagger query
should return a valid result:
{
"run": {
"creds": {
"username": "oauth2accesstoken"
},
"deploy": {
"platform": "managed",
"port": "80"
},
"push": {
"auth": {
"username": "oauth2accesstoken"
},
"push": {}
}
}
}
Upgrading
Now that you've successfully installed a package, let's try to upgrade it.
dagger mod get github.com/dagger/packages/gcpcloudrun@v0.2
You should see similar output:
12:25PM INF system | downloading github.com/dagger/packages:v0.2
And cue.mod/dagger.mod
should reflect the new version:
github.com/dagger/packages/gcpcloudrun v0.2
Develop package locally
Currently, package manager cannot add local packages so a workaround is linking the package to cue.mod/pkg
.
Create a directory with your domain name, usually github.com/myuser, and link your package directory.
mkdir cue.mod/pkg/<mydomain>
ln -s <localpackage> cue.mod/pkg/<mydomain>/<mypackagename>