Skip to content

Latest commit

 

History

History
120 lines (85 loc) · 2.76 KB

File metadata and controls

120 lines (85 loc) · 2.76 KB
title Getting Started
description Get started with the Internal Developer Platform - Installation, setup, and first steps

Welcome to the Internal Developer Platform. This section will guide you through installing, configuring, and using the Internal Developer Platform for the first time.

Overview

The Internal Developer Platform is a modern backend for Internal Developer Platforms. Before diving in, here's what you'll learn:

  • 📥 Installation


    Set up the Internal Developer Platform using Docker, Docker Compose, or build from source.

  • Quick Start


    Create your first Entity Template and Entity in minutes.

  • ⚙️ Configuration


    Configure database connections, security, and app profiles.

Prerequisites

Before you begin, ensure you have the following installed:

Requirement Minimum Version Description
Docker 20.10+ Container runtime
Docker Compose 2.0+ Multi-container orchestration
Java (optional) 21+ For building from source
Maven (optional) 3.9+ For building from source

Quick Overview

flowchart LR
    A[Install] --> B[Configure]
    B --> C[Start]
    C --> D[Create Template]
    D --> E[Add Entities]
    E --> F[Integrate Data]
Loading

1. Install

The fastest way to get started is using Docker Compose and Maven

Start the PostgreSQL service using Docker Compose:

git clone https://github.com/decathlon/internal-developer-platform.git
cd internal-developer-platform
docker-compose up -d

Build and run the Internal Developer Platform app:

mvn clean package -DskipTests
mvn spring-boot:run -Dspring-boot.run.profiles=local

2. Verify Installation

Check that the API is running:

curl http://localhost:8084/actuator/health

You should see:

{"status": "UP"}

3. Create Your First Entity Template

curl -X POST http://localhost:8084/api/v1/entity-templates \
  -H "Content-Type: application/json" \
  -d '{
    "identifier": "service",
    "description": "A microservice in the platform",
    "properties_definitions": [
      {
        "name": "name",
        "description": "Service name",
        "type": "STRING",
        "required": true
      },
      {
        "name": "team",
        "description": "Owning team",
        "type": "STRING",
        "required": true
      }
    ]
  }'

Next Steps