Dagger
Search

clusterbook

No long description provided.

Installation

dagger install github.com/stuttgart-things/dagger/clusterbook@v0.127.0

Entrypoint

Return Type
Clusterbook !
Arguments
NameTypeDefault ValueDescription
insecureBoolean -skip TLS verification (internal CA)
Example
dagger -m github.com/stuttgart-things/dagger/clusterbook@190b89fab8658042777909990771de19657ae00c call \
func (m *MyModule) Example() *dagger.Clusterbook  {
	return dag.
			Clusterbook()
}
@function
def example() -> dagger.Clusterbook:
	return (
		dag.clusterbook()
	)
@func()
example(): Clusterbook {
	return dag
		.clusterbook()
}

Types

Clusterbook 🔗

insecure() 🔗

Skip TLS verification when talking to an https clusterbook.

Return Type
Boolean !
Example
dagger -m github.com/stuttgart-things/dagger/clusterbook@190b89fab8658042777909990771de19657ae00c call \
 insecure
func (m *MyModule) Example(ctx context.Context) bool  {
	return dag.
			Clusterbook().
			Insecure(ctx)
}
@function
async def example() -> bool:
	return await (
		dag.clusterbook()
		.insecure()
	)
@func()
async example(): Promise<boolean> {
	return dag
		.clusterbook()
		.insecure()
}

addIps() 🔗

AddIPs adds IPs to an existing network

Return Type
String !
Arguments
NameTypeDefault ValueDescription
serverString !-

clusterbook server address (e.g. “localhost:8080”)

networkKeyString !-

network key (e.g. “10.31.103”)

ips[String ! ] !-

list of last-octet IPs to add (e.g. [“11”,“12”,“13”])

Example
dagger -m github.com/stuttgart-things/dagger/clusterbook@190b89fab8658042777909990771de19657ae00c call \
 add-ips --server string --network-key string --ips string1 --ips string2
func (m *MyModule) Example(ctx context.Context, server string, networkKey string, ips []string) string  {
	return dag.
			Clusterbook().
			Addips(ctx, server, networkKey, ips)
}
@function
async def example(server: str, networkkey: str, ips: List[str]) -> str:
	return await (
		dag.clusterbook()
		.addips(server, networkkey, ips)
	)
@func()
async example(server: string, networkKey: string, ips: string[]): Promise<string> {
	return dag
		.clusterbook()
		.addIps(server, networkKey, ips)
}

assignIp() 🔗

AssignIP assigns an IP address to a cluster

Return Type
String !
Arguments
NameTypeDefault ValueDescription
serverString !-

clusterbook server address (e.g. “localhost:8080”)

networkKeyString !-

network key (e.g. “10.31.103”)

ipString !-

full IP address (e.g. “10.31.103.5”)

clusterString !-

cluster name

statusString !-

status (PENDING or ASSIGNED)

createDnsBoolean -

create a DNS record for this assignment

Example
dagger -m github.com/stuttgart-things/dagger/clusterbook@190b89fab8658042777909990771de19657ae00c call \
 assign-ip --server string --network-key string --ip string --cluster string --status string
func (m *MyModule) Example(ctx context.Context, server string, networkKey string, ip string, cluster string, status string) string  {
	return dag.
			Clusterbook().
			Assignip(ctx, server, networkKey, ip, cluster, status)
}
@function
async def example(server: str, networkkey: str, ip: str, cluster: str, status: str) -> str:
	return await (
		dag.clusterbook()
		.assignip(server, networkkey, ip, cluster, status)
	)
@func()
async example(server: string, networkKey: string, ip: string, cluster: string, status: string): Promise<string> {
	return dag
		.clusterbook()
		.assignIp(server, networkKey, ip, cluster, status)
}

createNetwork() 🔗

CreateNetwork creates a new network with a flat list of IPs

Return Type
String !
Arguments
NameTypeDefault ValueDescription
serverString !-

clusterbook server address (e.g. “localhost:8080”)

networkString !-

network prefix (e.g. “10.31.103”)

ips[String ! ] !-

list of last-octet IPs (e.g. [“3”,“4”,“5”])

Example
dagger -m github.com/stuttgart-things/dagger/clusterbook@190b89fab8658042777909990771de19657ae00c call \
 create-network --server string --network string --ips string1 --ips string2
func (m *MyModule) Example(ctx context.Context, server string, network string, ips []string) string  {
	return dag.
			Clusterbook().
			Createnetwork(ctx, server, network, ips)
}
@function
async def example(server: str, network: str, ips: List[str]) -> str:
	return await (
		dag.clusterbook()
		.createnetwork(server, network, ips)
	)
@func()
async example(server: string, network: string, ips: string[]): Promise<string> {
	return dag
		.clusterbook()
		.createNetwork(server, network, ips)
}

createNetworkFromCidr() 🔗

CreateNetworkFromCidr creates a new network from CIDR notation

Return Type
String !
Arguments
NameTypeDefault ValueDescription
serverString !-

clusterbook server address (e.g. “localhost:8080”)

cidrString !-

CIDR notation (e.g. “10.31.103.0/24”)

reserved[String ! ] -

reserved last-octet IPs to exclude (e.g. [“1”] for gateway)

Example
dagger -m github.com/stuttgart-things/dagger/clusterbook@190b89fab8658042777909990771de19657ae00c call \
 create-network-from-cidr --server string --cidr string
func (m *MyModule) Example(ctx context.Context, server string, cidr string) string  {
	return dag.
			Clusterbook().
			Createnetworkfromcidr(ctx, server, cidr)
}
@function
async def example(server: str, cidr: str) -> str:
	return await (
		dag.clusterbook()
		.createnetworkfromcidr(server, cidr)
	)
@func()
async example(server: string, cidr: string): Promise<string> {
	return dag
		.clusterbook()
		.createNetworkFromCidr(server, cidr)
}

deleteIp() 🔗

DeleteIP removes an IP from a network

Return Type
String !
Arguments
NameTypeDefault ValueDescription
serverString !-

clusterbook server address (e.g. “localhost:8080”)

networkKeyString !-

network key (e.g. “10.31.103”)

ipString !-

last-octet IP to delete (e.g. “5”)

Example
dagger -m github.com/stuttgart-things/dagger/clusterbook@190b89fab8658042777909990771de19657ae00c call \
 delete-ip --server string --network-key string --ip string
func (m *MyModule) Example(ctx context.Context, server string, networkKey string, ip string) string  {
	return dag.
			Clusterbook().
			Deleteip(ctx, server, networkKey, ip)
}
@function
async def example(server: str, networkkey: str, ip: str) -> str:
	return await (
		dag.clusterbook()
		.deleteip(server, networkkey, ip)
	)
@func()
async example(server: string, networkKey: string, ip: string): Promise<string> {
	return dag
		.clusterbook()
		.deleteIp(server, networkKey, ip)
}

deleteNetwork() 🔗

DeleteNetwork deletes a network pool

Return Type
String !
Arguments
NameTypeDefault ValueDescription
serverString !-

clusterbook server address (e.g. “localhost:8080”)

networkKeyString !-

network key (e.g. “10.31.103”)

Example
dagger -m github.com/stuttgart-things/dagger/clusterbook@190b89fab8658042777909990771de19657ae00c call \
 delete-network --server string --network-key string
func (m *MyModule) Example(ctx context.Context, server string, networkKey string) string  {
	return dag.
			Clusterbook().
			Deletenetwork(ctx, server, networkKey)
}
@function
async def example(server: str, networkkey: str) -> str:
	return await (
		dag.clusterbook()
		.deletenetwork(server, networkkey)
	)
@func()
async example(server: string, networkKey: string): Promise<string> {
	return dag
		.clusterbook()
		.deleteNetwork(server, networkKey)
}

getCluster() 🔗

GetCluster returns all IPs assigned to a specific cluster

Return Type
String !
Arguments
NameTypeDefault ValueDescription
serverString !-

clusterbook server address (e.g. “localhost:8080”)

clusterNameString !-

cluster name

Example
dagger -m github.com/stuttgart-things/dagger/clusterbook@190b89fab8658042777909990771de19657ae00c call \
 get-cluster --server string --cluster-name string
func (m *MyModule) Example(ctx context.Context, server string, clusterName string) string  {
	return dag.
			Clusterbook().
			Getcluster(ctx, server, clusterName)
}
@function
async def example(server: str, clustername: str) -> str:
	return await (
		dag.clusterbook()
		.getcluster(server, clustername)
	)
@func()
async example(server: string, clusterName: string): Promise<string> {
	return dag
		.clusterbook()
		.getCluster(server, clusterName)
}

getNetworkIps() 🔗

GetNetworkIPs returns all IPs in a network with their status and cluster info

Return Type
String !
Arguments
NameTypeDefault ValueDescription
serverString !-

clusterbook server address (e.g. “localhost:8080”)

networkKeyString !-

network key (e.g. “10.31.103”)

Example
dagger -m github.com/stuttgart-things/dagger/clusterbook@190b89fab8658042777909990771de19657ae00c call \
 get-network-ips --server string --network-key string
func (m *MyModule) Example(ctx context.Context, server string, networkKey string) string  {
	return dag.
			Clusterbook().
			Getnetworkips(ctx, server, networkKey)
}
@function
async def example(server: str, networkkey: str) -> str:
	return await (
		dag.clusterbook()
		.getnetworkips(server, networkkey)
	)
@func()
async example(server: string, networkKey: string): Promise<string> {
	return dag
		.clusterbook()
		.getNetworkIps(server, networkKey)
}

listClusters() 🔗

ListClusters returns all clusters with their IP counts

Return Type
String !
Arguments
NameTypeDefault ValueDescription
serverString !-

clusterbook server address (e.g. “localhost:8080”)

Example
dagger -m github.com/stuttgart-things/dagger/clusterbook@190b89fab8658042777909990771de19657ae00c call \
 list-clusters --server string
func (m *MyModule) Example(ctx context.Context, server string) string  {
	return dag.
			Clusterbook().
			Listclusters(ctx, server)
}
@function
async def example(server: str) -> str:
	return await (
		dag.clusterbook()
		.listclusters(server)
	)
@func()
async example(server: string): Promise<string> {
	return dag
		.clusterbook()
		.listClusters(server)
}

listNetworks() 🔗

ListNetworks returns all network pools with their stats

Return Type
String !
Arguments
NameTypeDefault ValueDescription
serverString !-

clusterbook server address (e.g. “localhost:8080”)

Example
dagger -m github.com/stuttgart-things/dagger/clusterbook@190b89fab8658042777909990771de19657ae00c call \
 list-networks --server string
func (m *MyModule) Example(ctx context.Context, server string) string  {
	return dag.
			Clusterbook().
			Listnetworks(ctx, server)
}
@function
async def example(server: str) -> str:
	return await (
		dag.clusterbook()
		.listnetworks(server)
	)
@func()
async example(server: string): Promise<string> {
	return dag
		.clusterbook()
		.listNetworks(server)
}

releaseIp() 🔗

ReleaseIP releases an IP address back to the available pool

Return Type
String !
Arguments
NameTypeDefault ValueDescription
serverString !-

clusterbook server address (e.g. “localhost:8080”)

networkKeyString !-

network key (e.g. “10.31.103”)

ipString !-

full IP address (e.g. “10.31.103.5”)

Example
dagger -m github.com/stuttgart-things/dagger/clusterbook@190b89fab8658042777909990771de19657ae00c call \
 release-ip --server string --network-key string --ip string
func (m *MyModule) Example(ctx context.Context, server string, networkKey string, ip string) string  {
	return dag.
			Clusterbook().
			Releaseip(ctx, server, networkKey, ip)
}
@function
async def example(server: str, networkkey: str, ip: str) -> str:
	return await (
		dag.clusterbook()
		.releaseip(server, networkkey, ip)
	)
@func()
async example(server: string, networkKey: string, ip: string): Promise<string> {
	return dag
		.clusterbook()
		.releaseIp(server, networkKey, ip)
}

reserveIp() 🔗

ReserveIP allocates the next free IP in a network to a cluster, optionally creating the wildcard DNS record for it.

IDEMPOTENT ON PURPOSE. A plain POST /reserve hands out a NEW address every time it is called, so a pipeline retry silently leaks an IP and a second DNS record – and neither shows up as a failure anywhere. This first asks whether the cluster already holds an address in this network and returns that one if so, which makes re-running a bake safe.

The reply always has the same shape, reused telling the two paths apart:

{"ip":"10.31.103.6","digit":"6","status":"ASSIGNED:DNS","cluster":"c","reused":false}
Return Type
String !
Arguments
NameTypeDefault ValueDescription
serverString !-

clusterbook server address (“host:port” for http, or a full https:// URL)

networkKeyString !-

network key (e.g. “10.31.103”)

clusterString !-

cluster name – also the label of the wildcard record, *.{cluster}.{zone}

statusString "ASSIGNED"

status to record

createDnsBoolean -

create the wildcard DNS record for this assignment

leaseDurationSecondsInteger -

TTL in seconds after which the assignment is reclaimed (0 = permanent)

Example
dagger -m github.com/stuttgart-things/dagger/clusterbook@190b89fab8658042777909990771de19657ae00c call \
 reserve-ip --server string --network-key string --cluster string
func (m *MyModule) Example(ctx context.Context, server string, networkKey string, cluster string) string  {
	return dag.
			Clusterbook().
			Reserveip(ctx, server, networkKey, cluster)
}
@function
async def example(server: str, networkkey: str, cluster: str) -> str:
	return await (
		dag.clusterbook()
		.reserveip(server, networkkey, cluster)
	)
@func()
async example(server: string, networkKey: string, cluster: string): Promise<string> {
	return dag
		.clusterbook()
		.reserveIp(server, networkKey, cluster)
}