Sample code for 30+ languages & platforms
Java

Doppler Secrets - Create or Update a Binary Secret

See more Secrets Examples

Demonstrates how to create or update a binary secret stored in the Doppler Secrets.

Note: This example requires Chilkat v10.1.0 or later.

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.BinData;
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.Http;
import com.chilkatsoft.chilkat2.JsonObject;
import com.chilkatsoft.chilkat2.Secrets;

public class ChilkatExample {

    public static void main(String[] args) {
        // This example requires the Chilkat API to have been previously unlocked.
        // See Global Unlock Sample for sample code.

        // The bootstrap secret will contain the following information:

        // Doppler Token

        // See following examples for setting up a bootstrap secret in memory,
        // or in the local manager (Windows Credentials Manager or Apple Keychain)
        // Setup Bootstrap Secret in Local Manager
        // Setup Bootstrap Secret in Memory
        Secrets bootstrap = new Secrets();

        // Set the location of the bootstrap secret.
        // Can be "local_manager" or "memory", depending on how you setup the bootstrap secret.
        // ---------------------------------------------------------------------------------------------
        // If your operating system is NOT Windows or MacOS/iOS, then change "local_manager" to "memory"
        // You can also, if desired, use "memory" on Windows and MacOS/iOS if your bootstrap secret was previously setup in memory.
        // ---------------------------------------------------------------------------------------------
        bootstrap.setLocation("local_manager");

        // Specify the bootstrap secret to be used.
        JsonObject bsId = new JsonObject();
        bsId.updateString("appName", "doppler_bs");
        bsId.updateString("service", "Example");
        bsId.updateString("username", "Joe");

        // ----------------------------------------------------
        Secrets secrets = new Secrets();

        // Setup for the Doppler Secrets
        secrets.setLocation("doppler");
        try {
            secrets.setBootstrapSecret(bsId, bootstrap);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        // Specify the name of the secret.
        // service and username are required.
        // appName and domain are optional.
        // Note: The values are arbitrary and can be anything you want.
        JsonObject json = new JsonObject();
        json.updateString("appName", "Test2");
        json.updateString("service", "Custom");
        json.updateString("domain", "Ocean");
        json.updateString("username", "Starfish");

        // You'll also need to specify your Doppler project and config names for each API call.
        json.updateString("project_name", "example-project");
        json.updateString("config_name", "dev");

        // The purpose of this example is to show how arbitrary binary data
        // can be stored as a secret.

        // We'll use a small JPG image that is approximately 6KB in size.
        // You can test using this same JPG at this URL:
        String url = "https://chilkatdownload.com/sample_data/starfish.jpg";
        Http http = new Http();
        BinData bd = new BinData();
        try {
            http.downloadBd(url, bd);

            // Create or update the binary secret.
            secrets.updateSecretBd(json, bd);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        System.out.println("Success.");

        // Here you can see the secret that was created in the Doppler Secrets:

        // image
    }
}