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:
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):
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?