Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

apisix-ingress-controller Helm Chart features & fixes #704

Open
mstefany opened this issue Jan 16, 2024 · 9 comments
Open

apisix-ingress-controller Helm Chart features & fixes #704

mstefany opened this issue Jan 16, 2024 · 9 comments
Assignees

Comments

@mstefany
Copy link
Contributor

mstefany commented Jan 16, 2024

We are currently working on implementation of apisix into our EKS cluster. And it seems that Helm Chart is missing some of the features or has some bugs. Instead of opening many issues for you to resolve, I have tried to submit PRs with fixes/improvements.

We are currently installing apisix-ingress-controller Helm Chart using Flux CD, so many things can be workaround using kustomize postRenderer, but having these directly in Helm Chart would make things easier, see:

---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
  name: ingress-apisix
  namespace: ingress-apisix
spec:
  chart:
    spec:
      chart: [REDACTED]/apisix/apisix-ingress-controller
      reconcileStrategy: ChartVersion
      sourceRef:
        kind: HelmRepository
        name: [REDACTED]
        namespace: flux-system
      version: 0.13.0
  interval: 1h
  postRenderers:
  - kustomize:
      patches:
      - patch: |
          - op: add
            path: /metadata/annotations/reloader.stakater.com~1auto
            value: "true"
          - op: add
            path: /spec/template/spec/containers/1/resources
            value: {"limits": {"cpu": "1", "memory": "1Gi"}, "requests": {"cpu": "100m", "memory": "128Mi"}}
          - op: add
            path: /spec/template/spec/containers/1/securityContext
            value: {"capabilities": {"add": ["NET_BIND_SERVICE"]}}
        target:
          kind: Deployment
          name: apisix-ingress-controller
          version: v1
  values:
  [...]

For this matter, I am submitting a overview of PRs for you to review and potentially merge (I don't mind further improving PRs if needed and if review is provided):

There is one more thing missing - support for enabling/disabling apisix plugins in the configMap (e.g. zipkin is enabled by default, but opentelemetry is not, and we would like to have it vice-versa).

EDIT:
Additional PRs:

@Revolyssup Revolyssup self-assigned this Jan 16, 2024
@Revolyssup
Copy link
Contributor

Thanks for the PRs @mstefany . I have run the CI and will review your PRs

@Revolyssup
Copy link
Contributor

@mstefany Can you also update the Readme in your PRs to fix lint tests? like these ones https://github.com/apache/apisix-helm-chart/actions/runs/7490527809/job/20534429629?pr=697#step:4:54

@mstefany
Copy link
Contributor Author

@Revolyssup It's updated now, I somehow missed it on this PR.

@Revolyssup
Copy link
Contributor

@mstefany Please fix this one as well #694

@mstefany
Copy link
Contributor Author

@Revolyssup Done.

@mstefany
Copy link
Contributor Author

@Revolyssup One more PR to fix Prometheus metrics collection, see: #706

@mstefany
Copy link
Contributor Author

@Revolyssup One more PR, but this will probably require broader discussion, see: #712

@mstefany
Copy link
Contributor Author

@Revolyssup Additional PR: #724, seems that loki-logger is not enabled by default while other logging plugins are (and we need loki).
This is also related to my previous post/PR so that certain plugins are configurable (observability / logging / ...) since typically only certain are usually needed (opentelemetry & loki in our case, not default zipkin & whatever logging...)

@mstefany
Copy link
Contributor Author

mstefany commented Mar 5, 2024

Additional PR for review related to Server Tokens: #727

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: 🏗 In progress
Development

No branches or pull requests

2 participants