Commit Graph

63 Commits

Author SHA1 Message Date
Christian Adams
ca7c840d8c Fix permissions on rsyslog.conf for k8s 2020-04-13 19:33:23 -04:00
Ryan Petrello
e52cebc28e rsyslogd: use %rawmsg-after-pri% instead of %msg%
after some prolonged RFC reading and tinkering w/ rsyslogd...

cpython's SysLogHandler doesn't emit RFC3164 formatted messages
in the format you'd expect; it's missing the ISO date, hostname, etc...
along with other header values; the handler implementation relies on you
to specify a syslog-like formatter (we've replaced all of this with our
own *custom* logstash-esque formatter that effectively outputs valid JSON
- without dates and other syslog header values prepended)

because of this unanticipated format, rsyslogd chokes when trying to
parse the message's parts;  AWX is emitting:

<priority>RAWJSON

...so the usage of `%msg%` isn't going to work for us, because rsyslog
tries to parse *all* of the possible headers (and yells, because it
can't find a date to parse):

see: https://www.rsyslog.com/files/temp/doc-indent/configuration/properties.html#message-properties

this is fine, because we don't *need* any of that message parsing
anyways; in the end, we're *just* interested in forwarding the raw
JSON/text content to the third party log handler
2020-04-13 11:44:00 -04:00
Christian Adams
e740340793 ConfigMap rsyslog conf files for k8 2020-04-13 11:43:59 -04:00
Christian Adams
996d7ce054 Move supervisor and rsyslog sock files to their own dirs under /var/run 2020-04-13 11:43:59 -04:00
Shane McDonald
c0af3c537b Configure rsyslog to listen over a unix domain socket instead of a port
- Add a placeholder rsyslog.conf so it doesn't fail on start
 - Create access restricted directory for unix socket to be created in
 - Create RSyslogHandler to exit early when logging socket doesn't exist
 - Write updated logging settings when dispatcher comes up and restart rsyslog so they  take effect
 - Move rsyslogd to the web container and create rpc supervisor.sock
 - Add env var for supervisor.conf path
2020-04-13 11:43:59 -04:00
chris meyers
c06188da56 align with openshift 2020-04-06 09:16:46 -04:00
chris meyers
37a715c680 use memcached unix domain socket rather than tcp 2020-04-06 08:35:12 -04:00
chris meyers
6d60e7dadc align with openshift 2020-04-02 13:56:33 -04:00
Christian Adams
346b9b9e3e ConfigMap supervisor configs and launch scripts for k8s 2020-04-02 13:56:33 -04:00
softwarefactory-project-zuul[bot]
99384b1db9 Merge pull request #6506 from shanemcd/stateless-set
Switch from StatefulSet to Deployment

Reviewed-by: Matthew Jones <mat@matburt.net>
             https://github.com/matburt
2020-04-02 17:51:25 +00:00
chris meyers
929f4bfb81 start redis container with conf file 2020-04-02 11:13:35 -04:00
Shane McDonald
3060505110 Switch from StatefulSet to Deployment
We can do this now that we dropped RabbitMQ.
2020-04-02 09:24:49 -04:00
chris meyers
770b457430 redis socket support 2020-03-18 16:10:19 -04:00
Shane McDonald
45ce6d794e Initial migration of rabbitmq -> redis for k8s installs 2020-03-18 16:10:17 -04:00
Donovan Murphy
ed8133be2d add Service Account annotation
Signed-off-by: Donovan Murphy <dono@dono.email>
2020-02-19 20:29:42 -06:00
softwarefactory-project-zuul[bot]
4dee5eddeb Merge pull request #5989 from egmar/support-for-imagePullSecrets
Added support for K8S imagePullSecrets

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-02-19 19:45:12 +00:00
Egor Margineanu
74a31224e0 Moved imagePullSecrets into ServiceAccount definition 2020-02-19 10:45:07 +02:00
Egor Margineanu
667b27fe78 Added support for K8S imagePullSecrets 2020-02-19 10:11:34 +02:00
Donovan Murphy
5e4d73b6a3 fix indent 2020-02-18 20:27:57 -06:00
Jonas DOREL
c94680eaba Add openshift label app 2020-02-15 14:49:05 +01:00
Jake McDermott
3831efb3be Use pod uid as instance uuid
Inject the pod uid as an environment variable and use it for the
SYSTEM_UUID in the settings file defined by the configmap.
2020-02-12 13:52:09 -05:00
Ashley Nelson
bc97d11270 Add support for no_proxy 2020-01-31 10:05:32 -06:00
Ashley Nelson
ab3a728032 Add custom venv support for proxies 2020-01-29 18:08:38 -06:00
Ilija Matoski
e2cd86089b Allow deployments on Kubernetes version 1.16 2019-11-20 23:54:10 +01:00
softwarefactory-project-zuul[bot]
c0abb063f9 Merge pull request #5001 from khawaga/kubernetes_ingress_tls
Kubernetes Ingress TLS support

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2019-11-12 15:34:40 +00:00
Shane McDonald
d3b137fbc4 Fix broken k8s installs
Related: https://github.com/ansible/awx/issues/5205

The following commit introduced this bug:
712b07c136 (diff-a2ef2d6347894a92a6b882e3793fb06c)
2019-11-03 16:03:19 -05:00
Shane McDonald
8356327c2b Downstream k8s installer changes 2019-10-22 15:57:40 -04:00
Alice Hunter
e5dfc62dce Fixed bug with python check 2019-10-22 23:06:06 +11:00
Wander Boessenkool
8ecc1f37f0 Move python healthcheck script from probes to configMap 2019-10-18 10:15:21 +02:00
Wander Boessenkool
c49e64e62c Make HTTPConnection import python 2,3 agnostic 2019-10-17 23:36:33 +02:00
Wander Boessenkool
00c9d756e8 Move installtime hardcoded rabbitmq credentials to environment variables for healthcheck 2019-10-17 23:23:29 +02:00
Wander Boessenkool
9ab58e9757 Change healthcheck from wget and grep to python with httplib 2019-10-17 22:25:20 +02:00
Wander Boessenkool
d6134fb194 Change /bin/ash to /bin/sh as requested by @shanecmd 2019-10-17 21:37:51 +02:00
Wander Boessenkool
038fd9271d Properly escape quotes 2019-10-14 17:53:28 +02:00
Wander Boessenkool
e87055095c Change 'rabbitmqctl status' to a wget | grep
- This reduces CPU usage from 250 millis on idle to 25 millis on idle
- Default rabbitmq user needs administrator privileges
2019-10-14 14:53:53 +02:00
Khaled Elkhawaga
267e297eca add variable to set tls secret for kubernetes ingress
Signed-off-by: Khaled Elkhawaga <k.elkhawaga@gmail.com>
2019-10-11 00:52:24 +02:00
Gabriel Totusek
f705eba7ed Add support for kubernetes tolerations, nodeSelector, and affinity 2019-08-11 23:10:56 -07:00
Ashley Nelson
036e1ad82e Add dynamic custom venv setup
Add support for python3 venvs
2019-07-08 18:49:31 -05:00
Marcelo Mello
52712a0d9a Introduces the ability to pass annotations to the Kubernetes Ingress Controllers 2019-06-20 16:40:08 -04:00
Marcelo Mello
7d77727a60 project_data_dir is not required in the awx_task containers 2019-06-19 21:35:49 -04:00
Marcelo Mello
47560fdf7c Fixes ca_trust_dir and project_data_dir for Kubernetes 2019-06-19 21:21:35 -04:00
Shane McDonald
298eaa0b32 Move secret key from configmap to secret 2019-03-29 15:24:50 -04:00
Shane McDonald
2b6cf97157 Do not set credentials via environment variables 2019-03-26 15:13:28 -04:00
softwarefactory-project-zuul[bot]
5f01c3f5a8 Merge pull request #2994 from coreywan/pod-limits
Add POD Limits

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-01-18 04:28:11 +00:00
Corey Wanless
aebeeb170e adds pod limits
Signed-off-by: Corey Wanless <corey.wanless@wwt.com>
2019-01-16 09:23:18 -06:00
Ryan Petrello
4858868428 configure an HA policy for openshift/k8s installs 2018-12-14 14:08:30 -05:00
James Evans
88819ada6b Remove .cluster.local from service name for rabbitmq
FQDNs are not required for service discovery, and having the FQDN in the
name prevents the discovery from working in clusters not named
cluster.local.
2018-10-18 14:00:05 -05:00
Ashley Nelson
2bf2412759 Add serviceName to Kubernetes StatefulSet spec
Signed-off-by: Ashley Nelson <fantashley@gmail.com>
2018-10-11 11:49:08 -05:00
Shane McDonald
ee1d5e43b9 Fix fallout from https://github.com/ansible/awx/pull/2392
There were some upstream changes that I overwrote but shouldn’t have.
2018-10-10 11:41:34 -04:00
Shane McDonald
b9279ebd5e Port downstream installer changes 2018-10-09 14:39:39 -04:00