infrahq / helm-charts Goto Github PK
View Code? Open in Web Editor NEWInfra Helm charts
Home Page: https://infrahq.github.io/helm-charts
Infra Helm charts
Home Page: https://infrahq.github.io/helm-charts
In some cases the infra
connector pod is deployed on a node that may be removed while downscaling a cluster with cluster autoscaler. If possible Infra should include default annotations or taints to avoid scheduling this pod on nodes that are prone to being removed, as this may incur temporary downtime
We can have more than one connector pod running, but have no control over where this is placed in the cluster. We should have the option to define antiaffinity rules to ensure that the pods are on separate nodes, and ideally separate zones from each other.
If I find some time, I'm willing to contribute this change.
I tried increasing the log level to debug using the commented block in values.yaml
but the logger never got set to debug.
https://github.com/infrahq/helm-charts/blob/main/charts/infra-server/values.yaml#L93
The output from kubectl describe pods -n infra-server infra-server-6cd74df587-6rlcf
suggest that the log level gets set via the --log-level
command arg instead.
Containers:
server:
Container ID: containerd://9888f8cdc463554b5a8188644e977e3d6932d9a4a5406355b413bc0d9cc0fda5
Image: infrahq/infra:0.21.0
Image ID: docker.io/infrahq/infra@sha256:4ad59e72091ef27c733a197157f55d463f1b5908f11004abed143fab1969d889
Ports: 8080/TCP, 8443/TCP, 9090/TCP
Host Ports: 0/TCP, 0/TCP, 0/TCP
Args:
server
-f
/etc/infrahq/infra.yaml
--log-level
info
State: Running
Started: Fri, 14 Apr 2023 10:13:54 +0200
Ready: True
Restart Count: 0
Liveness: http-get http://:http/healthz delay=10s timeout=1s period=10s #success=1 #failure=3
Readiness: http-get http://:http/healthz delay=10s timeout=1s period=10s #success=1 #failure=3
Environment:
INFRA_LOG_LEVEL: debug
INFRA_SERVER_DB_PASSWORD: <set to the key 'password' in secret 'infra-server-postgres'> Optional: false
When working in self-hosted environment, we route all traffic through ingress controller. The nodes are unaccessible on NodePort nor LoadBalancer provisioner is available. Setting service type to ClusterIP
makes the destination point to internal cluster IP.
Allow for configuring custom destination address, eg. infrahq.cluster.domain:443
.
Installing LoadBalancer provisioner, exposing NodePort
$ infra version
Client: 0.21.0
$ kubectl version
Client Version: v1.28.2
Server Version: v1.28.0
Self-hosted cluster
Probably already possible via endpointAdds
(https://github.com/infrahq/infra/blob/main/dev/connector.yaml#L12C1-L12C1) just not exposed in values.yaml
The configuration for an external database as explained in the README does not seem to work:
---
config:
dbHost: postgres.example.com
dbPort: 5432
dbName: mydatabase
dbUsername: myusername
dbPassword: env:POSTGRES_DB_PASSWORD
server:
env:
- name: POSTGRES_DB_PASSWORD
valueFrom:
secretKeyRef:
name: mysecret
key: mypassword
Starting the server with an accordingly prepared secret does not work (bad credentials). This does not occur when inserting the password into the values.yaml
directly:
config:
...
dbPassword: <somePassword>
It seems the server does not evaluate the prefix env:
in order to use the mentioned environment variable instead of a string literal.
As of Kubernetes 1.24, service accounts no longer create token secrets by default, causing connector install to fail.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.