Compare commits
3 Commits
8ce318aa74
...
4895a1d7ad
Author | SHA1 | Date |
---|---|---|
Laurent Gourvenec | 4895a1d7ad | |
Laurent Gourvenec | b0930e946a | |
Laurent Gourvenec | ecb857ff45 |
24
README.md
24
README.md
|
@ -10,7 +10,7 @@ This is a simple wrapper to help you build and publish images with "packer" and
|
||||||
|
|
||||||
### The "publisher" tool called "tools/one-templates"
|
### The "publisher" tool called "tools/one-templates"
|
||||||
|
|
||||||
This is a simple script to create and manage OpenNebula "Templates", all kinds of templates :
|
This is a simple script to create and manage OpenNebula "Templates", all kinds of templates:
|
||||||
* VMs
|
* VMs
|
||||||
* Networks
|
* Networks
|
||||||
* Images
|
* Images
|
||||||
|
@ -23,13 +23,13 @@ With this tool you can publish all the images and the necessary templates to act
|
||||||
* Packer >= 1.6.0
|
* Packer >= 1.6.0
|
||||||
* virt-sparsify (optional)
|
* virt-sparsify (optional)
|
||||||
* Ruby
|
* Ruby
|
||||||
* These ruby gems :
|
* These ruby gems:
|
||||||
* opennebula
|
* opennebula
|
||||||
* opennebula-cli
|
* opennebula-cli
|
||||||
* opennebula-oca
|
* opennebula-oca
|
||||||
* webrick
|
* webrick
|
||||||
* An OpenNebula server or cluster >= 5.6 (with OpenNebula Flow and OneGate enabled)
|
* An OpenNebula server or cluster >= 5.6 (with OpenNebula Flow and OneGate enabled)
|
||||||
* An account with the proper ACL on the OpenNebula server/cluster to :
|
* An account with the proper ACL on the OpenNebula server/cluster to:
|
||||||
* create/manage images
|
* create/manage images
|
||||||
* create/manage vm templates
|
* create/manage vm templates
|
||||||
* create/manage services templates
|
* create/manage services templates
|
||||||
|
@ -38,14 +38,14 @@ With this tool you can publish all the images and the necessary templates to act
|
||||||
## How to use the "build" tool ?
|
## How to use the "build" tool ?
|
||||||
|
|
||||||
First you need to create the "publisher" "tools/one-templates" configuration.
|
First you need to create the "publisher" "tools/one-templates" configuration.
|
||||||
This configuration is located in "./tools/.one-templates.conf".
|
This configuration is located in "./tools/.one-templates.conf".
|
||||||
Note that you can use a diffrent configuration file setting the TEMPLATER_CONFIG environment file before starting the build script.
|
Note that you can use a different configuration file setting the TEMPLATER_CONFIG environment file before starting the build script.
|
||||||
|
|
||||||
```
|
```
|
||||||
$ cat ./tools/one-templates.conf
|
$ cat ./tools/one-templates.conf
|
||||||
user: myOpenNebulaUser
|
user: myOpenNebulaUser
|
||||||
token: myVerySecretOpenNebulaTemporaryToken
|
token: myVerySecretOpenNebulaTemporaryToken
|
||||||
builder_addr: IP Address of the building machine (offen you own local IP address)
|
builder_addr: IP Address of the building machine (often your own local IP address)
|
||||||
endpoint: http://myOpenNebulaServerAddress...
|
endpoint: http://myOpenNebulaServerAddress...
|
||||||
flow_endpoint: http://myOpenNEbulaServerAddress/oneflow
|
flow_endpoint: http://myOpenNEbulaServerAddress/oneflow
|
||||||
datastore_id: TheDataStoreIDForMyImages
|
datastore_id: TheDataStoreIDForMyImages
|
||||||
|
@ -53,28 +53,28 @@ datastore_id: TheDataStoreIDForMyImages
|
||||||
|
|
||||||
When this configuration is done you can use the "build" tool.
|
When this configuration is done you can use the "build" tool.
|
||||||
|
|
||||||
The recipes are organised by OS, version and flavor, one OS contains various versions and falvors.
|
The recipes are organised by OS, version and flavor, one OS contains various versions and flavors.
|
||||||
You can list the availabled OS and versions whith this command :
|
You can list the available OS and versions with this command:
|
||||||
|
|
||||||
```
|
```
|
||||||
$ ./build list
|
$ ./build list
|
||||||
You can build :
|
You can build :
|
||||||
* alpine :
|
* alpine :
|
||||||
- 3.16
|
- 3.16
|
||||||
```
|
```
|
||||||
To build all the flavors of a version you can run this command :
|
To build all the flavors of a version you can run this command:
|
||||||
|
|
||||||
```
|
```
|
||||||
$ ./build start alpine 3.16
|
$ ./build start alpine 3.16
|
||||||
```
|
```
|
||||||
|
|
||||||
To build only one flavor for on version you can run this command :
|
To build only one flavor for one version you can run this command:
|
||||||
|
|
||||||
```
|
```
|
||||||
$ ./build run alpine 3.16 k3s
|
$ ./build run alpine 3.16 k3s
|
||||||
```
|
```
|
||||||
|
|
||||||
`!!! Make shure the "base" falvor is build before trying to build another falvor. !!!`
|
`!!! Make sure the "base" flavor is build before trying to build another flavor. !!!`
|
||||||
|
|
||||||
```
|
```
|
||||||
$ ./build run alpine 3.16 base
|
$ ./build run alpine 3.16 base
|
||||||
|
|
|
@ -14,13 +14,13 @@ locals {
|
||||||
AlpineEdge = {
|
AlpineEdge = {
|
||||||
type = "apk"
|
type = "apk"
|
||||||
name = "community"
|
name = "community"
|
||||||
url = "http://mirror.serverion.com/alpine/edge/community"
|
url = "http://mirrors.ircam.fr/pub/alpine/edge/community"
|
||||||
enabled = true
|
enabled = true
|
||||||
}
|
}
|
||||||
AlpineEdgeTesting = {
|
AlpineEdgeTesting = {
|
||||||
type = "apk"
|
type = "apk"
|
||||||
name = "testing"
|
name = "testing"
|
||||||
url = "http://mirror.serverion.com/alpine/edge/testing"
|
url = "http://mirrors.ircam.fr/pub/alpine/edge/testing"
|
||||||
enabled = true
|
enabled = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -76,4 +76,4 @@ locals {
|
||||||
K3S = local.ServiceK3S
|
K3S = local.ServiceK3S
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,13 +6,13 @@ locals {
|
||||||
AlpineEdge = {
|
AlpineEdge = {
|
||||||
type = "apk"
|
type = "apk"
|
||||||
name = "community"
|
name = "community"
|
||||||
url = "http://mirror.serverion.com/alpine/edge/community"
|
url = "http://mirrors.ircam.fr/pub/alpine/edge/community"
|
||||||
enabled = true
|
enabled = true
|
||||||
}
|
}
|
||||||
AlpineEdgeTesting = {
|
AlpineEdgeTesting = {
|
||||||
type = "apk"
|
type = "apk"
|
||||||
name = "testing"
|
name = "testing"
|
||||||
url = "http://mirror.serverion.com/alpine/edge/testing"
|
url = "http://mirrors.ircam.fr/pub/alpine/edge/testing"
|
||||||
enabled = true
|
enabled = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -87,4 +87,4 @@ locals {
|
||||||
Kubernetes = local.ServiceKubernetes
|
Kubernetes = local.ServiceKubernetes
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -57,4 +57,4 @@ pxe-service=tag:!ipxe-ok, BC_EFI, "UEFI32 boot chainload to iPXE", snponly.efi
|
||||||
pxe-service=tag:!ipxe-ok, X86-64_EFI, "UEFI64 boot chainload to iPXE", snponly.efi
|
pxe-service=tag:!ipxe-ok, X86-64_EFI, "UEFI64 boot chainload to iPXE", snponly.efi
|
||||||
|
|
||||||
dhcp-userclass=set:ipxe,iPXE
|
dhcp-userclass=set:ipxe,iPXE
|
||||||
dhcp-boot=tag:ipxe-ok,http://${Vars.ETH0.IP}:${Vars.Matchbox.HTTPPort}/boot.ipxe,,${Vars.ETH0.IP}
|
dhcp-boot=tag:ipxe-ok,http://${Vars.ETH0.IP}:${Vars.MatchBox.HTTPPort}/boot.ipxe,,${Vars.ETH0.IP}
|
||||||
|
|
Loading…
Reference in New Issue