本文整理汇总了Golang中github.com/appc/spec/schema.RuntimeApp.Mounts方法的典型用法代码示例。如果您正苦于以下问题:Golang RuntimeApp.Mounts方法的具体用法?Golang RuntimeApp.Mounts怎么用?Golang RuntimeApp.Mounts使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/appc/spec/schema.RuntimeApp
的用法示例。
在下文中一共展示了RuntimeApp.Mounts方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: GenerateMounts
// GenerateMounts maps MountPoint paths to volumes, returning a list of Mounts.
func GenerateMounts(ra *schema.RuntimeApp, volumes map[types.ACName]types.Volume) []schema.Mount {
app := ra.App
mnts := make(map[string]schema.Mount)
for _, m := range ra.Mounts {
mnts[m.Path] = m
}
for _, mp := range app.MountPoints {
// there's already an injected mount for this target path, skip
if _, ok := mnts[mp.Path]; ok {
continue
}
vol, ok := volumes[mp.Name]
// there is no volume for this mount point, creating an "empty" volume
// implicitly
if !ok {
defaultMode := "0755"
defaultUID := 0
defaultGID := 0
emptyVol := types.Volume{
Name: mp.Name,
Kind: "empty",
Mode: &defaultMode,
UID: &defaultUID,
GID: &defaultGID,
}
log.Printf("warning: no volume specified for mount point %q, implicitly creating an \"empty\" volume. This volume will be removed when the pod is garbage-collected.", mp.Name)
volumes[mp.Name] = emptyVol
ra.Mounts = append(ra.Mounts, schema.Mount{Volume: mp.Name, Path: mp.Path})
} else {
ra.Mounts = append(ra.Mounts, schema.Mount{Volume: vol.Name, Path: mp.Path})
}
}
return ra.Mounts
}