> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apinizer.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Pre-Installation Decisions

> Provides decisions and recommendations that need to be made before Apinizer installation. Presents critical decision points categorized to speed up installation and configuration operations, and provides detailed information with recommendations for each topic.

## Installation and Infrastructure Decisions

### Kubernetes and MongoDB Installation

<AccordionGroup>
  <Accordion title="Will applications such as Kubernetes Cluster and MongoDB that Apinizer needs be installed or are they already available and will be used?">
    <CardGroup cols={1}>
      <Card title="Our Recommendations">
        * Using these components if they are already available in your organization
        * Preparing them by your team if installation will be done
        * Having installation done by the Apinizer team if installation will be done
        * If installation will be done by the Apinizer team, the relevant servers must have access to the accesses in the [Access and Port Requirements for Installation](/en/setup/access-and-port-requirements) page
      </Card>
    </CardGroup>
  </Accordion>

  <Accordion title="If installation will be done, will your organization's employees do it or will servers be allocated to the Apinizer team?">
    This decision determines who will manage the installation process.
  </Accordion>

  <Accordion title="If installation will be done by the Apinizer team, will internet access on the servers be restricted or full?">
    Internet access status affects the installation method (online/offline).
  </Accordion>
</AccordionGroup>

## Network and Security Decisions

### Network Security

<AccordionGroup>
  <Accordion title="Is there a product other than WAF and firewall that controls the network where Apinizer will be installed and performs security hardening?">
    <Info>
      Since such a product can also block internal traffic of the cluster where Apinizer is located, it is important to report this if such a product exists, as it will speed up the search for solutions in possible problems. This information can be obtained from your organization's Network and Security Unit employees.
    </Info>
  </Accordion>

  <Accordion title="Is there a usage in the 10.244.x.x block in the network where Apinizer will be installed?">
    <Warning>
      If it is used, this information should be obtained from your organization's network team, as Apinizer installation will need to be installed on another block.
    </Warning>
  </Accordion>
</AccordionGroup>

## Port and DNS Decisions

### Port Configuration

<AccordionGroup>
  <Accordion title="Which ports should Apinizer publish on the servers where it is located?">
    <CardGroup cols={1}>
      <Card title="Our Recommendations">
        * From the 30000-32767 range, 32080 for Manager, 30080 or 30090 for worker
        * At ports to be set under the management of your organization's DevOps Team (again from the same range or using nginx ingress)
      </Card>
    </CardGroup>
  </Accordion>

  <Accordion title="Will the DNSs that Apinizer will access be automatically resolved on the servers where Apinizer will be located? If not, are these IP-host definitions ready as available?">
    <CardGroup cols={1}>
      <Card title="Our Recommendations">
        * Setting servers to automatically resolve these addresses, as they can change even very rarely
        * Preparing hostname-IP pairs as a list to be added to Apinizer
      </Card>
    </CardGroup>
  </Accordion>

  <Accordion title="Will Apinizer interface and workers be used via DNS? If yes, what will the DNSs be?">
    <CardGroup cols={1}>
      <Card title="Our Recommendations">
        * Addresses such as `apimanagement.organization.com` and `api.organization.com`
      </Card>
    </CardGroup>
  </Accordion>
</AccordionGroup>

## SSL and NAT Decisions

### SSL Termination

<AccordionGroup>
  <Accordion title="Where will SSL termination be done?">
    <CardGroup cols={1}>
      <Card title="Our Recommendations">
        * On your organization's firewall
        * In the application where your organization performs DNS routing and load balancing
        * On Apinizer worker applications
      </Card>
    </CardGroup>
  </Accordion>

  <Accordion title="If Apinizer will be used outside your organization, which IP will it exit from? Have the necessary (NAT) operations been performed for Apinizer servers to exit from this address?">
    <CardGroup cols={1}>
      <Card title="Our Recommendations">
        * Not changing your organization's existing exit, Apinizer also exiting from this address
      </Card>
    </CardGroup>
  </Accordion>
</AccordionGroup>

## Worker and Kubernetes Management

### Worker Configuration

<AccordionGroup>
  <Accordion title="How will Apinizer's worker application (Core and RAM usage, JVM parameters) be configured?">
    <CardGroup cols={1}>
      <Card title="Our Recommendations">
        * Dividing your existing license into two or three and entering appropriate JVM parameters and distributing to multiple containers
        * With different settings according to your organization's applied policy
      </Card>
    </CardGroup>
  </Accordion>

  <Accordion title="How will Kubernetes systems where Apinizer will be installed be managed?">
    <CardGroup cols={1}>
      <Card title="Our Recommendations">
        * From the Apinizer interface
        * With methods belonging to your organization
      </Card>
    </CardGroup>
  </Accordion>
</AccordionGroup>

## Logging and Backup Decisions

### Traffic Logs

<AccordionGroup>
  <Accordion title="Where should traffic logs be written?">
    <CardGroup cols={1}>
      <Card title="Our Recommendations">
        * To one of the servers allocated with Elasticsearch that Apinizer will install
        * To another application set up by your organization
      </Card>
    </CardGroup>
  </Accordion>

  <Accordion title="If traffic logs are in Elasticsearch managed by Apinizer, how will the backup of data here be taken?">
    <CardGroup cols={1}>
      <Card title="Our Recommendations">
        * Your organization's System team employees will backup the disk where logs are written as is
        * Your organization's System team employees will backup the server where logs are located as is
        * Requesting to be sent to a specific address on a specific server with snapshot policy and logs will be backed up here
      </Card>
    </CardGroup>
  </Accordion>

  <Accordion title="Are there sensitive information that should not appear in traffic logs? If yes, what are they? In which parts of the message should they not appear?">
    <CardGroup cols={1}>
      <Card title="Our Recommendations">
        * Organization policy can be requested from your organization's Information Security Team
        * Key values containing personal data such as Tckn and TcKimlikNo
      </Card>
    </CardGroup>
  </Accordion>

  <Accordion title="Where should application and token retrieval logs (if settings are active) be written?">
    <CardGroup cols={1}>
      <Card title="Our Recommendations">
        * To Apinizer's configuration database
        * To another application set up by your organization
      </Card>
    </CardGroup>
  </Accordion>

  <Accordion title="How will the growth of logs to be stored in the database be kept under control?">
    <CardGroup cols={1}>
      <Card title="Our Recommendations">
        * These logs will be deleted at certain intervals
        * Disk will be expanded as it fills up
      </Card>
    </CardGroup>
  </Accordion>
</AccordionGroup>

## User Management and Support Decisions

### User Management

<AccordionGroup>
  <Accordion title="Will the admin user account created with the first installation be used for the Apinizer interface? If yes, who will use it?">
    <CardGroup cols={1}>
      <Card title="Our Recommendations">
        * Your Integration Unit employees using Apinizer if available, creating their own authorized user accounts for people who will use it, disabling the admin account
        * The admin user being used by a single person responsible for Apinizer, defining new users for other people who will use it
      </Card>
    </CardGroup>
  </Accordion>

  <Accordion title="Will user management accessing the Apinizer interface be managed entirely from Apinizer or will password verification be done with LDAP/Active Directory?">
    <CardGroup cols={1}>
      <Card title="Our Recommendations">
        * Users should always be defined in Apinizer, but password verification should be done by defining your organization's LDAP/AD application to Apinizer and opening a user or service account with permission to verify users who will connect
        * Users being managed entirely from Apinizer
      </Card>
    </CardGroup>
  </Accordion>

  <Accordion title="How will the Apinizer support team provide support to your team using Apinizer, to the Apinizer application, and optionally to the servers where Apinizer is installed?">
    <CardGroup cols={1}>
      <Card title="Our Recommendations">
        * Defining VPN and giving permission only to Apinizer servers and Apinizer interface
        * With applications that provide remote access such as Anydesk, Team Viewer
        * With meeting applications that allow remote access such as Zoom, Cisco Webex, Microsoft Teams, Skype
        * With meeting applications such as Whereby, Turkcell Bip Meet
        * By mail, phone and physically as a guest to the organization when necessary
      </Card>
    </CardGroup>
  </Accordion>
</AccordionGroup>

## Decision Making Checklist

You need to make decisions on the following topics before installation:

<CardGroup cols={2}>
  <Card title="Infrastructure" icon="server">
    * [ ] Kubernetes and MongoDB installation method
    * [ ] Internet access status
    * [ ] Server allocation
  </Card>

  <Card title="Network and Security" icon="shield">
    * [ ] WAF and firewall products
    * [ ] IP block usage (10.244.x.x)
    * [ ] SSL termination point
  </Card>

  <Card title="Port and DNS" icon="network-wired">
    * [ ] Port configuration
    * [ ] DNS resolution method
    * [ ] DNS addresses
  </Card>

  <Card title="Logging" icon="file-lines">
    * [ ] Traffic log destination
    * [ ] Backup strategy
    * [ ] Sensitive information protection
  </Card>

  <Card title="User Management" icon="users">
    * [ ] Admin account usage
    * [ ] LDAP/AD integration
    * [ ] User management method
  </Card>

  <Card title="Support" icon="headset">
    * [ ] Support access method
    * [ ] VPN configuration
    * [ ] Remote access tools
  </Card>
</CardGroup>

## Next Steps

<CardGroup cols={2}>
  <Card title="Installation Topologies" icon="sitemap" href="/en/setup/installation-topologies">
    Review installation topologies
  </Card>

  <Card title="Access and Port Requirements" icon="network-wired" href="/en/setup/access-and-port-requirements">
    Learn port and access requirements
  </Card>

  <Card title="Deployment Models" icon="layer-group" href="/en/concepts/deployment/deployment-models">
    Review deployment models
  </Card>

  <Card title="Network Topology" icon="diagram-project" href="/en/concepts/deployment/network-topology">
    Learn network topology
  </Card>
</CardGroup>
