packer
No long description provided.
Installation
dagger install github.com/stuttgart-things/dagger/packer@v0.93.1Entrypoint
Return Type
Packer Example
dagger -m github.com/stuttgart-things/dagger/packer@aa2f4dd20e187d07ba6551d4369509072a2958d8 call \
func (m *MyModule) Example() *dagger.Packer {
return dag.
Packer()
}@function
def example() -> dagger.Packer:
return (
dag.packer()
)@func()
example(): Packer {
return dag
.packer()
}Types
Packer 🔗
baseImage() 🔗
Base Wolfi image to use
Return Type
String ! Example
dagger -m github.com/stuttgart-things/dagger/packer@aa2f4dd20e187d07ba6551d4369509072a2958d8 call \
base-imagefunc (m *MyModule) Example(ctx context.Context) string {
return dag.
Packer().
BaseImage(ctx)
}@function
async def example() -> str:
return await (
dag.packer()
.base_image()
)@func()
async example(): Promise<string> {
return dag
.packer()
.baseImage()
}bake() 🔗
Return Type
String !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| packerVersion | String | "1.12.0" | The Packer version to use |
| arch | String | "linux_amd64" | The Packer arch |
| initOnly | Boolean | false | If true, only init packer w/out build |
| force | Boolean | false | If true, force overwrite of existing template |
| vaultAddr | String | - | vaultAddr |
| vaultRoleId | Secret | - | vaultRoleID |
| vaultSecretId | Secret | - | vaultSecretID |
| vaultToken | Secret | - | vaultToken |
| vars | String | - | Comma-separated packer build vars, e.g. "name=tpl,username=root,password=foo" # pragma: allowlist secret |
| varsFile | String | - | Path (relative to the packer build dir) to a plain YAML file with build vars |
| sopsFile | String | - | Path (relative to the packer build dir) to a SOPS-encrypted YAML file with secret build vars |
| sopsAgeKey | Secret | - | Age private key used to decrypt sopsFile (SOPS_AGE_KEY) |
| buildPath | String ! | - | No description provided |
| localDir | Directory ! | - | No description provided |
Example
dagger -m github.com/stuttgart-things/dagger/packer@aa2f4dd20e187d07ba6551d4369509072a2958d8 call \
bake --build-path string --local-dir DIR_PATHfunc (m *MyModule) Example(ctx context.Context, buildPath string, localDir *dagger.Directory) string {
return dag.
Packer().
Bake(ctxbuildPath, localDir)
}@function
async def example(build_path: str, local_dir: dagger.Directory) -> str:
return await (
dag.packer()
.bake(build_path, local_dir)
)@func()
async example(buildPath: string, localDir: Directory): Promise<string> {
return dag
.packer()
.bake(buildPath, localDir)
}checkDatastores() 🔗
CheckDatastores retrieves information about available datastores and their size
Return Type
File !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| vcenter | Secret ! | - | No description provided |
| username | Secret ! | - | No description provided |
| password | Secret ! | - | No description provided |
| datacenter | String | - | The datacenter to query datastores from |
Example
dagger -m github.com/stuttgart-things/dagger/packer@aa2f4dd20e187d07ba6551d4369509072a2958d8 call \
check-datastores --vcenter env:MYSECRET --username env:MYSECRET --password env:MYSECRETfunc (m *MyModule) Example(vcenter *dagger.Secret, username *dagger.Secret, password *dagger.Secret) *dagger.File {
return dag.
Packer().
CheckDatastores(vcenter, username, password)
}@function
def example(vcenter: dagger.Secret, username: dagger.Secret, password: dagger.Secret) -> dagger.File:
return (
dag.packer()
.check_datastores(vcenter, username, password)
)@func()
example(vcenter: Secret, username: Secret, password: Secret): File {
return dag
.packer()
.checkDatastores(vcenter, username, password)
}checkNetworks() 🔗
CheckNetworks retrieves information about available networks
Return Type
File !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| vcenter | Secret ! | - | No description provided |
| username | Secret ! | - | No description provided |
| password | Secret ! | - | No description provided |
| datacenter | String | - | The datacenter to query networks from |
Example
dagger -m github.com/stuttgart-things/dagger/packer@aa2f4dd20e187d07ba6551d4369509072a2958d8 call \
check-networks --vcenter env:MYSECRET --username env:MYSECRET --password env:MYSECRETfunc (m *MyModule) Example(vcenter *dagger.Secret, username *dagger.Secret, password *dagger.Secret) *dagger.File {
return dag.
Packer().
CheckNetworks(vcenter, username, password)
}@function
def example(vcenter: dagger.Secret, username: dagger.Secret, password: dagger.Secret) -> dagger.File:
return (
dag.packer()
.check_networks(vcenter, username, password)
)@func()
example(vcenter: Secret, username: Secret, password: Secret): File {
return dag
.packer()
.checkNetworks(vcenter, username, password)
}checkProxmoxNetworks() 🔗
CheckProxmoxNetworks lists network interfaces/bridges on a node.
Return Type
String !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| proxmoxUrl | Secret ! | - | No description provided |
| tokenId | Secret ! | - | No description provided |
| tokenSecret | Secret ! | - | No description provided |
| node | String ! | - | Node to query (e.g. "pve1") |
Example
dagger -m github.com/stuttgart-things/dagger/packer@aa2f4dd20e187d07ba6551d4369509072a2958d8 call \
check-proxmox-networks --proxmox-url env:MYSECRET --token-id env:MYSECRET --token-secret env:MYSECRET --node stringfunc (m *MyModule) Example(ctx context.Context, proxmoxUrl *dagger.Secret, tokenId *dagger.Secret, tokenSecret *dagger.Secret, node string) string {
return dag.
Packer().
CheckProxmoxNetworks(ctx, proxmoxUrl, tokenId, tokenSecret, node)
}@function
async def example(proxmox_url: dagger.Secret, token_id: dagger.Secret, token_secret: dagger.Secret, node: str) -> str:
return await (
dag.packer()
.check_proxmox_networks(proxmox_url, token_id, token_secret, node)
)@func()
async example(proxmoxUrl: Secret, tokenId: Secret, tokenSecret: Secret, node: string): Promise<string> {
return dag
.packer()
.checkProxmoxNetworks(proxmoxUrl, tokenId, tokenSecret, node)
}checkProxmoxStorage() 🔗
CheckProxmoxStorage lists storage pools (cluster-wide or per-node) with usage.
Return Type
String !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| proxmoxUrl | Secret ! | - | No description provided |
| tokenId | Secret ! | - | No description provided |
| tokenSecret | Secret ! | - | No description provided |
| node | String | - | Node to query (e.g. "pve1"); if empty, queries cluster-wide /storage |
Example
dagger -m github.com/stuttgart-things/dagger/packer@aa2f4dd20e187d07ba6551d4369509072a2958d8 call \
check-proxmox-storage --proxmox-url env:MYSECRET --token-id env:MYSECRET --token-secret env:MYSECRETfunc (m *MyModule) Example(ctx context.Context, proxmoxUrl *dagger.Secret, tokenId *dagger.Secret, tokenSecret *dagger.Secret) string {
return dag.
Packer().
CheckProxmoxStorage(ctx, proxmoxUrl, tokenId, tokenSecret)
}@function
async def example(proxmox_url: dagger.Secret, token_id: dagger.Secret, token_secret: dagger.Secret) -> str:
return await (
dag.packer()
.check_proxmox_storage(proxmox_url, token_id, token_secret)
)@func()
async example(proxmoxUrl: Secret, tokenId: Secret, tokenSecret: Secret): Promise<string> {
return dag
.packer()
.checkProxmoxStorage(proxmoxUrl, tokenId, tokenSecret)
}listProxmoxResources() 🔗
ListProxmoxResources returns datacenter-wide resources (nodes, VMs, storage, sdn).
Return Type
String !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| proxmoxUrl | Secret ! | - | No description provided |
| tokenId | Secret ! | - | No description provided |
| tokenSecret | Secret ! | - | No description provided |
| resourceType | String | - | Resource type filter: vm | storage | node | sdn (empty = all) |
Example
dagger -m github.com/stuttgart-things/dagger/packer@aa2f4dd20e187d07ba6551d4369509072a2958d8 call \
list-proxmox-resources --proxmox-url env:MYSECRET --token-id env:MYSECRET --token-secret env:MYSECRETfunc (m *MyModule) Example(ctx context.Context, proxmoxUrl *dagger.Secret, tokenId *dagger.Secret, tokenSecret *dagger.Secret) string {
return dag.
Packer().
ListProxmoxResources(ctx, proxmoxUrl, tokenId, tokenSecret)
}@function
async def example(proxmox_url: dagger.Secret, token_id: dagger.Secret, token_secret: dagger.Secret) -> str:
return await (
dag.packer()
.list_proxmox_resources(proxmox_url, token_id, token_secret)
)@func()
async example(proxmoxUrl: Secret, tokenId: Secret, tokenSecret: Secret): Promise<string> {
return dag
.packer()
.listProxmoxResources(proxmoxUrl, tokenId, tokenSecret)
}proxmoxoperation() 🔗
Proxmoxoperation performs move/rename/delete on a Proxmox VM or template.
Return Type
String !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| operation | String ! | - | Operation: move | rename | delete |
| node | String ! | - | Source node hosting the VM (e.g. "pve1") |
| vmid | String ! | - | VMID of the VM/template |
| target | String | - | For move: target node. For rename: new name. For delete: ignored. |
| proxmoxUrl | Secret ! | - | No description provided |
| tokenId | Secret ! | - | No description provided |
| tokenSecret | Secret ! | - | No description provided |
Example
dagger -m github.com/stuttgart-things/dagger/packer@aa2f4dd20e187d07ba6551d4369509072a2958d8 call \
proxmoxoperation --operation string --node string --vmid string --proxmox-url env:MYSECRET --token-id env:MYSECRET --token-secret env:MYSECRETfunc (m *MyModule) Example(ctx context.Context, operation string, node string, vmid string, proxmoxUrl *dagger.Secret, tokenId *dagger.Secret, tokenSecret *dagger.Secret) string {
return dag.
Packer().
Proxmoxoperation(ctx, operation, node, vmid, proxmoxUrl, tokenId, tokenSecret)
}@function
async def example(operation: str, node: str, vmid: str, proxmox_url: dagger.Secret, token_id: dagger.Secret, token_secret: dagger.Secret) -> str:
return await (
dag.packer()
.proxmoxoperation(operation, node, vmid, proxmox_url, token_id, token_secret)
)@func()
async example(operation: string, node: string, vmid: string, proxmoxUrl: Secret, tokenId: Secret, tokenSecret: Secret): Promise<string> {
return dag
.packer()
.proxmoxoperation(operation, node, vmid, proxmoxUrl, tokenId, tokenSecret)
}vcenteroperation() 🔗
Return Type
Void !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| operation | String | - | The Vm Operation to perform |
| source | String | - | No description provided |
| target | String | - | No description provided |
| vcenter | Secret ! | - | No description provided |
| username | Secret ! | - | No description provided |
| password | Secret ! | - | No description provided |
Example
dagger -m github.com/stuttgart-things/dagger/packer@aa2f4dd20e187d07ba6551d4369509072a2958d8 call \
vcenteroperation --vcenter env:MYSECRET --username env:MYSECRET --password env:MYSECRETfunc (m *MyModule) Example(ctx context.Context, vcenter *dagger.Secret, username *dagger.Secret, password *dagger.Secret) {
return dag.
Packer().
Vcenteroperation(ctxvcenter, username, password)
}@function
async def example(vcenter: dagger.Secret, username: dagger.Secret, password: dagger.Secret) -> None:
return await (
dag.packer()
.vcenteroperation(vcenter, username, password)
)@func()
async example(vcenter: Secret, username: Secret, password: Secret): Promise<void> {
return dag
.packer()
.vcenteroperation(vcenter, username, password)
}