We are using IaC approach for our Elastic configuration and we have all resources defined in YAML files. It is very important for us to have it this way. Our APM configuration looks as below:
apm.yaml:
apiVersion: apm.k8s.elastic.co/v1
kind: ApmServer
metadata:
name: apm-server
namespace: mom
spec:
version: 8.4.3
count: 1
config:
logging.level: warning
logging.metrics.enabled: false
apm-server:
kibana:
path: /kibana
elasticsearchRef:
name: elasticsearch-cluster
kibanaRef:
name: kibana-cluster
http:
service:
spec:
type: NodePort
podTemplate:
metadata:
annotations:
co.elastic.logs/json.keys_under_root: "true"
co.elastic.logs/json.add_error_key: "true"
co.elastic.logs/json.message_key: "message"
We have also elasticsearch (version 8.4.3.), fleet server (version: 8.4.3), elastic agent (version 8.4.3) and APM integration defined in kibana.yaml (kibana version is also 8.4.3):
x
xpack.fleet.packages:
- name: apm
version: 8.4.2
.
.
xpack.fleet.agentPolicies:
- name: Elastic Agent on ECK policy
id: eck-agent
monitoring_enabled:
- logs
- metrics
unenroll_timeout: 900
is_default: true
package_policies:
- name: apm-1
id: apm-1
package:
name: apm
namespace: mom
With this setup everything works well and we don't need any changes, however in official documentation (eg. Components and documentation | APM User Guide [8.5] | Elastic), we have found information that APM standalone server is to be deprecated and the installation guide (here: Quick start | APM User Guide [8.5] | Elastic) only mentions installation of APM Agents, which is surprising as we don't find any way of running APM java agents without APM server.
My question is: will this setup be actually deprecated? If so, how can we change it to current version and install APM java agent without having defined APM server?