mirror of
https://github.com/containers/podman.git
synced 2025-06-22 09:58:10 +08:00
Add --no-trunc
flag to maintain original annotation length
Adds a `--no-trunc` flag to `podman kube generate` preventing the annotations from being trimmed at 63 characters. However, due to the fact the annotations will not be trimmed, any annotation that is longer than 63 characters means this YAML will no longer be Kubernetes compatible. However, these YAML files can still be used with `podman kube play` due to the addition of the new flag below. Adds a `--no-trunc` flag to `podman kube play` supporting YAML files with annotations that were not truncated to the Kubernetes maximum length of 63 characters. Signed-off-by: Jake Correnti <jakecorrenti+github@proton.me>
This commit is contained in:
@ -81,6 +81,9 @@ func generateFlags(cmd *cobra.Command, podmanConfig *entities.PodmanConfig) {
|
||||
flags.Int32VarP(&generateOptions.Replicas, replicasFlagName, "r", 1, "Set the replicas number for Deployment kind")
|
||||
_ = cmd.RegisterFlagCompletionFunc(replicasFlagName, completion.AutocompleteNone)
|
||||
|
||||
noTruncAnnotationsFlagName := "no-trunc"
|
||||
flags.BoolVar(&generateOptions.UseLongAnnotations, noTruncAnnotationsFlagName, false, "Don't truncate annotations to Kubernetes length (63 chars)")
|
||||
|
||||
flags.SetNormalizeFunc(utils.AliasFlags)
|
||||
}
|
||||
|
||||
|
@ -165,6 +165,9 @@ func playFlags(cmd *cobra.Command) {
|
||||
flags.StringSliceVar(&playOptions.ConfigMaps, configmapFlagName, []string{}, "`Pathname` of a YAML file containing a kubernetes configmap")
|
||||
_ = cmd.RegisterFlagCompletionFunc(configmapFlagName, completion.AutocompleteDefault)
|
||||
|
||||
noTruncFlagName := "no-trunc"
|
||||
flags.BoolVar(&playOptions.UseLongAnnotations, noTruncFlagName, false, "Use annotations that are not truncated to the Kubernetes maximum length of 63 characters")
|
||||
|
||||
if !registry.IsRemote() {
|
||||
certDirFlagName := "cert-dir"
|
||||
flags.StringVar(&playOptions.CertDir, certDirFlagName, "", "`Pathname` of a directory containing TLS certificates and keys")
|
||||
@ -240,7 +243,7 @@ func play(cmd *cobra.Command, args []string) error {
|
||||
playOptions.Annotations = make(map[string]string)
|
||||
}
|
||||
annotation := splitN[1]
|
||||
if len(annotation) > define.MaxKubeAnnotation {
|
||||
if len(annotation) > define.MaxKubeAnnotation && !playOptions.UseLongAnnotations {
|
||||
return fmt.Errorf("annotation exceeds maximum size, %d, of kubernetes annotation: %s", define.MaxKubeAnnotation, annotation)
|
||||
}
|
||||
playOptions.Annotations[splitN[0]] = annotation
|
||||
|
Reference in New Issue
Block a user