certimate-go / certimate-go/certimate

feat: new deployment provider - F5 Big-IP

Open
#1,350 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
9.3k
Forks
898
Avg merge
4d 5h
Merged PRs (30d)
8

Description

### Description

Add support for F5 Big-IP as a deployment provider for Certimate.

F5 Big-IP is a load-balancing appliance widely used in enterprise environments. This provider will automatically upload and deploy SSL certificates via the iControl REST API.

Two modes are proposed:
- **certificate**: upload only (certificate + private key)
- **clientssl**: upload + assign to an existing client-ssl profile

The provider should:
- Auto-generate a stable F5 object name from the certificate SAN (e.g. `certimate_example_com`)
- Support wildcard certificates (`*.` prefix stripped from the name)
- Allow configuration of the target partition (default: Common)
- Support username/password authentication with optional insecure connection toggle

### Motivation

Currently, deploying a certificate issued by Certimate to F5 is a manual process (export, upload via UI, assign to profile). A native F5 deployment provider would:

1. Close the loop: issue → deploy becomes a single workflow
2. Reduce human error in certificate deployment
3. Enable automated certificate renewal with zero-touch F5 deployment
4. Support enterprise compliance requirements for certificate lifecycle automation

F5 holds a significant share of the ADC/load-balancer market, and adding this provider addresses a recurring request from enterprise users.

### Miscellaneous

Reference implementation: PR #1349 already has a working implementation with:
- Go SDK client for the iControl REST API (`pkg/sdk3rd/f5bigip/`)
- Provider implementation with both upload and clientssl modes
- Unit tests
- UI credential and deployment forms
- English and Chinese i18n

### Contribution

- [x] I am interested in contributing a PR for this!

Contributor guide

Open the contributing guide

Research direction

Start by reviewing PR #1349 and the Go SDK client under pkg/sdk3rd/f5bigip/. Check its unit tests, provider implementation, UI credential and deployment forms, and English and Chinese i18n; done means the upload and clientssl modes, partition and authentication options, and certificate naming behavior are covered across those components.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
api, devops
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.