Manifest is an open-source platform that provides alternative user interfaces for Conjur services.
There are two ways to start using Manifest:
- with Docker: See the Local Installation Guides documentation.
-
with Kubernetes:
-
Clone this project repository.
-
Navigate to the repository folder by using the
cd
commands. -
Go to folder
conjur-tooling
:cd conjur-tooling
-
Start the Docker container by using the below command. You may need to use
sudo
if you don't have permission to run docker-compose:docker compose up -d
Verification: When the required images are successfully pulled, the terminal returns the following:
[+] Running 7/8 ✔ Network conjur Created ✔ Container bot_app Created ✔ Container conjur-pgadmin-1 Created ✔ Container postgres_database Created ✔ Container openssl Created ✔ Container conjur_server Created ✔ Container nginx_proxy Created ✔ Container conjur_client Created
-
Create an account named
default
:docker exec conjur_server conjurctl account create default > admin-data
Verification: When the account is generated, the terminal returns the following:
Created new account 'default'
-
Connect the Conjur client to the Conjur server
This is a one-time action. For the duration of the container’s life or until additional initcommand is issued, the Conjur client and the Conjur server remain connected.
Use the account name that you created in step 5. You will be prompted to trust the TLS certificate of the Conjur server. Type y to trust the certificate:
docker exec -it conjur_client conjur init -u https://proxy -a default --self-signed
Verification: The terminal returns the following output:
Wrote certificate to /root/conjur-server.pem Wrote configuration to /root/.conjurrc
-
Log in as the admin user using the
API key for admin
key from theconjur-tooling/admin-data
file. Replace{api-key}
with this key and run the following command.docker exec conjur_client conjur login -i admin -p {api-key}
Verification: The terminal returns the following output:
Logged in
-
Set your own admin password:
docker exec conjur_client conjur user change-password -p CONJUR_password1
Verification: The terminal returns the following output:
Password changed
-
Rename the
.env.example
file to.env
and setup your own variables or let the default values.
Important
If you are running Conjur on a local machine, make sure that NODE_TLS_REJECT_UNAUTHORIZED is set to 0 in your environment
Setup for Developers | Setup for Users |
---|---|
10. Install project dependencies: | 10. Install project dependencies: |
pnpm install |
pnpm install |
11. Start a development server: | 11. Create a production version of Manifest App with the following command: |
pnpm run dev |
pnpm run build |
12. Open the local URL which is provided by the terminal returns and wait for the server to come up. Once the server is up and running, you can access Manifest at this URL. | 12. Run Manifest App |
13. 🚀 Check: Enhance Your Development Experience with Recommended VS Code Extensions 🚀 | pnpm run preview |
Important
Before login at Manifest Platform the Nginx_proxy Contanier should run at Docker. Check if the Conjur Server is Running at https://localhost:8443/.
To Login, the default account name is default
the default username is admin
and the default password is CONJUR_password1
.
To streamline your development workflow and take full advantage of our project's features, we recommend installing the following Visual Studio Code extensions:
- Svelte for VS Code
- Tailwind CSS IntelliSense
- JavaScript and TypeScript Nightly
- ESLint
- Prettier ESLint
- Prettier - Code formatter
- Conventional Commits
When you open this project in Visual Studio Code, you may be prompted to install these recommended extensions. We encourage you to accept this recommendation to optimize your coding experience and leverage the full potential of our project.
Happy coding! ✨
Note
Before you begin, ensure you have the following prerequisites:
-
Install Helm package manager on your local machine. See the official Helm documentation for your operating system. your operating system.
-
Install and configure
kubectl
to interact with your Kubernetes cluster. Follow the below guides available on the official Kubernetes documentation for instructions on how to installkubectl
on your specific operating system: -
Set up a Kubernetes cluster and persistent volume on your preferred platform for hosting the Kubernetes cluster.
-
Install the Conjur OSS Helm Chart:
CONJUR_NAMESPACE=<conjur-namespace> kubectl create namespace "$CONJUR_NAMESPACE" DATA_KEY="$(docker run --rm cyberark/conjur data-key generate)" HELM_RELEASE=<helm-release> VERSION=<conjur-oss-chart-version> helm install \ -n "$CONJUR_NAMESPACE" \ --set dataKey="$DATA_KEY" \ --set account.create=true \ --set image.tag=1.20.0-4262 \ "$HELM_RELEASE" \ https://github.com/cyberark/conjur-oss-helm-chart/releases/download/v$VERSION/conjur-oss-$VERSION.tgz
-
Retrieve the admin API Key
CONJUR_ACCOUNT=<conjur-account-name> CONJUR_NAMESPACE=<conjur-namespace> HELM_RELEASE=<helm-release> POD_NAME=$(kubectl get pods --namespace "$CONJUR_NAMESPACE" \ -l "app=conjur-oss,release=$HELM_RELEASE" \ -o jsonpath="{.items[0].metadata.name}") kubectl exec --namespace "$CONJUR_NAMESPACE" \ "$POD_NAME" \ --container=conjur-oss \ -- conjurctl role retrieve-key "$CONJUR_ACCOUNT":user:admin | tail -1
-
Procceed with the installation of Manifest by following the steps in the K8s Manifest + Your Existing Conjur Kubernetes Setup section.
Note
Before you begin, ensure you have the following prerequisites:
- Conjur OSS (version Version 1.20.0-4262 or later)
- Conjur Authn authentication works.
Follow these steps to install Manifest:
-
Create a folder named
manifest
on your machine for deployment and data storage. Then, navigate to this folder using thecd
command. -
Generate the values.yaml file with:
helm show values oci://ghcr.io/codefactoryhu/manifest-chart > values.yaml
-
Run the below command to deploy Manifest:
helm install manifest oci://ghcr.io/codefactoryhu/manifest-chart -n <conjur-namespace> -f values.yaml
-
Get pod name with:
kubectl get pods -n <conjur-namespace>
The above command displays the status of the pods. Proceed to the next step once the pod status is shown as RUNNING.
-
To access and verify the installation locally, use the below command that forwards the port 8080 to port 8080:
kubectl --namespace <conjur-namespace> port-forward <manifest-pod> 8080:8080
-
Open http://localhost:8080 and wait for the server to come up. This can take up to 5 minutes. Once the server is up and running, you can access Manifest at http://localhost:8080.
Key | Type | Default | Description |
---|---|---|---|
conjurApiUrl | string | https://conjur-oss | The Conjur API URL that's accessible within the namespace |
httpSecureCookie | boolean | false | Wether or not the to use secure cookies on Manifest |
conjurTlsSecretName | string | conjur-oss-conjur-ssl-ca-cert | The name of the TLS secret that contains the certificate the Conjur API uses |