Giter Site home page Giter Site logo

Comments (16)

oburd avatar oburd commented on June 11, 2024 1

I have resolved issue for me, thank you for help

from infinispan-helm-charts.

oburd avatar oburd commented on June 11, 2024

I see that you did
annotations:
{{- include "infinispan-helm-charts.annotations" . | nindent 4 }}
{{- range .Values.deploy.expose.annotations }}
{{ .key | quote }}: {{ .value | quote }}
{{- end }}
but normaly do this. It's template from helm when helm create chart
{{- with .Values.ingress.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}

from infinispan-helm-charts.

oburd avatar oburd commented on June 11, 2024

I did this
annotations: [
"kubernetes.io/ingress.class"="alb",
"alb.ingress.kubernetes.io/group.name"="group.name",
"alb.ingress.kubernetes.io/group.order"="group.order",
"alb.ingress.kubernetes.io/scheme"="internal",
"alb.ingress.kubernetes.io/target-type"="ip",
"alb.ingress.kubernetes.io/listen-ports"=""[{"HTTP": 80}, {"HTTPS":443}]"",
"alb.ingress.kubernetes.io/certificate-arn"="cert",
"alb.ingress.kubernetes.io/ssl-redirect"="443"
]
but received error
Error: ---> error converting YAML to JSON: yaml: line 58: did not find expected ',' or ']' # Default values for infinispan-helm-charts.

line number in your value is
58 annotations: []

from infinispan-helm-charts.

ryanemerson avatar ryanemerson commented on June 11, 2024

@oburd Try:

deploy:
  expose:
    annotations:
      kubernetes.io/ingress.class: alb
      alb.ingress.kubernetes.io/group.name: group.name

from infinispan-helm-charts.

oburd avatar oburd commented on June 11, 2024

values don't meet the specifications of the schema(s) in the following chart(s):
│ infinispan:
│ - deploy.expose.annotations: Invalid type. Expected: [array,null], given: object
│ - deploy.podLabels: Invalid type. Expected: [array,null], given: object
Same error
As i see in your template you did next
annotations:
{{- include "infinispan-helm-charts.annotations" . | nindent 4 }}
{{- range .Values.deploy.expose.annotations }}
{{ .key | quote }}: {{ .value | quote }}
{{- end }}
but in default helm charts when be created, users can add normally annotations
{{- with .Values.ingress.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}

from infinispan-helm-charts.

oburd avatar oburd commented on June 11, 2024

Let me give you a full picture:

  1. I'm using terroform with helm_release = helm
  2. I added chart and repository
    repository = "https://charts.openshift.io/"
    chart = "infinispan-infinispan"
  3. I set some variables to values file
  4. There is my values file, which i took from your git repos helm chart
# Default values for infinispan-helm-charts.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.

images:
  # [USER] The container images for server pods.
  server: quay.io/infinispan/server:14.0
  initContainer: registry.access.redhat.com/ubi8-micro

deploy:
  # [USER] Specify the number of nodes in the cluster.
  replicas: 1

  clusterDomain: cluster.local

  container:
    extraJvmOpts: ""
    libraries: ""
    # [USER] Define custom environment variables using standard K8s format
    # env:
    #  - name: STANDARD_KEY
    #    value: standard value
    #  - name: CONFIG_MAP_KEY
    #    valueFrom:
    #      configMapKeyRef:
    #        name: special-config
    #        key: special.how
    #  - name: SECRET_KEY
    #    valueFrom:
    #      secretKeyRef:
    #        name: special-secret
    #        key: special.how
    env:
    storage:
      size: 1Gi
      storageClassName: ""
      # [USER] Set `ephemeral: true` to delete all persisted data when clusters shut down or restart.
      ephemeral: false
    resources:
      # [USER] Specify the CPU limit and the memory limit for each pod.
      limits:
        cpu: 500m
        memory: 512Mi
      # [USER] Specify the maximum CPU requests and the maximum memory requests for each pod.
      requests:
        cpu: 500m
        memory: 512Mi

  security:
    secretName: ""
    batch: ""

  expose:
    # [USER] Specify `type: ""` to disable network access to clusters.
    type: Route
    nodePort: 0
    host: ""
    annotations:
      kubernetes.io/ingress.class: alb
      alb.ingress.kubernetes.io/group.name: dummy
      alb.ingress.kubernetes.io/group.order: 'dummy'
      alb.ingress.kubernetes.io/scheme: internal
      alb.ingress.kubernetes.io/target-type: ip
      alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS":443}]'
      alb.ingress.kubernetes.io/certificate-arn: dummy
      alb.ingress.kubernetes.io/ssl-redirect: '443'

  monitoring:
    enabled: false

  logging:
    categories:
      # [USER] Specify the FQN of a package from which you want to collect logs.
      - category: com.arjuna
        # [USER] Specify the level of log messages.
        level: warn
      # No need to warn about not being able to TLS/SSL handshake
      - category: io.netty.handler.ssl.ApplicationProtocolNegotiationHandler
        level: error

  makeDataDirWritable: false

  nameOverride: ""

  resourceLabels: []

  podLabels:
    microservice: infinispan

  svcLabels: []

  tolerations: []

  nodeAffinity: {}
  
  nodeSelector: {}

  infinispan:
    cacheContainer:
      # [USER] Add cache, template, and counter configuration.
      name: default
      # [USER] Specify `security: null` to disable security authorization.
      security:
        authorization: {}
      transport:
        cluster: ${infinispan.cluster.name:cluster}
        node-name: ${infinispan.node.name:}
        stack: kubernetes
    server:
      endpoints:
      # [USER] Hot Rod and REST endpoints.
      - securityRealm: default
        socketBinding: default
        connectors:
          rest:
            restConnector:
          hotrod:
            hotrodConnector:
          # [MEMCACHED] Uncomment to enable Memcached endpoint
          # memcached:
          #   memcachedConnector:
          #     socketBinding: memcached
      # [METRICS] Metrics endpoint for cluster monitoring capabilities.
      - connectors:
          rest:
            restConnector:
              authentication:
                mechanisms: BASIC
        securityRealm: metrics
        socketBinding: metrics
      interfaces:
      - inetAddress:
          value: ${infinispan.bind.address:127.0.0.1}
        name: public
      security:
        credentialStores:
        - clearTextCredential:
            clearText: secret
          name: credentials
          path: credentials.pfx
        securityRealms:
        # [USER] Security realm for the Hot Rod and REST endpoints.
        - name: default
          # [USER] Comment or remove this properties realm to disable authentication.
          propertiesRealm:
            groupProperties:
              path: groups.properties
            groupsAttribute: Roles
            userProperties:
              path: users.properties
          # [METRICS] Security realm for the metrics endpoint.
        - name: metrics
          propertiesRealm:
            groupProperties:
              path: metrics-groups.properties
              relativeTo: infinispan.server.config.path
            groupsAttribute: Roles
            userProperties:
              path: metrics-users.properties
              relativeTo: infinispan.server.config.path
      socketBindings:
        defaultInterface: public
        portOffset: ${infinispan.socket.binding.port-offset:0}
        socketBinding:
          # [USER] Socket binding for the Hot Rod and REST endpoints.
        - name: default
          port: 11222
          # [METRICS] Socket binding for the metrics endpoint.
        - name: metrics
          port: 11223
          # [MEMCACHED] Uncomment to enable Memcached endpoint
        # - name: memcached
        #   port: 11221
  1. I added only several things.
    First thing annotation for expose that i can connect to infinispan from internet through AWS ALB
    Second thing PodLabels
    I gave some details for your, for more understanding my problem

from infinispan-helm-charts.

ryanemerson avatar ryanemerson commented on June 11, 2024

@oburd I've updated your comment to highlight the yaml in a code block as this is much easier to read.

Can you paste the error that you're receiving with the current values.yaml?

from infinispan-helm-charts.

oburd avatar oburd commented on June 11, 2024

@ryanemerson oh, thank you. Looks better :)
There is an error
Error: values don't meet the specifications of the schema(s) in the following chart(s): │ infinispan: │ - deploy.expose.annotations: Invalid type. Expected: [array,null], given: object │ - deploy.podLabels: Invalid type. Expected: [array,null], given: object │ │ │ with helm_release.infinispan, │ on main.tf line 29, in resource "helm_release" "infinispan": │ 29: resource "helm_release" "infinispan" { │ ╵

from infinispan-helm-charts.

ryanemerson avatar ryanemerson commented on June 11, 2024

The podLabels and annotations need to be an array of objects with key and value elements, e.g.

podLabels:

  podLabels:
    - key: microservice
      value: infinispan

annotations:

  expose:
    # [USER] Specify `type: ""` to disable network access to clusters.
    type: Route
    nodePort: 0
    host: ""
    annotations:
      - key: kubernetes.io/ingress.class
        value: aib
      # TODO convert the remaining annotations
      # alb.ingress.kubernetes.io/group.name: dummy
      # alb.ingress.kubernetes.io/group.order: 'dummy'
      # alb.ingress.kubernetes.io/scheme: internal
      # alb.ingress.kubernetes.io/target-type: ip
      # alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS":443}]'
      # alb.ingress.kubernetes.io/certificate-arn: dummy
      # alb.ingress.kubernetes.io/ssl-redirect: '443'

You will also need to add the following jmx definition:

deploy:
  jmx:
    enabled: false

from infinispan-helm-charts.

oburd avatar oburd commented on June 11, 2024

What is

deploy:
  jmx:
    enabled: false

i dont see in values this variable

from infinispan-helm-charts.

ryanemerson avatar ryanemerson commented on June 11, 2024

@oburd Ignore that suggestion 🙂 . I was working on a dirty feature branch that hasn't been merged into main, apologies for the confusion.

from infinispan-helm-charts.

oburd avatar oburd commented on June 11, 2024

@ryanemerson okay understood. Thank you for help :)
i will do it and if everything okay i will close this conversation

from infinispan-helm-charts.

oburd avatar oburd commented on June 11, 2024

@ryanemerson Hello!
I have faced with one problem
in terraform i'm using set

set {
    name  = "expose.annotations.- key.\\alb\\.\\ingress\\.\\kubernetes\\.io/certificate-arn"
    value = local.infinispan.cert_arn
  }

P.S. terraform helm_release with set = helm install --set variable=value
But i cant do it because it's incorrect name and variable doesn't change
Maybe you or someone faced with this problem ?
Thank you

from infinispan-helm-charts.

ryanemerson avatar ryanemerson commented on June 11, 2024

Sorry @oburd, I don't use Terraform so I can't help here.

from infinispan-helm-charts.

oburd avatar oburd commented on June 11, 2024

Eh, thank you. I will try to find :)

from infinispan-helm-charts.

oburd avatar oburd commented on June 11, 2024

@ryanemerson sorry do you use a helm ? how you set variable if using command helm install --set expose.annotation and how it's look like

from infinispan-helm-charts.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.