Basic Configuration Examples
This guide provides configuration examples for common package managers and build tools to get you started with CloudRepo quickly.
Maven Configuration
Settings File (~/.m2/settings.xml)
Maven settings.xml - Basic CloudRepo Configuration
<?xml version="1.0" encoding="UTF-8"?>
<settings>
<servers>
<server>
<id>cloudrepo</id>
<username>your-username</username>
<password>your-password</password>
</server>
</servers>
<profiles>
<profile>
<id>cloudrepo</id>
<repositories>
<repository>
<id>cloudrepo</id>
<url>https://[org-id].cloudrepo.io/repository/maven-releases</url>
</repository>
</repositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>cloudrepo</activeProfile>
</activeProfiles>
</settings>
Project POM Configuration
pom.xml - Distribution Management
<distributionManagement>
<repository>
<id>cloudrepo</id>
<url>https://[org-id].cloudrepo.io/repository/maven-releases</url>
</repository>
<snapshotRepository>
<id>cloudrepo</id>
<url>https://[org-id].cloudrepo.io/repository/maven-snapshots</url>
</snapshotRepository>
</distributionManagement>
Gradle Configuration
Build Script (build.gradle)
build.gradle - Groovy DSL Configuration
repositories {
maven {
url "https://[org-id].cloudrepo.io/repository/maven-releases"
credentials {
username = project.findProperty("cloudrepoUsername") ?: System.getenv("CLOUDREPO_USERNAME")
password = project.findProperty("cloudrepoPassword") ?: System.getenv("CLOUDREPO_PASSWORD")
}
}
}
publishing {
publications {
maven(MavenPublication) {
from components.java
}
}
repositories {
maven {
url = "https://[org-id].cloudrepo.io/repository/maven-releases"
credentials {
username = cloudrepoUsername
password = cloudrepoPassword
}
}
}
}
Kotlin DSL (build.gradle.kts)
build.gradle.kts - Kotlin DSL Configuration
repositories {
maven {
url = uri("https://[org-id].cloudrepo.io/repository/maven-releases")
credentials {
username = findProperty("cloudrepoUsername")?.toString() ?: System.getenv("CLOUDREPO_USERNAME")
password = findProperty("cloudrepoPassword")?.toString() ?: System.getenv("CLOUDREPO_PASSWORD")
}
}
}
Python Configuration
Pip Configuration (~/.pip/pip.conf)
pip.conf - Global Pip Configuration
[global]
index-url = https://username:password@[org-id].cloudrepo.io/repository/pypi/simple
trusted-host = [org-id].cloudrepo.io
Twine Configuration (~/.pypirc)
.pypirc - Publishing Configuration
[distutils]
index-servers =
cloudrepo
[cloudrepo]
repository = https://[org-id].cloudrepo.io/repository/pypi
username = your-username
password = your-password
Poetry Configuration
pyproject.toml - Poetry Configuration
[[tool.poetry.source]]
name = "cloudrepo"
url = "https://[org-id].cloudrepo.io/repository/pypi/simple"
priority = "primary"
[tool.poetry.repositories.cloudrepo]
url = "https://[org-id].cloudrepo.io/repository/pypi"
Environment Variables
Secure Credential Management
Instead of hardcoding credentials, use environment variables:
.env or Shell Configuration
export CLOUDREPO_USERNAME="your-username"
export CLOUDREPO_PASSWORD="your-password"
export CLOUDREPO_API_KEY="your-api-key"
export CLOUDREPO_ORG="your-org-id"
Docker Configuration
Docker Registry Authentication
Docker Login
docker login [org-id].cloudrepo.io
Username: your-username
Password: your-password
Docker Compose
docker-compose.yml - Using CloudRepo Images
version: '3.8'
services:
app:
image: [org-id].cloudrepo.io/my-app:latest
environment:
- CLOUDREPO_REGISTRY=[org-id].cloudrepo.io
CI/CD Basic Setup
GitHub Actions
.github/workflows/deploy.yml - Basic GitHub Actions
- name: Setup CloudRepo
env:
CLOUDREPO_USERNAME: ${{ secrets.CLOUDREPO_USERNAME }}
CLOUDREPO_PASSWORD: ${{ secrets.CLOUDREPO_PASSWORD }}
run: |
echo "<settings>...</settings>" > ~/.m2/settings.xml
Jenkins
Jenkinsfile - Basic Jenkins Pipeline
pipeline {
environment {
CLOUDREPO_CREDS = credentials('cloudrepo-credentials')
}
stages {
stage('Deploy') {
steps {
sh 'mvn deploy -DcloudrepoUsername=$CLOUDREPO_CREDS_USR -DcloudrepoPassword=$CLOUDREPO_CREDS_PSW'
}
}
}
}
Testing Your Configuration
Verify Connection
Maven:
mvn dependency:get -DremoteRepositories=https://[org-id].cloudrepo.io/repository/maven-releases \
-DgroupId=com.example -DartifactId=test -Dversion=1.0
Python:
pip install --index-url https://[org-id].cloudrepo.io/repository/pypi/simple --dry-run your-package
Docker:
docker pull [org-id].cloudrepo.io/test:latest
Common Configuration Issues
Authentication Errors
401 Unauthorized: Check username/password
403 Forbidden: Verify repository permissions
Certificate Errors: Ensure proper HTTPS configuration
URL Format Issues
Maven: Ensure URL ends with repository name, not /
Python: Include /simple for pip index URLs
Docker: Use org-id as subdomain
Proxy Configuration
If behind corporate proxy:
export HTTP_PROXY=http://proxy.company.com:8080
export HTTPS_PROXY=http://proxy.company.com:8080
export NO_PROXY=[org-id].cloudrepo.io
Next Steps
Maven Repositories - Detailed Maven setup
Python Repositories - Advanced Python configuration
Continuous Integration and Deployment - Complete CI/CD integration
Repository Management - Repository administration