Terraform plugin for managing Apple Ads
See the codeManage Apple Ads configuration as code with Terraform.
This is an open-source project from Pi Cubed. It provides a Terraform Plugin Framework provider for Apple Ads campaigns, ad groups, and keywords — with safety guardrails that protect historical campaign identity.
Status: early development, not yet published to the Terraform Registry.
git clone https://github.com/picubedllc/terraform-provider-appleads
cd terraform-provider-appleads
make install
make build # compile
make test # unit tests (no Apple credentials)
make testlive # read-only live Apple Ads tests (APPLEADS_* env vars)
make lint # golangci-lint
make fmt # gofmt
make generate # regenerate docs (tfplugindocs)
Pull request CI runs unit tests, vet, lint, and docs generation only. It never receives Apple Ads credentials.
Live integration tests run from the Apple Ads Live Integration Tests workflow (workflow_dispatch or weekly). Credentials are GitHub Environment secrets on appleads-integration, not repository secrets, and that workflow is not triggered by pull requests.
See CONTRIBUTING.md for architecture, how to add resources, and test conventions. Provider releases are signed GitHub Releases from a vMAJOR.MINOR.PATCH tag; see docs/RELEASING.md.
Local live tests (make testlive) require:
APPLEADS_ORG_ID
APPLEADS_CLIENT_ID
APPLEADS_TEAM_ID
APPLEADS_KEY_ID
APPLEADS_PRIVATE_KEY
Go
99.7%
Terraform plugin for managing Apple Ads
See the codeManage Apple Ads configuration as code with Terraform.
This is an open-source project from Pi Cubed. It provides a Terraform Plugin Framework provider for Apple Ads campaigns, ad groups, and keywords — with safety guardrails that protect historical campaign identity.
Status: early development, not yet published to the Terraform Registry.
git clone https://github.com/picubedllc/terraform-provider-appleads
cd terraform-provider-appleads
make install
make build # compile
make test # unit tests (no Apple credentials)
make testlive # read-only live Apple Ads tests (APPLEADS_* env vars)
make lint # golangci-lint
make fmt # gofmt
make generate # regenerate docs (tfplugindocs)
Pull request CI runs unit tests, vet, lint, and docs generation only. It never receives Apple Ads credentials.
Live integration tests run from the Apple Ads Live Integration Tests workflow (workflow_dispatch or weekly). Credentials are GitHub Environment secrets on appleads-integration, not repository secrets, and that workflow is not triggered by pull requests.
See CONTRIBUTING.md for architecture, how to add resources, and test conventions. Provider releases are signed GitHub Releases from a vMAJOR.MINOR.PATCH tag; see docs/RELEASING.md.
Local live tests (make testlive) require:
APPLEADS_ORG_ID
APPLEADS_CLIENT_ID
APPLEADS_TEAM_ID
APPLEADS_KEY_ID
APPLEADS_PRIVATE_KEY
Go
99.7%